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
42
97
Windows
NT/2000
14
40
Windows
3.1x/9x
33
22
Solaris
10
11
Slackware
14
17
OpenBSD
9
20
NetBSD
17
36
FreeBSD
2001
2000
OS
(ź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
?
270Mbit/s clear (UDP,
1454bajty)
CheckPoint FW1,
Sun Ultra 60
?
335Mbit/s clear (UDP,
1454bajty)
CheckPoint FW1,
PIII-1Ghz, WinNT/2K
?
395Mbit/s clear (UDP,
1454bajty)
CheckPoint FW1, PIII-1Ghz,
RedHat
500,000 połączeń, 10,000VPN,
22,000/s
1Gbit/s clear, 1Gbit/s 3DES
Netscreen 1000
128,000 połączeń, 19,000/s
200Mbit/s clear, 200Mbit/s
3DES
Netscreen 100
30,000 połączeń, 1,000VPN
100Mbit/s clear / 45Mbit/s
3DES
3COM SuperStack3
500,000 połączeń, 2000VPN, 7,000/s
1Gbit/s clear
Cisco PIX 535
3500 połączeń, 5VPN, 100/s
10Mbit/s clear / 3Mbit/s
3DES
Cisco PIX 501
Pojemność/Wydajność
Wydajność
Typ
Firewall – sprzętowy a
programowy 2/2
10Mbit/s clear
pf 486DX-80
130Mbit/s clear
pf P233MMX
?
400Mbit/s clear
ipfw PIII750
Ilość połączeń *100
bajtów+32bity*1.4
Dla 500,000 połączeń = 52MB
Dla 1,000,000 połączeń = 104MB
550Mbit/s clear
ipf Duron 600,
256MB
150Mbit/s clear
ipchains 2xPIII600
32,768 standardowo
327,680 potwierdzone
20,000(1)-80,000(3) połączeń/s
2Mbit/s clear
ipchains 386DX33
Pojemność/Wydajność
Wydajność
Typ
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?