Bezpieczeństwo ośrodka webowego

Zabezpieczanie aplikacji webowych

Bezpieczeństwo ośrodka webowego

Ochrona aplikacji webowych

Ataki na aplikacje webowe mogą powodować znaczące skutki negatywne dla aktywów, zasobów czy tez reputacji firmy. Pakiety antywirusowe i zapory ogniowe utrzymywane na najwyższym poziomie uaktualnień, szyfrowanie transakcji o znaczeniu strategicznym, dobry mechanizm uwierzytelniania, a nawet systemy wykrywania włamań w przypadku aplikacji webowych są środkami koniecznymi, ale nie dostatecznymi.

W tym kontekście niezmiernie ważnym zagadnieniem pozostaje poziom umiejętności zespołów projektowych. Prawidłowo zaprojektowane oprogramowanie w znacznym stopniu eliminuje możliwość dokonania niektórych ataków. Drugim elementem jest dbanie o aktualność łatek programowych, zwłaszcza dla systemów operacyjnych - często możliwość ataku istnieje tylko dlatego, że administrator nie zainstalował wydanych już dawno łatek uszczelniających system. Połączenie tych dwóch elementów w dużym stopniu przyczynia się do uszczelnienia webowych systemów aplikacyjnych.

Istnieje też wiele rozwiązań pozwalających ograniczyć możliwość takich ataków. Rozwiązania te można podzielić na trzy kategorie:

  • Proxy kontrolne, przejmujące na siebie zadanie kontroli dopuszczalnych wartości w polach formularzy, maskuje niejako błędy w sztuce projektowania aplikacji webowych.

  • Uszczelnianie systemów operacyjnych i serwerów webowych, zapobiegające nieautoryzowanym zmianom w kluczowych elementach systemów operacyjnych Windows NT/2000, oraz ochrona serwerów webowych przed przeprowadzaniem akcji, które wykraczają poza normalny tok biznesu.

  • Kontrola zawartości polegająca na kontrolowaniu treści nie podlegających modyfikacji.

Proxy kontrolne

W gruncie rzeczy rozwiązania te sprowadzają się do przysłaniania luk istniejących w wielu aplikacjach webowych - można to uznać za "leczenie objawów". Bardzo często stosunkowo łatwo jest odnaleźć i podmienić ukryte pola formularzy HTML, zawierające na przykład cenę produktu. Podobnie często można łatwo zmieniać parametry skryptów CGI w celu na przykład poszukiwania plików z hasłami zamiast cen produktów. Jeżeli możliwości przeszukiwania nie są zaimplementowane poprawnie, ośrodki mogą być także przedmiotem ataków typu przepełnienie bufora, które mogą doprowadzić hakera do przejęcia uprawnień administratora.

Produkty tej kategorii działają praktycznie jako proxy serwera webowego, kontrolujące w jego imieniu zlecenia. Sprawdzają one aplikacje webowe, nabywając wiedzy, które łańcuchy wprowadzanych znaków należy uznać za akceptowalne w odniesieniu do poszczególnych pól formularza HTML, i odmawiają akceptacji ciągom nie spełniającym normy. W ten sposób "łatają" luki, które programista zostawił w aplikacji. Jeżeli haker próbuje wprowadzić zbyt długi ciąg znaków do danego pola, to propozycja taka jest odrzucana i generowana jest strona błędu.

Kontrola zawartości

Rozwiązania opisane wcześniej polegają właściwie na maskowaniu błędów aplikacji, natomiast nie gwarantują ochrony zawartości, na przykład baz danych przechowujących różnorodne reguły biznesowe. Jeżeli reguła biznesowa określa, że zamawiane są zawsze usługi spedytora najtańszego, to - po dostaniu się do takiej bazy danych - tym "najtańszym" może zostać na zawsze "szwagier" hakera!

Jednym ze sposobów zabezpieczenia bazy danych reguł biznesowych jest stosowanie metod wykrywających nieautoryzowane zmiany we wszystkich plikach. Polegają one na tym, że plik jest przepuszczany przez algorytm tworzący unikatowy podpis cyfrowy. Jakiekolwiek zmiany w pliku powodują zmianę wzorca podpisu i tym samym podniesienie alarmu.

W momencie, kiedy użytkownik żąda tej strony, sprawdzany jest podpis cyfrowy dla aktualnej zawartości strony - czy jest on zgodny z przechowywanym w bazie danych. Jeżeli tak, to strona jest serwowana. W przeciwnym razie w miejsce tej strony generowana jest strona błędu, a do administratora wysyłane jest powiadomienie. Rozwiązanie to może w znacznym stopniu utrudnić działanie "twórcom" graffiti webowych.


TOP 200