Analiza kodu źródłowego może być wspierana przez wyniki przeprowadzonych testów penetracyjnych.
W ramach naszych prac zrealizujemy statyczną analizę kodu źródłowego, która będzie dotyczyła najistotniejszych funkcjonalności z punktu widzenia bezpieczeństwa, m.in.:
- Obsługa wejścia i wyjścia z aplikacji,
- Walidacja danych,
- Uwierzytelnianie i autoryzacja,
- Mechanizmy kryptograficzne,
- Zarządzanie pamięcią,
- Obsługa błędów,
- Odwołania do systemu operacyjnego,
- Logowanie.
- Przeprowadzenie wywiadu z architektami aplikacji lub wiodącymi programistami w celu uzyskania informacji o jej funkcjach biznesowych oraz o jej strukturze wewnętrznej,
- Oczyszczenie kodu źródłowego z kodów testowych oraz nieużywanych fragmentów kodu, a także oznaczenie kodów bibliotek zewnętrznych,
- Przeprowadzenie statycznej analizy kodu z użyciem narzędzi automatycznych w celu zidentyfikowania podatności wykrywanych tymi narzędziami,
- Manualna weryfikacja wyników uzyskanych z narzędzi automatycznych,
- Uzupełnienie analizy za pomocą manualnych kontroli na podstawie list kontrolnych opisujących różne typy podatności adekwatne dla stosowanego języka programowania,
- Przedyskutowanie wyników prac z architektami aplikacji lub wiodącymi programistami w celu określenie poziomu ryzyka podatności i podejścia zespołu programistycznego,
- Przygotowanie raportu zawierającego listę zidentyfikowanych podatności wraz z rekomendacjami ich usunięcia.