Zarządzanie bezpieczeństwem i poziomem usług systemów informatycznych Cz. 2 Szymon Sokół <Szymon.Sokol@agh.edu.pl> http://home.agh.edu.pl/szymon/pbi/
Klasyfikacja zagrożeń Rodzaje zagrożeń: Utrata funkcjonalności (Denial of Service) Utrata (zniszczenie) danych Modyfikacja danych Wyciek danych Źródła zagrożeń: klęski żywiołowe, kradzież, sabotaż awarie sprzętu błędy oprogramowania błędy personelu infekcje wirusami włamywacze komputerowi inne - niesklasyfikowane 2
Kompleksowość Nie ma zabezpieczeń skutecznych w 100% Asymetria: atakującemu wystarczy jedna podatność zabezpieczający musi usunąć wszystkie Zasada spójności pionowej i poziomej Komplementarność zabezpieczeń: Redundancja chroni przed utratą, ale nie przed wyciekiem danych Szyfrowanie chroni przed wyciekiem, ale nie przed utratą danych 3
Redundancja Redundancja na poziomie danych Replikacja baz danych Systemy kontroli wersji Kopie zapasowe Redundancja na poziomie infrastruktury Urządzenia zapasowe (standby) Fault-Tolerant Systems Macierze RAID Urządzenia z redundantnymi komponentami Równoległe ścieżki danych Klastry HA (High Availability) Redundancja na poziomie organizacyjnym Nie ma ludzi niezastąpionych Kompletna dokumentacja 4
Redundancja infrastruktury 5
RAID Redundant Array of Inexpensive/Independent Disks RAID nie zastępuje backupu! Typowe warianty RAID: RAID-0 RAID-1 RAID-1+0 (RAID-10) RAID-5 RAID-6 6
RAID RAID-0 (striping nie zapewnia redundancji!) całkowita pojemność X*n wydajność wyższa niż pojedynczego dysku RAID-1 (n-way mirroring) odporny na awarię n-1 dysków (zwykle n=2) całkowita pojemność X 7
RAID RAID-10 (1+0) (stripe of mirrors) odporność jak RAID-1 lub lepsza całkowita pojemność jak RAID-1 wydajność jak RAID-0 8
RAID RAID-5 (striping with distributed parity) odporny na awarię pojedynczego dysku całkowita pojemność X*(n-1) wydajność przy zapisie niższa niż RAID-1 (1+0) 9
RAID RAID-6 (striping with dual distributed parity) odporny na awarię do dwóch dysków całkowita pojemność X*(n-2) wydajność zbliżona do RAID-5 10
RAID Implementacje: software'owe hardware'owe Linux MD (metadevice): 0, 1, 10, 5, 6 Solaris, OpenSolaris: 0, 1, 10, 5, 6 FreeBSD GEOM: 0,1, 10, 5 MacOS: 0, 1, 10 MS Windows Server, XP Pro: 0, 1, 5 kontroler w serwerze kontroler w macierzy firmware'owe (FakeRAID) 11
Kopie zapasowe (backup) Ludzie dzielą się na tych, którzy robią backupy i tych, którzy będą robić backupy 2/3 użytkowników Internetu utraciło kiedyś istotne dane Co kopiujemy? nośniki instalacyjne obrazy dysków dane (pliki) systemowe dane (pliki) użytkownika bazy danych inne 12
Kopie zapasowe (backup) Jak kopiujemy? kopie pełne (full backup) kopie różnicowe (differential) kopie przyrostowe (incremental) wielopoziomowe (multilevel incremental) obrazy systemu plików (snapshot) Kiedy i jak często? virgin image kopie dzienne / tygodniowe / itd. backup window Jak ograniczamy rozmiar? deduplikacja kompresja 13
Kopie zapasowe (backup) Na jaki nośnik? taśmy magnetyczne dyski magnetyczne nośniki optyczne inne nośniki pośrednie (staging) Czas dostępu vs. pojemność Automatyzacja procesu Wiarygodność kopii odtwarzalność kompletność autentyczność 14
Gęstość informacji Rozmiary i pojemność popularnych nośników Nośnik Pojemność (GB) Rozmiary (mm) Gęstość (MB/mm³) CD 0,7 120 x 1,2 0.05 DVD 4,7 120 x 1,2 0.35 Blu-ray 150 120 x 1,2 11 Archival Disc Ultrium (LTO-6) 3,5" HD 1000 2500 3000 120 x 1,2 102 x 105,4 x 21,5 101,6 x 146 x 25,4 73.6 10.8 8 SDXC 274,8 32 x 24 x 2,1 170 68,7 15 x 11 x 1 416 microsdxc 15
Kopie zapasowe (backup) Jak chronimy? redundancja kopii off-site backup sposób transferu szyfrowanie Jak długo przechowujemy? częstotliwość vs. czas przechowywania rotacja nośników trwałość nośników kopia awaryjna vs. kopia archiwalna 16
Szyfry zarys historyczny Szyfry monoalfabetyczne jednej literze alfabetu jawnego odpowiada dokładnie jedna litera alfabetu tajnego nieodporne na analizę statystyczną Szyfry przestawieniowe scytale 17
Szyfry zarys historyczny Szyfry podstawieniowe Szyfr Cezara (oryginalnie z przesunięciem 3): A D, B E, C F, ROT-13 szyfr Cezara z przesunięciem 13 jest inwolucją Alfabet tajny może być różny od jawnego: szachownica Polibiusza Tańczące sylwetki 18
Szyfry zarys historyczny Szyfry polialfabetyczne jednej literze alfabetu jawnego odpowiada więcej niż jedna litera alfabetu tajnego Szyfr książkowy Szyfr Vigenère'a (Bellaso 1553) Kasiski Enigma Rejewski, Różycki, Zygalski 19
Kryptografia współczesna Szyfry współczesne: Operują na poziomie bitów, a nie znaków Nie są podatne na proste metody kryptoanalityczne Strict Avalanche Criterion (SAC) zmiana jednego bitu na wejściu powoduje zmianę dowolnego bitu na wyjściu z prawdopodobieństwem 50% Ataki: brute force (przez przeszukanie przestrzeni kluczy) kryptoanalityczne (przez znalezienie wad algorytmu) Szyfry symetryczne (z kluczem tajnym) i asymetryczne (z kluczem prywatnym/publicznym) Funkcje skrótu kryptograficznego Generatory liczb losowych 20
Szyfry symetryczne Szyfry strumieniowe (Vernama) i blokowe W szyfrach strumieniowych tekst jawny jest sumowany z kluczem (keystream) bit po bicie (suma modulo 2) lub bajt po bajcie (suma modulo 256) Szyfry strumieniowe nie spełniają SAC W szyfrach blokowych tekst jawny jest dzielony na bloki szyfrowane indywidualnie - tryb ECB (Electronic Code Book) lub CBC (Cipher Block Chaining) ECB spełnia SAC najwyżej lokalnie; CBC - globalnie rozróżnienie coraz mniej oczywiste tryby CFB (Cipher Feedback), OFB (Output Feedback) i CTR (Counter) szyfrów blokowych efektywnie są szyframi strumieniowymi 21
Szyfry strumieniowe One-Time Pads (OTP) szyfr z losowym kluczem o długości identycznej z tekstem jawnym jedyny całkowicie niełamalny szyfr symetryczny Klucz pseudolosowy wymaga dobrego generatora o długim okresie trudno przewidywalnego stąd wykorzystanie szyfrów blokowych w odpowiednich trybach RC4 (Ron's Code 4, Rivest Cipher 4, ARCFOUR) szyfr strumieniowy z kluczem pseudolosowym A5/1, A5/2 używane w GSM 22
Szyfry blokowe Typowa długość bloku 64, 128, 256 bitów Typowa długość klucza 40, 56, 64, 80, 128, 192, 256 bitów Konstrukcja iteracyjna; typowa liczba rund 4-32 Większość algorytmów (Lucifer, DES, 3DES, Blowfish, Twofish, RC5, RC6, A5/3, GOST 28147-89) wykorzystuje sieci Feistela; niektóre (IDEA, Serpent, Rijndael/AES) sieci podstawieniowo-przestawieniowe (substitution-permutation networks, SPN) 23
Sieć podstawieniowo-przestawieniowa 24
Sieć Feistela 25
DES Data Encryption Standard (1974) Opracowany w IBM na podstawie szyfru Lucifer Horsta Feistela Od 1976 standard federalny Długość bloku: 64 bity, klucza: 56 bitów Złamany metodą brute force: w 1997, 96 dni z użyciem 78000 komputerów w 1998, 9 dni, EFF DES cracker (~250k$) w 2008, 6 dni, COPACOBANA, Bochum Univ. (<10k$) 26
Triple DES Triple DES, 3DES (1998) standard federalny od 1999 ciphertext = EK3(DK2(EK1(plaintext))) klucz K = (K1, K2, K3) wariant 168-bitowy: K1, K2 i K3 wzajemnie różne wariant 112-bitowy: K1 = K3 K2 Uważany za bezpieczny do roku 2030 27
AES Advanced Encryption Standard Konkurs na następcę DES zakończony w 2001 kandydaci: CAST-256, CRYPTON, DEAL, DFC, E2, FROG, HPC, LOKI97, MAGENTA, MARS, RC6, Rijndael, SAFER+, Serpent, Twofish ostateczna specyfikacja to Rijndael (1999, Vincent Rijmen i Joan Daemen) ograniczony do bloków 128bitowych i kluczy o długości 128, 192, 256 bitów standard federalny od 2002 sprzętowo implementowany w najnowszych procesorach (Intel Arrandale, AMD Bulldozer) 28
Szyfry asymetryczne Podstawowy problem szyfrów symetrycznych: bezpieczne uzgodnienie klucza Szyfry asymetryczne para kluczy: szyfrowanie klucz jawny (publiczny) deszyfrowanie klucz tajny (prywatny) Nie da się w łatwy sposób odtworzyć klucza prywatnego znając publiczny klucz publiczny można przesyłać otwartym kanałem Pozostaje problem modyfikacji klucza jawnego podczas przekazywania drugiej stronie ( man-in-themiddle attack ) 29
Szyfry asymetryczne W praktyce: szyfrujemy wiadomość algorytmem symetrycznym z losowym kluczem jednorazowego użytku (klucz sesyjny); klucz sesyjny zaszyfrowany algorytmem asymetrycznym dołączamy do wiadomości Popularne algorytmy asymetryczne: DH (Whitfield Diffie, Martin Hellman 1976) ElGamal (Taher ElGamal 1985) RSA (Ron Rivest, Adi Shamir, Leonard Adleman 1978) ECC (Elliptic Curve Cryptosystem, ~1985) 30
Algorytm Diffiego-Hellmana (DH) Whitfield Diffie, Martin Hellman, 1976 Wykorzystuje problem logarytmów dyskretnych: A ustala dwie liczby: p (duża liczba pierwsza) i g będące pierwiastkiem pierwotnym modulo p, tzn. reszty gi mod p pokrywają przedział (0,p) A ustala pewną liczbę x; B - y (klucze prywatne) A wysyła B liczby p, g oraz X=gx mod p (klucz publiczny A) B wysyła A liczbę Y=gy mod p (klucz publiczny B) A wylicza Yx mod p = (gy mod p)x mod p = gyx mod p =k B wylicza Xy mod p = gxy mod p = k A i B znają k (wspólny sekret); podsłuchujący C zna p, g, X, Y, ale nie obliczy k Możliwy atak man-in-the-middle 31
Algorytm RSA Rivest, Shamir, Adleman (1978; w 2000 wygasł patent) Wykorzystuje fakt, że dla dużych liczb pierwszych p i q znajomość iloczynu p*q nie pozwala na łatwe znalezienie czynników p i q (faktoryzację): p i q - liczby pierwsze; n = p*q losujemy e względnie pierwsze z (p-1)*(q-1) wyliczamy d takie że d*e mod (p-1)*(q-1) = 1 klucz prywatny: d klucz publiczny: e i n szyfrowanie: c = me mod n odszyfrowanie: cd mod n = med mod n = m nie znając p i q nie da się z e i n uzyskać d Długość klucza: liczba bitów p*q 32
Skrót kryptograficzny Funkcja skrótu funkcja przyporządkowująca dowolnemu ciągowi bitów/bajtów ciąg bitów o stałej długości (np. 128 bitów) Nie są bijektywne! Funkcja skrótu kryptograficznego H: jednokierunkowa ustalenie m takiego, że dla danego h H(m)=h (odwrócenie funkcji) powinno być trudne (mieć niewielomianową złożoność obliczeniową) odporna na kolizje również trudne jest znalezienie pary m1, m2 takiej, że H(m1) = H(m2) atak urodzinowy (birthday attack) spełniająca SAC zmiana jednego bitu m zmienia każdy bit H(m) z prawdopodobieństwem 50% 33
Skrót kryptograficzny Są używane m.in. jako sumy kontrolne, do identyfikacji plików i innych obiektów, przy przechowywaniu haseł i do weryfikacji integralności wiadomości Popularne funkcje skrótu kryptograficznego: MD5 (Message Digest 5), 128 bitów nie jest już uznawana za bezpieczną SHA-1 (Secure Hash Algorithm 1), 160 bitów RIPE-MD160, 160 bitów SHA-2: SHA-224, SHA-256, SHA-384, SHA-512 WHIRLPOOL, Rijmen&Barreto, 512 bitów SHA-3: konkurs ma być rozstrzygnięty w 2012 34
Podpis cyfrowy Jak zapewnić autentyczność (została wysłana przez właściwego nadawcę) i integralność (nie została zmanipulowana przez osoby trzecie) wiadomości? w przypadku szyfrów symetrycznych tylko osoby znające klucz mogą być autorami wiadomości ale co, jeśli jest wielu nadawców i odbiorców używających tego samego klucza? w przypadku szyfrów asymetrycznych nadawcą może być dowolna osoba klucz publiczny odbiorcy może poznać każdy Jeśli możemy zweryfikować skrót kryptograficzny wiadomości, pozwala to wnioskować o jej integralności ale jak zabezpieczyć przed manipulacją skrót? 35
Podpis cyfrowy Algorytm RSA posiada własność przemienności: D(kpriv, E(kpub, m)) = m E(kpub, D(kpriv, m)) = m Dzięki temu: szyfrowanie: E(kpub, m) = m' deszyfrowanie: D(kpriv, m') = m podpis: D(kpriv, m) = m' weryfikacja: E(kpub, m') = m Przy podpisie używamy klucza prywatnego, a przy weryfikacji klucza publicznego nadawcy W praktyce: podpisujemy skrót kryptograficzny wiadomości 36
Podpis cyfrowy Popularne algorytmy podpisu cyfrowego: RSA (1978) ElGamal (Taher ElGamal, 1984) wykorzystuje problem logarytmów dyskretnych (podobnie jak algorytm DH) DSA/DSS (Digital Signature Algorithm/Standard, 1991) stanowi modyfikację algorytmu ElGamala ECDSA (Elliptic Curve DSA, 2001) wykorzystuje ECC 37
Dystrybucja kluczy publicznych Sposoby dystrybucji kluczy: bezpośrednio od właściciela (osoby, serwera) repozytoria kluczy/certyfikatów (key servers) Jak upewnić się, że dany klucz publiczny faktycznie należy do właściwej osoby (adresata kryptogramu lub autora podpisanej wiadomości)? Certyfikat klucza publicznego: (klucz; dane osobowe właściciela; ew. data ważności) podpis cyfrowy certyfikującego Sposoby certyfikowania klucza: scentralizowany/hierarchiczny: PKI (Public Key Infrastructure) wykorzystujące CA (Certificate Authority) (najczęściej zgodne ze standardem X.509) rozproszony: web of trust 38
Atak na szyfry asymetryczne Typowe długości klucza dla RSA i DSA/DH/ElGamal: 512 łamalne w ciągu tygodni na sprzęcie domowym 768 łamalne (2009) 1024 bezpieczne na następne kilka (?) lat 2048, 3072, 4096 bezpieczne na długo, o ile nie nastąpi radykalny przełom (komputery kwantowe? nowe algorytmy?) Ataki niekryptograficzne: social engineering rubberhose cryptanalysis 39
Długość klucza a moc kryptograficzna Wybór algorytmu nie ma istotnego wpływu na czas łamania brute force, liczy się jedynie długość klucza Długości klucza dające porównywalny czas łamania brute force: Symetryczny ECC RSA/DH/DSA/ElGamal 56 105 512 80 163 1024 112 233 2048 128 283 3072 192 409 7680 256 571 15360 40
Co możemy szyfrować? Dane przechowywane Na poziomie plików Na poziomie systemów plików (dysków, partycji) Na poziomie urządzeń fizycznych Dane przesyłane Warstwa łącza danych (sprzętowe szyfratory łącza) Warstwa sieciowa/transportowa/sesji (IPSEC, VPN, SSL) Warstwa aplikacji (sesja terminalowa, e-mail, VoIP) Przy przechowywaniu danych nie występuje problem bezpiecznego przekazania klucza możliwe wykorzystanie szyfrów symetrycznych Przy przesyłaniu danych wskazane wykorzystanie szyfrów asymetrycznych 41
Szyfrowanie danych przechowywanych Programy archiwizujące (pakujące) z szyfrowaniem: PKZIP (DES, 3DES) WinZip (AES-128, AES-256) WinRAR (AES-128) Dedykowane programy do szyfrowania plików: bcrypt (Blowfish), ccrypt (Rijndael) mcrypt (AES, Blowfish, Twofish, 3DES i in.) OpenSSL enc (Blowfish, 3DES, IDEA i in.) PalCrypt (AES, Blowfish, IDEA) PGP / GPG 42
Szyfrowanie danych przechowywanych Szyfrowane filesystemy na dysku/partycji lub napędzie wirtualnym (w pliku): BestCrypt (AES, Blowfish, Twofish, CAST) komercyjny, Windows dm-crypt (AES, Blowfish, Twofish, Serpent, 3DES) freeware, Linux FileVault (AES-128) wbudowany, MacOS TrueCrypt (AES, Twofish, Serpent i ich kombinacje) freeware, Windows, Linux, MacOS Sprzętowe szyfratory (AES-256) wbudowane w: kontrolery: Addonics CipherChain dyski twarde: Seagate, Samsung, Toshiba dyski flash USB (pendrive): Kingston DataTraveller, SanDisk Cruzer Professional/Enterprise, Ironkey i in. 43
Szyfrowanie danych przesyłanych Szyfratory sprzętowe w warstwie łącza danych Szyfrowanie GSM: A5/1, A5/2, A5/3 (KASUMI) Szyfrowanie w sieciach WiFi WEP (Wired Equivalent Privacy) ~1997 (RC4) WPA (Wi-Fi Protected Access) ~2002 wariant podstawowy klucz 40+24 = 64-bitowy wariant rozszerzony klucz 104+24 = 128-bitowy RC4 ma znane słabości (Fluhrer, Mantin, Shamir 2001, Klein 2005) Aircrack WEP2, WEPplus, WEP256 próby ratowania sytuacji nadal RC4 + TKIP (Temporal Key Integrity Protocol) WPA2 (standard 802.11i) 2004 (AES-128) od 2006 obligatoryjny dla nowych urządzeń WiFi WPA2-PSK (Pre-Shared Key) dla małych sieci WPA2-Enterprise EAP (Extensible Authentication Protocol), np. 802.1x/RADIUS 44
Szyfrowanie danych przesyłanych Wirtualne sieci prywatne (Virtual Private Networks, VPN) host-to-host (software) network-to-network, host-to-network (dedykowane routery, tzw. terminatory VPN) Popularne implementacje: PPTP/MPEE (Point-to-Point Tunneling Protocol, Microsoft Point-to-Point Encryption; Microsoft) L2TP (Layer 2 Tunneling Protocol; Cisco) DTLS (Datagram Transport Layer Security; Cisco) GRE (Generic Routing Encapsulation; Cisco) IPsec (opcjonalny w IPv4, obligatoryjny w IPv6) SSL VPNs, np. OpenVPN 45
SSL/TLS SSL (Secure Socket Layer) Netscape ~1995 SSL v3-1996 TLS (Transport Layer Security) 1999 (RFC 2246) TLS v. 1.2 2008 (RFC 5246), dodano m.in. AES w odróżnieniu od SSL, TLS pozwala na uwierzytelnienie dwustronne może być negocjowany (STARTTLS) Zastosowanie: do tunelowania konkretnego protokołu: HTTP, FTP, SMTP, IMAP4, POP3, NNTP, XMPP implementacja: wbudowana w aplikację (przeglądarkę, program pocztowy) samodzielna (Stunnel) zewnętrzna biblioteka (OpenSSL, GnuTLS) do tworzenia VPN 46
HTTPS Wyparł SHTTP (Secure HTTP) ~1995 dzięki wsparciu w Netscape Navigator i Microsoft Internet Explorer Obecna wersja - RFC 2818 (2000) Obsługiwany przez wszystkie popularne przeglądarki HTTP over SSL/TLS na porcie (domyślnie) 443 Komplikuje tworzenie name-based virtual servers wymaga IP-based virtual servers lub rozszerzenia SNI (Server Name Indication; nieobsługiwane przez IE na XP) Zastosowanie m.in. w e-commerce, bankowości online itd. miliony użytkowników Sprzętowe akceleratory/terminatory HTTPS Certyfikaty komercyjne 47
X.509 Format certyfikatu: DER binarny PEM tekstowy (DER kodowany Base64) rozszerzenia.crt,.cer,.der,.pem Certyfikaty popularnych CA (root CA) są wbudowane w oprogramowanie (przeglądarki, programy pocztowe itd.): Verisign, Thawte, GlobalSign, Network Solutions, GeoTrust, DigiCert, Entrust, Comodo, CAcert.org, itd. (np. Certum/UniZETO) Inne certyfikaty CA mogą być dodane ręcznie przez użytkownika Certyfikaty pośrednie (intermediate CA) podpisane przez root CA, same mogą służyć do podpisywania kolejnych certyfikatów (CA chaining) 48
X.509 Certificate: Data: Version: 1 (0x0) Serial Number: 7829 (0x1e95) Signature Algorithm: md5withrsaencryption Issuer: C=ZA, ST=Western Cape, L=Cape Town, O=Thawte Consulting cc, OU=Certification Services Division, CN=Thawte Server CA/emailAddress=server-certs@thawte.com Validity Not Before: Jul 9 16:04:02 1998 GMT Not After : Jul 9 16:04:02 1999 GMT Subject: C=US, ST=Maryland, L=Pasadena, O=Brent Baccala, OU=FreeSoft, CN=www.freesoft.org/emailAddress=baccala@freesoft.org Subject Public Key Info: Public Key Algorithm: rsaencryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:b4:31:98:0a:c4:bc:62:c1:88:aa:dc:b0:c8:bb: 33:35:19:d5:0c:64:b9:3d:41:b2:96:fc:f3:31:e1: 66:36:d0:8e:56:12:44:ba:75:eb:e8:1c:9c:5b:66: 70:33:52:14:c9:ec:4f:91:51:70:39:de:53:85:17: 16:94:6e:ee:f4:d5:6f:d5:ca:b3:47:5e:1b:0c:7b: c5:cc:2b:6b:c1:90:c3:16:31:0d:bf:7a:c7:47:77: 8f:a0:21:c7:4c:d0:16:65:00:c1:0f:d7:b8:80:e3: d2:75:6b:c1:ea:9e:5c:5c:ea:7d:c1:a1:10:bc:b8: e8:35:1c:9e:27:52:7e:41:8f Exponent: 65537 (0x10001) Signature Algorithm: md5withrsaencryption 93:5f:8f:5f:c5:af:bf:0a:ab:a5:6d:fb:24:5f:b6:59:5d:9d: 92:2e:4a:1b:8b:ac:7d:99:17:5d:cd:19:f6:ad:ef:63:2f:92: ab:2f:4b:cf:0a:13:90:ee:2c:0e:43:03:be:f6:ea:8e:9c:67: d0:a2:40:03:f7:ef:6a:15:09:79:a9:46:ed:b7:16:1b:41:72: 0d:19:aa:ad:dd:9a:df:ab:97:50:65:f5:5e:85:a6:ef:19:d1: 5a:de:9d:ea:63:cd:cb:cc:6d:5d:01:85:b5:6d:c8:f3:d9:f7: 8f:0e:fc:ba:1f:34:e9:96:6e:6c:cf:f2:ef:9b:bf:de:b5:22: 68:9f 49
SSH Secure SHell (SSH) - 1995, Tatu Ylönen jako substytut protokołów Telnet i rlogin/rsh w wersji 1 RSA, DES/3DES/Blowfish w wersji 2 RSA/DH, 3DES/Blowfish/RC4/CAST/AES uwierzytelnienie hasłem lub kluczem RSA/DSA OpenSSH 1999, otwarta implementacja SSH SCP i SFTP protokoły transferu plików SSHFS zdalny system plików z szyfrowaniem ruchu możliwość tunelowania poszczególnych portów możliwość tunelowania ruchu IP (OpenSSH VPN) popularne implementacje: PuTTY, Xshell, TeraTerm, WinSCP, FileZilla 50
S/MIME Multipurpose Internet Mail Extensions (MIME) standard kodowania wiadomości e-mail zawierających dane nietekstowe (RFC 2045-2049) Secure MIME standard przesyłania wiadomości zaszyfrowanych (RFC 3851) Wykorzystuje Cryptographic Message Syntax (PKCS #7) Bazuje na Certificate Authority certyfikaty użytkowników są wystawiane przez publiczne lub prywatne (np. wewnątrzfirmowe) CA Wbudowany w wiele programów pocztowych (Outlook, Outlook Express, Thunderbird) 51
PGP Pretty Good Privacy 1991, Philip Zimmermann Wykorzystuje web of trust PGP 2 IDEA (128bit), RSA, MD5 Śledztwo z 1992 w sprawie złamania przepisów eksportowych (zakończone 1996) Wersja eksportowa (PGP International) Problemy z patentami (RSA do 2000, IDEA do 2011) PGP 5 RSA (tylko w wersji komercyjnej!), DSA/ElGamal, CAST5, 3DES, IDEA, SHA-1 PGP 6 szyfrowane dyski wirtualne (PGPdisk) PGP 7 Twofish, AES FAQ: http://www.mccune.cc/pgppage2.htm 52
OpenPGP Standard OpenPGP 1998-2007 (RFC 4880) Implementacje: PGP Desktop 10.x PGP Corporation GNU Privacy Guard (GnuPG, GPG) 2.0.15 19992010, Free Software Foundation Wykorzystuje: Szyfry asymetryczne: RSA, DSA, ElGamal Symetryczne: CAST5, 3DES, AES, Blowfish, Twofish, opcjonalnie IDEA Funkcje skrótu: MD5, SHA-1, SHA-256, SHA-512, RIPEMD-160, Tiger wersja command-line nakładki graficzne (KGPG, MacGPG, gpg4win) pluginy do popularnych programów (FireGPG, Enigmail) może być używane do szyfrowania symetrycznego plików Inne: Hushmail, McAfee E-Business Server 53
Klucz PGP pub uid 2048R/2ABE016B 2002-03-26 Szymon Sokol <Szymon.Sokol@agh.edu.pl> sig 3 2ABE016B 2003-04-01 Szymon Sokol <Szymon.Sokol@agh.edu.pl> sig 2 65C694F7 2005-07-19 Marcin J. Skwark <mjs@deontology.net> sig F9289982 2005-10-07 Szymon Sokol <Szymon.Sokol@agh.edu.pl> uid Szymon Sokol <szymon@uci.agh.edu.pl> sig 3 2ABE016B 2002-03-26 Szymon Sokol <Szymon.Sokol@agh.edu.pl> sig F9289982 2002-03-26 Szymon Sokol <Szymon.Sokol@agh.edu.pl> sig 3 27C81BC9 2002-03-26 Janusz A. Urbanowicz <alex@bofh.net.pl> sig 3 21939169 2002-03-26 Janusz A. Urbanowicz <alex@bofh.net.pl> sig 3 3FB1A268 2002-07-17 Marek Wójtowicz <wumarex@agh.edu.pl> sig 3 784131F7 2002-07-17 Marek Wójtowicz <wumarex@agh.edu.pl> sig 2 65C694F7 2005-07-19 Marcin J. Skwark <mjs@deontology.net> uid Szymon Sokol <szymon@hell.pl> sig 3 2ABE016B 2002-03-26 Szymon Sokol <Szymon.Sokol@agh.edu.pl> sig F9289982 2002-03-26 Szymon Sokol <Szymon.Sokol@agh.edu.pl> sig 3 27C81BC9 2002-03-26 Janusz A. Urbanowicz <alex@bofh.net.pl> sig 3 21939169 2002-03-26 Janusz A. Urbanowicz <alex@bofh.net.pl> sig 3 3FB1A268 2002-07-17 Marek Wójtowicz <wumarex@agh.edu.pl> sig 3 784131F7 2002-07-17 Marek Wójtowicz <wumarex@agh.edu.pl> 54
Ataki na infrastrukturę sieciową pasywny podsłuch (sniffing) także jako część diagnostyki sieci narzędzia: Ettercap, tcpdump, Wireshark i in. podsłuch sieci WiFi (WEP cracking): airsnort aktywny podsłuch MAC flooding ARP spoofing IP spoofing session hijacking ataki na protokoły routingu (ICMP spoofing, BGP poisoning) ataki na DNS (DNS cache poisoning) 55
Skaning Network scanning, port scanning, penetration test nie jest atakiem per se, ale może być przygotowaniem do ataku; jest też stosowany w diagnostyce sieci nmap - Gordon Lyon ( Fyodor ), 1997 skaning pojedynczych adresów IP lub całych zakresów skaning wybranych lub wszystkich portów odgadywanie wersji OS i/lub aplikacji stealth scanning Shields Up Steve Gibson; przeskanuj się online SATAN/SANTA (Security Administrators Tool for Analyzing Networks) D. Farmer, W. Venema 1995 SAINT (Security Administrator's Integrated Network Tool) następca SATAN-a, 1998 Inne: Nessus, OpenVAS, Pentoo 56
Ataki na usługi sieciowe Odgadywanie haseł do usług (SSH, FTP, POP3 itd.) atak słownikowy Błędy oprogramowania serwerów Zbyt szerokie uprawnienia Przepełnienie bufora (buffer overflow) Code injection PHP injection SQL injection <?php $color = 'blue'; if (isset( $_GET['COLOR'] ) ) $color = $_GET['COLOR']; require( $color. '.php' );?> 57
Ataki na usługi sieciowe 58
Ataki DoS (Denial of Service) Polegają na zablokowaniu zasobów ofiary mocy procesora, pamięci, przepustowości łącza Wykorzystujące specyfikę protokołów: SYN flood lub ich implementacji: Teardrop błąd w obsłudze pakietów fragmentowanych ping of death błąd w obsłudze dużych (64kB) pakietów ICMP (m.in. w Windows) LAND (Local Area Network Denial) odpowiadanie na pakiety z fałszywym adresem nadawcy równym adresowi odbiorcy/ofiary (stare Unixy, Windows XP, 2003) 59
Ataki DDoS (Distributed DoS) smurf obsługa broadcast ICMP Z użyciem botnetu (komputerów-zombie zarażonych trojanem, np. Stacheldraht, Trinoo, TFN2K, Conficker) sterowane (Command & Control) np. przez IRC największe botnety po >1 mln zombie (głównie Windows, ale też MacOS, Linux, Symbian) DDoS przypadkowy (Slashdot effect) 60
Social engineering Social engineering ogół metod polegających na wykorzystaniu naiwności użytkownika (np. wyłudzeniu hasła, skłonieniu do instalacji malware itd.); Kevin Mitnick The Art of Deception Phishing wykorzystanie e-maila lub strony WWW do podszycia się pod zaufaną instytucję w celu wyłudzenia danych Wykorzystanie homografów <http://www.cto-xyeb.ru>, składni URL <http//:www.google.com@somesite.cn>, opisów w HTML różnych od faktycznego URL Pharming odmiana phishingu oparta o przekierowanie przeglądarki WWW (np. poprzez DNS poisoning, rekonfigurację lokalnego routera, tabnabbing itd.) 61
Malware (malicious software) Wirus ( self-replicating program, Fred Cohen 1983) dokleja się do programów i jest przenoszony z systemu do systemu przez użytkowników Robak (worm, John Brunner 1975) samodzielnie propaguje się przez sieć (przypadek graniczny: robak rozsyłający się e-mailem) Trojan (koń trojański, Trojan horse) nie replikuje się samodzielnie, jest instalowany przez użytkownika w 2009 stanowiły >80% malware Backdoor (Ken Thompson Reflections on Trusting Trust, 1984) Back Orifice, Netbus, SubSeven Rootkit Sony Extended Copy Protection na audio CD (2005) 62
Malware (malicious software) Spyware malware, którego celem jest gromadzenie i przesyłanie informacji o użytkowniku (haseł etc.); często zawiera keylogger Adware oprogramowanie wyświetlające reklamy, często zawiera elementy spyware (reklama kontekstowa) Exploit program, którego jedyną funkcją jest wykorzystanie luki lub przełamanie zabezpieczenia systemu (lokalnego lub zdalnego) 63
Malware (malicious software) Przełomowe wirusy Creeper (1981, PDP-10) Brain/Lahore (1986, MS-DOS) nvir (1987, MacOS) Michelangelo (1992) spowodował histerię mediów Concept (1995, makrowirus infekujący.doc) Staog (1996, Linux) Commwarrior-A (2005, Symbian) rozsyła się w MMS Najbardziej znane robaki The Internet Worm Roberta T. Morrisa, 2.11.1988 Code Red (2001), Nimda (2001), Klez (2001), Blaster (2003), SQL Slammer (2003), Sobig (2003), Sasser (2004), Conficker (2008) 64
Zwalczanie malware Popularne programy antywirusowe Kaspersky Anti-virus ESET NOD32 BitDefender Antivirus AVG McAfee VirusScan Linux: McAfee LinuxShield, ClamAV Popularne wykrywacze spyware Spybot Search & Destroy Superantispyware Lavasoft Ad-Aware Microsoft Windows Defender Trend Micro HijackThis Sunbelt Counterspy 65
Zwalczanie malware Popularne firewalle programowe (często zintegrowane z programem antywirusowym) Zone Alarm Internet Security Suite Kaspersky Internet Security Comodo Internet Security Outpost Firewall Pro Norman Personal Firewall Norton Internet Security Linux: Netfilter/iptables, Shorewall Rankingi antywirusów i firewalli: http://anti-virus-software-review.toptenreviews.com/ http://personal-firewall-software-review.toptenreviews.com/ 66
Zapora sieciowa (firewall) Firewalle sprzętowe Cisco PIX Juniper NetScreen ISG Check Point FireWall-1 SonicWall Zyxel ZyWall i, w jakimś stopniu, niemal każdy router z obsługą ACL (Access Control Lists) 67
Zapora sieciowa (firewall) Typy firewalli: filtry pakietów (packet filters) stateless filters stateful filters (SPI Stateful Packet Inspection) analiza protokołów wyższej warstwy (application layer firewalls, DPI Deep Packet Inspection) proxy servers Dwa ostatnie rodzaje mogą być wykorzystane do filtrowania treści (zapobieganie wyciekom danych, ochrona praw autorskich, ale także cenzura) NAT (Network Address Translation), masquerade w przypadku wykorzystania w sieci wewnętrznej prywatnych adresów IP (wg RFC 1918) 68
Unified Threat Management (UTM) Nazywane też Next Generation Firewalls Integracja funkcji firewalla, IDS/IPS (Intrusion Detection/Prevention System), a często także antywirusa i filtra treści niepożądanych/spamu: Komercyjne: Juniper SSG Cisco ASA Fortinet FortiGate Check Point UTM-1 Open Source snort Suricata Untangle 69
Zapora sieciowa (firewall) Strefa zdemilitaryzowana podsieć, w której znajdują się serwery dostępne z zewnątrz z trójnogim firewallem z podwójnym firewallem 70
Zapora sieciowa (firewall) Potencjalne sposoby obejścia firewalla: połączenie jest inicjowane z wnętrza sieci, przez np. trojana modem lub inny dodatkowy punkt wejścia do sieci słabo chroniona sieć bezprzewodowa jako część sieci wewnętrznej 71
Reagowanie na incydenty CERT (Computer Emergency Response Team) instytucje zajmujące się koordynacją zapobiegania i zwalczania naruszeń bezpieczeństwa komputerowego Pierwszy CERT Carnegie Mellon University, 1988 (po sparaliżowaniu Internetu przez Morrisa) United States Computer Emergency Readiness Team (US-CERT) w ramach Dept. of Homeland Security CERT NASK (1996) CERT PL <http://www.cert.pl> TF-CSIRT (Task Force Collaboration Security Incident Response Teams) organizacja utrzymująca FIRST (Forum of Incident Response and Security Teams) zrzeszające ponad 100 CERT-ów w Europie ENISA (European Network and Information Security Agency) agencja UE 72