Aspekty bezpieczeństwa IT w systemach komputerowych Łukasz Czarniecki, Marcin Jerzak Poznańskie Centrum Superkomputerowo Sieciowe Zespół Bezpieczeństwa Poznań, 16.12.2009 1
Agenda 11:00 12:30 Bezpieczeństwo warstwy łącza danych w sieciach opartych o Ethernet 12:30 12:45 Pytania i dyskusja 12:45 13:00 Przerwa 13:00 14:30 Forensics & Anti-forensics - jak przeprowadzić analizę powłamaniową, a jak to utrudnić? 14:30 14:45 Pytania i dyskusja 2
Informacje organizacyjne Ankieta krótka anonimowa bardzo pomocna w organizacji przyszłych szkoleń Lista obecności nie jest anonimowa ;-) proszę zaznaczyć, jeśli NIE życzycie sobie Państwo otrzymywania informacji o kolejnych szkoleniach Prezentacja dostępna na stronach WWW: http://szkolenia.man.poznan.pl http://security.psnc.pl 3
PCSS Poznańskie Centrum SuperkomputerowoSieciowe Operator sieci PIONIER oraz POZMAN Uczestnik projektów naukowo-badawczych Główne obszary zainteresowań Gridy, sieci nowej generacji, portale Bezpieczeństwo sieci i systemów http://www.pcss.pl 4
Zespół Bezpieczeństwa PCSS Dedykowany zespół istnieje od 1996r. Podstawowy zakres prac Zespołu Zabezpieczanie infrastruktury PCSS Zadania bezpieczeństwa w projektach R&D Szkolenia i transfer wiedzy Badania własne Audyty i doradztwo w zakresie bezpieczeństwa IT Niektóre badania z ostatnich lat Bezpieczeństwo Bezpieczeństwo Bezpieczeństwo bankowości elektronicznej (2006) serwerów WWW Apache i MS IIS (2007) sklepów internetowych (2008) http://security.psnc.pl 5
Szkolenia ZB PCSS Szkolenia Działu KDM http://szkolenia.man.poznan.pl Szkolenia Centrum Innowacji Microsoft http://mic.psnc.pl/szkolenia Możliwość zgłoszenia własnego tematu szkolenia 6
Bezpieczeństwo warstwy łącza danych w sieciach opartych o Ethernet Łukasz Czarniecki Zespół Bezpieczeństwa PCSS 7
Model referencyjny OSI FTP, SMTP, HTTP, TELNET MIME, HTML, JPG TCP, UDP IPv4, IPv6, ICMP, IPSEC Ethernet, Token Ring UTP, STP 8
Bezpieczeństwo warstwy fizycznej Bezpieczeństwo fizyczne Aktualna dokumentacja połączeń i topologii sieci Sieci bezprzewodowe (warchalking, wardriving, stealth wallpaper) Światłowody zamiast miedzi,,mrugająca dioda Kontrola ciągłości i niezawodności pracy zagrożenia środowiskowe odpowiednie zasilanie 9
Zaniedbywana warstwa łącza danych Większość zabezpieczeń koncentruje się na warstwie sieciowej: firewall, listy kontroli dostępu Najpopularniejszy Ethernet nie był projektowany z myślą o bezpieczeństwie Sieci (10) Gigabit Ethernet obejmują swoim zasięgiem coraz większe obszary (Metro Ethernet) Efekt domina Ataki z wewnątrz sieci 10
Efekt domina Kompromitacja jednej z niższych warstw OSI prowadzi do kompromitacji wszystkich wyższych warstw Możliwe ataki: podsłuchiwanie ruchu sieciowego DNS spoofing Man in the middle Możliwe są również ataki na technologie uważane za bezpieczne (https): sslstrip TLS renegotiation attack NULL certificate prefix 11
Format ramki Ethernet Length < 1501 oznacza długość ramki Length > 1535 oznacza typ ramki (np. IP, ARP, 802.1Q) Max długość 1518 + ewentualny tag 12
Podsłuchiwanie sieci Ethernet Ethernet 10Base5, 10Base2 wspólne medium transmisyjne kabel koncentryczny Ethernet 10BaseT, (Fast/Gigabit) Ethernet w środowisku nieprzełączanym hub rozsyła ramki przez wszystkie porty 10Gigabit Ethernet - może działać już wyłącznie w środowisku przełączanym W środowisku nieprzełączanym każdy może bezkarnie podsłuchiwać ruch, wystarczy uruchomić sniffer: tcpdump wireshark lub gotowe narzędzia do przechwytywania haseł: dsniff sniffpass 13
Metody wykrywania podsłuchujących W normalnym trybie karta sieciowa odbiera wyłącznie ramki zaadresowane na jej adres MAC ew. broadcast/multicast Aby odebrać ramki zaadresowane na dowolny adres MAC, należy przestawić kartę w tryb rozwiązły (ang. promiscuous), Test stacji z MAC aa:aa:aa:aa:aa i IP 10.0.0.100: wysyłamy np. PING: docelowy MAC ustawiamy na adres nieistniejący w sieci, np. aa:aa:aa:aa:xx docelowy adres IP: 10.0.0.100 jeżeli karta sieciowa działa w trybie promiscuous, to host odpowie na ping-a, (nie musi to być ping, wystarczy dowolny otwarty port) Narzędzie: AntiSniff 14
Jak podsłuchać ruch w środowisku przełączanym? 15
Zasada działania ARP Odwzorowanie 32-bitowych adresów IP na 48-bitowe adresy fizyczne. Próba przesłania danych na adres IP 192.168.1.34: Karta sieciowa w komputerze źródłowym wysyła zapytanie ARP (do wszystkich): kto ma adres IP 192.168.1.34? Karta sieciowa w komputerze docelowym o adresie MAC 00:07:95:03:1A:7E wysyła odpowiedź: Hej to ja! W komputerze nadawcy zostaje do dynamicznej tablicy ARP dodany wpis: IP 192.168.1.34 -> MAC 00:07:95:03:1A:7E. Również przełącznik uczy się, adresów MAC (pamięć jest ograniczona) i przyporządkowuje je do poszczególnych portów Wszystkie pakiety z docelowym adresem IP 192.168.1.34 są przez warstwę łącza danych tłumaczone na ramki z docelowym adresem MAC 00:07:95:03:1A:7E. 16
ARP cache (host) C:\>arp -a Interfejs: 10.2.0.80 --- 0x10003 Adres internetowy Adres fizyczny 10.2.0.1 00-04-76-11-89-91 10.2.0.3 00-04-75-c2-55-d7 10.2.0.16 00-0c-6e-23-2a-c5 10.2.0.19 00-30-4f-20-e1-d9 10.2.0.28 00-40-f4-31-53-a2 10.2.0.37 00-04-76-22-be-fe 10.2.0.62 00-c0-26-28-93-4a Typ dynamiczne dynamiczne dynamiczne dynamiczne dynamiczne dynamiczne dynamiczne Host, który chce przesłać pakiet IP na adres 10.2.0.1, enkapsuluje go w ramkę z adresem docelowym z tablicy ARP 17
ARP cache (przełącznik) Switch#sh mac-address-table dynamic Mac Address Table ------------------------------------------Vlan Mac Address Type Ports ------------------------1 0016.d32d.2828 DYNAMIC Fa0/1 1 001c.c5d7.2c18 DYNAMIC Fa0/3 1 001e.c21b.aacd DYNAMIC Fa0/3 Total Mac Addresses for this criterion: 3 Na podstawie wpisów w tabeli ARP przełącznik wie, przez który port przesłać daną ramkę 18
MAC Flood Atak polega na zalaniu sieci ramkami z losowo generowanymi adresami MAC Narzędzie: macof Atak jest dość głośny, propaguje się na wszystkie switche 19
MAC Flood CAM i ARP cache to struktury o skończonej pojemności Rozmiar tabeli ARP cache pod Linuksem 1024 wpisy (to ma tylko znaczenie w przypadku nieprzełączanego Ethernetu) Rozmiar ARP cache w przełącznikach (4, 8, 16k) Na przepełnienie wystarczy kilkadziesiąt sekund W starszych przełącznikach switch hub, crash, reboot Smart CAM Table: nie nadpisuje istniejących wpisów stare wpisy są usuwane tylko po upływie czasu time-out wpisy dotyczące aktywnych hostów nie zostaną napisane tylko ramki z nieznanymi adresami MAC zostaną przesłane przez wszystkie porty 20
Port Security Pozwala ograniczyć liczbę adresów MAC/hostów podłączonych do jednego portu przełącznika W przypadku pojawienia się kolejnych MAC-ów są one blokowane lub port może zostać wyłączony Switch#sh port-security Secure Port MaxSecureAddr CurrentAddr (Count) (Count) SecurityViolation Security Action (Count) --------------------------------------------------------------------------Fa0/1 1 1 0 Shutdown --------------------------------------------------------------------------Total Addresses in System (excluding one mac per port) : 0 Max Addresses limit in System (excluding one mac per port) : 5120 Switch# 01:44:48: %PM-4-ERR_DISABLE: psecure-violation error detected on Fa0/1, puttinge 01:44:48: %PORT_SECURITY-2-PSECURE_VIOLATION: Security violation occurred, caus. 01:44:49: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/1, chann 01:44:50: %LINK-3-UPDOWN: Interface FastEthernet0/1, changed state to down 21
ARP spoofing (1) Bardziej 'subtelny' Protokół ARP nie zapewnia żadnych mechanizmów bezpieczeństwa Gratuitous ARP: przy pomocy odpowiedniej ramki możemy zmienić tablice ARP bez pytania, nawet wszystkim hostom w VLAN-ie Umożliwia to nam podszywanie się pod dowolnego hosta, np. bramę, atakujemy całą podsieć Narzędzia: arpspoof, ettercap 22
ARP spoofing (2) 23
Arpspoof Jeden z programów pakietu dsniff Bardzo prosty w obsłudze Pozwala na arp poisoning całego segmentu sieci 24
ARP spoofing - ochrona ARP spoofing można wykryć przy pomocy IDS warstwy 2: arpwatch powiadomienie email/sms do administratora Najprostszy sposób -> statyczne wpisy w tablicy MAC (żmudna administracja, ma to sens w przypadku krytycznych systemów) ArpON zapewnia ochronę przed ARP spoofingiem, przyjmuje tylko ARP reply z adresów o które sam pytał, pamięta powiązania MAC->IP musi być zainstalowany na chronionym hoście, co nie zawsze jest możliwe Podział sieci na VLAN-y: separacja użytkowników i systemów Mechanizmy bezpieczeństwa zaimplementowane w przełączniku 25
ArpWatch From: arpwatch@localhost (Arpwatch localhost) To: root@localhost Subject: changed ethernet address (test345) eth1 hostname: ip address: interface: ethernet address: ethernet vendor: old ethernet address: old ethernet vendor: timestamp: previous timestamp: delta: test345 192.168.54.34 eth1 0:1e:35:c8:19:7b <unknown> 0:18:f7:fd:e8:e2 <unknown> Monday, December 7, 2009 15:44:20 +0100 Monday, December 7, 2009 14:11:15 +0100 1 hour 26
Dynamic ARP Inspection/DHCP Snooping Switch podsłuchuje ruch DHCP (ang. snooping) Tworzy listę powiązań port MAC IP S1# show ip dhcp snooping binding MacAddress Lease(sec) Type VLAN Interface ----------------- ------------ ---------- ------------- ---- -------------- 00:02:00:02:00:02 1.1.1.2 4993 dhcp-snooping 1 FastEthernet6/4 IpAddress switch przechwytuje zapytania ARP limituje ich liczbę stosuje ew. ACL sprawdza powiązania w tabeli DHCP snooping w przypadku nieprawidłowości port jest wyłączany tylko port oznaczony jako trust może być podłączony do 27 serwera DHCP
Broadcast Storm Ramki z adresem docelowym FF:FF:FF:FF:FF:FF Przesyłane przez wszystkie porty przełącznika Przetwarzane przez wszystkie hosty w podsieci Klasyczny przykład DoS Działa w ramach VLAN-u Metoda ochrony Storm Control możemy wyznaczyć pasmo dla ramek typu: broadcast i multicast jako procent całości ruchu przekazywanego przez port w przypadku przekroczenia limitu: SNMP trap lub shutdown Uwaga: ARP również wykorzystuje ramki broadcast 28
Protected ports Najbezpieczniejsze rozwiązanie Uniemożliwia bezpośrednią komunikację pomiędzy portami/hostami w danym VLAN'ie Możliwa komunikacja wyłącznie przez urządzenie L3, np. router, firewall Wymagany co najmniej jeden port unprotected Pełna kontrola nad ruchem w sieci Nieefektywne wykorzystanie pasma Dodatkowo należy uruchomić blokowanie flood-owania ramek unicast i multicast z nieznanym przełącznikowi adresem docelowym (Speak First) 29
Bezpieczeństwo protokołów warstwy 2 wykorzystywanych w inteligentnych przełącznikach 30
Protokoły warstwy 2 wykorzystywane przez inteligentne przełączniki STP Spanning Tree Protocol Trunking (ISL, 802.1q) Protokoły Cisco: CDP Cisco Discovery Protocol DTP Dynamic Trunking Protocol VTP VLAN Trunking Protocol HSRP Hot Standby Router Protocol 31
Protokół STP Standard w złożonych sieciach Pozwala stworzyć sieć odporną na awarię Protokół drzewa rozpinającego, tworzy wolną od pętli topologię łączącą wszystkie przełączniki Ochrona przed pętlami w warstwie 2 jest niezbędna, ze względu na możliwość wystąpienia: Ethernet flood (brak TTL) kopii ramek (ramki nie są numerowane) 32
STP: Zasada działania Przez (prawie) każdy z portów przełącznika wysyłane są ramki BPDU, zawierające: priorytet przełącznika, identyfikator VLAN-u, adres MAC i koszt łącza (przepływność) Przełączniki, wymieniając ramki BPDU, wybierają spośród siebie korzeń (najniższy priorytet, ew. MAC) Od korzenia powstaje drzewo najkrótszych (najszybszych) ścieżek, redundantne łącza są blokowane W przypadku zmiany topologii (dodatkowe łącze, uszkodzenie łącza) przełączniki informują się wzajemnie przy pomocy bitu TCN o nowej topologii Brak mechanizmów uwierzytelniania 33
STP: Zagrożenia Gdy mamy dostęp do portu z aktywnym STP możemy: zostać korzeniem, doprowadzając do nieefektywnej topologii sieci zmieniając swój priorytet/mac lub wysyłając ramki z bitem TCN, doprowadzić do ciągłej rekonfiguracji topologii (pętle, DOS) Gdy mamy dostęp do dwóch portów należących do różnych przełączników z aktywnym STP, możemy podsłuchiwać ruch pomiędzy przełącznikami Narzędzia: Yersinia 34
STP: podsłuchiwanie ruchu 35
STP: Nieefektywna topologia sieci 1GB 100MB 1GB 100MB 100MB 100MB 36
STP: jak się bronić Nie możemy wyłączyć STP, bo może to doprowadzić do wystąpienia pętli Za bezpieczeństwo STP odpowiadają wyłącznie inteligentne przełączniki Zabezpieczanie STP polega na odpowiedniej konfiguracji interfejsów Portfast (wszystkie porty klienckie) BPDU guard (przypadku odebrania ramki BPDU port ten jest wyłączany) Root guard (w przypadku odebrania ramki BPDU z priorytetem niższym niż obecny korzeń, ramka ta jest ignorowana) 37
Trunking Umożliwia przesyłanie ramek z różnych podsieci (kanałów logicznych) w jednym łączu (kanale fizycznym) Ramki są tagowane na połączeniach pomiędzy switchami na podstawie przynależności do określonego VLAN-u Łącza typu Trunk najczęściej są używane w połączeniach: switch switch switch router Native VLAN nietagowany Tag Control Information: priorytet, CFI, VLAN id 38
DTP Dynamic Trunking Protocol tylko Cisco (na szczęście?:) domyślnie włączony brak zabezpieczeń pozwala na wynegocjowanie łącza typu trunk (ISL lub 802.1q) na interfejsie 39
VLAN Hopping Negocjujemy ze switchem łącze typu trunk uzyskujemy dostęp do wszystkich VLAN-ów skonfigurowanych na przełączniku narzędzia: Yersinia Double tagging podwójna enkapsulacja 802.1q umożliwia jednokierunkową komunikację z VLAN-ami skonfigurowanymi na innym przełączniku Narzędzia: Scappy 40
DTP, VLAN hopping 41
VTP Vlan Trunking Protocol tylko Cisco (na szczęście?:) domyślnie włączony działa w VLAN1 DoS Zarządzanie VLAN: dodanie usunięcie zmiana Narzędzia Yersinia 42
VTP 43
Trunking: zalecenia Wyłączamy DTP VTP nie da się wyłączyć (!) ustawiamy tryb transparent Używamy silnych haseł w przypadku konieczności wykorzystania VTP Tworzymy osobny natywny VLAN dla łączy typu trunk Dlaczego separujemy VLAN1: służy do zarządzania: telnet, SNMP, SSH jest wykorzystywany przez: CDP, VTP, DTP jest to dobra praktyka bezpieczeństwa 44
CDP Cisco Discovery Protocol Tylko w urządzeniach Cisco (na szczęście?:) Kiedyś HP miał licencję, teraz używa otwartego LLDP Domyślnie aktywny Rozsyła informacje m.in. dotyczące: typu i modelu urządzenia wersji systemu operacyjnego IOS nazwy hosta domeny VTP, natywnego VLAN-u poboru mocy PoE Przy pomocy CDP można regulować moc portu PoE 45
CDP: Problemy Information disclosure DoS (CDP flood) Kolejny wektor ataku: CVE-2001-1071: Cisco IOS 12.2 and earlier running Cisco Discovery Protocol (CDP) allows remote attackers to cause a denial of service (memory consumption) via a flood of CDP neighbor announcements. CVE-2005-3921: Cross-site scripting (XSS) vulnerability in Cisco IOS Web Server for IOS 12.0(2a) allows remote attackers to inject arbitrary web script or HTML by sending the router Cisco Discovery Protocol (CDP) packets with HTML payload that an administrator views via the CDP status pages. 46
Yersinia - DEMO 47
Podsumowanie Attack within subnet Broadcast storm MAC Flooding DHCP DoS DHCP rogue Spanning Tree hijack ARP table poisoning IP address spoofing Private VLANs Protected Ports, Ports Speak First Storm Control Port Security DHCP Snooping BPDU Guard Dynamic ARP Inspection Anti-spoofing access lists IP Source Guard/Snooping 48
Środki zaradcze Minimalizacja domen kolizji i rozgłoszeniowych Podział sieci na VLAN-y System IDS działający w warstwie 2 (arpwatch) Warstwa łącza nie została zaprojektowana jako bezpieczna, dlatego o jej bezpieczeństwie decydują inteligentne przełączniki wykorzystujące technologie: Port security Protected ports Storm control Dynamic ARP inspection DHCP/IP snooping BPDU (root) guard Silne hasła!!! Uwierzytelnianie 802.11x 49
Zalecenia Zarządzanie przełącznikiem w bezpieczny sposób: konsola, ssh, listy dostępu, osobny VLAN dla ruchu zarządzającego Należy zrezygnować z wykorzystywania VLAN1, DTP, VTP Utwórz osobny VLAN dla portów trunk Port security, szczególnie na portach dostępnych dla użytkowników Wyłącz niewykorzystywane porty i przydziel je do nieużywanego VLAN-u Wyłącz CDP Zaimplementuj mechanizm bezpieczeństwa 802.1X TESTUJ SWOJĄ SIEĆ!!! MONITORUJ SWOJĄ SIEĆ!!! 50
Przykład bezpiecznej konfiguracji 51
Cisco Catalyst 3550 IOS wersja 12.1(22)EA10b (najnowszy 11.2009) no service password encryption spanning tree mode pvst spanning tree extend system id interface FastEthernet0/1 switchport mode dynamic desirable... interface Vlan1 no ip address shutdown! ip classless ip http server line con 0 line vty 5 15 52
Hardening konfiguracji (1) Switch(config)#service password encryption Switch(config)#crypto key generate rsa Switch(config)#enable secret <haslo> Switch(config)#line console 0 Switch(config line)#password <haslo> Switch(config line)#login Switch(config)#line vty 0 15 Switch(config line)#password <haslo> Switch(config line)#login Switch(config line)#transport input ssh Switch(config line)#transport output ssh 53
Hardening konfiguracji (2) Switch(config)#no ip http server Switch(config)#no cdp run Switch(config)#vtp mode transparent Swicth(config)#interface range FastEthernet 0/1 24 Switch(config if range)#switchport mode access Switch(config if range)#switchport nonegotiate Switch(config if range)#switchport access vlan 100 Switch(config if range)#storm control broadcast level pps 100 20 (poniżej 20 port przestanie być blokowany) Switch(config if range)#storm control multicast level pps 100 20 54
Hardening konfiguracji (3) Switch(config if range)#switchport protected Switch(config if range)#switchport block multicast Switch(config if range)#switchport block unicast Switch(config if range)#switchport port security maximum 1 Switch(config if range)#switchport port security violation shutdown 55
Problemy wyższych warstw... 56
Problemy warstwy sieci / transportowej Brak możliwości weryfikacji autentyczności oraz integralności przesyłanych danych Transmisja jest narażona na podsłuch Atak typu Man In The Middle Podszywanie się (IP spoofing) SYN flood Skanowanie portów i adresów Ataki na protokoły routingu Bezpieczeństwo DNS 57
Środki zaradcze IPSec/IPv6, VPN Firewall Filtrowanie ingress, egress Transport Layer Security Technika SYNcookie Mechanizmy uwierzytelniania w protokołach routingu Port knocking Systemy IDS IP source guard 58
Źródła wiedzy http://www.yersinia.net/ http://www.monkey.org/~dugsong/dsniff/ http://ettercap.sourceforge.net/ Cisco Security Advisories Hacking Layer 2: Fun with Ethernet Switches by Sean Convery Guide To Harden Cisco IOS Devices Layer 2 Security In-depth by Ido Dubrawsky - zawiera tabelę funkcjonalności bezpieczeństwa zawartych w różnych przełącznikach 59
Informacje kontaktowe PCSS WWW: http://www.pcss.pl E-mail: office@man.poznan.pl Zespół Bezpieczeństwa PCSS WWW: http://security.psnc.pl E-mail: security@man.poznan.pl Autor prezentacji: Łukasz Czarniecki E-mail: luqe@man.poznan.pl 60
Pytania i dyskusja Dziękuję za uwagę! 61