Ochrona aplikacji webowych

Aplikacje oparte na technice webowej stały się powszechnym elementem infrastruktur biznesowych. Z wprowadzeniem ich związane jest jednak duże ryzyko utraty bezpieczeństwa.

Aplikacje oparte na technice webowej stały się powszechnym elementem infrastruktur biznesowych. Z wprowadzeniem ich związane jest jednak duże ryzyko utraty bezpieczeństwa.

Duże wolumeny istotnych informacji wymienianych za pośrednictwem aplikacji webowych, przechowywane w bazach danych poza tymi aplikacjami, stanowią pokusę dla hakerów i wandali, którzy doskonale wiedzą, jak wykorzystać strukturalne i programowe wady tych rozwiązań. Ośrodki o małym ruchu, zwłaszcza te, które nie obsługują ruchu transakcyjnego, rzadko są przedmiotem zainteresowań hakerów. Natomiast ośrodki charakteryzujące się dużym ruchem i dużą oglądalnością prowokują wręcz do coraz wymyślniejszych ataków.

Aplikacyjne zapory ogniowe to najnowsza technologia stosowana do ochrony przed tymi zagrożeniami. Przyjrzyjmy się wynikom testów produktów przeznaczonych do ochrony aplikacji webowych: InterDo 3.0 firmy KaVaDo, NC-1000 Web Security Gateway V 3.5 - NetContinuum, AppShield 4.0 - Sanctum i Secure Application Gateway 100 - Teros.

Systemy te mogą stosować specjalne reguły w odniesieniu do ruchu specyficznego dla weba, z jednoczesnym utrzymaniem odpowiedniej wydajności sieci.

Pakiety pod lupą

Aplikacyjne zapory ogniowe tworzą posterunki ochronne, niezbędne w sytuacjach, kiedy szkodliwy ładunek przychodzi "opakowany" w struktury legalnego ruchu. Najbardziej niebezpieczne wykorzystanie luk w aplikacjach nie dotyczy rzeczy wykrywanych przez zwykłe zapory ogniowe, takich jak źle sformowany ruch sieciowy, zbyt długie pakiety, brak zgodności pomiędzy zawartością a adresem itp. Te wyrafinowane ataki wykorzystują specyficzne łańcuchy komend, podmianę cookies lub zmiany ukryte w różnych formach plików.

Strategia obronna aplikacyjnych zapór ogniowych polega na kontroli zawartości każdego pakietu i porównywaniu tego ładunku z regułami zgromadzonymi na podstawie obserwacji zwykłych transakcji pomiędzy użytkownikami a aplikacją. Pod lupę są brane obie strony transakcji, co pozwala rozpoznać ukryte ataki i nieoczekiwane zachowania. Im większy wolumen i znaczenie ruchu webowego, tym większe ryzyko utraty bezpieczeństwa - uzasadnione jest więc dodawanie dedykowanych rozwiązań do systemu ochrony aplikacji webowej.

Jest wiele podobieństwa w zakresie działania czterech prezentowanych produktów, jednak podstawowe różnice między nimi leżą w sposobie wykonywania tych funkcji. Produkty firm Teros i NetContinuum są dostępne wyłącznie w postaci urządzeń (appliance); KaVaDo i Sanctum udostępniają swoje produkty w dwóch formach: jako urządzenia lub zestawy programowe. Te dwie ostatnie firmy dostarczają także oprogramowanie skanujące, pomocne w rozpracowywaniu nieszczelności aplikacji webowych. Teros oferuje skaner jako produkt dodatkowy, a NetContinuum nie wykorzystuje w ogóle skanerów.

Wspólną cechą tych produktów jest to, że potrafią zatrzymać - nawet w skonfigurowaniu domyślnym - wiele popularnych form ataków stosowanych przez wandali i złodziei informacji. Ponadto wszystkie zawierają aplikacje zarządzające z interfejsem GUI i zakładają (całkiem słusznie), że przed zastosowaniem produktu w realnej sieci niezbędne są: intensywny trening i kastomizacja.

Wersje programowe produktów testowano na maszynie z dwoma procesorami Pentium III 800 MHz i 512 MB RAM, na której pracowały Gentoo Linux, VMWare i Windows 2000 Server. Produkty ochronne, aplikacje testowe i skanery umieszczono w bezpiecznej, izolowanej od dodatkowego ruchu, sieci. Aplikacje webowe użyte w testach to Web Goat, narzędzie szkoleniowe w zakresie ochrony z Open Web Application Security Project, napisane z uwzględnieniem większości luk spotykanych w aplikacjach webowych.

Typowe ataki na aplikacje webowe

XSS (Cross-Site Scripting) - skrypty przechodnie, relatywnie nowa kategoria ataku. Atakujący zagnieżdża informacje na stronie, która będzie prezentowana innym użytkownikom i spowoduje podjęcie akcji przez ich przeglądarki. Takie usterki bardzo często można znaleźć w aplikacjach typu "tablic ogłoszeniowych", a kradzież cookies jest najczęstszym atakiem wykorzystującym tę nieszczelność.

SQL Injection - iniekcja SQL. Atakujący ma możliwość zagnieżdżenia komend SQL wewnątrz komend lub zleceń przesyłanych do aplikacji. Tak zagnieżdżona kwerenda może skłonić serwer SQL do przesłania wartości szczególnych pól.

Manipulacja na polach zakrytych - niektóre elementy formularzy HTML są przesyłane do przeglądarki w postaci pól zakrytych, których nie można zmieniać po stronie klienckiej. Istnieją jednak programy i metody, które pozwalają na ich zmianę. Aplikacje, które nie kontrolują tych wartości, są nieszczelne.

Manipulacja parametrami - nazywana także "wykonywaniem komend". Za każdym razem, gdy parametr jest przekazywany bezpośrednio z aplikacji webowej do powłoki aplikacji, jest możliwe arbitralne wykonanie komendy bezpośrednio na serwerze.

Słabość cookies sesyjnych - klasa słabych punktów obejmująca sytuację, kiedy cookies przyjmują postać opartą na nazwach użytkowników lub innych oczywistych informacjach. Dotyczy to także cookies, które mogą być łatwo przejęte podczas sesji aplikacyjnej i użyte do ataku.

Komentarze HTML - projektanci bardzo często w fazie testowania i odpluskwiania dodają komentarze, które mogą zawierać informacje o logowaniach, konfiguracji serwerów zaplecza itp. Jeżeli informacje te nie zostaną usunięte w systemach produkcyjnych, stają się cenną wskazówką dla hakerów.

KaVaDo InterDo

Firma zakłada dwustopniowe podejście do ochrony aplikacji webowych. Po pierwsze, można skanować aplikacje pod kątem słabych punktów poprzez użycie ScanDo 2.0. Z chwilą wykrycia nieszczelności jako posterunek ochronny można uruchomić InterDo.

Ochrona aplikacji webowych

Umiejscowienie InterDo w sieci

Testowano formę programową produktu. Po instalacji sprawdzono najpierw ustawienia domyślne, a następnie sprawdzono sposoby kastomizowania ochrony. W stanie "domyślnym" produkt zatrzymuje wiele standardowych ataków, w tym iniekcje SQL, skrypty przechodnie i cookie słabego uwierzytelniania. Ustala także podstawowy zestaw polityk, które wymuszają zgodność ruchu HTTP i HTTPS z RFC - zestawem reguł, które mogą być bardzo restrykcyjne dla aplikacji. Realna wartość każdego produktu ochrony jest jednak pochodną możliwości jego przystosowania do specyficznych aplikacji. InterDo oferuje silne wspomaganie w tym zakresie, głównie dzięki przemyślnie zaprojektowanym kreatorom.

Zunifikowany zestaw reguł InterDo ustanawia akceptowane wzorce zachowań dla całego ruchu do i z aplikacji webowej, obejmującego zarówno HTTP, jak i HTTPS. Ustanawianie tych reguł obejmuje: definiowanie połączeń pomiędzy InterDo i aplikacją; specyfikowanie zachowań niedozwolonych (jak również, w niektórych przypadkach, zachowań dopuszczalnych) oraz wskazanie rodzaju akcji i powiadamiania, wymaganych od InterDo.

Ochrona aplikacji webowych

Podstawowe mechanizmy

Proces ten polega na rejestrowaniu transakcji wraz z proponowanymi odpowiedziami. Administrator może na podstawie takiego logu akceptować, odrzucać lub modyfikować decyzje InterDo. Podejście to jest łatwiejsze niż tworzenie reguł od początku, ale wymaga częstych powrotów do zmiany, przechowania lub restartu tych działań. Alternatywą jest zastosowanie od początku kreatorów InterDo.

Kreatory InterDo prowadzą po gałęziach decyzyjnych, w których wybiera się rodzaje ruchu i transakcji wymagane przez aplikację i te, które są zagrożeniem. Dialogi kreatora są zrozumiałe i akcje wynikowe mogą zapewnić stan bezpieczny w miarę szybko. Kreator w istotny sposób skraca czas przygotowania ochrony na starcie, aczkolwiek większość użytkowników zechce zapewne nabyć większą wiedzę w celu utworzenia reguł lepiej dopasowanych do własnych potrzeb.

Po uruchomieniu InterDo kontrolę nad nim sprawuje się za pośrednictwem konsoli zarządzania, chociaż możliwe jest także ręczne edytowanie plików reguł XML. Alarmy i powiadomienia są dostępne w różnych formach: SYSLOG, SNMP i SMTP.

Poza ochroną aplikacji, InterDo ochrania także wrażliwe informacje, rozpoznając i blokując transmisje numerów kart kredytowych z aplikacji, przesyłanych w odpowiedzi na kwerendy użytkowników. InterDo może funkcjonować także jako serwer certyfikacji SSL, aczkolwiek aplikacje wymagające intensywnej certyfikacji prawdopodobnie będą korzystać z wydzielonych serwerów SSL ze względu na wydajność.

Obsługa InterDo nie wymaga kwalifikacji eksperckich, a dostępność ScanDo czyni zeń produkt odpowiedni dla organizacji zdolnych do modyfikowania swoich aplikacji i chętnych do wzmacniania tak zmodyfikowanych aplikacji silną zaporą aplikacyjną.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200