Fortify Static Code Analyzer (SCA) je alat koji analizira izvorni kod i identifikuje osnovne uzroke sigurnosnih propusta u softveru. Ovaj proces omogućava pronalaženje slabosti koje bi mogle biti iskorištene od strane zlonamjernih aktera.
Fortify skeniranje daje prioritet najkritičnijim problemima i pruža jasne smjernice programerima o tome kako da ih efikasno riješe, osiguravajući da se resursi fokusiraju na najvažnije ranjivosti.
Fortify Static Code Analyzer: Komponente i Funkcije
Fortify SCA koristi različite analitičke motore za otkrivanje ranjivosti, uključujući: analizu bafera, analizu sadržaja, analizu toka kontrole, analizu toka podataka, semantičku analizu, konfiguracionu analizu i strukturnu analizu. Svaki od ovih analizatora primjenjuje specifičan set pravila prilagođenih za pružanje relevantnih informacija u skladu sa vrstom analize koja se obavlja.
Fortify SCA se sastoji od sljedećih ključnih komponenti:
- Fortify Scan Wizard: Ovaj alat omogućava konfigurisanje opcija za pokretanje skripti prije ili poslije analize, pružajući fleksibilnost u procesu skeniranja.
- Revision Workbench: To je grafički korisnički interfejs (GUI) koji organizuje i upravlja rezultatima analize, čineći ih lakim za pregled i razumijevanje.
- Custom Rule Editor: Programeri mogu kreirati i uređivati sopstvena pravila analize kako bi prilagodili alat specifičnim potrebama projekta.
- Dodatak za IntelliJ i Android Studio: Omogućava programerima pristup rezultatima analize direktno unutar integrisanog razvojnog okruženja (IDE).
- Dodatak za Eclipse: Integrisan je s Eclipse IDE-om i prikazuje rezultate analize unutar razvojnog okruženja.
- Bamboo Plugin: Prikuplja rezultate analize iz Bamboo projekata koji su izvršili skeniranje.
- Jenkins Plugin: Sakuplja rezultate analize iz Jenkins projekata.
Karakteristike Fortify SCA
Podrška za Različite Jezike
Fortify SCA podržava širok spektar programskih jezika, uključujući: ABAP/BSP, ActionScript, ASP (sa VBScript), COBOL, ColdFusion, Apex, ASP.NET, C# (.NET), C/C++, Classic VB.NET, VBScript, CFML, Go, HTML, Java (uključujući Android), JavaScript/AJAX, JSP, Kotlin, Visual Basic, MXML (Flex), Objective-C/C++, PHP, PL/SQL, Python, Ruby, Swift, T-SQL i XML. Ova raznolikost omogućava upotrebu alata u različitim razvojnim okruženjima.
Fleksibilne Opcije Implementacije
- Fortify On-Prem: Organizacijama pruža potpunu kontrolu nad svim aspektima Fortify SCA, omogućavajući potpunu prilagodbu i integraciju.
- Fortify On Demand: Omogućava programerima da rade u okruženju softvera kao usluge (SaaS), bez potrebe za održavanjem infrastrukture.
- Fortify Hosted: Kombinuje prednosti On Demand i On-Prem modela kroz izolirano virtualno okruženje s potpunom kontrolom podataka.
Laka Integracija s CI/CD Alatima
- Fortify SCA se jednostavno integriše sa popularnim IDE-ovima kao što su Visual Studio i Eclipse, olakšavajući proces razvoja i testiranja.
- Alat se integrira sa alatima otvorenog koda kao što su Sonatype, WhiteSource, Snyk i BlackDuck, dajući programerima veću kontrolu nad procesima bezbjednosti.
- Također, integrira se s udaljenim repozitorijima koda kao što su Bitbucket i GitHub, provjeravajući ranjivosti u kodu koji se postavlja na tim platformama i šaljući izvještaje.
Upozorenja u Realnom Vremenu
Fortify SCA pruža ažuriranja i upozorenja u realnom vremenu tokom pisanja koda. Analizatori za konfiguraciju i strukturu omogućavaju brzo otkrivanje problema i pomažu u kreiranju sigurnih aplikacija, smanjujući potrebu za čekanjem na završetak kodiranja za testiranje.
Pomoćnik za Reviziju Pokretan Mašinskim Učenjem
Audit Assistant koristi algoritme mašinskog učenja za brzu reviziju sistema, identifikujući i rangirajući ranjivosti na osnovu nivoa pouzdanosti. Ovaj alat pomaže organizacijama da smanje troškove revizije i generiraju detaljne izvještaje.
Fleksibilnost
Korisnici mogu odabrati vrstu skeniranja na osnovu svojih potreba. Na primjer, sveobuhvatno skeniranje omogućava dubinsku analizu, dok brzo skeniranje cilja samo na otkrivanje većih prijetnji.
Uloga Fortify SCA
Fortify SCA ima nekoliko ključnih uloga u tipičnom razvojnom ekosistemu:
Statičko Testiranje za Bolji Kod
Statičko testiranje sigurnosti aplikacija (SAST) identifikuje sigurnosne propuste u ranim fazama razvoja, čineći njihovo ispravljanje jeftinijim i efikasnijim. Ovaj pristup smanjuje sigurnosne rizike, dajući programerima trenutne povratne informacije o problemima u kodu. Osim toga, programeri kroz SAST uče više o sigurnosti i proizvode sigurniji softver.
Fortify SCA koristi bazu znanja o pravilima sigurnog kodiranja i algoritme za analizu izvornog koda i identifikaciju ranjivosti, prateći svaki put koji podaci mogu pratiti.
Rano Otkrivanje Sigurnosnih Problema
Fortify SCA imitira kompajler, čitajući i pretvarajući izvorni kod u srednju strukturu za sigurnosnu analizu. Sve sigurnosne propuste lako je locirati u ovom formatu. Alat koristi specijalizirane analizatore i pravila sigurnog kodiranja kako bi provjerio kršenja tih pravila.
Fortify SCA također nudi alat za kreiranje prilagođenih pravila za proširenje mogućnosti statičke analize. Rezultati se mogu prikazati u različitim formatima, prilagođenim zadatku i publici.
Upravljanje Rezultatima putem Fortify SSC
Fortify Software Security Center (SSC) je centralizirano skladište za upravljanje i pregled sigurnosnog programa organizacije. Korisnici mogu revidirati, pregledati, odrediti prioritete i upravljati rješavanjem sigurnosnih prijetnji putem SSC-a, dobijajući tačan uvid u sigurnosnu poziciju aplikacije.
SSC se nalazi na centralnom serveru i prima rezultate različitih aktivnosti testiranja sigurnosti, uključujući analizu u realnom vremenu, dinamičku i statičku analizu.
Tipovi Analize Koda Fortify SCA
Fortify skeniranje se bazira na arhitekturi „ubojitih kraljevstava“ kada je u pitanju analiza koda. Ovo su tipovi analiza koje Fortify SCA vrši:
- Validacija i Prikaz Ulaza: Problemi povezani sa validacijom i prikazom ulaza proizlaze iz alternativnih kodiranja, brojčanih prikaza i metakaraktera. Primjeri uključuju „prelijevanje bafera“, „cross-site scripting“ i „SQL Injection“.
- Zloupotreba API-ja: Najčešći tip zloupotrebe API-ja je kada pozivalac ne ispoštuje krajnji ugovor.
- Sigurnosne Funkcije: Ova analiza razlikuje sigurnost softvera od sigurnog softvera, fokusirajući se na autentifikaciju, upravljanje privilegijama, kontrolu pristupa, povjerljivost i kriptografiju.
- Vrijeme i Stanje: Računari brzo prelaze između zadataka. Analiza traži greške zbog neočekivanih interakcija između niti, informacija, procesa i vremena.
- Greške: Fortify SCA provjerava da li greške pružaju previše informacija potencijalnim napadačima.
- Kvalitet Koda: Loš kvalitet koda često dovodi do nepredvidivog ponašanja. Napadači mogu iskoristiti kod koji je loše napisan.
- Enkapsulacija: Proces povlačenja jasnih granica, razlikujući validirane i nepotvrđene podatke.
Preuzimanje i Instalacija Fortify SCA
Prije početka procesa instalacije, potrebno je:
- Provjeriti sistemske zahtjeve u službenoj dokumentaciji.
- Preuzeti Fortify licencnu datoteku sa stranice za preuzimanje Microfocusa. Potražite Fortify Static Code Analyzer, kreirajte svoj račun i preuzmite licencu.
- Provjeriti da li imate instaliran Visual Studio Code ili drugi podržani uređivač koda.
Instalacija na Windows
Fortify_SCA_and_Apps_<version>_windows_x64.exe
Napomena: <version> je verzija softvera.
- Kliknite „Next“ nakon prihvatanja uslova licence.
- Odaberite lokaciju instalacije i kliknite „Next“.
- Odaberite komponente koje želite instalirati i kliknite „Next“.
- Navedite korisnike ako instalirate Visual Studio ekstenziju.
- Kliknite „Next“ nakon navođenja putanje za datoteku fortify.license.
- Navedite postavke za ažuriranje sigurnosnog sadržaja. Možete koristiti server za ažuriranje Fortify Rulepack tako što ćete navesti URL kao https://update.fortify.com. Kliknite „Next“.
- Navedite želite li instalirati uzorak izvornog koda. Kliknite „Next“.
- Kliknite „Next“ za instalaciju Fortify SCA i aplikacija.
- Kliknite „Update Security Content“ nakon instalacije, a zatim „Finish“ nakon završetka.
Instalacija na Linux
Isti koraci mogu se koristiti za instalaciju Fortify SCA na Linux. Međutim, u prvom koraku, pokrenite ovu datoteku za instalaciju:
Fortify_SCA_and_Apps__linux_x64.run
Alternativno, možete instalirati Fortify SCA putem komandne linije:
Otvorite terminal i pokrenite ovu naredbu:
./Fortify_SCA_and_Apps__linux_x64.run --mode text
Pratite uputstva na komandnoj liniji do kraja procesa instalacije.
Pokretanje Fortify Skeniranja
Nakon instalacije, vrijeme je za konfiguraciju alata:
- Idite do instalacionog direktorija i direktorija bin putem komandne linije.
- Upišite scapostinstall, a zatim s za prikaz postavki.
- Konfigurirajte lokalizaciju koristeći ove naredbe:
Unesite 2 za izbor Postavki.
Unesite 1 za izbor Općenito.
Unesite 1 za izbor Lokacije.
Za jezik unesite engleski: en da postavite jezik na engleski.
- Konfigurišite ažuriranja sigurnosnog sadržaja. Unesite 2 za izbor Postavki, pa opet 2 za izbor Fortify Update. Koristite server za ažuriranje Fortify Rulepack navođenjem URL-a kao https://update.fortify.com.
- Upišite sourceanalyzer da biste provjerili je li alat u potpunosti instaliran.
Fortify SCA će sada raditi u pozadini i provjeravati vaš kod na sigurnosne propuste.
Zaključak
Slučajevi hakiranja sistema i kompromitacije podataka su sve učestaliji u digitalnom dobu. Srećom, dostupni su alati kao što je Fortify Static Code Analyzer koji mogu otkriti sigurnosne prijetnje tokom pisanja koda, slati upozorenja i preporučivati rješenja. Fortify SCA povećava produktivnost i smanjuje operativne troškove. Također, razmotrite analizu sastava softvera (SCA) za poboljšanje sigurnosti vaših aplikacija.