W pierwotnych założeniach, ówczesna sieć Internet, dokładnie tak samo jak i system operacyjny UNIX, miała być wykorzystywana głównie przez środowiska naukowe i wojsko. Jednak sukces Internetu sprawił, że dziś nie tylko każdy może z niego korzystać, ale jest on stale ulepszany i niezwykle dynamicznie się zmienia. co dzieje się głównie za sprawą jego komercyjnego wykorzystania. Taki postęp niesie za sobą konieczność zadbania o bezpieczeństwo ruchu w sieci - przesyłanych danych.

W celu przeciwdziałania atakom naruszającym bezpieczeństwo a także do bieżącego informowania o znanych zagrożeniach i metodach ich uniknięcia, i udzielaniu pomocy przy usuwaniu następstw potencjalnych naruszeń, została powołana w USA organizacja CERT (w Polsce działa od 1996 a od 2000 pod nazwą CERT NASK).

Do zadań CERT należy między innymi: (źródło www.cert.pl)

  • rejestrowanie i obsługa zdarzeń naruszających bezpieczeństwo sieci
  • alarmowanie użytkowników o wystąpieniu bezpośrednich dla nich zagrożeń
  • współpraca z innymi zespołami IRT (Incidents Response Team) w ramach FIRST
  • prowadzenie działań zmierzających do wzrostu świadomości dotyczącej bezpieczeństwa teleinformatycznego
  • prowadzenie badań i przygotowanie raportów dotyczących bezpieczeństwa polskich zasobów Internetu
  • niezależne testowanie produktów i rozwiązań z dziedziny bezpieczeństwa teleinformatycznego
  • prace w dziedzinie tworzenia wzorców obsługi i rejestracji incydentów, a także klasyfikacji i tworzenia statystyk

Kategorie zagrożeń internetowych.

Ogólnie, zagrożenia internetowe można zgrupować w następujące kategorie:

  • przechwycenie danych wysyłanych za pomocą łączy albo przechowywanych na serwerach sieciowych przez nieautoryzowanych użytkowników
  • wtargnięcie i czerpanie korzyści z innych zasobów, jak np. moc obliczeniowa, przestrzeń dyskowa, przez nieautoryzowanych użytkowników
  • podgląd danych lub ich całkowita utrata, w wyniku celowego działania z zewnątrz
  • przekłamywanie danych, rozsyłanie złośliwej treści, mającej na celu zwabić ofiarę do określonych miejsc w sieci itp. (szczególnie newralgiczną kwestią jest tu poczta elektroniczna)

Aby móc wykonać atak (mniej lub bardziej szkodliwy), i dokonać zamierzonych operacji, wykorzystywane są następujące środki:

  • błędy protokołu TCP/IP i podobnych (SMTP, TELNET)
  • błędy zabezpieczeń systemu operacyjnego
  • niedociągnięcia bezpieczeństwa administratora i użytkowników systemu (brak aktualizacji zabezpieczeń)

Do każdej z wymienionych kategorii, można przywołać wiele przykładów złośliwego działania oraz podać sposoby na uniknięcie możliwości powyższych prób ataku. Dla przykładu: stosowanie pewnych metod, daje możliwość zafałszowania adresu IP nadawcy pakietu - komputer odbiorcy jest błędnie informowany o nadawcy pakietu, co daje możliwość nieumyślnego zezwolenia na np. instalację lub zmiany w systemie. Aby przeciwdziałać tego typu atakom, a przynajmniej zmniejszyć prawdopodobieństwo ich wystąpienia, należy wyłączyć usługi sieciowe, które bezpieczeństwo transmisji opierają na autentyfikacji (czyli sprawdzanie tożsamości na podstawie adresu IP) a co najmniej ograniczenie zakresu ich działania do lokalnej sieci, która znajduje się routerem który filtruje "niepewne" pakiety.

Sam protokół TCP/IP jako protokół transportu i adresowania, nie jest wyposażony w żadne mechanizmy szyfrujące przenoszone dane, to daje duże możliwości na dokonanie przechwycenia takich danych przez osoby trzecie. Jest to spowodowane faktem, że dane są przesyłane w sposób jawny, i można je bez większych problemów podsłuchać. Następcą wysłużonego już protokołu TCP/IP w wersji 4, będzie 6 wersja, do której ma być dołączona funkcja szyfrowania danych jako opcja. Stosowanym dziś rozwiązaniem, jest korzystanie z szyfrowania nie w warstwie transmisji TCP, ale w warstwie aplikacji. Poniżej przytoczone zostały niektóre rozwiązania.

Najczęstszym sposobem na przejęcie kontroli nad komputerem w sieci, jest uzyskanie dostępu do konta autentycznego użytkownika pracującego na systemie wielodostępnym, który ma połączenie do Internetu. Takie włamanie jest możliwe głównie dzięki błędom w zabezpieczeniach systemu. Bardzo typowym błędem jest między innymi taki, jak odkryty stosunkowo niedawno w systemie AIX (wersja uniksa dystrybuowana przez IBM), dający możliwość praktycznie każdemu użytkownikowi na dowolnym komputerze, na dostęp do konta "root" (czyli administratora) do każdego komputera pracującego pod tym systemem. Takie naruszenia są określane mianem WŁAMAŃ do komputera lub serwera. Atak, który kończy się uzyskaniem dostępu do konta administratora, jest szczególnie niebezpieczny, z tego względu, że całkowicie otwiera sieć na działanie włamywacza, a więc daje pełny wgląd do danych wszystkich użytkowników sieci, oraz pozwala usunąć ślady zaistnienia takiego włamania.

Popularne formy ataków internetowych.

Sniffing (dosł. węszenie) - jest to typowy "podsłuch danych" Za pomocą odpowiednich programów, tzw. analizatorów pakietów (a w systemie linux za pomocą jednego polecenia) możemy podsłuchiwać transmitowane przez sieć dane. Najprościej jest przechwycić te pakiety które nie są szyfrowane. Dobrym przykładem są sesje TELNET i FTP, gdzie dane przepływają wprost i nie posiadają żadnych zabezpieczeń. Osoba dokonująca podsłuchu, jest w stanie przechwycić hasło wymagane przy logowaniu i w ten sposób jest w stanie przejąć kontrolę nad komputerem ofiary. Następnym krokiem, jest przejęcie uprawnień administratora, w celu uruchomienia dodatkowego oprogramowania śledzącego (exploitów). Uprawnienia administratora są potrzebne do uruchomienia tychże programów, gdyż najczęściej system nie pozwoli na większość operacji z poziomu zwykłego użytkownika. Oto kilka przykładów programów pozwalających na analizę pakietów: LanWatch, IPtrace, Snoop, Sniffit, LinuxSniffer, Ipinvestigator, Strobe.

Spoofing czyli podszywanie się - osoba dokonująca tego ataku, podszywa się pod "legelnego" użytkownika aby ominąć zabezpieczenia, które uniemożliwiają dostęp do usług dostępnych tylko dla wydzielonej grupy adresów, jak na przykład dla lokalnej sieci LAN. Taki rodzaj ataku sam w sobie nic nie powoduje, natomiast staje się bramą dzięki której możliwe jest otwarcie dostępu do systemu i jego załamanie. Przykładowe programy: fakerwall i spoofer.

Cracking - szeroko rozumiane łamanie haseł na zasadzie porównań wzorca (słownika) i obiektu badanego bądź też próbkowanie aplikacji autoryzującej wzornikami z uprzednio przygotowanego słownika. Istnieją jeszcze systemy, które pozwalają na kopiowanie pliku haseł (passwd) przy pomocy TFTP - prostego programu opartego na protokole FTP, w celu transferu jądra do stacji roboczych. Cracking odbywać się może także w inny sposób. Osoba atakująca może utworzyć sobie zwykłe konto na atakowanej maszynie, skopiować plik z hasłami i przy pomocy programu crack próbkować wszystkie dostępne konta po kolei. W identyczny sposób można odpytywać aplikację autoryzującą, jednakże ruch generowany podczas takiego działania, jaki i obciążenie maszyny sprawia, że jest on łatwy do wykrycia i zablokowania.

Cracking ma też znaczenie w działaniach pirackich odnoszących się do programów. Odbywa się to na podobnej zasadzie, ale to zupełnie inny temat.

Hijacking (przechwytywanie zdalnej sesji autentycznego użytkownika systemu) - sposób przejęcia sesji zdalnej między komputerami (TELNET), wykorzystująca niedoskonałości protokołu TCP. Metoda opiera się na generowaniu klucza - numeru sekwencyjnego umożliwiającego przejęcie sesji zdalnej. Atak jest stosunkowo trudny do wykrycia, a użytkownik, którego sesja jest naruszana, może zorientować się o zagrożeniu jedynie po nagłych restartach sesji zdalnych, albo później przeglądając historię połączenia. Administrator może zorientować się o zaistniałym ataku, gdy pojawi się stan DESYNCH (utrata synchronizacji) dla połączenia, jak i również zwiększenie liczby pakietów TCP ACK w segmencie. Następuje równocześnie zwiększenie utraty pakietów. Aby zminimalizować możliwość wystąpienia takich ataków, należy wyeliminować połączenia poprzez TELNET, a zastosować znacznie bezpieczniejsze protokoły jak np.: SSH czy realizować połączenia poprzez KERBEROSA (wykorzystywany do autoryzacji żądań dostępu do rozproszonych zasobów sieciowych (np. składników oprogramowania) oraz bezpiecznej wymiany informacji między użytkownikami).

Denial of Service - metoda Denial of Service (odmowa usługi) polega na blokowaniu działania serwerów sieciowych poprzez wysłanie mnóstwa pakietów IP, często mających zmodyfikowaną, nieprawidłową konstrukcję. Serwer poświęca większość swoich zasobów na obsługę nadchodzących pakietów, a w skrajnych przypadkach może odmówić świadczenia usług. Przyczyną są błędy bezpieczeństwa systemu a ratunkiem jedynie instalowanie łat - patchy - a w skrajnych przypadkach może pomóc jedynie zastosowanie firewall`a.

Najnowszym "wynalazkiem" są exploity, czyli małe programy napisane w C, PERL`u, lub po prostu skrypty, które wykorzystując błędy w oprogramowaniu ułatwiają dokonanie ataku na zainfekowaną maszynę. Programy wywołują przepełnianie buforów i powodują skoki procesów w dowolne miejsce w pamięci, co jest zabronione dla użytkowników (GCC trampolines), przez co umożliwiają uzyskanie praw administratora. Jednak aby to było możliwe, włamywacz musi posiadać konto na atakowanej maszynie. Radą na ten problem są częste uaktualnienia zabezpieczeń systemu, i dokształcanie własne użytkownika.

Przedstawione rodzaje ataków nie zamykają tematu, lecz jedynie kierują uwagę na te najczęściej stosowane, i dają wyobrażenie o rozmiarach takiej "działalności".