Legalny haker opowiada, co mogą wykraść hakerzy z wirtualnych sklepów, jak działają hakerzy i jak sprawdzić czy e-sklep jest bezpieczny.

 

Rynek e-commerce w Polsce rośnie jak na drożdżach, to znaczy w tempie 15-20% rocznie. Powstaje coraz więcej wirtualnych sklepów i równolegle coraz więcej ludzi kupuje on-line. Jak wynika z raportu przeprowadzonego przez Gemius, już prawie połowa polskich internautów kiedykolwiek dokonała zakupów w e-sklepach. Co więcej  33% osób kupujących przez Internet, robi to za pomocą urządzeń mobilnych.*

Na wzrost popularności e-commerce i m-commerce zacierają ręce nie tylko przedsiębiorcy i klienci, ale także Ci, stojący po ciemnej stronie mocy, czyli hakerzy i oszuści internetowi. Co mogą wykraść z e-sklepu hakerzy? W jaki sposób działają? I najważniejsze, jak się przed nimi bronić?  Opowiada Sebastian Gilon, pentester pracujący w firmie Testuj.pl

Co mogą wykraść hakerzy z wirtualnych sklepów lub w jaki sposób mogą zaszkodzić przedsiębiorcom?

Pierwsze co nasuwa się na myśl to dane osobowe klientów takie jak loginy, maile, numery telefonów i ich adresy zamieszkania (podawane jako adres dostawy). W przypadku sklepów, które wymagają potwierdzenia tożsamości kupującego np. wysłania skanu dowodu lub legitymacji studenckiej, hakerzy mogą uzyskać dużo więcej informacji np. adres zameldowania, czy nawet pesel. Zgromadzone dane klientów, wykorzystują do własnych celów lub sprzedają na czarnym rynku.

Równie poważna, a na pewno droższa w konsekwencjach, może okazać się kradzież danych autoryzacyjnych do systemów płatniczych typu Paypal. Mam na myśli tutaj kradzież danych właściciela serwisu. Jeśli haker wydobędzie takie dane, będzie mógł zalogować się do systemu płatniczego i przelać wszystkie środki zgromadzone od klientów na swoje osobiste konto.

Oprócz tego sprytni oszuści są w stanie przejąć dane logowania do panelu administracyjnego wirtualnego sklepu i wówczas na przykład przekierować paczkę na inny adres.

Warto zdać sobie sprawę, że hakerzy są w stanie zaatakować e-commerce na wiele sposobów, nie tylko kradnąc dane. Inną formą szkody dla przedsiębiorcy (poza kradzieżą) jest na przykład podmiana zawartości strony lub w gorszym przypadku zainfekowanie sklepu. W takim zainfekowanym sklepie wystarczy, że klient kliknie na wybrany link, a wówczas wirus przejdzie na jego komputer. Co dzieje się potem? Komputer klienta zaczyna służyć celom przestępczym.

Do innych częstych przewinień możemy zaliczyć włamania do backendu strony lub  zdobycie jej kodu źródłowego. W takiej sytuacji okazuje się, że cała praca programistów poszła na marne, bo hakerzy mogą ją skopiować, przeanalizować lub po prostu odsprzedać na czarnym rynku.

Jak działają hakerzy? Jakich metod używają i jak udaje im się wykraść poufne dane?

Metod ataku jest niezliczona ilość i w zasadzie zależą one od poświęconego czasu i inwencji twórczej hakerów. Najczęściej jednak hakerzy bazują na błędach i lukach w oprogramowaniu, których nie przewidzieli programiści. Do takich błędów możemy zaliczyć:

- błędy typu XSS, które umożliwiają wydobycie ciasteczka (cookie) użytkownika i przejęcie kontroli nad jego kontem. Fatalnie, gdy tym użytkownikiem okazuje się być administrator. Jak w praktyce może wyglądać taki atak? Haker umieszcza w komentarzu pod wybranym produktem skrypt, który wykona się po stronie administracyjnej. To spowoduje pobranie wartości ciasteczek administracyjnych. W efekcie haker posiadający cookie będzie miał dostęp do panelu administracyjnego bez użycia loginu i hasła i tam dokonać spustoszenia.

- błędy typu RCE, czyli błędy umożliwiające zdalne wykonanie poleceń w systemie, z poziomu uprawnień zwykłego użytkownika.

Zdarza się, że po prostu nikt nie sprawdził i dostatecznie nie przetestował oprogramowania. I tak, czasem, wystarczy podmienić ID klienta w adresie URL, na stronie pobierania faktury, by uzyskać dostęp do poufnych danych innego klienta.

Do ataków często są również wykorzystywane nieaktualizowane różnego rodzaju skrypty np. generator pdf.

Jak wobec tego przedsiębiorcy mogą zabezpieczać się przed atakami?

Przede wszystkim należy zadbać o przetestowanie systemu płatniczego i sprawdzenie w jaki sposób potwierdzana jest płatność. Z reguły potwierdzanie płatności odbywa się przy użyciu tzw. web serwisów, które otrzymują dane od systemów płatniczych i ustalają, że płatność została wykonana na podstawie otrzymanych danych.

Hakerzy mogą spróbować ataków na web serwisy i tym samym wysyłać do sklepu potwierdzenie płatności. W takim wypadku właściciel sklepu otrzyma informację, że płatność została zrealizowana, mimo tego, że nigdy nie została nawet rozpoczęta.

Wniosek jest jeden. Warto, a nawet trzeba porządnie testować systemy płatnicze, sprawdzać ich opinie i co najważniejsze implementować je poprawnie, zgodnie z dokumentacją.

W kwestii bezpieczeństwa sklepów, standardem w tej chwili jest posiadanie certyfikatu SSL/TLS i nie wyobrażam sobie, aby jakikolwiek sklep go nie miał. Protokół SSL/TLS umożliwia szyfrowanie komunikacji,  co chroni przed podsłuchaniem połączenia tzn. jeśli łączymy się z Internetem, przez nieznaną sieć wi-fi np. z kawiarni i dokonujemy zakupu w wirtualnym sklepie, a połączenie jest szyfrowane - oznacza to, że w miarę bezpiecznie możemy się zalogować i dokonać zakupu. Jeśli nie ma takiego połączenia możemy być pewni, że dane, przesyłane przez sieć wi-fi, są widoczne dla wszystkich. Aby upewnić się, że sklep posiada certyfikat SSL wystarczy spojrzeć na adres url. Wszystkie adresy rozpoczynające się od: https://, (a nie http://) są szyfrowane – nie oznacza to jednak, że wszystkie elementy strony są przesyłane w sposób szyfrowany, i że cała komunikacja jest szyfrowana.

Inną metodą połowicznego radzenia sobie z atakami jest używanie oprogramowania WAF (Web Application Firewall). Jest to system ochrony aplikacji webowych, tj. stron internetowych. Taki system kontroluje wszystkie treści wchodzące do witryny i dzięki temu wykrywa i niweluje próby ataków. WAF natomiast nigdy nie daje 100% gwarancji bezpieczeństwa i zawodowcy potrafią ominąć filtry, które stosuje. Co więcej podczas używania oprogramowania mogą pojawić się wyniki tzw. false positive, to znaczy że otrzymamy informację o próbie ataku, podczas gdy była wykonywana normalna transakcja.

Prowadząc e-commerce warto ustalić odpowiednią politykę bezpieczeństwa. Nie należy przechowywać haseł w formie plaintext (czystego tekstu) w bazie danych. Sporym ryzykiem jest przesyłanie nowych haseł klientów na ich poczty e-mailowe. Nawet jeśli sklep oferuje najwyższe standardy bezpieczeństwa, to nigdy nie wiadomo jak jest z pocztą klienta i może się okazać że agresor włamie się i odczyta zgromadzone tam dane.

Dodatkowo warto wymuszać na użytkownikach korzystania z silnych haseł (użycie jednocześnie dużych i małych liter, cyfr i znaków specjalnych).

Nie radzę korzystać z prostych metod hashowania haseł, takich jak MD5. Łamanie tak zapisanych haseł często zajmuje poniżej 1 sekundy.

Nie można również zapominać o bieżących i regularnych backup’ach, koniecznie trzymanych na innych serwerach niż sklep.

Dodatkowym zabezpieczeniem może okazać się także wieloskładnikowa autoryzacja, czyli kilkakrotne potwierdzenie tożsamości użytkownika np. za pomocą hasła i dodatkowo przy użyciu sms’a. Jednak według mnie, w biznesie e-commerce metoda ta jest zbyt skomplikowana i powoduje tylko zniechęcenie użytkowników i ich wyjście ze sklepu.

W temacie bezpieczeństwa e-commerce warto poruszyć jeszcze temat wyboru hostingu. Wielu właścicieli prostych i małych e-commerse’ów decyduje się na hosting współdzielony, to znaczy, że dzielą swój serwer z innymi użytkownikami. Tymczasem nieumiejętne zarządzanie takim serwerem, powoduje, że dane, które się tam znajdują, mogą być dostępne dla innych użytkowników.

W jaki sposób właściciele e-commersów mogą sprawdzić, czy ich sklep jest dostatecznie bezpieczny?

Zlecając pentesterom wykonanie testów bezpieczeństwa. Pentester to legalny haker, który na zlecenie klientów ocenia bezpieczeństwo strony, aplikacji lub systemu i …wykonuje ataki hakerskie (oczywiście kontrolowane).

Tego typu ataki, to inaczej testy penetracyjne i można je wykonywać na 3 sposoby:

- metodą czarnej/ białej lub szarej skrzynki

Najciekawsza z nich jest ta pierwsza, ponieważ pentester (testując metodą czarnej skrzynki), nie otrzymuje żadnych uprawnień do strony i musi sobie poradzić posiadając jedynie informacje, dostępne z poziomu zwykłego użytkownika. Podczas takich testów badane są wszystkie funkcjonalności oprogramowania, dostępne z poziomu użytkownika gość, następnie z poziomu użytkownika zalogowanego i zarejestrowanego.

Przy okazji, badając wiele e-commerców z poziomu użytkownika zarejestrowanego, bez problemu miałem dostęp do adresów innych użytkowników, ich danych kontaktowych lub nawet całych faktur, zawierających ceny, produkty, rabaty i wykorzystane kody.

Wracając do testów penetracyjnych, realizując je, próbuję uzyskać dostęp do panelu administracyjnego, sprawdzam siłę haseł. Dodatkowo badam bezpieczeństwo serwera, czy dane przechowywane są tam w odpowiedni sposób, czy nie ma dostępu do plików tymczasowych lub do plików użytkowników. I wiele innych.

Po przeprowadzonych testach pentesterzy generują raport, który następnie przekazują klientowi i jego deweloperom. Z reguły raport taki zawiera: kompleksowy spis znalezionych błędów i defektów, ocena zagrożenia, tagi określające rodzaj podatności (luk), dokładne kroki reprodukcji (zawierające części kodu i screenshoty) oraz sugerowane metody naprawy.

Co się dzieje potem?

Informacje, które są przedstawione w raporcie są wystarczające, aby deweloperzy zrozumieli na czym polega błąd i zrozumieli jego krytyczność. Instrukcja naprawy umożliwia im wdrożenie mechanizmów naprawczych błędu.

Czy przeprowadzane testy bezpieczeństwa są bezpieczne?

Tak są bezpieczne, a przede wszystkim są potrzebne.
Do przeprowadzania takich testów z reguły tworzy się odpowiednie środowisko, tak aby testując nie przeciążyć bazy danych, nie utracić danych użytkowników, lub nie spowodować innych błędów krytycznych w skutkach. Ale oczywiście są też testy, które odbywają się na produkcji, z zachowaniem odpowiednich procedur.

Warto zaznaczyć, że wszystkie wycieki danych niezależnie od testowanego środowiska, są wysyłane za pomocą bezpiecznego połączenia i pod okiem pentestera, na serwer. Nie ma też obawy, że uzyskane dane kiedykolwiek zobaczą światło dzienne, gdyż podczas testów są przechowywane w szyfrowanych wolumenach, a po skończonych testach są usuwane.

hacker1-1.png

Niestety ataki hakerskie: były, są i będą. Nie można im zapobiec, ale można się przed nimi uchronić.

W przypadku e-commerce’ów jest to szczególnie ważne, bo ceną za „nic nie robienie”, może być utrata dużych pieniędzy, danych klientów i przede wszystkim wizerunku firmy. A tego ostatniego nie odbuduje się łatwo i szybko.

Na koniec warto pamiętać o wchodzących w życie przepisach Rozporządzenia Parlamentu Europejskiego i Rady w sprawie ochrony osób fizycznych, w związku z przetwarzaniem danych osobowych.

Potocznie RODO (GDPR – General Data Protection Regulation), które będzie obowiązywać od 26 maja 2018 r., obliguje wszystkich przedsiębiorców do wdrożenia dostatecznych środków ochrony danych.

Warto zatem pomyśleć o bezpieczeństwie już dziś.

* według badania Mobile Institute "Płatności cyfrowe 2016"