Dla zapobiegania naruszeniom bezpieczeństwa komputerów, informowania o znanych zagrożeniach i sposobach ich unikania, pomocy przy usuwaniu skutków ewentualnych naruszeń i koordynowania odpowiednich działań międzyinstytucjonalnych powołano w USA organizację o nazwie CERT (Computer Emergency Response Team). Organizacja ta wydaje m.in. biuletyny rozpowszechniane w sieci informujące o nowo poznanych zagrożeniach. Posiada swoje odpowiedniki w wielu krajach. W Polsce instytucją taką ma być powstały w 1996 r. NASK-CERT.
Zagrożenia bezpieczeństwa w sieci Internet można ogólnie podzielić na następujące klasy:
W każdej z powyższych kategorii można podać liczne przykłady, jak również sposoby zabezpieczania się przed tymi metodami. I tak np. mechanizmy TCP/IP pozwalają na fałszowanie adresu IP nadawcy pakietu - komputer do którego adresy te docieraja, interpretuje je jako wysłane przez inny komputer, niż w rzeczywistości miało to miejsce. Sposobem na zabezpieczenie się przed taką formą ataku jest rezygnacja z usług sieciowych, które opierają uwierzytelnienie (sprawdzenie tożsamości użytkownika) na jego adresie IP (np. NFS w wersji podstawowej), lub ograniczenie ich do lokalnej podsieci (ukrytej za routerem filtrującym "podejrzane" pakiety).
Protokół TCP/IP nie zawiera wbudowanych mechanizmów szyfrowania przesyłanych danych. Umożliwia to przechwytywanie danych przez osoby trzecie, zwłaszcza w przypadku mediów transmisyjnych takich jak Ethernet, funkcjonujących na zasadzie magistrali. Czynione są obecnie próby włączenia szyfrowania (enkrypcji) danych jako opcji w nowej wersji protokołu IP (IPv6); tymczasowym rozwiązaniem jest stosowanie szyfrowania nie w warstwie transmisyjnej (TCP/IP), lecz na poziomie aplikacji. Istnieje szereg narzędzi kryptograficznych przydatnych w sieci Internet, np. SSH czy PGP.
Najczęstszym sposobem naruszenia bezpieczeństwa w sieci jest pozyskanie dostępu do cudzego konta na komputerze pracującym w systemie wielodostępnym (np. Unix) przyłączonym do sieci Internet. Tego typu naruszenie bezpieczeństwa tradycyjnie określa sie "włamaniem" do komputera. Włamanie na konto administratora jest szczególnie niebezpiecznym przypadkiem, umożliwia bowiem włamywaczowi dostęp do danych wszystkich użytkowników danego komputera, a także ułatwia zatarcie w systemie śladów włamania.
Producenci poszczególnych systemów operacyjnych na ogół udostępniają (często za pośrednictwem sieci Internet) poprawki do swoich produktów, usuwające poszczególne błędy. Nawet jednak po instalacji wszelkich poprawek (ang. "patch") nie ma całkowitej gwarancji "szczelności" systemu. Ponadto, nawet system nie zawierający błędów sensu stricto, może zostać błędnie skonfigurowany przez instalatora lub administratora.
Pomocą w wyszukiwaniu znanych błędów i luk w konfiguracji służy szereg programów dostępnych w sieci, m.in. COPS, TIGER i SATAN. Sporządzają one szczegółowe raporty o potencjalnych furtkach umożliwiających włamywaczowi przeniknięcie do systemu.
Usuwanie skutków włamania jest jednym z najbardziej niewdzięcznych zadań administratora, głównie ze względu na konieczność upewnienia się, czy nie zostały wprowadzone do systemu modyfikacje umożliwiające włamywaczowi powtórne wejście (tzw. backdoor). Program TRIPWIRE ułatwia sprawdzenie czy newralgiczne pliki systemowe Unixa nie zostały zmodyfikowane, utrzymując (w bezpiecznym miejscu) listę sum kontrolnych tych plików i okresowo sprawdzając zgodność. Niestety, w przypadku gdy włamywacz okaże się wandalem, często jedyna deską ratunku pozostaje odtworzenie systemu z taśm - stad konieczność regularnego tworzenia kopii bezpieczeństwa (backup).
Brak świadomości wśród użytkowników jest prawdopodobnie najczęstszą przyczyną naruszeń bezpieczeństwa. W większości systemów wielodostępnych, na czele z Unixem, dostęp do konta chroniony jest indywidualnym hasłem użytkownika. Stosowanie trywialnych haseł jest przyczyna znakomitej większości włamań - ok. 80% znanych mi z autopsji przypadków. Istnieją specjalizowane programy (np. "Crack") służące do zautomatyzowanego (z użyciem słownika) odgadywania haseł. Dość skutecznym zabezpieczeniem jest modyfikacja oprogramowania systemowego (w Unixie: komendy passwd) tak, aby uniemożliwiało użytkownikowi wprowadzenie nazbyt prostego hasła. Funkcję taką spełnia np. program "npasswd", "passwd+" czy "ANLpasswd".
Nawet jednak najlepsze hasło nie zabezpiecza przed możliwością jego przechwycenia przez osoby postronne, np. z użyciem tzw. "Ethernet sniffera" - narzędzia umożliwiającego podgląd danych transmitowanych siecią Ethernet. Przychodza tu z pomoca:
Szyfrowanie odgrywa bardzo ważna rolę z punktu widzenia bezpieczeństwa. Odpowiednio mocne (tzn. nie dające się złamać metodami kryptoanalitycznymi) algorytmy znane są już od dawna; ich popularność w Internecie rośnie stopniowo, główne przyczyny ograniczające ich stosowanie to:
Szczególną karierę wśród nich robi program o nazwie PGP (Pretty Good Privacy), którego głównym przeznaczeniem jest szyfrowanie poczty elektronicznej (e-mail). Program ten, opracowany przez Phila Zimmermanna, opiera się na tzw. metodzie kluczy publicznych, a konkretnie na algorytmie RSA (Rivest-Shamir-Adleman). Metoda kluczy publicznych pozwala rozwiązać typowy w przesyłaniu tekstów zaszyfrowanych problem: jak przekazać adresatowi klucz umożliwiający odszyfrowanie? Nie możemy przecież przekazać go tym samym (narażonym na "podsłuch") kanałem, co zaszyfrowany dokument...
Ogromny sukces PGP wywołał duże zainteresowanie metodą klucza publicznego. Secure Shell (SSH) jest pakietem wykorzystującym algorytm RSA w sposób analogiczny dla PGP dla szyfrowania zdalnej interakcyjnej sesji użytkownika. Pomyślany jest jako następca protokołu Rlogin. Podobnie jak w protokole Rlogin możliwe jest skonfigurowanie SSH tak, aby niepotrzebne było podawanie hasła przez użytkownika; w odróżnieniu od Rlogin jednak uwierzytelnienie następuje nie na podstawie adresu sieciowego użytkownika nawiązującego połączenie, lecz na podstawie faktu posiadania przez użytkownika właściwego klucza. Nawet w przypadku używania haseł, szyfrowanie całego przebiegu sesji (tak akcji użytkownika, jak i reakcji systemu) zabezpiecza przed przechwyceniem hasła przez osoby postronne.
Istnieją również protokoły ( SSL, SHTTP) umożliwiające bezpieczną (z użyciem enkrypcji) transmisję danych w ramach używanego przez WWW protokołu HTTP. Dzięki temu, osoby dokonujące np. zakupów przez sieć Internet poprzez podanie numeru karty kredytowej w odpowiednim formularzu WWW nie są narażone na jego przechwycenie i ewentualną malwersację. Niestety, wersje programów takich jak Netscape przeznaczonych na rynek międzynarodowy są celowo okaleczane dla uniknięcia konfliktu ze wspomnianymi wcześniej przepisami eksportowymi USA - wersje te posługują się relatywnie łatwym do złamania kluczem 40-bitowym, podczas gdy wersje przeznaczone do użytku w USA korzystają z mocnych kluczy 128-bitowych.
Źródłem wielu problemów jest coraz większa liczba komputerów pracujących pod systemem MS-DOS/MS-Windows w sieci Internet. Ze względu na brak uwierzytelnienia użytkowników systemu MS-DOS problematyczne jest stosowanie ich tam, gdzie w użyciu są mechanizmy uwierzytelnienia bazujące na informacji dostarczanej przez inny komputer w sieci (np. nazwie zdalnego użytkownika). Jedyne na razie sensowne rozwiązania to bezpieczeństwo fizyczne, tzn. uniemożliwienie fizycznego dostępu do komputera osobom niepowołanym, oraz używanie haseł na poziomie BIOS (na co nie wszystkie komputery PC pozwalają).