Co je Fortify SCA a jak jej nainstalovat?

Fortify Static Code Analyzer (SCA) detailně prozkoumává zdrojový kód a s vysokou přesností identifikuje kořeny slabých míst v zabezpečení.

Analýzy prováděné nástrojem Fortify upřednostňují nejkritičtější problémy a poskytují konkrétní návody, jak by měli vývojáři tyto nedostatky opravit.

Fortify Static Code Analyzer

Fortify Static Code Analyzer zahrnuje různorodé analyzátory zranitelností, včetně Buffer, Content, Control Flow, Dataflow, Semantic, Configuration a Structural. Každý z těchto analyzátorů pracuje s odlišnými sadami pravidel, které jsou speciálně navrženy tak, aby poskytovaly relevantní informace pro daný typ prováděné analýzy.

Fortify Static Code Analyzer se skládá z následujících komponent:

  • Průvodce skenováním Fortify (Fortify Scan Wizard): Tento nástroj nabízí možnosti spouštění skriptů před analýzou i po ní.
  • Auditní pracovní stůl (Audit Workbench): Jedná se o aplikaci s grafickým uživatelským rozhraním (GUI), která slouží k organizaci a správě výsledků analýz.
  • Editor vlastních pravidel (Custom Rules Editor): Umožňuje vývojářům vytvářet a modifikovat vlastní pravidla pro analýzu kódu.
  • Plugin pro IntelliJ a Android Studio: Poskytuje výsledky analýzy přímo v rámci těchto vývojových prostředí (IDE).
  • Plugin pro Eclipse: Integruje se s vývojovým prostředím Eclipse a zobrazuje v něm výsledky analýz.
  • Bambusový plugin: Shromažďuje výsledky analýz z úloh prováděných v Bamboo.
  • Plugin pro Jenkins: Získává výsledky analýz z úloh spouštěných v Jenkins.

Vlastnosti Fortify SCA

#1. Podpora mnoha programovacích jazyků

Mezi jazyky, které Fortify SCA podporuje, patří například: ABAP/BSP, ActionScript, ASP (s VBScript), COBOL, ColdFusion, Apex, ASP.NET, C# (.NET), C/C++, Classic, VB.NET, VBScript, CFML, Go, HTML, Java (včetně Androidu), JavaScript/AJAX, JSP, Kotlin, Visual Basic, MXML (Flex), Objective C/C++, PHP, PL/SQL, Python, Ruby, Swift, T-SQL a XML.

#2. Flexibilní možnosti nasazení

  • Fortify On-Prem: Umožňuje organizacím plnou kontrolu nad všemi aspekty Fortify SCA.
  • Fortify On Demand: Poskytuje vývojářům možnost pracovat v prostředí Software As Service.
  • Fortify Hosted: Umožňuje vývojářům kombinovat výhody On Demand a On-Prem prostřednictvím izolovaného virtuálního prostředí s plnou kontrolou nad daty.

#3. Snadná integrace s nástroji CI/CD

  • Vývojáři mohou jednoduše integrovat Fortify SCA s klíčovými IDE, jako je Visual Studio a Eclipse.
  • Díky integraci s nástroji s otevřeným zdrojovým kódem, jako jsou Sonatype, WhiteSource, Snyk a BlackDuck, mají vývojáři kontrolu nad různými akcemi.
  • Fortify SCA lze také integrovat s vzdálenými repozitáři kódu, například Bitbucket a GitHub. Nástroj tak může prověřovat zranitelnost kódu nahrávaného na tyto platformy a generovat reporty.

#4. Upozornění v reálném čase

Nemusíte čekat na dokončení kódování, abyste provedli testy, protože Fortify SCA poskytuje aktualizace v reálném čase během psaní kódu. Nástroj využívá konfigurační a strukturální analyzátory navržené pro rychlost a efektivitu, což vám pomáhá vytvářet bezpečné aplikace.

#5. Asistent auditu s podporou strojového učení

Audity systému jsou díky asistentovi auditu (Audit Assistant), který využívá algoritmy strojového učení, rychlé. Asistent identifikuje všechny zranitelnosti a prioritizuje je na základě míry spolehlivosti. Organizace tak mohou snížit náklady na audity, protože nástroj generuje zprávy.

#6. Flexibilita

Uživatelé si mohou vybrat typ skenování, který chtějí provést, na základě svých potřeb. Například pokud požadujete přesné a detailní skenování, můžete zvolit komplexní skenování. Vývojáři mohou také zvolit rychlou kontrolu, pokud potřebují odhalit pouze hlavní hrozby.

K čemu slouží Fortify SCA?

Fortify SCA hraje v typickém vývojovém prostředí několik klíčových rolí. Následují některé z nich:

Statické testování pomáhá vytvářet kvalitnější kód

Statické testování bezpečnosti aplikací (SAST) pomáhá identifikovat slabá místa v zabezpečení v raných fázích vývoje. Oprava většiny těchto zranitelností je v této fázi relativně levná.

Tento přístup snižuje bezpečnostní rizika v aplikacích, protože testování poskytuje okamžitou zpětnou vazbu o problémech, které se během vývoje dostaly do kódu.

Vývojáři se také učí o bezpečnosti prostřednictvím statického testování bezpečnosti aplikací a mohou tak začít vyvíjet bezpečný software.

Fortify SCA využívá rozsáhlou znalostní bázi pravidel pro bezpečné kódování a řadu algoritmů k analýze zdrojového kódu softwarové aplikace a odhalení zranitelností v zabezpečení. Tento přístup analyzuje všechny možné cesty, kterými mohou data a provádění probíhat, aby identifikoval zranitelnosti a navrhl řešení.

Včasné odhalení bezpečnostních problémů

Fortify SCA se chová podobně jako kompilátor. Po spuštění skenování Fortify nástroj načte soubory se zdrojovým kódem a převede je do mezistruktury optimalizované pro analýzu zabezpečení.

Všechny bezpečnostní chyby lze snadno nalézt v tomto přechodném formátu. Nástroj je vybaven analytickým jádrem, které se skládá z několika specializovaných analyzátorů. Ty následně aplikují pravidla bezpečného kódování, aby zkontrolovaly, zda kód neporušuje některá z těchto pravidel.

Fortify SCA také nabízí tvůrce pravidel, pokud chcete rozšířit možnosti statické analýzy a zahrnout vlastní pravidla. Výsledky lze v závislosti na úkolu a cílové skupině zobrazit v různých formátech.

Fortify Software Security Center (SSC) pomáhá se správou výsledků

Fortify Software Security Center (SSC) je centralizované úložiště pro správu, které nabízí přehled o celém programu zabezpečení aplikací v organizaci. Prostřednictvím SSC mohou uživatelé auditovat, ověřovat, prioritizovat a řídit proces nápravy, pokud jsou zjištěny bezpečnostní hrozby.

Fortify SSC poskytuje přesný rozsah a pohled na stav zabezpečení aplikací v organizaci. SSC se nachází na centrálním serveru, ale získává výsledky z různých aktivit testování zabezpečení aplikací, od analýzy v reálném čase, přes dynamickou až po statickou analýzu.

Jaké typy analýzy kódu může Fortify SCA provádět?

Fortify využívá při analýze kódu metody vycházející z konceptu „maligních království“. Mezi typy analýz, které Fortify SCA provádí, patří:

  • Ověření a reprezentace vstupu: Problémy spojené s ověřením a reprezentací vstupu pramení z alternativních kódování, číselných reprezentací a metaznaků. Příklady takových problémů jsou útoky typu „přetečení bufferu“, „skriptování napříč weby“ a „SQL injection“, ke kterým dochází, když uživatelé důvěřují vstupům.
  • Zneužívání API: Nejběžnějším typem zneužití API je situace, kdy volající nedodrží smlouvu o API.
  • Bezpečnostní funkce: Tato analýza rozlišuje mezi bezpečností samotného softwaru a bezpečnostními prvky implementovanými v softwaru. Analýza se zaměřuje na autentizaci, správu oprávnění, řízení přístupu, důvěrnost a kryptografii.
  • Čas a stav: Počítače mohou velmi rychle přepínat mezi různými úlohami. Analýza času a stavu vyhledává chyby, které vyplývají z neočekávaných interakcí mezi vlákny, informacemi, procesy a časem.
  • Chyby: Fortify SCA kontroluje, zda chybové zprávy neposkytují potenciálním útočníkům příliš mnoho informací.
  • Kvalita kódu: Špatná kvalita kódu obvykle vede k nepředvídatelnému chování. Útočníci však mohou mít šanci zmanipulovat aplikaci ve svůj prospěch, pokud narazí na špatně napsaný kód.
  • Zapouzdření: Jedná se o proces vytváření silných hranic. Tato analýza může například rozlišovat mezi ověřenými a neověřenými daty.

Stažení a instalace Fortify SCA

Před zahájením procesu instalace je nutné:

  • Zkontrolovat systémové požadavky v oficiální dokumentaci.
  • Získat licenční soubor Fortify. Vyberte svůj balíček na stránce stahování společnosti Microfocus. Vyhledejte Fortify Static Code Analyzer, vytvořte si účet a získejte licenční soubor Fortify.

  • Ujistěte se, že máte nainstalovaný Visual Studio Code nebo jiný podporovaný editor kódu.

Jak nainstalovat na Windows

Pro instalaci na Windows použijte spustitelný soubor:

Fortify_SCA_and_Apps_<verze>_windows_x64.exe

Poznámka: <verze> je číslo verze softwaru.

  • Po přijetí licenční smlouvy klepněte na tlačítko Další.
  • Vyberte, kam se má Fortify Static Code Analyzer nainstalovat, a klikněte na Další.
  • Vyberte komponenty, které chcete nainstalovat, a klepněte na tlačítko Další.
  • Zadejte uživatele, pokud instalujete rozšíření pro Visual Studio 2015 nebo 2017.
  • Zadejte cestu k souboru fortify.license a klikněte na Další.
  • Zadejte nastavení požadovaná pro aktualizaci obsahu zabezpečení. Můžete použít aktualizační server Fortify Rulepack zadáním adresy URL https://update.fortify.com. Klepněte na tlačítko Další.
  • Zadejte, zda chcete nainstalovat vzorový zdrojový kód. Klepněte na tlačítko Další.
  • Pro instalaci Fortify SCA a aplikací klikněte na Další.
  • Po dokončení instalace klikněte na „Aktualizovat obsah zabezpečení“ a poté na „Dokončit“.

Jak nainstalovat na Linux

Při instalaci Fortify SCA na systém založený na Linuxu můžete postupovat podle podobných kroků. V prvním kroku však spusťte soubor jako instalační soubor:

Fortify_SCA_and_Apps__linux_x64.run

Alternativně můžete Fortify SCA nainstalovat pomocí příkazového řádku.

Otevřete terminál a spusťte tento příkaz:

./Fortify_SCA_and_Apps__linux_x64.run --mode text

Postupujte podle všech pokynů zobrazených na příkazovém řádku, dokud nedokončíte proces instalace.

Jak spustit skenování Fortify

Po dokončení instalace je čas nakonfigurovat nástroj pro analýzu zabezpečení.

  • Přejděte do instalačního adresáře a pomocí příkazového řádku přejděte do složky bin.
  • Zadejte `scapostinstall`. Poté zobrazením `s` si můžete prohlédnout nastavení.
  • Nastavte národní prostředí pomocí těchto příkazů:

Zadejte 2 a vyberte Nastavení.

Napište 1 a vyberte Obecné.

Zadejte 1 a vyberte Národní prostředí.

Jako jazyk zadejte `English: en`, abyste nastavili jazyk na angličtinu.

  • Konfigurace aktualizací bezpečnostního obsahu. Zadejte 2 a vyberte Nastavení, a poté znovu zadejte 2 a vyberte Fortify Update. Nyní můžete použít aktualizační server Fortify Rulepack zadáním adresy URL https://update.fortify.com.
  • Zadejte `sourceanalyzer`, abyste ověřili, zda je nástroj plně nainstalován.

Fortify SCA nyní poběží na pozadí a bude analyzovat váš kód, zda neobsahuje bezpečnostní chyby.

Závěrem

V dnešní internetové éře se rozšířily případy hackování systémů a úniků dat. Naštěstí máme nyní k dispozici nástroje, jako je Fortify Static Code Analyzer, které dokážou detekovat bezpečnostní hrozby během psaní kódu, zasílat upozornění a poskytovat doporučení, jak se s takovými hrozbami vypořádat. Fortify SCA může zvýšit produktivitu a snížit provozní náklady, pokud se používá spolu s dalšími nástroji.

Doporučujeme také prozkoumat Software Composition Analysis (SCA) pro zlepšení zabezpečení vašich aplikací.