325
Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017 wersja z dnia: 17 listopada 2017 Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 1 / 325

Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Bezpieczeństwo systemów komputerowych II

III rok informatyki

semestr zimowy 2016/2017

wersja z dnia: 17 listopada 2017

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 1 / 325

Page 2: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Literatura obowiązkowa

Kevin Mitnick, Sztuka podstępu, Helion 2003

Kevin Mitnick, Sztuka infiltracji, Albatros 2006

Podręczniki

Anonim, Internet: agresja i ochrona, Wyd. Robomatic 1998

Anonim, Linux: agresja i ochrona, Wyd. Robomatic 2000

J. Pieprzyk, T. Hardjono, J. Seberry, Teoria bezpieczeństwa systemówkomputerowych, Helion 2005

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 2 / 325

Page 3: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Rodzaje zagrożeń

Rodzaje zagrożeń

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 3 / 325

Page 4: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Rodzaje zagrożeń

Kradzież/wydobycie informacji w dowolnej postaci może nastąpić

na drodze elektronicznej, wykorzystując technologię

na drodze psychologicznej, wykorzystując słabość czynnika ludzkiego

jako kombinacja obu powyższych

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 4 / 325

Page 5: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Rodzaje zagrożeń

Trochę terminologii:

hacker i cracker – potrzebne czy niepotrzebne rozróżnienie?

script kiddies

socjotechnik

phreaking – manipulowanie liniami telefonicznymi, korzystaniez numerów technicznych, darmowe dzwonienie lub obciążanie cudzegorachunku; później włamania za pomocą modemów telefonicznych(ISDN, DSL), obecnie włamania do sieci komórkowych

spoofing – podszywanie się (też elektroniczne)phishing – wyłudzanie haseł do kont bankowych i danych kartkredytowych

I SMiShing – phishing za pomocą SMSI pharming – wyrafinowany phishing z przekierowaniem właściwegoadresu np. banku na adres spreparowanej strony; wymagawcześniejszego przejęcia serwera DNS lub włamania się do systemuoperacyjnego ofiary

wardriving, warpharming, spam...

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 5 / 325

Page 6: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Rodzaje zagrożeń

Przykład phishingu

Return-Path: <[email protected]>X-Original-To: [email protected]: [email protected]: Debian amavisd-new at kft(...)Received: from update.com (unknown [99.35.207.46])by kft.umcs.lublin.pl (Postfix) with ESMTP id A341C15FB8for <[email protected]>; Thu, 8 Aug 2013 10:23:42From: [email protected], [email protected],[email protected]: [email protected]: Dear Barclays Online Customer,Date: 08 Aug 2013 04:23:33 -0500Message-ID: <20130808042331.6FC824A1C44B4106

@from.header.has.no.domain>

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 6 / 325

Page 7: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Rodzaje zagrożeń

Dear Barclays Online Customer,

Your access to Barclays Online Banking network has beentemporarily limited due to multiple login errors on youraccount.

Protecting the privacy of your online banking access andpersonal information are our primary concern.

Therefore, as preventive measure, you are expected tore-activate your account details within 24hrs to avoidpermanent suspension of your Internet Banking access.

To review your account as soon as possible please downloadthe form and follow the instructions on your screen.(...)

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 7 / 325

Page 8: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Rodzaje zagrożeń

W załączniku jest plik .zipz formularzem w html. Cechy:

sfałszowane nagłówki email

groźby w liście, ale jednocześniezapewnienie o chęci pomocy

brak linku http, formularzprzesłany jako plik html

spakowanie załącznika, abyuniknąc filtrów antyspamowychi programów antywirusowych

żądanie podania wszystkichdanych do konta bankowegoi karty kredytowej

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 8 / 325

Page 9: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Rodzaje zagrożeń

Formularz może uchodzić za wiarygodny

zawiera linki do stron banku

korzysta z orginalnych stylów css, logo, nagłówka i stopki

treść formularza obsługiwana jest przez skrypthttp://securehttp.altervista.org/done.php

Skryptu nie da się pobrać ani podejrzeć

$ wget http://securehttp.altervista.org/done.php

--2013-08-08 13:09:54-- http://securehttp.altervista.org/done.phpTranslacja securehttp.altervista.org (securehttp.altervista.org)

... 176.9.139.246Łączenie się z securehttp.altervista.org

(securehttp.altervista.org)|176.9.139.246|:80... połączono.Żądanie HTTP wysłano, oczekiwanie na odpowiedź... 403 Forbidden2013-08-08 13:09:54 BŁĄD 403: Forbidden.

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 9 / 325

Page 10: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Rodzaje zagrożeń

CZYNNIK LUDZKI TO NAJSŁABSZE OGNIWOSYSTEMU ZABEZPIECZEŃ

Socjotechnika a prawo w Polsce

podawanie się za kogoś innego (osobę fikcyjną) jest niekaralne(ale korzystanie z nieprzysługujących przywilejów tak)

podszywanie się pod kogoś (kto istnieje) jest karalne

podpisanie się cudzym nazwiskiem na dokumencie jest karalne

wyłudzenie informacji jest karalne

ujawnianie informacji niejawnych jest karalne

W większości przypadków:socjotechnik = oszust

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 10 / 325

Page 11: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Rodzaje zagrożeń

Sztuczki socjotechniczne i psychologiczne

kumple – wspólne zainteresowania, poglądy, pochodzenie...

współczucie i litość

groźba – szef będzie zły

zagrożenie – macie wirusa, który kasuje dane

presja czasu

wzajemność – ja zrobiłem coś dla ciebie, ty zrób coś dla mnie

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 11 / 325

Page 12: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Rodzaje zagrożeń

Zasady wykorzystywane przy nakłanianiu ludzi do zrobienia czegoś:[dr Agata Gąsiorowska, Szkoła Wyższej Psychologii Społecznej we Wrocławiu]

reguła zobowiązania i konsekwnecjijak się powiedziało A to trzeba powiedzieć B...głupio wyjść przez kasy ze sklepu bez zakupów...

reguła wzajemnościodpłata za zaproszenie, wycieczkę, degustację, prezencik...

reguła niedostępnościpromocja, wyprzedaż, okazja, niedostępne nigdzie indziej

reguła autorytetu„lekarz” opowiada o lekarstwie, „budowlaniec” o farbie

reguła społecznego dowodu słusznościto działa bo: on tak mówi, tylu ludzi tu przyszło...

Jak te zasady wykorzystać przy atakach socjotechnicznych nainfrastruktury informatyczne?

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 12 / 325

Page 13: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Rodzaje zagrożeń

Ludzie wyjawiali nieznajomym zastrzeżone informacje przez telefon. Czynas lub naszych najbliższych nigdy nie oszukano, naciągnięto, skłoniono dokupna?

domokrążcy

„pokazy produktów zdrowotnych”

telefon z banku, kablówki, oferty sieci komórkowych...

Mając tylko kilka informacji, np. imię, nazwisko, miasto i przybliżony wiek,można namierzyć osobę korzystając tylko z Google’a. Im bardziej osoba taudziela się, tym więcej informacji można o niej znaleźć.

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 13 / 325

Page 14: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona fizyczna i polityka bezpieczeństwa informacji

Ochrona fizycznai polityka bezpieczeństwa informacji

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 14 / 325

Page 15: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona fizyczna i polityka bezpieczeństwa informacji

Pierwszą i często zapominaną linią obrony jest zabezpieczenie fizycznegodostępu do zasobów. Co można zrobić, mając fizyczny dostęp do świetniezabezpieczonego komputera?

ukraść go w całości

wymontować dysk z danymi

zresetować bios

zrebootować komputer z innymi opcjami (init=/bin/bash)

wykorzystać bootloader (np. uruchomić windows w trybienaprawczym, wykorzystać konsolę grub’a)

uruchomić komputer z bootowalnego pendrive’a

podłączyć dodatkowy hardware, np. szpiegujący

przepiąć kable sieciowe (identyfikacja po portach)

Jak Mitnick z kolegą wygrali 300$ (konferencja DEC w 1981 r.), niewłamując się do systemu chronionego przez LOCK-11...

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 15 / 325

Page 16: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona fizyczna i polityka bezpieczeństwa informacji

W pomieszczeniach administratorów i serwerowniach często stojąniezabezpieczone terminale (z zalogowanym adminem?), znaleźć możnanotatki, dokumentacje, wydruki, wydruki robocze, kopie zapasowe.Wg wszelkich reguł, rzeczy takie muszą być

sklasyfikowane (jawne, poufne, zastrzeżone, tajne)

odpowiednio zabezpieczone od strony elektronicznej (szyfrowaniekopii zapasowych baz danych)

odpowiednio zabezpieczone od strony fizycznej (szafy pancerne,klucze w sejfach, zamki szyfrowe, zabezpieczenia biometryczne...)

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 16 / 325

Page 17: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona fizyczna i polityka bezpieczeństwa informacji

Certyfikaty, np. ISO/IEC 27001, zawierają wymagania dotyczące SystemówZarządzania Bezpieczeństwem Informacji.Jako zasoby informacyjne identyfikowane są (www.iso27000.pl)

dane cyfrowe

informacje na papierze, mikrofilmy...

zasoby niematerialne (wiedza, licencje, patenty, relacje biznesowe,znak firmowy, wizerunek, doświadczenie, know-how...)

aplikacje i systemy operacyjne

infrastruktura IT (budynki, pomieszczenia, CCTV...)

sprzęt IT

usługi i ich składniki (uwierzytelnianie, firewall, proxy, siecibezprzewodowe, filtry antyspamowe, antywirusy, ftp, email, www...)

pracownicy (stali, zewnętrzni, tymczasowi)

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 17 / 325

Page 18: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona fizyczna i polityka bezpieczeństwa informacji

Trzy poziomy bezpieczeństwa

I Bezpieczeństwo instytucji

II Bezpieczeństwo teleinformatyczne w instytucji

III Bezpieczeństwo systemów instytucji

Na każdym poziomie określić należy

cel (zamierzenia, efekt końcowy)

strategię (sposób osiągnięcia celu)

politykę (konkretne metody realizacji strategii)

Dokument z przykładową polityką bezpieczeństwa firmy

www.securitum.pl/baza-wiedzy/publikacje/przykladowa-polityka-bezpieczenstwa

Patrz też: rozdz. 16 książki Mitnicka Sztuka podstępu.

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 18 / 325

Page 19: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona fizyczna i polityka bezpieczeństwa informacji

Mówiąc o kompleksowym zabezpieczniu systemu komputerowego należyuwzględnić

reguły i procedury obowiązujące pracowników

fizyczne zabezpiecznie dostępu do danych (niszczenie dokumentów)

elektroniczne zabezpieczenie dostępu do danych

zabezpieczenie od strony sieci (internet, telefon, faks, dostęp zdalnyspoza firmy, usługi na serwerach firmowych)

zabezpieczenia od strony sieci wewnętrznej (uprawnieniaużytkowników, praca i praktyki administratorów, komunikacjawewnątrz firmy)

zabezpieczenia używanych systemów operacyjnych

bezpieczeństwa używanych aplikacji

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 19 / 325

Page 20: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci

Ochrona sieci

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 20 / 325

Page 21: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci

Przypomnienie kilku informacji o sieci

internet = routing

sieci, podsieci, bramy

hub, switch, router, access point (AP)

adresy IP, adresacja sieci, serwery DNS

adresy MAC, protokól TCP/IP

zapory sieciowe (firewall)

serwery, protokoły sieciowe, porty

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 21 / 325

Page 22: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci

Układy (topologie) sieci okiem włamywacza

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 22 / 325

Page 23: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci Model OSI

Model OSI

Warstwa 7.: aplikacji

Warstwa 6.: prezentacji danych

Warstwa 5.: sesji

Warstwa 4.: transportu

Warstwa 3.: sieci

Warstwa 2.: danych

Warstwa 1.: fizyczna

Gdzie można zaszkodzić? Prawie na każdym poziomie.

Zobacz:Bartosz Bobkiewicz, Metody omijania zapór sieciowych(praca magisterska, Politechnika Poznańska 2007)http://omijanie-zapor-sieciowych.eprace.edu.pl/

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 23 / 325

Page 24: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci Model OSI

Warstwa 7.: aplikacji jest bramą, przez którą procesy aplikacji dostają siędo usług sieciowych. Ta warstwa prezentuje usługi, które są realizowaneprzez aplikacje (przesyłanie plików, dostęp do baz danych, pocztaelektroniczna itp.)

Lokalne exploity, użytkownicy ze zbyt dużymi uprawnieniami, przejęcieuprawnień serwerów, ataki na bazy danych, pliki tymczasoweprzechowujące hasła...

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 24 / 325

Page 25: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci Model OSI

Warstwa 6.: prezentacji danych odpowiada za format używany dowymiany danych pomiędzy komputerami w sieci. Na przykład kodowanie idekodowanie danych odbywa się w tej warstwie

Warstwa 5.: sesji pozwala aplikacjom z różnych komputerów nawiązywać,wykorzystywać i kończyć połączenie

Resetowanie połączenia pozwala na wymuszenie przeprowadzeniaprocedury autoryzacji i przejęcia haseł lub przekierowania połączenia

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 25 / 325

Page 26: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci Model OSI

Warstwa 4.: transportu odpowiedzialna jest za dostawę wiadomości,które pochodzą z warstwy aplikacyjnej. U nadawcy warstwa transportudzieli długie wiadomości na kilka pakietów, natomiast u odbiorcy odtwarzaje i wysyła potwierdzenie odbioru. Sprawdza także, czy dane zostałyprzekazane we właściwej kolejności i na czas. W przypadku pojawieniasię błędów warstwa żąda powtórzenia transmisji danych.

Ataki typu Man-in-the-Middle, preparowanie i przechwytywanie pakietów

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 26 / 325

Page 27: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci Model OSI

Warstwa 3.: sieciowa kojarzy logiczne adresy sieciowe i ma możliwośćzamiany adresów logicznych na fizyczne. U nadawcy warstwa sieciowazamienia duże pakiety logiczne w małe fizyczne ramki danych, natomiast uodbiorcy składa ramki danych w pierwotną logiczną strukturę danych

Ta warstwa jest pośrednio wykorzystywana przy atakach na DNS

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 27 / 325

Page 28: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci Model OSI

Warstwa 2.: danych zajmuje się pakietami logicznymi (lub ramkami)danych. Pakuje nieprzetworzone bity danych z warstwy fizycznej w ramki,których format zależy od typu sieci (np. Ethernet lub Token Ring). Ramkiużywane przez tą warstwę zawierają fizyczne adresy nadawcy i odbiorcydanych

nfsec.pl/hakin9/osi.pdfPrzekierowanie pakietów, preparowanie nagłówków do ataków DoS

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 28 / 325

Page 29: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci Model OSI

Warstwa 1.: fizyczna przesyła nieprzetworzone bity danych przez fizycznynośnik (kabel sieciowy lub fale elektromagnetyczne w przypadku sieciradiowych). Ta warstwa przenosi dane generowane przez wszystkie wyższepoziomy, przy czym warstwy 1 do 4 są to tzw. warstwy niższe (transportdanych) zaś warstwy 5 do 7 to warstwy wyższe (aplikacyjne)

Ataki na sieci bezprzewodowe i sieci przewodowe poprzez zastosowaniesprzętowych: zagłuszaczy, keyloggerów etc.

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 29 / 325

Page 30: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci Protokół TCP/IP

Protokół TCP/IPWyróżnia 4 warstwy:

dostępu do sieci (link) – przygotowanie danych dla wyższej warstwy,dzielenie datagramów na ramki, kapsułkowanie

internetu – adresowanie, fragmentacja i scalanie datagramów

transportową – TCP – dostarczenie danych do odbiorcy

aplikacji – różne protokoły takie jak telnet, ftp, smtp...

Flagi tcp

ACK – potwierdzenie, że dane z pola acknowledgment są poprawne

RST, SYN, FIN – przesyłane są przy zakończeniu, zerwaniu połączenia

PSH – natychmiastowe przekazanie do wyższej warstwy (nie używane)

URG – pilne dane (nie używane)

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 30 / 325

Page 31: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci Protokół TCP/IP

3-way handshake, czyli wymiana uścików dłoni, poprzedza transmisjędanych

A wysyła do B SYN

B zwraca SYN+ACK

A odpowiada ACK

transmisja nawiązana

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 31 / 325

Page 32: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci Protokół TCP/IP

Słabości:

pakiet SYN z nieprawidłowym adresem zwrotnym: serwer szuka, komuodesłać pakiety zwrotne, blokując swoje działanie

pakiet SYN ze sfałszowanym adresem zwrotnym: serwer odsyłapakiety zwrotne na adres ofiary

po otrzymaniu SYN serwer musi utrzymać półotwarte połączenieprzez jakiś czas (przeciętnie 75 s); ograniczenia aplikacji mogądoprowadzić do przepełnienia buforów

podatność na sniffing (współdzielenie łączy)

słaba kontrola wiarygodności nagłówków (spoofing)

SYN scanning to nawiązywanie połączenia do połowy i zrywanie gopo otrzymaniu SYN+ACK lub RST, co daje informacjeo otwartym/zamkniętym porcie

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 32 / 325

Page 33: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci Ataki

Ataki sieciowePrzy projektowaniu sieci należy uwzględnić

podział na internet, sieć publiczną, DMZ, sieć wewnętrznąz możliwymi dalszymi podziałami

sprzęt

dostęp od strony internetu, wifi, wdzwaniany, vpn i metody ichautoryzacji

prawa dostępu i reguły ruchu sieciowego na stykach wszystkichpodsieci i stref

uprawnienia administratora serwera, domeny, systemu, na każdymkomputerze

rodzaje przechowywanych danych na każdym komputerze

Przed tymi problemami staje włamywacz, próbujący rozpracować systemkomputerowy.

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 33 / 325

Page 34: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci Ataki

Zagrożenia związane z podłączeniem komputera do sieci są ściślepowiązane z zabezpieczeniem systemu operacyjnego i aplikacji. Scenariuszedziałania:

celem jest serwer, atak wyłącza lub destabilizuje usługę (www,poczta, obsługa interesantów)

celem jest gateway, atak ma na celu przejście do sieci wewnętrznej

celem jest komputer, atak ma na celu przejęcie kontroli nad systememoperacyjnym

celem jest komputer, atak ma na celu kradzież danych

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 34 / 325

Page 35: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci Ataki

Historia pewnego ataku:http://nfsec.pl/security/5378Jest to dość typowy scenariusz, tym razem z happy-endem.Po co atakowane są inne komputery?

dla sportu, żeby się wykazać, na znak protestu i buntu etc.

żeby uzykać dostęp do sieci wewnętrznej

żeby zatrzeć ślady i utrudnić namierzenie (stacja przesiadkowa)

żeby wykorzystać je do dalszych ataków np. DDoS (zombie)

żeby przejąć dane, pliki z hasłami, pocztę

szpiegostwo przemysłowe, szpiegowanie osób (np. na potrzeby firmadwokackich, detektywistycznych, agencji rządowych, policji...)

żeby ośmieszyć właściciela (hakowanie stron www np. rządu)

żeby narazić go na strarty finansowe

żeby zwrócić jego uwagę na problem bezpieczeństwa

z głupoty, bezmyślności i wandalizmu

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 35 / 325

Page 36: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci Ataki

Ataki możemy podzielić ze względu na:

źródłoI zewnętrzne (zdalne)I wewnętrzne (lokalne)I pośrednieI bezpośrednie

zamiarI zamierzonyI niezamierzony (przypadkowy)

skutekI udany (aktywny, pasywny)I nieudany

przepływ informacjiI przerwanieI przechwycenieI modyfikacjaI podrobienie

dostęp do informacjiI odczytanieI skopiowanieI modyfikacjaI usunięcie

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 36 / 325

Page 37: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci Ataki

Ataki zewnętrzne są przeprowadzane spoza atakowanego systemu.Najczęściej jest to pierwsza faza ataku, w celu przeniknięcia do sieciwewnętrznej.

Ataki lokalne są przeprowadzane z poziomu sieci wewnętrznej bądź przezwrogiego użytkownika, bądź przez napastnika, który zdołał spenetrowaćzewnętrzne zabezpieczenia.

Ataki lokalne są zazwyczaj łatwiejsze, ponieważ 99% konfiguracji ufaużytkownikom swojego systemu. Zdobycie uprawnień lokalnegoużytkownika przez napastnika zewnętrznego jest najczęściej trudniejsze niżzdobycie uprawnień administratora przez użytkownika lokalnego.

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 37 / 325

Page 38: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci Ataki

Ataki bezpośrednie – atakowany jest bezpośrednio system docelowy(lokalnie lub zdalnie), często z przejętych wcześniej systemów.

Ataki pośrednie wykorzystują serwery open proxy i podobne doprzekierowania strumienia danych, aby zatrzeć ślady. Również:wykorzystanie zaufanych serwisów (np. portali społecznościowych,informacyjnych...) do przeprowadzenia ataku na inny system.

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 38 / 325

Page 39: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci Ataki

Atak udany aktywny – atakowany system został zmodyfikowany (dane,programy). Łatwe do wykrycia przez administratorów.

Atak udany pasywny – atakowany system został spenetrowany, ale bezwprowadzania w nim modyfikacji. Dane mogły zostać wykradzione,podsłuchy, konie trojańskie i backdoory założone. Trudne do wykryciaponieważ system na oko funkcjonuje bez zmian.

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 39 / 325

Page 40: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci Ataki

Przerwanie przepływu informacji

Użytkownik Serwer

Agresor��������

��������

Napastnik fizycznie (sekator, zniszczenie części komputera, np. HDD) lubelektronicznie (zagłuszanie, np. radiowe) odcina połączenie międzywęzłami sieci („użytkownik” i „serwer”).

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 40 / 325

Page 41: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci Ataki

Przechwycenie przepływu informacji

Serwer

Agresor

Użytkownik

��������

��������

Atak na poufność danych, wejście w posiadanie nieprzeznaczonych dlanapastnika danych. Podsłuch pakietów, haseł, kopiowanie przesyłanychdanych i programów.

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 41 / 325

Page 42: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci Ataki

Modyfikacja przepływu informacji

Użytkownik Serwer

Agresor

��������

��������

Atak na nienaruszalność (integralność) danych. Napastnik modyfikujedane aby uzyskać wyższe uprawnienia w systemie lub utrzymać dostęp dosystemu (zmiana plików z danymi, zmiany w aplikacjach, modyfikacjakomunikatów...).

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 42 / 325

Page 43: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci Ataki

Podrobienie przepływu informacji

Użytkownik Serwer

Agresor

��������

��������

Atak na autentyczność danych. Napastnik blokuje komunikacjęz użytkownikiem samemu podszywając się pod niego i wysyłając fałszywekomunikaty i dane.

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 43 / 325

Page 44: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci Ataki

Typy ataków:

DoS – odmowa usługi

spoofing – podmiana i przekierowanie

phishing i pharming – wyłudzenie i oszustwo, przekierowanie

łamanie haseł i protokołów

ataki na system i aplikacje

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 44 / 325

Page 45: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci DoS

Ataki DoS (Denial of Service) to zapchanie buforów, łączy i mocyobliczeniowej, skutkiem czego unieczynnia się system lub sprzęt. Częstopozwala na przełączenie karty sieciowej w tryb nasłuchiwania (promisciousmode).Dwa główne cele ataku DoS:

wysycenie przepustowości łącza

przepełnienie buforów sprzętu (atak na infrastrukturę) lub usługi(atak na aplikację)

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 45 / 325

Page 46: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci DoS

Modyfikacje ataków DoS:

DDoS (Distributed DoS) – atak wykonywany z wielu hostówjednocześnie, często z wykorzystaniem botnetu

rDDoS (reflective DDoS) – wykorzystanie spoofingu, najczęściej dopodmiany adresu zwrotnego pakietów na adres ofiary, podczas atakuDDoS

Schemat botnetu

Ofiara

Hacker

Nadzorcy

Zombie

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 46 / 325

Page 47: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci DoS

Przykłady: ataki typu floodICMP flood: wykorzystanie pakietów protokołu icmp

I Ping flood: atak DoS za pomocą pakietów ICMP (type: 8, EchoRequest)

I Ping of Death: pakiet ping o rozmiarze większym niż 64kB powodowaławarię Windows 3.11, 95, NT oraz systemu Novell NetWare 3.x

I Smurf Attack: ping flood wysyłany na adres rozgłoszeniowy sieciz adresem zwrotnym ofiary (pozwala na atak silnego łącza z łączasłabszego)

UDP flood: pakiety UDP nie mają ograniczenia na rozmiar, więcłatwiej jest nimi wysycić łącze, lub przeładować usługę mającąograniczenie na rozmiar akceptowanego pakietu (np. DNS ograniczapakiet do 512 B)TCP flood: wykorzystuje cechy protokołu TCP

I SYN flood: zestawianie w połowie otwartych połączeń aż doprzepełnienia bufora

I ACK flood: ostatni pakiet ACK z 3-way handshake’a TCP jest odsyłanyzwrotnie na adres ofiary

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 47 / 325

Page 48: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci DoS

Przykłady: ataki z wykorzystaniem cech protokołów

CHARGEN (Character Generator) – rzadko używany protokół służącydo debuggowania i testowania łącz, umożliwia wysyłanie losowegociągu znaków aż do zamknięcia połączenia

SSDP (Simple Service Discovery Protocol) – prymitywny i podatnyna ataki protokół wyszukiwania i łączenia urządzeń uPnP w siecilokalnej (TV, kamery, routery...)

SNMP (Simple Network Management Protocol) – prosty protokół doobsługi urządzeń z nadanym adresem IP (drukarki, routery, kamerkiinternetowe, mierniki), pozwalający na ich obsługę, konfigurację,odczytanie wyników pomiarów...

SSL (Secure Sockets Layer) – szyfrowanie wysyci szybciej mocobliczeniową ofiary

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 48 / 325

Page 49: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci DoS

Przykłady: ataki z wykorzystaniem DNS; wykorzystuje się fakt, żekomunikacja z DNS (port 53) jest na firewallach zawsze otwarta

atak na DNS – destabilizuje działanie sieci

atak przez DNS (DNS Amplification) – typu DDoS lub rDDoS

Przykłady: inne

bomba pocztowa – spam na jedno konto celem jego przepełnienia

backscatter – atak typu DDoS na pocztę; listy rozsyłane jako spam zezwrotnym adresem ofiary, komunikaty zwrotne przepełniają skrzynkęofiary lub blokują cały serwer

LAND – pakiety do ofiary zawierają jej adres zwrotny, przez coatakowany system zaczyna sam do siebie wysyłać odpowiedzi

low rate TCP-targeted attack (shrew attack) – zsynchronizowanepakiety utrzymujące system TCP w stanie permanentnegooczekiwania na RTO (retransmission time-out), blokujące normalnedziałanie łącza

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 49 / 325

Page 50: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci DoS

ZapobieganieAtaki DoS można próbować odfiltrować na firewallu. Oczywiście trzebazachować równowagę między ochroną (zamknięciem) systemua funkcjonalnością. Ataki rozproszone DoS na serwery dużych firm (np.microsoft.com z 2003 r.) są trudne do opanowania, a przestójw dostarczaniu usług liczy się w milionach dolarów na godzinę.

Trudności:

DoS jest niemal nie do odróżnienia od nasilonego ale uprawnionegoruchu sieciowego

odpada więc stosowanie statycznych filtrów

problem podsieci i domen – z tej samej puli adresów mogą pochodzićzarówno wrogie jak i uprawnione pakiety

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 50 / 325

Page 51: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci DoS

Metody weryfikacji pakietów na przykładzie spamu:

filtr bayesowski na treść wiadomości – częstotliwościowa analizawyrazów i fraz

DNSBL (DNS Black List) – domeny i adresy IP są zgłaszane jakowrogie i mogą być filtrowane

SURBL (Search for URL Black List) – wyszukiwanie podejrzanychlinków w treści wiadomości i w załącznikach

rDNS (reverse DNS) – system nadawczy powininen byćidentyfikowalny w bazie DNS

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 51 / 325

Page 52: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci DoS

Metody lokalnej analizy pakietów na atakowanym systemie:

kontrola natężenia ruchu sieciowego

analiza częstości połączeń z tych samych adresów i domen

dynamiczne tworzenie lokalnych czarnych list i modyfikowanie regułfirewalla

zmiana schematów obsługi kolejek żądań tak, aby filtrowanie byłoskuteczniejsze i zapewniało minimalny czas obsługi żądania (MWT –maximum waiting time)arxiv.org/abs/1509.02268arxiv.org/abs/cs/0612066

usprawnienia architektury sieci i konstrukcji protokołówarxiv.org/abs/1506.08953

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 52 / 325

Page 53: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci DoS

Opublikowane 1.XI.2017www.sciencedaily.com/releases/2017/11/171101130507.htmBadacze z Uniwersytetu Kalifornijskiego w San Diego monitorowali liczbęprzeprowadzonych ataków DoS:

czas badania – od III.2015 do II.2017,

zarejestrowali ponad 20 milionów ataków przeprowadzonych na około2,2 miliona bloków adresów IPv4 (blok /24 zawiera 256 adresów),

na średnio daje to ok. 30 tyś. ataków dziennie,

ze względu na ograniczoną metodę badania dane te sąprawdopodobnie zaniżone.

Wyróżniono dwa główne typy ataków DoS:

bezpośredni (z pojedynczego łącza, sieci, botnetu),

odbiciowy (poprzez protokoły pozwalające na wzmocnienie ataku).

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 53 / 325

Page 54: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci Spoofing

Spoofing to technika polegająca na preparowaniu pakietów i komunikatówsieciowych tak, aby wskazywały na inne źródło pochodzeniai przekierowały ruch na komputer atakującego.

Nagłówek IPv4

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 54 / 325

Page 55: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci Spoofing

IP spoofing

zamiana w nagłówku adresu nadawcy na fałszywy, co zmienia równieżadres zwrotny dla tego pakietu

obejście filtrów antyspamowych

obejście filtrowania statycznego IP na firewallu

ataki typu man-in-the-middle

ataki typu rDOS

atak LAND

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 55 / 325

Page 56: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci Spoofing

Ten rodzaj ataku jest łatwo wykrywalny przez standardowe mechanizmy,np. netfilter w linuksie (iptables) potrafi wykryć sfałszowane nagłówki.Najbardziej oczywiste jest odfiltrowanie na interfejsie zewnętrznymadresów własnych oraz zarezerwowanych:

0.0.0.0/810.0.0.0/8127.0.0.0/8172.16.0.0/12192.168.0.0/16224.0.0.0/3

Dodatkowo włącza się weryfikację adresu źródłowego

echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 56 / 325

Page 57: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci Spoofing

ARP spoofing

ARP (Address Resolution Protocol) – tłumaczenie adresów IP naadresy MAC

tablice ARP przechowywane lokalnie przez urządzenia sieciowe, w tymurządzenia węzłowe, odnawiane cyklicznie (mogą być statyczne albodynamiczne)

modyfikacja tablic na skutek pojawienia się w sieci sfabrykowanychpakietów pozwala czasowo na błędne przypisywanie adresu IP dosprzętu

działa w sieci lokalnej

Do przeczytania!Nieformalny poradnik dotyczący ARP spoofing (Bartosz Chodorowski):chomzee.gct-game.net/ethutils/arpspoofing.pdf

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 57 / 325

Page 58: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci Spoofing

Sieć lokalna, router R i dwa komputery: H(acker) i O(fiara).Scenariusz I R i O działają na dynamicznych tablicach ARP

H wysyła na adres rozgłoszeniowy sieci zapytania ARP o kolejneadresy IP, budując bazę danych działających w sieci MACów

H wysyła do O pakiet zwrotny ARP identyfikując siebie jako router

H wysyła do R pakiet zwrotny ARP identyfikując siebie jako O

H staje się niewidoczny w sieci, jednocześnie pośrednicząc wkomunikacji między O i R

Jest to klasyczny przykład ataku man-in-the-middle. Zalety i wady:

łatwy do wykonania

trudny do wykrycia

nie działa, jeśli na routerze statyczne tablice ARP

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 58 / 325

Page 59: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci Spoofing

Scenariusz II na R jest statyczna tablica ARP, ale na O nie ma

H uruchamia na swoim komputerze translację adresów NAT (czylizaczyna działać jak router)

H identyfikuje się u O jako router

H przekazuje otrzymane pakiety do routera jako swoje

Wady i zalety:

stosowanie statycznych tablic ARP po stronie klientów się nie zdarza

obejście statycznego ARP

jest możliwe namierzenie adresu przeprowadzającego taki atak

konieczność posłużenia się swoim MAC adresem lub MAC adresemuwierzytelnionym i w danej chwili nieużywanym

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 59 / 325

Page 60: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci Spoofing

Scenariusz III lokalny atak DDoS

H zatruwa tablicę ARP R podmieniając wszystkie wpisy na MAC O

H wysyła na adres rozgłoszeniowy sieci pakiet wymagającyodpowiedzi, np. icmp type=8 (echo request)

do O przychodzą wszystkie pakiety zwrotne z całej sieci

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 60 / 325

Page 61: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci Spoofing

RIP spoofing

RIP (Routing Information Protocol) – protokół informujący hosty orouterach w sieci oraz wymiana informacji o uzgodnieniu trasy międzyrouterami

zatrucie tablic routingu pozwala na ataki analogiczne jak w przypadkuARP spoofing tylko na poziomie kilku podsieci, a nie sieci lokalnej

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 61 / 325

Page 62: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci Spoofing

DNS spoofing

oprócz zatruwania tablic DNS, można fałszować odpowiedzi DNSskierowane do pytającego hosta

sfałszowany pakiet musi nadejść po zadaniu pytania, ale przedprawdziwą odpowiedzią serwera

odpowiedzi DNS zawierają 16-bitowy identyfikator TID (TransactionID)

w najprostszej wersji wysyła się sfałszowane pakiety zawierającewszystkie identyfikatory (65,5 tyś. pakietów)

uzyskuje się przekierowanie połączenia u ofiary na nieprawidłowyadres IP

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 62 / 325

Page 63: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci Spoofing

Inne ataki

e-mail spoofing – preparowanie wiadomości ze sfałszowanyminagłówkami

session hijacking – przejęcie danych sesji uwierzytelnionegoużytkownika i podszycie się pod niego za pomocą spreparowanychpakietów

Metody ochrony przed spoofingiemweryfikacja adresów źródłowych pakietów

filtrowanie na firewallach (router i hosty)

weryfikacja sieci – odnawianie tablic ARP, tablice statyczne

stosowanie szyfrowanych połączeń – protokoły szyfrujące mająnajczęściej wbudowane mechanizmy weryfikacji autentyczności pakietu

stosowanie tunelowania w przypadku protokołów nie umożliwiającychszyfrowania transmisji

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 63 / 325

Page 64: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci Phishing i podobne ataki socjotechniczne

Phishing to próba wyłudzenia informacji od ludzi (atak socjotechniczny).Pharming wymaga ustawienia przekierowań do sfabrykowanych stronwww na routerach, serwerach DNS (DNS Poisoning) lub bezpośredniow systemie ofiary (konie trojańskie). Inne przykłady:

Cross-site request forgery (CSRF, XSRF): nakłonienie użytkownikaserwisu internetowego do wykonania operacji, do których atakującynie miałby uprawnień

Cross-site scripting (XSS): umieszczenie w kodzie strony skryptu(zazwyczaj JavaScript), który uruchomiony przez uprawnionychużytkowników wykona niepożądane akcje

Drive-by pharming: skłonienie ofiary do odwiedzenia strony www,która modyfikuje DNS na routerze ofiary tak, aby przekierowywać jąna fałszywe strony (np. banku)

Smishing: phishing poprzez wiadomości SMS

Fałszywy alarm wirusowy: rodzaj łańcuszka internetowego, częstokaże usunąć z systemu jakiś ważny plik systemowy i rozesłać się dalej

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 64 / 325

Page 65: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci Phishing i podobne ataki socjotechniczne

Zapobieganie atakom socjotechnicznym1 Zdrowy rozsądek – „Dlaczego obcy chce mi coś zaoferować zadarmo?”.

2 Uwaga i spostrzegawczość – znajomość domyślnego i prawidłowegozachowania używanego systemu operacyjnego, aplikacji, serwisów(bankowych, społecznościowych), sprzętu (bankomatu).

3 Zwracanie uwagi na niecodzienne zachowanie sieci (np. zrywaniepołączeń, spowolnienie działania), przeglądarki (łączenie zdodatkowymi adresami, zmiana wyglądu, ukrycie niektórychprzycisków), wygląd strony www.

4 Zasada ograniczonego zaufania.5 Brak pazerności i chęci korzystania ze wszystkich „darmowych” ofert.6 Jak najszybsze naprawianie szkód, które powstały (aktualizacjaoprogramowania, rekonfiguracja, blokowanie kont, zmiana haseł,współpraca z administratorami serwisów, raportowanie zagrożeń).

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 65 / 325

Page 66: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci Hasła

Łamanie hasełNa styku sieci i systemu operacyjnego znaleźć można problem autoryzacjiużytkowników. Łamanie haseł dostępowych do sieci i kont shellowych jeststandardową procedurą wykonywaną na dwa sposoby:

Atak słownikowy: łamanie haseł w oparciu o słowniki

Atak siłowy: dopasowanie haseł poprzez generowanie wszystkichmożliwych ciągów znaków; korzysta się z gotowych tablic (rainbowtables) hashów

ZapobieganieWykorzystanie kilkuetapowych systemów uwierzytelniania, hasełtymczasowych zamiast statycznych, tokenów sprzętowych etc. Do funkcjihashującej hasło dodaje się losowy ciąg znaków (salt, sól) co utrudniarozłamanie. Pakiet shadow wykorzystuje ten mechanizm. Mocne hasła.

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 66 / 325

Page 67: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci Hasła

Włamanie na strony Kancelarii Premiera RP, MSZ, MON i KancelariiPrezydenta przez Alladyn2 w lutym 2013. Źródło: backtrack.pl.

W dump-ach występuje 4000 rekordów dla których zostałowyciągnięte hasło z hash-a. Większość haseł ma "standardową"tendencję: - wyraz dominujący jest słownikowy,

- pierwsza litera jest duża,- na końcu jest liczba.

Przykłady:Hasło Ile | Hasło Ile-----------------------+---------------------------pogoda 244 | pogoda@123456 33Pogoda123456 138 | Sekretariat 23Warszawa2010 123 | Warszawa2011 22Warszawa2012 70 | pogoda123 21123qweASDZXC 58 | Warszawa12#$! 20qwerty123456! 40 | P@ssw0rd04 17Polska123456 34 |

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 67 / 325

Page 68: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci Hasła

Rozłamane zostały również takie hasła jak:

pekin.kalpekin.kalpekin.kal Styropian12345678londyn.amb.wklondyn.amb.wk tarnobrzeg.uw.wsomadryt.amb.wkmadryt.amb.wk warszawa.mon.dwszbudzetuebudzetuebudzetue Warszawa123456789relacjezpublikacji123 !QAZ2wsx#EDC4rfvmediolan.kg.kultura P@[email protected] Password12341234Password123456123456 Warszawa12345678warszawa.kgsg.okecie !QAZxsw2#EDCvfr4mediolan.kg.opieka1 !QAZzaq1@WSXxsw2plwarmg01_scm2007 1qaz2wsx3edc$RFV

ZP,7r4zJ<JZ742 +------------------------+W9K5*Pnk9Zm-Ts | JAK WIDAĆ, ŻADNE HASŁO |U>P,Yv9E}9#q$0 | NIE MOŻE BYĆ UWAŻANE |Sere80Ale% | ZA 100% ODPORNE NA |Plw@r!Netb@ckup#1 | ROZŁAMANIE METODĄ |Ne1-g3-=2t5H)> | BRUTAL FORCE |58uZm02!3K@dup@ +------------------------+

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 68 / 325

Page 69: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci Hasła

Źródło: niebezpiecznik.pl

Sam hacker w rozmowie z branżowymi mediami przyznaje, że wczasie włamań do rządowych serwerów zaskoczyło go, że hasła wministerstwach i kancelariach trzyma się na pulpicie lub napodatnych na atak dyskach sieciowych. No i... że są to plikijawne.

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 69 / 325

Page 70: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci Hasła

„Mocny” system haseł

inne hasła do różnych systemów

min. 14 znaków (zalecenie na rok 2015)

wykorzystanie znaków nieistniejących na klawiaturze (Alt+NumPad)

wykorzystanie tablic znaków unicode

hasła zmieniane regularnie

hasła bez powiązania z jakimkolwiek systemem (maksymalnie losowe)

w dalszym ciągu nie gwarantuje bezpieczeństwa!

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 70 / 325

Page 71: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci Topologie firewalli

Topologie firewalliPrzy zabezpieczaniu, sieć należy podzielić na strefy:

intranet – sieć wewnętrzna („zaufana”)

DMZ – strefa przejściowa

internet – sieć zewnętrzna

Należy jasno określić, jakie informacje są przesyłane w obrębie każdejstrefy oraz między nimi, jacy użytkownicy potrzebują dostępu do danejstrefy i po co, jakie uprawnienia otrzyma osoba niepowołana, której uda sięsforsować pierwszą (drugą, trzecią...) linię zabezpieczeń.

Materiały pochodzą z:Bartosz Bobkiewicz, Metody omijania zapór sieciowych(praca magisterska, Politechnika Poznańska 2007)http://omijanie-zapor-sieciowych.eprace.edu.pl/

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 71 / 325

Page 72: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci Topologie firewalli

Single-box architecture – pojedynczy element odgradza intranet odinternetu

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 72 / 325

Page 73: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci Topologie firewalli

Cechy:

najprostsza i najtańsza forma skonfigurowania prywatnej podsieci

host/router ekranujący pełnią jednocześnie rolę bramy (gateway)

firewall musi być starannie skonfigurowany do odfiltrowanianiechcianego ruchu sieciowego; on też jest odpowiedzialny za to, jaki czy w ogóle podsieć jest widziana z zewnątrz

ewentualne serwery są za firewallem, który musi routować ruchsieciowy do nich

system ochrony jest jednoetapowy: jeśli krytyczny element zostanieprzejęty, otwiera się dostęp co całej podsieci

Problemy:

potrzeba, aby przynajmniej jeden host był dostępny z zewnątrz

tunelowanie usług przez router

gdzie jest DNS?

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 73 / 325

Page 74: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci Topologie firewalli

Screened host architecture – podział ról między wydzielonym hostemi routerem

wydzielony host jest najcześciej tzw. hostem bastionowym (dobrzezabezpieczonym)

router odpowiada za połączenia od strony internetu, puszczając ruchtylko do hosta ekranowanego

host odpowiada za połączenia od strony intranetu

host może udostępniać usługi na zewnątrz

dwuetapowe filtrowanie pakietów i autoryzacja połączeń

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 74 / 325

Page 75: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci Topologie firewalli

Screened subnet architecture – wydzielona podsieć jest ekranowanaprzez dwa routery: wewnętrzny (dławiący) i zewnętrzny (dostępowy).Podsieć peryferyjna nazywana jest też strefą zdemilitaryzowaną (DMZ).

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 75 / 325

Page 76: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci Topologie firewalli

jest to wieloetapowa ochrona serwerów i sieci wewnętrznej

pozwala na precyzyjną kontrolę ruchu sieciowego i dostępu do usług

serwery publiczne umieszczane są w DMZ, ale pozostają odcięte dlazewnętrznych użytkowników od intranetu

atak na intranet z zewnątrz wymaga przejścia zewnętrznego routera,przejęcia jednego z hostów w DMZ oraz przejścia przez drugi router,który z definicji blokuje cały ruch z DMZ do wewnątrz

Jest to bardzo złożona konfiguracja, łatwo więc popełnić błędy i niedopilnować wszystkiego.W praktyce bardzo często otwarte są bezpośrednie połączeniaz intranetem, omijające DMZ. Wynika to albo z potrzeby, albo z wygody,albo z błędu w konfiguracji firewalli.

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 76 / 325

Page 77: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci Serwery proxy

Serwery proxySerwer proxy to inaczej serwer pośredniczący. Może mieć postaćwydzielonego systemu komputerowego lub aplikacji. Wyróżnia się m.in.:http proxyftp proxyoprogramowanie pośredniczące w przekazywaniu danych międzyaplikacjami (np. superdemon inet/xinet)

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 77 / 325

Page 78: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci Serwery proxy

Proxy realizują:

filtrowanie danych, włącznie z obsługą uwierzytelniania użytkowników(np. logowanie na strony www), wychwytywaniem wirusów,blokowaniem domen i adresów itd.

buforowanie danych (caching proxy)

tłumaczenie (np. zmiana języka strony www na podstawie adresu)

pośredniczenie między podsiecią a serwerem DNS (DNS proxy)

obejścia filtrów i cenzury (restrykcji geograficznych, ograniczeń dlasieci korporacyjnych, nadanych przez ISP...)

założenie filtrów i cenzury na połączenia

logowanie i podsłuch (audyt)

anonimowe korzystanie z sieci

zadania routera i bramy sieciowej

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 78 / 325

Page 79: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci Serwery proxy

Forward proxy pośredniczy między siecią wewnętrzną a internetem. Możefiltrować połączenia, utrzymywać cache dla ftp i http, skanować ruchsieciowy i pełnić funkcję bramy.

INTERNET

SERWER PROXYUŻYTKOWNIK

������������

������������

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 79 / 325

Page 80: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci Serwery proxy

Open proxy pośredniczy w połączeniach internetowych. Pozwala naukrycie swojego adresu IP (do pewnego stopnia) i obejście restrykcjinałożonych na połączenia z pewnymi serwerami (np. oferty ograniczoneterytorialnie, lokalizowane gry w systemie Steam itp.). Bardzo częstoużywane przez hackerów aby utrudnić ich wytropienie.

INTERNET INTERNET

SERWER PROXY

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 80 / 325

Page 81: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci Serwery proxy

Reverse proxy ukrywa strukturę sieci wewnętrznej przed użytkownikamizewnętrznymi. Ma za zadanie głównie filtrować połączenia i pośredniczyćna poziomie aplikacji, ew. tłumaczyć dane.

INTERNET

SERWER PROXYSERWER

SERWER

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 81 / 325

Page 82: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci Serwery proxy

Wynik działania komendy dig (DNS lookup utility) na adresiewww.google.pl pokazuje, że jest to cała lista fizycznych adresów. Podobniedla www.google.com.

$ dig www.google.pl

; <<>> DiG 9.9.2-P2 <<>> www.google.pl

;; ANSWER SECTION:www.google.pl. 125 IN A 173.194.113.63www.google.pl. 125 IN A 173.194.113.55www.google.pl. 125 IN A 173.194.113.56

;; AUTHORITY SECTION:google.pl. 15079 IN NS ns1.google.com.google.pl. 15079 IN NS ns2.google.com.

;; ADDITIONAL SECTION:ns1.google.com. 17757 IN A 216.239.32.10ns2.google.com. 17757 IN A 216.239.34.10

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 82 / 325

Page 83: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci Serwery proxy

$ dig www.google.com

; <<>> DiG 9.9.2-P2 <<>> www.google.com

;; ANSWER SECTION:www.google.com. 177 IN A 173.194.70.106www.google.com. 177 IN A 173.194.70.147www.google.com. 177 IN A 173.194.70.99www.google.com. 177 IN A 173.194.70.103www.google.com. 177 IN A 173.194.70.104www.google.com. 177 IN A 173.194.70.105

;; AUTHORITY SECTION:google.com. 10411 IN NS ns4.google.com.google.com. 10411 IN NS ns1.google.com.google.com. 10411 IN NS ns2.google.com.google.com. 10411 IN NS ns3.google.com.

;; ADDITIONAL SECTION:ns1.google.com. 17437 IN A 216.239.32.10ns2.google.com. 17437 IN A 216.239.34.10ns3.google.com. 17437 IN A 216.239.36.10ns4.google.com. 17437 IN A 216.239.38.10

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 83 / 325

Page 84: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci Serwery proxy

Ataki na serwery proxy lub z ich wykorzystaniem są oczywiste. Atakującymoże:

ustawić przekierowanie połączeń na sfałszowane adresy, podszywającesię pod prawdziwe

wyciagnąć z cache proxy przydatne dla niego informacje

zamaskować swój ślad

przeprowadzić atak z serwerów proxy

oszukać filtry i nałożone restrykcje na połączenia, podszywając siępod serwer proxy lub omijając jego zabezpieczenia

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 84 / 325

Page 85: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci Narzędzia sieciowe

Podstawowe narzędzia siecioweDo sprawdzenia stanu konfiguracji sieci służy ifconfig (w windowsachipconfig). Pozwala on również na przypisanie gotowym interfejsomadresów sieciowych

# ifconfig eth0 up# ifconfig eth0 192.168.1.123# ifconfig eth0 netmask 255.255.255.0# ifconfig eth0

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet 192.168.1.123 netmask 255.255.255.0 broadcast 192.168.1.255inet6 fe80::d6be:d9ff:fe1d:1a0a prefixlen 64 scopeid 0x20<link>ether d4:be:d9:1d:1a:0a txqueuelen 1000 (Ethernet)RX packets 58912 bytes 51885369 (49.4 MiB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 19647 bytes 1886527 (1.7 MiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0device interrupt 20 memory 0xe2e00000-e2e20000

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 85 / 325

Page 86: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci Narzędzia sieciowe

Dla kart bezprzewodowych komplementarnym narzędziem jest iwconfig

# iwconfigwlan0 IEEE 802.11bgn ESSID:off/any

Mode:Managed Frequency:2.462 GHz Access Point: Not-AssociatedTx-Power=19 dBmRetry long limit:7 RTS thr:off Fragment thr:offEncryption key:offPower Management:off

lo no wireless extensions.

eth0 no wireless extensions.

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 86 / 325

Page 87: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci Narzędzia sieciowe

oraz iwlist

# iwlistUsage: iwlist [interface] scanning [essid NNN] [last]

[interface] frequency[interface] channel[interface] bitrate[interface] rate[interface] encryption[interface] keys[interface] power[interface] txpower[interface] retry[interface] ap[interface] accesspoints[interface] peers[interface] event[interface] auth[interface] wpakeys[interface] genie[interface] modulation

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 87 / 325

Page 88: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci Narzędzia sieciowe

# iwlist wlan0 scan(...)Cell 03 - Address: aa:bb:cc:00:11:22

Channel:4Frequency:2.427 GHz (Channel 4)Quality=51/70 Signal level=-59 dBmEncryption key:onESSID:""Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 6 Mb/s

12 Mb/s; 24 Mb/s; 36 Mb/sBit Rates:9 Mb/s; 18 Mb/s; 48 Mb/s; 54 Mb/sMode:MasterExtra:tsf=0000009d0409f181Extra: Last beacon: 342ms agoIE: Unknown: 000700000000000000IE: Unknown: 010882848B960C183048IE: Unknown: 030104IE: Unknown: 050400010000IE: Unknown: 2A0100IE: Unknown: 32041224606CIE: IEEE 802.11i/WPA2 Version 1Group Cipher : TKIPPairwise Ciphers (2) : TKIP CCMPAuthentication Suites (1) : PSKPreauthentication Supported

(...)Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 88 / 325

Page 89: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci Narzędzia sieciowe

Inne podstawowe narzędzia toping – korzysta z DNS, sprawdza żywotność adresu i jakość łącza,pozwala na wykonanie ping flood (ping -f)# ping wp.plPING wp.pl (212.77.100.101) 56(84) bytes of data.64 bytes from www.wp.pl (212.77.100.101): icmp_req=1 ttl=250 time=15.0 ms64 bytes from www.wp.pl (212.77.100.101): icmp_req=2 ttl=250 time=15.1 ms^C--- wp.pl ping statistics ---2 packets transmitted, 2 received, 0% packet loss, time 1001msrtt min/avg/max/mdev = 15.074/15.111/15.149/0.128 ms

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 89 / 325

Page 90: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci Narzędzia sieciowe

dig – DNS lookup utility# dig wp.pl

; <<>> DiG 9.9.2-P2 <<>> wp.pl;; global options: +cmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 61225;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 5

;; OPT PSEUDOSECTION:; EDNS: version: 0, flags:; udp: 4096;; QUESTION SECTION:;wp.pl. IN A

;; ANSWER SECTION:wp.pl. 2444 IN A 212.77.100.101

;; AUTHORITY SECTION:wp.pl. 1306 IN NS ns1.wp.pl.wp.pl. 1306 IN NS ns2.wp.pl.wp.pl. 1306 IN NS ns1.task.gda.pl.

;; ADDITIONAL SECTION:ns1.task.gda.pl. 44877 IN A 153.19.250.101ns1.task.gda.pl. 75348 IN AAAA 2001:4070:1::101ns1.wp.pl. 2438 IN A 212.77.102.200ns2.wp.pl. 1713 IN A 153.19.102.182

;; Query time: 9 msec;; SERVER: 89.186.31.1#53(89.186.31.1);; WHEN: Wed Oct 9 16:34:30 2013;; MSG SIZE rcvd: 189

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 90 / 325

Page 91: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci Narzędzia sieciowe

traceroute – sprawdza trasę pakietu (poniżej wyciąłem czasyodpowiedzi, żeby był krótszy komunikat)

# traceroute www.google.pl

traceroute to www.google.pl (173.194.70.94), 30 hops max, 60 byte packets

1 umcs.vl725.vidar.lubman.net.pl (212.182.24.2)2 gi3-6.renfri.lubman.net.pl (212.182.56.196)3 ae0x799.nucky.lubman.net.pl (212.182.56.149)4 z-lublina.poznan-gw3.10Gb.rtr.pionier.gov.pl (212.191.224.81)5 pionier.mx1.poz.pl.geant.net (62.40.125.245)6 ae3.mx1.fra.de.geant.net (62.40.98.130)7 ae4.rt1.fra.de.geant.net (62.40.98.135)8 google-gw.rt1.fra.de.geant.net (62.40.125.202)9 209.85.240.64 (209.85.240.64)10 209.85.251.248 (209.85.251.248)11 209.85.254.116 (209.85.254.116)12 * * *13 fa-in-f94.1e100.net (173.194.70.94)

Uwaga: jeśli na maszynie jest restrykcyjnie skonfigurowany firewall,traceroute nie da dobrych odpowiedzi (* * *)Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 91 / 325

Page 92: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci Narzędzia sieciowe

telnet – zdalny terminal nie obsługujący szyfrowania, pozwala napołączenie z dowolnym portem$ telnet localhost 80Trying ::1...Connected to localhost.Escape character is ’^]’.

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"><html><head><title>302 Found</title></head><body><h1>Found</h1><p>The document has moved <a href="http://xxxxxxx.umcs.lublin.pl">here</a>.</p><hr><address>

Apache/2.2.16 (Debian) Server at xxxxxxx.umcs.lublin.pl Port 80</address></body></html>Connection closed by foreign host.

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 92 / 325

Page 93: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci Narzędzia sieciowe

finger – „niebezpieczna” usługa (port 79/tcp) informacyjna, obecniebardzo rzadko używana$ finger @umcs.lublin.pl[umcs.lublin.pl]No one logged on.

finger przez telnet – jeśli nie mamy fingera na swojej maszynie$ telnet umcs.lublin.pl fingerTrying 87.246.208.8...Connected to umcs.lublin.pl.Escape character is ’^]’.rootLogin: root Name: rootDirectory: /root Shell: /bin/bashLast login Wed Oct 9 16:10 (CEST) on pts/0 from piglet.man.lublin.plNew mail received Wed Oct 9 16:02 2013 (CEST)

Unread since Wed Oct 9 00:21 2013 (CEST)No Plan.Connection closed by foreign host.

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 93 / 325

Page 94: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci Narzędzia sieciowe

nmap – skaner portów, sonduje system docelowy na wiele sposobów$ nmap -T4 -F umcs.lublin.plStarting Nmap 6.01 ( http://nmap.org ) at 2013-10-09 17:20 CESTNmap scan report for umcs.lublin.pl (87.246.208.8)Host is up (0.017s latency).rDNS record for 87.246.208.8: www.umcs.lublin.plNot shown: 84 filtered portsPORT STATE SERVICE21/tcp open ftp22/tcp closed ssh23/tcp closed telnet25/tcp open smtp79/tcp open finger80/tcp open http110/tcp open pop3113/tcp open ident143/tcp open imap443/tcp open https465/tcp open smtps587/tcp open submission993/tcp open imaps995/tcp open pop3s3306/tcp open mysql5432/tcp closed postgresqlNmap done: 1 IP address (1 host up) scanned in 1.71 seconds

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 94 / 325

Page 95: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci Narzędzia sieciowe

UWAGA NA SKANOWANIE PORTÓWSkanowanie portów jest powszechną praktyką, serwery są bez przerwyskanowane. Jednak z punktu widzenia administratora taka praktyka jestdziałaniem wrogim. Nie wolno przeprowadzać intensywnego skanowaniaw sieci wewnętrznej bez zgody administratora systemu.

Przykład logów po skanowaniu portów:

Oct 9 18:13:55 eldar kernel: [27885.849709] FIREWALL:IN=wlan0 OUT=MAC=74:e5:43:2d:be:d0:c8:aa:21:8c:29:55:08:00SRC=192.168.1.105 DST=192.168.1.109 LEN=60 TOS=0x00 PREC=0x00 TTL=64ID=47008 DF PROTO=TCP SPT=52295 DPT=1 WINDOW=14600 RES=0x00 SYN URGP=0

Oct 9 18:13:55 eldar kernel: [27885.850297] FIREWALL:IN=wlan0 OUT=MAC=74:e5:43:2d:be:d0:c8:aa:21:8c:29:55:08:00SRC=192.168.1.105 DST=192.168.1.109 LEN=60 TOS=0x00 PREC=0x00 TTL=64ID=20228 DF PROTO=TCP SPT=46733 DPT=2 WINDOW=14600 RES=0x00 SYN URGP=0

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 95 / 325

Page 96: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona sieci Narzędzia sieciowe

Więcej wyspecjalizowanych narzędzi używanych przez hackerów oraz dotestów penetracyjnych można znaleźć w sieci. Dobrym uporządkowanymzbiorem tych narzędzi pochwalić się może wyspecjalizowana dystrybucjalinuksa backtrack (ostatnie wydanie 5.3 w 2012 r.), obecniekontynuowana jako kali linux.www.backtrack-linux.orgwww.kali.orgkali-linux.pl

Zobacz też strony:www.defcon.orghackingncrackingtools.blogspot.comthehackernews.comi wiele innych...

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 96 / 325

Page 97: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Sieci bezprzewodowe

Sieci bezprzewodowe

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 97 / 325

Page 98: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Sieci bezprzewodowe

Sieć bezprzewodowa

punkty dostępowe: access point (AP), także wireless AP (WAP)

routery (często zintegrowane z AP)

karty sieciowe, standardy transmisji 802.11 (b/g/n i inne)

wireless = broadcast, każdy w zasięgu ma dostęp do pakietów

ciężko ustalić źródło pochodzenia pakietu

dwie „topologie”: ad-hoc i infrastructure

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 98 / 325

Page 99: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Sieci bezprzewodowe

Cechy i budowa sieci bezprzewodowej typu ad-hoc

zdecentralizowana

nie zależy od ustalonych routerów i AP

każdy węzeł pełni rolę routera w przekazywaniu danych dla innychwęzłów

urządzenia muszą monitorować i utrzymywać połączeniaz najbliższymi sąsiadami (1 hop)

jest łatwo i tanio skalowalna, wymaga minimalnej konfiguracji

idealna dla sieci tymczasowych (sytuacje awaryjne jak katastrofynaturalne, działania wojenne...) i mobilnych

trudno o kontrolę i zabezpieczenie (szyfrowanie i autoryzację musząobsługiwać urządzenia użytkowników), ale jest to możliwe

Przypomina budową i schematem działania sieć p2p.

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 99 / 325

Page 100: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Sieci bezprzewodowe

Sieć ad-hoc w systemach komunikacji i monitoringu

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 100 / 325

Page 101: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Sieci bezprzewodowe

Sieć ad-hoc w zastosowaniach militarnych

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 101 / 325

Page 102: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Sieci bezprzewodowe

Cechy i budowa sieci bezprzewodowej typu infrastructure

polega na ustalonych węzłach (AP) i routerach

ma za zadanie zmostkować połączenie między siecią przewodowąa siecią bezprzewodową

jest do pewnego stopnia odwzorowaniem normalnej sieci, tylko bezkabli

skalowanie wymaga dobudowania nowej infrastruktury i jejoprogramowania i konfiguracji

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 102 / 325

Page 103: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Sieci bezprzewodowe

Sieć infrastructure od strony zabezpieczeń. Węzły stałe (AP, modem,router) pozwalają na:

kontrolę ruchu sieciowego (firewall, traffic shaper)

autoryzację klientów (login, login+hasło, certyfikat, mac)

szyfrowanie transmisji (klucz, certyfikat)

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 103 / 325

Page 104: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Sieci bezprzewodowe

Główne metody zabezpieczania sieci bezprzewodowych

statyczne numery IP (na podstawie adresów mac)

dynamiczne numery IP (serwer open DHCP)

weryfikacja adresów mac

ukrywanie ESSID

zawężenie do typu standardu transmisji (np. tylko b lub g)

metody autoryzacji (login, hasło, certyfikat)

protokoły szyfrowania transmisji

Szyfrowanie i kontrola autoryzacji utrudniają dostęp do sieci, ale niechronią jej użytkowników przed innymi użytkownikami! Pełna prywatnośćw sieciach bezprzewodowych jest praktycznie nie do zagwarantowania.

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 104 / 325

Page 105: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Sieci bezprzewodowe

Poziomy/protokoły szyfrowania w sieciach wifi

brak szyfrowania

protokół WEP (Wired Equivalent Privacy)

protokół WPA (WiFi Protected Access)

protokół WPA2 (standard 802.11i)

protokół WPS

Przeczytaj koniecznie!Zobacz:http://sekurak.pl/bezpieczenstwo-sieci-wi-fi-czesc-1/i kolejne części.

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 105 / 325

Page 106: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Sieci bezprzewodowe

Protokół WEP (1999)

oparty jest na algorytmie RC4

klucz (40b lub 104b) składany jest z wektorem inicjacyjnym (24b)

stąd dwie wersje: WEP 64b i WEP 128b

C = {M + ICV (M)} ⊕ {RC4(K + IV )}

C – szyfrogramM – wiadomość+ – konkatenacjaICV () – suma kontrolna⊕ – XORK – tajny kluczIV – wektor inicjacyjnyK + IV = KS – klucz szyfrujący dany komunikat

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 106 / 325

Page 107: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Sieci bezprzewodowe

moc WEP zależy w dużej mierze od IV , który wymieniany jestjawnym tekstem oraz nie zmieniany podczas transmisjiw 2001 r. Fluhrer, Mantin i Shamir (FMS) opublikowali atak na WEPw dwóch wersjach:

I korzystając z niezmienniczości klucza IV ,I znając klucz IV .

Atak: FMSDla niektórych wartości IV początkowe bajty strumienia mogą zależećjedynie od kilku bitów klucza szyfrującego KS. Ponieważ KS = K + IV ,dla niektórych IV powstają klucze słabe. Atak ten wymaga przechwycenia5–10 mln. pakietów.

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 107 / 325

Page 108: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Sieci bezprzewodowe

w 2002 r. D. Hulton (h1kari) zmodyfikował atak FMS uwzględniającwięcej bajtów wyniku RC4, co zmniejszyło liczbę potrzebnychpakietów

w 2004 r. KoreK i Arbaugh podali metodę wstrzykiwania pakietów,pozwalającą na deszyfrowanie pakietów bez znajomości klucza. Tenatak pozwala rozłamać WEP 128b w ok. 10 minut (wymaga tysięcy,nie milionów pakietów) nawet w przypadku nieruchliwej sieci

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 108 / 325

Page 109: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Sieci bezprzewodowe

Atak: Packet InjectionMetoda wstrzykiwania pakietów (packet injection) wykorzystujepreparowanie i wpuszczanie do sieci bezprzewodowej pakietów z własnejmaszyny. Generowany ruch, np. poprzez protokół ARP, wymuszaodpowiedzi AP, które powodują generowanie kolejnych IV przez AP. Wten sposób szybciej można zgromadzić odpowiednio dużo wektorów IV .

Atak: DeauthenticationDeauthentication attack – wpuszczenie do sieci bezprzewodowejpakietów usuwających uwierzytelnienie użytkowników. Pozwala w kolejnymkroku, przechwytując komunikację między nimi a AP, uzyskać

ESSID, jeśli był ukryty

zapis procesu wymiany kluczy WEP/WPA/WPA2

zapis żądań ARP (i przechwycenie mac adresów)

Potrzebne narzędzia to przykładowo: aircrack (nadanie pakietów)i wireshark (podsłuchanie pakietów).

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 109 / 325

Page 110: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Sieci bezprzewodowe

Protokół WPA/WPA2Następcą (nakładką na) WEP jest WPA (Wifi Protected Access). Działana tym samym sprzęcie co WEP, wymagając jedynie aktualizacjioprogramowania i firmware’u. WPA miał być rozwiązaniem pośrednimmiędzy WEP a pełnym standardem 802.11i, który obecnie nazywa sięWPA2.

WPA-PSK (Pre-shared key), inaczej Personal Mode – działaw oparciu o szyfrowanie 256b kluczem, generowanym z tajnego(znanego użytkownikom) hasła do sieci (8–63 znaków ASCII)

hasło kodowane jest algorytmem PBKDF2, z użyciem ESSID jako„soli” i 4096 iteracji funkcji skrótu (hash) HMAC-SHA1

WPA-Enterprise – przekazuje uwierzytelnianie osobnemu serwerowi(Radius, LDAP) na podstawie osobistych kluczy użytkowników

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 110 / 325

Page 111: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Sieci bezprzewodowe

Problemy WEP

ochrona współdzielonego hasła do sieci, które jest jedynymmechanizmem zabezpieczającym

to samo hasło jest używane do generowanie kluczy szyfrującychtransmisję

prymitywne uwierzytelnianie, brak możliwości ustalenia tożsamościużytkownika

stałość klucza szyfrującego

brak kontroli danych (ataki na integralność)

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 111 / 325

Page 112: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Sieci bezprzewodowe

Dlaczego WPA jest mocniejsze niż WEP?

TKIP (Temporal Key Integrity Protocol) – klucz szyfrujący jestgenerowany osobno dla każdego pakietu

zamiast konkatenować klucz z IV używane są bezpieczniejsze funkcjemieszające

MIC (Message Integrity Check) – zamiast sumy kontrolnej CRCużywa się algorytmu Michael, który pozwala na ochronę nie tylkotreści, ale również nagłówka ramki, utrudniając podrobienie pakietów

dołożono licznik pakietów, aby trudniej było zakłócić lub włączyć siędo transmisji (tym licznikiem jest wektor IV)

Dlaczego WPA2 jest mocniejsze niż WPA?

używa najsilniejszego algorytmu szyfrującego AES zamiast relatywnieprostego RC4

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 112 / 325

Page 113: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Sieci bezprzewodowe

Generowanie kluczy WPA odbywa się na początku połączenia podczasnegocjacji czteroetapowej (4-way handshake). Odbywa się ona przezprotokół EAPOL

użytkownik i router wymieniają dwa losowe ciągi znaków

z nich, wraz z hasłem do sieci, tworzony jest klucz główny PTK

klucz ten jest dzielony na krótsze 16b

jeden z nich to TK (Temporal Key)

z TK, wektora IV i adresu modemu tworzony jest klucz szyfrującywiadomość

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 113 / 325

Page 114: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Sieci bezprzewodowe

Atak na WPA-PSK/WPA2-PSK

hash współdzielonego kluczauwierzytelniającego jestprzesyłany na początkupołączenia

można wysłać pakiet DEAUTHdo zalogowanego użytkownikazmuszając go do powtórzenianegocjacji uwierzytelniającej

zdobycie pakietów uwierzytelniających użytkownika pozwala na ichrozłamanie atakiem słownikowym lub brutalnym

zastosowanie tzw. tablic tęczowych (rainbow tables) pozwala nawielokrotne skrócenie czasu potrzebnego na zamianę hashaw prawdziwe hasło (10-15 minut pracy CPU)

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 114 / 325

Page 115: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Sieci bezprzewodowe

W 2009 r. Masakatu Morii z Uniwersytetu w Kobe i Toshihiro Ohigashiz Uniwersytetu w Hiroshimie podali nowy sposób ataku na WPA,wykorzystujący lukę w protokole TKIP. Czas potrzebny do złamaniazabezpieczeń to ok. 1 minuta.

Atak ten nie działa na WPA2. Można, póki co, złamać go tylko atakiemsłownikowym/brutalnym po przejęciu 4-way handshake’a.

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 115 / 325

Page 116: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Sieci bezprzewodowe

Atak KRACKAutorzy: Mathy Vanhoef, Frank Piessenspapers.mathyvanhoef.com/ccs2017.pdf

niebezpiecznik.pl/post/krack-atak-na-ktory-podatne-sa-prawie-wszystkie-urzadzenia-z-wi-fi-jak-bardzo-powinienes-sie-go-obawiac

Key Reinstallation Attacks (KRACK) to atak z 2017r. na sieć wifi.Wykorzystuje lukę protokołu WPA2 a nie lukę sprzętową albo słabośćimplementacji. Dlatego wszystkie urządzenia są/były na niego podatne.

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 116 / 325

Page 117: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Sieci bezprzewodowe

Warunki wykonania ataku:

atakujący musi być w bezpośrednim zasięgu sieci wifi,

ofiara musi być daleko od AP,

ofiara musi korzystać z nieszyfrowanych protokołów.

Procedura:

Atak celuje w proces 4-way handshake, podczas którego AP i klientuwierzytelniają się i negocjują klucz sesji.

Powoduje wymuszenie po stronie klienta reinstalacji klucza, coskutkuje resetem połączenia i użyciem po raz kolejny tego samegoklucza sesyjnego.

Podsłuchanie pakietów i znajomość klucza pozwala na ichodszyfrowanie. W dalszej kolejności można wstrzykiwać własnepakiety lub przechwytywać i modyfikować ruch sieciowy.

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 117 / 325

Page 118: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Sieci bezprzewodowe

Obrona:

uaktualnić firmware na routerze,

uaktualnić software wifi po stronie klienta,

uaktualnić sterownik karty sieciowej po stronie klienta,

używać tylko szyfrowanych połączeń (np. VPN na routerze).

Uwagi:

najbardziej podatne są Linux i Android, bo wpa supplicant poresecie ustawia klucz na same zera,

ten atak nie wykrada haseł do sieci.

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 118 / 325

Page 119: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Sieci bezprzewodowe Sieci VPN

Sieci VPN

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 119 / 325

Page 120: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Sieci bezprzewodowe Sieci VPN

VPN (virtual private network) – połączenie różnych podsieci sieciprywatnej przez publiczne łącza. Również: dostęp hostów spoza sieci downętrza sieci prywatnej.

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 120 / 325

Page 121: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Sieci bezprzewodowe Sieci VPN

Zasada działania:

połączenia VPN są tunelowane przez serwery z internetu, które są dlanich „przezroczyste”

serwery VPN kontrolują ruch sieciowy zapewniając bezpieczeństwo

Bezpieczeństwo zapewniają:

pełne szyfrowanie transmisji

uwierzytelnianie użytkowników próbujących ustanowić tunel VPNz serwerem (hasło, certyfikat, tokeny sprzętowe, metody biometrycznei inne)

kontrola nienaruszalności pakietów, aby zapobiec zakłóceniomi podrobieniu transmisji przez osoby trzecie

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 121 / 325

Page 122: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Sieci bezprzewodowe Sieci VPN

Rodzaje VPN:

Trusted VPN – dzierżawa łącz, które zakładamy, że są bezpiecznei oddane na nasz wyłączny użytek. Zrzuca się wtedy odpowiedzialnośćza bezpieczeństwo na dostawcę łącza ufając mu w tej kwestii.

Secure VPN – korzystanie z łącz publicznych, przy czym zabezpieczeństwo odpowiada stosowanie szyfrowania i odpowiednichprotokołów.

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 122 / 325

Page 123: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Sieci bezprzewodowe Sieci VPN

Protokoły bezpieczeństwa używane w sieciach VPN to m.in.

Internet Protocol Security (IPsec) – kapsułkuje pakiety zapewniającdodatkowe szyfrowanie, obsługuje również uwierzytelnianie i kontrolęspójności danych. Nie radzi sobie z firewallami i sieciamiwewnętrznymi

Transport Layer Security (SSL/TLS) pozwala na tunelowanie całejtransmisji poprzez szyfrowany kanał (korzysta z tego OpenVPN).Radzi sobie z bardziej skomplikowanymi konfiguracjami, gdzie w gręwchodzi np. NAT i filtrowanie pakietów przez firewalle. Nie radzisobie z tunelowaniem połączeń przez UDP

Datagram Transport Layer Security (DTLS) jest używane przezAnyConnect VPN (CISCO) i OpenConnect VPN. Radzi sobiez szyfrowanymi tunelami przez UDP

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 123 / 325

Page 124: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Sieci bezprzewodowe Sieci VPN

Microsoft Point-to-Point Encryption (MPPE) wspomaga protokółPPP zapewniając szyfrowanie

Microsoft Secure Socket Tunneling Protocol (SSTP) wspomagaprotokoły Point-to-Point Protocol (PPP) oraz Layer 2 TunnelingProtocol zapewniając szyfrowanie przez SSL 3.0. SSTP pojawiło siępo raz pierwszy w Windows Server 2008 oraz Windows Vista ServicePack 1

Multi Path Virtual Private Network (MPVPN) firmy Ragula SystemsDevelopment Company

Secure Shell (SSH) VPN – tani serwer pozwalający na zestawianietuneli do celów prywatnych. Ma ograniczenia na liczbę tuneli i niewspomaga dodatkowej autoryzacji.

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 124 / 325

Page 125: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona systemu operacyjnego

Ochrona systemu operacyjnego

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 125 / 325

Page 126: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona systemu operacyjnego

System operacyjny jest dziurawy (mniej lub bardziej) i regularnie trzeba gołatać poprawkami bezpieczeństwa.

Luka odkryta w Windows NT (atak typu You Are Now In France). WeFrancji (ok. roku 2000) osobom prywatnym prawo zabraniało korzystaćz silnego szyfrowania. Jeśli Windows NT rozpoznawało, że połączenieprzychodziło z Francji, automatycznie wyłączało szyfrowanie tegopołączenia.

Intruzi opracowują nowe metody włamań, powodując że to, co wcześniejuznawane było za dobrą praktykę programistyczną, staje sięnieakceptowalne.

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 126 / 325

Page 127: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona systemu operacyjnego

System prywatny ochronić jest stosunkowo łatwo, gdyż dobrzezdefiniowane są potrzeby i zwyczaje użytkownika. Grono użytkowników jestzaufane i dobrze kontrolowane.

W przypadku systemu publicznego lub dostępnego dla dużej grupyużytkowników należy wypracować kompromis między funkcjonalnościąi łatwością korzystania a bezpieczeństwem.

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 127 / 325

Page 128: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona systemu operacyjnego

Jak dbać o system:

regularne aktualizacje systemu

polityka przydzielania kont

wymuszenie polityki zarządzania hasłami

przywileje użytkowników i grup

udostępnianie minimalnego zestawu oprogramowania, szczególniepowłok (ile powłok jest w Twoim systemie? cat /etc/shells)audyt i konserwacja systemu

I wyszukiwanie plików suidI czytanie logówI wyszukiwanie nieaktywnych użytkowników i ich plikówI czyszczenie plików cache i tymczasowychI okresowe sprawdzanie konfiguracji, m.in. reguł firewalla, /etc/passwdi innych

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 128 / 325

Page 129: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona systemu operacyjnego

Trzy podstawowe mechanizmy kontroli dostępu od strony sieci w linuksie:

iptables

tcp-wrappers

inetd

Do tego dochodzi

konfiguracja poszczególnych usług (np. ssh)

programu login (/etc/login.access)

pakietu shadow (/etc/login.defs)

i tak dalej

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 129 / 325

Page 130: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona systemu operacyjnego Firewall w linuksie

Filtr pakietów iptablesFirewall wbudowany w jądro systemu:

ipfwadm (linux 2.0)

ipchains (linux 2.2)

iptables (linux 2.4 i nowsze)http://www.netfilter.org

Można konfigurować z linii komend w czasie rzeczywistym, ale zazwyczajkonfigurację umieszcza się w skryptach startowych, np./etc/rc.d/rc.firewall. Potrafi rozpoznawać stan pakietów sieciowych.Działa na pojedynczych regułach lub zagnieżdżalnych łańcuchach reguł.Większość funkcji uruchamia się podczas kompilacji jądra i albo są onewkompilowane w kernel, albo tworzone są pod postacią pakietów.Sterowanie częścią funkcji poprzez pseudopliki z katalogu/proc/sys/net/.../sys/class/net/...

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 130 / 325

Page 131: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona systemu operacyjnego Firewall w linuksie

Tablice i łańcuchy iptables dzielą proces obróbki i analizy pakietu naetapy (tablice) i porządkują reguły w zależności od etapu i przeznaczeniapakietu (łańcuchy)Tablice:

raw – działanie na „surowym” pakiecie

mangle – zmiany w nagłówku pakietu, głównie w polu TOS (type ofservice) określającym m.in. priorytet pakietu oraz ewentualnespecjalne traktowanie związane z jego typem

filter – zestaw głównych reguł filtrujących ruch sieciowy

Łańcuchy:

PREROUTING

INPUT

OUTPUT

FORWARD

POSTROUTING

Dodatkowo można definiować własne łańcuchy, głównie dla tablicyfilter.Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 131 / 325

Page 132: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona systemu operacyjnego Firewall w linuksie

Analiza i obróbka pakietu skierowanego do naszej maszyny1 medium transmisyjne2 interface3 raw/PREROUTING

4 określenie stanu połączenia (connection tracking)5 mangle/PREROUTING

6 nat/PREROUTING

7 decyzja o przeznaczeniu pakietu (routowanie)8 mangle/INPUT

9 filter/INPUT

10 lokalny proces

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 132 / 325

Page 133: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona systemu operacyjnego Firewall w linuksie

Analiza i obróbka pakietu wychodzącego z naszej maszyny1 lokalny proces2 routowanie (określenie adresu docelowego, interface’u)3 raw/OUTPUT

4 określenie stanu połączenia (connection tracking)5 mangle/OUTPUT

6 nat/OUTPUT

7 routowanie (od nowa, po wstępnym filtrowaniu)8 filter/OUTPUT

9 mangle/POSTROUTING

10 nat/POSTROUTING

11 interface12 medium transmisyjne

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 133 / 325

Page 134: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona systemu operacyjnego Firewall w linuksie

Analiza i obróbka pakietu routowanego przez naszą maszynę1 medium transmisyjne2 interface3 raw/PREROUTING

4 określenie stanu połączenia (non-local connection tracking)5 mangle/PREROUTING

6 nat/PREROUTING

7 decyzja o przeznaczeniu pakietu (routowanie)8 mangle/FORWARD

9 filter/FORWARD

10 mangle/POSTROUTING

11 nat/POSTROUTING

12 interface13 medium transmisyjne

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 134 / 325

Page 135: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona systemu operacyjnego Firewall w linuksie

Ogólny schematumieszczenia filtra wsystemie. Decyzje oroutowaniu podejmowane sąkilkukrotnie.

Zbiorczy schemat tablic i łańcuchów iptables

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 135 / 325

Page 136: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona systemu operacyjnego Firewall w linuksie

Metody filtrowania pakietów:

statyczne – reguły bazują na adresach sieciowych, adresach mac,portach, aplikacjach generujących pakiet i tym podobnych stałychcharakterystykach

dynamiczne – filtrowanie po stanach pakietów – reguły rozróżniajątyp pakietu po fladze TCP (inicjowanie połączenia, pakiet zwrotny...)

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 136 / 325

Page 137: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona systemu operacyjnego Firewall w linuksie

Co iptables może zrobić z pakietem:

ACCEPT – przepuścić

DROP – zablokować i zapomnieć

REJECT – odrzucić z właściwym komunikatem zwrotnym

LOG – logowanie operacji

i inne bardziej zaawansowane możliwości.Zawiera predefiniowane tablice. Główną z nich jest filter definiującyłańcuchy:

INPUT – pakiety przychodzące do danego hosta

ROUTED – pakiety routowane

OUTPUT – lokalnie generowane pakiety wychodzące

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 137 / 325

Page 138: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona systemu operacyjnego Firewall w linuksie

Różnica między REJECT a DROPREJECT

odmowa nawiązania danego połączenia

wysyła komunikat zwrotny

jest to zgodne ze standardem zachowań usług sieciowych

pozwala, po podszyciu się za inny komputer, na wykorzystanienaszego komputera do ataku typu DoS

daje informacje o dostępności usług

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 138 / 325

Page 139: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona systemu operacyjnego Firewall w linuksie

DROP

wchłonięcie pakietu (komputer wygląda jak nieczynny)

brak jakiejkolwiek odpowiedzi

spowalnia i zapycha sieć z powodu powtarzanych żądań usług (próbyponownego połączenia się z danym portem) aż do timeout’u

wyklucza wykonanie ataku DoS

ukrywa komputer przed niechcianymi połączeniami

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 139 / 325

Page 140: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona systemu operacyjnego Firewall w linuksie

Opcje:-A --append dodaje regułę do łańcucha-D --delete usuwa j.w.-I --insert wstawia regułę numer ileśtam-R --replace podmienia regułę numer ileśtam-L --list podaje reguły zdefiniowane w danym łańcuchu-F --flush czyści łańcuch-Z --zero zeruje liczniki pakietów-N --new-chain tworzy nowy łańcuch-X --delete-chain usuwa łańcuch-P --policy ustawia politykę dla predefiniowanego łańcucha-E --rename-chain zmienia nazwę łańcucha

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 140 / 325

Page 141: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona systemu operacyjnego Firewall w linuksie

Parametry budowania reguł (! neguje):-p --protocol – typ protokołu: tcp, udp, icmp lub all-s --source – adres lub klasa adresów źródłowych pakietu-d --dst --destination – j.w. docelowych-i --in-interface – interface wejściowy-o --out-interface – interface wyjściowy--state – stany pakietu: ESTABLISHED, INVALID, NEW, RELATED-j --jump – ustawia cel reguły (DROP itd)-m --match – dopasowanie pakietów

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 141 / 325

Page 142: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona systemu operacyjnego Firewall w linuksie

Przykłady:1. Uniemożliwienie zdalnym komputerom podszycia się pod nasz własny(weryfikacja adresu źródłowego)echo 1 > /proc/sys/net/ipv4/conf/default/rp filterlubiptables -A INPUT -i eth0 -s mój IP -j REJECTlubiptables -A INPUT -i eth1 -s 192.168.0.0/24 -j REJECT2. Zablokowanie całego ruchu sieciowego na poziomie firewallaiptables -Fiptables -A INPUT -j REJECTiptables -A OUTPUT -j REJECTiptables -A FORWARD -j REJECT

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 142 / 325

Page 143: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona systemu operacyjnego Firewall w linuksie

3. Zablokowanie tylko ruchu przychodzącegoiptables -F INPUTiptables -A INPUT -m state --state ESTABLISHED -j ACCEPTiptables -A INPUT -j REJECT4. Zablokowanie tylko ruchu wychodzącego – j.w. INPUT → OUTPUT5. Zablokowanie żądań HTTP z zewnątrz ale zezwolenie na ruch lokalny(kolejność reguł!)iptables -A INPUT -p tcp -i lo --dport www -j ACCEPTiptables -A INPUT -p tcp --dport www -j REJECT6. Blokowanie konkretnego hostaiptables -A INPUT -s ip hosta -j REJECTiptables -A OUTPUT -d ip hosta -j REJECT

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 143 / 325

Page 144: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona systemu operacyjnego Firewall w linuksie

7. Zezwalanie na dostęp z sieci lokalnej tylko komputera o określonymadresie MACiptables -F INPUTiptables -A INPUT -i lo -j ACCEPTiptables -A INPUT -m mac --mac-source 12:34:56:78:ab:cd

-j ACCEPTiptables -A INPUT -j REJECTOpcja --dport jest opcją dla protokołu tcp (-p tcp). Uniwersalniej jestpodawać konkretne porty wykorzystywane przez poszczególne usługisieciowe.

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 144 / 325

Page 145: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona systemu operacyjnego Firewall w linuksie

Popularne porty (/etc/services):

ftp-data 20/tcp,udp #File Transfer [Default Data]ftp 21/tcp,udp #File Transfer [Control]ssh 22/tcp,udp #Secure Shell Logintelnet 23/tcp,udpsmtp 25/tcp,udp #Simple Mail Transferdomain 53/tcp,udp #Domain Name Serverfinger 79/tcp,udphttp 80/tcp,udp #World Wide Web HTTPkerberos-sec 88/tcp,udp #Kerberos (v5)auth 113/tcp,udp #Authentication Service (ident)imap 143/tcp,udp #Interim Mail Access Protocol v2https 443/tcp,udpkpasswd5 464/tcp,udp # Kerberos (v5)

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 145 / 325

Page 146: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona systemu operacyjnego Firewall w linuksie

Moduł | Przykład lub opis=========+====================================================================iprange | iptables -A INPUT \

| -m iprange -s 192.168.1.5-192.168.1.100 -j ACCEPT---------+--------------------------------------------------------------------length | <filtruje po długości pakietu>---------+--------------------------------------------------------------------limit | iptables -I INPUT -m limit --limit 10/min --limit-burst 30 \

| -j LOG --log-prefix "Flooding: "|| <włącza filtrowanie po zarejestrowaniu --limit-burst pakietów| i ustawia maksymalny limit na --limit, resztę usuwa; rozumie| /second /minute /hour /day i ich skróty>

---------+--------------------------------------------------------------------mac | iptables -A INPUT -m mac --mac-source 12:23:34:56:ab:ff -j ACCEPT---------+--------------------------------------------------------------------multiport| iptables -I INPUT -p tcp \

| -m multiport --source-ports 25,110,143 -j ACCEPT---------+--------------------------------------------------------------------owner | dopasowuje lokalnie generowane pakiety do użytkownika

| --uid-owner 501, podobnie --gid-owner (grupa),| --pid-owner (proces), --sid-owner (sesja)

---------+--------------------------------------------------------------------state | filtrowanie po stanach pakietów

| ESTABLISHED, RELATED, NEW, INVALID---------+--------------------------------------------------------------------Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 146 / 325

Page 147: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona systemu operacyjnego Skaner portów

Reguły firewalla testuje się za pomocą skanera portów, np. nmap. Skanerportów:

próbuje sekwencyjnie nawiązywać połączenie z kolejnymi portamihostu docelowego, rejestrując odpowiedzi

ślad skanowania znaleźć można w logach firewalla i jest uważany zadziałanie wrogie lub bliskie takiemu, gdyż sonda taka jest zazwyczajrozpoznaniem do późniejszego ataku

odpowiedzi serwerów nasłuchujących na poszczególnych portachczęsto zawierają wersje oprogramowania, wersję systemu operacyjnegooraz różne inne przydatne sygnatury

istnieją różne metody skanowania, różne skanery wykorzystują różnetypy pakietów, które można odfiltrowywać na poziomie firewalla

skaner portów jest jednym z podstawowych narzędzi administratorów(dla testów penetracyjnych) i hakerów (do przygotowania ataków)

można korzystać ze skanerów on-line

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 147 / 325

Page 148: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona systemu operacyjnego Skaner portów

Przykłady składni nmapa:UDP Port Scannmap -sU -O -P0 127.0.0.1

All 1487 scanned ports on digger.fizter (127.0.0.1) are closedToo many fingerprints match this host to give specific OS details

Connect Scannmap -sT -O -P0 127.0.0.1

Not shown: 1679 closed portsPORT STATE SERVICE VERSION22/tcp open tcpwrappedNo exact OS matches for host.

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 148 / 325

Page 149: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona systemu operacyjnego Skaner portów

[root marek]# nmap -sT -O umcs.pl

Starting Nmap 6.40 ( http://nmap.org ) at 2015-11-27 08:11 CETNmap scan report for umcs.pl (87.246.208.14)Host is up (0.00043s latency).rDNS record for 87.246.208.14: portal.umcs.plNot shown: 979 filtered portsPORT STATE SERVICE20/tcp closed ftp-data21/tcp open ftp22/tcp open ssh25/tcp open smtp80/tcp open http110/tcp open pop3143/tcp open imap443/tcp open https587/tcp open submission993/tcp open imaps995/tcp open pop3s50000/tcp closed ibm-db250001/tcp closed unknown50002/tcp closed iiimsf50003/tcp closed unknown50006/tcp closed unknown

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 149 / 325

Page 150: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona systemu operacyjnego Skaner portów

50300/tcp closed unknown50389/tcp closed unknown50500/tcp closed unknown50636/tcp closed unknown50800/tcp closed unknownDevice type: general purposeRunning: Linux 3.XOS CPE: cpe:/o:linux:linux_kernel:3OS details: Linux 3.0 - 3.9

OS detection performed. Please report any incorrectresults at http://nmap.org/submit/ .Nmap done: 1 IP address (1 host up) scanned in 6.15 seconds

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 150 / 325

Page 151: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona systemu operacyjnego Skaner portów

IP Protocol Scannmap -sO -O -P0 127.0.0.1

Not shown: 250 closed protocolsPROTOCOL STATE SERVICE1 open icmp2 open|filtered igmp6 open tcp17 open udp41 open|filtered ipv6255 open|filtered unknownToo many fingerprints match this hostto give specific OS details

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 151 / 325

Page 152: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona systemu operacyjnego Inne zabezpieczenia w linuksie

TCP–wrappersKontrola dostępu na poziomie tcp–wrappers odbywa się poprzez definicjez plików /etc/hosts.allow i /etc/hosts.deny.Składnia:

usługa:hosty:politykaNa przykład umieszczenie w pliku hosts.deny wpisu ALL:ALL spowodujeodrzucanie jakichkolwiek prób połączenia się z naszym komputerem.Wpis w /etc/hosts.allow typu:

finger : *.domena.netfinger : ALL : DENY

udostępni fingera tylko dla komputerów z domeny domena.net

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 152 / 325

Page 153: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona systemu operacyjnego Inne zabezpieczenia w linuksie

Superdemony siecioweKontrola dostępu na poziomie demona inetd (xinetd).Superdemon (x)inetd nie jest konieczny do działania sieci, ale stanowikolejny etap kontroli dostępu do serwera. Jest to demon odpowiedzialny zaudostępnianie (po spełnieniu odpowiednich warunków) usług sieciowychpoprzez wywołanie żądanych demonów (serwerów) i unieczynnianie ich gdynie są już potrzebne.Pliki konfiguracyjne to zwyczajowo:/etc/inetd.conf (jeden plik z listą usług)/etc/xinetd.d/* (po jednym wpisie dla każdej usługi)Składnia inetd:

service type protocol wait user server cmdline

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 153 / 325

Page 154: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona systemu operacyjnego Inne zabezpieczenia w linuksie

Inne zabezpieczenia

serwer SSH. Plik /etc/ssh/sshd.configPermitRootLogin noProtocol 2

szyfrowanie i podpisywanie elektroniczne GPG, np. e-maili

migawki systemu, np. Tripwire

kontrola nad kontami i hasłami

tablica /etc/login.accesszgoda : użytkownicy : skąd

zgoda to + lub –użytkowników definiuje lista loginów, grup lub ALL (user@hostakceptowalne)skąd to numery konsol tty, hosty, domeny, ALL lub LOCAListnieje również operator EXCEPT, np.-:ALL EXCEPT wheel shutdown sync:console

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 154 / 325

Page 155: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona systemu operacyjnego Inne zabezpieczenia w linuksie

Inne zabezpieczenia c.d.

plik /etc/securetty – lista urządzeń na których może się logowaćroot bezpośrednio: tty1..., ttyS0..., ttyp0..., pts/0...

kontrola nad ruchem sieciowym

redukcja liczby plików z bitami suid i sgid

Jak testować bezpieczeństwo komputera/serwera?

skaner portów, np. nmap, nmapfe

testowanie haseł kont, np. John the Ripper, CrackLib

podsłuchiwanie pakietów, np. Snort

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 155 / 325

Page 156: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona systemu operacyjnego Inne zabezpieczenia w linuksie

Ograniczone uprawnienia administracyjne dla użytkowników:

pliki suid, sgid (luka bezpieczeństwa)

su (udostępnianie hasła)

sudo (konfigurowalne su -c komenda)

Pakiet sudo

pozwala w kontrolowany sposób nadać czasowo użytkownikom prawaadministratora

pozwala logować aktywność użytkowników działających jako root

współpracuje z systemem uwierzytelniania BSD (/etc/login.conf)

konfiguracja w /etc/sudoers

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 156 / 325

Page 157: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona systemu operacyjnego Inne zabezpieczenia w linuksie

Plik /etc/sudoers

jest czytany zawsze w całości, ustawienia są respektowanew kolejności wystąpienia, ostatnie jest wykonywane

wspiera aliasy

User_Alias FULLTIMERS = millert, mikef, dowdyRunas_Alias OP = root, operatorHost_Alias SPARC = bigtime, eclipse, moet, anchor :\

SGI = grolsch, dandelion, blackCmnd_Alias PRINTING = /usr/sbin/lpc, /usr/bin/lprm

posiada pewne ustawienia domyślne, które można nadpisać

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 157 / 325

Page 158: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona systemu operacyjnego Inne zabezpieczenia w linuksie

Przykład:

# root i grupa wheel mogą wszystko wszędzie# % oznacza grupę (ustawienie domyślne, + to grupa sieciowa)root ALL = (ALL) ALL%wheel ALL = (ALL) ALL

# joe może "su operator" na każdej maszynie (musi znać hasło)joe ALL = /usr/bin/su operator

# wszyscy mogą montować cdromy na maszynach z grupy CDROM# bez podawania hasłaALL CDROM = NOPASSWD: /sbin/umount /CDROM,\

/sbin/mount -o nosuid\,nodev /dev/cd0a /CDROM

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 158 / 325

Page 159: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona systemu operacyjnego Inne zabezpieczenia w linuksie

Komenda chroot pozwala na zmianę katalogu głównego na inny. Wyjścieprzez exit. Po co to?

używanie drugiego systemu z konsoli (przy pewnej wprawie da sięuruchomić serwer X)

naprawianie systemu, np. korzystając z LiveCD (lilo, grub, systemzhakowany)

zamknięcie użytkownika (np. gość ftp) w ograniczonej, mniejszej kopiisystemu

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 159 / 325

Page 160: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona systemu operacyjnego Inne zabezpieczenia w linuksie

Pakiety PAM (Pluggable Authentication Modules)Klasycznie uwierzytelnianie w linuksie polega na podaniu hasła iporównaniu go z zaszyfrowaną wersją w pliku na dysku. PAM udostępniamoduły uwierzytelniające na różne sposoby (inne typy szyfrowania,specjalistyczny hardware...) co powoduje, że programy takie jak login niewymagają przepisywania przy wprowadzaniu nowych metod do użytku.Wystarczy że będą zdolne do wywołania odpowiedniego modułu.Z PAM mogą korzystać m.in.

OpenPGP

Bluetooth

POP3

SQL

iptables

SAMBA

chroot

Kerberos

ssh

imap

LDAP

PHP, Python, Perl

sudo

ProFTPD

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 160 / 325

Page 161: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona systemu operacyjnego Patche bezpieczeństwa na jądro linuksa

Łatki bezpieczeństwa w linuksie: SELinux.www.nsa.gov/selinuxSecurity Enhanced Linux

National Information Assurance Research Laboratory of theNational Security Agency

Implementacja rozwijanego przez NSA mechanizmu bezpieczeństwa Flask(Flux Advanced Security Kernel) w systemie linux. Licencja GPL.

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 161 / 325

Page 162: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona systemu operacyjnego Patche bezpieczeństwa na jądro linuksa

Nie polega na standardowym systemie bezpieczeństwa linuksa (prawadostępu, suid, sgid, konto root), w którym przejęcie przez atakującegokontroli nad częścią w praktyce poddaje cały system.Koncepcja DAC (Discretionary Access Control – uznaniowa kontroladostępu) stosuje politykę bezpieczeństwa biorąc pod uwagę tożsamośćobiektów i ich uprawnienia; użytkownik przekazuje swoje uprawnieniauruchamianym procesom, co jest szczególnie niebezpieczne w przypadkuadministratora lub plików z bitem suid.

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 162 / 325

Page 163: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona systemu operacyjnego Patche bezpieczeństwa na jądro linuksa

Przydziela każdemu poleceniu, aplikacji, użytkownikowi dokładnie takieprawa ingerencji w system, jakich to coś wymaga do działania. Wadliwelub dziurawe aplikacje mają minimalny bądź żaden wpływ nabezpieczeństwo reszty systemu.Koncepcja MAC (Mandatory Access Control – obowiązkowa kontroladostępu) wprowadza reguły po regułach DAC i żaden z użytkowników niemoże ich obejść.Składnia trudna. Edytory ułatwiające budowanie reguł bezpieczeństwa(skrypty w makro języku M4)

SETools (Tresys Technology) oss.tresys.com/projects/setools

SEEdit (Hitachi Software) seedit.sourceforge.net/

Szacunkowe obciążenie systemu to ok. 7-9% (wg autorów)Dwa tryby pracy: premissive (warn) służący do testów, enforcement czyliwłaściwy tryb ochrony.

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 163 / 325

Page 164: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona systemu operacyjnego Patche bezpieczeństwa na jądro linuksa

MAC – Mandatory Access Control. Na podstawie:

podmiot = proces lub użytkownik

obiekt = zasoby systemowe (pliki, gniazda...)

atrybuty bezpieczeństwa = zestaw reguł

Security Server wbudowany w jądro linuksa przydziela lub odmawiadostępu.1 MAC Type Enforcement (TE) – procesy działają w obrębie domen,akcje na obiektach definiowane są przez reguły

2 MAC Multi-Level Security (MLS) – oparty na modelu Bell’a-La Padulidla przypadków, gdy istnieją poziomy zabezpieczeń; wariantem jestMulti-Category Security (MCS)

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 164 / 325

Page 165: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona systemu operacyjnego Patche bezpieczeństwa na jądro linuksa

RBAC – Role-Based Access Controlużytkownicy klasyfikowani są po ich rolach w systemie, a tym przypisuje siędomeny działania. Przykłady klas:

user u – ogólna klasa użytkowników

staff u – dodatkowa klasa specjalna

sysadm u – dodatkowa klasa specjalna

system u – zarezerwowana klasa dla procesów systemowych

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 165 / 325

Page 166: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona systemu operacyjnego Patche bezpieczeństwa na jądro linuksa

System PAM może korzystać z bibliotek SELinux. Działa na czterechetapach:1 Account Management – ważność konta, główne polityki dostępu2 Authentication Management – dodatkowe metody autoryzacji (kartySmart, metody biometryczne etc.)

3 Password Management – zarządzanie hasłami4 Session Management – uruchamianie dodatkowych usług podczaslogowania

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 166 / 325

Page 167: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona systemu operacyjnego Patche bezpieczeństwa na jądro linuksa

SELinux wzmacnia też ochronę od strony sieci. Netfilter otrzymujedodatkową funkcjonalność na poziomie tablicy mangle:

SECMARK – oznaczanie pakietów z wykorzystaniem dopasowańzwiązanych z regułami bezpieczeństwa

CONNSECMARK – j.w. dla połączeń (sesji)

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 167 / 325

Page 168: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona systemu operacyjnego Patche bezpieczeństwa na jądro linuksa

Inne udogodnienia:

działa w obrębie maszyn wirtualnych KVM/QEMU oraz Xen

XSELinux rozciąga kontrolę na obiekty (resources) systemu x.org

SE-PostgreSQL

Appache-Plus

współpracuje z Androidem od wersji 4.3

SEBSD, SEDarwin

Można dołożyć SELinux do istniejącego i działającego systemu. Wieledystrybucji ma taką opcję wbudowaną (RedHat/Fedora, Centos, SuSE,Hardened Gentoo, Debian Etch, Hardened Ubuntu).

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 168 / 325

Page 169: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona systemu operacyjnego Patche bezpieczeństwa na jądro linuksa

Kompatybilność z aplikacjami: pełna; aplikacje nie przystosowane poprostu nie będą korzystały z rozszerzeń bezpieczeństwa, ale wciąż będąochraniane przez system. Istnieją jednak z oczywistych powodów łaty nastandardowe aplikacje, bez których całość nie miałaby sensu (m.in. ssh, ls,ps, login).

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 169 / 325

Page 170: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona systemu operacyjnego Patche bezpieczeństwa na jądro linuksa

Kompatybilność ze standardowymi modułami jądra: SELinux jest wtym momencie zintegrowany z kernelem 2.6.x i dostarcza kompatybilnośćna poziomie binariów; we wcześniejszych wersjach kompatybilność była napoziomie źródeł i wymagała przekompilowania modułów z nowymkernelem i jego plikami nagłówkowymi. Nie ma jednak 100%kompatybilności z modułami wykonującymi bezpośrednie operacje naobiektach jądra z pominięciem inicjalizowania standardowych funkcji jądra– obiekty takie nie będą zawierały poprawnych informacji bezpieczeństwa imoże być problem z ich działaniem.

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 170 / 325

Page 171: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona systemu operacyjnego Patche bezpieczeństwa na jądro linuksa

Openwall – kolekcja łat autorstwa Solar Designera, zwiększającabezpieczeństwo jądra Linux. Opracowana dla jąder 2.2, 2.4. i 2.6.Openwall implementuje m.in:

niewykonywalny stos

restrykcje dowiązań i kolejek FIFO w /tmp

restrykcje dla /proc (zwykli użytkownicy widzą tylko własne procesy)

wymuszenie sprawdzenia liczby limitu procesów dla execve()

niszczenie nieużywanych obszarów pamięci dzielonej

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 171 / 325

Page 172: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona systemu operacyjnego Patche bezpieczeństwa na jądro linuksa

Openwall jest natywnie zaimplementowany w systemie serwerowymOwl (Openwall GNU/*/Linux), który oprócz samych zmian w jądrzewykorzystuje również inne poprawione aplikacje.

Najnowsza wersja tego systemu to Owl 3.0 z grudnia 2010z późniejszymi poprawkami (wersja 3.1 pochodzi ze stycznia 2015).

W chwili obecnej działa na kernelu 2.6.18 i jest niemal w 100%kompatybilny z pakietami dla RHEL 5.9 (i odpowiadające im wersjeCentoOS, Fedora).

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 172 / 325

Page 173: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona systemu operacyjnego Patche bezpieczeństwa na jądro linuksa

Przed umieszczeniem danej aplikacji w dystrybucji Owl, jej kod źródłowypodlega audytowi i jest sprawdzany pod kątem podatności na klasyataków. Dotyczy to:

aplikacji z uprawnieniami większymi niż użytkownika

aplikacji pobierających/wysyłających dane z/do sieci

aplikacji wymagających bitu SUID/SGID

bibliotek systemowych

demonów i usług sieciowych

Aplikacje są wstępnie konfigurowane i nadawane jest im minimumpotrzebnych uprawnień.

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 173 / 325

Page 174: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona systemu operacyjnego Patche bezpieczeństwa na jądro linuksa

Oprócz (siłą rzeczy selektywnego) audytu kodu źródłowego, Owl stosuje

silną kryptografię, obejmującą m.in. kontrolę i ochronę haseł

ochronę i audyt kont użytkowników

kontrolę dostępu sieciowego

kontrolę spójności systemu (mtree)

Wykorzystanie narzędzia mtree jest opisane np. tu:

www.techrepublic.com/blog/it-security/use-mtree-for-filesystem-integrity-auditing/

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 174 / 325

Page 175: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona systemu operacyjnego Patche bezpieczeństwa na jądro linuksa

grsecurity jest patchem na jądro zwiększającym jego bezpieczeństwo.Zaprojektowana przez Solar Designer’a dla jąder 2.2, przeniesiona przezBrada Spenglera na jądra 2.4, jest obecnie rozwijana dla najnowszychkerneli.Od 9.IX.2015 grsecurity zmieniło politykę, wprowadzając opłaty za swojeprodukty:

w chwili obecnej (koniec 2015 r.) wersje testowe łat, obejmujące jądra3.1–4.26 są bezpłatne.

wersje stabilne obejmujące jądra 3.1–3.14 są zarezerwowane dlaklientów firmy.

grsecurity skupia się na typach ataków, a nie łataniu po fakcie odkrytychpojedynczych luk. Pozwala to na zmniejszeniu szansy powodzenia atakówtypu zero-day.

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 175 / 325

Page 176: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona systemu operacyjnego Patche bezpieczeństwa na jądro linuksa

Cechy:

tworzenie list kontroli dostępu opartych o role (Role-Based AccessControl (RBAC))

nałożenie restrykcji na środowisko chroot, uniemożliwiającychwyrwanie się z niego (nawet rootowi)

rozbudowane logowanie, ułatwiające audyt (możliwość zapisu adresuIP osoby dla określonych zdarzeń)

losowość stosu TCP (numerów sekwencyjnych, portów źródłowych, IPID)

restrykcje nakładane na /proc oraz losowość numerów PID

zapobieganie sytuacjom wyścigu poprzez restrykcje dla /tmp

działania zapobiegające atakom siłowym (ang. bruteforce attack)

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 176 / 325

Page 177: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona systemu operacyjnego Patche bezpieczeństwa na jądro linuksa

oznaczenie stosu jako niewykonywalnego (ochrona przedwykonywaniem kodu w zapisywalnych obszarach pamięci)

nałożenie ograniczeń dla mprotect, losowości dla mmap() oraz stosu isterty

ochronę przed modyfikacją jądra przez /dev/mem, /dev/kmem i/dev/port

Porównanie (trochę tendencyjne) grsecurity z SELinux i AppArmorznajduje się pod adresem grsecurity.net/compare.php

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 177 / 325

Page 178: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona systemu operacyjnego Patche bezpieczeństwa na jądro linuksa

AppArmor – system bezpieczeństwa wykorzystujący, podobnie jakSELinux, zaimplementowany w Linuksie mechanizm LSM (Linux SecurityModules). Wprowadza nad standardowym linuksowym DAC (grupy i prawadostępu) dodatkową kontrolę MAC.

działa na konfigurowalnych profilach, przypisujących zasobyaplikacjom

aplikacje można selektywnie przypisać do profili

w pierwszej kolejności konsultowane są systemowe ustawienia DAC;jeśli wg nich dostęp jest dozwolony, konsultowane są dodatkoworeguły MAC z AppArmor

AppArmor jest domyślnie zintegrowany z Ubuntu oraz OpenSUSE.Dostępny jako opcja m.in. dla Arch Linux, Debian, Gentoo, Mandriva,PLD.

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 178 / 325

Page 179: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona systemu operacyjnego Patche bezpieczeństwa na jądro linuksa

LSM (Linux Security Modules) jest mechanizmem pozwalającym napisanie modułów bezpieczeństwa współpracujących z jądrem Linuksa.Wszystkie moduły traktowane są z jednakowym priorytetem. Oficjalniekompatybilnymi modułami zewnętrznymi są:

AppArmor

SELinux

TOMOYO Linux

Smack

LSM jest również krytykowany:

brak kontroli, czy podłączany moduł faktycznie udostępnia funkcjebezpieczeństwa

niekontrolowany eksport symboli pozwala na podłączenie pod niegorootkita

zmienia się w każdej wersji kernela, przez co moduły muszą byćdostosowywane pod konkretne wydania jądra

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 179 / 325

Page 180: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona aplikacji

Ochrona aplikacji

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 180 / 325

Page 181: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona aplikacji

Gdzie szukać luk w aplikacjach:

przepełnienie zakresu zmiennych

przepełnienie sterty i stosu

odwołanie do pamięci

odwołanie do funkcji systemowych

komunikacja z jądrem systemu

komunikacja ze sterownikami

komunikacja z innymi aplikacjami

dostęp do systemu plików (odczyt, modyfikacja, pliki tymczasowe)

dostęp do urządzeń

dane pobierane od użytkownika lub z plików

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 181 / 325

Page 182: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona aplikacji

Jak dbać o bezpieczeństwo aplikacji?Jeśli jestem programistą:

staranne planowanie algorytmu

staranne planowanie sposobu działania

dokładne testy kodu

ewentualnie specjalistyczne testy zewnętrzne

poprawianie znalezionych luk, kontakt z użytkownikami

Jeśli jestem użytkownikiem:

staranny wybór aplikacji

analiza dokumentacji

poprawna instalacja i konfiguracja

własne testy bezpieczeństwa

śledzenie dostępnych aktualizacji

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 182 / 325

Page 183: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona aplikacji Metody stosowane w lokalnych exploitach

Ataki na system i aplikacje

Bomba dekompresyjna: spreparowane archiwum wprowadzająceprogram do dekompresji w nieskończoną pętlę, generując ogromnyplik i wyłączając program antywirusowy; obecnie programyantywirusowe są odporne na te ataki

Przekroczenie zakresu liczb: przepełnienie bufora może spowodowaćprzejęcie kontroli nad procesem aplikacji

Przepełnienie bufora: próba wpisania do pamięci większej ilościdanych niż przewidziano, co powoduje nadpisanie struktur programuw pamięci nowym kodem

Przepełnienie sterty: j.w.

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 183 / 325

Page 184: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona aplikacji Metody stosowane w lokalnych exploitach

Return-to-libc attack: przepełnienie bufora nadpisuje adres powrotuna stosie wywołań aplikacji i wskazuje najczęściej na jakąś funkcjęsystemową z biblioteki glibc

SQL Injection: przy braku dostatecznego filtrowania wpisywanychzapytań, można wykonać na silniku bazy dowolny kod, m.in. odpytaćo hasło pierwszego użytkownika na liście (a jest nim zazwyczaj admin)

Atak na serwer www poprzez formularze php

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 184 / 325

Page 185: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona aplikacji Metody stosowane w lokalnych exploitach

Format string atak: nieuważnie napisane aplikacje mogą zostaćprzejęte za pomocą specjalnie wprowadzonych danych (przy brakukontroli poprawności tych danych)

Fork bomb: uruchomienie programu replikującego samego siebie, cozapycha system; przykład w bashu

bomba(){bomba | bomba &

};bomba

Symlink race: przejęcie kontroli nad aplikacją, która korzysta z plikówz uprawnieniami wyższymi niż atakujący (zapisuje np.niezabezpieczone pliki tymczasowe). Podmiana pliku na linksymboliczny i wpisanie do niego własnego kodu pozwala na jegowykonanie z uprawnieniami aplikacji

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 185 / 325

Page 186: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona aplikacji Metody stosowane w lokalnych exploitach

Niedawno wykryte (2014 r.) luki bezpieczeństwa w popularnychaplikacjach, pozwalające na ataki sieciowe:

Poodle (SSL 3.0): zmusza przeglądarkę do ustanowienia połączeniaszyfrowanego starszym protokołem, pozwala na odszyfrowaniewiadomości (ok. 256 połączeń SSL 3.0 wystarcza do poznania 1Binformacji)

Heartbleed (OpenSSL): pozwala na odczyt pamięci i poznanie kluczaszyfrującego SSL oraz haseł, loginów i treści przesyłanej przez serwer

Shellshock (bash): pozwala na wykonanie dowolnego kodu podanegowewnątrz deklaracji zmiennej środowiskowej:

x=’() { :;}; echo vulnerable’ bash -c "echo to jest test"

Został natychmiast użyty do ataków na serwery korzystające m.in. zeskryptów cgi

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 186 / 325

Page 187: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona aplikacji Bazy danych

Bazy danych

http://www.securitum.pl/baza-wiedzy/publikacje/bezpieczenstwo-bazy-danych

Problemy:

dostęp do bazy od strony sieci zewnętrznej

dostęp do bazy od strony sieci wewnętrznej

uprawnienia bazy w systemie operacyjnym serwera

kontrola na poziomie użytkowników

fizyczne zabezpieczenie bazy (dostęp do serwera, kopie zapasowe)

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 187 / 325

Page 188: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona aplikacji Bazy danych

1. Ekspozycja bazy na poziomie sieci

czy baza danych musi być dostępna z poziomu sieci zewnętrznej?

jakie jest bezpieczeństwo modułu nasłuchującego (np. do wersji 9Oracle ma domyślnie puste hasło dla listenera)istnieją robaki sieciowe penetrujące bazy danych, np. Slammeratakujący SQL Server. Zrzut logów snorta, który wykrył próbęwłamania[**] [1:2003:8] MS-SQL Worm propagation attempt [**][Classification: Misc Attack] [Priority: 2]04/19-23:16:14.032636 202.x.x.x:3352 -> x.x.x.x:1434UDP TTL:116 TOS:0x0 ID:55339 IpLen:20 DgmLen:404Len: 376[Xref => http://vil.nai.com/vil/content/v_99992.htm][Xref => http://cgi.nessus.org/plugins/dump.php3?id=11214][Xref => http://cve.mitre.org/cgi-bin/cvename.cgi?name=2002-0649][Xref => http://www.securityfocus.com/bid/5311][Xref => http://www.securityfocus.com/bid/5310]

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 188 / 325

Page 189: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona aplikacji Bazy danych

2. Poprawki bezpieczeństwa

nowsze wersje są zazwyczaj bezpieczniejsze i lepiej współpracująz nowszymi wersjami innych aplikacji

problematyczne, jeśli się pracuje na starym systemie operacyjnym

oszuści mogą podsunąć łatę otwierającą bazę danych!

3. Użytkownicy, z wykorzystaniem których działa baza danych

użytkownicy nie powinni mieć jednocześnie uprawnieńadministracyjnych

użytkownicy nie powinni móc logować się zdalnie, np. przez ssh

poprawne i sensowne mapowanie użytkowników wewnętrznych bazydanych na użytkowników systemu operacyjnego

zabezpieczenie kont użytkowników bazodanowych

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 189 / 325

Page 190: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona aplikacji Bazy danych

4. Uprawnienia do plików bazodanowych na poziomie systemu plików5. Ograniczenie funkcjonalności oferowanych przez bazę danych6. Logowanie (księgowanie) dostępu do bazy danych7. Szyfrowanie8. Bezpieczeństwo po stronie aplikacji korzystających z bazy danych

SQL Injection pozwala na nieautoryzowany dostęp do pełnej bazydanych po przekazaniu zmodyfikowanego zapytania

9. Miejsce składowania danych w systemie plików

lokalni użytkownicy mający dostęp do przetwarzanych przez RDBMSplików mogą przejąć dane z bazy

jeśli baza składuje dane na tej samej partycji co serwer lub systemoperacyjny, atak na jedno wpływa na drugie

10. kopie zapasowe

poprawne i pełne tworzenie kopii zapasowych

na trwałych nośnikach

nośniki muszą być fizycznie dobrze zabezpieczone

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 190 / 325

Page 191: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona aplikacji Bazy danych

Atak SQL Injectionwykorzystuje brak lub niepoprawną kontrolę danych wejściowych, copozwala użytkownikowi na bezpośrednie zwracania się do silnika bazydanych dowolnym ciągiem instrukcji.Podobny atak można przeprowadzić

poprzez php na słabych stronach www

porzez silniki wyszukiwarek

Narażone są m.in.

formularze html

zmienne przekazywane w łańcuchach url

cookies

aplikacje desktopowe

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 191 / 325

Page 192: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona aplikacji Bazy danych

Przykład kodu formularza:

<?php....$userName = $_POST[’UserName’];$password = $_POST[’Password’];$queryString = "SELECT userId FROM users WHEREusername = ’$userName’ AND password = ’$password’ ";

$query = mysql_query($queryString);$results = mysql_fetch_array($query);...?>

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 192 / 325

Page 193: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona aplikacji Bazy danych

Kluczowa linia:

$queryString = "SELECT userId FROM users WHEREusername = ’$userName’ AND password = ’$password’ ";

Podając dane:

Password = "abcd"UserName = "aaa’ or 1=1 #"

Zapytanie skierowane do silnika DB uzyska postać:

SELECT userId FROM users WHEREusername = ’aaa’ or 1=1 #’ AND password = ’abcd’

Znak # jest komentarzem, więc pominięty zostaje warunek dopasowaniahasła. 1=1 zaloguje nas na pierwsze konto na liście, które często jestkontem administratora.

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 193 / 325

Page 194: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona aplikacji Inne aplikacje

Ochrona serwerów (www, ftp, serwer wydruku...)

z serwerami można się łączyć – kto, kiedy i na jakiej zasadzie?

jakie uprawnienia ma aplikacja serwera w systemie?

jakie uprawnienia mają użytkownicy serwera?

jak duży dostęp do dysku udostępnia serwer?

chroot

jakie informacje może uzyskać użytkownik od serwera?I jak serwer się identyfikuje?I ile informacji zwraca przy próbach komunikacji?I jak szczegółowe są opisy np. drukarek w CUPSie?

kopie zapasowe

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 194 / 325

Page 195: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona aplikacji Inne aplikacje

Serwer pocztyzdefiniowanie dostępu do poczty

I poprzez powłokęI poprzez wwwI poprzez imap

wybór obsługiwanych protokołów (szyfrowanie)

filtr antywirusowy

filtr antyspamowydodatkowe restrykcje

I tylko lokalni użytkownicy mogą korzystać z smtpI blokowanie spamu nadawanego z naszego serweraI ograniczenia związane z identyfikacją użytkowników, adresamizwrotnymi, przekierowaniami (pętle pocztowe) etc.

I wielkość i typ załącznika

kopie zapasowe

kontrola zawartości poczty użytkowników (treści nielegalne)

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 195 / 325

Page 196: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona aplikacji Złośliwe oprogramowanie (malicious software)

Złośliwe oprogramowanie

Malware (malicious software) to oprogramowanie nie kontrolowane przezużytkownika systemu. Charakterystyczne cechy

ukrycie programu w systemie

samoczynna replikacja

samoczynne lub podstępne rozprzestrzenianie się

nieudokumentowane działanie, zawsze niepożądane

pozostawianie użytkownika w nieświadomości

Często „infekcja” przebiega z udziałem nieświadomych użytkowników.

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 196 / 325

Page 197: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona aplikacji Złośliwe oprogramowanie (malicious software)

Trochę historii (za: pandasecurity.com)

Von Neumann (1949) – Theory of Self-Reproducing Automata

Morris, McIlroy, Vysottsky (1959, Bell Labs.) – gra CoreWar,autonomiczne (na bazie teorii von Neumanna) programy walczą oprzydział pamięci w komputerze

Morris (1972) – pierwszy wirus Creeper, zarażał komputery IBM 360w sieci ArpaNET, wyświetlając komunikat na ekranie; aby gowyeliminować napisano wirusa Reaper, który wyszukiwał i niszczyłkopie Creeper’a (pierwszy wirus i program antywirusowy)

Skrenta (1982) – wirus Elk Cloner, na PC, przy 50. bootowaniukomputera z zainfekowanej dyskietki wyświetlał wiersz na ekranie;początek wirusów destrukcyjnych

Cohen (1984) – ukuł termin „wirus komputerowy” na programyzdolne do samoreplikacji poprzez infekowanie innych programów

(1987) – Jerusalem (Friday 13) to pierwszy wirus, który infekowałpliki wykonywalne .exe i .com

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 197 / 325

Page 198: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona aplikacji Złośliwe oprogramowanie (malicious software)

Co 50 uruchomień komputera z zainfekowanej dyskietki 5.25” na ekraniepojawiał się wierszyk. Wirus nie powodował większych niedogodności.

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 198 / 325

Page 199: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona aplikacji Złośliwe oprogramowanie (malicious software)

Morris (1988) – pierwszy robak internetowy Morris Worm; programwykorzystywał błędy w systemach BSD, Solaris i Vax oraz odgadywałproste hasła logowania; miał być nieszkodliwy, ale autor pomylił się wrachunkach i jego robak przeładował łącza wyłączając sieć na niemaltydzień, powodując straty finansowe szacowane nawet na 100 mln.dolarówSpanska (1999) – pierwszy robak internetowy Happy, dołączający siędo wiadomości emailrok 2004 to wysyp robaków o charakterze niszczycielskim, m.in.Mydoom, Netsky, Sasser, Baglepo roku 2004 charakter malware się zmienił. Pojawiły się programydające właścicielom konkretne korzyści

I spywareI addwareI konie trojańskie (m.in. bankowe)

w 2004 pojawiają się pierwsze wirusy na urządzenia mobilne i telefonykomórkowe (Cabir.A, ComWar.A), wykorzystujące Bluetooth, SMS,MMS, listy adresowe, port IrDA

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 199 / 325

Page 200: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona aplikacji Złośliwe oprogramowanie (malicious software)

Podsumowanie raportu Panda SecurityThe most frequently targeted operating system today is still Windows32-bit. As we mentioned previously, malware creators have seen thefinancial potential for their activity and as Windows accounts for 90percent of the market, it is easy to see why it is the focus of theirattention. Perhaps another obstacle for creators of malware for Linux andMacintosh is related to the medium/high level of knowledge of users ofthese types of platforms, and so social engineering, the main method ofpropagation, will not be as effective as with other users.

Szczegółowe dane za rok 2013:www.symantec.com/security response/

publications/threatreport.jsp

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 200 / 325

Page 201: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona aplikacji Złośliwe oprogramowanie (malicious software)

Wirus komputerowy

program scalający swój kod z kodem innego programu

zaczyna działać dopiero, gdy zainfekowany program jest uruchamiany

zdolność do powielania się i infekowania kolejnych plików

tradycyjnie bierze za cel pliki wykonywalne (.exe, .com), ale możerównież wykorzystywać inne t.j. dokumenty office, .html, wygaszaczeekranu itd.

wirusy mogą ukrywać się również w systemach plików (MBR, FAT) ibyć przenoszone na nośnikach, również w kościach ROM sprzętu(bios, firmware)często działają destrukcyjnie

I konsumując zasoby komputeraI niszcząc zasoby komputeraI modyfikując i blokując system operacyjny

coraz rzadziej spotykane (11% w roku 2003, poniżej 1% w roku 2007)

Obowiązkowo: poszukać informacji o wirusie Stuxnet.

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 201 / 325

Page 202: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona aplikacji Złośliwe oprogramowanie (malicious software)

Wsród wirusów można wyróżnić

rezydentne – biernie infekują pliki, tzn. czekają, aż zostaną wywołane;rezydentne szybkie infekują każdy plik, wolne tylko te pliki, które sątworzone lub modyfikowane

nierezydentne – aktywnie zarażają pliki, tzn. same wyszukują nowecele

kody polimorficzne – modyfikują się przy każdym wywołaniuzachowując funkcjonalność; najprostszym sposobem jest szyfrowanieze zmiennym kluczem

wieloczęściowe

makrowirusy

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 202 / 325

Page 203: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona aplikacji Złośliwe oprogramowanie (malicious software)

Robak (worm)

idea znana od lat ’70, pierwszy pojawia się w sieci 2.XI.1988 (Morris)i szybko wymyka się spod kontroli

nie infekują plików, ale potrafią się replikować i zagnieździć w systemie

przenoszą się poprzez sieć (email, p2p, komunikatory) udając coinnego, aby użytkownik wgrał je do systemu

najczęściej dążą do „zamulenia” komputera lub stworzenia botnetu

botnety są wykorzystywane do rozsyłania spamu, ataków DoS,przesyłania zainfekowanych plików itd.specjalizowane robaki biorą na cel

I fora internetoweI formularze, księgi gości...I bazy danychI serwery pocztowe

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 203 / 325

Page 204: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona aplikacji Złośliwe oprogramowanie (malicious software)

Koń trojański (trojan)

kod ukryty w innym programie, musi być wgrany przez użytkownika(administratora)

działanie ukryte (wiele metod)

początkowo miały niszczyć zainfekowany system (kasować dane,uszkadzać system operacyjny)obecnie:

I niszczą plikiI instalują dodatkowe pliki (np. rootkity, spyware)I otwierają porty, obchodzą firewalle, instalują backdoor’yI szpiegują, gromadzą informacje i wysyłają w świat (głównie danelogowania, płatności, ale również prywatne dane, w tym pocztę izdjęcia)

udział trojanów obecnie to około 70%

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 204 / 325

Page 205: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona aplikacji Złośliwe oprogramowanie (malicious software)

Rootkit

zestaw programów ukrywających określone pliki, katalogi, procesy idziałalność nieuprawnionych użytkowników w systemie

w uniksie oznacza to podmienienie części plików systemowych (ps, ls,bash, awk...)w windows istnieją dwie główne kategorie rootkitów, działające w

I przestrzeni użytkownika (user mode rootkit) – przechwytują imodyfikują wywołania systemowe generowane przez aplikacje; częstooperują na pamięci przydzielonej bibliotekom współdzielonym (DLL)

I przestrzeni jądra (kernel mode rootkit) – modyfikują warstwępośredniczącą między aplikacjami a jądrem systemu, działają na SSDT(System Service Descriptor Table - tabeli przechowującej adresywywołań systemowych) przekierowując syscalls na swój własny kod lubwykorzystują technikę DKOM (Direct Kernel Object Modification)ingerując bezpośrednio w dane jądra o uruchomionych procesach

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 205 / 325

Page 206: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona aplikacji Złośliwe oprogramowanie (malicious software)

Spyware

kod gromadzący w nieuprawniony sposób dane o systemie i jegoużytkownikach

instalowany w systemie przez użytkownika (świadomie bądź nie)

często dodawany do nielegalnych kopii (zhakowanych) programów

addware

stealware

kradzież tożsamości

keylogger itp.

Dyskusja: gdzie jest granica między „analizą” a „kradzieżą danych”? Plikicookies, ustalanie położenia geograficznego przez strony internetowe,śledzenie właścicieli urządzeń mobilnych, przechowywanie prywatnychdanych w chmurach i na publicznych serwerach obcych firm (Wielki BratGoogle, Wielki Brat Microsoft)...

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 206 / 325

Page 207: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona aplikacji Złośliwe oprogramowanie (malicious software)

Podsumowanie

Patrz: www.malware.pl

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 207 / 325

Page 208: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Ochrona aplikacji Złośliwe oprogramowanie (malicious software)

Programy antywirusowe wykrywają szkodliwy kod

analizując sumy kontrolne

monitorując zmiany w plikach systemu

monitorując podejrzane żądania dostępu do plików, połączeńsieciowych, usług

deszyfrując pliki i szukając treści kodów polimorficznych

uruchamiając kod w środowisku testowym i sprawdzając jego działanie

Bardziej kompleksowe systemy detekcji włamań (IDS) monitorująaktywność w systemie, działania użytkowników, stan sieci, stan systemówplików, obciążenie systemu etc.

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 208 / 325

Page 209: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna

Kryptografia klasyczna

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 209 / 325

Page 210: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna

Podstawowe pojęcia:

Kryptologia, kryptografia – nauka o szyfrowaniu. Dział matematykizajmujący się badaniem i tworzeniem algorytmów szyfrujących.

Klucz szyfrujący – element (metoda) pozwalający na zakodowanietekstu jawnego, tworząc szyfrogram.

Klucz deszyfrujący – element pozwalający na odczytaniezaszyfrowanej wiadomości. Może to być: znajomość pewnych faktów,ustalone wcześniej hasło (ciąg bitów), książka kodowa, figuramatematyczna, urządzenie...

W pewnej klasie szyfrów klucz szyfrujący i deszyfrujący mają tę samąpostać lub jeden można wyznaczyć z drugiego (szyfry symetryczne).

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 210 / 325

Page 211: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna

Podstawowe ataki kryptograficzne:

atak ze znanym kryptogramem – mam tekst zaszyfrowany, próbujęgo rozkodować, wyznaczyć klucz i użyć go do rozkodowania innychkryptogramów

atak ze znanym tekstem otwartym – mam wiadomość i jejkryptogram i próbuję odgadnąć klucz

atak z dobranym tekstem otwartym – j.w. ale sam dobrałem treśćwiadomości

atak z wybranym tekstem zaszyfrowanym – mam możliwośćkodowania dowolnych tekstów i badania kryptogramów aby odgadnąćalgorytm szyfrujący

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 211 / 325

Page 212: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna

Podstawowe operacje stosowane w algorytmach szyfrujących

permutacja

mieszanie

s-box

Nowoczesne szyfry stosują wiele kolejek kombinacji tych operacji.

Permutacja – może polegać na przestawieniu kolejności bitóww szyfrowanym tekście lub na podstawieniu innych znaków w tymtekście w obrębie pewnego alfabetu.

Mieszanie – tworzy skrót wiadomości we w miarę jednoznacznysposób poprzez zastosowanie odpowiedniej funkcji działającej na ciągbitów (funkcje jednokierunkowe, funkcje hashujące)

S-box – szyfrowanie z zastosowaniem ustalonej wcześniej macierzy4x16; argument jest 6b, wynik ma 4b

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 212 / 325

Page 213: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna

Przykład szyfrowania za pomocą s-boxa S1

14 04 13 01 02 15 11 08 03 10 06 12 05 09 00 0700 15 07 04 14 02 13 01 10 06 12 11 09 05 03 0804 01 14 08 13 06 02 11 15 12 09 07 03 10 05 0015 12 08 02 04 09 01 07 05 11 03 14 10 00 06 13

Argument, np: 111010 rozkładamy na skrajne bity i środek 1 1101 0co wyznacza nam numer wiersza (0–3) 102=3i numer kolumny (0–15) 11012 = 13

14 04 13 01 02 15 11 08 03 10 06 12 05 09 00 0700 15 07 04 14 02 13 01 10 06 12 11 09 05 03 0804 01 14 08 13 06 02 11 15 12 09 07 03 10 05 0015 12 08 02 04 09 01 07 05 11 03 14 10 00 06 13

dając w wyniku liczbę 10=10102. Tak więc S1(111010)=1010

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 213 / 325

Page 214: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna

Cechy S-boxów

wiersze i kolumny nie są do siebie podobne, co zapewnia istnienieefektu lawinowego podczas szyfrowania S-boxem; zmiana jednegobitu argumentu przekłada się na zmianę przynajmniej dwóch bitówwyniku

konstrukcja S-boxów nie podlega żadnej matematycznej regule;stworzono macierze S1...S8 dla DES, ale są też inne

funkcja obliczana przez S-box nie jest funkcją afiniczną, czyli żadnegobitu wyniku c nie można przedstawić jako kombinacji liniowej bitówargumentu a, cj 6= w0 +

∑6i=1 aiwi. Gdyby tak było, rozłamanie

kodowania sprowadziłoby się do rozwiązywania układów równańliniowych, co nie jest skomplikowane

jeśli ustalimy jeden bit argumentu i jedną pozycję wyniku, to na innejdowolnej pozycji wyniku dla pozostałych argumentów w ok. 50%przypadków wypadnie 0

S-boxy powinny być tak dobrane aby utrudnić kryptoanalizę różnicową

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 214 / 325

Page 215: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 215 / 325

Page 216: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna Szyfry podstawieniowe

Szyfry podstawieniowe: zamiana znaków lub całych wyrazów na inne.

można używać wyrazów nadając im nowe znaczenia: „orzeł wylądowałw gnieździe”

można podmieniać litery wyrazów na inne według pewnej reguły

można podmieniać grupy liter na inne według pewnej reguły

W zapisie formalnym, szyfr podstawieniowy definiuje się jako odwzorowanie

Σn → Σn : (a1, a2, a3, ..., an)→ (π(a1), π(a2), π(a3), ..., π(an))

gdzie Σ to alfabet, π jest operacją permutacji, aj ∈ Σ.

Odczytanie szyfrogramu następuje poprzez odwrócenie operacji (π−1),użycie książki kodowej itp.

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 216 / 325

Page 217: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna Szyfry podstawieniowe

Szyfr CezaraSzyfr korzystał z 26 literowego alfabetu

A B C D E F G H I J K L M N O P Q R S T U V W X Y Zzamiana następowała wg reguły

aj → a(j+3) mod 26

więc np. CEZAR kodowany był jako FHCDU

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 217 / 325

Page 218: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna Szyfry podstawieniowe

System Playfair’aKluczem jest kwadrat szyfrujący 5x5. Alfabet składa się z 25 liter (J=I).Jeśli hasłem jest POSZLA MALPA DO PIWNICY, kwadrat buduje sięnastępująco

P O S Z LA M D I WN C Y B EF G H K QR T U V X

uzupełniając resztę w kolejności alfabetycznej. Koduje się pary znaków,odczytując je z rogów prostokąta wewnątrz kwadratu. Jeśli litery nietworzą prostokąta tylko linię, rozszerza się ją w prawo o jedno pole. Np.π(MK) =IG, π(QX) =FR, π(OZ) =SL. Tak więc KROWA I WESZ jestkodowane jako FVLMMWANZL (przy podanym haśle).

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 218 / 325

Page 219: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna Szyfry podstawieniowe

Szyfry podstawieniowe są stosunkowo łatwe do kryptoanalizy:

mocne komputery mogą dokonywać odpowiednich permutacjii sprawdzać ze słownikiem, czy wynik ma sens

I krótkie wiadomości mogą dać po kilka różnych „sensownych” wynikówI długie wiadomości zajmują dużo czasu do dekodowania siłowego

szanse zwiększa analiza częstotliwościowazazwyczaj zakłada się język w jakim był napisany tekst jawny

czasami zgaduje się tematykę tekstu jawnego i zakłada występowaniew nim pewnych charakterystycznych wyrazów

szanse udanego rozłamania maleją, jeśli zastosowano podstawianieblokowe a nie pojedynczych znaków

Odczytywanie starożytnego pisma jest formą rozłamywania szyfrupodstawieniowego: wykorzystuje się całą wiedzę, jaką można byłozgromadzić o autorach tekstu (formy języka, kultura, wierzenia, gdzieodnaleziono dany tekst, kto mógł go pisać i w jakim celu...) i próbujeodgadnąć fragmenty tekstu, a później odczytywać dalsze.

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 219 / 325

Page 220: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna Szyfry kaskadowe

Szyfry kaskadowe: wieloetapowe naprzemienne powtarzanie prostychoperacji (S), np. podstawiania oraz permutacji (P) wyników pośrednich.

S

S

S

S S

S

S

S

PIN PP

S

... OUT

lawinowość – zmiana 1bIN pociąga zmianę ok.połowy bitów OUT

zupełność – każdy bitOUT powinien byćzłożoną funkcją każdegobitu IN

generalnie wymagaosobnego algorytmuszyfrującegoi deszyfrującego, ale →permutacja Feistela

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 220 / 325

Page 221: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna Szyfry kaskadowe

H. Feistel w 1973 r. zaproponował symetryczną operację do wykorzystaniaw szyfrach kaskadowych

L[i+1]

L[i] R[i]

K[i+1]XOR f

L[i+1]

L[i] R[i]

K[i+1]XOR f

R[i+1] R[i+1]

szyfrowanie deszyfrowanie

Tutaj dane mają 128b, L i R mają po 64b, K[i] to 64b szyfrujący kluczczęściowy, zaś f to funkcja kryptograficzna realizująca operacje S-P(mieszanie-rozproszenie).

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 221 / 325

Page 222: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna Szyfry kaskadowe

Permutacja Feistela

Li+1 = RiRi+1 = Li ⊕ f(Ri,Ki+1)

Tworzenie szyfru E : K ×M → C, gdzie M = C = Σn, sprowadza się dostworzenia funkcji f : K × Σn/2 → Σn/2, Σ = {0, 1}.

K – przestrzeń kluczy (keys)M – przestrzeń komunikatów (messages)C – przestrzeń kryptogramów (cryptograms)Σ – alfabet

Z tego schematu korzysta algorytm Lucifer (IBM, początek lat ’70,Feistel, Notz, Smith) oraz DES (IBM, połowa lat ’70).

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 222 / 325

Page 223: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna Szyfry symetryczne

Szyfry symetryczne: ten sam klucz K wykorzystywany jest do kodowaniai dekodowania. Siłą rzeczy klucz K musi być tajny.

tekst jawny

klucz K

klucz K

tekst jawny

szyfrogram

Wady:

klucz musi byćprawdziwie losowy

klucz musi być tajny

klucz musi być bezpiecznie dystrybuowany

klucz musi być tak długi jak kodowana wiadomość

Zalety:

prostota i szybkość

przy poprawnej implementacji praktycznie niemożliwe dorozkodowania

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 223 / 325

Page 224: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna Szyfry symetryczne

Przykład: XORPrzyjmijmy za K losowy ciąg bitów K = 0110101101Wiadomość do zaszyfrowania to M = 1100110011Szyfrogram C tworzymy wg wzoru C =M ⊕K

M 1 1 0 0 1 1 0 0 1 1K 0 1 1 0 1 0 1 1 0 1

C =M ⊕K 1 0 1 0 0 1 1 1 1 0

Zauważmy, żeC ⊕K = (M ⊕K)⊕K =M ⊕ (K ⊕K) =M ⊕ 0 =Mwięc rozkodowanie polega na powtórzeniu kodowania na szyfrogramie.

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 224 / 325

Page 225: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna Szyfry symetryczne

One-time pad: stosowanie operacji XOR z kluczem jednorazowym. Dokażdego szyfrowania używany jest inny klucz

klucz musi być jak najdoskonalej losowy, co przełoży się na jaknajbardziej losowy szyfrogram

klucz musi być co najmniej tak długi jak wiadomość, więc nadaje siędo szyfrowania niezbyt długich wiadomości

klucz musi być tajny (generowanie, dystrybucja, przechowywanie)

żadna informacja o treści nie może być wydedukowana z postaciszyfrogramu, bez względu na moce obliczeniowe

Metoda ta jest stosowana do kodowania stosunkowo krótkich ale bardzoważnych informacji np. tajnych rozkazów (kody odpalenia broni itp.).Stosowanie w tych przypadkach jakichkolwiek szyfrów możliwych dorozłamania (nawet teoretycznie) jest zbyt ryzykowne.

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 225 / 325

Page 226: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna Szyfry symetryczne

Schemat ataku w przypadku zbyt krótkiego klucza:

Jeśli klucz jest krótszy (n bitowy) niż wiadomość (k bitowa, k > n),szyfrowanie odbywa się modulo n,

cj = aj ⊕ kj mod n

Zauważmy, że można pozbyć się klucza znając (zgadując) okres n

cj ⊕ cj+n = aj ⊕ aj+n

Następnie zakłada się, że pewne aj reprezentują ciąg spacjii sprawdza, czy aj+n dają sensowny tekst

Po zidentyfikowaniu bloków spacji i fragmentów tekstu jawnego,prowadzi się podobną analizę na brzegach rozkodowanego obszaru ażdo skutku.

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 226 / 325

Page 227: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna Szyfry asymetryczne

Szyfry asymetryczne: wykorzystywane są dwa klucze, jeden tajny, dokodowania i jeden publiczny do dekodowania.

klucz prywatny Alicji klucz publiczny Alicji

BOLEKALICJA

tekst jawny

szyfrogram szyfrogram

tekst jawny

Zalety:

nie ma koniecznościdystrybucji tajnegoklucza

klucz publicznyudostępnia się jakosygnaturkę emaili,poprzez stronę wwwetc.

kod publiczny pozwala na uwierzytelnienie osoby posługującej sięsparowanym z nim kluczem tajnym przez osoby nie mające z niąstałego kontaktu

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 227 / 325

Page 228: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna Omówienie wybranych algorytmów szyfrujących

Omówienie wybranych algorytmów szyfrujących

Dodatkowa literatura:

M. Kutyłowski, W.-B. Strothmann,Kryptografia. Teoria i praktyka zabezpieczania systemówkomputerowychwyd. 2 rozszerzone, Read Me, Warszawa 1999

A.G. Konheim,Computer Security and CryptographyJohn Wiley & Sons, New Jersey 2007

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 228 / 325

Page 229: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna Omówienie wybranych algorytmów szyfrujących

DES – Data Encryption StandardDEA – Data Encryption Algorithm

rozwinięcie Lucifera

algorytm symetryczny

jawny – jego siła miała leżeć nie w tajności, ale w konstrukcjiodpornej na kryptoanalizę

potrafi być bardzo szybki jeśli jest uruchomiony na dedykowanymsprzęcie, zaś tysiące razy wolniejszy przy implementacji softwarowej

szyfruje bloki 64b (8 znaków ASCII)

używa klucza 64b (przy czym 8 bitów to bity parzystości) – długośćklucza jest problemem jak na dzisiejsze standardy

mimo braku ścisłego dowodu potwierdzającego moc DES’a, praktykawykazała, że jest on dość odporny. Próby jego ulepszenia nie dałyspektakularnych rezultatów

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 229 / 325

Page 230: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna Omówienie wybranych algorytmów szyfrujących

Schemat działania algorytmu:

z 64b klucza usuwa się 8 bitów kontrolnych; z pozostałych 56b tworzysię 16 podkluczy Ki o długości 48b każdy

permutacja początkowa

16 rund szyfrowania na blokach po 64b

permutacja końcowa

Sposób tworzenia podkluczy jest jawny. W atakach na DES zależnośćmiędzy bitami podkluczy nie jest stosowana.Permutacje na początku i końcu utrudniają implementację programową,bo sprzętowo jest to po prostu krzyżowanie połączeń, natomiastsoftwarowo operacja jest powolna i złożona.

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 230 / 325

Page 231: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna Omówienie wybranych algorytmów szyfrujących

Schemat generowania kluczy DES.0. Ustalenie klucza głównego. Klucz (hasło) K ma 64b.1. Permutacja i zmiana długości. Zamiana klucza K (64b) na ciąg 56bK ′ zgodnie z tabelą permutacji (czytaną rzędami od lewej do prawej):

57 49 41 33 25 17 0901 58 50 42 34 26 1810 02 59 51 43 35 2719 11 03 60 52 44 3663 55 47 39 31 23 1507 62 54 46 38 30 2214 06 61 53 45 37 2921 13 05 28 20 12 04

2. Podział na lewą i prawą stronę. Ciąg 56b jest dzielony na dwie częścipo 28b każda: K ′ = C0 +D0, gdzie + to konkatenacja.

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 231 / 325

Page 232: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna Omówienie wybranych algorytmów szyfrujących

3. Tworzenie fragmentów pośrednich. Tworzone jest 16 części Cn i 16części Dn wg formuły rekurencyjnej

Cn =<<k Cn−1 Dn =<<k Dn−1

gdzie n = 1, ..., 16, <<k oznacza lewe przesunięcie bitowe (pierwszy bitprzechodzi na koniec) wykonane k razy, zgodnie ze schematem:

Iteracja (n) Liczba lewych przesunięć (k)1,2 12-8 29 110-15 216 1

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 232 / 325

Page 233: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna Omówienie wybranych algorytmów szyfrujących

4. Tworzenie 16 podkluczy rundy. Tworzone jest 16 kluczy Kn poprzezkonkatenację

Kn = Cn +Dn

i permutację z obcięciem do 48b

14 17 11 24 01 0503 28 15 06 21 1023 19 12 04 26 0816 07 27 20 13 0241 52 31 37 47 5530 40 51 45 33 4844 49 39 56 34 5346 42 50 36 29 32

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 233 / 325

Page 234: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna Omówienie wybranych algorytmów szyfrujących

Schemat pojedynczej rundy szyfrującej DES.1. Przygotowanie danych wejściowych. (i+ 1)-a runda DES bierze jakowejście wynik i-tej rundy. Dzieli go na dwa kawałki po 32b (Li +Ri)2. Permutacja Feistela. Dokonywana jest permutacja Feistela:

Li+1 = RiRi+1 = Li ⊕ f(Ri,Ki+1)

gdzie Ki+1 jest kluczem używanym w tej właśnie rundzie, zaś funkcja fjest sercem całego algorytmu.

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 234 / 325

Page 235: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna Omówienie wybranych algorytmów szyfrujących

2a. Funkcja f algorytmu DES.

początkowa permutacja z rozszerzeniem

XOR z kluczem rundy

S-boxy

końcowa permutacja

2b. Permutacja z rozszerzeniem. Permutacja 32b części Ri irozszerzenie jej do 48b wg schematu

1 5 6 7 8 9 10 11 12 13 14 15 162 3 4

1 5 6 7 8 9 10 11 12 13 14 15 162 3 4 32

...

...

48... ... ...

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 235 / 325

Page 236: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna Omówienie wybranych algorytmów szyfrujących

2c. XOR i S-boxy. Schemat działania funkcji f algorytmu DES

f ( R[i], K[i+1] )

permutacja

K[i+1]

XOR

S1 S2 S3 S4 S5 S6 S7 S8 S−boksy

8 bloków po 6b

permutacjaz rozszerzeniem

48b 48b

32bR[i]

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 236 / 325

Page 237: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna Omówienie wybranych algorytmów szyfrujących

2d. Permutacja końcowa. Po konkatenacji wyjść z S-boxów 1–8 ciąg 32bjest permutowany zgodnie z tabelą

16 07 20 2129 12 28 1701 15 23 2605 18 31 1002 08 24 1432 27 03 0919 13 30 0622 11 04 25

tworząc ostatecznie 32b f(Ri,Ki+1).

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 237 / 325

Page 238: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna Omówienie wybranych algorytmów szyfrujących

3. Zakończenie. Przejście do nowej rundy szyfrującej. Jeśli zakończonazostała runda 16 wykonywane są operacje końcowe: zamiana części lewej(32b) z prawą (32b) miejscami

L16 +R16 → R16 + L16

oraz końcowa permutacja 64b ciągu wg schematu

40 08 48 16 56 24 64 3239 07 47 15 55 23 63 3138 06 46 14 54 22 62 3037 05 45 13 53 21 61 2936 04 44 12 52 20 60 2835 03 43 11 51 19 59 2734 02 42 10 50 18 58 2633 01 41 09 49 17 57 25

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 238 / 325

Page 239: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna Omówienie wybranych algorytmów szyfrujących

Deszyfrowanie DES. Operacja wykonywana przez S-boxy jestniejednoznaczna, więc nie można jej odwrócić. Także wykonanie całegoschematu od końca nie jest możliwe. Ale można odwrócić ogólne wzory

Li+1 = RiRi+1 = Li ⊕ f(Ri,Ki+1)

⇓Ri−1 = LiLi−1 = Ri ⊕ f(Ri−1,Ki) = Ri ⊕ f(Li,Ki)

i wykorzystać ten sam hardware do deszyfrowania. Jest to istotapermutacji Feistela.

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 239 / 325

Page 240: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna Omówienie wybranych algorytmów szyfrujących

Słabości DES.1. Klucze słabe. Zaraz po ogłoszeniu DES, w 1973 r., zaobserwowano, żeniektóre hasła szyfrujące prowadzą do powstania stałych (niewrażliwych na<<) części Ci i Di, co skutkuje 16 rundami szyfrowania z tym samymkluczem rundy. W takich przypadkach algorytm upraszcza się do 16potęgi operacji wykonywanej podczas pojedynczej rundy.

Dla słabego klucza, po odjęciu bitów parzystości i przeprowadzeniupoczątkowej permutacji, otrzymuje się ciągi albo typu (0)28, albo (1)28.Takimi kluczami są:

KLUCZ K (hex) C D--------------------------------------01 01 01 01 01 01 01 01 0 01F 1F 1F 1F 1F 1F 1F 1F 0 1E0 E0 E0 E0 E0 E0 E0 E0 1 0FE FE FE FE FE FE FE FE 1 1

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 240 / 325

Page 241: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna Omówienie wybranych algorytmów szyfrujących

2. Klucze półsłabe. Z niektórych kluczy K generowane są tylko dwaróżne podklucze rundy.

KLUCZ K (hex) C D--------------------------------------01 FE 01 FE 01 FE 01 FE 01 01FE 01 FE 01 FE 01 FE 01 10 101F E0 1F E0 1F E0 1F E0 01 10E0 1F E0 1F E0 1F E0 1F 10 0101 E0 01 E0 01 E0 01 E0 01 0E0 01 E0 01 E0 01 E0 01 10 01F FE 1F FE 1F FE 1F FE 01 1FE 1F FE 1F FE 1F FE 1F 10 101 1F 01 1F 01 1F 01 1F 0 011F 01 1F 01 1F 01 1F 01 0 10E0 FE E0 FE E0 FE E0 FE 1 01FE E0 FE E0 FE E0 FE E0 1 10

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 241 / 325

Page 242: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna Omówienie wybranych algorytmów szyfrujących

3. Problem niepełnych bloków danych. DES nie wskazuje sposobuszyfrowania bloków danych mniejszych niż pełne 64b. Istnieją różnealgorytmy uzupełniające niepełne bloki:

uzupełnienie zerami,

uzupełnienie fragmentami kluczy rundy,

i inne.

Zbyt prosty algorytm daje szansę na odkodowanie tej ostatniej części,poznanie kluczy i odkodowanie reszty wiadomości.4. Problem powtarzających się fragmentów wiadomości. DES polegana znajomości klucza szyfrującego przez obie strony komunikacji. Dlategoklucz ten nie jest zmieniany zbyt często. Te same ciągi znaków sąszyfrowane tak samo. Problem stanowią często używane w wiadomościachzwroty, takie jak „Szanowna Pani”, „pozdrawiam”, „From:”, „To:”, daty itak dalej. Używa się w tych przypadkach maskowania początkowej częściwiadomości, XOR-ując ją z pewnym ustalonym ciągiem.

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 242 / 325

Page 243: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna Omówienie wybranych algorytmów szyfrujących

5. Rozłamanie sprzętowe DES. Algorytm jest szybki na dedykowanymsprzęcie, natomiast wolny w implementacji programistycznej. To samodotyczy dekodowania. Rozłamanie szyfru jest możliwe poprzezdekodowania siłowe po całej przestrzeni kluczy.

Już w 1993 r. M. Wiener zademonstrował układ scalony zdolny dosprawdzenia 50 mln. kluczy na sekundę. Urządzenie wyposażone w 5760takich układów potrafi sprawdzić całą przestrzeń 56b kluczy szyfrującychDES w ok. 35 godzin. Koszt takiej operacji oszacowano na 100 tyś. $

Oznacza to, że gdyby na maszynę wydać 1 mln $ i zamontować w niej57600 układów DES, czas rozłamania szyfru wyniósłby ok. 3,5 godziny.

Był to koniec ery DES’a.

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 243 / 325

Page 244: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna Omówienie wybranych algorytmów szyfrujących

Rozszerzenia DES.

DESX – użycie trzech kluczy zamiast jednego skutecznie utrudniabrutalne przeszukiwanie przestrzeni kluczy w poszukiwaniuwłaściwego:

C = K1 ⊕DES(K;M ⊕K2)

gdzie C to kryptogram, M – wiadomość (64b). Kryptoanalizaróżnicowa pozwala na osłabienie tego algorytmu i wymaga ok. 2120

prób dopasowań kluczy, aby go rozłamaćtripple DES – potrójne użycie DES z dwoma różnymi kluczami wgschematu(1) tekst jawny szyfrowany jest DES’em z kluczem K1(2) wynik (1) jest deszyfrowany DES’em z kluczem K2(3) wynik (2) jest szyfrowany DES’em z kluczem K1

Odkodowanie 3DES wymaga wykonania operacji odwrotnych(deszyfrowanie K1, szyfrowania K2 i powtórne deszyfrowanie K1)

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 244 / 325

Page 245: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna Omówienie wybranych algorytmów szyfrujących

Analiza bezpieczeństwa S-boxów.Nie ma reguły na utworzenie S-boxa, ale przyjmuje się, że musi onposiadać pewne cechy (część już podawałem wcześniej):

nie może reprezentować funkcji liniowej ani afinicznej

zmiana 1b wejścia musi skutkować zmianą co najmniej 2b wyjścia

dla dwóch wejść o różnych środkowych bitach (3. i 4.) wyniki musząsię różnić o przynajmniej 2b

dla dwóch wejść o różnych bitach 1. i 2., ale takich samych 5. i 6.,wyjścia muszą być różne

dla dowolnej niezerowej 6b różnicy między dwoma wejściami nie możeistniej więcej niż 32 pary wejść o takiej różnicy, dla których wyjściabyłyby takie same

dobór postaci S-boxów minimalizuje dysproporcję między zerami ijedynkami wyjścia przy stałym jednym bicie wejścia

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 245 / 325

Page 246: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna Omówienie wybranych algorytmów szyfrujących

Kryptoanaliza różnicowa

wykonujemy algorytm szyfrujący (lub jego część) przynajmniejdwukrotnie na znanych tekstach jawnych, korzystająć z tego samegoklucza

badamy szyfrogramy

korelujemy różnice w szyfrogramach z różnicami w tekstach jawnych

korelujemy zmiany z kluczem (lub jego częścią)

Jest to jedna metod rozłamania kluczy na etapie użycia S-boxów w DES.

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 246 / 325

Page 247: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna Omówienie wybranych algorytmów szyfrujących

Do S-boxa trafia 6b ciąg wiadomości XOR-owany z 6b częścią kluczarundy. Te części klucza mogą się powtarzać w różnych rundach.Przypuśćmy, że kodujemy różne wiadomości tym samym kluczem i tymsamym S-boxem:

Sn(X1 ⊕K) = X ′1 Sn(X2 ⊕K) = X ′2

Oba wyjścia można dodać:

X ′1 ⊕X ′2 = Sn(X1 ⊕K)⊕ Sn(X2 ⊕K)

i potraktować S-box jako funkcję

Sn : ∆X → ∆X ′

∆X = X1 ⊕X2 = (X1 ⊕K)⊕ (X2 ⊕K) ∆X ′ = X ′1 ⊕X ′2

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 247 / 325

Page 248: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna Omówienie wybranych algorytmów szyfrujących

Można zdefiniować wielkość

D(∆X,∆X ′) = {(z1, z2) : ∆X = z1 ⊕ z2, ∆X ′ = Sn(z1)⊕ Sn(z2)}

Każda para (z1, z2) generuje potencjalnie poprawny klucz, ponieważ{∆X ′ = Sn(z1)⊕ Sn(z2)∆X ′ = Sn(X1 ⊕K)⊕ Sn(X2 ⊕K)

z czego wynika

z1 = X1 ⊕K ⇒ K = z1 ⊕X1

takich par może być więcej niż jedna

dla pełnego DES trzeba analizę przeprowadzić przy 8 S-boxach i 16rundach, uwzględniając operacje dodatkowe

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 248 / 325

Page 249: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna Omówienie wybranych algorytmów szyfrujących

Pary (z1, z2) można wyznaczyć zakładając konkretne wartości ∆X i ∆X ′.Na przykład, liczba takich par (moc zbioru D) wynosi dla ∆X = 1

∆X ′ 0 1 2 3 4 5 6 7 8 9 A B C D E F

|D| 0 0 0 6 0 2 4 4 0 10 12 4 10 6 2 4

suma dowolnego takiego rzędu to 64, średnia 4

rozkład nie jest jednorodny

przeprowadza się analizę statystyczną, zakładając prawdziwośćnajbardziej prawdopodobnych kluczy

[Więcej szczegółów i przykłady → Konheim, rozdziały 9.9 i 9.10 ]

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 249 / 325

Page 250: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna Omówienie wybranych algorytmów szyfrujących

Algorytm IDEA – International Data Encryption AlgorithmEuropejska odpowiedź na obłożony restrykcjami patentowymi amerykańskiDES. Wolny dla celów niekomercyjnych (za zezwoleniem właścicielapatentu, szwajcarskiej firmy Ascom). Jest to:

algorytm symetryczny

wchodzi w skład pakietu PGP

wykorzystuje 128b klucze szyfrujące, co w praktyce uniemożliwiadopasowanie metodą brutalną

kaskada składa się z 8 rund dość skomplikowanych operacjiwykonywanych na blokach 64b (jest więc oszczędniejszy od DES)

deszyfrowanie polega (prawie) na wykonaniu operacji odwrotnych doszyfrowania, więc może być realizowana sprzętowo przez te sameukłady

uważany za bezpieczny, choć stary (niewielkie bloki i krótkie klucze)

istnieją jego nowocześniejsze wersje

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 250 / 325

Page 251: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna Omówienie wybranych algorytmów szyfrujących

Schemat jednej rundy IDEA. Klucze Z1...Z6 są unikatowe dla tej rundy.

x

x

+ x

+ +

+

xx

+

Z2 Z3 Z4Z1

Z5

Z6

Y1 Y2 Y3 Y4

X1 X2 X3 X416b 16b 16b 16b

16b16b16b16b

mnożenie modulo 2 16 +1

dodawanie modulo 2 16

XOR

Pełny algorytm zawiera 8 takich rund oraz końcowe przekształcenie.Z pierwotnego 128b klucza generowanych jest więc 6 · 8 + 4 = 52podklucze po 16b każdy.

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 251 / 325

Page 252: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna Omówienie wybranych algorytmów szyfrujących

Operacje wykonywane w rundzie szyfrującej IDEA

XOR

dodawanie – dodawanie z resztą modulo 216 = 65536mnożenie – aby można było dekodować szyfrogram, mnożenie musibyć realizowane w sposób odwracalny. Dlatego przyjmuje siękonwencje:

I 216 + 1 = 65537 jest liczbą pierwszą; dlatego tworząc tablicę mnożeniadla liczb 1–65536 w każdym rzędzie każda liczba z tego zakresuwystąpi dokładnie jeden raz („tablica łacińska” jest odwracalna)

I mnożenie przez zero jest zawsze nieodwracalne, dlatego ciąg (0)16 jesttraktowany jak liczba 216 = 65536, pozostałe normalnie w zapisie bezznaku

I mnożenie wykonuje się modulo 216 + 1

Ten algorytm nie korzysta z permutacji i S-boxów.

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 252 / 325

Page 253: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna Omówienie wybranych algorytmów szyfrujących

Tworzenie podkluczy:

klucz główny K ma 128b

podklucze K(1)–K(8) tworzy się poprzez podzielenie K na 8równych fragmentów

obrót klucza o 25 bitów w lewo K ′ =<<25 K

kolejne 8 podkluczy tworzy się dzieląc K ′ na 8 równych fragmentów

itd., aż wygeneruje się K(52)

Regularność tej operacji teoretycznie powinna osłabiać algorytm, aledotychczas nie znaleziono skutecznego ataku.

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 253 / 325

Page 254: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna Omówienie wybranych algorytmów szyfrujących

Rozszerzenia algorytmu – założenia:

bloki szyfrujące min. 128b

klucze min. 512b

mocniejszy sposób generowania kluczy rundy

Trywialne rozszerzenie IDEA do 128b poprzez skalowanie nie jest możliweze względu na właściwości mnożenia mod 216 + 1; liczba 232 + 1 nie jestliczbą pierwszą!

Zobacz propozycję (publikacja z końca 2014):eprint.iacr.org/2014/704.pdf

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 254 / 325

Page 255: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna Omówienie wybranych algorytmów szyfrujących

AES – Advanced Encryption StandardW 1997 r. EFF (Electronic Frontier Foundation) dysponowała sprzętemzdolnym do zdekodowania każdej wiadomości zaszyfrowanej DES’emw czasie do 3 dni kosztem 250 000 dolarówW sierpniu 1999 National Institute of Standards and Technology (NIST)ogłosił konkurs na następcę DES’a. Spośród pięciu propozycji, któreprzeszły do finału:

MARS (IBM)

RC6 (RSA Security)

Rijndael (V.Rijmen, J.Daemen)

Serpent (R. Andersen, E. Biham, L. Knudsen)

Twofish (B. Schneier i inni)

wygrał algorytm Rijndael (wrzesień 2000). Od 2002 Rijndael stał sięstandardem rządowym USA o nazwie AES. Obecnie jest implementowanyw sprzęcie kodującym oraz używany przez główne protokoły komunikacyjne(np. SSL/TLS) i pakiety kryptograficzne (np. PGP).

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 255 / 325

Page 256: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna Omówienie wybranych algorytmów szyfrujących

Główne cechy:

algorytm symetryczny, blokowy

klucze 128b/192b/256b

bloki danych 128b (dopuszcze się, ale nie implementuje, również 192bi 256b)wykonuje 10/12/14 rund szyfrujących typu S-P

I podstawienie wstępneI permutacja macierzowa (dwuwymiarowa: wiersze i kolumny)I funkcja złożenie z kluczem rundy

Specyfikacja techniczna:csrc.nist.gov/publications/fips/fips197/fips-197.pdf

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 256 / 325

Page 257: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna Omówienie wybranych algorytmów szyfrujących

Bezpieczeństwo AES:pokazano skuteczność ataków „bocznym kanałem” (side-channelattack – są to ataki wykorzystujące słabość konkretnej implementacji)

I słabość systemu zarządzania kluczami przez aplikacjęI słabość protokołu TLS, pozwalająca na poznanie wektora inicjującegow szyfrowaniu (atak BEAST na TLS 1.0)

pokazano skuteczność ataków na AES przy zredukowanej liczbie rundszyfrujących (w 2011 udowodniono, że atak biclique jest 2–5 razyszybszy od metody brutalnej)

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 257 / 325

Page 258: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna Omówienie wybranych algorytmów szyfrujących

pokazano, że kryptoanaliza różnicowa (differential fault analysis),w której bada się wpływ propagacji błędu na kształt szyfrogramu, jestskuteczna:eprint.iacr.org/2003/010.pdfeprint.iacr.org/2009/575.pdfeprint.iacr.org/2012/446.pdf

DFA zakłada możliwość wprowadzenia błędu (np. zmiany bitu w kluczurundy lub wprowadzeniu niepoprawnych danych wejściowych) przezatakującego. Nie jest więc metodą uniwersalną, możliwą do wykonaniazdalnie. Realizuje się ją np. jako atak na sprzęt szyfrujący (np. fizycznedziałanie na elektronikę urządzenia).Pokazuje natomiast jak cykliczność algorytmu wpływa na propagacjęwartości bitu wejścia w kolejnych rundach.

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 258 / 325

Page 259: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna Omówienie wybranych algorytmów szyfrujących

Algorytm RSA – Rivest, Shamir, Adleman (1978 r.)

algorytm asymetryczny

klucze szyfrujące dowolnej długości, ustalane przez użytkownika

oparty na rozkładzie dużych liczb na czynniki pierwsze (b. łatwaweryfikacja wyniku vs. b. trudny rozkład)

100–1000x wolniejszy niż DES

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 259 / 325

Page 260: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna Omówienie wybranych algorytmów szyfrujących

Ciekawe właściwościDla K1, K2 – para kluczy, algorytm jest przemienny:

∀x : RSA−1K2(RSAK1(x)) = RSAK1(RSA−1K2(x)) = x

skąd wynika, że funkcje szyfrująca RSA i deszyfrująca RSA−1 są takiesame:

∀x : RSA−1K1(RSAK2(x)) = RSAK1(RSA−1K2(x)) = x

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 260 / 325

Page 261: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna Omówienie wybranych algorytmów szyfrujących

Zastosowanie szyfrowania asymetrycznego IJeśli Alicja generuje parę kluczy:K1 – klucz prywatny (tajny) oraz K2 – klucz publiczny (jawny), to

Bolek wysyła tajną korespondencję AlicjiBolek szyfruje swój list M kluczem publicznym i wysyła

RSAK2(M)

Alicja rozkodowuje przesyłkę kluczem prywatnym

RSA−1K1(RSAK2(M)) =M

Bolek ma pewność, że tylko Alicja odczyta wiadomość, bo tylko ona jestw posiadaniu klucza deszyfrującego K1 (założenie). Wiadomość Bolkamoże być bezpiecznie ogłoszona w przestrzeni publicznej.

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 261 / 325

Page 262: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna Omówienie wybranych algorytmów szyfrujących

Zastosowanie szyfrowania asymetrycznego IIJeśli Alicja generuje parę kluczy:K1 – klucz prywatny (tajny) oraz K2 – klucz publiczny (jawny), to

Alicja uwierzytelnia się jako autorka listuAlicja szyfruje swój list M kluczem prywatnym i publikuje

RSAK1(M)

każdy może użyć klucza publicznego

RSA−1K2(RSAK1(M)) =M′

Jeśli otrzymane M ′ ma sens, a nie jest chaotycznym ciągiem bitów,wiadomość można uznać za wiarygodną (M ′ =M).

W ten sposób odbiorcy mogą mieć pewność, że nadawcą wiadomości jestAlicja, jedyna posiadaczka (założenie) klucza K1.

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 262 / 325

Page 263: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna Omówienie wybranych algorytmów szyfrujących

Teoria algorytmu RSA.

Liczby względnie pierwszeLiczby względnie pierwsze nie mają wspólnych dzielników oprócz 1.

Funkcja ϕ EuleraNiech ϕ(n) będzie liczbą liczb naturalnych mniejszych od n, które sąwzględnie pierwsze z n. UWAGI:

Jeśli p jest liczbą pierwszą, to

ϕ(p) = p− 1

Jeśli p, q są różnymi liczbami pierwszymi, to

ϕ(pq) = (p− 1)(q − 1)

[bo liczby mające wspólne z pq dzielniki większe od 1 top, 2p, . . . , p(q − 1), q, 2q, . . . , q(p− 1), liczb mniejszych od pq jestpq − 1, więc (pq − 1)− (p− 1)− (q − 1) = (p− 1)(q − 1)]

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 263 / 325

Page 264: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna Omówienie wybranych algorytmów szyfrujących

Twierdzenie EuleraNiech x i n będą liczbami względnie pierwszymi oraz x < n. Wtedy

xϕ(n) = 1 mod n

Inaczej: liczba xϕ(n) − 1 jest podzielna przez n.

Małe twierdzenie FermataW szczególności jeśli n jest liczbą pierwszą, to

xn−1 = 1 mod n

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 264 / 325

Page 265: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna Omówienie wybranych algorytmów szyfrujących

Dowód twierdzenia EuleraNiech x, n będą liczbami naturalnymi względnie pierwszymi, x < n.Niech P = (a1, a2, . . . , aϕ(n)) będzie zbiorem liczb względnie pierwszych zn, mniejszych od n (x ∈ P ).Utwórzmy nowy zbiórP ′ = xP = (xa1 mod n, xa2 mod n, . . . , xaϕ(n) mod n).Zauważmy, że1 każde xai mod n jest względnie pierwsze z n2 każde xai mod n ∈ P3 xai = xaj ⇔ ai = aj , czyli P ′ jest zbiorem różnoelementowym

Z powyższego wynika, że P ′ jest permutacją zbioru P . W takim razie

a1a2 . . . aϕ(n) = (xa1)(xa2) . . . (xaϕ(n)) mod n

a1a2 . . . aϕ(n) = xϕ(n)a1a2 . . . aϕ(n) mod n

1 = xϕ(n) mod n

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 265 / 325

Page 266: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna Omówienie wybranych algorytmów szyfrujących

Algorytm szyfrowania RSAwybieramy p, q – dwie duże liczby pierwsze

losujemy e tak, żeby e i (p− 1)(q − 1) były względnie pierwsze(można do tego celu użyć algorytmu Euklidesa)

znajdujemy algorytmem Euklidesa d takie, że

ed = 1 mod (p− 1)(q − 1)

obliczamy n = pq i wymazujemy całą informację o p i q

tworzymy klucz publiczny [e, n] i klucz tajny [d, n]

Szyfrowanie (M < n):

C = RSA[e,n](M) =Me mod n

Deszyfrowanie:

RSA−1[d,n](C) = Cd mod n

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 266 / 325

Page 267: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna Omówienie wybranych algorytmów szyfrujących

W takim schemacie

RSA−1[d,n](RSA[e,n](M)) =M

Dowód:

RSA−1[d,n](RSA[e,n](M)) = RSA−1[d,n](M

e mod n) =

(M e mod n)d mod n =M ed mod n

Przypomnienie:

ed = 1 mod (p− 1)(q − 1) = 1 + k(p− 1)(q − 1) = 1 + kϕ(pq)

więc, ponieważ n = pq, oraz korzystając z tw. Eulera,

M1+kϕ(n) mod n =M(Mϕ(n))k mod n =M(1 mod n)k mod n =

M1k mod n =M mod n =M

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 267 / 325

Page 268: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna Omówienie wybranych algorytmów szyfrujących

Algorytm RSA oparty jest na znajomości rozkładu pewnej ogromnejliczby n na czynniki pierwsze.

Liczba n jest tak budowana, żeby była iloczynem dwóch bardzodużych liczb pierwszych. Dlatego odkrywanie coraz większych liczbpierwszych jest przedmiotem konkursów z dużymi nagrodamipieniężnymi.

Znając p i q można łatwo odtworzyć podstawę algorytmu poprzezmnożenie n = pq. Natomiast mając tylko n, dokonanie faktoryzacjinie jest łatwe.

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 268 / 325

Page 269: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna Omówienie wybranych algorytmów szyfrujących

Możliwe ataki na RSA

czysty RSA nie zawiera elementów losowych – jest algorytmemdeterministycznym, dlatego wykorzystuje się w praktyce funkcjezamieniające tekst jawny M na liczbę m < n, która dopiero jestszyfrowana (operacja „padding”)

czysty RSA jest więc podatny na ataki z wybranym tekstem jawnympoprzez szyfrowanie publicznym kluczem dobranych tekstów isprawdzania ich z szyfrogramem (odwrotna metoda siłowa)

przy krótkich wykładnikach e (np. 3b) i krótkich M < n1/e

stosunkowo łatwo jest obliczyć pierwiastek e-tego stopnia zkryptogramu dekodując tekst

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 269 / 325

Page 270: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna Omówienie wybranych algorytmów szyfrujących

jeśli ta sama wiadomość zostanie w udany sposób rozkodowana zapomocą tego samego e ale różnych n (co najmniej e różnychużytkowników posiada różne zestawy kluczy z tym samymwykładnikiem e), to algorytm można rozłamać stosując tzw. chińskietwierdzenie o resztach

ponieważ RSA jest algorytmem multiplikatywnym,

M e1Me2 = (M1M2)

e mod n

można wykonać atak z podstawionym tekstem zaszyfrowanym.Atakujący chce poznać treść szyfrogramu C =M e mod n. Mnoży goprzez Re i „prosi” posiadacza klucza prywatnego o zdekodowanieszyfrogramu (MR)e wchodząc w posiadanie tekstu jawnego MR.Znając R mnoży MR przez R−1 odtwarzając M .

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 270 / 325

Page 271: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna Omówienie wybranych algorytmów szyfrujących

Atak Bellcore (Bellcore Labs, 1996)

atak typu kryptoanalizy różnicowej, z rodziny differential fault analysis

wymaga dostępu do sprzętu dokonującego szyfrowania (karty Smart,konsole do gier...)

celuje w RSA-CRT, implementację RSA wykorzystującą chińskietwierdzenie o resztach

CRT – Chinese Reminder TheoremJeśli n1, . . . , nk ∈ N są parami względnie pierwsze, zaś a1, . . . , ak ∈ Z, toistnieje a ∈ Z takie, że

a = a1 mod n1a = a2 mod n2. . .

a = ak mod nk

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 271 / 325

Page 272: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna Omówienie wybranych algorytmów szyfrujących

Chińskie twierdzenie o resztach można wyrazić jako zależność pomiędzy

układem równań modulo pewien zbiór liczb parami względniepierwszych

a równaniem modulo iloczyn tych liczb

ponieważ układ równań a = a1 mod n1a = a2 mod n2. . .a = ak mod nk

spełnia dokładnie jedna liczba a z przedziału

1 ¬ a ¬ n1n2 . . . nk

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 272 / 325

Page 273: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna Omówienie wybranych algorytmów szyfrujących

Historycznie, pierwsze rozwiązanie podał Sun Tzu (Sun Zi) ok. 100 r.Przyjął on za liczby względnie pierwsze

n1 = 3, n2 = 5, n3 = 7 (n1 · n2 · n3 = 105)

i poszukiwał takiej liczby, która dzielona przez ni dawałaby reszty

a1 = 2, a2 = 3, a3 = 2

Znalazł rozwiązanie a = 23

23/3 = 7 · 3 + 223/5 = 4 · 5 + 323/7 = 3 · 7 + 2

oraz rozwiązanie ogólne a = 23 + k · 105.Chińczycy wykorzystywali tę wiedzę do szybkiego sprawdzania stanuliczebności wojsk, zarządzając zbiórki w dwu-, trzy-, pięcioszeregu i licząctylko niepełne szeregi.Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 273 / 325

Page 274: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna Omówienie wybranych algorytmów szyfrujących

RSA-CRT. Ze względów praktycznych stosuje się w implementacjachRSA sztuczkę, polegającą na tym, że obliczenia (mod n), przy n = pq,zamienia się na obliczenia (mod p) i (mod q). Tak więc, jeśli

C =M e mod n

to również

Cp =M ep mod p

Cq =M eq mod q

C = [((Cq − Cp) ·K) mod q] · p+ Cp

[Patrz np. → www.di-mgt.com.au/crt rsa.html]

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 274 / 325

Page 275: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna Omówienie wybranych algorytmów szyfrujących

Załóżmy, że atakujący ma dostęp do sprzętu i może wpływać na algorytm,zamieniając nieznany wykładnik eq na znany e′q. Dostanie wtedy

Cp =M ep mod p

C ′q =Me′q mod q

C ′ = [((C ′q − Cp) ·K) mod q] · p+ Cp

Licząc C − C ′ redukuje się wyrazy z Cp

C − C ′ = [((Cq − C ′q) ·K) mod q] · p

zaś wynik jest proporcjonalny do liczby p. Wystarczy teraz obliczyćnajwiększy wspólny dzielnik C − C ′ i n = pq,

NWD(C − C ′, n) = p

natomiast q wyznacza się dzieląc n/p. To pozwala na odtworzenie kluczyszyfrujących RSA.

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 275 / 325

Page 276: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna Omówienie wybranych algorytmów szyfrujących

Rozłamanie klucza RSA 2010 r.

pokonano 768b klucz RSA metodą siłową

wykorzystana moc obliczeniowa klastra w przeliczeniu odpowiadałaprocesorowi AMD Opteron 2,2 GHz pracującego na pełnej mocy przez1500 lat

wynik zajął 5TB przestrzeni dyskowej

cały projekt zajął 2 lata, ale czas łamania był znacznie krótszy

lektura: eprint.iacr.org/2010/006.pdf

Od tego momentu za obowiązujący standard uznano klucz o długości1024b

Lektura obowiązkowa:www.dobreprogramy.pl/Za-kilka-lat-czeka-nas-kryptokalipsa-

Matematycy-i-hakerzy-wierza-w-mozliwosc-zlamania-algorytmu-RSA,News,45588.html

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 276 / 325

Page 277: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna Omówienie wybranych algorytmów szyfrujących

Pozyskanie klucza RSA 2013 r.Artykuł z 18.XII.2013

Daniel Genkin, Adi Shamir, Eran Tromer,RSA Key Extraction via Low-Bandwidth Acoustic Cryptanalysiswww.tau.ac.il/~tromer/papers/acoustic-20131218.pdf

przedstawia metodę wydobycia 4096b klucza RSA za pomocą podsłuchuultradźwięków wydawanych przez procesor podczas wykonywaniaokreślonych operacji. Atak można przeprowadzić za pomocą telefonukomórkowego z odległości ok. 30 cm od laptopa. Wykorzystanie lepszychmikrofonów pozwala na operację z odległości ok. 1 m.Nie jest to atak algebraiczny (kryptograficzny) ale sprzętowy.

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 277 / 325

Page 278: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna Omówienie wybranych algorytmów szyfrujących

Problem faktoryzacji dużych liczb jest klasycznym przykładem problemutrudnego z punktu widzenia klasycznej algorytmiki. Czas wykonanianajszybszego algorytmu General Number Field Sieve (GNFS, ogólne sitociała liczbowego) wynosi

O(exp[1, 9(ln N)1/3(ln ln N)2/3]

)Jest też klasycznym przykładem efektywnego zastosowania komputerakwantowego. Algorytm Shorra faktoryzacji (1994 r.) ma czas wykonaniarzędu

O((ln N)1/3

)czyli z zależności wykładniczej dostajemy zależność wielomianową od ln N .

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 278 / 325

Page 279: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna Omówienie wybranych algorytmów szyfrujących

MD5 Message-Digest Algorithm 5

funkcja skrótu (hashująca), tworzy z dowolnego ciągu znaków 128bhash

autor: Ron Rivest – współtwórca RSA (1991 r.)

rozłamali: X. Wang, D. Feng, X. Lai, H. Yu (2004 r.) pokazującistnienie kolizji w algorytmie, czyli istnienie różnych wiadomości M1i M2 dla których

MD5(M1) = MD5(M2)

Patrz: eprint.iacr.org/2004/199

służy do generowania sum kontrolnych i podpisów cyfrowych np.plików publikowanych w internecie

obecnie nie jest polecany do krytycznych zastosowań (następcą jestm.in. algorytm SHA)

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 279 / 325

Page 280: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna Omówienie wybranych algorytmów szyfrujących

Schemat algorytmu MD5:

Dodanie do M bitu o wartości 1

Uzupełnienie bitami 0 tak, aby ciąg składał się z 512b bloków iostatniego 448b

Uzupełnienie ostatniego bloku o 64b licznik znakujący rozmiarwiadomości

Stan początkowy to0123456789ABCDEFFEDCBA9876543210

Każdy blok jest poddawany funkcji MD5, któraI działa w 4 cyklach po 16 kroków każdy (łącznie 64 operacje)I dzieli wejście na 16 32b kawałków (aby pokryć 512b blok)I wykonuje kilka operacji: mieszanie, dodanie stałej, funkcja, mieszanie

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 280 / 325

Page 281: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna Omówienie wybranych algorytmów szyfrujących

na rysunku obok pokazane są tylko4 z 16 bloków 32b (A, B,...)

F to mieszanie 32b fragmentów wgpewnego schematu

Mi to dodanie stałej zależnej odnumeru kroku; są to pierwsze 32bz mantysy liczby | sin(i)|Ki to funkcja

Ki=1,16(x, y, z) = (x · y) + (x · y)Ki=17,32(x, y, z) = (x · z) + (y · z)Ki=33,48(x, y, z) = x⊕ y ⊕ zKi=49,64(x, y, z) = y ⊕ (x+ z)

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 281 / 325

Page 282: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna Omówienie wybranych algorytmów szyfrujących

SHA – Secure Hash Algorithm

rodzina funkcji hashujących oparta na b.podobnej zasadzie co MD5rozwijana od 1993 r. przez amerykańską NSA

I SHA-0 – 1993 r. – całkowicie wycofanyI SHA-1 – 1995 r. – wady wykryte w 2005 r., od 2010 r. oficjalnie niejest zalecany (Microsoft Windows nie będzie przyjmował certyfikatówsygnowanych SHA-1 od roku 2017)

I SHA-2 (SHA-224, SHA-256, SHA-384, SHA-512) – 2001 r. – oficjalnienie opublikowano ataków na SHA-2, ale ze względu na jegoalgorytmiczne podobieństwo do SHA-1 jest on niepewny

I SHA-3 – 2012 r. – wyłoniony na drodze konkursu ogłoszonego przezNSA

SHA-1 jest używany przez protokoły szyfrujące takie jak: TLS, SSL,PGP, SSH, S/MIME, IPSec,...

SHA-2 jest obecnie (2013 r.) wspierany przez większośćnajpopularniejszych protokołów, w tym TLS, SSL, PGP, SSH(OpenSSH od wersji 5.9),...

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 282 / 325

Page 283: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna Omówienie wybranych algorytmów szyfrujących

Protokoły wymiany kluczy szyfrujących

aby można było ustanowić szyfrowaną komunikację, klucze szyfrującemuszą być znane obu stronom

wymiana kluczy bez zabezpieczenia (jawnie) mija się z celem i jestryzykownawyróżnia się dwie metody postępowania:

I wymiana kluczyI uzgadnianie kluczy

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 283 / 325

Page 284: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna Omówienie wybranych algorytmów szyfrujących

Wymiana kluczy odbywa się poprzez zaufany serwer. Serwer taki:

jest znany i użytkownicy mają do niego zaufanie,

jest odpowiedzialny za generowanie kluczy,

jest odpowiedzialny za dystrybucję kluczy.

Uzgadnianie kluczy odbywa się poprzez wymianę informacji bezpośredniomiędzy stronami komunikacji. Komunikacja taka:

odbywa się po publicznych łączach,

jest z definicji niezabezpieczona,

powinna zapewniać aktualność klucza,

powinna zapewniać uwierzytelnienie stron,

powinna dawać możliwość potwierdzenia klucza,

powinna dawać możliwość uwierzytelnienia klucza.

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 284 / 325

Page 285: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna Omówienie wybranych algorytmów szyfrujących

Protokół Diffiego – Hellmana (1976 r.)Protokół pozwala na bezpieczną negocjację tajnego klucza poprzezniezabezpieczoną sieć publiczną.

Założenia:p – liczba pierwsza,g ∈ {1, 2, . . . , p− 1} taka, że gp−1 = 1 mod p.Obie te liczby, p i g, są publicznie znane, w szczególności Alicji i Bolkowi.

Schemat: Alicja i Bolek wybierają losowo po jednej liczbie ze zbioru{1, 2, . . . , p− 1}, powiedzmy a (liczba Alicji) i b (liczba Bolka).1 Alicja wysyła Bolkowi liczbę ga mod p2 Bolek wysyła Alicji liczbę gb mod p3 Alicja wylicza tajny klucz podnosząc liczbę Bolka do potęgi a

K = (gb)a mod p = gab mod p

4 Bolek wylicza tajny klucz podnosząc liczbę Alicji do potęgi b

K = (ga)b mod p = gab mod p

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 285 / 325

Page 286: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna Omówienie wybranych algorytmów szyfrujących

System uwierzytelniania Kerberos wersja V

opracowany w MIT → web.mit.edu/∼kerberos/działa na zasadzie podziału sieci na domeny

reguły dla użytkowników są ograniczone do właściwych domen

serwer uwierzytelniający (AS, authentication server)

serwer weryfikujący dostęp (TGS, ticket granting server)

pomiędzy serwerem AS a użytkownikiem komunikacja jest szyfrowanakluczem generowanym z hasła użytkownika poprzez zastosowaniefunkcji skrótu

hasło i klucz są przechowywane w zabezpieczonej bazie danych

szyfrowanie metodami asymetrycznymi np. DES

dwustopniowe uwierzytelnianie: warunkowe (wstępne) i klient-serwer

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 286 / 325

Page 287: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna Omówienie wybranych algorytmów szyfrujących

Schemat działania Kerberos’a

Źródło: www.kerberos.org

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 287 / 325

Page 288: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna Omówienie wybranych algorytmów szyfrujących

Protokół uwierzytelniania warunkowego odpowiada za logowanie sięużytkownika do sieci z pewnego hosta. W uproszczeniu:

host weryfikuje login użytkownika na serwerze hasełserwer haseł generuje

I świeży klucz sesji kodowany prywatnym kluczem użytkownikaI „bilet” dla serwera TGS, kodowany kluczem do komunikacji AS–TGS

i przekazuje je do hosta

host żąda hasła użytkownika, z którego generuje jego klucz prywatny

kluczem tym dekoduje klucz sesji

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 288 / 325

Page 289: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Kryptografia klasyczna Omówienie wybranych algorytmów szyfrujących

Druga wiadomość („bilet”) nie może być zdekodowana przez host i służydo jego uwierzytelniania podczas komunikacji z serwerem TGS. Zawieraona również klucz sesji użytkownika, informacje o jego czasie ważności,login...Serwer TGS pośredniczy w uwierzytelnianiu hosta (klienta) na innychserwerach w sieci.

Szczegóły znaleźć można m.in. w:

J.Pieprzyk, T. Hardjono, J. Seberry, Teoria bezpieczeństwa systemówkomputerowych, Helion 2005

Zobacz też:www.kerberos.orgwww.roguelynn.com/words/explain-like-im-5-kerberos/

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 289 / 325

Page 290: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Informatyka kwantowa

Informatyka kwantowa

Literatura dodatkowa:

M.Hirvensalo, Algorytmy kwantowe, WSiP, Warszawa 2004

C.P.Williams, Explorations in Quantum Computing, Springer 2011

http://theory.caltech.edu/~preskill/ph229/#lecture

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 290 / 325

Page 291: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Informatyka kwantowa Mechanika kwantowa

Świat klasyczny

równania ruchu określają dokładnie całą przyszłość obiektu

obiekt opisywany przez jego cechy (położenie, pęd, masa...)

obiekt jest cząstką lub falą

ścisłe następstwo zdarzeń, przyczynowość

deterministyczny

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 291 / 325

Page 292: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Informatyka kwantowa Mechanika kwantowa

Świat kwantowyrozwiązania równań ruchu zawierają różne możliwe przyszłości obiektuobiekt opisywany przez stan (funkcję falową)obiekt jest zarówno cząstką jak i faląnie jest jasne, jaki jest status przyczynowości i następstwa zdarzeń wmechanice kwantowejprobabilistyczny

NotacjaZapis stanu: |ψ〉 (ket Diraca)Stan sprzężony: 〈φ| (bra Diraca) działa jak operator

〈φ|∗ = |φ〉

Iloczyn skalarny (wewnętrzny) w przestrzeni Hilberta

〈φ(x)|ψ(x)〉 =∫dx φ∗(x)ψ(x)

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 292 / 325

Page 293: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Informatyka kwantowa Mechanika kwantowa

PodstawyKażda wielkość fizyczna (obserwabla) jest reprezentowana przezoperator hermitowski, np.

px = −i~∂

∂x

x = x·

Operator hermitowski (samosprzężony)

〈ψ|pφ〉 = 〈p†ψ|φ〉

p† = p

Możliwe wartości pomiaru wielkości a reprezentowanej przez operatora w stanie |ψ〉 są dane przez równanie własne a|ψ〉 = a|ψ〉. Jeśli ψnie jest funkcją własną operatora a, to ta wielkość fizyczna nie jestdobrze określona w stanie ψ.

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 293 / 325

Page 294: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Informatyka kwantowa Mechanika kwantowa

PodstawyStan ma często postać superpozycji stanów, tj. kombinacji liniowej

|ψ〉 = c1|ψ1〉+ c2|ψ2〉+ . . .

przy czym, aby stan był unormowany 〈ψ|ψ〉 =∣∣|ψ〉∣∣2 = 1, musi

zachodzić|c1|2 + |c2|2 + · · · = 1

Współczynniki |ci|2 = c∗i ci reprezentują prawdopodobieństwo(przypadek dyskretny) lub gęstość prawdopodobieństwa (przypadekciągły), że układ w stanie |ψ〉 po pomiarze znajdzie się w stanie |ψi〉

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 294 / 325

Page 295: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Informatyka kwantowa Mechanika kwantowa

Zasada nieoznaczoności HeisenbergaIstnieją wielkości fizyczne, których nie da się określić jednocześnie zdowolną dokładnością, m.in. położenie i pęd:

(∆x)(∆p) ­ 12

~

Następstwa zasady nieoznaczoności:

jeśli dokładnie zmierzę pęd cząstki, może ona być dosłownie wszędzie

jeśli dokładnie zlokalizuję cząstkę, nie mam pojęcia o jej pędzie, czylinie potrafię powiedzieć gdzie ona będzie w chwilę później

cząstka może być w dwóch (i więcej) miejscach jednocześnie

cząstka może się „poruszać” we wszystkie strony na raz

...

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 295 / 325

Page 296: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Informatyka kwantowa Mechanika kwantowa

Załóżmy, że mam wektor wskazujący kierunek ~v.Pytanie: ile jest wektora ~v z punktu widzenia kierunku osi ~x?Odpowiedź: iloczyn skalarny daje rzut wektora ~v na kierunek ~x (oraz naodwrót: rzut ~x na kierunek ~v). Tak więc (~v · ~x)~x jest składową ~v wkierunku ~x.Iloczyn skalarny w 3D przestrzeniu euklidesowej

~v · ~x = v1x1 + v2x2 + v3x3

lub w przypadku ciągłych stopni swobody

~v(α) · ~x(α) =∫dα v(α)x(α)

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 296 / 325

Page 297: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Informatyka kwantowa Mechanika kwantowa

RzutowanieW mechanice kwantowej taką operację opisują operatory rzutowe.Operator |ψ〉〈ψ| działa jak operator rzutujący na stan ψ

(|ψ〉〈ψ|) |φ〉 = 〈ψ|φ〉|ψ〉

gdzie 〈ψ|φ〉 określa „długość rzutu” (albo stopień przekrycia stanów ψ iφ), zaś |ψ〉 „kierunek”.

Reprezentacja macierzowaKażdy operator można rozłożyć w dowolnej ortonormalnej baziewektorowej i zapisać w postaci (skończonej lub nieskończonej) macierzy.

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 297 / 325

Page 298: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Informatyka kwantowa Pomiar

Funkcja falowa opisuje wszystkie możliwe do zmierzenia wartościparametrów danego obiektu.Czym jest pomiar?

fizyczne oddziaływanie aparatury pomiarowej z badanym obiektem

zaburzenie układu przez aparaturę pomiarową

istnieją obecnie tzw. pomiary słabe (niezaburzające, non-demolitionmeasurements)

Co się dzieje w momencie pomiaru?Następuje „kolaps funkcji falowej”, który matematycznie oznaczawyrzutowanie funkcji falowej na podprzestrzeń odpowiednich stanów.Pomiar nieodwracalnie zmienia funkcję falową. Informacja sprzed pomiarujest tracona.

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 298 / 325

Page 299: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Informatyka kwantowa Pomiar

Wszelkie próby przejęcia, podsłuchania, modyfikowania transmisji opartejna przesyle informacji kanałem kwantowym natychmiast niszczy strukturęprzesyłanych danych. Podsłuchane bity traktuje się jak uszkodzone iponawia transmisję. Charakter transmisji kwantowej wymaga opróczpodsłuchanych bitów również pewnej dodatkowej informacji do pełnegoodczytania danych. Te dodatkowe informacje dla uszkodzonych bitów niesą przesyłane. Tak więc w teorii, kanał kwantowy jest w pełni bezpieczny,gdyż niemożliwy jest niezauważony podsłuch.

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 299 / 325

Page 300: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Informatyka kwantowa Informatyka kwantowa

Informatyka kwantowaBity 0 i 1 reprezentowane będą przez dwa ortonormalne stany

stany : |0〉, |1〉unormowane : 〈0|0〉 = 〈1|1〉 = 1ortogonalne : 〈0|1〉 = 0

Wygodna jest reprezentacja macierzowa w postaci

|0〉 =(10

), |1〉 =

(01

)

Qubit (kubit) czyli bit kwantowy to obiekt o strukturze

|q〉 = c0|0〉+ c1|1〉, |c0|2 + |c1|2 = 1

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 300 / 325

Page 301: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Informatyka kwantowa Informatyka kwantowa

Qubit

może być zarówno 0 jak i 1 z definicji

operacje na qubitach mogą działać jednocześnie na obu wartościachlogicznych

możliwe interferencje tj. wygaszenia i wzmocnienia któregoś zestanów 0 albo 1

qubit można obrócić o pewien kąt (dopisać do niego fazę)

eiα|q〉

i fizycznie nic to nie zmieni, ponieważ

|eiαc0|2 = |c0|2

|eiαc1|2 = |c1|2

względna faza między dwoma qubitami gra rolę

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 301 / 325

Page 302: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Informatyka kwantowa Informatyka kwantowa

Bramki unarne (jednoargumentowe) ogólnie definiuje się przez ichdziałanie na oba stany 0 i 1

U :

{|0〉 → a|0〉+ b|1〉|1〉 → c|0〉+ d|1〉

Wykorzystując reprezentację macierzową prowadzi to do

U

(10

)= a

(10

)+ b

(01

)=

(a ?b ?

)(10

)

U

(01

)= c

(10

)+ d

(01

)=

(? c? d

)(01

)⇒ U =

(a cb d

)

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 302 / 325

Page 303: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Informatyka kwantowa Informatyka kwantowa

NegacjaBramka negacji zdefiniowana jest przez macierz

NOT =

(0 11 0

)

Łatwo sprawdzić, że

NOT|0〉 =(0 11 0

)(10

)=

(01

)= |1〉

NOT|1〉 =(0 11 0

)(01

)=

(10

)= |0〉

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 303 / 325

Page 304: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Informatyka kwantowa Informatyka kwantowa

Pierwiastek kwadratowy z negacjiBramka „pierwiastek z negacji” zdefiniowana jest przez macierz

√NOT =

12

(1 + i 1− i1− i 1 + i

)

Łatwo sprawdzić, że (√NOT

)2= NOT

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 304 / 325

Page 305: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Informatyka kwantowa Informatyka kwantowa

Bramki kwantowe reprezentują ewolucję stanu opisywaną równaniemSchrodingera. Z tego powodu są to zawsze bramki odwracalne i unitarne.Bramkami odwracalnymi w informatyce klasycznej są, m.in.,

NOT (0→ 1, 1→ 0)CNOT (00→ 00, 01→ 01, 10→ 11, 11→ 10)SWAP (00→ 00, 01→ 10, 10→ 01, 11→ 11)uniwersalna bramka FREDKIN (CSWAP)

uniwersalna bramka TOFFOLI (CCNOT)

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 305 / 325

Page 306: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Informatyka kwantowa Informatyka kwantowa

Bramka CNOT czyliControlled-NOT

Bramka FREDKIN czyliControlled-SWAP

Bramka SWAP = 3x CNOT

Bramka TOFFOLI czyliControlled-Controlled-NOT

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 306 / 325

Page 307: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Informatyka kwantowa Informatyka kwantowa

Dlatego najprościej stworzyć wersje kwantowe właśnie tych bramekodwracalnych. Można sprawdzić, że poniższe macierze są unitarne idziałają na stany 0 i 1 tak jak odpowiednie bramki:

CNOT =

1 0 0 00 1 0 00 0 0 10 0 1 0

SWAP =

1 0 0 00 0 1 00 1 0 00 0 0 1

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 307 / 325

Page 308: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Informatyka kwantowa Informatyka kwantowa

Bazę dla bramek odwracalnych stanowi trójka: NOT, CNOT, TOFFOLI.Klasyczna baza NOT, AND, OR jest odtwarzana w następujący sposób:

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 308 / 325

Page 309: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Informatyka kwantowa Informatyka kwantowa

Bramka Hadamarda (Walsha)

Bramka Hadamarda zdefiniowana jest przez macierz

H =1√2

(1 11 −1

)

i służy do zamiany bazy |0〉, |1〉 na H|0〉, H|1〉.

Z definicji:

H|0〉 = 1√2(|0〉+ |1〉)

H|1〉 = 1√2(|0〉 − |1〉)

Łatwo sprawdzić, że H|0〉 i H|1〉 tworzą ortonormalną bazę, o ile |0〉 i |1〉taką tworzyły. Można też pokazać, że

H2 = 1

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 309 / 325

Page 310: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Informatyka kwantowa Informatyka kwantowa

Bramka zmiany fazyBramka zmiany fazy jest zdefiniowana przez macierz

Fα =

(1 00 eiα

)

i służy do zmiany fazy (obrotu) stanu.

Szczególny przypadek dla α = π to

F =

(1 00 −1

)

WtedyF |0〉 = |0〉 F |1〉 = −|1〉

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 310 / 325

Page 311: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Informatyka kwantowa Informatyka kwantowa

Dowiedzieliśmy się do tej pory, że

bity zastępujemy qubitami, które są kombinacjami liniowymi zera ijedynki z pewnymi prawdopodobieństwami

ze względu na strukturę równań mechaniki kwantowej, logikękwantową budujemy na bramkach odwracalnych

bramki są reprezentowane przez macierze unitarne U † = U−1

zamiast 0 i 1 możemy stosować dowolną inną ortonormalną bazę, np.bazę Hadamarda

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 311 / 325

Page 312: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Informatyka kwantowa Informatyka kwantowa

Stany separowalne i splątane. Rozważmy układ dwóch qubitów

{|00〉, |01〉, |10〉, |11〉}

z 4D przestrzeni Hilberta H4 = H2 ⊗H2, gdzie |ab〉 = |a〉|b〉.Stan z ∈ H4 jest separowalny jeśli z = x⊗ y, gdzie x, y ∈ H2.Stan splątany nie da się przedstawić w postaci powyższego iloczynu.

Przykład stanu separowalnego12(|00〉+ |01〉+ |10〉+ |11〉) = 1√

2(|0〉+ |1〉) 1√

2(|0〉+ |1〉)

Przykład stanu splątanego (PARA EPR)

1√2(|00〉+ |11〉)

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 312 / 325

Page 313: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Informatyka kwantowa Protokół teleportacji kwantowej

Teleportacja kwantowaSłów kilka o parach EPR. . .

Einstein, Podolsky, Rosen

fizyczna realizacja par EPR

nadprzewodnictwo

teleportacja

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 313 / 325

Page 314: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Informatyka kwantowa Protokół teleportacji kwantowej

Klasyczny kanał informacji – pozwala na przesłanie bitów między Alicjąa Bobem.Kwantowy kanał informacji – pozwala na przesłanie qubitów międzyAlicją a Bobem.Czy Alicja, mając tylko kanał klasyczny, może przesłać Bobowi nieznanyjej stan kwantowy a|0〉+ b|1〉?jeśli wykona pomiar, otrzyma 0 lub 1 i zniszczy swój qubit

nie jest możliwe wykonanie kopii nieznanego stanu

nie jest możliwe powtarzanie pomiarów, aby oszacować liczby a i b,ponieważ każdy pomiar zmienia qubit

a nawet odtwarzając prawdopodobieństwa |a|2 i |b|2, nie pozwala tona jednoznaczne wyznaczenie a i b

Odpowiedź brzmi: nie! Kanał kwantowy jest konieczny, a można goutworzyć korzystając z pary EPR.

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 314 / 325

Page 315: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Informatyka kwantowa Protokół teleportacji kwantowej

Założenia:

Alicja i Bob są w posiadaniu pary EPR opisanej jako całość stanemsplątanym 1√

2(|00〉+ |11〉)

przyjmijmy, że pierwszy (lewy) qubit jest w posiadaniu Alicji, a drugi(prawy) w posiadaniu Boba – cząstki są fizycznie rozseparowane

dodatkowo Alicja posiada qubit a|0〉+ b|1〉, który chce przesłać(teleportować) do Boba

Stan całego układu jest więc postaci

(a|0〉+ b|1〉) 1√2(|00〉+ |11〉) =

=1√2(a|000〉+ a|011〉+ b|100〉+ b|111〉)

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 315 / 325

Page 316: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Informatyka kwantowa Protokół teleportacji kwantowej

Protokół teleportacji kwantowej:1 Alicja wykonuje CNOT na kontrolowanych przez siebie qubitach (lewyi środkowy), wykorzystując lewy jako kontrolny. Stan na tym etapie

1√2(a|000〉+ a|011〉+ b|110〉+ b|101〉)

2 Alicja wykonuje transformację Hadamarda na lewym qubicie

12[a(|0〉+ |1〉)|00〉+a(|0〉+ |1〉)|11〉+b(|0〉−|1〉)|10〉+b(|0〉−|1〉)|01〉]

co można przepisać, wydzielając qubit Boba (prawy), w postaci

12[|00〉(a|0〉+b|1〉)+|01〉(a|1〉+b|0〉)+|10〉(a|0〉−b|1〉)+|11〉(a|1〉−b|0〉)]

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 316 / 325

Page 317: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Informatyka kwantowa Protokół teleportacji kwantowej

3 Alicja przeprowadza pomiar swoich dwóch qubitów ustalając stan najeden konkretny

Pomiar Alicji Stan układu po obserwacji

00 |00〉(a|0〉+ b|1〉)01 |01〉(a|1〉+ b|0〉)10 |10〉(a|0〉 − b|1〉)11 |11〉(a|1〉 − b|0〉)

Każdy przypadek oznacza, że u Boba cząstka jest w innym stanie4 Alicja przekazuje informacje o swoim pomiarze Bobowi za pomocąkanału klasycznego, np. mailem lub telefonicznie

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 317 / 325

Page 318: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Informatyka kwantowa Protokół teleportacji kwantowej

5 Bob wykonuje jedną z czterech operacji na swojej cząstce

Pomiar Alicji Stan układu po obserwacji Co robi Bob

00 |00〉(a|0〉+ b|1〉) nic01 |01〉(a|1〉+ b|0〉) NOT10 |10〉(a|0〉 − b|1〉) F11 |11〉(a|1〉 − b|0〉) F NOT

6 W każdym przypadku stan qubitu Boba ustala się na a|0〉+ b|1〉

Teleportacja polega tu na przeniesieniu stanu qubitu, nie fizycznegoprzeniesienia cząstek opisywanych przez qubit. Stan jest przenoszony, anie kopiowany, gdyż po stronie Alicji ulega on zniszczeniu.

Teleportacja ma pełnić rolę magistrali danych, kabli i łączy wkomputerze kwantowym.

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 318 / 325

Page 319: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Informatyka kwantowa Protokół teleportacji kwantowej

Komputer kwantowyCPU – zestaw cząstek w stanie splątanym, układ par EPR (istniejąjuż takie układy)

łącza – teleportacja; jest realizowana na odległości ponad 140km

pamięć – realizowana przez układy cząstek spułapkowanych iutrzymujących pewien stan kwantowy; obecny rekord (XI.2013)wynosi 39 minut w temp. pokojowej

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 319 / 325

Page 320: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Informatyka kwantowa QKD

QKD – Quantum Key Distribution

Największą słabością klasycznych protokołów szyfrujących jestpierwsza faza nawiązania połączenia, gdy strony muszą się wymienićkluczami.

Kwantowe kanały komunikacji mają niewielką przepustowość i sądrogie w eksploatacji.

Podstawowym zastosowaniem sieci kwantowych jest zaufane ibezpieczne przesłanie klucza do klasycznego algorytmu szyfrującegomiędzy stronami.

Protokoły kwantowej dystrybucji klucza nazywane są również (mniejpoprawnie) „kryptografią kwantową”.

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 320 / 325

Page 321: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Informatyka kwantowa QKD

Propozycja protokołu QKD

Alicja i Bob wymienili między sobą wiele cząstek z par EPR

wykonują pomiary na swoich cząstkach, (psudo)losowo wybierając zakażdym razem, czy wykonują pomiar np. wzdłuż osi x czy z

publicznie wymieniają się informacją, wzdłuż których osi wykonywalipomiary

na średnio w połowie przypadków mierzyli inne osie (co niczego im niemówi), ale w połowie mierzyli wzdłuż tych samych osi – wtedy ichwyniki są antyskorelowane

mogą w ten sposób ustanowić losowy ciąg bitów, który posłuży zaklucz

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 321 / 325

Page 322: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Informatyka kwantowa QKD

Uwagi:

można pokazać (patrz notatki J.Preskilla, rozdz.4), że nawet jeśliEwie udało się splątać część qubitów Alicji i Boba ze swoimikubitami, protokół pozostaje bezpieczny – zapobiega to kwantowejwersji ataku typu man-in-the-middle

Alicja i Bob mogą sprawdzić brak splątania z obcymi qubitamipoświęcając część ze swoich qubitów i wykonując na nich odpowiednipomiar sprawdzający, czy są w stanie, w jakim zostały przygotowane

w praktyce Alicja może sama przygotować pary EPR, wykonać swojepomiary, zamknąć je w sejfie i przesłać pozostałe cząstki do Boba;gdy zajdzie potrzeba Bob wykonuje swoje pomiary i ustanawia klucz zAlicją (schemat znany jako BB84)

słabość BB84 polega na konieczności zabezpieczenia sejfu Alicji

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 322 / 325

Page 323: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Informatyka kwantowa QKD

Schemat time-reversed EPR

Alicja i Bob przygotowują swoje próbki qubitów w jednym z czterechstanów (losowo)

| ↑z〉, | ↓z〉, | ↑x〉, | ↓x〉

zestawy qubitów są wysyłane do Celiny, która przeprowadza operacjętzw. rzutowania na bazę Bella, tworząc pary EPR z par qubitówotrzymanych od Alicji i Boba

Celina ogłasza wyniki swojej operacji

w połowie przypadków, gdy Alicja i Bob tworzyli stan wzdłuż tej samejosi, mają korelację i mogą użyć tego qubitu do dołączenia do klucza

Alicja i Bob mogą też zweryfikować część swoich qubitów abysprawdzić, czy Celina nie przeprowadziła ataku man-in-the-middle

w tym schemacie nie ma konieczności tworzenia i rozdzielania parEPR, kosztem dopuszczenia trzeciej strony do procesu tworzeniaklucza; Celina może prowadzić centralną usługę pośredniczącą wgenerowaniu kluczy

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 323 / 325

Page 324: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Informatyka kwantowa Podsumowanie

Podsumowanieczynnik ludzki, socjotechnikaochrona fizyczna, polityka bezpieczeństwa, procedurysieć internet, intranet, model OSI, protokół TCP/IProdzaje i metody ataków sieciowych, metody ochronyhasła i inne metody uwierzytelnianiatopologie sieci, zapory ognioweserwery proxypodstawowe programy narzędziowesieci bezprzewodowe, protokoły szyfrowania, metody atakówpołączenia VPNochrona systemu operacyjnego na przykładzie systemu unix/linuxochrona aplikacji, w tym baz danychmalware – rodzaje i sposób działaniapodstawy kryptografii klasycznej, szyfry symetryczne i asymetryczne,funkcje jednokierunkowe, wymiana kluczy, metody łamaniapodstawy informatyki kwantowej, bramki kwantowe, teleportacja,algorytm BB84

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 324 / 325

Page 325: Bezpieczenstwo systemów komputerowych IIkft.umcs.lublin.pl/mgozdz/bezpieczenstwo-wyklad.pdf · Bezpieczeństwo systemów komputerowych II III rok informatyki semestr zimowy 2016/2017

Informatyka kwantowa Podsumowanie

DZIEKUJĘ ZA UWAGĘ

Marek Góźdź (2016/2017) Bezpieczeństwo sys. komp. 17 listopada 2017 325 / 325