Audyt kodu
Audyt bezpieczeństwa kodu źródłowego polega na kompleksowej analizie kodu źródłowego pod kątem bezpieczeństwa.
Głównym celem audytu jest sprawdzenie bezpieczeństwa aplikacji od strony kodu źródłowego, co umożliwia identyfikację podatności trudnych do wykrycia w inny sposób.
Zrealizowane projekty: Pracowaliśmy m.in. dla banków, domów maklerskich, firm leasingowych, energetycznych, telekomunikacyjnych, produkcyjnych oraz e-commerce.
Dowiedz się więcejKluczowe cechy usługi audyt kodu:
- W ramach testów sprawdzamy: 1) odwołania do bibliotek zewnętrznych/zależności oraz podatności w tych zależnościach, 2) podatności opisane w OWASP TOP 10, OWASP ASVS, OWASP Testing Guide, OWASP MASVS/OWASP MAS, PCI DSS – w zależności od wybranego zakresu – również takie, które są trudne do weryfikacji podczas testów bezpieczeństwa, 3) zastosowanie bezpiecznych praktyk programowania.
- Zakres prac może obejmować: 1) audyt za pomocą narzędzi automatycznych, 2) ręczną / manualną weryfikację kodu, 3) podejście hybrydowe/mieszane – np. audyt całości kodu przy pomocy automatów i ręczna analiza wybranych fragmentów kodu.
- Ryzyko oceniane według międzynarodowych standardów CVSS, OWASP RRM.
- Stanowią kluczowy element budowania świadomości bezpieczeństwa (security awareness) wśród pracowników.
- Wyniki testów stanowią informacje wejściowe dla procesów zarządzania ryzykiem oraz incydentami bezpieczeństwa w organizacji.
- Testy realizowane przez ekspertów z certyfikatami, m.in. OSCE, OSCP, OSWE, OSEE, CPTE, CEH, CISSP, CISA i wieloletnim doświadczeniem w zabezpieczaniu systemów, administracji i programowaniu.
Korzyści
Zwiększenie bezpieczeństwa danych
Poprawa ochrony informacji przetwarzanych w systemach IT.
Redukcja ryzyka ataków
Zmniejszenie ryzyka włamań i skutecznych cyberataków.
Wczesne wykrywanie podatności
Identyfikacja luk, błędów i słabych punktów systemów zanim zrobią to cyberprzestępcy.
Praktyczne rekomendacje
Szybkie i efektywne kosztowo rozwiązania gotowe do wdrożenia (tzw. "quick wins").
Zgodność z normami
Spełnienie międzynarodowych standardów, takich jak ISO 27001, OWASP, OSSTMM i PCI DSS.
Uniknięcie strat
Zapobieganie stratom finansowym, utracie reputacji, problemom prawnym oraz sankcjom nadzorczym, w tym karom przewidzianym dla Zarządu w regulacjach DORA, RODO, itp.
Sprawdzenie bezpieczeństwa
Ocena, jak dobrze chronione są systemy IT i procesy w organizacji.
SWOT bezpieczeństwa
Wskazanie mocnych i słabych stron systemów IT oraz procedur bezpieczeństwa.
Zmniejszenie ryzyka
Wykrywanie i usuwanie słabych punktów, aby ograniczyć możliwość ataków i incydentów.
Ochrona przed atakami
Testy oparte na rzeczywistych scenariuszach pomagają w skutecznej obronie przed cyberzagrożeniami.
Oszczędność kosztów
Wczesne wykrycie luk pozwala uniknąć wydatków na naprawę skutków ataków.
Raport
Wynikiem będzie szczegółowy raport z wynikami testów oraz praktycznymi rekomendacjami, obejmujący:
- Streszczenie dla Zarządu, obejmujące:
- Cel i zakres wykonanych prac;
- Zastosowane podejście;
- Podsumowanie wyników i wykonanych prac opisane biznesowym (nietechnicznym) językiem;
- Szczegółowy, techniczny opis zidentyfikowanych podatności, obejmujący:
- Zakres testów;
- Data realizacji testów;
- Opis zastosowanych metodyk i technik;
- Zestawienie zidentyfikowanych podatności;
- Narzędzia wykorzystane do realizacji testów;
- Szczegółowy, techniczny opis zidentyfikowanych podatności, obejmujący:
- Tytuł – tytuł zidentyfikowanej podatności;
- Opis podatności – szczegółowy, techniczny opis zidentyfikowanych podatności;
- Proof of concept (wyniki analizy możliwości wykorzystania podatności):
- sposób wywołania podatności;
- informacje potwierdzające zidentyfikowane podatności np.
- przypadki testowe (zrzuty ekranów, przykłady zmanipulowanych zapytań), które dokumentują istnienie podatności;
- listing poleceń źródłowych stanowiące dowód występowania podatności (tam gdzie ma to zastosowanie);
- fragmenty logów (tam gdzie ma to zastosowanie);;
- Skutki wykorzystania podatności (szczegółowy opis możliwych skutków wykorzystania podatności);
- Poziom ryzyka wg CVSS lub OWASP RRM oraz w skali:
- KRYTYCZNY/Critical,
- WYSOKI/ High,
- ŚREDNI/Medium,
- NISKI/Low,
- INFORMACYJNY/Info.
- Odniesienie do baz danych o podatnościach;
- Rekomendacje – opis praktycznych działań, jakie należy podjąć w celu eliminacji zidentyfikowanych podatności lub minimalizacji ryzyka z nich wynikającego oraz uwzględniający specyfikę działania Klienta wraz z określeniem sposobu ich wdrożenia.
Najczęściej zadawane pytania
Zgodnie z metodyką Optima Partners skupiamy się głównie na przeprowadzaniu testów manualnych. Testy automatyczne są tylko dodatkiem do testów manualnych.
Realizujemy też dla Klientów testy automatyczne w ramach cyklicznych skanów bezpieczeństwa aplikacji w celu szybkiej identyfikacji podatności tzw. low hang fruits.
Posiadamy zespół:
- ponad 20 inżynierów bezpieczeństwa (pentesterów) posiadających m.in. następujące certyfikaty: OSCE, OSCP, OSWE, OSEE, CPTE, CEH.
Tak, posiadamy certyfikaty potwierdzające kwalifikacje zespołu takie, jak:
- CISSP (Certified Information Systems Security Professional),
- OSCE (Offensive Security Certified Expert),
- OSCP (Offensive Security Certified Professional),
- OPST (OSSTMM Professional Security Tester),
- OSEE (Offensive Security Exploitation Expert),
- OSWE (Offensive Security Web Expert),
- OSWP (Offensive Security Wireless Professional),
- CEPT (Certified Expert Penetration Tester),
- CEH (Certified Ethical Hacker),
- Certified Penetration Tester (CPT),
- CSX Cybersecurity Practitioner (CSX-P),
- GPEN (GIAC Penetration Tester),
- GWAPT (GIAC Web Application Penetration Tester),
- GMOB (GIAC Mobile Device Security Analyst),
- GXPN (GIAC Exploit Researcher and Advanced Penetration Tester),
- Industrial Automation and Control Systems Security (ISA-99)
- LPT (Licensed Penetration Tester),
- ECSS (EC-Council Certified Security Specialist),
- AWE (Advanced Windows Exploitation),
- eCPPT (eLearnSecurity Certified Professional Penetration Tester),
- eJPT (eLearnSecurity Junior Penetration Tester),
- eMAPT (eLearnSecurity Mobile Application Penetration Tester),
- eWPT (eLearnSecurity Web application Penetration Tester),
- eWPTX (Web application Penetration Tester eXtreme),
- CompTIA Security+,
- Systems Security Certified Practitioner (SSCP),
- CompTIA Project+,
- CIA (Certified Internal Auditor),
- CISA (Certified Information Security Auditor),
- CISM (Certified Information Security Manager),
- Audytor Wiodący ISO 27001,
- Audytor wewnętrzny SZBI BS 7799,
- Audytor Wiodący ISO 22301
- CRISC (Certified in Risk and Information Systems Control),
- CBCP – Certified Business Continuity Professional (DRII),
- Certified ISO 31000 Risk Manager (PECB),
- ITIL Foundation,
- ITIL Intermediate,
- Prince2 Practitioner.
i wiele więcej…
Do realizacji audytu wykorzystujemy m.in. następujące narzędzia:
- Narzędzia wspomagające audyt kodu źródłowego:
- Rational AppScan
- WebInspect
- Fortify
- Środowisko pracy Eclipse IDE
- Visual Studio
- Plugin findbugs
- Semgrep
- SonarQube
- Autorskie narzędzia i aplikacje wspomagające proces przeprowadzania audytu
Autorska metodyka Optima Partners oparta jest o międzynarodowe normy i standardy takie jak:
- OWASP Code Review Guide
- Secure Coding Practices
- OWASP ASVS
- OWASP Developer Guide
- OWASP Go Secure Coding Practices Guide
- CWE – w tym CWE Top 25 Most Dangerous Software Weaknesses
- OWASP TOP 10
- Carnegie Mellon Software Engineering Institute CERT Secure Coding Standards
- NIST SP 800-218 Secure Software Development Framework (SSDF)
- NIST SP 800-53 Security and Privacy Controls for Information Systems and Organizations
- Secure coding guidelines for .NET
- Microsoft SDL
W zależności od wielkości kodu audytowanego systemu audyt zwykle trwa od 2 do 8 tygodni.
Wynikiem naszych prac jest raport z niezależną oceną poziomu bezpieczeństwa wg międzynarodowych standardów (CVSS, OWASP), który może być zaprezentowany zainteresowanym stronom (udziałowcom, kontrahentom, klientom) wraz z praktycznymi rekomendacjami.
Raport obejmuje:
- Streszczenie dla Zarządu, obejmujące:
- Cel i zakres wykonanych prac;
- Zastosowane podejście;
- Podsumowanie wyników i wykonanych prac opisane biznesowym (nietechnicznym) językiem;
- Szczegółowy, techniczny opis zidentyfikowanych podatności, obejmujący:
- Zakres testów;
- Datę realizacji testów;
- Opis zastosowanych metodyk i technik;
- Narzędzia wykorzystane do realizacji testów;
- Zestawienie zidentyfikowanych podatności zawierające, co najmniej:
- identyfikator podatności,
- nazwę,
- opis,
- opis wpływu,
- prawdopodobieństwo jej wykorzystania oraz
- sposoby jej wyeliminowania.
- Szczegółowy, techniczny opis zidentyfikowanych podatności, obejmujący:
- Tytuł – tytuł zidentyfikowanej podatności;
- Opis podatności – szczegółowy, techniczny opis zidentyfikowanych podatności;
- Proof of concept (wyniki analizy możliwości wykorzystania podatności):
- sposób wywołania podatności;
- informacje potwierdzające zidentyfikowane podatności np.
- przypadki testowe (zrzuty ekranów, przykłady zmanipulowanych zapytań), które dokumentują istnienie podatności;
- listing poleceń źródłowych stanowiące dowód występowania podatności (tam gdzie ma to zastosowanie);
- fragmenty logów (tam gdzie ma to zastosowanie);;
- Skutki wykorzystania podatności (szczegółowy opis możliwych skutków wykorzystania podatności);
- Poziom ryzyka wg CVSS lub OWASP RRM oraz w skali:
- KRYTYCZNY/Critical,
- WYSOKI/High,
- ŚREDNI/Medium,
- NISKI/Low,
- INFORMACYJNY/Info.
- Odniesienie do baz danych o podatnościach;
- Rekomendacje – opis praktycznych działań, jakie należy podjąć w celu eliminacji zidentyfikowanych podatności lub minimalizacji ryzyka z nich wynikającego oraz uwzględniający specyfikę działania Klienta wraz z określeniem sposobu ich wdrożenia.
Na bieżąco komunikujemy się z Klientem w czasie projektu. Do realizacji projektu dedykujemy:
- Pentestera Wiodącego, z którym można się na bieżąco kontaktować w sprawach dotyczących realizacji testów, zidentyfikowanych podatności, itp.
- Project Managera, z którym można się na bieżąco kontaktować w sprawach dotyczących zarządzania projektem, terminów, problemów, ryzyk itp.
Tak, zakres naszych prac obejmuje:
- wsparcie w zakresie usuwania wykrytych podatności
- re-testy
- szkolenia w zakresie usuwania podatności.
W zależności od:
- Poziomu wrażliwości / poufności przetwarzanych danych
- Poziomu ryzyka naruszenia bezpieczeństwa
- Liczby zmian w danym systemie
rekomendujemy przeprowadzanie testów penetracyjnych cyklicznie z częstotliwością od 3 do 24 miesięcy.
Oferujemy wsparcie w tworzeniu strategii ciągłego monitorowania bezpieczeństwa.
Tak.
Stosujemy m.in. następujące zabezpieczenia zgodne z ISO 27001:
- Kontrola dostępu do serwerowni, serwerów, zasobów sieciowych, na których składowane są dane i raporty.
- Szyfrowanie dysków twardych.
- Szyfrowanie plików za pomocą PGP.
- Szyfrowanie załączników przesyłanych emailem za pomocą PGP.
- Szyfrowanie treści emaili.
- Ciągłe monitorowanie dostępu do danych i raportów.
- Itp.