Przejdź do treści
CFCyberFabrica

Audyt bezpieczeństwa aplikacji — OWASP ASVS / MASVS / AISVS

Twoja aplikacja powstała w trzy tygodnie, luka bezpieczeństwa też

Aplikacja powstała szybko, często z pomocą AI. W 14 dni sprawdzamy ją od środka: kod, zależności, konfigurację i działające środowisko. Dostajesz raport z priorytetami i plan napraw, którym odpowiesz klientowi, inwestorowi albo własnemu zespołowi.

10 lat w cybersecurity i software engineering

OWASP ASVS, MASVS, AISVS

ISO/IEC 27001, ISO 22301

Czego nie widać

Działa, ale czy jest bezpieczna?

Aplikacja się kompiluje, użytkownicy się logują, klient jest zadowolony. Problem w tym, że nikt poza AI nie sprawdził aplikacji pod kątem cyberzagrożeń.

Autoryzacja jest w interfejsie, nie na serwerze

Przycisk został ukryty przed zwykłym użytkownikiem, ale endpoint dalej odpowiada każdemu zalogowanemu. W praktyce oznacza to, że dane finansowe albo dane innych klientów są jedno żądanie od wycieku.

Sekrety trafiły tam, gdzie było najszybciej

Klucz API w kodzie frontu, token w repozytorium, zmienna środowiskowa z prefiksem, który wypycha ją do przeglądarki. Każdy, kto otworzy narzędzia deweloperskie, ma to samo co Ty.

Nikt nie sprawdził tego, czego nie napisaliście

Zależności, obrazy kontenerów, konfiguracja serwera i nagłówki przeglądarki są w projekcie od pierwszego dnia i od pierwszego dnia nikt ich nie przejrzał. Podatność w bibliotece jest Twoją podatnością.

Zwykle dowiadujesz się o tym w najgorszym momencie: przy pierwszym kliencie enterprise, który przysyła ankietę bezpieczeństwa, przy due diligence przed rundą albo przy incydencie, którego nie umiesz odtworzyć, bo nie ma logów.

Co sprawdzamy

Pełny audyt, nie skan

Skaner pokaże listę alertów. My przechodzimy przez 10 etapów, ręcznie weryfikujemy każde znalezisko i odrzucamy fałszywe trafienia. Ty dostajesz listę rzeczy, które naprawdę są podatne — a nie 200 pozycji do samodzielnego przesiania.

01

Architektura i przepływy danych

02

Skanowanie sekretów

03

Statyczna analiza kodu (SAST)

04

Zależności i SBOM (SCA)

05

Kontenery i infrastruktura jako kod

06

Ręczny przegląd kodu

07

Uwierzytelnianie i autoryzacja

08

Zgodność z OWASP ASVS L2

09

Modelowanie zagrożeń (STRIDE)

10

Testy dynamiczne (DAST)

Audyt vs pentest

Pentest szuka dziury, audyt mówi, co z tym zrobić

Audyt CyberFabrica

Punkt widzenia
Atakujący z zewnątrz + przegląd kodu i konfiguracji od środka
Dostęp
Kod, zależności, kontenery, konfiguracja wdrożenia
Wynik
Lista podatności z priorytetami, przypisanym ryzykiem biznesowym i planem naprawczym
Standard
OWASP ASVS / MASVS / AISVS, OWASP Top 10, STRIDE, CWE
Co dalej
Zmiany możesz wdrożyć samodzielnie albo możemy Ci w tym pomóc
Czas
14 dni od startu do raportu i calla

Przykładowe podatności

Sześć rzeczy, które najczęściej znajdujemy w aplikacjach zbudowanych szybko

To nie są teoretyczne przykłady z podręcznika. To klasy podatności, które regularnie wychodzą w audytach aplikacji tworzonych z pomocą AI i no-code. Przeczytaj i sprawdź u siebie — kilka z nich zweryfikujesz w pięć minut, bez naszej pomocy.

CriticalBrak kontroli uprawnień na widoku danych finansowych

Problem

Widok z budżetami, marżami albo stawkami jest ukryty w menu dla zwykłego użytkownika, ale sama strona i endpoint nie sprawdzają roli.

Jak to wygląda w praktyce

Zalogowany pracownik wpisuje adres widoku ręcznie i dostaje pełne dane. Nie potrzebuje żadnego narzędzia hakerskiego, wystarczy pasek adresu.

Czym to grozi

Wyciek danych finansowych i płacowych wewnątrz organizacji, ryzyko przekazania ich konkurencji przez odchodzącego pracownika.

CriticalZłośliwy kod wstrzyknięty przez zwykłe pole formularza (Stored XSS)

Problem

Nazwa klienta, projektu albo komentarz są zapisywane bez oczyszczenia i renderowane później w raporcie lub eksporcie.

Jak to wygląda w praktyce

Użytkownik o niskich uprawnieniach wpisuje kod w nazwę rekordu. Kod wykonuje się w przeglądarce administratora, kiedy ten otwiera raport.

Czym to grozi

Przejęcie sesji administratora: zmiana ról, tworzenie kont, usuwanie danych. Pełna utrata kontroli nad systemem bez jednego ataku od zewnątrz.

HighKlucze API i sekrety w kodzie dostarczanym do przeglądarki

Problem

Klucz do usługi zewnętrznej albo token bazy danych zostaje w kodzie frontu lub w historii repozytorium, bo „na razie tak było szybciej”.

Jak to wygląda w praktyce

Każdy odwiedzający otwiera narzędzia deweloperskie i odczytuje klucz. Usunięcie go z bieżącej wersji nie pomaga, bo w historii commitów wciąż jest.

Czym to grozi

Obce zużycie Twojego limitu i rachunku, dostęp do danych po stronie usługi zewnętrznej, konieczność rotacji wszystkich sekretów pod presją czasu.

HighOdebranie uprawnień nie kończy aktywnej sesji

Problem

Rola użytkownika jest zapisana w tokenie sesji o długim czasie życia i nie jest weryfikowana przy każdym żądaniu.

Jak to wygląda w praktyce

Odbierasz komuś dostęp, panel pokazuje niższą rolę, a jego zalogowana przeglądarka działa dalej ze starymi uprawnieniami nawet przez wiele dni.

Czym to grozi

Reagujesz na incydent i jesteś przekonany, że zagrożenie zostało odcięte, podczas gdy atakujący nadal ma dostęp.

MediumBrak limitu prób logowania i możliwość ustalenia istniejących kont

Problem

Formularz logowania przyjmuje nieograniczoną liczbę prób, a komunikat błędu inaczej brzmi dla istniejącego, a inaczej dla nieistniejącego adresu.

Jak to wygląda w praktyce

Automat najpierw ustala listę prawdziwych adresów e-mail w systemie, potem spokojnie testuje na nich wyciekłe hasła.

Czym to grozi

Przejęcie kont użytkowników, którzy używają tego samego hasła w kilku serwisach — czyli większości.

MediumBiblioteki ze znanymi podatnościami i wersje beta w produkcji

Problem

Projekt zaciąga kilkaset zależności, część z nich ma opublikowane podatności, część jest przypięta do wersji testowej z otwartym zakresem aktualizacji.

Jak to wygląda w praktyce

Podatność jest publicznie opisana i ma gotowy exploit, zanim ktokolwiek w zespole zauważy, że dana biblioteka w ogóle jest w projekcie.

Czym to grozi

Atak nie wymaga znajomości Twojej aplikacji — wystarczy, że skaner rozpozna wersję komponentu.

Poznaj stan swojej aplikacji zamiast zgadywać.

Umów konsultację

Jak działamy

Cztery kroki, 14 dni

  1. 0130 minut

    Bezpłatna konsultacja

    Pokazujesz aplikację, my mówimy, ile ma modułów w rozumieniu audytu i co dokładnie da się sprawdzić.

  2. 021–2 dni

    Zakres i umowa

    Podpisujemy NDA, ustalamy zakres i to, czego nie ruszamy. Testy prowadzimy wyłącznie na środowisku testowym z danymi syntetycznymi, nigdy na produkcji z danymi Twoich klientów.

  3. 03do 14 dni

    Audyt

    10 etapów: od mapowania architektury, przez sekrety, SAST, zależności i kontenery, ręczny przegląd kodu wg ASVS i modelowanie zagrożeń, po testy dynamiczne i ręczną weryfikację każdego znaleziska.

  4. 0460 minut

    Raport i call

    Dostajesz raport z podsumowaniem zarządczym, listą znalezisk z priorytetami i planem naprawczym. Omawiamy go na żywo, po ludzku. Jeśli chcesz, pomożemy Ci wdrożyć poprawki.

Referencja

Jesteśmy zadowoleni z audytu. Byliśmy pozytywnie zaskoczeni obszernością raportu oraz konkretnością rekomendacji, które otrzymaliśmy.

Audyt robi duże wrażenie, naprawdę świetna i przydatna dla nas praca. Będziemy wdrażać z zespołem krok po kroku uwagi CyberFabrica.

Maciej Kowalski, ESG ManagerArtha AS

Zespół

Kim jesteśmy

Audyt prowadzi zespół z 10-letnim doświadczeniem po obu stronach: w cyberbezpieczeństwie i w software engineeringu. To rzadkie połączenie i ono decyduje o różnicy — rozumiemy nie tylko, że coś jest podatne, ale też ile kosztuje naprawa, co się zepsuje przy okazji i co można bezpiecznie odłożyć na później. Dlatego raport, który dostajesz, jest planem pracy dla Twojego zespołu, a nie listą alertów do przetłumaczenia.

ISO/IEC 27001

Systemy zarządzania bezpieczeństwem informacji.

ISO 22301

Ciągłość działania.

OWASP ASVS / MASVS / AISVS

Standardy weryfikacji bezpieczeństwa aplikacji.

FAQ

Najczęstsze pytania o audyt

Czy testujecie na naszej produkcji?

Nie. Testy dynamiczne prowadzimy na środowisku testowym z danymi w pełni syntetycznymi. Dane Twoich klientów nie są używane ani narażane, a zakres testów destrukcyjnych ustalamy z Wami na piśmie przed startem.

Musimy dać wam dostęp do kodu?

Tak, i to jest właśnie różnica między audytem a skanem z zewnątrz. Wystarczy dostęp tylko do odczytu. Zakres poufności regulujemy NDA przed przekazaniem czegokolwiek.

Aplikację wygenerowała nam AI i nikt z nas nie zna jej kodu na wylot. To problem?

To codzienność naszych klientów. Mapowanie architektury jest pierwszym etapem audytu właśnie po to, żeby nie trzeba było umieć nam tego opowiedzieć.

Ile to trwa?

14 dni od startu do raportu i calla omawiającego.

Co dokładnie dostaję na końcu?

Raport w PDF: podsumowanie zarządcze dla osoby nietechnicznej, lista znalezisk z istotnością, priorytetem i dowodem, plan naprawczy w fazach oraz ocenę zgodności z OWASP ASVS. Do tego 60-minutowy call, na którym to omawiamy.

Naprawiacie znalezione podatności?

Tak, to opcja dodatkowa. Możemy wdrożyć poprawki i po nich wykonać retest, który potwierdza, że problem faktycznie zniknął.

Co jeśli nic nie znajdziecie?

Dostajesz raport, który możesz pokazać klientowi, inwestorowi albo ubezpieczycielowi — z zakresem, datą i oceną zgodności ze standardem. Brak znalezisk o istotności High i Critical to też wynik, i taki dokument ma wartość sam w sobie.

Czym to się różni od testów penetracyjnych?

Pentest sprawdza, co da się wykorzystać z zewnątrz. Audyt obejmuje dodatkowo kod, zależności, konfigurację i zgodność ze standardem, i kończy się planem naprawczym, a nie samą listą podatności.

Czy audyt pomoże nam przy ankiecie bezpieczeństwa od klienta albo przy due diligence?

Do tego jest raport wobec uznanego standardu. Zamiast odpowiadać „staramy się”, pokazujesz dokument z datą, zakresem i statusem napraw.

Kontakt

Zacznij od bezpłatnej konsultacji

30 minut rozmowy. Pokazujesz, co zbudowałeś, my mówimy, jaki byłby zakres audytu i ile kosztuje. Bez zobowiązania i bez oferty na 20 slajdów.

  • Konkretna cena podczas rozmowy
  • NDA przed przekazaniem czegokolwiek
  • Odpowiadamy w 1 dzień roboczy