PRACA PRZEJŚCIOWA
Temat pracy: Bezpieczeństwo systemów komputerowych
Imię i nazwisko:
Nr albumu:
Studia:
Opiekun:
Rok akademicki
SPIS TREŚCI
1.
Ochrona techniczna
1.1
Firewall
1.2
Backup
1.3
Szyfrowanie
1.4
Oprogramowanie
1.4.1
Logi
1.4.2
IDS
1.4.3
Aktualizacje
1.5
Hasła
1.6
Pliki
1.7
Zagrożenia sieciowe
1.8
Niebezpieczne programy
1.8.1
Wirusy
1.8.2
Konie trojańskie
1.8.3
Robaki internetowe
1.8.4
Adware
1.8.5
Pornware
1.8.6
Spyware
1.8.7
Dialery
1.8.8
Keyloggery
2.
Ochrona fizyczna
3.
Ochrona „psychiczna”
3.1
Uświadamianie pracowników
3.2
Loginy i hasła
3.3
Socjotechnika
4. Spektakularne włamania
WSTĘP
Jeśli zdarzy się kiedyś taka sytuacja, że będę musiał zdecydować o przyjęciu
kogoś na stanowisko informatyka na pewno zadam mu jedno pytanie: „Czy może
Pan/Pani w 100% zabezpieczyć naszą sieć i jak szybko?”. W momencie gdy ktoś
odpowie pozytywnie – wiem, że nie nadaje się na to stanowisko. Nie było, nie ma i
nie będzie uniwersalnego środka, który na 100% zabezpieczy nasz komputer,
serwer czy sieć. Zawsze znajdzie się ktoś, kto złamie nasze zabezpieczenia lub
hasła. Jednakże można poczynić wiele działań w kierunku ochrony naszego
systemu przed osobami niepożądanymi. Istnieją trzy stopnie zabezpieczenia
systemu komputerowego:
-
ochrona techniczna,
-
ochrona fizyczna,
-
ochrona „psychiczna”.
W wielu mniejszych firmach nie dba się o bezpieczeństwo. Istnieje takie
przekonanie, że „mnie to nie spotka”. Dopiero gdy ten problem dotknie nas samych
zaczynamy się tym interesować. W większych firmach, których powierzchnia jest
bardzo duża a komputerów jest więcej niż 5, każdy z powyższych trzech aspektów
ochrony jest równie ważny i absolutnie nie można o nim zapomnieć.
1. Ochrona techniczna
Strona techniczna ochrony systemów komputerowych zajmuję się przede
wszystkim oprogramowaniem, usługami serwera. Podstawą zasada brzmi:
instalować tylko niezbędne oprogramowanie. Według specjalistów o wiele lepiej
zatrudnić dobrego informatyka, które będzie potrafił skonfigurować firewalla, czy
każdą inna usługę lub system, niż kupić drogie oprogramowanie i zainstalować je z
domyślną konfiguracją. Bardzo wiele małych, średnich i dużych firm preferuje
Linuxa ze względu na to, że system jest darmowy i o wiele stabilniejszy niż
Windows.
1.1
Firewall
Głównym zadaniem firewalla jest filtrowanie zarówno nadchodzących jak i
wychodzą danych. Wszystkie informacje przechodzące przez firewall są
porównywane z regułami, które zostały do niego wprowadzone i według tychże
reguł pakiety zostają zaakceptowane lub odrzucone. Bardzo często spotyka się taką
sytuację, że urządzeniem dostępowym do Internetu jest router na Linuxie, wraz z
różnorakimi usługami (www, ftp, email, itp) w tym firewall.
Pierwsza myśl, najczęściej zresztą stosowana, przepuścić cały ruch
wychodzący, a przychodzący tylko na usługi jakie mamy uruchomione publicznie,
tzn: poczta (port 25 i 110), strony www (80). Takie ustawienie na pewno jest
bezpieczne, ale czy w 100%? A jeśli mamy użytkowników, którzy będą „ściągać”
lub korzystać z popularnego komunikatora internetowego Gadu-Gadu zamiast zająć
się pracą? Warto przemyśleć takie zachowania użytkowników i już na etapie
konfiguracji zablokować adresy IP serwerów Gadu-Gadu, czy całą sieć P2P. Warto
również pomyśleć o blokowaniu portów na których często pojawiają się robaki
internetowe. Niektóre firewalle standardowo mają zablokowany ruch przychodzący
na portach netbios-u (137, 138, 139), na których swego czasu szarżował Sasser czy
port 445 który był wykorzystywany przez Blastera.
5
W przypadku przesyłania e-mailem poufnych danych , można pomyśleć również
o blokowaniu dostępu do innych serwerów pocztowych, tak aby użytkownicy było
zmuszeni do korzystania z firmowej poczty, a tą filtrować pod kątem wysyłania
poufnych informacji.
W przypadku Linuxowego firewalla – iptables – cała konfiguracja opiera się na
regułach, które można dodawać, usuwać i edytować w trakcie działania programu.
Zaraz po dodaniu regułka jest stosowana w praktyce. Na przykład opisany powyżej
Blaster i Sasser. Aby zablokować te robaki na naszym firewallu dodajemy takie
regułki:
/sbin/iptables –A INPUT –p tcp –dst 0/0 –m multiport –dport 135,445 –j DROP
/sbin/iptables –A FORWARD –p tcp –dst 0/0 –m multiport –dport 135,445 –j
DROP
Pierwsza reguła blokuje ruch z dowolnego adresu na porty 135 i 445 skierowane do
serwera. Natomiast druga robi to samo, z tymże pakiety skierowane do sieci
lokalnej. /sbin/iptables to oczywiście ścieżka dostępu do naszego iptables. Parametr
–A oznacza jaki typ pakiety ma być sprawdzany. Istnieją trzy opcje:
-
INPUT – przychodzący,
-
FORWARD – przekazywany dalej,
-
OUTPUT – wychodzący).
Parametr –dport oznacz port docelowy jaki chcemy blokować lub dopuszczać.
Najważniejszy jest jednak ostatni parametr –j. Oznacza akcję w przypadku
wykrycia pakietu pasującego do regułki firewalla. Dozwolone są następujące opcje:
-
ACCEPT – pakiet zostaje zaakceptowany,
-
DENY- pakiet zostaje zablokowany,
-
DROP – pakiet zostaje porzucony,
-
RETURN – pakiet zostaje odesłany do nadawcy,
-
LOG – informacja o pojawieniu się pakietu zostaje zapisana w logach.
6
Nie są to wszystkie możliwe opcje, ale jedne z najczęściej występujących. Opis
wszystkich opcji programu iptables można znaleźć w manualu dostarczanym wraz z
programem.
1.2
Backup
Zarówno w mniejszej jak i większej firmie, bardzo ważną rzeczą jest backup.
Jeśli firma stwierdzi, że nie warto inwestować pieniądze w backup, to w zasadzie
można z góry założyć, że w przypadku awarii, której skutkiem jest utrata danych,
firma przestaje istnieć.
Kopie zapasową danych można robić na wiele sposobów. Dość drogim i
trudnym do zrealizowania jest RAID. Polega on na połączeniu kilku dysków w
specjalny sposób tak, że wszystkie dyski przechowują te same dane. W razie awarii
jednego z dysków, wszystkie dane nienaruszone mamy na pozostałych.
Innym sposobem może być archiwizowanie danych, a następnie poprzez sieć
wysyłanie ich na zdalny komputer, gdzie będą przechowywane.
W dzisiejszych czasach nagrywarki zarówno CD jak i DVD są bardzo tanie,
więc innym tanim przykładem może być nagrywanie takich danych na płyty i
przechowywanie takich płyt w specjalnych sejfach.
Wyróżnia się trzy rodzaje kopii:
-
kopia pełna, która polega na skopiowaniu wszystkich plików, które są
przeznaczone do archiwizacji,
-
kopia przyrostowa, która polega na skopiowaniu tylko tych plików, które
zostały utworzone od ostatniej archiwizacji,
-
kopia różnicowa, która polega na skopiowaniu plików, które zostały
zmodyfikowane od czasu ostatniej archiwizacji.
Kopia pełna jest najbardziej czasochłonna oraz pożera najwięcej pamięci z tego
względu, że za każdy razem kopiowane są te same pliki (nawet jeśli nie zostały
zmienione).
7
1.3
Szyfrowanie
Bardzo ważna rolę w bezpieczeństwie danych odgrywa szyfrowanie. W czasach
drugiej wojny światowej, kiedy niemeccy uczeni stworzyli Enigmę, Polacy wiele
się natrudzili, żeby szyfr Enigmy złamać. Dzisiaj przeciętny domowy PC, potrafi
złamać ten szyfr w przeciągu kilku sekund. W dzisiejszych czasach korzystamy z
szyfrowania na każdym kroku i jest ono nieodłączną częścią naszego życia. Logując
się do naszego banku przez stronę WWW, sprawdzając pocztę, wysyłając formularz
rejestracyjny – wszystkie te dane są szyfrowane. Również i w firmie należy o tym
pamiętać, ażeby loginy, hasła i prywatne dane naszych pracowników nie krążyły po
Internecie nie szyfrowane, gdyż prędzej czy później znajdzie się ktoś, kto
wykorzysta przechwycone w ten sposób informacje.
W dzisiejszych czasach możemy wyróżnić trzy rodzaje szyfrów:
-
asymetryczne,
-
symetryczne blokowe,
-
symetryczne strumieniowe.
Najbardziej popularny jest szyfr asymetryczny. Stosuje się go głównie w
szyfrowaniu poczty elektronicznej. Zasada działania wygląda następująco. W skład
wchodzą dwa klucze – publiczny i prywatny. Klucz publiczny służy do
zakodowania wiadomości, natomiast klucz prywatny – do rozkodowania
wiadomości. Klucza prywatnego nie udostępnia się osobom trzecim, więc
prawdopodobieństwo złamania klucza jest praktycznie niemożliwe. Głównym
założeniem szyfru asymetrycznego są pewne operacje bardzo trudne do
odwrócenia, dzięki czemu te szyfry są tak skuteczne.
Szyfr symetryczny blokowy ma zupełnie inną zasadę działania. Przede
wszystkim kodujemy o wiele krótsze wiadomości, oraz same klucze są o wiele
mniejsze. Typowy klucz w takim szyfru ma od 128 do 256 bitów. Z reguły szyfr
blokowy działa w ten sposób, że wiadomość jest szyfrowana kilkukrotnie różnymi
sposobami. Ten rodzaj szyfru jest bardzo trudny do przeanalizowania i
zlokalizowania sposobu oraz kolejności użytych szyfrów, co sprawia, że ten szyfr
jest bardzo bezpieczny.
8
Szyfr strumieniowy jest podobny do szyfru blokowego z tym, że nie jest wiele
razy kodowany. Zdecydowaną różnicą jest to, że odbiorca nie musi czekać na
wszystkie dane, lecz nawet fragment może zostać rozszyfrowany.
Ostatnimi czasy bardzo modne stało się ukrywanie i szyfrowanie danych w...
obrazkach i plikach dźwiękowych. Sposób jest ten bardzo łatwy w użyciu, i
jednocześnie trudny do wykrycia – trzeba mieć naprawdę dużo szczęścia, żeby taką
informację znaleźć. Metoda ta polega na umieszczeniu w pliku dźwiękowym lub
obrazku jakiegoś tekstu i zapisaniu go w ten sposób, żeby rozmiar plik się nie
zmienił, lub zmienił minimalnie.
1.4
Oprogramowanie
Jak już wspomniałem podstawowa zasada to minimum oprogramowania. Lecz
nie wolno zapomnieć o podstawowych programach. Czasem również warto
„doinstalować” jakiś pomocny program..
1.4.1
Logi
Najważniejszą usługą w systemach komputerowych – zarówno tych małych
jak i dużych – są logi systemowe. Są to pliki, do których zapisywane są informacje,
błędy i ostrzeżenia od programów, pamięci i kernela. W systemach Linuxowych
programem odpowiadającym za zbieranie i sortowanie logów jest syslog.
Plik konfiguracyjny (syslog.conf) wygląda następująco:
*.err
/var/log/errors
kern.*
/var/log/kernel
authpriv.*;auth.*
/var/log/auth
mail.*
/var/log/mail
*.info
/var/log/messages
9
Pierwsza linijka ustala, że wszystkie poważne błędy zostają zapisane w pliku
/var/log/errors. Kolejna informuje, że wszystkie informacje od kernela zostają
wysłane do pliku /var/log/kernel. Trzecia wskazuje zdarzenia logowania do
/var/log/auth. Maile trafiają do /var/log/mail, a zwykłe informacje do
/var/log/messages. W przypadku gdy mamy podłączony na stałe monitor do serwera
warto wpisać poniższą linijkę do konfiguracji:
*.*
/dev/tty12
Dzięki tej linijce WSZYSTKIE informacje trafiają na 12 konsolę systemu. Dzięki
temu można na bieżąco śledzić wydarzenia w systemie.
Pomocnym programem współpracującym z syslogiem jest logrotate, który
cyklicznie archiwizuje logi, dzięki czemu nasz plik z logami nie będzie zajmował
100 MB.
System Windows oczywiście oferuje tą samą usługę – logi. Aby się do nich
dostać otwieramy „Panel sterowania” i wybieramy „Narzędzia administracyjne” a
następnie „Podgląd zdarzeń”. W lewej części znajdują się trzy pozycje:
-
Aplikacja – zawiera logi od wszystkich aplikacji użytkownika,
-
Zabezpieczenia – informacje odnośnie zabezpieczeń systemu,
-
System – wszystkie informacje wysyłane przez sam system.
Po dwukrotnym kliknięciu otrzymujemy szczegółową informację na temat
zdarzenia, które zaszło w systemie. Usługa Logów systemowych w systemie
Windows jest o wiele mniej konfigurowalna – w zasadzie możemy tylko przeglądać
logi w opisany powyżej sposób.
1.4.2
IDS
IDS – Intrusion Detection System – z angielskiego „System Wykrywania
Włamań”. Coraz więcej firm decyduje się na zainstalowanie tego typu
oprogramowania, ze względu na prostotę konfiguracji i wysoką skuteczność.
Głównym zadaniem oprogramowania typu IDS, jak mówi nazwa, jest wykrywanie
10
ataków na nasz serwer bądź sieć. Program taki porównuje pewne zachowania, do
których dochodzi w Internecie, do wzorców które posiada w pamięci i podejmuje
odpowiednie kroki, które zostały wcześniej zaprogramowane. Istnieje możliwość
poinformowania administratora mailem, uruchomić jakiś program zdefiniowany
wcześniej program, lub poprostu zablokować adres IP atakującego. Istnieją
programy, które zostały wyposażone w zaawansowane algorytmy heurystyczne,
dzięki którym program potrafi przewidywać niektóre zdarzenia, oraz dostosowuje
się automatycznie do naszej sieci.
1.4.3
Aktualizacje
Z każdym dniem wykrywane są coraz to nowsze luki w oprogramowaniu –
niektórzy robią to aby usprawnić swoje programy, inni aby wykorzystać to na
innych systemach. Każda szanująca się firma, tworząca oprogramowanie zaraz po
otrzymaniu informacji o dziurawym programie powinna zabrać się za stworzenie
aktualizacji naprawiającej problem. Administratorzy systemów z kolei powinni na
bieżąco sprawdzać dostępność aktualizacji i wdrażać je do swoich systemów.
Prostym w obsłudze i bardzo popularnym narzędziem w Linuxie, które może
pomóc w systematycznym aktualizowaniu jest usługa cron. Pozwala ona na
uruchamianie wybranych przez użytkownika programów z zaplanowaną
częstotliwością. Przykładowy wpis w linuxowym cronie wygląda następująco:
01 04 * * * <program>
Wpis ten oznacza, że <program> (dowolny program linuxowy) będzie
wykonywany codziennie o 4:01 w nocy. Pierwsza kolumna oznacza minutę, druga
godzinę, trzecia dzień miesiąca, czwarta oznacza miesiąc a piąta dzień tygodnia
(przy czym 0 to niedziela). Warto wspomnieć, że każdy użytkownik systemu Linux,
może posiadać własny plik z wpisami crona. Wystarczy się zalogować do systemu i
wpisać „crontab –e”. Uruchomi nam się standardowy edytor (scieżka do niego
11
zapisana jest w zmiennej systemowej EDITOR). Cron nie wymaga restartu, żeby
podane wpisy zostały wprowadzone do użytku.
1.5
Hasła
Najważniejszą bronią w dzisiejszym świecie informatycznym są hasła.
Używamy ich praktycznie wszędzie. Dlatego warto zadbać, aby nikt nie przejął
naszego hasła, oraz aby nie było ono za proste do odgadnięcia. Kilka
podstawowych zasad:
-
hasło powinno mieć minimum 8 znaków,
-
dobre hasło powinno mieć minimum 14 znaków,
-
hasło powinno zawierać znaki z całej klawiatury (małe i duże litery, cyfry
oraz znaki specjalne: spacje, przecinki, kropki, itp,
-
nie zaleca się używać słów z jakiekolwiek słownika,
-
dobrym pomysłem jest zamiana liter na znaki specjalne, tzn: a zmieniamy na
@, 1 na !, s na 5, itp.
Hasło stworzone w ten sposób jest praktycznie niemożliwe do odgadnięcia a
złamanie go zajęłoby intruzowi lata. Przykładowo nasze hasło można złożyć w
następujący sposób:
-
wybieramy sobie proste zdanie, które zapamiętamy, np.: „Bardzo lubię
swojego Szefa! Swoją pracę też!”,
-
Bierzemy po jednej literce z każdego słowa: „BlsS!Spt”. Hasło jest już
dobre, gdyż zawiera wielkie litery i jeden znak specjalny,
-
Zamieńmy niektóre literki na cyferki: „l” na 1, „s” na 5 – wychodzi nam
„B15S!Spt”,
-
Dodajmy jeszcze na koniec datę przyjęcia nas do firmy, np.: 01-08-2007.
Użyjemy tylko miesiąca i roku - „B15S!Spt0807”,
-
Dodatkowo zamienimy jeszcze „0” na znak, który znajduję się pod tym
samym klawiszem, lecz wciśnięty z „shiftem” – „B15S!Spt)8)7”.
W ten sposób utworzyliśmy hasło, które można w miarę łatwo zapamiętać, a z
drugiej strony bardzo trudno je odgadnąć.
12
1.6
Pliki
W przypadku większej sieci firmowej na pewno zdarzy się taka sytuacja ze
będziemy musieli współdzielić pliki. Wbrew pozorom to nie taka łatwa sprawa,
ż
eby bezpiecznie udostępnić plik. W systemach z rodziny Windows wystarczy
prawym przyciskiem myszy wskazać plik lub folder i z menu wybrać
„udostępnianie”. Zaznaczamy „ptaszkiem”, że chcemy udostępnić plik i koniec – od
tej pory dane są widoczne w otoczeniu sieciowym firmy. Wszystko na pierwszy
rzut oka jest w porządku, ale nikt już nie zwróci na to uwagi ze ktokolwiek z
zewnątrz może zmodyfikować nasze udostępnione dane. System plików NTFS
oferuje różnorodność opcji jeśli chodzi o dostęp do danych: zarówno lokalnych jak i
sieciowych. Warto pamiętać, aby ustawiać odpowiednie uprawnienia na pliki, tak
aby osoby trzecie nie mogły ich odczytać.
Bardziej czytelne, lecz dla niektórych dość skomplikowane jest ustalanie
uprawnień w systemie Linux. Każdy plik posiada szereg przełączników, które
określają dostępność pliku czy folderu dla innych użytkowników. Wyświetlamy
zawartość katalogu poleceniem „ls –l”:
drwxr-xr-x
8
user
group 4096 2007-06-12 08:52 folder
-rwxr-xr-x
1
user
group 374
2007-08-12 00:05 plik
Pierwsza kolumna zawiera ciąg znaków, które nas interesują. Pierwszy znak,
określa typ obiektu. Możliwe opcje to:
-
„d” – folder,
-
„l” – dowiązanie do pliku/folderu,
-
„-„ – plik,
-
„c” – urządzenie znakowe (np. konsole systemu),
-
„b” – urządzenie blokowe (np. dyski twarde).
Następne trzy znaki określają dostęp dla właściciela obiektu, przy czym:
-
„r” – odczyt,
-
„w” – zapis,
-
„x” – wykonanie.
13
Kolejne trzy to dostęp dla grupy, w której znajduje się użytkownik systemu, i
ostatnie trzy to dostęp dla pozostałych użytkowników. Trzecia i czwarta kolumna to
odpowiednio nazwa właściciela obiektu oraz grupa do której przynależy
użytkownik.
W systemie Windows sprawa wygląda trochę inaczej z tego względu, ze cały
system graficzny. Zanim przystąpimy do nadawania i edycji uprawnień, musimy
zmienić jedną z domyślnych opcji, która nam to uniemożliwia. Otwieramy „Panel
sterowania” i wybieramy, „Opcje folderów”. Wybieramy zakładkę „Widok” i
odznaczamy na liście „ptaszek” przy opcji „Użyj prostego udostępniania plików
(zalecane)”. Co dzięki temu zyskaliśmy? Zmiany zauważymy wchodząc we
właściwości dowolnego dysku, folderu czy pliku. Pojawiła nam się nowa zakładka
– „Zabezpieczenia”. W górnym polu pojawią nam się użytkownicy i grupy
użytkowników, dla których będziemy edytować uprawnienia. Na dole natomiast
mamy trzy kolumny. Pierwsza to akcja, którą będziemy ustalać, a druga i trzecia
kolumna to akceptacja i odrzucenie. Warto wspomnieć o ciekawym rozwiązaniu
zaimplementowanym przez system Windows. Jeśli użytkownik „ktoś” należy do
dwóch grup „a” i „b” i jedna z grup ma dostęp do danego pliku a druga nie, to
użytkownik nie będzie miał dostępu do tego pliku.
Umiejąc odpowiednio nadawać uprawnienia na pliki, foldery, użytkowników i
grupy można stworzyć bardzo bezpieczny i stabilny system, oraz uniemożliwić
szkodliwe działania użytkownikom lub intruzom.
1.7
Zagrożenia sieciowe
Przeciętny użytkownik komputera nie wie co dokładnie dzieje się z naszymi
danymi przesyłanymi przez sieć i jakie niebezpieczeństwa na nie czyhają. Wiele
osób lekceważy podstawowe zasady bezpieczeństwa na rzecz łatwiejszego
korzystania z komputera. Z czasem okazuje się, że nie warto stawiać na wygodę.
Ataki możemy podzielić ze względu na:
-
pochodzenie: zewnętrzne, wewnętrzne,
-
ś
wiadomość użytkownika: przypadkowe, celowe,
14
-
możliwość modyfikacji: pasywne, aktywne.
Jeśli chodzi o pochodzenie ataku bardzo rzadko trafia się taka sytuacja, że atak
następuje z wewnątrz sieci (aczkolwiek zdarzają się takie przypadki) jednakże z
reguły robi to ktoś z zewnątrz.
Czasem się zdarza, że ktoś nieświadomie zaatakuje nas system, lecz najczęściej
są to celowe ataki, mające na celu złamanie naszego systemu.
Najbardziej rozbudowaną grupą są ataki, które mogą spowodować naruszenie
bezpieczeństwa danych. Dzielimy je na:
-
aktywne (przechwycenie, zmodyfikowanie, podrobienie),
-
pasywne (podsłuchanie).
Podsłuch polega na tym, że informacja, która pierwotnie miała trafić tylko i
wyłącznie do odbiorcy, trafia również do intruza. Atakujący ma możliwość
przejrzenia zawartości co jest ogromnym naruszeniem bezpieczeństwa, gdyż pakiet
danych zawiera w sobie mnóstwo informacji, które mogą zostać wykorzystane
przeciwko komuś,
Przechwycenie polega na tym samym co podsłuch z tą różnicą że dane nie
trafiają do odbiorcy i w jego mniemaniu „giną” w sieci, a w rzeczywistości
wchodzą w posiadanie intruza.
Bardzo groźna jest modyfikacja danych przez napastnika i strasznie trudna do
wykrycia. Dane najpierw dochodzą do atakującego, atakujący zmienia je według
własnego uznania i dalej przesyła do pierwotnego odbiorcy.
Bardzo podobnym atakiem jest podrobienie informacji. Różni się od
modyfikacji tym, iż nadawcą informacji jest sam atakujący.
Istnieją również inne, groźne działania, które mogą być niebezpieczne dla naszej
sieci:
-
„spamming”, polega na wysyłaniu ogromnej ilości bezsensownych emaili,
lub innych danych, co może doprowadzić do odmowy działania usługi lub
całego systemu,
-
„scanning”, inaczej skanowanie systemu pod względem wykrycia otwartych
portów i sprawdzenia uruchomionych na nich usług,
15
-
„spoofing”, polega na zmianie adresu MAC, tak aby podszyć się pod kogoś
innego w sieci,
-
„code injection”, to wstawienie niebezpiecznego fragmentu kodu do kodu
HTML i wykonanie go w momencie odwiedzenia strony.
Jak widać nasze dane są narażone na ogromną ilość niebezpieczeństw, dlatego
czasem warto się dwa razy zastanowić zanim podejmiemy jakąś decyzję.
1.8
Niebezpieczne programy
Oprócz niebezpieczeństw sieciowych czyhają na nas i naszych użytkowników
programy, które mają ukryte, zaplanowane działania. Z reguły działania takich
programów służą utrudnianiu pracy nam lub innym użytkownikom. Zdarzają się
również takie, które próbują przejąć nasze loginy, hasła i inne ważne informacje.
Przed wszystkimi poniżej opisanymi programami można się skutecznie bronić.
Należy przede wszystkim unikać ściągania z niepewnych źródeł i otwierania
nieznanych programów. Zainstalować program antywirusowy z najnowszymi
bazami wirusów oraz firewalla, który będzie wykrywał ewentualne próby połączeń.
1.8.1
Wirusy
Wirus komputerowy jest prostym programem zajmującym niewiele miejsca
na dysku twardym naszego komputera (z reguły od kilku do kilkudziesięciu
kilobajtów). Wirus stara się działać bez wiedzy użytkownika. Najczęściej wirusy
powodują niszczenie plików wykonywalnych tj. EXE oraz COM, przez stają się one
bezużyteczne. Po zarażeniu takiego pliku wirus dopisuje tam swój kod, przez co
ponowne uruchomienie zarażonego programu skutkuje dalszym rozmnażaniem
wirusa. Wirusy potrzebują tzw. „nosiciela” – programu, dzięki któremu mogłyby się
dalej rozprzestrzeniać. Pierwsze wirusy nie wyrządzały dużych szkód
użytkownikowi (poza niszczeniem programu). Ich działania kończyły się na
wypisaniu jakiegoś tekstu lub odegraniu melodyjki. W dzisiejszych czasach tego
16
typu wirusy spotykane są coraz rzadziej na rzecz bardziej niebezpiecznych
programów.
1.8.2
Konie trojańskie
Nazwa programu pochodzi od mitycznego konia, dzięki któremu wojownicy
greccy zdobyli Troję. Trojanie wciągnęli pozostawionego przez Greków konia za
bramy miasta – nieświadomie wpuścili wrogów do swojego miasta. W taki sam
sposób działają komputerowe konie trojańskie. Instalowane są w systemie przez
nieświadomego użytkownika (na przykład pod pretekstem ważnej aktualizacji
systemowej), po czym otwierają tylne drzwi do komputera. Lista opcji koni
trojańskich kończy wraz z fantazją programisty, który stworzył taki program. Z
reguły konie trojańskie pozwalają atakującemu przeglądać zawartość dysków,
uruchamiać i zamykać inne programy. Niektóre potrafią robić zrzut ekranu i
wysyłać go atakującemu. Inne jeszcze potrafią robić złośliwe rzeczy, np. regularne
otwieranie CD-ROMu. Nic nie stoi na przeszkodzie, ażeby koń trojański działał tak
jak wirus – czyli niszczył pliki.
1.8.3
Robaki internetowe
W dzisiejszych czasach, gdzie wiele osób prywatnych posiada dostęp do
Internetu w domu, prawdziwym zagrożeniem są robaki internetowe. Bardzo
podobne są do wirusów, gdyż maja bardzo mały rozmiar. Lecz na tym ich
podobieństwo się kończy. Robaki rozsyłają się same próbując wykorzystać słabości
w bezpieczeństwie naszego komputera. Po udanym ataku, robak się instaluje w
naszym systemie a następnie próbuje się rozprzestrzeniać dalej poprzez Internet.
Prócz rozmnażania takie programy mają ukryte właściwości. Najczęściej służą do
rozsyłania spamu – niechcianej poczty. Rzadziej zdarza się, że zainfekowany
system służy do atakowania serwerów dużych firm. Robaka internetowego łatwo
wyizolować posiadając jedynie firewalla. Pozwoli on nam na wychwycenie
momentu, kiedy podejrzany program – w naszym wypadku robak – będzie
17
próbował łączyć się z innym komputerami w sieci. Bardziej zaawansowane robaki
internetowe posiadają funkcję pobierania sobie wykonywanych czynności z innego
komputera-serwera w sieci. Dzięki takiemu rozwiązaniu autor robaka może w
dowolnej chwili zmienić działanie swojego programu. Przykładowo przez godzinę
wszystkie robaki wysyłają spam, a następną godzinę mogą atakować serwery w
sieci.
1.8.4
Adware
Adware jest specyficznym programem. W najlepszym przypadku wyświetla
tylko mnóstwo niechcianych reklam. Jednakże często się zdarza, że poza
wyświetlaniem obrazków-reklam, program zbiera dane o użytkowniku lub instaluje
szkodliwe oprogramowanie. Ponadto adware jest rodzajem licencji. Polega to na
tym, że użytkownik zgadza się na użytkowanie programu w zamian za wyświetlanie
reklam. Czasem w ten sposób działają programy demo – dopiero po
zarejestrowaniu, kupieniu programu obrazki z wersji demo znikają. Adware jako
licencja i jako niechciany program różnią się tym, że w przypadku tego pierwszego
użytkownik godzi się na reklamy – w przypadku drugiego może nawet nie
wiedzieć, że takie oprogramowanie jest instalowane na jego komputerze.
1.8.5
Pornware
Pornware jest odmianą adware. Jak sama nazwa mówi pornware zajmuję się
niechcianym wyświetlaniem treści pornograficznych w naszym systemie. Tak jak w
poprzednim przypadku takie oprogramowanie instaluje się bez naszej wiedzy.
Często jest dołączane do programów ściąganych z nieznanych stron, gdzie oferuje
się pełne wersje programów za darmo, co jest naturalnie kłamstwem a służy
zainstalowaniu złośliwego oprogramowania.
18
1.8.6
Spyware
Jest to oprogramowanie, którego celem jest zbieranie danych o użytkowniku
i wysyłanie tychże danych do komputera-serwera w sieci, który gromadzi nadsyłane
dane. Często bardzo znane programy mają takie ukryte działania, które służą do
celów marketingowych. Producent w ten sposób stara się rozeznać, np. skąd
najczęściej jest kupowany jego produkt. Jednakże najczęściej producenci starają się
w sposób jawny uzyskiwać tego typu informacje. Spyware zaczyna być naprawdę
groźny kiedy zaczyna gromadzić nasze poufne dane, takie jak loginy czy hasła, a
następnie odsyła je twórcy programu.
1.8.7
Dialery
Dialerów należy się obawiać tylko i wyłącznie jeśli łączymy się z Internetem
poprzez modem. Zadaniem programu jest zmiana standardowego numeru
dostępowego do Internetu (0202122) na inny, o wiele droższy (numer z rodziny 0-
700). Dialery były ściągane przez użytkowników ze stron pornograficznych, które
miały jednocześnie gwarantować dostęp do ukrytych zasobów. Dzisiaj nie należy
obawiać się już takich programów z tego względu, że o wiele bardziej rozwinięty
jest dostęp szerokopasmowy (np. Neostrada).
1.8.8
Keyloggery
Keylogger jest programem podobnym do spyware z tego względu, że jego
działaniem jest zbieranie informacji. Działa jednak na trochę innej zasadzie.
Danych nie pobiera z systemu użytkownika, lecz wprost z jego klawiatury.
Keylogger zapisuje wszystkie naciśnięcia klawiszy a następnie wysyła swojemu
twórcy. Takie keyloggery nazywamy programowymi. Od czasów pierwszych
keyloggerów, technika posunęła się do przodu i w dzisiejszych czasach coraz
popularniejsze są keyloggery sprzętowe. Zasada działania takiego urządzenia jest
identyczna jak keyloggera programowego, lecz nie wymaga instalacji żadnego
19
oprogramowania na komputerze ofiary. Taki keylogger wygląda jak pendrive,
również na port USB. Od razu po podłączeniu do komputera zaczyna zbieranie
danych z klawiatury. Zebrane dane magazynuje w pamięci flash jak zwykły
pendrive. Wykryć tego typu sprzęt można jedynie poprzez obejrzenie obudowy
komputera w celu sprawdzenia podłączonych urządzeń.
2. Ochrona fizyczna
Ważną rzeczą jest również fizyczne zabezpieczenie danych, sieci, serwerów.
Jeśli tylko firma posiada możliwości finansowe powinna zainwestować również i w
ten sposób ochrony.
Najważniejsze to zabezpieczyć infrastrukturę przed osobami niepowołanymi.
Zadbać o to, aby dostęp do pomieszczeń z serwerami, szafami, itp. miały dostęp
tylko osoby upoważnione (administratorzy, technicy). Po godzinach pracy, w
weekendy i święta, warto zatrudnić ochroniarza, który by nadzorował serwerownie.
Warto również ubezpieczyć się na wypadek utraty danych poprzez np.: kradzież,
zalanie czy pożar.
Bardzo ważne jest otoczenie serwerów. Należy utrzymywać stałą i w miarę
niską temperaturę, aby urządzenia pracowały stabilnie. Producenci sprzętu
komputerowego zalecają również aby utrzymać odpowiednią wilgotność powietrza.
Warto zaopatrzyć się w zestaw części zapasowych, żeby w razie przypadku szybko
wymienić uszkodzoną część jak najszybciej. Można również pomyśleć o
zapasowych serwerach, na które przenoszone by były dane w przypadku
poważniejszych awarii.
Innym ważnym i częstym problemem jest zasilanie sieci i serwerów. Choć
drogie, lecz skuteczne jest zainstalowanie własnego źródła energii, żeby w razie
awarii zasilania przełączyć źródło na swoje własne. Może się zdarzyć taka sytuacja,
ż
e można nie zauważyć zaniku energii, dlatego warto zaopatrzyć się również w
UPS-y, które podtrzymają zasilanie do momentu przełączenia ze źródła
zewnętrznego na własne. Warto zainstalować dodatkowo systemy monitorujące
administratorów lub techników o zaistniałych problemach.
Takie zabezpieczenia są bardzo kosztowne, lecz skuteczne. Dzięki nim nie
musimy się obawiać o utratę danych, lub zniszczenie sieci, serwerów.
3.
Ochrona „psychiczna”
Najważniejszy aspekt bezpieczeństwa ochrony systemów komputerowych to
ochrona „psychiczna”. Co kryje się pod tym terminem? Są to wszystkie aspekty
bezpieczeństwa, które zależą tylko i wyłącznie od człowieka. Według specjalistów
około 3/4 wszystkich włamań do sieci firmowych polegało nie na złamaniu
zabezpieczeń czy programów, ale samego człowieka.
3.1
Uświadamianie pracowników
Podstawową i najważniejszą rzeczą jest uświadamianie pracowników w naszej
firmie o istniejących zagrożeniach. Przeciętna (i fikcyjna!) Pani Marysia z kadr nie
zdaje sobie sprawy, iż imię kogoś z członków rodziny lub datę urodzin, naraża na
szwank dane firmy. Dla takiej osoby nieważne jest bezpieczeństwo a jedynie
wygoda pracy. Warto również wspomnieć Pani Marysi, aby nie udostępniała
naszego hasła postronnym osobom, gdyż może się to źle skończyć, a ktoś tą wiedzę
wykorzysta. Dlatego jakże istotne jest uświadamianie pracowników w zakresie
haseł a także samego korzystania z sieci i programów.
3.2
Loginy i hasła
Niejednokrotnie zdarza się tak, że nawet po naszej interwencji w sprawie haseł,
nasza fikcyjna Pani Marysia wciąż ignoruje zalecenia. Można i należy w takim
wypadku zastosować bardziej radykalne środki polegające na programowym
wymuszeniu na Pani Marysi zmianę hasła na trudniejsze. Wiele dzisiejszych
programów, serwerów czy usług posiada w konfiguracji zastrzeżenia w jaki sposób
użytkownik może stworzyć swoje hasło. Jak już wcześniej było opisywane warto
wymusić na pracownikach aby ich hasło składało się z przynajmniej jednej cyfry,
jednej wielkiej litery oraz jednego znaku specjalnego, oraz minimalna długość hasła
wynosiła np. 8 znaków.
22
3.3
Socjotechnika
W Polsce takie zjawisko jest mało spotykane, ale niestety istnieje. Socjotechnika
zajmuje się wydobywanie od osób poufnych informacji, których nie można zdobyć
w żaden inny sposób. Prawdziwy socjotechnik potrafi wydobyć informację tak, że
ofiara się zupełnie nie zorientuje, iż podała właśnie poufne dane zupełnie obcej
osobie. Przykładowy atak socjotechniczny wygląd w ten sposób, że atakujący
najpierw poznaje strukturę firmy, zbiera informacje na temat pracowników,
kierowników i dyrektorów, a następnie dzwoni jako dyrektor do jednego z
kierowników i prosi o podanie swojego hasła, podając jakiś błahy przykład. W ten
sposób uzyskuje hasło do systemu bądź sieci a to pozwala mu na dalsza
ekspolorację naszego systemu komputerowego. Bardzo ważne jest aby atakujący
był wiarygodny. Przeważnie taki przykładowy atak socjotechniczny się uda z tego
względu, że ludzie boją się swoich pracodawców.
Jednym z najlepszym socjotechników na świecie był Kevin Mitnick. Napisał
książkę pod tytułem „Sztuka podstępu. Łamałem ludzi, nie hasła”. Opisuje w niej
swoje przykładowe ataki jakich dokonywał. Jak sam Mitnick twierdzi o wiele
prościej było mu złamać człowieka niż hasła do systemów z tego względu ze atak
socjotechniczny trwa o wiele krócej niż złamanie hasła dostępu.
Inną odmianą ataku socjotechnicznego jest „phishing”. Polega on na nakłonieniu
ofiary do odwiedzenia fikcyjnej strony internetowej (np. banku internetowego),
łudząco podobnej do prawdziwej. Podstawą w internetowej bankowości jest
szyfrowane połączenie. W przypadku fikcyjnej strony połączenie nie jest
szyfrowane. Niestety nie wszyscy użytkownicy zwracają na to uwagę. W ten sposób
socjotechnik zdobywa nasze dane bez problemu może opróżnić nasze konto.
Na nic się nie zdadzą drogie oprogramowania i wykwalifikowani
administratorzy, jeśli użytkownik otworzy drogę intruzom. Ważne jest aby każdy
pracownik firmy przeszedł szkolenie, które nauczy go jak wykryć i reagować w
przypadku wykrycia ataku socjotechnicznego.
4.
Spektakularne włamania
Badania wykazują, że wiele firm nie zgłasza organom ścigania, włamań do
swoich sieci czy serwerów. W dużej większości przypadków jest to podyktowane
dobrym wizerunkiem firmy. Innym powodem jest obawa przed utratą zaufania
klientów korzystających z usług takiej firmy. Dlatego ciężko jest jednoznacznie
odpowiedzieć co jest najczęstszym błędem przy zabezpieczaniu serwerów.
Cel internetowych włamywaczy jest bardzo różny. Jedni to robią aby firmę
ośmieszyć, narobić jej bałaganu. Inni natomiast włamują się do systemów po to,
aby mieć skąd włamywać się do innych systemów. Ten sposób nazywany jest w
ś
rodowisku hakerów jako „pętelka”. Oznacz to łączenie się przez kilka różnych
serwerów zanim połączymy się z docelowym komputerem. Służy to zamaskowaniu
prawdziwego pochodzenia atakującego.
Swego czasu bardzo często dochodziło do ataków na serwery
Telekomunikacji Polskiej S.A.. W 2001 roku dokonano 18 włamań na serwery TP
S.A. w różnych oddziałach w całej Polsce. Najbardziej pechowym dniem był 27
maja 2001 roku, kiedy włamano się do czterech różnych serwerów tejże firmy. We
wszystkich przypadkach atakujący podmieniali strony główne serwerów. Głównym
celem atakujących była złość za dyktowanie cen na polskim rynku usługi dostępu
do Internetu. Jak sami atakujący (na podmienionych stronach) mówili na serwerach
występowały znane i stare błędy, co ułatwiało złamanie systemu.
Jednak nie tylko Telekomunikacja Polska S.A. padała ofiarą hakerów. Serwis
internetowy magazynu „Wprost” został zmieniony dwa razy dzień po dniu (26 i 27
lipca 1999). Hakerzy znów wykorzystali proste błędy w oprogramowaniu
zainstalowanym na serwerze. Poza tym „wpadały” jeszcze takie firmy jak NASK,
Unimil, Canal+, Optimus czy Nestle, oraz serwisy Underground.pl czy Sciaga.pl.
Ż
adne szczegóły odnośnie włamania nie zostały ujawnione, więc nikt nie jest
w stanie dokładnie stwierdzić, gdzie dokładnie leżał błąd, ale jak już wspomniałem
hakerzy twierdzili, że były to znane i stare błędy.
ZAKOŃCZENIE
Brak doświadczenia użytkowników oraz zaniedbania na rzecz łatwiejszego
korzystania z komputerów są niebezpieczne dla bezpieczeństwa naszej firmy. Lecz
nie sami użytkownicy są bez winy. Przed administratorem stoi równie ważne
zadanie uświadamiania pracowników oraz zabezpieczenia sieci i serwerów w
możliwie najlepszy sposób. Najmniejsze zaniedbanie ze strony administratora grozi
naruszeniem bezpieczeństwa firmy i wystawienia na szwank jej dobrego wizerunku.
Należy jednak pamiętać, że pomimo zastosowanych zabezpieczeń, i tak nasz system
zostanie złamany. Nie możemy jednak mieć sobie nic do zarzucenia. Dlaczego? Jak
napisałem wcześniej – nie ma 100% sposobu na bezpieczny komputer.
BIBLIOGRAFIA
1.
W. R. Cheswick, Firewalle i bezpieczeństwo w sieci. Helion, 2003
2.
S. Garfinkel, G. Spafford, Bezpieczeństwo w Unixie i Internecie. Wyd. RM,
1997
3.
J. Stokłosa, T. Bliski, T. Pankowski, Bezpieczeństwo danych w systemach
informatycznych. PWN, 2001
4.
Tadeusz Kifner, Polityka bezpieczeństwa i ochrony informacji. Helion, 2006
5.
Muzeum włamań,
http://artur.pl/muzeum.html