Anubis
Admin
Dołączył: 31 Sie 2007
Posty: 514
Przeczytał: 0 tematów
Pomógł: 38 razy Ostrzeżeń: 0/5 Skąd: Małopolska
|
|
Metody włamań na servery WWW |
|
Serwery WWW (World Wide Web), czyli takie, które oferują masowy dostęp do stron internetowych (np. Apache) bezpośrednio nie zapewniają interaktywnego dostępu do systemu Linux, a więc nie są głównym celem atakujących, którzy chcą obejrzeć lub zniszczyć nasze dane. Jednak serwery WWW są odwiedzane przez wiele osób, więc są idealnym punktem początkowym dla atakujących, którzy chcą dowiedzieć się wystarczająco dużo o naszym systemie, by zastosować lepszy atak, wykorzystując inny sposób. Poza tym oprogramowanie serwera WWW współdziała z wieloma częściami naszego systemu operacyjnego - także z dostępem do plików w całym systemie, uruchamianiem skryptów itd. - więc mądry użytkownik, który umie znaleĽć słaby punkt systemu bezpieczeństwa naszego serwera WWW, może zrobić naprawdę dużo szkód i stworzyć dużą lukę, pozwalającą mu na pełną swobodę poruszania się po naszym systemie, także z innych punktów początkujących. Poniższa lista streszcza kilka najpopularniejszych dróg, którymi atakujący mogą próbować uzyskać nieautoryzowany dostęp do innych części systemu operacyjnego poprzez ośrodek WWW:
0) Głównym problemem niepoprawnego zarządzania dostępem jest nieodpowiednia konfiguracja serwera WWW lub wewnętrzny błąd samej aplikacji wynikający z popełnienia niedopatrzenia lub nie przewidzeniu danej sytuacji przez jej programistę. To samo tyczy się aplikacji współdziałających z głównym programem obsługującym odwołania WWW (SSL, PHP, SQL, Perl, CGI, JS, ASP). Dlatego głównym zadaniem administratora jest sprawowanie opieki nad serwerem pod kątem aktualności oprogramowania, odpowiednią konfiguracją i pozbawieniem błędów wynikających z błędnej konfiguracji lub samego oprogramowania. Zadania administratora na tym etapie stanowią fundament systemu bezpieczeństwa strony internetowej. O dalszym bezpieczeństwie serwera decydują także posiadacze kont. Od nich także zależy w jakim stopniu serwer będzie bezpieczny. Decydując się na przydzielenie praw dostępu do skryptów grupie użytkowników należy zweryfikować ich zdolności programistyczne oraz ograniczyć ich prawa względem reszty systemu, ponieważ w każdym języku skryptowym znajdują się funkcje, które odpowiednio zmanipulowane pozwalają w niekontrolowany sposób zmienić zadania które realizuje dany skrypt zazwyczaj prowadząc do uzyskania kontroli nad danym kontem lub nawet wglądu do haseł składowanych ma serwerze.
1) Najbardziej znaną i najefektywniejszą metodą ataku na serwer WWW jest wprowadzenie formularza do zle napisanego skryptu serwera i dołączenie polecenia w danych formularza. W Linuksie można używać wielu poleceń oddzielonych średnikami. Jeżeli atakujący doda średnik i polecenie do danych przekazywanych przez formularz, a skrypt dokładnie nie sprawdzi danych przed ich wykorzystaniem, to tak dodane polecenie może zostać wykonane przez skrypt jako uzupełnienie. W ten sposób można wykonać dowolne polecenie systemowe. Dobrze, jeśli serwer WWW działa jako użytkownik "nobody", czyli użytkownik o ograniczonych prawach dostępu, wtedy zagrożenie tym typem ataku jest minimalne.
2) Jeżeli sprawdzamy upoważnienie użytkownika, żeby chronić obszary ośrodka WWW przed tymi, którzy nie mają przyznanego do nich dostępu, to podsłuchujący pakiety łatwo wyciągnie nazwy kont i hasła z pakietów HTTP i uzyska w ten sposób dostęp do tych stron. Autoryzacja użytkownika na serwerach WWW nie jest bezpiecznym sposobem zabezpieczania poufnych informacji.
3) Jeśli posiadamy mechanizm uwierzytelniający na stronie WWW to nie powinien on bazować na dopuszczeniu do danych zasobów użytkownika, który przybywa ze wskazanego adresu ($HTTP_REFERER w PHP). Adres ten można bardzo łatwo podrobić lub zmienić ze względu na to, że wysyła go przeglądarka internetowa danego użytkownika, a nie serwer. Wiele użytkowników, którzy są pod ochroną firewalli lub korzystają z Internetu poprzez serwer proxy, w ogóle nie wysyłają tej informacji.
4) Mechanizm cookies (ciasteczek) opiera swoje działanie o niewielkie pliki tekstowe, składowane na komputerze użytkownika. Ponieważ wszystkie dane pobierane od użytkownika mogą zostać zmodyfikowane, również pliki cookies są potencjalnym zagrożeniem. Także ze względu na możliwość przechwycenia nie powinno się tam składować haseł i innych danych pozwalających bezpośrednio na uzyskanie jakichś przywilejów. Natomiast jeśli stosujemy je do przechowywania identyfikatorów sesji to należy ustalić kontrolę nad wygaśnięciem ich sesji sprawowała aplikacja internetowa. Gdy do tego zadania wykorzystana zostanie przeglądarka internetowa, nie ma pewności, że identyfikator sesji zostanie automatycznie usunięty z komputera użytkownika.
5) Jeżeli nasz serwer WWW wykorzystuje zdalne operacje na plikach (PUT i DELETE), ale nie sprawdziliśmy dokładnie zakresu działania tych operacji w pliku konfiguracyjnym (w przypadku Apache - access.conf), dowolna osoba może dodawać pliki do naszego systemu lub usunąć je bez żadnych przeszkód.
6) Intruz, który uzyskał pewien poziom dostępu do naszego ośrodka, może umieścić odpowiednio spreparowane pliki wśród dokumentów WWW, co w przyszłości da mu dostęp do innych części systemu. Jeżeli używamy aliasów, dowiązań symbolicznych albo indeksowania katalogów z dokumentami, intruz może nawet obejrzeć zawartość wielu plików tekstowych z innych obszarów.
7) Klasyczny atak polega na próbie przepełnienia bufora przeznaczonego do przechowywania danych aplikacji. Do przepełnienia dochodzi w sytuacji, gdy do aplikacji dostarczone zostanie więcej danych, niż jest ona w stanie obsłużyć. Serwer WWW może w takiej sytuacji odmówić posłuszeństwa, ponieważ zbyt duża ilość danych zagrozi pamięci przeznaczonej do pracy systemu. Tego typu atak jest o tyle niebezpieczny, że dzięki przepełnieniu bufora można wykonać dowolne instrukcje na serwerze. Dzieje się tak dlatego, iż dane przekraczające pojemność bufora są wykorzystywane przez serwer. Gdy są to instrukcje wykonywalne, serwer zrealizuje je, nie zdając sobie sprawy z ogromnego zagrożenia. W wielu przypadkach przyczyną przepełnienia bufora są rożnego rodzaju formularze, systemy autoryzacji zasypane zbyt wielką ilością danych. Aby zminimalizować ryzyko występowania przepełnienia buforu należy stosować sumy kontrolne oraz weryfikacje pozwalające na przesłanie określonej ilości danych w określonym przedziale czasu z określonego miejsca.
Więcej informacji:
[link widoczny dla zalogowanych]
[link widoczny dla zalogowanych]
artykuł pobrany z :
[link widoczny dla zalogowanych]
Post został pochwalony 0 razy
|
|