Co to jest Fortify SCA i jak go zainstalować?

Fortify Static Code Analyzer (SCA) analizuje kod źródłowy i wskazuje główną przyczynę luk w zabezpieczeniach.

Skan Fortify nadaje priorytet najpoważniejszym problemom i wskazuje, jak programiści powinni je naprawić.

Wzmocnij analizator kodu statycznego

Fortify Static Code Analyzer ma różne analizatory podatności, takie jak Buffer, Content, Control Flow, Dataflow, Semantic, Configuration i Structural. Każdy z tych analizatorów akceptuje inny rodzaj reguły, dostosowany do oferowania informacji niezbędnych do rodzaju przeprowadzanej analizy.

Fortify Static Code Analyzer ma następujące komponenty;

  • Wzmocnij kreatora skanowania. Jest to narzędzie oferujące opcje uruchamiania skryptów po lub przed analizą.
  • Stanowisko audytu. Jest to aplikacja oparta na graficznym interfejsie użytkownika, która organizuje i zarządza analizowanymi wynikami.
  • Edytor reguł niestandardowych. Jest to narzędzie, które pozwala programistom tworzyć i edytować niestandardowe reguły do ​​analizy.
  • Wtyczka dla IntelliJ i Android Studio. Ta wtyczka udostępnia wyniki analizy w środowisku IDE.
  • Wtyczka do Eclipse. To narzędzie jest zintegrowane z Eclipse i wyświetla wyniki w IDE.
  • Wtyczka bambusa. Jest to wtyczka, która zbiera wyniki z pracy Bamboo, która przeprowadza analizę.
  • Wtyczka Jenkinsa. Ta wtyczka zbiera wyniki analizy z Jenkins Job.

Cechy Fortify SCA

# 1. Obsługuje wiele języków

Niektóre języki obsługiwane w Fortify SCA to; ABAP/BSP, ActionScript, ASP (z VBScript), COBOL, ColdFusion, Apex, ASP.NET, C# (.NET), C/C++, Classic, VB.NET, VBScript, CFML, Go, HTML, Java (w tym Android ), JavaScript/AJAX, JSP, Kotlin, Visual Basic, MXML (Flex), Objective C/C++, PHP, PL/SQL, Python, Ruby, Swift, T-SQL i XML.

#2. Elastyczne opcje wdrażania

  • Fortify On-Prem zapewnia organizacji pełną kontrolę nad wszystkimi aspektami Fortify SCA.
  • Fortify On Demand umożliwia programistom pracę w środowisku Software As Service.
  • Fortify Hosted pozwala programistom cieszyć się obydwoma światami (na żądanie i na miejscu) za pośrednictwem izolowanego środowiska wirtualnego z pełną kontrolą danych.

#3. Łatwo integruje się z narzędziami CI/CD

  • Deweloperzy mogą łatwo zintegrować Fortify SCA z głównymi środowiskami IDE, takimi jak Visual Studio i Eclipse.
  • Deweloperzy mają kontrolę nad różnymi działaniami, ponieważ narzędzie integruje się z narzędziami typu open source, takimi jak Sonatype, WhiteSource, Snyk i BlackDuck.
  • Możesz także zintegrować Fortify SCA ze zdalnymi repozytoriami kodu, takimi jak Bitbucket i GitHub. Narzędzie może więc sprawdzać kod przesyłany na takie platformy pod kątem luk w zabezpieczeniach i wysyłać raporty.

#4. Alerty w czasie rzeczywistym

Nie musisz czekać, aż skończysz kodować, aby przeprowadzić testy, ponieważ Fortify SCA zapewnia aktualizacje w czasie rzeczywistym podczas kodowania. Narzędzie zawiera analizatory konfiguracji i struktury stworzone z myślą o szybkości i wydajności oraz pomaga w tworzeniu bezpiecznych aplikacji.

#5. Asystent audytu oparty na uczeniu maszynowym

Audyt systemu jest szybki dzięki Audit Assistant, który wykorzystuje algorytmy uczenia maszynowego. Asystent identyfikuje wszystkie luki w zabezpieczeniach i nadaje im priorytety na podstawie poziomu pewności. Organizacje mogą w ten sposób zaoszczędzić na kosztach audytu, ponieważ narzędzie generuje raporty.

#6. Elastyczność

Użytkownicy mogą wybrać typ skanowania, który chcą przeprowadzić, w zależności od potrzeb. Na przykład, jeśli chcesz dokładnych i szczegółowych skanów, możesz wybrać opcję kompleksowego skanowania. Deweloperzy mogą również wybrać opcję szybkiego skanowania, jeśli chcą wykrywać tylko poważne zagrożenia.

Co robi Fortify SCA?

Fortify SCA pełni kilka ról w typowym ekosystemie programistycznym. Oto niektóre z ról;

Testy statyczne pomagają budować lepszy kod

Statyczne testy bezpieczeństwa aplikacji (SAST) pomagają zidentyfikować luki w zabezpieczeniach na wczesnych etapach rozwoju. Na szczęście naprawa większości z tych luk w zabezpieczeniach jest niedroga.

Takie podejście zmniejsza ryzyko bezpieczeństwa w aplikacjach, ponieważ testowanie zapewnia natychmiastową informację zwrotną na temat problemów wprowadzonych do kodu podczas tworzenia.

Deweloperzy dowiadują się również o bezpieczeństwie dzięki statycznym testom bezpieczeństwa aplikacji, dzięki czemu mogą rozpocząć produkcję bezpiecznego oprogramowania.

Fortify SCA wykorzystuje rozległą bazę wiedzy na temat reguł bezpiecznego kodowania i wielu algorytmów do analizy kodu źródłowego aplikacji pod kątem luk w zabezpieczeniach. Podejście to analizuje każdą wykonalną ścieżkę, którą mogą podążać dane i wykonanie, aby zidentyfikować luki w zabezpieczeniach i zaproponować środki zaradcze.

Wcześnie wykrywa problemy z bezpieczeństwem

Fortify SCA naśladuje kompilator. Po skanowaniu Fortify to narzędzie odczytuje pliki kodu źródłowego i konwertuje je na strukturę pośrednią ulepszoną do analizy bezpieczeństwa.

Wszystkie luki w zabezpieczeniach są łatwe do zlokalizowania w formacie pośrednim. Narzędzie jest dostarczane z silnikiem analitycznym składającym się z wielu wyspecjalizowanych analizatorów, które następnie wykorzystują reguły bezpiecznego kodowania do analizy, czy kod narusza jakiekolwiek zasady bezpiecznego kodowania.

Fortify SCA jest również wyposażony w narzędzie do tworzenia reguł, jeśli chcesz rozszerzyć możliwości analizy statycznej i uwzględnić niestandardowe reguły. Wyniki w takim ustawieniu można wyświetlać w różnych formatach w zależności od zadania i odbiorców.

Fortify Software Security Center (SSC) pomaga zarządzać wynikami

Fortify Software Security Center (SSC) to scentralizowane repozytorium do zarządzania, które zapewnia wgląd w cały program bezpieczeństwa aplikacji organizacji. Dzięki SSC użytkownicy mogą przeprowadzać audyty, przeglądać, ustalać priorytety i zarządzać działaniami zaradczymi w przypadku zidentyfikowania zagrożeń bezpieczeństwa.

Fortify SSC oferuje dokładny zakres i obraz stanu bezpieczeństwa aplikacji w organizacji. SSC znajduje się na centralnym serwerze, ale otrzymuje wyniki z różnych działań związanych z testowaniem bezpieczeństwa aplikacji, począwszy od analizy dynamicznej w czasie rzeczywistym, a skończywszy na analizie statycznej.

Jaki rodzaj analizy kodu może przeprowadzić Fortify SCA?

Skan fortify zapożycza się z architektury zgubnych królestw podczas analizy kodu. Oto rodzaje analiz, które wykonuje Fortify SCA;

  • Walidacja i reprezentacja danych wejściowych – problemy związane z walidacją i reprezentacją danych wejściowych wynikają z alternatywnego kodowania, reprezentacji liczbowych i metaznaków. Przykładami takich problemów są „Przepełnienia bufora”, ataki „Cross-Site Scripting” i „SQL Injection”, które pojawiają się, gdy użytkownicy ufają danym wejściowym.
  • Nadużycie interfejsu API. Osoba dzwoniąca, która nie wywiązuje się z umowy, jest najczęstszym rodzajem nadużycia interfejsu API.
  • Funkcjonalność związana z bezpieczeństwem. Ten test rozróżnia oprogramowanie zabezpieczające i oprogramowanie zabezpieczające. Analiza skupi się na zagadnieniach związanych z uwierzytelnianiem, zarządzaniem uprawnieniami, kontrolą dostępu, poufnością i kryptografią.
  • Czas i stan. Komputery mogą bardzo szybko przełączać się między różnymi zadaniami. Analiza czasu i stanu wyszukuje defekty wynikające z nieoczekiwanych interakcji między wątkami, informacjami, procesami i czasem.
  • Błędy. Fortify SCA sprawdzi, czy błędy nie przekazują zbyt wielu informacji potencjalnym atakującym.
  • Jakość kodu. Niska jakość kodu zwykle prowadzi do nieprzewidywalnego zachowania. Jednak osoby atakujące mogą mieć szansę manipulowania aplikacją na swoją korzyść, jeśli napotkają kod, który jest źle napisany.
  • Kapsułkowanie. Jest to proces wyznaczania silnych granic. Taka analiza może oznaczać rozróżnienie pomiędzy zweryfikowanymi i niezweryfikowanymi danymi.

Pobierz i zainstaluj Fortify SCA

Przed rozpoczęciem procesu instalacji należy;

  • Sprawdź wymagania systemowe z oficjalnej dokumentacji
  • Pobierz plik licencji Fortify. Wybierz swój pakiet ze strony pobierania Microfocus. Wyszukaj narzędzie Fortify Static Code Analyzer, utwórz konto i uzyskaj plik licencji Fortify.

  • Upewnij się, że masz zainstalowany program Visual Studio Code lub inny obsługiwany edytor kodu

Jak zainstalować w systemie Windows

Fortify_SCA_and_Apps_<version>_windows_x64.exe

Uwaga: to wersja oprogramowania

  • Kliknij Dalej po zaakceptowaniu umowy licencyjnej.
  • Wybierz miejsce instalacji narzędzia Fortify Static Code Analyzer i kliknij przycisk Dalej.
  • Wybierz komponenty, które chcesz zainstalować i kliknij Dalej.
  • Określ użytkowników, jeśli instalujesz rozszerzenie dla programu Visual Studio 2015 lub 2017.
  • Kliknij Dalej po określeniu ścieżki do pliku fortify.license.
  • Określ ustawienia wymagane do aktualizacji zawartości zabezpieczeń. Możesz użyć serwera aktualizacji Fortify Rulepack, podając adres URL jako https://update.fortify.com. Kliknij Następny.
  • Określ, czy chcesz zainstalować przykładowy kod źródłowy. Kliknij Następny.
  • Kliknij Dalej, aby zainstalować Fortify SCA i aplikacje.
  • Kliknij Aktualizuj zawartość zabezpieczeń po instalacji, a następnie Zakończ po zakończeniu instalacji.

Jak zainstalować w systemie Linux

Możesz wykonać te same kroki, aby zainstalować Fortify SCA w systemie Linux. Jednak w pierwszym kroku uruchom to jako plik instalatora;

Fortify_SCA_and_Apps__linux_x64.run

Alternatywnie można zainstalować Fortify SCA, korzystając z wiersza poleceń.

Otwórz terminal i uruchom to polecenie

./Fortify_SCA_and_Apps__linux_x64.run --mode text

Postępuj zgodnie ze wszystkimi monitami wyświetlanymi w wierszu poleceń, aż do zakończenia procesu instalacji.

Jak uruchomić skanowanie Fortify

Po zakończeniu instalacji nadszedł czas na skonfigurowanie narzędzia do analizy bezpieczeństwa.

  • Udaj się do katalogu instalacyjnego i przejdź do folderu bin za pomocą wiersza polecenia.
  • Wpisz scapostinstall. Następnie możesz wpisać s, aby wyświetlić ustawienia.
  • Skonfiguruj ustawienia regionalne za pomocą tych poleceń;

Wpisz 2, aby wybrać Ustawienia.

Wpisz 1, aby wybrać Ogólne.

Wpisz 1, aby wybrać ustawienia regionalne

Aby wybrać język, wpisz English: en, aby ustawić język na angielski.

  • Skonfiguruj aktualizacje zawartości zabezpieczeń. Wpisz 2, aby wybrać Ustawienia, a następnie ponownie wpisz 2, aby wybrać Wzmocnienie aktualizacji. Możesz teraz użyć serwera aktualizacji Fortify Rulepack, podając adres URL jako https://update.fortify.com.
  • Wpisz sourceanalyzer, aby sprawdzić, czy narzędzie jest w pełni zainstalowane.

Fortify SCA będzie teraz działać w tle i sprawdzać cały kod pod kątem luk w zabezpieczeniach.

Podsumowanie

Przypadki hakowania systemów i narażania danych stały się powszechne w erze Internetu. Na szczęście mamy teraz narzędzia, takie jak Fortify Static Code Analyzer, które mogą wykrywać zagrożenia bezpieczeństwa podczas pisania kodu, wysyłać alerty i podawać zalecenia dotyczące radzenia sobie z takimi zagrożeniami. Fortify SCA może zwiększyć produktywność i obniżyć koszty operacyjne, gdy jest używany z innymi narzędziami.

Możesz także zapoznać się z analizą składu oprogramowania (SCA), aby poprawić bezpieczeństwo aplikacji.