Blog (65)
Komentarze (803)
Recenzje (0)

OSSTM v3, część pierwsza - defincje

@tflOSSTM v3, część pierwsza - defincje03.05.2013 22:22

Nie będę udawał - pisze to głównie dla siebie. Tak, by napisawszy jeszcze lepiej zrozumieć i usystematyzować. Taki sposób, by angielski ponad dwustu stronicowy podręcznik rozumieć, a nie znać na pamięć. Jednocześnie - być może komuś się przyda ta wiedza. Zwłaszcza, że to OS.

OSSTM

Czyli Open Source Security Testing Methodology (Manual) to podręcznik opisujący metodę przeprowadzania testów bezpieczeństwa. Podkreślam, że nie chodzi tutaj o pentesty, podręcznik etycznego hakiera, ani manual do metasploita. To podręcznik, który opisuje sposób weryfikacji bezpieczeństwa środowiska informatycznego (z naciskiem na ataki z zewnątrz).

Semantyka

W języku angielskim występują dwa słowa, które tłumaczone na polski mają takie samo brzmienie - safety i security. Oba ta słowa w OSSTMM występują i mają inne znaczenie. Różnica polega na tym, że safety (ja będę tłumaczył na bezpieczeństwo) to stan, w którym zagrożenia lub jego skutki są znane i kontrolowane (controlled). Kontrolowane natomiast znaczy, że organizacja jest przygotowana na wystąpienie zagrożenia (czy to przez zabezpieczenia, przeniesienie ryzyka [ubezpieczenie itd.] czy jego akceptację).

Security ja tłumacze na zabezpieczenia. Czyli... zabezpieczenia sensu stricte. Dla pewności - to elementy separujące między aktywami i zagrożeniami lub ich eliminacja (aktywów i zagrożeń).

Po co mi metodologia?

Nie będę odkrywczy - po co wymyślać koło na nowo, skoro można sięgnąć po gotowe i przeznaczone do sięgania po nie? Na dodatek otrzymujemy pełny sposób by wiarygodnie (a przez wiarygodnie mam na myśli poziom akceptowany przez znaczną część organizacji, które tematem się zajmują) ocenić poziom bezpieczeństwa.

Definicje

Powierzchnia ataku

Attack surface - luka w separacji lub procesie kontroli, dla której istnieje wektor ataku.

Wektor ataku

Attack vector - podatny kierunek (sposób) interakcji. Przykład - wystawiamy do internetu serwer, do którego dostać można się tylko przez SSH. Powierzchnia ataku to właśnie SSH. Wektorem ataku będzie exploit na starego deamona, ale także atak brute force. Oczywiście tylko wtedy, gdy deamon faktycznie będzie podatny na exploit, a hasło nie będzie odpowiednie lub (co bardzo istotne) nie będziemy przygotowani (nie będziemy kontrolować) na sytuację utraty kontroli nad serwerem przez kompromitację SSH.

Kontrola

Controlls - zabezpieczenie przeciw zagrożeniom lub na wypadek udanego ataku. OSSTMM podaje ciekawy przykład sklepu. Jeśli wybuchnie pożar w magazynie, to kontrolujemy tę okoliczność, gdy towar jest ubezpieczony, mimo, że ubezpieczenie nie obroni nas przed pożarem. O kontrolingu więcej w dalszej części.

Ograniczenia

Limitations - wszystkie luki i słabości w zabezpieczeniach. Te zaś dzielimy na zaobserwowane i zweryfikowane.

Operacyjność

Operations - operacyjność to brak zabezpieczeń spowodowany koniecznością ich zniesienia. Na przykład w sytuacji, gdy prowadzimy serwis WWW nie będziemy blokować portu 80.

Idealne bezpieczeństwo

Perfect Security - idealny balans między bezpieczeństwem i kontrolingiem a ograniczeniami i operacyjnością.

Porowatość

Porosity - właściwość zabezpieczenia polegająca na rozluźnieniu zasad zabezpieczeń. Na przykład - firewall pozwala na przepuszczenia pakietów HTTP przez port 80, ale żadnych innych.

Więcej o zabezpieczeniach, kontroli i ograniczeniach

Mając już ten krótki słownik pojęć można przyjrzeć się dokładniej najważniejszym zagadnieniom. Przede wszystkim o zabezpieczeniach, kontroli jaką można przez nie uzyskać i ograniczeniom, jakie mogą mieć.

Zabezpieczenia

Zabezpieczenia są pochodną separacji. OSSTMM wyróżnia trzy podstawowe sposoby stworzenia separacji:

  • Fizyczna lub logiczna bariera między zagrożeniem a zasobem (firewall, DMZ etc.)
  • Przemiana zagrożenia w stan niegroźny (ignorowanie pakietów SYN przez serwery DNS)
  • Zniszczenie zagrożenia (programy antywirusowe etc)

W sytuacji idealnej jesteśmy w stanie stworzyć taką separację, która w 100% zapewnia bezpieczeństwo zasobu (odcięcie zasobu od internetu, zapewnienie bezpiecznej fizycznej zapory itd.). Jednak sytuacje idealne nie istnieją, dlatego bardzo często musimy robić dziury w separacji (aby zachować operacyjność). Te właśnie dziury określane są jako porowatość. Przeprowadzając analizę bezpieczeństwa zgodne z OSSTMM tester powinien znać wszystkie porowatości lub umieć je zidentyfikować.

Dygresja - powtórzę się, ale warto. OSSTMM nie jest poradnikiem młodego hakera. Nie znajdziecie w nim nic, co nauczy Was jak sprawdzić, czy podatność istnieje, czy nie. OSSTMM uczy, jak ocenić fakt istnienia lub nieistnienia podatności. Metasploit jest naprawdę krok wcześniej.

Porowatość powinny wynikać zawsze z operacyjności. W przeciwnym wypadku zaliczyć je należy do ograniczeń. Tester w procesie analizy powinien zakwalifikować każdą porowatość (każdego pora:) ), do jednej z trzech kategorii, które definiują jej zadania w operacyjności. Te kategorie to:

  • Widoczność (visibility) - naiwne jest twierdzenie, że security by obscurity jest naiwne. Nie może być oczywiście jedynym elementem zabezpieczeń, ale każdy wie, że to okazja czyni złodzieja. Nieznane (niewidoczne dla atakującego) zasoby są dopóty bezpieczne, póki nie zostaną odkryte.
  • Dostęp (access) - Operacyjność w ogromnej większości przypadków wymaga dostępu do zasobu, inaczej mówiąc sposobów interakcji z zasobem. Na przykład webaplikacja sięgająca (porowatość) do bazy danych (zasób)
  • Zaufanie (trust) - Zaufanie to najgorsze słowo, jakie mogło mi przyjść do głowy, ale nie potrafię chyba użyć lepszego. To po prostu każda zależność między zasobem, a czynnikiem zewnętrznym, zapewniająca swobodny dostęp do zasobu (na przykład VLAN, z którego jest dostęp przez RDP/SSH do sieci produkcyjnej)

Reasumując zabezpieczenia separują między zagrożeniami a zasobami, każda porowatość zmniejsza bezpieczeństwo i należy do (wynikają z konieczności) widoczności, dostępności lub zaufania.

Kontrola

Kontrolowane zagrożenia przestają być zagrożeniami. Skąd jednak mieć pewność, że zabezpieczyliśmy się przed wszystkimi zagrożeniami, więc je kontrolujemy? Szanse są mimo wszystko marne. Na szczęście, można zrobić więcej, niż biernie czekać na wydarzenia i reagować. Można działać proaktywnie. Przede wszystkim trzeba umieć powiedzieć co jest zasobem i jaka jest konieczna operacyjność zasobu. Gdy ograniczymy te dane do wiadomych, będziemy mogli się skupić na ich obronie (w przeciwieństwie do obrony PRZED nieznaną listą zagrożeń).

Po drugie trzeba brać pod uwagę prawdopodobieństwo. Raczej jest nikła szansa, by w znajdująca się w Polsce kolokacja mogła podlec uszkodzeniu z powodu trzęsienia ziemi, więc nie trzeba specjalnie dbać (kontrolować) o ten aspekt. Z drugiej strony znane mi są przypadki rezygnacji ze świetnie zapowiadającej się serwerowni, która znajdował się na trasie lądowań samolotów. Wtedy sytuacja była kontrolowana. Sytuacja nieczęsta, którą można było przewidzieć, a nie została poprawnie skontrolowana? Serwerownia znajdująca się w pobliży magistrali pociągowej uczęszczanej przez składy towarowe i awaria macierzy, spowodowana przez drgania podłoża. O ryzyku więcej przy okazji ograniczeń.

OSSTMM wyróżnia dwie klasy kontroli:

[list] [item] Klasa A - kontrola interakcji

  • Autoryzacja (Authentication)- w zasadzie połączenie identyfikacji i autoryzacji. Czyli weryfikacja nawiązującego interakcje z zasobem pod względem posiadania odpowiednich uprawnień.
  • Ubezpieczenie (Indemnification) - podany wcześniej przykład z płonącym magazynem nie wyczerpuje tego punktu. Ubezpieczenie to także każde widoczne ostrzeżenie przed interakcją z zasobem, umowa SLA z dostawcą usług lub umowa ze stroną zewnętrzną
  • Redundancja (Resilience) - odporność zabezpieczeń na awarię, błąd, uszkodzenie
  • Ograniczenia (Subjugation) - zapewnienie, że interakcja następuje tylko zgodnie ze zdefiniowanym przez właściciela zasoby procesem. Autorzy OSSTMM zwracają w tym punkcie uwagę na fakt, że ta kontrola zmniejsza dowolność interakcji, ale także zmniejsza odpowiedzialność po stronie nawiązujących interakcję.
  • Dostępność (Continuity) - odporność zasobu na awarię, błąd, uszkodzenie, która zapewnia ciągłość interakcji.

[/item][item] Klasa B - kontrola procesów ochrony

  • Niezaprzeczalność (Non-repudiation) - zapewnienie, że w czasie trwania interakcji nie zmieni się rola strony interakcji.
  • Poufność (Confidentiality) - zapewnienie, że zasoby ujawnione lub wymienione przez strony interakcji są znane tylko tym stronom.
  • Prywatność (Privacy) - zapewnienie, że sposoby interakcji znane są tylko stroną interakcji
  • Integralność (Integrity) - zapewnienie, że strony interakcji wiedzą o zmianach w zasobach. Inaczej mówiąc, że dane wymieniane między autoryzowanymi użytkownikami zasobów a zasobem nie ulegają zmianie przez osoby trzecie.
  • Alarm (alarm) - kontrola podejmowania interakcji z zasobem (na przykład informacje o aktualnie zalogowanych użytkownikach i log autoryzacji)

[/item][/list]

OSSTMM wskazuje trzy aspekty (mało oryginalnie zresztą) wskazuje trzy aspekty, które powinny być chronione:

  • Poufność (Confidentiality) - którą zapewnia kontrolowanie Poufności i Prywatności (klasa B) oraz Autoryzacja i Redundancja (klasa A)
  • Integralność(Integrity) - którą zapewnia kontrolowanie Integralności, Niezaprzeczalności (klasa B) oraz Ograniczenie (klasa A)
  • Dostępność (Availability) - którą zapewnia kontrolowanie Dostępności i Alarmu (klasa B) oraz Ubezpieczenia (klasa A)

Zasada słabego zamka czyli trudna sztuka wyboru

Zasada słabego zamka związana jest z odpowiedzią na pytanie czy lepiej mieć słaby zamek w drzwiach, czy w ogóle go nie mieć? Wyobraźmy sobie drzwi, które chronią nasz cenny zasób. W drzwi możemy wstawić od wewnątrz solidny rygiel. Jednak jak wtedy podjąć interakcje z zewnętrzną stroną? W przypadku, gdy operacyjność wymaga, by drzwi można było otwierać od zewnątrz? Okazuje się wtedy, że w drzwiach wydrążyć należy łoże na zamek, co wpływa na odporność drzwi. Zakładając jednak tani i słaby zamek narażamy się na sytuację, że ktoś nieuprawniony dostanie się do naszego zasobu. Co gorsza - może się dostać do niego nie tylko przełamując siłowo drzwi, ale także wykorzystując nieskomplikowany system zapadek w zamku. Wtedy nawet nie będziemy wiedzieć, że coś się właściwie stało. Można oczywiście założyć, że zasób ten nie będzie interesował osoby posiadające odpowiednią wiedzę by stworzyć wytrych. Z drugiej strony, zamek w drzwiach może budzić zainteresowanie tym, co jest za nimi. Pytanie wciąż pozostaje bez ostatecznej odpowiedzi. Choć popsuty zamek to dobry sygnał o włamaniu...

Jak to się ma do kontroli? Trzeba pamiętać, że dodanie metody kontroli zwiększa powierzchnię ataku (wydrążenie łoża). Trzeba także pamiętać, że dobrze jest prowadzić księgę wejść i wyjść(Klasa B - Alarm). Być może zamiast dodawać zamek w drzwiach, należy zastanowić się nad tym, czy na pewno jest to konieczne?

Ograniczenia

OSSTMM zrezygnował z używania pojęcia RYZYKO i nie bierze go pod uwagę przy analizie bezpieczeństwa. To dość drastyczne podejście, bo częstokroć spotkałem się z tłumaczeniem, że skoro dotychczas się coś nie wydarzyło, to po co zabezpieczać się przed tym. Ryzyko jest pochodną prawdopodobieństwa, a to ostatnie zmienia się w czasie gwałtownie, zależy od środowiska, zasięgu działania, zasobów, dostępnych zagrożeń i innych czynników. Dlatego OSSTMM używa pojęcia ograniczenia, by wykazać niedociągnięcia zabezpieczeń, zamiast patrzeć na sprawę od strony zagrożeń.

Wyróżniono 5 ograniczeń:

  • Podatność (Vulnerability) - luka lub błąd gdy autoryzowana strona nie może nawiązać interakcji z zasobem lub nieautoryzowana strona może nawiązać interakcje, która wymaga autoryzacji lub gdy nieautoryzowana strona może ukryć zasób lub swoje działania.
  • Słabości (Weakness) - zmniejszenie poziomu interakcyjnych operacji kontroli (klasa A)
  • Problem/Dolegliwość (Concern) - zmniejszenie poziomu pięciu operacji kontroli procesu (klasa B)
  • Ujawnienie (Exposure) - luka lub błąd, która powoduje bezpośrednią lub pośrednią widoczność zasobów poza wybranymi kanałami
  • Anomalia (Anomaly) - niezidentyfikowany i nieznany element, który nie został skontrolowany i nie może być przypisany do żadnych elementów kontroli.
Mapa ograniczeń względem operacyjnośći i kontrolii
Mapa ograniczeń względem operacyjnośći i kontrolii

Podsumowanie

Narobiło się tego... oj, narobiło. A jesteśmy dopiero na samym początku, czubek góry lodowej. W następnej części (oby jak najszybciej...) już więcej z praktyki, innymi słowy - rozdział drugi - What you need to do. Mam nadzieję, że mimo wszystko ktoś poza mną to przeczyta.

Linkownia

ISECOM - twórcy OSSTMM Podręcznik w języku angielskim

PS. Wszystkie focie pochodzą z Open Source Security Testing Methodology Manual.

Szanowna Użytkowniczko! Szanowny Użytkowniku!
×
Aby dalej móc dostarczać coraz lepsze materiały redakcyjne i udostępniać coraz lepsze usługi, potrzebujemy zgody na dopasowanie treści marketingowych do Twojego zachowania. Twoje dane są u nas bezpieczne, a zgodę możesz wycofać w każdej chwili na podstronie polityka prywatności.

Kliknij "PRZECHODZĘ DO SERWISU" lub na symbol "X" w górnym rogu tej planszy, jeżeli zgadzasz się na przetwarzanie przez Wirtualną Polskę i naszych Zaufanych Partnerów Twoich danych osobowych, zbieranych w ramach korzystania przez Ciebie z usług, portali i serwisów internetowych Wirtualnej Polski (w tym danych zapisywanych w plikach cookies) w celach marketingowych realizowanych na zlecenie naszych Zaufanych Partnerów. Jeśli nie zgadzasz się na przetwarzanie Twoich danych osobowych skorzystaj z ustawień w polityce prywatności. Zgoda jest dobrowolna i możesz ją w dowolnym momencie wycofać zmieniając ustawienia w polityce prywatności (w której znajdziesz odpowiedzi na wszystkie pytania związane z przetwarzaniem Twoich danych osobowych).

Od 25 maja 2018 roku obowiązuje Rozporządzenie Parlamentu Europejskiego i Rady (UE) 2016/679 (określane jako "RODO"). W związku z tym chcielibyśmy poinformować o przetwarzaniu Twoich danych oraz zasadach, na jakich odbywa się to po dniu 25 maja 2018 roku.

Kto będzie administratorem Twoich danych?

Administratorami Twoich danych będzie Wirtualna Polska Media Spółka Akcyjna z siedzibą w Warszawie, oraz pozostałe spółki z grupy Wirtualna Polska, jak również nasi Zaufani Partnerzy, z którymi stale współpracujemy. Szczegółowe informacje dotyczące administratorów znajdują się w polityce prywatności.

O jakich danych mówimy?

Chodzi o dane osobowe, które są zbierane w ramach korzystania przez Ciebie z naszych usług, portali i serwisów internetowych udostępnianych przez Wirtualną Polskę, w tym zapisywanych w plikach cookies, które są instalowane na naszych stronach przez Wirtualną Polskę oraz naszych Zaufanych Partnerów.

Dlaczego chcemy przetwarzać Twoje dane?

Przetwarzamy je dostarczać coraz lepsze materiały redakcyjne, dopasować ich tematykę do Twoich zainteresowań, tworzyć portale i serwisy internetowe, z których będziesz korzystać z przyjemnością, zapewniać większe bezpieczeństwo usług, udoskonalać nasze usługi i maksymalnie dopasować je do Twoich zainteresowań, pokazywać reklamy dopasowane do Twoich potrzeb. Szczegółowe informacje dotyczące celów przetwarzania Twoich danych znajdują się w polityce prywatności.

Komu możemy przekazać dane?

Twoje dane możemy przekazywać podmiotom przetwarzającym je na nasze zlecenie oraz podmiotom uprawnionym do uzyskania danych na podstawie obowiązującego prawa – oczywiście tylko, gdy wystąpią z żądaniem w oparciu o stosowną podstawę prawną.

Jakie masz prawa w stosunku do Twoich danych?

Masz prawo żądania dostępu, sprostowania, usunięcia lub ograniczenia przetwarzania danych. Możesz wycofać zgodę na przetwarzanie, zgłosić sprzeciw oraz skorzystać z innych praw wymienionych szczegółowo w polityce prywatności.

Jakie są podstawy prawne przetwarzania Twoich danych?

Podstawą prawną przetwarzania Twoich danych w celu świadczenia usług jest niezbędność do wykonania umów o ich świadczenie (tymi umowami są zazwyczaj regulaminy). Podstawą prawną przetwarzania danych w celu pomiarów statystycznych i marketingu własnego administratorów jest tzw. uzasadniony interes administratora. Przetwarzanie Twoich danych w celach marketingowych realizowanych przez Wirtualną Polskę na zlecenie Zaufanych Partnerów i bezpośrednio przez Zaufanych Partnerów będzie odbywać się na podstawie Twojej dobrowolnej zgody.