1 Typowe praktyki wykorzystywane w aktywnych zabezpieczeniachRafał Łukawiecki Strategic Consultant, Project Botticelli Ltd Copyright 2005 © Microsoft Corp & Project Botticelli Ltd. E&OE. Ta prezentacja ma wyłącznie charakter informacyjny. Nie udziela się jakichkolwiek gwarancji i przed posłużeniem się tymi informacjami należy je zweryfikować. Można ponownie użyć tej prezentacji pod warunkiem przeczytania, zaakceptowania i stosowania się do wytycznych opisanych w polu „Komentarze” okna Plik/Właściwości.
2 Cele Korzystanie z zasady Dogłębnej obrony w przeglądzie głównych obszarów problemów z zabezpieczeniami Przegląd głównych technologii zabezpieczeń Szybkie przejrzenie list kontrolnych zabezpieczeń głównych produktów serwerowych firmy Microsoft
3 Program sesji Analiza środowiska operacyjnego Ochrona:Aplikacji Hostów Sieci Listy kontrolne ze wskazówkami firmy Microsoft
4 Analiza środowiska operacyjnego
5 Dogłębna obrona Dane Aplikacja Host Zabezpieczenia fizyczneZasady, procedury i świadomość Zabezpieczenia fizyczne Dane Listy ACL, szyfrowanie Aplikacja Wzmacnianie aplikacji, antywirusy Wzmacnianie syst. op., zarządzanie aktualizacjami, uwierzytelnianie Host Sieć wewnętrzna Segmenty sieci, IPSec, NIDS Granica Zapory sieciowe, kwarantanna VPN Strażnicy, zamki, urządzenia rejestrujące, HSM Szkolenie użytkowników w zakresie obrony przed inżynierią społeczną
6 Klasyfikacja typowych zagrożeńSieć Host Aplikacja Zagrożenia sieci Fałszywe pakiety itp. Zagrożenia hosta Przep. buforu, niedozw. ścieżki itp. Zagrożenia aplikacji Wstrzyk. kodu SQL, XSS, manip. wejściem, itp.
7 Przykłady zagrożeń sieciZagrożenie Przykłady Zbieranie informacji Skanowanie portów Używanie trace routingu do wykrywania topologii sieci Używanie żądań rozgłaszania do wyliczania hostów podsieci Podsłuch Korzystanie ze snifferów pakietów do wykradania haseł Odmowa usługi (DoS) Zalewanie pakietami SYN Zalewanie pakietami ICMP echo request Źle sformatowane pakiety Fałszowanie Pakiety ze sfałszowanymi adresami źródłowymi
8 Przykłady zagrożeń hostówZagrożenie Przykłady Arbitralne wykonanie kodu Przepełnienia buforów w bibliotekach ISAPI DLL (np. MS01-033) Ataki typu directory traversal (MS00-078) Ujawnianie pliku Źle sformatowane żądania HTR (MS01-031) Luka virtualized UNC share (MS00-019) Odmowa usługi (DoS) Źle sformatowane żądania SMTP (MS02-012) Źle sformatowane WebDAV HTR (MS01-016) Źle sformatowane adresy URL (MS01-012) Siłowe przesłania plików Nieautoryzowany dostęp Zasoby o niewystarczająco restrykcyjnych listach ACL Fałszowanie przy użyciu skradzionych poświadczeń logowania Wykorzystanie otwartych portów i protokołów Używanie protokołu NetBIOS i SMB do wyliczania hostów Zdalne łączenie się z programem SQL Server
9 Przykłady zagrożeń aplikacjiZagrożenie Przykłady Wstrzyknięcie kodu SQL Dołączenie polecenia DROP TABLE do tekstu wpisywanego do pola wejściowego Skrypty między witrynami Używanie złośliwych skryptów po stronie klienta do wykradania plików cookie Manipulowanie ukrytym polem Złośliwa zmiana wartości ukrytego pola Podsłuch Używanie snifferów do wykradania haseł i plików cookie z ruchu na nieszyfrowanych łączach Przejęcie sesji Używanie skradzionego pliku cookie identyfikatora sesji do uzyskania dostępu do stanu czyjejś sesji Fałszowanie tożsamości Używanie skradzionych plików cookie formularzy uwierzytelniania w celu udawania innego użytkownika Ujawnianie informacji Umożliwianie klientowi obejrzenia stosu, gdy wystąpi nieobsługiwany wyjątek
10 Typowe wzorce nakierowanych atakówWejście do sieci przez wstrzyknięcie kodu SQL itp. Zainstalowanie lub używanie oprogramowania proxy portu do otwarcia przychodzących połączeń Zdalne sterowanie hostem w celu przypuszczenia kolejnych ataków od wewnątrz aż kontroler domeny będzie dostępny Uzyskanie kontroli nad pożądanymi zasobami Zatarcie śladów ataku i usunięcie zainstalowanego oprogramowania
11 Co robić wobec ataku Zastosować awaryjną procedurę działaniaLub zwiększyć poziom pogotowia (z żółtego na czerwony itp.) Wykonać następujące kroki: Określić rodzaj ataku Zlokalizować źródło Chronić i zachować dowody Znaleźć inne zagrożone komputery Uodpornić się na ten problem, gdy tylko będzie to możliwe
12 Kierunki ataku – punkty wejścioweOto czego szuka napastnik Zawsze istnieją Trzeba bronić ich tak dobrze, jak to możliwe „Dolne” liście (kierunki) drzewa zagrożeń Trzy kategorie wejścia: Inżynieria społeczna Niezałatane znane luki Nowe, ogólnie nieznane luki
13 Wejście z poziomu aplikacjiInżynieria społeczna Trojan za pośrednictwem poczty lub programu wiadomości błyskawicznych Zabezpieczanie aplikacji jest niezbędne, aby uniknąć większości problemów Przepełnienie buforu Bezpieczne praktyki kodowania dla programistów Automatyczne stosowanie poprawek aplikacji innych firm Tę usługę zapewnia np. program InstallShield
14 Wejście z poziomu hostaStosowanie poprawek Znane luki są z reguły wykorzystywane przez robaki i komputery zombie Zasada najniższego uprzywilejowania Najbardziej restrykcyjne zasady Najbardziej ograniczone konta Active Protection Przyszłe kierunki automatycznych „innych niż wzorcowe” zachowań hosta Bardzo obiecująca Ochrona antywirusowa Uruchamianie załączników Ochrona przed programami typu spyware
15 Wejście z poziomu sieciZapory sieciowe Konieczność (nawet jeśli zastosowano rozwiązanie Active Protection)! Wiele poziomów między granicami Słaba infrastruktura Starsze, bez poprawek urządzenia sieciowe Kontrolery domeny Wymagane specjalne zabezpieczenia Konieczne zabezpieczenia fizyczne Active Directory Konieczność zweryfikowania spójności z zasadami Wszelkie nieautoryzowane zmiany muszą być zbadane Fizyczne zabezpieczenia kopii zapasowych ma kluczowe znaczenie
16 Typowe poziomy zabezpieczeń (Microsoft)Na podstawie typowych wymagań dotyczących zabezpieczeń-funkcji-kosztów, firma Microsoft wymienia trzy rodzajowe poziomy zabezpieczeń: Starsze Umożliwia zachowanie zgodności z systemami Windows 98, ME itp. – na ogół najbardziej funkcjonalny i dość słabo zabezpieczony Przedsiębiorstwo Typowe potrzeby dotyczące funkcjonalności w oparciu o klientów Windows 2000 i XP z odpornością na wszystkie typowe ataki Na ogół oszczędne Wysokie zabezpieczenia Wprowadza proaktywne zabezpieczenia przed atakami na podstawie wysoce restrykcyjnych zasad kosztem utraty możliwości korzystania z wielu aplikacji i innych ograniczeń funkcjonalności oraz może wykorzystywać formalne modelowanie zabezpieczeń Drogi, ale wart ceny Te pojęcia są używane w książce „Windows Server 2003 Security Guide” i innych dokumentach firmy Microsoft dotyczących zabezpieczeń
17 Ochrona aplikacji
18 Dlaczego ochrona aplikacji jest istotnaOchrona granic zapewnia ograniczone zabezpieczenia Wiele obron opartych na hoście nie jest związanych z konkretną aplikacją Większość współczesnych ataków ma miejsce na poziomie aplikacji
19 Programiści! Z operacyjnego punktu widzenia problem jest oczywiście powodowany przez programistów Ich aplikacje mają dostęp do uprzywilejowanych zasobów Na skutek istnienia luk te zasoby stają się zagrożone Rozwiązanie problemu wymaga niemal intymnych powiązań między programistą a operacjami
20 Podstawowe zabezpieczeniaKorzystać z zaleceń producenta dotyczących zabezpieczeń Takich jak opis „Microsoft Exchange Server Security Guidelines” (Wskazówki dotyczące zabezpieczeń do programu Microsoft Exchange Server) itp. Zdefiniować uniwersalne elementarne wskazówki dotyczące zabezpieczeń dla wszystkich serwerów aplikacji Oprzeć te wskazówki na zaleceniach producenta systemu operacyjnego, takich jak role serwera opisane w podręczniku „Windows Server 2003 Security Guide” (Podręcznik zabezpieczeń do systemu Windows Server 2003) Zaimplementować je jako zasadę Zasady grupy usługi Active Directory to znakomity sposób zarządzania takimi zasadami Używać wynikowego narzędzia zasad do sprawdzania, czy zasada dotyczy hosta zgodnie z wymaganiami Sprawdzanie zgodności jest ciągłym działaniem
21 Własne aplikacje Większość przedsiębiorstw do realizowania wielu kluczowych działań biznesowych korzysta z szeregu własnych, samodzielnie opracowanych aplikacji Te aplikacje rzadko spełniają surowe wymagania dotyczące zabezpieczeń Kształcenie programistów w zakresie bezpieczeństwa jest niezwykle istotne Istniejące aplikacje muszą być traktowane jako „złe” do czasu wykazania za pomocą modelowania zagrożeń, że są bezpieczne
22 Traktowanie niesprawdzonych aplikacjiWszystkie aplikacje do czasu wykazania, że są bezpieczne, traktować jako „złe” Udostępniać je, kierując się tym, czy użytkownik potrzebuje takiego dostępu Ograniczać dostęp zdalny Izolować na dedykowanych serwerach aplikacji Ograniczać serwery za pomocą zasad IPSec, tak aby zezwalały jedynie na taką komunikację, której aplikacja wymaga w jawny sposób Monitorować sposób używania, aby określić podstawowy sposób i alarmować, gdy nastąpi zmiana sposobów Włączyć szczegółowe śledzenie Żądać formalnej analizy zagrożeń, jeśli powyższe ograniczenia są zbyt surowe
23 Relacje z programistamiW odniesieniu do przyszłych aplikacji opracowywanych samodzielnie i na zewnątrz, formalnie żądać dla każdej nowej aplikacji określania zasad zabezpieczeń i zgodności z podstawowymi wytycznymi Uważnie podchodzić do wyjątków Domagać się, aby testowanie aplikacji przeprowadzano w warunkach obostrzonych wymagań dotyczących zabezpieczeń przed „testowaniem beta” lub skierowaniem do programu pilotażowego Ustanowić operacyjny punkt kontaktowy na pytania do programistów
24 Bezpieczne programowanieAplikacje .NET mogą korzystać z szeregu nowych i silnych technik zabezpieczeń Optować za tym, aby przyszłe prace programistyczne wykorzystywały platformę .NET i jej modele zabezpieczeń tam, gdzie jest to możliwe Używany język programowania nie jest istotny, dopóki jest używana platforma Inne środowiska oprogramowania pośredniego mogą wymagać integracji ich podsystemów zabezpieczeń z zabezpieczeniami systemu operacyjnego, hosta i sieci wykonywanej ręcznie w znacznie większym stopniu Czasem jest to istotna słabość
25 Zalecane mechanizmy zabezpieczeń .NETZabezpieczenia dostępu do kodu .NET Dowody platformy .NET Korzystając z podpisów cyfrowych, programiści mogą tworzyć silne kryptograficznie identyfikatory dla swoich aplikacji Można używać tych „silnych nazw” (SN) do tworzenia zasad umożliwiających lub wykluczających uruchamianie całych klas aplikacji Należy kontrolować skojarzone zasady Izolowane składowanie .NET Nowa funkcja umożliwiająca aplikacjom tworzenie „wirtualnych systemów plików” w sposób bardziej odporny na ataki między aplikacjami
26 Ochrona hostów
27 Wzmacnianie systemu operacyjnegoStosować najnowsze poprawki zabezpieczeń i dodatki Service Pack Dodatek SP2 dla systemu Windows XP Zapora systemu Windows z ustawieniami dostosowanymi do aplikacji Ochrona przed uruchamianiem załączników Blokowanie okienek wyskakujących Ochrona pamięci (tylko w odniesieniu do niektórych procesorów) Usprawnienia RPC/DCOM Mogą spowodować problemy ze zgodnością ze starszymi aplikacjami, więc może być konieczne obejście lub poprawienie tej funkcji Stosować własne podstawowe zasady zabezpieczeń
28 Zarządzanie poprawkamiPodejścia: SMS (System Management Server) Do samodzielnego zastosowania, czasochłonne, ale najbardziej elastyczne Usługi SUS (Software Update Services) Pełna kontrola, ale tylko w systemach operacyjnych Windows Windows Update Niewielka kontrola przedsiębiorstwa, tylko systemy Windows, dominujące Aplikacja - producent Installshield Update, HP Software Update i wiele innych Używać narzędzi takich jak MBSA do wykrywania brakujących poprawek Microsoft Baseline Security Analyser
29 Ochrona antywirusowa Dogłębna obronaNa klientach Na serwerach Na zaporach sieciowych Zapewnić pełną zgodność, zwłaszcza z usługą aktualizacji podpisu Rozważyć podejście dwóch producentów: Główne systemy na hostach Dodatkowe systemy różnych producentów na zaporach sieciowych i serwerach komunikacyjnych (poczty itp.)
30 Wykonywanie załącznikówNumer jeden wśród ataków z wykorzystaniem inżynierii społecznej (tak zwane „Luki warstwy 8”) Edukacja to główna linia obrony Nowsze programy mogą obsługiwać załączniki w chroniony, bezpieczny sposób Outlook 2003 XP SP2 Obejmuje aplikacje innych firm Sterowanie za pomocą obiektów GPO
31 Ochrona przed programami typu spyware (malware)Na 90% komputerów znajduje się szkodliwe oprogramowanie, średnio 28 różnych programów typu spyware (wg. Earthlink & Webroot) Komputery zombie Zmniejszenie przepustowości sieci i wydajności procesora Wycieki tajemnic handlowych Naruszenie prywatności Najlepsza wskazówka: SpyBot Search and Destroy (www.spybot.info) Microsoft AntiSpyware (w wersji beta) AdAware
32 Filtrowanie ruchu Oprócz zapór sieciowych należy rozważyć włączenie na każdym hoście filtrowania przychodzącego i wychodzącego ruchu Dogłębna obrona Na podstawie aplikacji i użytkowników Włączać jedynie te protokoły i porty, które są wymagane przez aplikacje działające na hoście Dodatek XP SP2 pomaga w realizacji tego zadania na stacjach roboczych Zestawy reguł IPSec to znakomite narzędzie do tego celu
33 Ochrona sieci
34 Wiele granic Brzeg sieci Zewnętrzna – brzeg sieciMiędzy użytkownikiem a Internetem itp. DMZ – Strefa zdemilitaryzowana Między krawędzią sieci a wszystkimi chronionymi zasobami Możliwa jedynie minimalna ochrona Strefa domyślnego bezpieczeństwa Tradycyjna sieć LAN Strefa podwyższonego bezpieczeństwa „Sieć wewnątrz sieci” Dla kluczowych zasobów Granica (brzeg) izolacji Zasoby nie są fizycznie połączone z sieciami Przydatna dla niektórych kluczowych zasobów (np. główne klucze)
35 Cele ochrony sieci Obrona granic Obrona klientów Wykrywanie włamańKontrola dostępu do sieci Poufność Bezpiecznydostęp zdalny ISA Server WF/ICF 802.1x / WPA IPSec Uwagi studenta Ochrona sieci obejmują następujące typowe elementy: Obronę przed atakami na granicy sieci Obronę przed atakami na klientów z wewnątrz sieci Wykrywanie prób włamań Sterowanie tym, kto może uzyskiwać dostęp do sieci Zabezpieczanie komunikacji w celu zapewnienia poufności Zapewnienie bezpiecznego dostępu zdalnego W tej prezentacji pokazano, jak technologie takie jak ISA Server, ICF, IP Security (IPSec) i różne technologie zabezpieczeń bezprzewodowych mogą ułatwić osiągnięcie tych celów.
36 Systemu wykrywania włamań (IDS)Reaktywny, rodzący się obszar, w którym dostępnych jest zaledwie kilka narzędzi, np.: Niektóre zestawy reguł dla programu Microsoft Operations Manager (MOM) 2005 Monitorowane „kopalnie złota” (honeypots) Skaner internetowy ISS (www.iss.net) Netcat
37 Kopalnie złota (Honeypots)Hosty (z reguły serwery) z pozostawionymi znanymi lukami Odłączone od pozostałej sieci W przeciwnym wypadku stanowią ogromne zagrożenie dla przedsiębiorstwa Intensywnie monitorowane Wszelkie nieautoryzowane dostępy są dozwolone w celu kontrolowanej kontynuacji Stanowią znakomity wskaźnik źródła ataku i możliwości napastnika
38 Zapory sieciowe Program ISA Server 2004 ogromnie ułatwia radzenie sobie z intensywnym (nad)używaniem portu 80 Komunikacja między zaporami a chronionymi przez nie serwerami jest przedmiotem coraz większej troski Oprócz filtrowania ruchu należy rozważyć zastosowanie zapory sieciowej do: Skanowania w poszukiwaniu wirusów Wykrywania włamań Monitorowania zgodności
39 Ochrona portów urządzeń sieciowychBezprzewodowych 802.1x lub pełne użycie standardu WPA Modelowania fizycznego zasięgu radiowego Przewodowych Obecnie trwa opracowywanie odpowiednika standardu 802.1x dla sieci przewodowych Ochrona przed podłączeniem wrogich hostów
40 Systemy heterogeniczneW rzeczywistości w większości przedsiębiorstw działa zdumiewająca liczba systemów Brak jednolitości powoduje powstawanie luk w: Uwierzytelnianiu Wielu infrastrukturach PKI Delegacji administrowania Niezgodnych zabezpieczeniach Z tego mogą wynikać także korzyści: jeśli dzieje się coś złego, mniej elementów ucierpi
41 Jednokrotne logowanieDążenie do stosowania pojedynczej tożsamości użytkownika i jednego hasła (lub karty inteligentnej) do wszystkich celów Wiele kont użytkowników z identycznymi hasłami to poważna luka zabezpieczeń i zmora administracyjna Trzy podejścia: Ujednolicone uwierzytelnianie Np. „wszystkie aplikacje korzystają z uwierzytelniania Kerberos v5 oraz Microsoft AD” Np. „wszędzie używać certyfikatów i infrastruktury PKI” Zsynchronizowana administracja Np. Microsoft Identity Integration Server Na podstawie klienta Karta inteligentna automatyzująca wiele uwierzytelnień (następna sesja)
42 Ujednolicone delegowane uwierzytelnianieTrudne do narzucenia, chyba że wszystkie aplikacje zostały napisane tak, aby używały tego samego systemu W rzeczywistości możliwe tylko wtedy, gdy jeden system dominuje, a inne są sporadyczne Na przykład wielki system AD oraz małe i ograniczone królestwo UNIX W wypadku aplikacji sieci Web całkiem możliwe: .NET Passport lub Ogólnie WS-Federation oraz WS-Security
43 Rozproszone uwierzytelnianie PKINajbardziej otwarte i niezależne rozwiązanie Dość uodpornione na to, co przyniesie przyszłość Wiele certyfikatów rozpoznających się wzajemnie Podpisywanie krzyżowe Wzajemne importowanie głównych certyfikatów TLS, WS-Security, CAPI oraz interfejsy API .NET Fx Integracja AD: Usługa AD może zapewniać automatyczne zaciąganie certyfikatów i zaopatrywanie w nie W razie potrzeby właściwości certyfikatu klienta mogą być automatycznie tłumaczone na użytkowników i role AD
44 Zalecenia dotyczące infrastruktury PKI3-warstwowa struktura odporności i zabezpieczeń: Certyfikaty główne (offline) Certyfikaty OU (offline) Wystawianie certyfikatów (offline) Dalsze omówienie problemów i kwestii związanych z infrastrukturą PKI będzie miało miejsce dzisiaj w późniejszej sesji
45 Zsynchronizowana administracjaMicrosoft Identity Integration Server Zmiany w jednym systemie są przekładane na reprezentację meta-katalogową i wymuszane we wszystkich uczestniczących systemach Może się integrować z systemami HR i innymi systemami W pełni zautomatyzowane zdobywanie personelu, gdy to możliwe Działa między systemami AD/AD oraz AD/inne-katalogi
46 Listy kontrolne ze wskazówkami firmy Microsoft
47 Najlepsze wskazówki dotyczące serwera aplikacjiSkonfigurować zabezpieczenia w podstawowym systemie operacyjnym Zastosować dodatki Service Pack i poprawki systemu operacyjnego i aplikacji Instalować lub włączać tylko niezbędne usługi Przydzielać jedynie te uprawnienia, które są niezbędne do wykonania wymaganych zadań Konta aplikacji powinny mieć przydzielone minimalne uprawnienia Stosować zasadę dogłębnej obrony w celu zwiększenia ochrony
48 Dziesięć najważniejszych spraw w Microsoft ExchangeZainstalować najnowszy dodatek Service Pack 1 Zainstalować wszystkie stosowne poprawki zabezpieczeń 2 Uruchamiać program MBSA 3 Sprawdzać ustawienia przekazywania 4 Wyłączyć lub zabezpieczyć dobrze znane konta 5 Stosować warstwowe podejście antywirusowe 6 Korzystać z zapory sieciowej 7 Ocenić serwer ISA Server 8 Zabezpieczyć dostęp OWA 9 Zaimplementować strategię tworzenia kopii zapasowych 10
49 Dziesięć najważniejszych spraw przy zabezpieczaniu programu SQL ServerZainstalować najnowszy dodatek Service Pack 1 Uruchamiać program MBSA 2 Skonfigurować uwierzytelnianie Windows 3 Izolować serwer i tworzyć jego kopie zapasowe 4 Sprawdzać hasło sa: 5 Ograniczać uprawnienia usług SQL 6 Blokować porty na zaporze sieciowej 7 Używać systemu plików NTFS 8 Usunąć pliki instalatora i przykładową bazę danych 9 10 Śledzić połączenia
50 Wskazówki dot. bezp. dla użytkownikówUżywać skomplikowanych haseł* 1 Chronić hasła 2 Zamykać nienadzorowane komputery* 3 Nie logować się za pomocą uprzywilejowanych kont* 4 Uruchamiać jedynie zaufane programy* 5 Nie otwierać podejrzanych załączników* 6 Nie ulegać inżynierii społecznej 7 Przeglądać zasady zabezpieczeń swojej organizacji 8 Nie próbować omijać ustawień zabezpieczeń* 9 10 Zgłaszać podejrzane incydenty *Te wskazówki można częściowo wdrożyć za pośrednictwem scentralizowanych zasad
51 Streszczenie
52 Streszczenie Systematyczne podejście, takie jak dogłębna obrona, ułatwia osiągnięcie bezpieczeństwa pod każdym względem Edukacja i ciągłe badania są równie ważne jak technologie Postępować zgodnie ze wskazówkami dotyczącymi zabezpieczeń podanymi przez dostawców