You are on page 1of 81

Pasywne i aktywne mechanizmy

ochronne sieci komputerowych

Łukasz Bromirski

l.bromirski[at]mr0vka.eu.org
http://mr0vka.eu.org
Organizacja wykładu
„ Podstawy zagadnień bezpieczeństwa
„ Protokoły sieciowe wg. modelu ISO
ze względu na bezpieczeństwo
„ Wprowadzenie do kryptografii
„ Topologie sieci i mechanizmy
zwiększające ich bezpieczeństwo
„ Ataki, nadużycia, narzędzia
Bezpieczeństwo
„ Internet
„ Polityka bezpieczeństwa
„ jasna
„ wyszczególnienie osób funkcyjnych i
zakresu odpowiedzialności
„ wyszczególnienie elementów sieci oraz
ich roli w funkcjonowaniu i
bezpieczeństwie sieci
Bezpieczeństwo
„ Podstawowe problemy
„ bezmyślność i beztroska w zarządzaniu
uprawnieniami i kontami
„ brak administrowania i nadzoru, nadzór
nieregularny lub wykonywany przez
osobę niekompetentną
„ błędy w oprogramowaniu
Bezpieczeństwo
„ Co może być potencjalnym celem?
„ dane
„ serwery usług (np. ftp, dns, http...)

„ routery

„ systemy przechowujące i
przetwarzające dane
„ ludzie (ang. social engineering)
Bezpieczeństwo
„ Kto może być wrogiem?
„ ktoś z firmy (wróg wewnętrzny)
„ ktoś spoza firmy (wróg zewnętrzny)
Bezpieczeństwo
„ Twarze zza barykady
„ script kiddies
„ hakerzy

„ white hats (http://www.whitehats.com)

„ gray hats

„ black hats (http://www.blackhats.com)


Bezpieczeństwo
„ Bezpieczeństwo oprogramowania –
closed vs open source
„ dostępność kodu – ocena możliwości i sposobu
działania, wyeliminowanie możliwości pozostawienia „tylnych
drzwi”, urealnienie oświadczeń twórcy

„ szybkość reagowania na dziury/błędy –


dostępność oprogramowania, szybkość publikowania
poprawek, ich dostępność i jakość
Bezpieczeństwo
„ Dziury w systemach operacyjnych
OS 2000 2001
FreeBSD 36 17
NetBSD 20 9
OpenBSD 17 14
Slackware 11 10
Solaris 22 33
Windows 40 14
3.1x/9x
Windows 97 42
NT/2000
(źródło: www.securityfocus.com)
Zagrożenia
„ Wirusy
„ charakterystyka
• działanie niszczycielskie
• rozmnażanie się
„ ewolucja
• assembler – C/C++ (Yankee Doodle, LoveLetter)
• pliki – poczta (Sircam, Badtrans, Melissa)
„ Melissa – 1 mld $ ’99, LoveLetter 9 mld $ ‘00
Zagrożenia
„ Robaki internetowe
„ charakterystyka
„ sposób działania
• poczta elektroniczna (np. Nimda)
• aktywny atak (np. Nimda, CodeRed)
„ cel działania
• obciążanie sieci (DoS/DDoS)
• działalność destrukcyjna i rozmnażanie się
• zdalna kontrola (np. Trinoo, stacheldracht)
„ straty – CodeRed 2-4 miliardy dolarów
Zagrożenia
„ Różne filozofie, różne podejścia
„ script kiddie
„ amator

„ haker
Organizacja wykładu
„ Podstawy zagadnień bezpieczeństwa
„ Protokoły sieciowe wg. modelu ISO
ze względu na bezpieczeństwo
„ Wprowadzenie do kryptografii
„ Topologie sieci i mechanizmy
zwiększające ich bezpieczeństwo
„ Ataki, nadużycia, narzędzia
Model ISO
Model ISO
IP
Model ISO
TCP
Model ISO
UDP
Model ISO - ICMP
„ Dwie klasy komunikatów:
„ komunikaty o błędach:
• destination unreachable, redirect, source
quench, time exceeded, parameter problem
„ zapytania:
• echo, information, timestamp, address
mask
Organizacja wykładu
„ Podstawy zagadnień bezpieczeństwa
„ Protokoły sieciowe wg. modelu ISO
ze względu na bezpieczeństwo
„ Wprowadzenie do kryptografii
„ Topologie sieci i mechanizmy
zwiększające ich bezpieczeństwo
„ Ataki, nadużycia, narzędzia
Wprowadzenie do
kryptografii
„ Przestrzeń klucza (ang. keyspace)
„ Szyfrowanie symetryczne
„ Szyfrowanie z kluczem publicznym
„ Infrastruktura Klucza Publicznego – PKI
(ang. Public Key Infrastructure)
„ Publiczne Standardy Kryptograficzne –
PKCS (ang. Public Key Cryptographic Standards)
„ Autorytet Certyfikujący – CA (ang. Certificate
Authority)
„ Podpis cyfrowy
IPsec - narodziny
„ Narodziny IPSec – słabości IP
„ sniffing
„ spoofing, hijacking

„ IETF tworzy RFC2401


IPsec - architektura
„ AH (Authentication Header)
• RFC2402
„ ESP (Encapsulated Payload)
• RFC2406
„ IKE (Internet Key Exchange)
• RFC2409
IPsec – co zapewnia?
„ uwierzytelnianie
(ang. authentication)
„ integralność
(ang. integrity)
„ poufność
(ang. confidentiality)
IPsec – Security Association
„ Security Association (SA) opisuje:
„ adres urządzenia (IP/nazwa)
„ transform set: używany protokół IPSec,
algorytm uwierzytelniania/kontroli, algorytm
szyfrowania
„ czas ważności klucza i wartości progowe IKE
„ listę kontroli dostępu (ACL)
„ identyfikator SPI danego SA
„ numer sekwencji danych w strumieniu
IPsec -
pakiet
IPsec -
ESP
IPsec -
AH
IPsec – protokół IKE
„ Co zapewnia?
„ negocjacje protokołów, algorytmów i
kluczy
„ uwierzytelnienie partnera

„ zarządzanie kluczami

„ wymiana informacji służących do


generowania kolejnych kluczy
IPsec – protokół IKE
„ Dwie fazy:
„ stworzenie bezpiecznego kanału
wymiany informacji
„ negocjację odpowiednich algorytmów i
SA
IPsec – przykład 1
IPsec – przykład 2
IPsec – FreeBSD
„ Konfiguracja systemu
„ kernel: IPSEC, IPSEC_ESP
„ nat/firewall

„ Ustawienie SA dla połączenia:


setkey -c
spdadd 193.193.193.1 193.193.193.2 any -P out ipsec
ah/transport/193.193.193.1-193.193.193.2/require
spdadd 193.193.193.2 193.193.193.1 any -P out ipsec
esp/transport/193.193.193.2-193.193.193.1/require
spdadd 193.193.193.2 193.193.193.1 any -P out ipsec
ah/transport/193.193.193.2-193.193.193.1/require
IPsec – FreeBSD
„ Konfiguracja IKE – ręczna:
add 193.193.193.1 193.193.193.2 ah 1000
-m transport –A hmac-sha1 „12345678901234567890” ;
add 193.193.193.2 193.193.193.1 esp 2000
-m transport –E des-cbc „12345678” ;

„ Konfiguracja IKE – automatyczna:


„ racoon ( /usr/ports/security/racoon )
„ isakmpd ( /usr/ports/security/isakmpd )
SSL/TLS - Wprowadzenie
„ Secure Sockets Layer
„ historia – Netscape, 1993
„ wersje

„ Transport Layer Security


„ RFC2246
SSL/TLS - Możliwości
„ Co zapewnia?
„ uwierzytelnianie z wykorzystaniem
kluczy publicznych
„ zachowanie anonimowości klientów i
wymóg identyfikacji serwera
„ szybkość pozwalającą na sprawną
obsługę krótkich połączeń (HTTP/DNS)
SSL/TLS - Działanie
„ Wsparcie programowe:
„ Serwery WWW: Zeus v3, Apache,
Microsoft IIS 5.x
„ Klienci WWW: Microsoft IE 4.x-5.x,
Netscape, Mozilla, Opera, Konqueror
„ Serwery poczty: postfix, sendmail,
Microsoft IIS
„ Klienci poczty: The Bat!, Microsoft
Outlook, Netscape Mail, Mozilla
SSL/TLS - Negocjacja
SSL/TLS - stunnel
„ Po stronie serwera:
„ stunnel –d 465 –r smtp –p /usr/local/etc/stunnel.pem

„ Po stronie klienta:
„ stunnel -c -d localhost:25 -r www:465

„ http://www.stunnel.org
SSH – Secure SHell
„ Historia – 1995 rok, Finlandia
„ Zastosowanie
„ Algorytmy szyfrowania
„ DES, 3DES
„ RC4
„ TSS
„ Blowfish/Twofish
„ SecurID
„ S/Key
„ Kerberos
„ TIS
„ SHA-1 i MD5 dla zapewnienia i uwierzytelniania danych
SSH – Co zapewnia?
„ Ochronę przed fałszowaniem IP
( ang. IP spoofing )
„ Ochronę przed wymuszaniem routingu
( ang. source routing )
„ Ochronę przed fałszowaniem wpisów DNS
( ang. DNS spoofing )
„ Ochronę przed ujawnieniem haseł i
identyfikatorów
„ Ochronę przed manipulacją przesyłanymi
danymi
S/MIME
„ Secure/Multipurpose Internet Mail
Extensions – v3
„ Zaprojektowane dla MUA
(ang. Mail User Agents):
„ The Bat!
„ Microsoft Outlook

„ Mozilla
S/MIME – Co zapewnia?
„ uwierzytelnienie
„ integralność wiadomości
„ nie-podrabialność wiadomości
(podpis cyfrowy) SHA-1 (160) i MD5
(128)
„ poufność i bezpieczeństwo danych
(szyfrowanie) RC-2 (128) i 3DES
(156)
PGP / OpenPGP
„ Pretty Good Privacy
„ Philip Zimmermann, 1991 rok
„ MD4+RSA dla podpisów i wymiany kluczy
„ Bass-O-Matic, zastąpione przez IDEA
„ Kompresja LZH, zastąpiona przez InfoZip/zlib
„ uuencoding, zastąpione przez base64
„ Problemy prawne w USA (1993-95r)
PGP / OpenPGP
„ Formaty:
„ wiadomość skompresowana
„ wiadomość podpisana cyfrowo

„ wiadomość zaszyfrowana

„ Nagłówek:
-----BEGIN PGP typ-----
-----END PGP typ-----

„ typ: MESSAGE, SIGNED MESSAGE, SIGNATURE


Organizacja wykładu
„ Podstawy zagadnień bezpieczeństwa
„ Protokoły sieciowe wg. modelu ISO
ze względu na bezpieczeństwo
„ Wprowadzenie do kryptografii
„ Topologie sieci i mechanizmy
zwiększające ich bezpieczeństwo
„ Ataki, nadużycia, narzędzia
Topologie – przykład 1
Topologie – przykład 2
Topologie – przykład 3
Topologie – przykład 4
Topologie – strefy
Firewall – co to jest?
„ Co to jest?
„ programowy
„ sprzętowy

„ Podstawy działania
„ filtrowanie pakietów (packet filtering)
„ filtrowanie zawartości (content filtering)

„ ograniczanie przepustowości (traffic


shaping)
Firewall – sprzętowy a
programowy 1/2
Typ Wydajność Pojemność/Wydajność
10Mbit/s clear / 3Mbit/s
Cisco PIX 501 3500 połączeń, 5VPN, 100/s
3DES

Cisco PIX 535 1Gbit/s clear 500,000 połączeń, 2000VPN, 7,000/s

100Mbit/s clear / 45Mbit/s


3COM SuperStack3 30,000 połączeń, 1,000VPN
3DES
200Mbit/s clear, 200Mbit/s
Netscreen 100 128,000 połączeń, 19,000/s
3DES
500,000 połączeń, 10,000VPN,
Netscreen 1000 1Gbit/s clear, 1Gbit/s 3DES
22,000/s

CheckPoint FW1, PIII-1Ghz, 395Mbit/s clear (UDP,


?
RedHat 1454bajty)

CheckPoint FW1, 335Mbit/s clear (UDP,


?
PIII-1Ghz, WinNT/2K 1454bajty)

CheckPoint FW1, 270Mbit/s clear (UDP,


?
Sun Ultra 60 1454bajty)
Firewall – sprzętowy a
programowy 2/2

Typ Wydajność Pojemność/Wydajność


ipchains 386DX33 2Mbit/s clear 32,768 standardowo
327,680 potwierdzone
ipchains 2xPIII600 150Mbit/s clear 20,000(1)-80,000(3) połączeń/s

ipfw PIII750 400Mbit/s clear ?

pf 486DX-80 10Mbit/s clear

pf P233MMX 130Mbit/s clear Ilość połączeń *100


bajtów+32bity*1.4
Dla 500,000 połączeń = 52MB
ipf Duron 600, Dla 1,000,000 połączeń = 104MB
550Mbit/s clear
256MB
Firewall – uwagi do
porównania
„ mimo RFC2647 dotyczącego
mierzenia wydajności, brak ogólnie
przyjętego standardu
„ optymalna wielkość pakietu dla
nowoczesnego firewalla – 1000-
1500 bajtów
„ realność i weryfikowalność podanych
wyników
Firewall – budowa zestawu
reguł
„ Budowa zestawu reguł
„ Sposób przeglądania reguł
„ Możliwe cele:
„ akceptacja, utworzenie stanu
„ odrzucenie, wyrzucenie

„ logowanie, zwiększenie licznika

„ inne, specyficzne dla implementacji


Firewall – reguły filtrowania
„ ipf/pf:
pass in proto tcp from any to 192.168.0.1 port = 80 keep state
pass in proto tcp from any to 210.220.230.240 port = 80 flags S/SA

„ iptables:
iptables -A INPUT -p tcp -s 0/0 -d 192.168.0.1 --dport 80
-m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp -d 210.220.230.240 --dport 80
--tcp-flags ALL SYN -j ACCEPT

„ zalogowany pakiet:
Dec 3 15:27:03 test1 ipmon[145]: 15:27:02.876150
xl1 @0:6 b 192.168.86.1,16384 -> 255.255.255.255,27600
PR udp len 20 43 IN
Firewall – inne możliwości
„ Ograniczanie przepustowości
„ dummynet, altq
„ iproute2,tc
„ Cisco CAR i inne mechanizmy

„ NAT
„ Proxy
Proxy
„ Historia
„ Podstawy działania
„ tradycyjne proxy
„ transparentne proxy
„ SSL-Proxy

„ Microsoft Proxy 2.0/Internet


Security & Acceleration Server,
Network Border Manager, squid
Proxy – Co potrafi?
„ badać przekazywane dane, z badaniem
poprawności protokołów/języka
„ ograniczać dostęp na podstawie list ACL

„ ograniczać dostęp na podstawie


autoryzacji
„ utrzymywać cache dla często
wywoływanych danych
„ SSL-proxy – zapewniać szyfrowanie
Proxy – Przykład
Router
„ Łączy dwoma lub większą ilością
interfejsów podsieci
„ Obsługuje wg. możliwości i potrzeb
protokoły: BGP4/BGP4+, RIP/RIPv2,
OSPF i inne
„ Podstawy działania i możliwości
„ niezawodność
„ RFC1812
„ NAT
Router - NAT
Router - NAT
IDS
„ Intrusion Detection System
„ Jak wygląda IDS?
„ programowe (lids, snort, nessus)
„ sprzętowe (moduły dla IDS Cisco)
IDS - Przykład
„ Przykład reguły dla sieciowego
IDS:
alert UDP any any -> any 6838 (msg:
"IDS100/ddos-mstream-agent-to-handler"; content:
"newserver"; )

„ Przykład
reguły dla
stanowiskowego IDS:
lidsadm -A -s /usr/sbin/httpd -o CAP_BIND_NET_SERVICE 80-80
-j GRANT
IDS – Przetwarzanie danych
„ Zbieranie informacji
„ pasywne
„ aktywne

„ Analiza
„ Odpowiedź
IDS – Analiza?
„ Na czym polega proces analizy?
„ nadużycia (przekroczenie praw
dostępu, próba mapowania dysku do
którego brak uprawnień)
„ anomalia (wzrost obciążenia,
charakterystyka czasowa pracy,
charakterystyka typu pracy)
IDS – Sieciowe
„ snort, nessus, Enterasys Dragon:
• zalety: duże pole działania, minimalne lub
brak zmian w topologii, niewidzialność dla
atakującego, praca w czasie rzeczywistym
• wady: niewystarczająca przepustowość,
problemy w przypadku stosowania
switchów, problemy z transmisjami
szyfrowanymi (SSL/TLS/inne), wrażliwość
na ataki sieciowe
IDS – Przykład sieciowego
IDS – Stanowiskowe
„ lids, Entercept, Cybersafe Centrax
• zalety: możliwość analizowania ruchu
szyfrowanego, specyfiki systemu,
nieograniczone przez topologię, mogą
przyczynić się do wykrycia koni trojańskich
• wady: monitoring i konfiguracja, wpływ na
działanie hosta, logistyka (miejsce na logi,
transport)
Topologia – Ochrona wgłąb
Organizacja wykładu
„ Podstawy zagadnień bezpieczeństwa
„ Protokoły sieciowe wg. modelu ISO
ze względu na bezpieczeństwo
„ Wprowadzenie do kryptografii
„ Topologie sieci i mechanizmy
zwiększające ich bezpieczeństwo
„ Ataki, nadużycia, narzędzia
Ataki i nadużycia
„ Ataki typu DoS/DDoS
„ Ataki sieciowe
„ Ataki na usługi
Ataki DoS/DDoS
„ Denial of Service/Distributed Denial of
Service
„ trinoo, Tribe Flood Network (TFN/TFN2K),
stacheldracht, shaft, mstream
„ 7-8 lutego 2000r. – Amazon.com, ebay,
CNN
„ 4 maja 2001r. – grc.com, w szczycie
94,800 pakietów TCP SYN/s
Ataki DoS/DDoS - Przykład
Ataki sieciowe
„ sniffing (sniffit, ethereal, tcpdump)
„ hijacking
„ spoofing (blind-spoofing, non-blind-
spoofing)
„ mapowanie:
„ firewalking
„ port-scanning
„ fingerprinting (pasywny i aktywny)
Ataki sieciowe
„ fragmentowanie/nakładanie/
zniekształcanie pakietów
„ powodzie TCP SYN/TCP ACK, ARP,
DHCP
„ wykorzystanie source routingu
„ ARP/DNS/DHCP poisoning
Ataki na usługi
„ SQL injection
„ buffer i stack overflow
„ format string – rodzina funkcji
*printf()
„ zła/domyślna konfiguracja usług –
SNMP(public!), finger/telnet (!)
„ man-in-the-middle
Narzędzia – 1/2
„ nessus
„ http://www.nessus.org
„ nmap
„ http://www.insecure.org/nmap
„ siphon
„ http://siphon.datanerds.net
„ Xprobe & Xprobe2
„ http://www.xprobe.org
Narzędzia – 2/2
„ queso
„ http://www.apostols.org/projectz/queso
„ argus
„ http://www.qosient.com/argus
„ fragroute & dsniff
„ http://www.monkey.org/~dugsong/
Pasywne i aktywne mechanizmy
ochronne sieci komputerowych

Pytania?

You might also like