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.

SZCZEGÓLNE PROBLEMY BEZPIECZEŃSTWA SYSTEMÓW KOMPUTEROWYCH

Biznes elektroniczny zawdzięcza swoje początki rozwojowi niedrogich komputerów; temu również zawdzięcza swoje problemy z bezpieczeństwem. Komputery przypadkowo naruszają prawo Bauera: „Powierzchowne komplikacje mogą dawać fałszywe poczucie bezpieczeństwa”. Komputery są z natury bardzo złe z punktu widzenia bezpieczeństwa. Są niezwykle elastyczni, a elastyczność bardzo utrudnia prowadzenie policji. Są one złożone i nie jest łatwo przeanalizować, w jaki sposób niewłaściwe użycie systemu może zostać wykorzystane do obejścia standardowych kontroli. Komputery komunikują się teraz na rozległych obszarach, w środowisku otwartym dla każdego, przy użyciu protokołów, które w zasadzie zakładają dobrą wiarę w imieniu współpracujących systemów. Założenia „dobrej wiary” są śmiertelne dla dobrego bezpieczeństwa i prawdopodobnie musimy dodać, że ponieważ większość pracowników komputerowych myśli i działa w dobrej wierze, sami reprezentują jedną z największych słabości. Aby pomóc w legalnym użytkowaniu, komputery zostały celowo zaprojektowane tak, aby usunąć złożoność ich działania przed ich użytkownikami i programistami aplikacji, którzy nie muszą patrzeć na niektóre z bardziej podstawowych składników systemu. Dlatego w większości przypadków rozsądne jest modelowanie systemu komputerowego, jak pokazano na rysunku.

Częściej robi się rysowanie modelu jako zestawu warstw poziomych, gdzie użytkownik ma dostęp tylko do górnej warstwy „aplikacji”, ale tutaj bardziej żywe jest spojrzenie na to, jak szukanie dostępu do pomieszczeń w budynku. Gdy użytkownik uzyska dostęp do pierwszego „pokoju” systemu, wszystkie inne jego wymagania są prowadzone w oderwaniu od nich, w głębszych zakamarkach. Negocjacje między „pokojami” zapewniają odpowiednie interfejsy, które ukrywają szczegółowe działanie bardziej podstawowego oprogramowania. Podobne podejście stosuje się do tworzenia aplikacji, w którym projektant aplikacji nie musi znać szczegółów wewnętrznych pomieszczeń, a także może sprawić, że aplikacje będą przenośne na wielu platformach sprzętowych i programowych. Niestety, oprócz tego, że jest wygodną metaforą wyjaśniającą projekt systemu „w dobrej wierze”, zapewnia on również zbyt wygodny obraz, gdy próbujemy narysować analogię z bezpieczeństwem fizycznym, które stopniowo ogranicza dostęp do krytycznych zasobów za pomocą kontroli i władze na każdych drzwiach, gdy ktoś wchodzi do środka. Nie jest to jednak prawdziwy obraz. Rzeczywistość jest bliższa tej z Rysunku

Najpierw musimy zdać sobie sprawę, że użytkownik nie uzyskuje dostępu do systemu przez jakiś abstrakcyjny „port aplikacji”, połączenie jest rzeczywiste, fizyczne i bardzo głęboko w sercu systemu. W jaki sposób sprzęt „rozpoznaje” użytkownika, na przykład, jeszcze zanim zaczniemy dyskutować o hasłach i szyfrowaniu? W końcu, jak widzimy, istnieje tunel, który przedziera się przez nasz dogodnie podzielony model: wszystkie systemy mają funkcje administracyjne i usługowe, których tak naprawdę nie można umieścić w jednym „pomieszczeniu”. Co ma powstrzymać użytkownika przed udawaniem, że sprzęt jest konsolą systemową? Co zrobić, jeśli użytkownik może uzyskać dostęp do uprawnień administratora systemu administracyjnego, nawet jeśli tylko raz? Należy również pamiętać, że same aplikacje mogą nie działać w odosobnieniu. Albo rozmawiając mniej więcej bezpośrednio ze sobą, albo przez dowolne pomieszczenia (warstwy) w modelu, mogą tworzyć efekty, które nie były zamierzone przez poszczególnych twórców aplikacji. Przykłady tego zobaczymy później. Duży problem z systemami komputerowymi polega na tym, że legalny model projektowy może być podzielony na sekcje, ale nielegalny napastnik może zaatakować system w dowolnym momencie

CO PRÓBUJEMY CHRONIĆ?

Aby kwestie bezpieczeństwa stały się łatwym do rozważenia obszarem, musimy uprościć ogólną dyskusję do takiej, w której określimy możliwą do opanowania liczbę punktów kardynalnych, które chcemy zapewnić, aby były chronione. Istnieje wiele możliwych sposobów ich zdefiniowania, ale jeden z możliwych zestawów, szczególnie istotnych dla biznesu elektronicznego.

Poufność i prywatność: Powszechnie uważa się, że podstawowym prawem człowieka jest możliwość wykonywania czynności prawnych bez nieuzasadnionej obserwacji przez osoby prywatne lub organizacje komercyjne lub oficjalne. Ludzie powinni mieć możliwość kupowania tego, czego chcą, bez krytykowania i wyśmiewania, bez nakłaniania do kupowania innych produktów na podstawie tego, co aktualnie robią (chyba że świadomie zrzekają się prawa) lub bez powiadamiania przestępców o ich posiadaniu cennej własności. Ponieważ tak się uważa, każdy rozsądny sprzedawca będzie starał się unikać tego typu wpadek. Potrzeba poufności rozciąga się jeszcze bardziej na obszary, w których mogą wystąpić bezpośrednie szkody materialne w przypadku naruszenia bezpieczeństwa: dane karty kredytowej, poufne negocjacje w sprawie umów, przelewy finansowe, dokumentacja zdrowotna to obszary, które natychmiast przychodzą na myśl. Firmy dysponują danymi handlowymi, które byłyby szkodliwe dla ich sukcesu, gdyby wpadły w ręce konkurencji. Uczciwość: atakujący lub niekompetentna osoba lub proces może uszkodzić dane bez możliwości ich odczytania. Nie ma systemu, który zagwarantuje, że wiadomość zawsze zostanie dostarczona, ale istnieją sposoby na upewnienie się, że wiadomości nie zostały utracone lub uszkodzone.

Dostępność: może być związana z uczciwością, chociaż ogólnie dotyczy konkretnej kwestii odmowy usługi. Bez rozsądnego bezpieczeństwa łatwo można całkowicie unieaktywnić działalność eCommerce, albo z powodu niekompetencji, albo złośliwego ataku.

Autorytet i odpowiedzialność: Procesy powinny być prowadzone wyłącznie przez osoby, którym powierzono ich prawidłowe działanie. Tylko upoważniony personel wprowadzający dane powinien mieć możliwość zmiany zapisów. Nieumiejętne działanie może prowadzić do strat lub niebezpieczeństwa — być może nie sprecyzować warunków bezpiecznego użytkowania produktu. Złośliwe użycie może prowadzić do celowego zniszczenia lub uszkodzenia plików danych i witryn sieci Web.

PODSTAWOWE ASPEKTY BEZPIECZEŃSTWA

Ponieważ specjaliści ds. bezpieczeństwa są zbyt świadomi prawdziwości ostatniego akapitu, na ogół popierają podejście do bezpieczeństwa, które działa na wielu poziomach, z których technologia jest tylko jednym . Ważne jest, aby zacząć patrzeć na te kwestie od góry, a nie od dołu. Powszechnie wiadomo, że w celu zapewnienia, że ​​funkcje zabezpieczeń spełniają to, co obiecują, należy kierować się rozsądną polityką bezpieczeństwa. Każda taka polityka powinna zaczynać się od przyjrzenia się zaangażowanym procesom biznesowym, zaczynając od oceny umiejętności, szkolenia i zaangażowania każdego zaangażowanego. W prawie wszystkich przypadkach będzie to zwykle przygnębiająco niskie (w przypadku zespołu atakującego może być odwrotnie) i każda implementacja zabezpieczeń musi to uwzględniać. Uzupełnieniem tej oceny powinna być również taka, która próbuje oszacować faktyczną wielkość strat materialnych w stosunku do kosztów ochrony. Ma to na celu nie tylko uniknięcie niepotrzebnych kosztów zakupu sprzętu; przedstawi również oszacowanie zakłóceń w pozostałej części operacji. Ogólnie rzecz biorąc, im większa ochrona zapewniana przez system bezpieczeństwa, tym większa niedogodność dla osób prawnie zaangażowanych. W związku z tym, jeśli Twój schemat bezpieczeństwa jest nieproporcjonalny do postrzeganego zagrożenia, możesz być pewien, że zostanie on naruszony przez użytkowników, którzy będą go traktować z pogardą. Istnieje tradycyjny argument za oddzieleniem operacji krytycznych od mniej krytycznych i stosowaniem tylko uciążliwych procedur bezpieczeństwa do tych pierwszych. W ten sposób łatwiej jest uzyskać akceptację procedur, ponieważ wszyscy zaangażowani widzą niebezpieczeństwa, a także zmniejsza rozmiar zadania. Jednak w operacjach komputerowych istnieje niebezpieczeństwo takiego podejścia. Nie zawsze łatwo jest dostrzec granicę między krytycznym a niekrytycznym. W dalszej części tego rozdziału przyjrzymy się atakom na procesy działające po drugiej stronie serwera sieci Web, po prostu wysyłając uszkodzone wiadomości HTTP do serwera sieci Web: atak przeskakuje z otwartego punktu dostępu do sieci na procesy wewnętrzne, które uważa się za prywatne. i chronione. Na koniec musisz również przeprowadzić ocenę ryzyka pod kątem prawdopodobieństwa ataku, przed i po wprowadzeniu jakiegokolwiek schematu bezpieczeństwa. Należy to mierzyć pod kątem wartości dla atakującego (nie tylko dla Twojej firmy) i zestawić to z prawdopodobieństwem posiadania przez atakującego niezbędnych umiejętności i dostępu. Te oceny bezpieczeństwa najlepiej pozostawić specjalistom ds. bezpieczeństwa, którzy są świadomi zarówno ludzkich słabości, jak i technologii. Tak więc bezpieczny system to nie tylko zestaw haseł i algorytmów szyfrowania. Obejmuje również codzienne procesy administrujące bezpieczeństwem: rolę help-desku w kontaktach z ludźmi, którzy „zapominają” swoje hasła, częstotliwość i dogłębność przeprowadzania audytów, rzeczywistość wiedzy, która atakujący mają na temat twojego systemu i niechlujnego sposobu, w jaki administrują nim twoi pracownicy. Chociaż zasady bezpieczeństwa handlowego nie powinny być uważane za prostą kopię zasad stosowanych w sytuacjach wojskowych, istnieją pewne ogólne wnioski, które wyciągnięto z tych ostatnich, które można zastosować w przypadku handlowym. Profesor Fredrich Bauer z Monachijskiego Instytutu Technologicznego zdefiniował zbiór maksym dla systemów kryptograficznych, które można również ogólnie zastosować do komercyjnego bezpieczeństwa komputerowego :

† „Wróg zna system” (znany również jako Maxim Shannona) – musisz założyć, że atakujący może mieć dostęp do projektu systemu (choć niekoniecznie do samego atakowanego systemu lub do określonych ustawień kluczy bezpieczeństwa). ). Nie tylko zasady, ale także często drobne szczegóły większości komercyjnych systemów szyfrowania i bezpieczeństwa systemu zostały opublikowane i są powszechnie znane. Wiele najlepiej znanych słabości i metod ataków będzie również dostępnych w domenie publicznej. Możesz oczekiwać, że atakujący będą co najmniej tak samo zaznajomieni z algorytmami i systemami operacyjnymi serwerów e-biznesu, jak większość personelu IT. Każdy algorytm musi być nie tylko sam w sobie mocny (trudny do złamania po nałożeniu określonego klucza), ale także wspierany przez proces, który zapewnia, że ​​atakujący nie dostanie klucza w swoje ręce. Bezpieczne zarządzanie kluczami to jedna z bardzo dużych kwestii bezpieczeństwa.

† „Nie lekceważ przeciwnika” – nie bądź samozadowolony ze swoich systemów. Jak wspomnieliśmy, istnieje duża społeczność biegłych w obsłudze komputera hakerów-amatorów i zawodowych przestępców, niektórzy z dużą ilością pieniędzy i czasu w ich rękach. Istnieje również ogromna ilość wskazówek i procedur sondowania systemu dostępnych przez Internet. Na przykład, byłoby całkiem wykonalne, gdyby organizacja aktywistów przeprowadziła chiński atak loteryjny (patrz strona 249), w którym setka członków korzysta równolegle z nieprzerwanego oprogramowania, aby sondować Twoją witrynę przez 24 godziny na dobę, każdego dnia.

† „Tylko {ekspert ds. bezpieczeństwa}, jeśli ktokolwiek, może ocenić bezpieczeństwo systemu” – to nie jest praca dla amatorów. Musisz wykupić technologię i, w przypadku każdego stosunkowo skomplikowanego procesu biznesowego, zatrudnić usługi specjalisty ds. bezpieczeństwa. W rzeczywistości każdemu, ekspertowi lub innej osobie, bardzo trudno jest udowodnić siłę implementacji zabezpieczeń. To kolejny powód, dla którego musimy polegać na ograniczonej liczbie dostępnych na rynku algorytmów i ich implementacji. Chociaż później mogą się okazać, że będą miały słabe punkty, przynajmniej zostaną poddane obszernym testom, co w wielu przypadkach jest najlepszym, co możemy zrobić, aby udowodnić ich wartość. Być może najważniejszym atutem, jaki otrzymasz od akredytowanego konsultanta, jest to, że będzie wiedział, które systemy na rynku mają dobre wyniki w zakresie bezpieczeństwa. Ogólnie rzecz biorąc, lepiej kupować komponenty systemu, takie jak algorytmy szyfrowania, niż pisać własne. Nie wymyślaj ich!

† „Bezpieczeństwo musi obejmować ocenę naruszeń dyscypliny bezpieczeństwa” – dotyczy to zwłaszcza sytuacji handlowych; prawdziwe słabości często tkwią w niewłaściwym działaniu, jak na przykład w przypadku wspomnianych wcześniej kodów PIN do kart kredytowych. Najsilniejszy algorytm nie ma sensu, jeśli dzisiejszy klucz jest postnotowany na terminalu. Być może w kręgach wojskowych może to zostać uznane za przewinienie i tym samym zniechęcone, ale sprzedawcy eCommerce nie mogą tego zrobić swoim klientom. Podstawową zasadą środków bezpieczeństwa w handlu elektronicznym w handlu detalicznym musi być proces na tyle prosty, aby można go było zastosować w relacji klient-dostawca, bez konieczności szkolenia lub nadzwyczajnej staranności w imieniu klienta.

„Powierzchowne komplikacje mogą dawać fałszywe poczucie bezpieczeństwa” – dotyczy to szczególnie systemów komputerowych, gdzie złożoność może bardzo utrudnić audyt słabości systemu. Chociaż bezpieczeństwo wymaga ekspertów, eksperci odpowiedzialni za to w każdej konkretnej instalacji będą mieli żywotny interes w uwierzeniu, że to, co opracowali, jest nie do złamania. Nie wierz im i nalegaj na system, który może być kontrolowany przez stronę trzecią. Oprzyj się sugestiom pracowników, którzy nie są ekspertami ds. bezpieczeństwa, że ​​mogą zainstalować dodatkowe funkcje własnego wynalazku.

Do listy profesora Bauera chcemy dodać kolejną, przygnębiającą maksymę:

† Skomplikowane systemy same w sobie stanowią zagrożenie dla bezpieczeństwa – a komputery są z natury systemami skomplikowanymi. Wrócimy do tego punktu później, ale jest to kwestia fundamentalna dla dalszych dyskusji, co stanie się jasne.