Sikker kode med Fortify SCA: Finn & fiks sårbarheter!

Forstå Fortify Static Code Analyzer

Fortify Static Code Analyzer (SCA) er et verktøy som går gjennom kildekoden din for å oppdage sikkerhetshull. Programmet identifiserer de mest kritiske svakhetene og veileder utviklere i hvordan de skal fikse dem.

Hvordan Fortify SCA Fungerer

Fortify SCA benytter seg av flere analyseverktøy, som:

  • Bufferanalyse
  • Innholdsanalyse
  • Kontrollflytanalyse
  • Dataflytanalyse
  • Semantisk analyse
  • Konfigurasjonsanalyse
  • Strukturell analyse

Hver av disse analysatorene bruker spesifikke regler for å generere informasjon tilpasset den aktuelle analysetypen.

Nøkkelfunksjoner i Fortify SCA

Fortify SCA består av følgende komponenter:

  • Fortify Scan Wizard: Et verktøy for å kjøre skript før eller etter analyseprosessen.
  • Revisjonsarbeidsbenk: En grafisk brukergrensesnitt (GUI) applikasjon for å organisere og administrere analyseresultater.
  • Tilpasset regelredigerer: Et verktøy som gjør det mulig for utviklere å lage og endre egendefinerte regler for analyse.
  • Plugin for IntelliJ og Android Studio: En plugin som viser analyseresultater direkte i utviklingsmiljøet (IDE).
  • Plugin for Eclipse: Et verktøy som integreres med Eclipse for å vise resultater innenfor IDE.
  • Bamboo Plugin: En plugin som samler resultater fra Bamboo-jobber som kjører analyser.
  • Jenkins Plugin: En plugin som samler analyseresultater fra Jenkins-jobber.

Egenskaper ved Fortify SCA

#1. Støtte for flere programmeringsspråk

Fortify SCA støtter et bredt spekter av programmeringsspråk, inkludert:

ABAP/BSP, ActionScript, ASP (med VBScript), COBOL, ColdFusion, Apex, ASP.NET, C# (.NET), C/C++, Classic, VB.NET, VBScript, CFML, Go, HTML, Java (inkludert Android), JavaScript/AJAX, JSP, Kotlin, Visual Basic, MXML (Flex), Objective C/C++, PHP, PL/SQL, Python, Ruby, Swift, T-SQL og XML.

#2. Fleksible utplasseringsalternativer

  • Fortify On-Prem: Gir organisasjoner full kontroll over alle aspekter av Fortify SCA.
  • Fortify On Demand: Lar utviklere jobbe i et Software as a Service (SaaS) miljø.
  • Fortify Hosted: Kombinerer fordelene med On-Demand og On-Prem gjennom et isolert virtuelt miljø med full datakontroll.

#3. Enkel integrasjon med CI/CD-verktøy

  • Enkel integrasjon med populære IDE-er som Visual Studio og Eclipse.
  • Kontroll over ulike handlinger gjennom integrasjon med åpen kildekode-verktøy som Sonatype, WhiteSource, Snyk og BlackDuck.
  • Integrasjon med eksterne kodelagre som Bitbucket og GitHub for å sjekke kode for sårbarheter.

#4. Sanntidsvarsler

Fortify SCA gir sanntidsoppdateringer mens du koder, med konfigurasjons- og strukturanalysatorer for rask og effektiv sikkerhetsanalyse.

#5. Revisjonsassistent drevet av maskinlæring

Audit Assistant bruker maskinlæringsalgoritmer for rask identifisering og prioritering av sårbarheter, noe som sparer revisjonskostnader.

#6. Fleksibilitet

Brukere kan velge skanningstyper basert på behov, inkludert omfattende skanninger for detaljerte analyser og raske skanninger for å oppdage større trusler.

Hva Fortify SCA gjør

Fortify SCA spiller flere roller i et typisk utviklingsmiljø:

Statisk testing for bedre kode

Statisk applikasjonssikkerhetstesting (SAST) identifiserer sikkerhetshull tidlig i utviklingsprosessen, slik at de kan fikses til en rimeligere pris.

Denne tilnærmingen reduserer sikkerhetsrisikoen ved å gi umiddelbar tilbakemelding på problemer som oppstår under utviklingen.

Utviklere lærer om sikkerhet gjennom SAST, og kan dermed produsere mer sikker programvare.

Fortify SCA bruker en omfattende kunnskapsbase med sikre kodingsregler og algoritmer for å analysere kildekoden for sikkerhetssårbarheter. Den analyserer mulige dataveier for å identifisere og tilby løsninger på sårbarheter.

Tidlig deteksjon av sikkerhetsproblemer

Fortify SCA etterligner en kompilator og konverterer kildekodefiler til en mellomstruktur for sikkerhetsanalyse.

Sikkerhetsfeil er lettere å oppdage i dette formatet. Analysen består av flere spesialiserte analysatorer som bruker sikre kodingsregler for å identifisere brudd på sikker kodingspraksis.

Med Fortify SCA kan man utvide de statiske analysefunksjonene med tilpassede regler, og resultatene kan vises i ulike formater tilpasset ulike behov.

Fortify Software Security Center (SSC) for resultatadministrasjon

Fortify SSC er et sentralisert register som gir oversikt over organisasjonens programsikkerhet. Brukere kan gjennomgå, prioritere og administrere sikkerhetstiltak her.

SSC gir en presis oversikt over applikasjonenes sikkerhetstilstand, og mottar resultater fra forskjellige sikkerhetstester, inkludert sanntids-, dynamisk- og statisk analyse.

Typer kodeanalyse med Fortify SCA

Fortify SCA analyserer kode ved å undersøke:

  • Inndatavalidering og representasjon: Problemer knyttet til inndatavalidering og representasjon, som «Buffer Overflows», «Cross-Site Scripting» og «SQL Injection».
  • API-misbruk: Brudd på kontrakten ved bruk av API-er.
  • Sikkerhetsegenskaper: Autentisering, rettighetsadministrasjon, tilgangskontroll, konfidensialitet og kryptografi.
  • Tid og tilstand: Defekter som oppstår fra uventede interaksjoner mellom tråder, informasjon, prosesser og tid.
  • Feil: Om feil gir for mye informasjon til potensielle angripere.
  • Kodekvalitet: Dårlig kodekvalitet kan føre til uforutsigbar oppførsel som angripere kan utnytte.
  • Innkapsling: Opprettelse av klare grenser mellom for eksempel validerte og uvaliderte data.

Nedlastning og installasjon av Fortify SCA

Før du begynner installasjonen, sørg for følgende:

  • Sjekk systemkravene i den offisielle dokumentasjonen.
  • Skaff deg en Fortify-lisensfil fra Microfocus sin nedlastingsside.

  • Sørg for at du har Visual Studio Code eller en annen støttet kodeditor installert.

Installasjon på Windows

Kjør installasjonsfilen:

Fortify_SCA_and_Apps_<versjon>_windows_x64.exe

(Husk å bytte ut <versjon> med din programvareversjon)

Følg installasjonsveiviseren:

  • Godta lisensavtalen og klikk på «Neste».
  • Velg installasjonsstedet og klikk på «Neste».
  • Velg komponentene du vil installere og klikk på «Neste».
  • Angi brukere for Visual Studio 2015 eller 2017.
  • Spesifiser banen til fortify.license-filen og klikk på «Neste».
  • Angi innstillingene for sikkerhetsoppdateringer, for eksempel https://update.fortify.com. Klikk på «Neste».
  • Spesifiser om du vil installere eksempelkildekode og klikk på «Neste».
  • Klikk på «Neste» for å installere Fortify SCA og applikasjoner.
  • Klikk «Oppdater sikkerhetsinnhold» etter installasjon, og klikk deretter «Fullfør».

Installasjon på Linux

Du kan følge de samme trinnene som for Windows, men bruk denne installasjonsfilen:

Fortify_SCA_and_Apps__linux_x64.run

Du kan også installere Fortify SCA via kommandolinjen:

Åpne terminalen og kjør:

./Fortify_SCA_and_Apps__linux_x64.run --mode text

Følg deretter instruksjonene på kommandolinjen.

Hvordan kjøre en Fortify-skanning

Etter installasjon må du konfigurere verktøyet for sikkerhetsanalyse:

  • Naviger til bin-mappen i installasjonskatalogen via ledeteksten.
  • Skriv scapostinstall. Skriv deretter s for å vise innstillinger.

For å konfigurere lokaliteten:

  • Skriv 2 for å velge Innstillinger.
  • Skriv 1 for å velge Generelt.
  • Skriv 1 for å velge Locale.
  • Skriv no for å sette språket til norsk.
  • Konfigurer sikkerhetsoppdateringer ved å skrive 2 for Innstillinger, og 2 igjen for Fortify Update. Spesifiser URL-en som https://update.fortify.com.
  • Skriv inn sourceanalyzer for å sjekke at verktøyet er installert.

Fortify SCA vil nå kjøre i bakgrunnen og sjekke koden din for sårbarheter.

Avslutning

Sikkerhetsbrudd er blitt et økende problem. Heldigvis finnes det verktøy som Fortify Static Code Analyzer, som kan oppdage sikkerhetstrusler mens koden skrives, sende varsler og gi anbefalinger. Fortify SCA kan øke produktiviteten og redusere driftskostnadene når det brukes sammen med andre verktøy.

Du kan også utforske Software Composition Analysis (SCA) for å forbedre applikasjonens sikkerhet.