Fortify Static Code Analyzer (SCA) granskar källkoden för att identifiera grundorsakerna till säkerhetsrelaterade svagheter.
En genomsökning med Fortify prioriterar de mest kritiska problemen och ger utvecklare vägledning i hur de ska åtgärda dem.
Fortify Static Code Analyzer
Fortify Static Code Analyzer inkluderar en rad olika analysmotorer för sårbarheter, såsom Buffer, Content, Control Flow, Dataflow, Semantic, Configuration och Structural. Varje analysmotor använder en specifik regeltyp som är utformad för att tillhandahålla den information som krävs för den aktuella analysen.
Fortify Static Code Analyzer består av följande komponenter:
- Fortify Scan Wizard: Ett verktyg som erbjuder möjligheter att köra skript före eller efter analysen.
- Revision Workbench: En GUI-baserad applikation för att organisera och hantera de analyserade resultaten.
- Anpassad regelredigerare: Ett verktyg som gör det möjligt för utvecklare att skapa och redigera anpassade regler för analysen.
- Plugin för IntelliJ och Android Studio: Visar analysresultat direkt i IDE.
- Plugin för Eclipse: Integreras med Eclipse och visar resultat i IDE.
- Bambu plugin: Samlar in resultat från Bamboo-jobb som kör en analys.
- Jenkins plugin: Samlar in analysresultat från Jenkins-jobb.
Funktioner i Fortify SCA
#1. Stöd för flera programmeringsspråk
Några av de språk som stöds av Fortify SCA är: ABAP/BSP, ActionScript, ASP (med VBScript), COBOL, ColdFusion, Apex, ASP.NET, C# (.NET), C/C++, Classic, VB.NET, VBScript, CFML, Go, HTML, Java (inklusive Android), JavaScript/AJAX, JSP, Kotlin, Visual Basic, MXML (Flex), Objective C/C++, PHP, PL/SQL, Python, Ruby, Swift, T-SQL och XML.
#2. Flexibla alternativ för distribution
- Fortify On-Prem ger en organisation fullständig kontroll över alla aspekter av Fortify SCA.
- Fortify On Demand ger utvecklare möjlighet att arbeta i en Software as a Service-miljö.
- Fortify Hosted kombinerar fördelarna med On Demand och On-Prem genom en isolerad virtuell miljö med fullständig datakontroll.
#3. Smidig integration med CI/CD-verktyg
- Utvecklare kan enkelt integrera Fortify SCA med ledande IDE:er som Visual Studio och Eclipse.
- Verktyget integreras med öppna källkodverktyg som Sonatype, WhiteSource, Snyk och BlackDuck, vilket ger utvecklare kontroll över olika processer.
- Fortify SCA kan också integreras med fjärrkodförvar som Bitbucket och GitHub. Verktyget kan därmed granska kod som skickas till dessa plattformar för sårbarheter och generera rapporter.
#4. Varningar i realtid
Fortify SCA ger uppdateringar i realtid under kodningsprocessen, vilket eliminerar behovet av att vänta tills kodningen är klar innan tester genomförs. Med inbyggda analysmotorer för konfigurations- och strukturanalys levererar verktyget både snabbhet och effektivitet för att producera säkra applikationer.
#5. Revisionsassistent med maskininlärning
Revisionsprocessen går snabbare med hjälp av Audit Assistant, som använder algoritmer för maskininlärning. Assistenten identifierar och prioriterar alla sårbarheter baserat på konfidensnivå. Organisationer kan spara revisionskostnader tack vare verktygets rapportgenerering.
#6. Flexibilitet
Användare kan välja den typ av genomsökning de behöver. Till exempel kan ett omfattande genomsökningsalternativ väljas för noggranna och detaljerade resultat. Om endast de största hoten behöver identifieras kan utvecklare använda snabbgenomsökning.
Vad gör Fortify SCA?
Fortify SCA har flera funktioner i ett typiskt utvecklingssystem. Här är några av dess roller:
Statisk testning bidrar till bättre kod
Statisk applikationssäkerhetstestning (SAST) hjälper till att identifiera säkerhetsbrister i de tidiga utvecklingsstadierna. De flesta av dessa brister är ofta billiga att åtgärda.
Detta tillvägagångssätt minskar säkerhetsriskerna i applikationer, eftersom testerna ger omedelbar återkoppling på problem som uppstår i koden under utvecklingen.
Utvecklare lär sig även om säkerhet genom statisk applikationssäkerhetstestning, vilket ger dem möjlighet att skapa säkrare programvara.
Fortify SCA använder en omfattande kunskapsbas med regler för säker kodning samt en rad algoritmer för att analysera källkoden i en programvara för säkerhetsbrister. Metoden analyserar alla möjliga vägar som data och exekvering kan ta för att identifiera sårbarheter och erbjuda lösningar.
Identifierar säkerhetsproblem tidigt
Fortify SCA fungerar likt en kompilator. Efter en genomsökning läser verktyget källkodsfilerna och omvandlar dem till en mellanliggande struktur som är optimerad för säkerhetsanalys.
Alla säkerhetsbrister är lätta att lokalisera i det mellanliggande formatet. Verktyget innehåller en analysmotor med flera specialiserade analysverktyg, som i sin tur använder regler för säker kodning för att analysera om koden bryter mot dessa regler.
Fortify SCA har även en regelbyggare om du vill utöka funktionerna för statisk analys och inkludera anpassade regler. Resultaten i en sådan miljö kan ses i olika format beroende på uppgift och målgrupp.
Fortify Software Security Center (SSC) underlättar hantering av resultat
Fortify Software Security Center (SSC) är ett centraliserat lager som ger insyn i en organisations kompletta säkerhetsprogram för applikationer. Genom SSC kan användare granska, prioritera och hantera åtgärder när säkerhetshot identifieras.
Fortify SSC ger en korrekt överblick av en applikations säkerhetsstatus inom en organisation. SSC finns på en central server men tar emot resultat från olika säkerhetstester av applikationer, allt från realtids-, dynamiska och statiska analyser.
Vilken typ av kodanalys kan Fortify SCA utföra?
En Fortify-genomsökning utgår från de skadliga elementens arkitektur när den utför kodanalys. Fortify SCA utför dessa typer av analyser:
- Indatavalidering och representation – problem kopplade till indatavalidering och representation uppstår från alternativa kodningar, numeriska representationer och metatecken. Exempel på sådana problem är ”Buffer Overflows”, ”Cross-Site Scripting”-attacker och ”SQL Injections”, som uppstår när användare litar på indata.
- API-missbruk. Den vanligaste typen av API-missbruk uppstår när anroparen inte följer avtalet.
- Säkerhetsfunktioner. Detta test skiljer mellan programvarusäkerhet och säkerhetsprogramvara. Analysen fokuserar på autentisering, behörighetshantering, åtkomstkontroll, sekretess och kryptografi.
- Tid och tillstånd. Datorer kan växla mellan olika uppgifter väldigt snabbt. Tids- och tillståndsanalys letar efter fel som uppstår till följd av oväntade interaktioner mellan trådar, information, processer och tid.
- Fel. Fortify SCA kontrollerar om fel ger för mycket information till potentiella angripare.
- Kodkvalitet. Dålig kodkvalitet leder oftast till oförutsägbart beteende. Angripare kan ha en chans att manipulera en applikation till sin fördel om de hittar dåligt skriven kod.
- Inkapsling. Detta är processen att skapa tydliga gränser. En sådan analys kan innefatta att man skiljer mellan validerad och icke-validerad data.
Ladda ner och installera Fortify SCA
Innan installationsprocessen startar måste du:
- Kontrollera systemkraven i den officiella dokumentationen
- Skaffa en Fortify-licensfil. Välj ditt paket från Microfocus nedladdningssida. Sök efter Fortify Static Code Analyzer, skapa ett konto och få en Fortify-licensfil.
- Se till att du har Visual Studio Code eller en annan kodredigerare som stöds installerad.
Så här installerar du på Windows
Fortify_SCA_and_Apps_<version>_windows_x64.exe
OBS: <version> är programvarans version
- Klicka på Nästa efter att ha accepterat licensavtalet.
- Välj var du vill installera Fortify Static Code Analyzer och klicka på Nästa.
- Välj de komponenter du vill installera och klicka på Nästa.
- Ange användare om du installerar ett tillägg för Visual Studio 2015 eller 2017.
- Klicka på Nästa efter att ha angett sökvägen till filen fortify.license.
- Ange de inställningar som krävs för att uppdatera säkerhetsinnehåll. Du kan använda Fortify Rulepack-uppdateringsservern genom att ange webbadressen https://update.fortify.com. Klicka på Nästa.
- Ange om du vill installera exempel på källkod. Klicka på Nästa.
- Klicka på Nästa för att installera Fortify SCA och tillhörande program.
- Klicka på Uppdatera säkerhetsinnehåll efter installationen och sedan på Slutför när installationen är klar.
Så här installerar du på Linux
Du kan följa samma steg för att installera Fortify SCA på ett Linux-baserat system. I det första steget, använd den här installationsfilen:
Fortify_SCA_and_Apps__linux_x64.run
Du kan också installera Fortify SCA med hjälp av kommandoraden.
Öppna din terminal och kör följande kommando:
./Fortify_SCA_and_Apps__linux_x64.run --mode text
Följ alla anvisningar i kommandoraden tills installationsprocessen är klar.
Hur man kör en Fortify-genomsökning
Efter installationen är det dags att konfigurera verktyget för säkerhetsanalys.
- Gå till installationskatalogen och navigera till bin-mappen med hjälp av kommandotolken.
- Skriv scapostinstall. Du kan sedan skriva s för att visa inställningar.
- Ställ in lokalen med följande kommandon:
Skriv 2 för att välja Inställningar.
Skriv 1 för att välja Allmänt.
Skriv 1 för att välja Locale.
För språk, skriv engelska: sv för att ställa in språket som engelska.
- Konfigurera uppdateringar av säkerhetsinnehåll. Skriv 2 för att välja Inställningar och sedan 2 igen för att välja Fortify Update. Du kan nu använda Fortify Rulepack-uppdateringsservern genom att ange webbadressen https://update.fortify.com.
- Skriv sourceanalyzer för att kontrollera att verktyget är korrekt installerat.
Fortify SCA kommer nu att köras i bakgrunden och kontrollera all din kod för säkerhetsbrister.
Avslutningsvis
Fall av hackade system och dataintrång har blivit vanliga i vår internetålder. Som tur är har vi nu verktyg som Fortify Static Code Analyzer som kan upptäcka säkerhetshot medan kod skrivs, skicka varningar och ge rekommendationer för hantering av sådana hot. Fortify SCA kan öka produktiviteten och minska driftskostnaderna när det används tillsammans med andra verktyg.
Du kan också utforska Software Composition Analysis (SCA) för att förbättra din applikations säkerhet.