Ochrona systemów informacyjnych
Transkrypt
Ochrona systemów informacyjnych
Ochrona systemów informacyjnych Adam Bujnowski [email protected] Pok. 105 EA Tel 1684 Program przedmiotu ● Pojęcia podstawowe, kryteria bezpiecznego systemu ● Typowe ataki I powody agresji, główne zagrożenia dla systemów inf. ● Zabezpieczenia przed fizycznym dostępem do systemu ● Wirusy , zasada działania i profilaktyka ● Bezpieczeństwo baz danych ● Bezpieczeństwo serwera www ● Typowe techniki programowania www a bezpieczeństwo ● Zabezpieczenia sieciowe, firewalle ● DDoS ● Ataki poprzez podszywanie ● Systemy CMS – zasada działania i przegląd typowych rozwiązań ● Podpisy cyfrowe i autoryzacja ● Centra autoryzacji Malware ● ● Złośliwe oprogramowanie, malware (z ang. malicious software) – wszelkie aplikacje, skrypty itp. mające szkodliwe, przestępcze lub złośliwe działanie w stosunku do użytkownika komputera. Wirusy komputerowe ● Wirus – program lub fragment wrogiego wykonalnego kodu, który dołącza się, nadpisuje lub zamienia inny program w celu reprodukcji samego siebie bez zgody użytkownika. Ze względu na różne rodzaje infekcji wirusy dzielą się na: ● wirusy gnieżdżące się w sektorze rozruchowym twardego dysku (ang. boot sector viruses), ● wirusy pasożytnicze (ang. parasitic viruses), ● wirusy wieloczęściowe (ang. multi-partite viruses), ● wirusy towarzyszące (ang. companion viruses), ● makrowirusy (ang. macro viruses). Wirusy bootsektora ● ● ● Przy rozruchu każdego komputera krytycznym miejscem jest wykonanie kodu z pierwszego sektora dysku twardego, lub innego urządzenia tego typu. W ogólności kod ten powinien doprowadzić do startu systemu operacyjnego poprzez załadowanie jego jądra lub programu ładującego jądro systemu Działanie wirusów tego typu najczęściej polega na przeniesieniu zawartości oryginalnego boot-sektora w inne miejsce na dysku twardym I umieszczenie w tym miejscu własnego kodu, który po wykonaniu się załaduje I uruchomi oryginalną zawartość bootsektora. Załadowany kod wirusa może już tkwić w pamięci RAM Boot sektor Kod wirusa Wirusy pasożytnicze ● ● ● Większość znanych współcześnie wirusów – doklejają się do programu jako fragment kodu. Wykorzystują sposób startu programu – modyfikując adres skoku. Sposób wykrycia – program może zmienić swój rozmiar w stosunku do oryginału (nie zawsze jednak ma to miejsce !) Zmieniony jest adres skoku do pamięci I sekwencja ładowania bloków programu do pamięci Przykład – nagłówek programów typu exe ● Wirusy towarzyszące ● ● ● Programy złośliwe – bez znamion wirusa (autokopiowania) umieszczane w systemie w taki sposób, że wykonywane są wtedy, kiedy użytkownik próbuje wykonać określoną komendę Dlatego w UNIXach poginęły “.” w ścieżce przeszukiwania $PATH Stosunkowo łatwe do zidentyfikowania – charakterystyczna nazwa Wirusy makr ● ● ● ● Makrowirusy nie zarażają programów uruchamialnych, lecz pliki zawierające definicje makr. Są przenoszone w dokumentach tworzonych w programach biurowych firmy Microsoft: Word (edytor tekstu), Excel, Access. Wirusy makr wykorzystują fakt, że do dokumentów tworzonych w tych programach można dołączać kod źródłowy VBA (zwany językiem makr - stąd nazwa wirusa). Wirusy makr są stosunkowo niegroźne wyświetlają różne komunikaty na ekranie, czasem ukrywają niektóre funkcje programów, rzadziej uszkadzają dokumenty. Po otwarciu dokumentu zawierającego wirusa makr, wszystkie kolejno otwierane dokumenty zostaną również zarażone - często nie pomoże nawet zamkniecie programu i jego ponowne uruchomienie. Programy biurowe mają zabezpieczenia przed wirusami makr, a programy antywirusowe potrafią zwalczyć większość tego typu wirusów, nie uszkadzając przy tym dokumentów) Wirusy plików wsadowych ● ● Wykorzystują do transportu pliki typu *.bat – często w połączeniu z pewnymi zewnętrznymi programami doklejają się do innych plików tego typu. Mogą przenosić wirusy pasożytnicze zarażając pliki typu .com i .exe Wirusy wieloczęścoiwe ● Wirusy wykorzystujące wiele znanych technik jednocześnie do przenoszenia swojego kodu pomiędzy plikami I systemami komputerowymi. Inne rodzaje oprogramowania złośliwego ● ● ● ● Robaki (ang. worm) – złośliwe oprogramowanie podobne do wirusów, rozmnażające się tylko przez sieć. W przeciwieństwie do wirusów nie potrzebują programu "żywiciela". Często powielają się pocztą elektroniczną. Wabbit – program rezydentny nie powielający się przez sieć. Wynikiem jego działania jest jedna określona operacja, np. powielanie tego samego pliku aż do wyczerpania zasobów pamięci komputera. Trojan – nie rozmnaża się jak wirus, ale jego działanie jest równie szkodliwe. Ukrywa się pod nazwą lub w części pliku, który użytkownikowi wydaje się pomocny. Oprócz właściwego działania pliku zgodnego z jego nazwą, trojan wykonuje operacje w tle szkodliwe dla użytkownika, np. otwiera port komputera, przez który może być dokonany atak włamywacza (hakera). Backdoor – przejmuje kontrolę nad zainfekowanym komputerem, umożliwiając wykonanie na nim czynności administracyjnych, łącznie z usuwaniem i zapisem danych. Podobnie jak trojan, backdoor podszywa się pod pliki i programy, z których często korzysta użytkownik. Umożliwia intruzom administrowanie systemem operacyjnym poprzez Internet. Wykonuje wtedy zadania wbrew wiedzy i woli ofiary. ● ● Programy szpiegujące (ang. spyware) – oprogramowanie zbierające informacje o osobie fizycznej lub prawnej bez jej zgody, jak informacje o odwiedzanych witrynach, hasła dostępowe itp. Występuje często jako dodatkowy i ukryty komponent większego programu, odporny na usuwanie i ingerencję użytkownika. Programy szpiegujące mogą wykonywać działania bez wiedzy użytkownika zmieniać wpisy do rejestru systemu operacyjnego i ustawienia użytkownika. Program szpiegujący może pobierać i uruchamiać pliki pobrane z sieci. scumware (ang. scum – piana; szumowiny, męty) – żargonowe, zbiorcze określenie oprogramowania, które wykonuje w komputerze niepożądane przez użytkownika czynności. ● stealware/parasiteware - służące do okradania kont internetowych, ● adware - oprogramowanie wyświetlające reklamy, ● Hijacker Browser Helper Object - dodatki do przeglądarek, wykonujące operacje bez wiedzy użytkownika. ● ● Exploit – kod umożliwiający bezpośrednie włamanie do komputera ofiary, do dokonania zmian lub przejęcia kontroli wykorzystuje się lukę w oprogramowaniu zainstalowanym na atakowanym komputerze. Exploity mogą być użyte w atakowaniu stron internetowych, których silniki oparte są na językach skryptowych (zmiana treści lub przejęcie kontroli administracyjnej), systemy operacyjne (serwery i końcówki klienckie) lub aplikacje (pakiety biurowe, przeglądarki internetowe lub inne oprogramowanie). Rootkit – jedno z najniebezpieczniejszych narzędzi hackerskich. Ogólna zasada działania opiera się na maskowaniu obecności pewnych uruchomionych programów lub procesów systemowych (z reguły służących hackerowi do administrowania zaatakowanym systemem). Rootkit zostaje wkompilowany (w wypadku zainfekowanej instalacji) lub wstrzyknięty w istotne procedury systemowe, z reguły jest trudny do wykrycia z racji tego, że nie występuje jako osobna aplikacja. Zainstalowanie rootkita jest najczęściej ostatnim krokiem po włamaniu do systemu, w którym prowadzona będzie ukryta kradzież danych lub infiltracja. ● ● Keylogger – Odczytuje i zapisuje wszystkie naciśnięcia klawiszy użytkownika. Dzięki temu adresy, kody, cenne informacje mogą dostać się w niepowołane ręce. Pierwsze programowe keyloggery były widoczne w środowisku operacyjnym użytkownika. Teraz coraz częściej są procesami niewidocznymi dla administratora. Istnieją też keyloggery występujące w postaci sprzętowej zamiast programowej. Dialery – programy łączące się z siecią przez inny numer dostępowy niż wybrany przez użytkownika, najczęściej są to numery o początku 0-700 lub numery zagraniczne. Dialery szkodzą tylko posiadaczom modemów telefonicznych analogowych i cyfrowych ISDN, występują głównie na stronach o tematyce erotycznej. Poczta elektroniczna ● ● SPAM niechciane lub niepotrzebne wiadomości elektroniczne. Najbardziej rozpowszechniony jest spam za pośrednictwem poczty elektronicznej oraz w Usenecie. Część użytkowników doświadcza także spamu w komunikatorach (np. ICQ czy Gadu-Gadu). Zwykle (choć nie zawsze) jest wysyłany masowo. Istotą spamu jest rozsyłanie dużej ilości informacji o jednakowej treści do nieznanych sobie osób. Nie ma znaczenia, jaka jest treść tych wiadomości. Aby określić wiadomość mianem spamu, musi ona spełnić trzy następujące warunki jednocześnie: ● Treść wiadomości jest niezależna od tożsamości odbiorcy. ● Odbiorca nie wyraził uprzedniej, zamierzonej zgody na otrzymanie tej wiadomości. ● Treść wiadomości daje podstawę do przypuszczeń, iż nadawca wskutek jej wysłania może odnieść zyski nieproporcjonalne w stosunku do korzyści odbiorcy. Historia spamu ● ● SPAM to nazwa konserwowej mielonki wieprzowej produkowanej nieprzerwanie od lat 30. XX wieku przez amerykańską firmę Hormel Foods. Wcześniej mielonka tej firmy nazywała się po prostu Hormel Spiced Ham, jednak ta nazwa została zmieniona do SPAM, by zwiększyć atrakcyjność produktu (nowa nazwa być może wywodzi się od skrócenia Spiced Ham lub w innej wersji słów Shoulder Pork and Ham, które opisują zawartość konserwy). Zgodnie z oczekiwaniami, powołana do życia marka odniosła znaczący sukces, a produkt stał się między innymi kluczowym elementem racji żywieniowych wojsk USA w czasie II wojny światowej, co zapewne przyczyniło się do dalszego wzrostu jego znaczenia kulturowego. Nie jest do końca jasne, w jakich okolicznościach termin ten został po raz pierwszy zastosowany w odniesieniu do wiadomości elektronicznych. Możliwe jest jednak, że wiązało się to przede wszystkim ze znanym skeczem Monty Pythona. W skeczu tym klient, gdy pyta o menu restauracji, dowiaduje się, że w każdym daniu znajduje się trochę mielonki. Gdy klient chce zamówić coś bez mielonki, okazuje się jednak, że nie jest to proste – grupa wikingów zaczyna śpiewać „SPAM, SPAM, lovely SPAM, wonderful SPAM”, zagłuszając normalną rozmowę. Historia spamu ● ● ● ● ● ● Pierwszy odnotowany w historii sieci spam został wysłany przez Einara Stefferuda 1 maja 1978 roku. Wysłał on, korzystając z dostępu do kompletnego zbioru adresów mailowych w sieci ARPANET, ok. 1000 maili z zaproszeniem na swoje urodziny, co uruchomiło serię złośliwych i zabawnych odpowiedzi, które zablokowały twarde dyski na serwerze pierwszego spamera. Pierwszy reklamowy spam napisał 1 maja 1978 r. Gary Thuerk, a wysłał go 3 maja. Była to reklama producenta minikomputerów, firmy Digital Equipment Corp., która zapraszała wszystkich użytkowników Arpanetu z Zachodniego Wybrzeża USA na „dzień otwarty” – prezentację najnowszych produktów firmy. Pierwszy odnotowany spam w Usenecie miał miejsce w 1988 roku, kiedy to Rob Noha wysyłał systematycznie post z tytułem „HELP ME!” do wszystkich możliwych grup. W poście tym prosił o pomoc finansową dla swojego kolegi, któremu zabrakło funduszy na kontynuowanie studiów. Słowa „spam” w Internecie zaczęli prawdopodobnie używać jako pierwsi w latach 80. gracze tekstowych MUD-ów działających w sieci BBS-ów, piętnując w ten sposób tych graczy, którzy – zamiast uczestniczyć w grze – wysyłali do innych bezsensowne komunikaty, wyłącznie w celu blokowania serwerów. Następnie termin ten przeszedł do Usenetu, gdzie spamem zaczęto nazywać sposób zwalczania nielubianych dyskutantów poprzez zarzucanie ich setkami maili o bezsensownej treści. Pierwszą osobą z Usenetu, w stosunku do której użyto określenia spamer, był Richard Depew. W 1993 roku próbował on napisać skrypt, który automatycznie usuwał z grup newsowych posty niezgodne z netykietą danej grupy. Skrypt wymknął mu się spod kontroli i zamiast kasować, wysłał ciąg 200 postów na grupę news.admin.policy. Wiele z osób czytających tę grupę było też zapalonymi graczami w MUD-y i zastosowali oni znane z mudów pojęcie spamer do Richarda. Historia spamu ● ● ● ● Pierwszy gigantyczny spam, który zablokował serwery Usenetu, miał miejsce 18 stycznia 1994 roku. Został on rozesłany w liczbie kilkunastu tysięcy do wszystkich grup newsowych, a także na setki tysięcy prywatnych adresów mailowych. Miał on tytuł: „Global Alert for All: Jesus is Coming Soon” i został wysłany przez chorego psychicznie studenta z uniwersytetu stanowego Ohio. W tym samym roku miał miejsce pierwszy gigantyczny spam o charakterze komercyjnym. Firma adwokacka, prowadzona przez Laurence'a Cantera oraz Marthę Siegel z Phoenix w stanie Arizona, rozesłała do wielu grup Usenetu swoją ofertę usług w zakresie wypełniania formularzy amerykańskiej loterii wizowej. Reakcja internautów była jednoznacznie negatywna. Skrzynki prawników zostały zasypane listami od tysięcy adresatów ich reklamy, którzy w ten agresywny sposób wyrażali swoje niezadowolenie z tego typu praktyk. W efekcie dostawca usług internetowych firmy prawniczej zablokował jej dostęp do kont pocztowych. Od czasu afery Cantera i Siegel, która była opisywana szeroko w mass mediach, słowo spam stało się znane ogółowi opinii publicznej w USA. Spam – sziałania dodatkowe ● ● ● ● ● ● Oprócz reklamowania różnych usług i produktów, tego rodzaju przesyłki mogą wiązać się z oszustwami i próbami wyłudzeń: Spam na bankowca (phishing) – spamer podszywa się pod bank i prosi o podanie hasła. Ten sposób może też służyć do przejęcia naszego konta w aukcjach internetowych itp. Spam na urząd bezpieczeństwa – żartowniś podszywa się pod urząd bezpieczeństwa. Spam na spadek – inaczej spam afrykański lub nigeryjski szwindel. Odbiorca dostaje wiadomość, że otrzymał spadek, ale musi opłacić koszty notarialne i operacyjne. Spam na wygraną – wygrałeś milion dolarów. Następnie po wejściu na stronę instaluje się dialer lub trojan wyszukujący informacji o koncie bankowym. Scam (ang. Confidence trick) – działanie polegające na wprowadzeniu kogoś w błąd poprzez sugestię, że jest on beneficjentem określonego dobra, na ogół finansowego. Celem tego działania jest przeprowadzenie trudnego do udowodnienia oszustwa. Najczęstszą formą scamu jest korespondencja w formie tradycyjnej lub elektronicznej – odmiana spamu. Szkodliwość spamu ● Powoduje zatykanie się łączy i blokuje miejsce na twardych dyskach. ● Przetworzenie spamu zabiera czas serwerom, spowalniając ich działanie. ● ● ● Powoduje również stratę czasu poszczególnych użytkowników Internetu, bo muszą oni czytać i kasować niepotrzebne wiadomości. Utrudnia czytanie „normalnej” poczty i stwarza ryzyko jej utraty (z powodu blokad antyspamowych albo przepełnienia skrzynki) lub niezauważenia (z powodu „przysypania” przychodzącym spamem). Zwiększa w ten sposób koszty pracy osób zawodowo korzystających z poczty elektronicznej. Naraża operatorów internetowych i użytkowników na dodatkowe koszty ponoszone na przeciwdziałanie pladze. Spam jest również metodą przerzucenia kosztów promocji na operatorów internetowych i odbiorców korespondencji, a zatem jest formą wyłudzenia. Narusza prywatność i bezpieczeństwo odbiorców, ponieważ często zawiera treści, których nie życzyliby sobie oglądać, np. obraźliwe, pornograficzne, nieodpowiednie dla dzieci. ● Spam wiąże się często z różnego rodzaju wirusami i innymi złośliwymi programami. ● Powoduje utratę zaufania do komunikacji elektronicznej jako takiej. ● Ze względu na zagrożenie spamem, poczta elektroniczna została pozbawiona niektórych przydatnych funkcji, np. potwierdzeń dostarczenia i przeczytania wiadomości Metody przeciwdziałania ● Ostrożnośc w pobieraniu materiałów z sieci I instalowaniu nieznanego oprogramowania ● Instalacja i aktualizacja oprogramowania antywirusowego ● Nie reagowanie na SPAM ani na próby wyłudzenia haseł itp ● Regularne zmiany haseł I wybieranie haseł trudnych kryptograficznie ● włączona zapora sieciowa (firewall) z modułem HIPS (np. DefenseWall HIPS), która zapobiega włączeniu zagrożeń typu zero day, ● nieotwieranie załączników poczty elektronicznej niewiadomego pochodzenia, ● czytanie okien instalacyjnych aplikacji, a także ich licencji, ● wyłączenie makr w plikach MS Office nieznanego pochodzenia, ● regularne całościowe skany systemu programem antywirusowym i antymalware, ● ● ● przy płatnościach drogą elektroniczną upewnienie się, że transmisja danych będzie szyfrowana (banking mode), instalacja programów prewencyjnych (wykrywania i zapobiegania włamaniom), opartych na polityce piaskownicy z HIPS (np. GesWall), użytkowanie środowisk systemów operacyjnych niepodatnych lub mało podatnych na złośliwe oprogramowanie (np. systemy UNIX, GNU/Linux, MacOS X).