Weryfikacja bezpieczeństwa aplikacji WWW

5 grudnia 2011

Można mieć odpowiednio zabezpieczoną serwerownię, utwardzone systemy operacyjne, separację uprawnień, najnowocześniejsze rozwiązanie IDS/IPS, zapory ogniowe itd., ale nie wolno zapominać o kodzie aplikacji. To właśnie witryna WWW jest interfejsem przeznaczonym do pracy z danymi. Jedną z metod weryfikacji stanu zabezpieczeń systemu informatycznego są tzw. testy bezpieczeństwa lub audyty bezpieczeństwa.

W większości przypadków aplikacje webowe są tworzone przez firmy zewnętrzne, więc ciężko jest samodzielnie określić czy zachowane zostały standardy tworzenia bezpiecznego oprogramowania. Nawet jeśli dostaniemy gwarancję na kod, to należy pamiętać, że coś co jest dzisiaj bezpieczne, jutro może okazać się ?dziurawe?. Bezpieczeństwo jest bowiem ciągłym procesem, który musi podlegać ciągłej weryfikacji. Z tego też powodu bardzo istotne stają się zapisy w umowach licencyjnych czy gwarancyjnych, dotyczące wprowadzania ewentualnych poprawek bezpieczeństwa czy możliwości audytu kodu.

Popularne i groźne luki

Analizując historię włamań hakerskich w 2011 roku, okazuje się, że wciąż (poza atakami socjotechnicznymi) bardzo popularne jest wykorzystywanie typowych i od lat znanych błędów programistycznych w aplikacjach WWW. Są to podatności typu SQL-Injection (~1999), XSS (~1996) czy CSRF (~2000). – Informacje o tych podatnościach w różnych produktach komercyjnych i opensource pojawiają się w Sieci niemal codziennie. Na bieżąco śledzą je cyberprzestępcy, którzy modyfikują swoje narzędzia i szukają nie zaktualizowanych witryn. To najczęstszy schemat ataków wykorzystujących luki w systemach informatycznych – tłumaczy Jerzy Patraszewski, certyfikowany specjalista bezpieczeństwa systemów informatycznych w firmie Hostersi.

XSS (Cross Site Scripting) to jeden z najbardziej znanych ataków na aplikacje internetowe. Skierowany jest głównie w użytkowników, a nie sam serwis. Atak polega na osadzeniu kodu (najczęściej JavaScript) w treści witryny, umożliwiając atakującemu modyfikację wyglądu serwisu WWW. Możliwe jest również przejęcie sesji użytkownika poprzez wykorzystanie przechwyconego ?ciasteczka? (cookie). Innym popularnym sposobem włamania jest SQL-Injection (wstrzyknięcie kodu SQL), który umożliwia manipulowanie rekordami znajdującymi się w bazie danych. Zazwyczaj właśnie w ten sposób dochodzi do kradzieży wrażliwych danych (dane osobowe, loginy, hasła, adresy email). Często przy wykorzystaniu podatności SQL-Injection hakowane są e-sklepy ? atakujący zwykle zmienia ceny produktów lub zdobywa dane klientów.

Spektakularne włamania, o których informują nas media, uświadamiają, że każdy może stać się celem ataku. Cyberwłamania trudno uniknąć w ogóle, ale można skutecznie ograniczać ryzyka podobnych zdarzeń. – Poza zabezpieczeniami fizycznymi serwerów i samych danych, zabezpieczeniami systemów operacyjnych oraz właściwą ochroną warstw sieciowej i aplikacji, należy również (a nawet przede wszystkim!) zadbać o bezpieczny kod ? zauważa Jerzy Patraszewski. – O kodzie aplikacji nie wolno zapominać, ponieważ witryna WWW jest interfejsem przeznaczonym do pracy z danymi – stwierdza specjalista bezpieczeństwa systemów informatycznych i podkreśla, że bezpieczeństwo IT jest procesem ciągłym, który należy nieustannie weryfikować.

Audyty i testy bezpieczeństwa

Jedną z metod weryfikacji stanu zabezpieczeń systemu informatycznego są audyty i testy bezpieczeństwa. – Audyt bezpieczeństwa sprowadza się do sprawdzenia systemu zgodnie z wytycznymi czy też normami. Natomiast test bezpieczeństwa (w szczególności typu "black-box") ma na celu weryfikację stopnia zabezpieczenia systemu poprzez symulację działań potencjalnego agresora ? wyjaśnia Jerzy Patraszewski. – Testy bezpieczeństwa (nazywane też penetracyjnymi ? przyp. red.) dają więc kompleksową informację o podatnościach systemu na znane ataki zewnętrzne - dodaje.

Specjaliści zwracają jednak uwagę, że wykonanie testu bezpieczeństwa i wdrożenie ewentualnych zaleceń nie świadczy o tym, że badana witryna będzie bezpieczna. – Niezależnie od sposobu przeprowadzania testu (?black-box? czy ?white-box? ? przyp. red.) stan zabezpieczeń jest sprawdzany i aktualny jedynie ?tu i teraz?. A to dlatego, że cały czas powstają nowe podatności i sposoby ich wykorzystania, tzw. wektory ataku ? przypomina Jerzy Patraszewski. – Dlatego testy bezpieczeństwa powinny być wpisane na stałe jako element okresowego audytu zabezpieczeń w firmie ? radzi ekspert firmy Hostersi.

Testy bezpieczeństwa można wykonywać za pomocą gotowych narzędzi, ale najbardziej precyzyjne są oczywiście te wykonywane przez człowieka (tzw. pen-testera). To wydatek jednorazowy, rzędu od kilkuset do nawet kilkudziesięciu tysięcy złotych. Cena uzależniona jest przede wszystkim od rodzaju zastosowanych narzędzi badawczych i rodzaju testowanego systemu. Najczęściej testy bezpieczeństwa kojarzą się z badaniem bezpieczeństwa aplikacji webowych, jednak można (a nawet trzeba) wykonywać je również dla pozostałych elementów systemu.

* * *

Najsłynniejsze włamania hakerskie w 2011 roku
W 2011 roku ofiarami hakerów padły znane marki (np. Sony, kwiecień 2011), instytucje rządowe (CIA, senat USA, czerwiec 2011) czy finansowe (Citigroup w USA, czerwiec 2011). Były one dziełem grup LulzSec i Anonymous. Również w Polsce hakerzy dali o sobie znać. Tzw. scripts-kiddies (wykorzystujący gotowe narzędzia automatycznie skanujące podatności) dokonali zmasowanej podmiany kilkuset witryn samorządowych (wrzesień, 2011).

Case Studies
Referencje

Rekomendujemy firmę Hostersi Sp. z o.o. jako odpowiedzialnego i wykwalifikowanego partnera, dbającego o wysoki poziom obsługi klienta. Zlecenie zostało wykonane profesjonalnie, według najlepszych standardów, w bardzo krótkim czasie.

Paweł Rokicki
Managing Director
W skrócie o nas
Specjalizujemy się w dostarczaniu rozwiązań IT w obszarach projektowania infrastruktury serwerowej, wdrażania chmury obliczeniowej, opieki administracyjnej i bezpieczeństwa danych.