TECHNOLOGIE WSPIERAJĄCE POLITYKI BEZPIECZEŃSTWA

W celu zrozumienia zagadnień bezpieczeństwa w eBiznesie wprowadziliśmy standardowy, trzypoziomowy model polityki, procesu i technologii. Uznaliśmy, że najlepiej zacząć od kilku przykładów tego, jak może to zostać naruszone w sytuacjach, w których brakuje środków bezpieczeństwa lub nie ma ich wcale. Aby zobaczyć, jak takie środki mogą poprawić sytuację, musimy teraz przyjrzeć się podstawowym technologiom, a następnie zobaczyć, w jaki sposób można je wbudować w standardowe procesy do pracy na dużym obszarze.

ATAKI BAZY DANYCH

Potencjalne współdzielenie krytycznych danych między różnymi częściami przedsiębiorstwa, zwykle w ekstranecie przedsiębiorstwa, jest postrzegane jako jeden z głównych postępów w zachowaniu biznesowym. Oczywiście ma to zalety, ale jest też ryzyko. Oprócz wariantów wspomnianych powyżej ataków, które umożliwiają atakującym dostęp lub sabotowanie plików, do których nie mają uzasadnionych praw, istnieją operacje zbierania danych wywiadowczych, które mogą być przeprowadzane „legalnie” przez każdego, kto ma nawet ograniczony dostęp do bazy danych. Jednym z takich działań jest wnioskowanie z zapytań statystycznych. Rozważ tabelę .

Reprezentuje (poufną) wartość kontraktów wygranych przez Twoją firmę na zaopatrzenie wielu różnych rodzajów firm w różnych częściach Stanów Zjednoczonych. Aby chronić szczegółową wiedzę zawartą w tabeli, ale aby umożliwić (rozsądnie) zaufanym innym osobom dostęp do niektórych danych, ograniczasz ich do wykonywania tylko określonego zestawu zapytań statystycznych. Mogą na przykład wysłać zapytanie SQL, które zwraca średnią wartość zamówienia dla bazy danych. Mogą również poprosić o łączną liczbę firm w dowolnej lokalizacji, dla której masz dane typu produktu.

To, czego nie chcesz, aby zadawali, to pytania dotyczące tego, ile pieniędzy zabrałeś z pojedynczej firmy. Załóżmy, że pozwalasz im poprosić o średnią wartość dostarczonych zamówień do firm programistycznych w Seattle? (= 3 miliony dolarów). Załóżmy teraz, że pozwolisz im również zapytać o całkowitą liczbę firm w Seattle, które dostarczają oprogramowanie? (= 1). Ups! Chociaż nie pozwoliliśmy na bezpośredni dostęp do zapytań typu „ile pieniędzy pobraliśmy od Tiny”, widzimy, że para zapytań zebranych razem, z powodzeniem znalazła dokładnie taką liczbę. Generalnie okazuje się, że zatrzymanie zestawu uśrednionych statystycznie zapytań dających konkretną odpowiedź jest praktycznie niemożliwe. Jedną z części obrony jest zachowanie ścieżki audytu zapytań i obliczenia wstecz, aby ocenić, co robili użytkownicy. Ale nie ma łatwej całkowitej obrony przed wydarzeniem.

NIEZAAWANSOWANE ATAKI

Nie trzeba nawet nieumyślnie instalować na serwerze podatnego na ataki oprogramowania. Czasami sprzedawcy sami zostawiają otwarte drzwi. Pojawiły się doniesienia, że ​​jeden popularny serwer UNIX ma prawie 30 możliwości nielegalnego wejścia, chyba że zostaną one indywidualnie wyłączone. Inny bardzo popularny system operacyjny ma ponad 45 domyślnych haseł. Jeśli nie zostaną usunięte, każdy z nich może umożliwić nieautoryzowany dostęp. Jednym z przykładów cytowanych przez organ doradczy US NIPC w 1999 r. (o nazwie kodowej 99-027) jest zdalny atak bazy danych na dobrze znany internetowy serwer informacyjny. O ile domyślna opcja pozostawienia tzw. stron przykładowych RDS nie została nadpisana, umożliwia to przeglądarce internetowej wysyłanie i odbieranie zapytań SQL do bazy danych oraz zmianę wpisów. Twierdzi się nawet, że istnieje narzędzie atakujące, które może automatycznie wykryć tę lukę. Inny przykład, od innego dostawcy, jest jeszcze prostszy. Zakładając, że po adresie URL serwera zostanie wpisana dość duża liczba symboli ///, uzyskuje się dostęp do katalogu głównego. Podano liczbę 211 ukośników, ale różni się ona w zależności od wersji serwera. Większość z tych gotowych do użycia luk zostało pozostawionych, aby ułatwić administratorom systemów konfigurowanie i konfigurowanie nowych systemów. Sprzedawcy twierdzą, a sądy jak dotąd nie poświadczają inaczej, że obowiązkiem nabywców jest podjęcie niezbędnych środków ostrożności w celu usunięcia tych luk w zabezpieczeniach. Biorąc pod uwagę kompetentną, a może lepiej „doskonałą” administrację systemami, to nie stanowią one problemów bezpieczeństwa, ale kto jest doskonały?

ATAKI NA SERWER WWW

Wiele innych ataków można zamontować na serwerach sieci Web, co ma różne skutki: na najprostszym poziomie można przeprowadzić atak typu „odmowa usługi”, po prostu bombardując serwer żądaniami. Jeśli ta możliwość nie została uwzględniona przez projektantów, prawdopodobnie doprowadzi to do przepełnienia buforów wejściowych i może doprowadzić do przypadkowego zapisu danych w obszarach zawierających kod wykonywalny. To prawie nieuchronnie doprowadzi do awarii systemu. Nie zawsze łatwo jest wykryć na serwerze, że trwa atak typu „odmowa usługi”. Jak wyjaśniono , wydajność systemu, niezależnie od tego, czy jest on atakowany, czy uzasadniony duży popyt, może wymagać zdalnego monitorowania. Wszystkie, z wyjątkiem najprostszych projektów serwerów sieci Web, obejmują możliwość wywoływania innych programów aplikacji (na przykład operacji wyszukiwania i pobierania danych) w odpowiedzi na żądania klientów-użytkowników poprzez uruchomienie kodu wykonywalnego, na podstawie parametrów przesłanych przez przeglądarkę użytkownika, przy użyciu , na przykład CGI lub Active Server Pages. Zbyt często dla wygody badania bezpieczeństwa ujawniają, że procesy te są zaprojektowane i zainstalowane w sposób niepewny i mogą zostać uszkodzone w celu uruchomienia procesów, do których projektanci nigdy nie mieli zamiaru, gdy są wywoływane zdalnie za pomocą legalnego wiersza poleceń HTTP z dostępem do sieci Web. Dodatkowe instrukcje w HTTP są przekazywane z serwera WWW w celu aktywowania różnych usług aplikacji, które tworzą usługę i dostarczenia im danych. Programy aplikacyjne są skonfigurowane tak, aby odbierać dane przekazywane im przez serwer WWW w postaci ciągów danych zawartych w adresie URL. Na przykład www.myshop.com/cgi-bin/search.cgi?subject = cardigan łączy się z serwerem sieciowym myshop.com, który z kolei aktywuje aplikację o nazwie search i dostarcza jej łańcuch danych cardigan. Przypuszczalnie program przeszuka bazę danych i zwróci informacje o kardiganach. Taki jest zamiar. Załóżmy jednak, że złośliwy użytkownik zauważa, że ​​poprawny adres URL ma postać www.myshop.com/cgi-bin/search.cgi?subject ¼ cardigan wysyła do serwera WWW coś innego, www.myshop.com/cgi-bin/searchTEST. cgi?subject = sweter. Co się stanie? Może nic; być może uda się zgadnąć, a searchTEST.cgi uruchomi wczesny, wadliwy lub niebezpieczny proces. To, co się faktycznie wydarzy, będzie całkowicie zależeć od integralności projektu i jego odporności na atak. Jeśli jest zagrożony, haker może zablokować serwer lub podłączyć tę aplikację do innych aplikacji.

ATAKOWANIE UŻYTKOWNIKÓW INTERNETOWYCH POPRZEZ TAJNE KANAŁY

Niechroniony charakter Internetu pozwala na montowanie wielu innych form ataków. Przyczynia się do tej luki jest również coraz aktywniejsza rola terminala klienta. Jak opisano na stronie 94, w pierwotnym trybie działania sieci przeglądarka terminala działała zasadniczo jako prosty mechanizm pobierania statycznych stron internetowych, których jedynymi informacjami nietekstowymi były informacje używane przez przeglądarkę do formatowania stron. Ustąpiło to sytuacji, w której kod wykonywalny, w postaci apletów Javy lub kontrolek ActiveX, jest uruchamiany na terminalu i może wykonywać szereg czynności, które mogą być potencjalnie niebezpieczne. Aby podać jeden przykład: Dean i in. na Uniwersytecie Princeton podali szczegóły dotyczące wielu luk w zabezpieczeniach JAVA. Rozróżniają one ataki dwu- i trójstronne, w których w pierwszym przypadku musi być zaangażowany serwer sieciowy, ale drugie może zostać przeprowadzone bez zmowy z serwerem. Ataki trójstronne polegają na słabości zabezpieczeń w metodach mających na celu ograniczenie apletów JAVA do komunikacji tylko z serwerem, z którego zostały pobrane do przeglądarki użytkownika. W jednej z odmian ataku możliwe jest, że aplet, po uruchomieniu w przeglądarce, zażąda od serwera wysłania wiadomości e-mail do dowolnego komputera w innym miejscu w Internecie. W jaki sposób ten złośliwy aplet dostaje się na serwer? Dean i wsp. sugerują, że A mógłby umieścić go w pozornie nieszkodliwym narzędziu, które B uznał za atrakcyjne i zamieścił na swojej stronie internetowej. C przegląda stronę internetową, a tym samym ładuje i włącza aplet, który teraz komunikuje się z A za pomocą prostego protokołu transmisji poczty SMTP (e-mail) przez serwer B, nieznany B. Inna odmiana tego procesu może wykorzystywać domenę Name Service (DNS) jako dwukierunkowy ukryty kanał komunikacyjny: aplet wysyła wywołanie do fikcyjnej nazwy, która znajduje się w domenie atakującego. System atakującego rozpoznaje tę fikcyjną nazwę. Możliwe jest wielokrotne wykorzystanie tej metody, aby otworzyć dwukierunkowy kanał komunikacji między maszyną użytkownika a maszyną atakującego. Takie metody zostały wykorzystane do wyodrębnienia danych karty kredytowej z komputera klienckiego.

ATAK Z DEFRAGMENTACJĄ PAKIETU

Istnieją inne ataki, które wykorzystują luki bezpieczeństwa protokołów internetowych. Niektóre są skuteczne nawet po wprowadzeniu środków bezpieczeństwa. Jednym z przykładów takiego ataku jest tak zwany atak defragmentacyjny. Jest to sposób, w jaki ataki mogą być przeprowadzane na serwery internetowe i inne serwery znajdujące się za nimi, w samym sercu rzekomo bezpiecznych, podstawowych zasobów IT firmy. Polega na zdolności do oszukania odbiorcy, aby uwierzył, że żądana jest jedna aplikacja (zazwyczaj żądanie HTTP), a nie, w rzeczywistości, inna, bardziej niebezpieczna. Wewnętrzne sieci korporacyjne są zwykle chronione od zewnątrz za pomocą firewalli (których działanie wyjaśnimy w dalszej części). Jednak jeszcze cztery lata temu nie było powszechnie stosowanych środków zaradczych, które mogłyby powstrzymać atak defragmentacyjny na zaporę ogniową. Prawdą jest, że znaczna liczba instalacji jest nadal podatna na zagrożenia. Tak to działa: Wspomnieliśmy, że protokół IP musi radzić sobie z różnymi sieciami które ustawiają różne wartości na maksymalny rozmiar pakietów danych. Gdy długi pakiet danych dociera do routera do sieci, która może obsługiwać tylko mniejsze pakiety, router dzieli pakiety na fragmenty i nadaje im tymczasowe etykiety, które umożliwiają ich identyfikację w ostatecznym miejscu docelowym i ponowne prawidłowe złożenie.

Teraz, jak pokazano na rysunku, fragmentom nadawany jest numer, który umożliwia ich ponowne złożenie we właściwej kolejności, a pierwszy fragment zawiera również identyfikator portu, który umożliwia komputerowi docelowemu (w tym przypadku atakowanemu serwerowi) ), aby wiedzieć, do którego portu TCP uzyskujesz dostęp. Konwencjonalnie niektóre numery portów są zarezerwowane dla określonych rodzajów dostępu. Na przykład port 80 jest używany do dostępu HTTP (tj. do uzyskania dostępu do serwera WWW), a port 23 jest używany do usług telnet (które umożliwiają dostęp do i przenoszenie plików między serwerem a innymi komputerami. Ogólnie rzecz biorąc, jest to ładne bezpieczne przepuszczanie strony trzeciej przez zaporę ogniową w przypadku żądania HTTP, które spowoduje na przykład zamknięcie strony internetowej. Nie jest rozsądne zezwalanie osobom postronnym na dostęp do plików. Tak więc zapora jest zaprogramowana tak, aby przepuszczać tylko pakiety HTTP a nie telnet. Tak właśnie powinno się stać, a wiele serwerów i zapór ogniowych ufa reszcie świata, że ​​będzie przestrzegała tych zasad. Załóżmy jednak, że atakujący stwarza sytuację pokazaną na rysunku.

Atakujący wygenerował pseudo fragmenty, z których pierwszy jest oznaczony jako port 80, HTTP, dozwolone żądanie. Zapora zatem przekazuje fragment i wszystkie kolejne fragmenty, o których wie, że są częścią tego pakietu. Defragmentacja następuje tylko wtedy, gdy fragmenty docierają do serwera docelowego. (Odbywa się to ze względu na wydajność.) Tutaj są one składane zgodnie z ich etykietą sekwencji. Serwer umieszcza pierwszy fragment (wraz z adresem HTTP), na pierwszym miejscu w pakiecie, za nim umieszczany jest fragment z etykietą 2 i tak dalej. Ale atakujący oszukał: jest drugi „fragment 1”. To nadpisuje poprzedni wpis i zauważ, że jest to adres telnet! Atakujący jest w strukturze plików serwera. Teraz, gdy ta metoda ataku została rozpoznana, niektórzy producenci zapór ogniowych produkują nowe systemy (i łatki dla starych systemów), które defragmentują pakiety i badają je pod kątem niebezpieczeństwa przed przekazaniem ich dalej.

ATAK SOURCE ROUTING

Jednym z przykładów generowania fałszywych wiadomości jest tak zwany atak routingu źródłowego. W Internecie same protokoły TCP/IP są bardzo ufne. Bardziej troszczą się o zapewnienie niezawodności połączenia niż o jego autentyczność. Stworzyło to możliwość szczególnej formy ataku routingu źródłowego, który pozwala stronie trzeciej udawać kogoś innego, nawet bez możliwości obserwowania ruchu w sieci. Zastanów się, co się dzieje po zainicjowaniu sesji TCP/IP:

† A chce otworzyć sesję z B. Wysyła wiadomość „od A do B: synchronizacja, ISN(A)” Ta wiadomość jest adresowana do B i mówi mu, że A wybrał 32-bitowy numer ISN(A), jako „początkowy numer sekwencyjny” lub sesja.

† W zamian B wysyła „od B do A: synchronizacja, ISN(B), potwierdź ISN(A)”, który potwierdza numer inicjujący A i wydaje własny, ISN(B).

† A następnie odeśle „z A do B, potwierdź ISN(B)”.

Oznacza to teraz, że A i B dzielą parę numerów sekwencyjnych, których mogą użyć do zidentyfikowania połączenia między nimi. Jeśli te liczby są generowane przez losowy proces, osobie trzeciej trudno byłoby odgadnąć, jakie one są. Ale często tak nie jest. Na ogół są one generowane przez inkrementację prostego licznika, czasami o ustaloną kwotę po ustalonym okresie. Dlatego nie zawsze trudno jest poprawnie odgadnąć wartość. To, co może się wydarzyć dalej, pokazano na rysunku

† C (zły facet) najpierw otwiera połączenie z B, wysyłając „od C do B: synchronizacja, ISN(C)”.

† B odpowiada „od B do C: synchronizacja, ISN(B)”.

† C teraz udaje A, wysyłając „od A do B: synchronizacja, ISN(C)”.

Oznacza to, że używa adresu IP A, a także używa tej samej wartości synchronizacji, co wcześniej. Nie ma powodu, dla którego to drugie nie mogłoby mieć miejsca w legalnej komunikacji. Proces przebiega w następujący sposób:

† Odpowiedź B (którą C niekoniecznie widzi, ponieważ jest kierowana do A) to „od B do A: synchronizacja, ISN(B)”, potwierdzenie ISN(C).

Chociaż C niekoniecznie to widzi (ponieważ trasa z B do A może nie przechodzić przez router C), może odgadnąć wartość ISN(B’). Załóżmy, że zgaduje poprawnie:

† C wysyła „od A do B: potwierdź ISN(B)”.

Oznacza to, że B myśli teraz, że komunikuje się z A, a nie z C. Jeśli B jest zadowolony z przyjęcia adresu IP jako sposobu uwierzytelnienia wiadomości, to właśnie przyznał C dostęp do wszystkich uprawnień A. Z punktu widzenia C problem pojawia się, gdy A jest aktywnie on-line i wykrywa wiadomości od B. Wtedy automatycznie wygeneruje wiadomości, które zerwą połączenie. Istnieje jednak wiele strategii, których C może użyć, aby obejść ten problem, w tym blokowanie A ruchem w celu zignorowania wiadomości od B. Należy zauważyć, że C wymaga podszycia się pod A tylko przez krótki czas, wystarczająco długi, aby dostać się do system, aby zasadzić jakiś błąd, który umożliwi łatwy dostęp w przyszłości.

DOTKNIĘCIE INTERNETU

Nieuprawnionemu podmiotowi trzeciemu dość trudno jest przeprowadzić masowy atak „podsłuchowy” na wszystkich użytkowników tradycyjnych sieci telefonicznych. Łącza, które łączą wszystkich klientów, znajdują się pod kontrolą władz telekomunikacyjnych i są również fizycznie trudno dostępne. Nie dotyczy to Internetu. Ze względu na swoją federacyjną naturę — ​​celową cechę projektową zapewniającą zróżnicowanie przed awariami punktów — pakiety danych mogą przechodzić przez dużą liczbę domen, które nie są chronione i są skoncentrowane na routerach łączących ze sobą podsieci. Co więcej, te pakiety danych niosą ze sobą adresy źródłowe i docelowe

W ten sposób są kierowane, a router można postrzegać prawie jako Internet sam w sobie. Nic nie jest prostsze niż odczytywanie i kopiowanie ruchu do złośliwego napastnika za pomocą tak zwanego oprogramowania sniffer. Wszystkie dane można łatwo odczytać, zmodyfikować lub wykorzystać do przeprowadzenia bardziej złożonych ataków. Pochodzenie, same dane lub typ aplikacji można zmienić. Tak więc, w przeciwieństwie do podsłuchów telefonicznych, proces ten nie musi być jednokierunkowy, tylko do odbioru: fałszywe wiadomości, które rzekomo pochodzą z innych źródeł niż rzeczywiste, mogą być wstrzykiwane do sieci w procesie zwanym spoofingiem

ATAK PODSŁUCHU

Kiedy potencjalna nagroda jest wystarczająco duża, atakujący mogą być bardzo wyrafinowani. Opierając się na lekcjach wyciągniętych ze zbierania danych wywiadu wojskowego, mogą użyć sprzętu do podsłuchiwania, aby uzyskać dostęp do sygnałów w postaci tekstu jawnego, całkowicie omijając w ten sposób problem z deszyfrowaniem. Na przykład każdy szpieg-amator „wie”, że sygnały z ekranów komputerów mogą być łatwo odebrane i odszyfrowane przez człowieka w furgonetce zaparkowanej przed budynkiem. W rzeczywistości jest to znacznie mniej łatwe, ale faktem jest, że wojsko wyświetla swoje tajne dane obliczeniowe za pomocą specjalnie zaprojektowanych terminali, które emitują znacznie zmniejszoną ilość sygnału elektronicznego, co sugeruje, że zagrożenie jest realne. Jeśli jednak uważasz, że Twoje dane są wystarczająco cenne, aby zagwarantować ten stopień bezpieczeństwa, powinieneś przyjąć dość oszczędne podejście do wdrażania takich ekranowanych terminali. Są drogie, być może 3–10 razy więcej niż standardowe terminale. Również mając w pamięci, że mając krytyczne dane przetwarzane na tych maszynach, podnosisz flagę wskazującą dokładnie, gdzie znajdują się twoje sekrety, powinieneś traktować je ostrożnie, w przeciwnym razie wykształcisz postawę fałszywego bezpieczeństwa, która jest gorsza niż brak . Ważne jest, aby trzymać je w bezpiecznym miejscu, upewniając się, że są serwisowane w kompetentny sposób i przez zaufanych techników. Istnieje ryzyko, że ktoś przypadkowo lub celowo uszkodzi ekran elektromagnetyczny, umożliwiając tym samym ucieczkę promieniowania elektromagnetycznego. Beztroska (prawdziwa) historia: duża firma handlująca diamentami prowadziła swój ściśle tajny plan ustalania cen w „osłanianym” pokoju, unikając w ten sposób możliwości podsłuchu radiowego przez swoich konkurentów. Podczas jednego ze spotkań jeden z dyrektorów musiał odejść, ponieważ otrzymał powiadomienie na pager od swojego szefa. Źle skonstruowana lub utrzymana obudowa nie jest dobrym pomysłem! Nawiasem mówiąc, zagrożone są nie tylko ekrany wideo; doniesiono, że wiele kart inteligentnych zawierających oprogramowanie szyfrujące ma poważne słabości. W wielu trybach użytkowania karty inteligentne, które są wkładane do terminali lub czytników, pobierają z nich energię elektryczną podczas transakcji. Wydaje się, że ilość pobieranej energii zmienia się nieznacznie w zależności od konkretnych operacji wykonywanych przez proces szyfrowania na karcie. W szczególności twierdzi się, że w ten sposób można zidentyfikować niektóre informacje dotyczące ustawień klucza prywatnego używanego do szyfrowania i odszyfrowywania danych.

ATAK NA NIEOCHRONIONY SYSTEM

Mamy nadzieję, że uruchomiliśmy wystarczającą liczbę alarmów, aby powiedzieć, że bezpieczeństwo należy patrzeć odgórnie. Aby bardziej szczegółowo zrozumieć, w jaki sposób można przeprowadzać ataki techniczne, musimy teraz przyjrzeć się niektórym konkretnym technologiom. W poniższym materiale opisujemy kilka sposobów atakowania zasadniczo niechronionych systemów, aby dać pewne pojęcie o złożoności problemów i uzyskać wgląd w przebiegły charakter atakujących. Ma być pouczający i zabawny, ale w żadnym wypadku nie jest wyczerpujący ani całkowicie aktualny. Czytelnicy powinni być świadomi, że chociaż w przypadku większości podanych przykładów można znaleźć poprawkę, istnieje wiele innych sposobów montowania ataków.