Audyty bezpieczeństwa aplikacji webowych i sklepów
Testujemy aplikacje webowe, API i sklepy na WordPressie lub WooCommerce tak, jak zrobiłby to atakujący, przeglądamy kod i konfigurację serwera i przekazujemy raport, który mówi, co naprawić najpierw. Po poprawkach testujemy ponownie. Pracujemy wyłącznie na podstawie pisemnej zgody właściciela systemu.
Kiedy audyt się opłaca
Problemy z bezpieczeństwem rzadko dają o sobie znać same. Audyt zwykle wywołuje jakaś zmiana: start produktu, odejście kogoś z zespołu, pytanie od partnera.
- Odszedł programista i nie macie pewności, które klucze i dostępy odeszły razem z nim
- Produkt zaraz startuje, a nikt nie spojrzał na niego oczami atakującego
- Partner, inwestor lub klient korporacyjny prosi o dowód, że platforma została przetestowana
- Sklep działa na dziesiątkach wtyczek, a w jednej z nich właśnie opublikowano podatność
- Produkt jest zbudowany na starym frameworku, którego nikt w zespole nie chce dotykać
- Naprawiliście problemy z poprzedniego audytu i potrzebujecie kogoś, kto potwierdzi, że są zamknięte
Co sprawdzamy
Testy aplikacji webowych
Ręczne testy aplikacji i jej logiki biznesowej: kontrola dostępu, obsługa danych wejściowych, przesyłanie plików, sesje oraz procesy, w których przepływają pieniądze lub dane osobowe.
API i uwierzytelnianie
Logowanie, reset hasła, obsługa tokenów i JWT, role i uprawnienia. Sprawdzamy, czy jeden użytkownik może dostać się do danych innego, zmieniając identyfikator w zapytaniu.
WordPress i WooCommerce
Wtyczki i motywy ze znanymi podatnościami, dostęp do panelu, odsłonięte pliki i konfiguracja oraz logika zamówień, taka jak ceny, kupony i zmiany statusów zamówień.
Przegląd kodu pod kątem bezpieczeństwa
Czytamy kod i jego historię w poszukiwaniu sekretów w repozytorium, niebezpiecznych zapytań, brakujących sprawdzeń i przestarzałych bibliotek, także w starych stosach, których nikt nie przeglądał od lat.
Zabezpieczenie serwera
Reguły SSH i firewalla, otwarte porty, TLS, nagłówki bezpieczeństwa, uprawnienia do bazy danych i plików, kopie zapasowe przechowywane poza serwerem i ochrona przed atakami brute force, która nie blokuje Waszego własnego biura.
Ponowny test
Gdy Wasz lub nasz zespół naprawi wykryte problemy, testujemy każdy z nich ponownie i aktualizujemy raport o jego status.
Czego nie robimy
Te zasady są częścią każdej umowy i nie podlegają negocjacji.
- Nie testujemy żadnego systemu bez pisemnej zgody jego właściciela
- Nie przeprowadzamy testów obciążeniowych ani testów odmowy usługi na produkcji bez osobnej umowy
- Nie przekazujemy wyników nikomu poza osobami kontaktowymi wskazanymi w umowie
- Nie przechowujemy Waszych danych ani kont testowych po zakończeniu pracy
Raport, który mówi, co naprawić najpierw
Lista dwustu ostrzeżeń ze skanera nie pomaga zespołowi zdecydować, co robić w poniedziałek. Nasz raport ocenia każdy problem według krytyczności w skali CVSS, pokazuje dowody, na przykład zapytanie i odpowiedź potwierdzające problem, wyjaśnia, jak go odtworzyć, i mówi, jak go naprawić. Właściciel dostaje podsumowanie dla zarządu napisane prostym językiem, a programiści plan napraw uszeregowany według ryzyka i nakładu pracy.
- Problemy ocenione w skali CVSS i uszeregowane według ryzyka
- Dowody i kroki odtworzenia dla każdego problemu
- Podsumowanie dla właściciela
- Plan napraw, według którego programiści mogą pracować
Gdzie zwykle kryją się poważne problemy
Automatyczne skanery znajdują przestarzałe wersje. Problemy, które pozwalają przejąć konta, są zwykle gdzie indziej: API, które zwraca zamówienie innego klienta po zmianie numeru w zapytaniu, klucz do podpisywania dodany do repozytorium lata temu, ścieżka panelu administracyjnego, która sprawdza zalogowanie, ale nie rolę, koszyk, który ufa cenie przesłanej przez przeglądarkę, plik kopii zapasowej pozostawiony w publicznym katalogu. Znalezienie ich wymaga człowieka, który czyta kod i ręcznie przechodzi przez procesy, i właśnie tak testujemy.
- Kontrola dostępu sprawdzona przy każdym wrażliwym zapytaniu
- Historia repozytorium przeszukana pod kątem sekretów i kluczy
- Logika płatności i zamówień przetestowana ręcznie
- Znalezione zapomniane pliki, endpointy i tryby debugowania
Ponowny test i zabezpieczenie, żeby raport nie był końcem
Audyt się opłaca dopiero wtedy, gdy problemy zostaną zamknięte. Po poprawkach ponownie testujemy każdy z nich i oznaczamy go jako zamknięty, częściowo naprawiony lub wciąż otwarty. Jeśli chcecie, poprawki wprowadzają nasi programiści, a nasz zespół serwerowy zabezpiecza infrastrukturę: dostęp wyłącznie przez klucze, firewall, który wystawia tylko to, co musi być publiczne, aktualny TLS, osobni użytkownicy bazy danych z minimalnymi uprawnieniami i kopie zapasowe trzymane z dala od serwera, który chronią.
- Każdy problem ponownie przetestowany po poprawkach
- Zaktualizowany raport ze statusem każdego punktu
- Poprawki wprowadzane przez naszych programistów, jeśli wolicie
- Zabezpieczenie serwera w ramach tej samej pracy
Jak przebiega audyt
Zakres i zgoda
Uzgadniamy, co testujemy, skąd i kiedy, a właściciel systemu podpisuje pisemne upoważnienie. Wy przekazujecie konta testowe, a przy przeglądzie kodu także dostęp do repozytorium.
Testy
W uzgodnionym zakresie mapujemy aplikację, testujemy ją ręcznie i przeglądamy kod oraz konfigurację serwera. O wszystkim krytycznym informujemy Was od razu, a nie dopiero w raporcie.
Raport
Dostajecie problemy ocenione w skali CVSS, dowody, poprawki, podsumowanie dla zarządu i plan napraw, a my omawiamy je z Waszym zespołem.
Poprawki
Wasi lub nasi programiści realizują plan w kolejności od największego ryzyka.
Ponowny test
Ponownie testujemy każdy problem i wydajemy zaktualizowany raport ze statusem każdego z nich.
Co testujemy i według jakich standardów
Standardy
- OWASP Top 10
- OWASP API Security Top 10
- CVSS
- CWE
Aplikacje
- Aplikacje webowe i panele administracyjne
- REST API
- Uwierzytelnianie JWT i sesyjne
- Headless CMS, np. Payload i Next.js
Platformy i stosy
- WordPress i WooCommerce
- PHP, Laravel, Yii2
- Ruby on Rails
- Node.js
Infrastruktura
- Serwery Linux
- nginx
- SSH i firewall
- TLS i nagłówki bezpieczeństwa
Formy współpracy
Audyt z ponownym testem
Stały zakres: testy, raport i ponowny test po tym, jak Wasz zespół naprawi problemy.
Audyt i poprawki
Testujemy, naprawiamy problemy w kodzie i na serwerze i potwierdzamy to ponownym testem.
Regularne przeglądy
Przegląd przed większymi wdrożeniami lub według harmonogramu, często w połączeniu z utrzymaniem strony lub administracją serwerami.
Zobacz także: Testowanie i QA · Administracja serwerami · Utrzymanie stron internetowych
Opinie
Zespół Revol stale usprawnia prace rozwojowe klienta dzięki wysokiej jakości pracy i niezawodnemu wsparciu. Sprawnie się komunikuje i doskonale rozumie potrzeby oraz biznes klienta.
Tomas
Praca Revol w pełni spełniła oczekiwania i zadowoliła klienta. Świeże podejście i stała gotowość do wsparcia okazały się ogromnym atutem. Kto szuka komunikatywnego, zorientowanego na klienta zespołu do realizacji swoich celów, może śmiało na nich postawić.
Andrey
Najczęściej zadawane pytania
Czy potrzebujecie naszej pisemnej zgody?
Tak, zawsze. Właściciel systemu podpisuje upoważnienie określające zakres, adresy i terminy. Jeśli system działa u dostawcy hostingu lub chmury, przestrzegamy też zasad tego dostawcy dotyczących testów bezpieczeństwa.
Czy testy zepsują naszą działającą stronę?
Granice uzgadniamy z wyprzedzeniem. Tam, gdzie to możliwe, testujemy na kopii testowej z tym samym kodem. Na produkcji korzystamy z kont testowych, unikamy destrukcyjnych działań i nie przeprowadzamy testów obciążeniowych bez osobnej umowy.
Czym to się różni od automatycznego skanowania podatności?
Skaner znajduje znane wersje i typowe błędy konfiguracji, i my też z nich korzystamy. Najważniejsze problemy, takie jak odczytanie danych innego użytkownika albo cena zmieniona w przeglądarce, wymagają człowieka, który rozumie aplikację i testuje ją ręcznie.
Co dokładnie otrzymujemy?
Raport, w którym każdy problem ma ocenę CVSS, dowody, kroki odtworzenia i sposób naprawy, podsumowanie dla zarządu i plan napraw. Po ponownym teście dostajecie zaktualizowaną wersję ze statusem każdego problemu.
Czy możecie naprawić to, co znajdziecie?
Tak. Nasi programiści mogą poprawić kod, a nasz zespół serwerowy zabezpieczyć infrastrukturę. Niektórzy klienci wolą, żeby poprawki robił ich zespół, a my je weryfikowali, i to działa równie dobrze.
Czy ponowny test jest częścią audytu?
Od początku uwzględniamy go w zakresie, bo audyt bez ponownego testu zostawia Was z pytaniem, czy poprawki zadziałały. Termin ponownego testu zależy od tego, jak szybko zostaną wprowadzone poprawki.
Jak postępujecie z naszymi danymi i wynikami?
Pracujemy na podstawie NDA, przekazujemy wyniki tylko osobom kontaktowym wskazanym w umowie, a po zakończeniu pracy usuwamy dane testowe i dostępy. Nigdy nie publikujemy szczegółów tego, co znajdziemy.
Czy to jest certyfikacja?
Nie. Nie jesteśmy jednostką certyfikującą, a raport nie jest certyfikatem zgodności. Może wesprzeć Waszą pracę nad zgodnością z przepisami i pokazuje partnerom, którzy proszą o dowód testów, co dokładnie i jak zostało sprawdzone.
Opowiedzcie nam o swoim projekcie
Opiszcie zadanie w kilku zdaniach. W ciągu jednego dnia roboczego odpowiemy pytaniami lub wstępną oceną zakresu i kosztów.
Wolicie e-mail lub rozmowę telefoniczną?
welcome@revolsource.com
+38 097 662 23 20
Revol Software OÜ, Tallin, Estonia. Nasz zespół jest rozproszony po całym świecie.
Dołączcie do naszego zespołu
Wyślijcie CV na adres career@revolsource.com