Download as pdf or txt
Download as pdf or txt
You are on page 1of 467

Bezpieczeństwo systemów

informatycznych
dr Marek Miśkiewicz
2022

Color scheme based on Dracula theme by Zeno Rocha


marek.miskiewicz@umcs.pl

Egzamin w formie testu (wielokrotnego wyboru)


na podstawie materiału prezentowanego na wykładach
Literatura
• WilliamStalling - „Bezpieczeństwo systemów informatycznych. Zasady i
praktyka”, Helion 2019

• William Stallings - Network Security Essentials:


Applications and Standards, Pearson 2011

• WilliamStallings - Cryptography and Network Security Principles and


Practice, Pearson 2017

• Simson Garfinkel, Alan Schwartz, Gene Spafford - Practical Unix & Internet
Security, O’Reilly 2003

• JanuszStokłosa, Tomasz Bilski, Tadeusz Pankowski - Bezpieczeństwo


danych w systemach informatycznych, Wydawnistwo Naukowe PWN,
Warszawa–Poznań 2001.

• A. J. Menezes, P. C. van Oorschot, S. A. Vanstone - Kryptografia stosowana,


WNT, Warszawa, 2005

• MichałSzychowiak - Bezpieczeństwo systemów komputerowych, http://


wazniak.mimuw.edu.pl
RFC 2828 definiuje informację jako "fakty i idee,
które mogą być reprezentowane (zakodowane) jako
różne formy danych", a dane jako "informacje w
określonej fizycznej reprezentacji, zwykle jako
sekwencje symboli, które mają określone znacze-
nie; w szczególności dane, które mogą być prze-
twarzane lub produkowane przez komputer. "

RFC (ang. Request for Comments – dosłownie: prośba o komentarze) – zbiór


technicznych oraz organizacyjnych dokumentów mających formę memorandum
związanych z Internetem oraz sieciami komputerowymi. Każdy z nich ma przypisany
unikatowy numer identyfikacyjny, zwykle używany przy wszelkich odniesieniach.
Publikacją RFC zajmuje się Internet Engineering Task Force.
„Wszystko jest informacją”

Informacja jest zasobem

Zasoby posiadają określoną


wartość
Ochrona zasobów leży bezpośrednio w
interesie podmiotu który jest ich właś-
cicielem lub jest niezbędna do realizo-
wania wyznaczonych celów.

Dane jako fizyczna reprezentacja infor-


macji powinny i muszą być chronione.
Bezpieczeństwo
(bezpieczeństwo komputerowe)
Ochrona zapewniona przez zautomatyzowany system infor-
matyczny w celu osiągnięcia i zachowania integralności,
dostępności i poufności zasobów systemu informa-
tycznego (w tym sprzętu, oprogramowania, oprogramowania
wewnętrznego, informacji / danych i telekomunikacji).
Poufność
Confidentiality
• Zapewnia, że prywatne lub poufne informacje nie są
udostępniane lub ujawniane nieuprawnionym osobom
(poufność danych).

• Zapewnia, że osoby kontrolują lub wpływają na to, jakie


informacje z nimi związane mogą być gromadzone i
przechowywane oraz przez kogo i komu można je ujawnić
(prywatność).

• NIST: Zachowanie autoryzowanych ograniczeń dostępu do


informacji i ich ujawniania, w tym środków ochrony
prywatności i informacji zastrzeżonych. Utrata poufności to
nieuprawnione ujawnienie informacji.
Integralność
Integrity
• Dane nie zostały zmienione lub zniszczone w sposób
nieautoryzowany (integralność danych).

• System realizuje swoją zamierzoną funkcję w nienaru-


szony sposób, wolny od nieautoryzowanej manipulacji,
celowej lub nie (integralność systemu).

• NIST: Ochrona przed niewłaściwym rozpowszechnianiem


lub zniszczeniem informacji, w tym zapewnienie nieza-
przeczalności i autentyczności informacji. Utrata integral-
ności to nieautoryzowana modyfikacja lub zniszczenie
informacji.
Dostępność
Availability

• Właściwość bycia dostępnym do wykorzystania na


żądanie w założonym czasie przez kogoś lub coś, kto lub
co ma do tego prawo.

• NIST: Zapewnienie terminowego i niezawodnego dostępu


do informacji i ich wykorzystywania. Utrata dostępności
jest zakłóceniem dostępu lub możliwości korzystania z
informacji lub systemu informatycznego.
Autentyczność
Authenticity

• Tożsamość podmiotu lub zasobu jest taka jak deklaro-


wana; dotyczy użytkowników, procesów, systemów lub
instytucji.

• Właściwość bycia prawdziwym, zdolnym do weryfikacji i


zaufania (trusted); zaufanie co do poprawności (validity)
transmisji i jej źródła. Oznacza to także weryfikację, czy
użytkownicy są tymi, za kogo się podają.
Rozliczalność
Accountability

• Właściwość zapewniająca, że działania podmiotu mogą


być jednoznacznie przypisane tylko temu podmiotowi.

• Rozliczalność umożliwia niezaprzeczalność, „odstrasza-


nie”, izolację błędów, wykrywanie włamań i zapobieganie
im.
Niezaprzeczalność
Non-repudiation

• brak możliwości wyparcia się, ochrona przed fałszywym


zaprzeczeniem
• przez nadawcę faktu wysłania danych
• przez odbiorcę faktu otrzymania danych
Identyfikacja
Identification

• możliwość rozróżnienia użytkowników, np. użytkownicy w


systemie operacyjnym są identyfikowani za pomocą UID
(ang. user identifier)
Uwierzytelnianie
Authentication

• proces weryfikacji tożsamości użytkownika. Najczęściej


opiera się na tym:
• co użytkownik wie (knowledge factor),
• co użytkownik ma (ownership factor),
• kim lub czym użytkownik jest (inherence factor)
Autoryzacja
Authorization

• proces przydzielania użytkownikowi praw dostępu do


zasobów
Kontrola dostępu
Access Control

• system składający się z urządzeń, oprogramowania i


procedur organizacyjnych, mający na celu identyfikację
podmiotu i nadzorowanie przestrzegania praw dostępu
do zasobów
Information
Security

Internet Security

Network Security

Computer and Software Security

???
Information
Security

Internet Security

Network Security

Computer and Software Security

CZŁOWIEK
Bezpieczeństwo systemów informacyjnych
Computer Security

• Narzędzia kryptograficzne
• Kontrola dostępu
• Bezpieczeństwo baz danych i zasobów w chmurze
• Złośliwe oprogramowanie
• Ataki „Denial-of-Service”
• Systemy IDS (Intrusion Detection Systems)
• Ściany ogniowe i systemy IPS (Intrusion Prevention
Systems)
Bezpieczeństwo systemów informacyjnych
Software Security and Trusted Systems

• Ataki typu „Buffer Overflow”


• Bezpieczeństwo aplikacji
• Bezpieczeństwo systemów operacyjnych
• Bezpieczeństwo wielopoziomowe i „Trusted Computing”
Bezpieczeństwo systemów informacyjnych
Risk Management

• Zarządzanie bezpieczeństwem i ryzykiem


• Polityka bezpieczeństwa
• Bezpieczeństwo infrastruktury i zasobów
• Bezpieczeństwo „zasobów ludzkich”
• Audyty bezpieczeństwa
Bezpieczeństwo systemów informacyjnych
Network Security

• Protokoły i standardy bezpieczeństwa sieci


• Uwierzytelnianie w sieci (PKI)
• Bezpieczeństwo sieci WiFi
Jak można inaczej rozumieć
bezpieczeństwo?
System komputerowy jest bezpieczny gdy:
• użytkownik może na nim polegać,
• oprogramowanie działa zgodnie ze specyfikacją.
Dane wprowadzane do systemu:
• zachowują swoje atrybuty (wystarczające),
• nie są tracone,
• nie są modyfikowane w niekontrolowany sposób,
• nie zostaną pozyskane przez nieuprawniony podmiot.
Bezpieczeństwo a wiarygodność

System komputerowy jest wiarygodny gdy jest:


• bezpieczny (secure) - zapewnia ochronę danych,
• bezpieczny (safe) - nie stwarza zagrożeń dla otoczenia,
• dostępny (available) - działa ma bieżąco,
• niezawodny (reliable) - odporny na ataki i awarie
AGRESOR/ATAKUJĄCY

• osoba świadomie podejmująca atak na system


informatyczny/informacyjny w celu uzyskania korzyści
• kraker (ang. cracker), intruz, włamywacz, napastnik,
wandal, przestępca.
Typy ataków

• PASYWNY - atakujący ma dostęp do danych (także w kanale


komunikacyjnym) - może je czytać, ale ich nie modyfikuje

• AKTYWNY - atakujący modyfikuje dane lub je preparuje

• MAN IN THE MIDDLE - atakujący przechwytuje dane w kanale


komunikacyjnym
Typy ataków
• LOKALNY - Zainicjowany przez podmiot znajdujący się na
granicy bezpieczeństwa ("osoba wewnętrzna"). Osoba
posiadająca informacje poufne jest upoważniona do dostępu
do zasobów systemowych, ale wykorzystuje je w sposób
niezatwierdzony przez tych, którzy udzielili jej zezwolenia.

• ZDALNY - Zainicjowany „z zewnątrz” przez nieautoryzowa-


nego lub nieuprawnionego użytkownika systemu ("outsider"). W
Internecie potencjalni zewnętrzni napastnicy to amatorzy
dowcipnisie, zorganizowani przestępcy, międzynarodowi
terroryści i wrogie rządy.
Formy ataków
• EAVESDROPPING - podsłuch, najczęściej analiza ruchu
sieciowego.
• REPLAYING - odtwarzanie, atakujący używa ponownie
zebranych wcześniej danych.

• MASQUERADING - podszywanie się, atakujący daje zaufany


lub uwierzytelniony podmiot.

• TAMPERING - manipulacja, akt celowego modyfikowania


(niszczenia, manipulowania lub edytowania) danych przez
nieautoryzowane kanały.

• EXPLOITING - atakujący posługuje się wiedzą o znanym


błędzie w oprogramowaniu lub gotowym narzędziem
wykorzystującym taki błąd.
Fazy ataku

1. Skanowanie – szukanie słabości, np. sondowanie usług


2. Wyznaczenie celu, np. niezabezpieczona usługa, znany
exploit
3. Atak na system
4. Modyfikacja systemu umożliwiająca późniejszy powrót
5. Usuwanie śladów
6. Propagacja ataku
Przestępstwa związane z
bezpieczeństwem

• włamanie do systemu komputerowego,


• nieuprawnione pozyskanie informacji,
• destrukcja danych i programów,
• sabotaż (sparaliżowanie pracy) systemu,
• piractwo komputerowe, kradzież oprogramowania,
• oszustwo komputerowe i fałszerstwo komputerowe,
• szpiegostwo komputerowe.
Według ekspertów Rady Europy przestępstwa komputerowe dzielą się na
grupy:
• oszustwo związane z wykorzystaniem komputera,
• fałszerstwo komputerowe,
• zniszczenie danych lub programów komputerowych,
• sabotaż komputerowy,
• obrażanie innych osób w sieci
• „wejście” do systemu komputerowego przez osobę nieuprawnioną
(patrz: cracking, haker),
• „podsłuch” komputerowy,
• bezprawne kopiowanie, rozpowszechnianie lub publikowanie
programów komputerowych prawnie chronionych,
• bezprawne kopiowanie topografii półprzewodników,
• podszywanie się pod inne osoby lub pod firmy
• modyfikacja danych lub programów komputerowych,
• szpiegostwo komputerowe,
• używanie komputera bez zezwolenia,
• używanie prawnie chronionego programu komputerowego bez
upoważnienia,
• metoda salami.
Obszary w których prawnie
wymagana jest ochrona
danych i informacji
Prawo dotyczące
Prawo Prawo Prawo
ochrony danych
oświatowe bankowe finansowe
odobowych

Prawo dotyczące Prawo


Prawo Prawo
informatyzacji telekomunika-
przemysłowe archiwalne
państwa cyjne

Prawo dotyczące
Prawo Prawo z zakresu
statystyki ?
autorskie ochrony zdrowia
publicznej
Wybrane akty prawne wymagające
bezpieczeństwa informacyjnego
Ustawa o ochronie danych osobowych
Ustawa o ochroni informacji niejawnych
Ustawa o podpisie elektronicznym
Ustawa o świadczeniu usług drogą elektroniczną
Ustawa o finansach publicznych
Ustawa o rachunkowości
Ustawa o dostępie do informacji publicznej
Ustawa o systemie informacji oświatowej
Ustawa o narodowym zasobie archiwalnym i archiwach
Ustawa o prawie autorskim i prawach pokrewnych
Kodeks karny - Rozdział XXXIII kodeksu dotyczy przestępstw
przeciwko ochronie informacji
Prawo
• Art. 267. §1. Kto bez uprawnienia uzyskuje informację dla
niego nie przeznaczoną, otwierając zamknięte pismo,
podłączając się do przewodu służącego do przekazywania
informacji lub przełamując elektroniczne, magnetyczne albo
inne szczególne jej zabezpieczenie, podlega grzywnie, karze
ograniczenia wolności albo pozbawienia wolności do lat 2.
• §2. Tej samej karze podlega, kto w celu uzyskania
informacji, do której nie jest uprawniony, zakłada lub
posługuje się urządzeniem podsłuchowym, wizualnym albo
innym urządzeniem specjalnym.
• §3.Tej samej karze podlega, kto informację uzyskaną w
sposób określony w § 1 lub 2 ujawnia innej osobie.
• §4. Ściganie przestępstwa określonego w § 1–3 następuje
na wniosek pokrzywdzonego.
Prawo
• Art. 268. §1. Kto, nie będąc do tego uprawnionym, niszczy,
uszkadza, usuwa lub zmienia zapis istotnej informacji albo
w inny sposób udaremnia lub znacznie utrudnia osobie
uprawnionej zapoznanie się z nią, podlega grzywnie, karze
ograniczenia wolności albo pozbawienia wolności do lat 2.
• §2. Jeżeli czyn określony w § 1 dotyczy zapisu na
komputerowym nośniku informacji, sprawca podlega karze
pozbawienia wolności do lat 3.
• §3.Kto, dopuszczając się czynu określonego w § 1 lub 2,
wyrządza znaczną szkodę majątkową, podlega karze
pozbawienia wolności od 3 miesięcy do lat 5.
• §4. Ściganie przestępstwa określonego w § 1–3 następuje
na wniosek pokrzywdzonego.
Prawo

• Art. 269. §1. Kto, na komputerowym nośniku informacji,


niszczy, uszkadza, usuwa lub zmienia zapis o szczególnym
znaczeniu dla obronności kraju, bezpieczeństwa w komuni-
kacji, funkcjonowania administracji rządowej, innego organu
państwowego lub administracji samorządowej albo zakłóca
lub uniemożliwia automatyczne gromadzenie lub przekazy-
wanie takich informacji, podlega karze pozbawienia wol-
ności od 6 miesięcy do lat 8.
• §2. Tej samej karze podlega, kto dopuszcza się czynu
określonego w § 1, niszcząc albo wymieniając nośnik
informacji lub niszcząc albo uszkadzając urządzenie służące
automatycznemu przetwarzaniu, gromadzeniu lub przesyła-
niu informacji.
Prawo

• Art. 287. §1. Kto, w celu osiągnięcia korzyści majątkowej lub


wyrządzenia innej osobie szkody, bez upoważnienia,
wpływa na automatyczne przetwarzanie, gromadzenie lub
przesyłanie informacji lub zmienia, usuwa albo wprowadza
nowy zapis na komputerowym nośniku informacji, podlega
karze pozbawienia wolności od 3 miesięcy do lat 5.
• §2. W wypadku mniejszej wagi, sprawca podlega grzywnie,
karze ograniczenia wolności albo pozbawienia wolności do
roku.
• §3. Jeżeli oszustwo popełniono na szkodę osoby najbliższej,
ściganie następuje na wniosek pokrzywdzonego.
nakazuje nam
Prawo
zrobienie czegoś

jak należy
Normy
to zrobić
Rodzina norm
ISO/IEC 270XX
Information technology -- Security techniques -- Information security
ISO/IEC 27000:2018 management systems -- Overview and vocabulary

Information technology -- Security techniques -- Information security


ISO/IEC 27001:2013 management systems -- Requirements

PN-EN ISO/IEC Technika informatyczna — Techniki bezpieczeństwa — Systemy zarządzania


27001:2017-06 bezpieczeństwem informacji — Wymagania

Information technology -- Security techniques -- Code of practice for


ISO/IEC 27002:2013 information security controls

PN-EN ISO/IEC Technika informatyczna — Techniki bezpieczeństwa — Praktyczne zasady


27002:2017-06 zabezpieczania informacji

Information technology -- Security techniques -- Information security


SO/IEC 27003:2017 management systems -- Guidance

Information security management — Monitoring, measurement, analysis and


ISO/IEC 27004:2016 evaluation

PN-ISO/IEC Technika informatyczna — Techniki bezpieczeństwa — Zarządzanie


27004:2017-07 bezpieczeństwem informacji — Monitorowanie, pomiary, analiza i ocena

Information technology -- Security techniques -- Information security risk


ISO/IEC 27005:2011 management

PN-ISO/IEC Technika informatyczna -- Techniki bezpieczeństwa -- Zarządzanie ryzykiem


27005:2014-01 w bezpieczeństwie informacji
Information technology -- Security techniques -- Requirements for bodies
ISO/IEC 27006:2015 providing audit and certification of information security management systems

PN-ISO/IEC Technika informatyczna -- Techniki bezpieczeństwa -- Wymagania dla


jednostek prowadzących audyt i certyfikację systemów zarządzania
27006:2016-12 bezpieczeństwem informacji

Information technology -- Security techniques -- Guidelines for information


ISO/IEC 27007:2017 security management systems auditing

PN-ISO/IEC Technika informatyczna -- Techniki bezpieczeństwa -- Wytyczne do


27013:2014-01 zintegrowanego wdrożenia ISO/IEC 27001 oraz ISO/IEC 20000-1

PN-ISO/IEC Technika informatyczna -- Techniki bezpieczeństwa -- Praktyczne zasady


27017:2017-07 zabezpieczenia informacji na podstawie ISO/IEC 27002 dla usług w chmurze

ISO/IEC 27032:2012 Information technology -- Security techniques -- Guidelines for cybersecurity

www.pkn.pl
www.iso.org
Common Criteria
Międzynarodowa norma Common Criteria (CC) definiuje kryteria
oceny bezpieczeństwa systemów teleinformatycznych.

Standard ISO/IEC 15408 Common Criteria for Information Security Evaluation


(Wspólne kryteria do oceny zabezpieczeń informatycznych) składa się z
trzech części:
• ISO/IEC 15408-1 (CC Part 1) zawiera: wprowadzenie, opis modelu
zarządzania ryzykiem i kreowania uzasadnionego zaufania oraz struktur
podstawowych dokumentów, opracowywanych na potrzeby certyfikacji
produktu lub systemu;
• ISO/IEC 15408-2 (CC Part 2) zawiera katalog komponentów
funkcjonalnych (ang. functional components) służących do modelowania
funkcjonalnych wymagań bezpieczeństwa;
• ISO/IEC 15408-3 (CC Part 3) zawiera katalog komponentów
uzasadniających zaufanie (ang. assurance components), służących do
modelowania wymagań uzasadniających zaufanie do funkcji zabezpie-
czających.
Common Criteria
Common Criteria zaleca stosowanie rygorystycznych wymagań dla
procesów rozwoju, produkcji i utrzymania produktów IT po to, aby
użytkownicy mogli mieć pewność, że stosowane w tych
produktach zabezpieczenia są poprawne i efektywne. Zaufanie do
produktu jest dodatkowo potwierdzane w drodze niezależnej oceny
i certyfikacji wykonywanych przez akredytowane laboratoria i
instytucje.

PN-ISO/IEC Technika informatyczna -- Techniki bezpieczeństwa -- Kryteria oceny


15408-1:2016-10 zabezpieczeń informatycznych -- Część 1: Wprowadzenie i model ogólny

Technika informatyczna -- Techniki bezpieczeństwa -- Kryteria oceny


PN-ISO/IEC
zabezpieczeń informatycznych -- Część 2: Komponenty funkcjonalne
15408-2:2016-10 zabezpieczeń

Technika informatyczna -- Techniki bezpieczeństwa -- Kryteria oceny


PN-ISO/IEC
zabezpieczeń informatycznych -- Część 3: Komponenty uzasadnienia
15408-3:2016-10 zaufania do zabezpieczeń
Orange Book
Trusted Computer System Evaluation Criteria

Dokument powstały z inicjatywy Agencji Bezpieczeństwa


Narodowego Departamentu Obrony USA (NSA DoD) oraz
Narodowego Biura Standaryzacji (NIST). Wydany w 1983
roku w postaci pomarańczowej książeczki, której
zawdzięcza swoją nieoficjalną nazwę. Dokument ten
opisuje podstawowe wymagania jakie muszą spełnić środki
ochrony w systemie komputerowym do przetwarzania
informacji podlegającej ochronie. Dokument został
zaktualizowany w roku 1985 a następnie zastąpiony przez
międzynarodowy standard Common Criteria.
Orange Book
Trusted Computer System Evaluation Criteria

Dokument koncentruje się na sposobach zapewnienia


poufności informacji i wyróżnia 4 poziomy kryteriów:

D1 — C1 C2 — B1 B2 B3 — A1
Orange Book
Trusted Computer System Evaluation Criteria

D1

Ochrona minimalna (ang. Minimal Protection)


Obejmuje systemy, które posiadają jedynie fizyczną ochronę
przed dostępem. W systemach tej klasy, każdy kto posiada
fizyczny dostęp do komputera, ma nieskrępowany dostęp do
wszystkich jego zasobów. Przykładem systemu tej klasy jest
komputer IBM PC z systemem MS-DOS bez zabezpieczeń
hasłowych.
Orange Book
Trusted Computer System Evaluation Criteria

C1
Ochrona uznaniowa (ang. Discretionary Protection)
Zapewnia elementarne bezpieczeństwo użytkownikom pracu-
jącym w środowisku wieloużytkownikowym i przetwarzającym
dane o jednakowym poziomie tajności. Systemy C1 stosują
sprzętowe lub programowe mechanizmy identyfikacji i
upoważniania użytkowników. System zabezpiecza dane
identyfikacyjne i hasła przed niepowołanym dostępem.
Identyfikacja użytkowników powinna być wykorzystywana w
każdym trybie dostępu do zasobu. Każdy użytkownik ma
pełną kontrolę nad obiektami, które stanowią jego własność.
Większość systemów unixowych zalicza się do tej klasy.
Orange Book
Trusted Computer System Evaluation Criteria

C2
Ochrona z kontrola dostępu (ang. Controled Access
Protection). Udostępnia prowadzenie dla każdego użytkow-
nika indywidualnie dziennika zdarzeń, związanych z bezpie-
czeństwem oraz środki do określania zakresu rejestrowanych
zdarzeń (podsystem Audit). Systemy tej klasy posiadają
rejestrację zdarzeń i rozszerzoną identyfikację użytkowni-
ków. Poziom C2 stawia też dodatkowe wymagania dotyczące
szyfrowania haseł, które muszą być ukryte w systemie
(niedostępne dla zwykłych użytkowników).
Orange Book
Trusted Computer System Evaluation Criteria

B1
Ochrona z etykietowaniem (ang. Labeled Security
Protection). Pierwszy z poziomów wprowadzający różne
stopnie tajności (np. "tajne", "poufne" itp.). W systemach tej
klasy stosuje się etykiety określające stopień tajności dla
podmiotów (procesów, użytkowników) i przedmiotów (plików).
Zezwolenie na dostęp do danych zapisanych w pliku
udzielane jest podmiotom na podstawie analizy etykiet.
Opatrzone etykietami procesy, pliki oraz urządzenia zawierają
pełny opis stopnia tajności obiektu oraz jego kategorii.
Orange Book
Trusted Computer System Evaluation Criteria

B2
Ochrona strukturalna (ang. Structured Protection).
Określa wymagania, sprowadzające się do takich elementów,
jak: etykietowanie każdego obiektu w systemie, strukturalna,
sformalizowana polityka ochrony systemu, przeprowadzenie
testów penetracyjnych dla wykrycia ewentualnych "dziur" w
modelu. Uprawnienia do zmian pełnomocnictw w zakresie
dostępu do obiektów są zastrzeżone dla autoryzowanych
użytkowników. Nie ma możliwości odzyskania skasowanych
informacji.
Orange Book
Trusted Computer System Evaluation Criteria

B3
Ochrona przez podział (ang. Security Domains).
Wymusza izolację pewnych dziedzin (obszarów). Części
systemu istotne ze względu na bezpieczeństwo przetwarzania
powinny być oddalone od części zapewniających użytkowni-
kowi pewne użyteczne dla niego funkcje, ale niemające
związku z bezpieczeństwem przetwarzania. Mechanizmy
zarządzania pamięcią chronią daną dziedzinę przed dostę-
pem lub modyfikacją ze strony oprogramowania funkcjonują-
cego w innej dziedzinie. Tworzona jest wielowarstwowa
struktura abstrakcyjnych, odseparowanych wzajemnie ma-
szyn z wydzielonymi prawami ochrony. Nadzorowaniu w
zakresie spełnienia wymagań podlega również proces
projektowania systemu.
Orange Book
Trusted Computer System Evaluation Criteria

A1

Konstrukcja zweryfikowana (ang. Verified Design)


Wymaga formalnego matematycznego dowodu poprawności
modelu bezpieczeństwa, jak również formalnej specyfikacji
systemu i bezpiecznej dystrybucji. Jak dotąd, bardzo niewiele
systemów uzyskało certyfikat tego poziomu.
Nie ma czegoś takiego jak
absolutne bezpieczeństwo.
Bezpieczeństwo jest zawsze
związane z ekonomią.
Utrzymuj poziom wszystkich
zabezpieczeń na tym samym
poziomie.
Atakujący nie będzie „przedzierał
się” przez zabezpieczenia, będzie je
obchodził.
Stosuj zabezpieczenia
wielopoziomowe.
Nie należy polegać na
bezpieczeństwie opartym na
„zaciemnianiu”
Nie należy dawać osobie lub
programowi większych uprawnień
niż są im potrzebne do wykonania
zadania.
Bezpieczeństwo powinno być
integralnym elementem projektu.
Program lub protokół jest
uważany za „niebezpieczny”
dopóty dopóki jego
bezpieczeństwo ie zostanie
dowiedzione.
Bezpieczeństwo to kompromis z
wygodą.
Keep it simple
Bezpieczeństwo systemów informatycznych

dr Marek Miśkiewicz
October, 2022
Instytut Informatyki UMCS
Elementy kryptografii
Kryptografia symetryczna i strumieniowa
Uwierzytelnianie wiadomości
Kryptografia asymetryczna - klucze publiczne i prywatne
Podpisy cyfrowe
Elementy kryptografii

0
Kryptografia symetryczna

• Podstawowa metoda dla zapewnienia poufności


transmitowanych danych.
• Oparta na pojedynczym kluczu szyfrującym.
• Dla zapewnienia bezpieczeństwa wymaga się:
• silnego algorytmu
• nadawca i odbiorca muszą posiadać (współdzielić) ten sam
klucz (trzymany w sekrecie)

1
Kryptografia symetryczna

Secret key shared by Secret key shared by


sender and recipient sender and recipient

K K

Transmitted
X ciphertext
Y = E[K, X] X = D[K, Y]

Plaintext Plaintext
Encryption algorithm Decryption algorithm
input output
(e.g., DES) (reverse of encryption
algorithm)

Figure 2.1 Simplified Model of Symmetric Encryption

2
Kryptografia symetryczna - ataki

Ataki kryptoanalityczne

• Bazują na:
• ”naturze” algorytmu
• wiedzy na temat charakterystyki tekstu jawnego
• próbkach tekstu jawnego i szyfrogramu
• Wykorzystują charakterystyczne cechy algorytmu do
odkrycia właściwości użytego tekstu jawnego lub klucza.
Celem jest najczęściej ujawnienie klucza, co z kolei
oznacza, że wszystkie szyfrogramy powiązane z tym
kluczem zostają ”skompromitowane”.

3
Kryptografia symetryczna - ataki

Ataki typu ”brute-force”

• W tym przypadku przegląda się całą przestrzeń kluczy,


deszyfrując szyfrogram w poszukiwaniu ”sensownego”
tekstu jawnego. W rzeczywistości zazwyczaj wystarcza
przejrzenie połowy wszystkich kluczy.

4
Porównanie DES, 3DES i AES

DES - Data Encryption Standard


3DES - Triple DES
AES - Advanced Encryption Standard
DES 3DES AES
Plaintext block size (bits) 64 64 128
Cipher text block size (bits) 64 64 128
Key size (bits) 56 112, 168 128, 192, 256

5
Kryptografia symetryczna

DES

• Do niedawna najczęściej stosowany


• Określany jak DEA - Data Encryption Standard
• Używa 65 bitowych bloków tekstu jawnego i klucza 56
bitowego produkując 64 bitowy szyfrogram

Podatności:

• Najlepiej zbadany algorytm (analitycznie)


• Przy współczesnej szybkości obliczeniowej długość klucza
jest ”żałośnie” niewystarczająca

6
Kryptografia symetryczna

Średni czas potrzebny na znalezienie klucza:

Klucz (bity) Algorytm Liczba kluczy 109 dec/s 1013 dec/s


56 DES 256 ≈ 7.2 · 1016 55
2 ns = 1.125y 1h
128 AES 2128 ≈ 3.4 · 1038 2127 ns = 5 · 1021 y 5.3 · 1017 y
168 3 DES 2168 ≈ 3.7 · 1050 2167 ns = 5.8 · 1033 y 5.8 · 1029 y
192 AES 2192 ≈ 6.3 · 1057 2191 ns = 9.8 · 1040 y 9.8 · 1036 y
256 3 AES 2256 ≈ 1.2 · 1077 2255 ns = 5.8 · 1060 y 1.8 · 1056 y

7
3DES - Triple DES

• Powiela trzykrotnie algorytm DES używając dwóch lub


trzech unikalnych kluczy
• ANSI standard X9.17 dla operacji finansowych (1985)
• Zalety:
• klucz 168 bitowy znacznie utrudnia ataki brute-force
• u podstawy zwykły algorytm DES
• Wady:
• powolna implementacja sprzętowa
• nadal tylko 64 bitowe bloki danych

8
AES - Advanced Encryption Standard

• Konieczność zastąpienia 3DES’a , który w perspektywie


długoterminowej nie nadawał się do użycia
• Konkurs NIST:
• Bezpieczeństwo na poziomie nie niższym niż 3DES
• Duża wydajność (szybkość algorytmu)
• symetryczny szyfr blokowy
• bloki 128 bitowe i klucz o rozmiarach 128, 192, 256 bitów
• Rijandael (listopad 2001) wybrany jako AES

9
Kwestje bezpieczeństwa

• Zazwyczaj szyfrowanie symetryczne stosuje dię do bloku


danych o rozmiarze 64 lub 128 bitowe. Oznacza to
konieczność dzielenia danych wejściowych na bloki.
• tryb ECB (Electronic Code Book) - każdy blok jest
szyfrowany tym samym kluczem - podejście najprostsze
ale najbardziej niebezpieczne - mamy wiele szyfrogramów
za szyfrowanych tym samym kluczem.
• Tryb CBC (Cipher block chaining) - kolejne bloki tekstu
jawnego przed szyfrowaniem są ”xorowane” z
zaszyfrowanymi blokami poprzedzającymi

10
Tryb ECB
23.10.2020 Block cipher mode of operation - Wikip

11
Tryb cbc
23.10.2020 Block cipher mode of operation - Wikipedia

12
If the first block has index 1, the mathematical formula for CBC encryption is
Tryb CFB

13
https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation
Tryb OFB

14
Each output feedback block cipher operation depends on all previous ones, and so cannot be perfor
or ciphertext is only used for the final XOR, the block cipher operations may be performed in adv
Tryb PCBC
23.10.2020 Block cipher mode of operation - Wikipedia

15
Encryption and decryption algorithms are as follows:
Tryb CTR
23.10.2020 Block cipher mode of operation - Wikipedia

16
Error propagation
Szyfry blokowe a szyfry strumieniowe

Szyfry blokowe
• dane wejściowe przetwarzane są po jednym bloku
elementów naraz
• tworzony jest blok wyjściowy dla każdego bloku
wejściowego
• klucz używany jest wielokrotnie
• duża powszechność
Szyfry strumieniowe
• szyfrują dane wejściowe w sposób ciągły
• bajt (bit) wej. −→ bajt (bit) wyj.
• duża szybkość działania ↔ bardzo proste algorytmy
• maksymalna entropia szyfrogramu dla ”losowego klucza”
17
W domu
Trzy przykłady szyfrów blokowych.
Trzy przykłady szyfrów strumieniowych

18
Uwierzytelnianie wiadomości

• Ochrona przed atakami aktywnymi


• Wiadomość zweryfikowana jest ”autentyczna”
• nie zmieniono treści - integralność
• potwierdzone źródło - niezaprzeczalność
• czas i właściwa kolejność
• Można wykorzystać kryptografię symetryczną (przy
założeniu, że tylko nadawca i odbiorca współdzielą klucz)

19
Uwierzytelnianie wiadomości bez zachowania poufności

• Szyfrowanie wiadomości nie zapewnia bezpiecznej formy


uwierzytelnienia
• Można połączyć uwierzytelnienie i poufność w jednym
algorytmie szyfrując wiadomość oraz podpis
uwierzytelniający
• Najczęściej, podpis wiadomości zapominany jest poprzez
oddzielną funkcję

20
Uwierzytelnianie wiadomości bez zachowania poufności

• Sytuacje, gdzie uwierzytelnienie bez szyfrowania może być


preferowane:
• komunikaty rozsyłane tekstem jawnym do wielu odbiorców
(sieć)
• ”heavy load” - brak czasu na deszyfrowanie
• podpisywanie programów komputerowych

21
Kryptografia symetryczna
Message

MAC
Transmit algorithm

Compare

MAC
algorithm
MAC

Figure 2.3 Message Authentication Using a Message


Authentication Code (MAC).

22
Kryptografia symetryczna

Source A Destination B
Message

Message

Message
H

Compare
H K K

E D
(a) Using symmetric encryption
Message

Message

Message
H
23
Kryptografia
H Ksymetryczna K
Compare

E D
(a) Using symmetric encryption
Message

Message

Message
H

Compare
H PRa PUa

E D
(b) Using public-key encryption
K K
Message

Message

Message H

24
K K
Kryptografia symetryczna Compare
H PRa PUa

E D
(b) Using public-key encryption
K
Message K

Message

Message
H

K K
Compare
H

(c) Using secret value


Figure 2.5 Message Authentication Using a One-Way Hash Function.

25
Uwierzytelnianie wiadomości

Jednokierunkowe funkcje skrótu

• MD5 - Message-Digest algorithm 5: ”dowolny ciąg


wejściowy” −→ kod 128 bitowy
”marek” −→ e061c9aea5026301e7b3ff09e9aca2cf
• SHA - Secure Hash Algorithm

Algorytm Rozmiar skrótu Kolizje


SHA-0 160 Tak
SHA-1 160 Tak (251 )
SHA-2 SHA-256/224 256/224 Nie
SHA-2 SHA-512/384 512/384 Nie

26
Funkcje skrótu H(x)

Właściwości:

• działa an bloku danych dowolnej długości


• produkuje wynik określonej stałej długości
• H(x) musi być ”łatwa” do obliczenia dla danego x
• jednokierunkowa, ”pre-image resistant”
• odporna na kolizje (x ̸= y i H(x) = h(y))

27
Funkcje skrótu - kwestje bezpieczeństwa

Metody kryptoanalityczne - wykorzystanie słabości algorytmu

Metody ”Brute-force” - siła funkcji skrótu zależy od długości


skrótu, który funkcja generuje

Funkcje jednokierunkowe (niekonieczne haszujące):

• PBKDF - Password Based Key Derivation Function


• bcrypt - ”work factor”

28
Funkcje skrótu

Inne aplikacje:

• sposób zapisywania haseł w systemie


• IDS - Intrusion Detection - zapisywanie w ”bezpieczny
sposób” skrótów plików

29
Kryptografia asymetryczna

• Koncepcja zaproponowana przez Diffie’go i Hellmana w


1976 r.
• Bazuje na algebrze dyskretnej
• Asymetryczność:
• dwa ”sprzężone klucze”:
• klucz prywatny - trzymany w sekrecie
• klucz publiczny - dostępny publicznie
• Rozwiązuje problem dystrybucji klucza

30
Bobs's
public key
ring
Joy
Ted
Mike Alice

PUa Alice's public PRa Alice 's private


key key

Transmitted X=
X ciphertext D[PRa, Y]

Y = E[PUa, X]
Plaintext Plaintext
Encryption algorithm Decryption algorithm
input output
(e.g., RSA)

Bob (a) Encryption with public key Alice

Alice's
public key
ring
Joy
Ted 31
Bob (a) Encryption with public key Alice

Alice's
public key
ring
Joy
Ted
Mike Bob

PRb Bob's private PUb Bob's public


key key

X=
X Transmitted D[PUb, Y]
ciphertext

Y = E[PRb, X]

Plaintext Plaintext
Encryption algorithm Decryption algorithm
input output
(e.g., RSA)

Bob (b) Encryption with private key Alice

Figure 2.6 Public-Key Cryptography


UWAGA
Szyfrowanie kluczem prywatnym ma tu szczególny sens!

32
Kryptografia asymetryczna

Systemy kryptograficzne bazujące na koncepcji klucza


publicznego:
Algorytm Podpis Dystrybucja Szyfrowanie
cyfrowy klucza sym. kluczy
RSA tak tak tak
Diffie-Hellman nie tak nie
DSS tak nie nie
Elliptic Curve tak tak tak

33
Kryptografia asymetryczna

Wymagania:

• łatwość wyliczania pary kluczy


• wydajny system dystrybucji kluczy publicznych
• duża złożoność obliczeniowa dla próby ustalenia klucz
prywatnego na podstawie publicznego
• łatwość w odszyfrowaniu wiadomości z wykorzystaniem
klucza prywatnego
• ”silny” algorytm szyfrujący

34
Kryptografia asymetryczna - algorytmy

• RSA - Rivest, Shamir, Adleman


• wynaleziony w 1977 r. i szeroko stosowany
• bazuje na problemie faktoryzacji (dane to liczby z
przedziału od 0 to n − 1 dla pewnego n)
• udana faktoryzacja klucza 768 bitowego
• akceptowane kucze (ze względu na bezpieczeństwo) 2048 i
4096 bitów
• duże zagrożenie stanowi ”komputer kwantowy”

35
Kryptografia asymetryczna - algorytmy

• Protokół wymiany klucza Diffie’go - Hellmana


• pozwala dwóm użytkownikom na bezpieczną wymianę
klucza lub sekretu - jedyna funkcja algorytmu (możliwe
rozszerzenia na większa liczbę użytkowników)
• intruz w kanale komunikacyjnym na podstawie
przechwyconych danych nie jest w stanie ustalić wartości
klucza −→ możliwy jest jednak atak typu
”man-in-the-middle”

36
g = publiczna podstawa. g = 5
Algorytm wymiany
p = publiczna (pierwsza) klucza
liczba. p = 23diffie’go-Hellmana
a = tajna wartość Alicji. a = 6
A = publiczna wartość Alicji. A = ga mod p = 8
b = tajna wartość Boba. b = 15
B = publiczna wartość Boba. B = gb mod p = 19

Alicja Bob Ewa


wie nie wie wie nie wie wie nie wie
p = 23 b=? p = 23 a=? p = 23 a=?
podstawa g = 5 podstawa g = 5 podstawa g = 5 b=?
a=6 b = 15 s=?

A = 56 mod 23 = 8 B = 515 mod 23 = 19 A = 5a mod 23 = 8

B = 5b mod 23 = 19 A = 5a mod 23 = 8 B = 5b mod 23 = 19

s = 196 mod 23 = 2 s = 815 mod 23 = 2 s = 19a mod 23

s = 8b mod 23 = 2 s = 19a mod 23 = 2 s = 8b mod 23

s = 196 mod 23 = 8b mod 23 s = 815 mod 23 = 19a mod 23 s = 19a mod 23 = 8b mod 23
s=2 s=2

Uwaga: Powinno być trudno Alicji odgadnąć tajną wartość Boba (i vice versa). Ewa mogłaby bowiem podmie
publiczną wartość Boba w miejsce jej prywatnej, generując w ten sposób fałszywy współdzielony klucz tajny. N
Ewa
wartośćnie
Bobajest
(oraz w stanie
użyć poznać
jej do obliczenia wartości
tajnego sekretu s Ewa
klucza współdzielonego). mimo
może stałej
próbować wybrać parę w
obliczyć prywatną wartość Boba.
obecności w kanale komunikacyjnym.
Uogólnienie na więcej niż dwie strony
37
https://pl.wikipedia.org/wiki/Protokół_Diffiego-Hellmana
Kryptografia asymetryczna - algorytmy

• DSS - Digital Signature Standard


• standard NIST dla podpisów cyfrowych
• dopuszcza stosowanie algorytmów SHA-1 i SHA-2
• ECC - Elliptic Curve Cryptography
• oparte na złożoności obliczeniowej dyskretnych
logarytmów na krzywych eliptycznych
• ECC oferuje bezpieczeństwo porównywalne do RSA przy
znacznie krótszych kluczach
• klucz RSA o długości 1024 bitów jest równoważny
bezpieczeństwu klucza ECC o długości 160 bitów

38
Podpisy cyfrowe

NIST FIPS PUB 186-4 definiuje podpis cyfrowy jako:

”Wynik kryptograficznej transformacji danych, który


odpowiednio zaimplementowany zapewnia mechanizm
weryfikacja uwierzytelnienia pochodzenia, integralności
danych i niezaprzeczalności podpisu.

Podpis cyfrowy jest zależnym od danych wzorcem bitowym,


generowanym przez algorytm jako funkcja pliku, wiadomości
lub innej formy bloku danych.

39
Podpisy cyfrowe

FIPS 186-4 określa użycie jednego z trzech algorytmów podpisu


cyfrowego:

• DSA - Digital Signature Algorithm


• RSA Digital Signature Algorithm
• ECDSA - Elliptic Curve Digital Signature Algorithm

40
Idea podpisu cyfrowego
Bob Alice

Message M Message M S

Cryptographic Cryptographic
hash hash
function function

Bob’s
h Bob’s h
public
private
key
key

Digital Digital
signature signature
generation verification
algorithm algorithm

Message M S Return
signature valid
Bob’s or not valid
signature
for M

(a) Bob signs a message (b) Alice verifies the signature

Figure 2.7 Simplified Depiction of Essential


Elements of Digital Signature Process
Uproszczone przedstawienie podstawowych elementów procesu skłdania podpisu
cyfrowego 41
Poświadczenie certyfikatem

Unsigned certificate: Bob's ID


contains user ID, Generate hash code
information
user's public key, of certificate not
as well as information including signature
concerning the CA Bob's public key
H

H CA
information

SG SV Return signature
valid or not valid
Generate hash Signed certificate
code of unsigned
certificate

Generate digital signature Verify digital signature


using CA's private key using CA's public key

Create signed Use certificate to


digital certificate verify Bob's public key

Figure 2.8 Public-Key Certificate Use


42
Koperta cyfrowa - szyfrowanie dużej ilości danych

UWAGA
Kryptografia symetryczna posiada limit danych wejściowych
dla szyfrowania!

Message E
Encrypted
Random message
symmetric
key
Digital
E envelope

Receiver's Encrypted
public symmetric
key key

(a) Creation of a digital envelope

D Message 43
E envelope
Koperta cyfrowa - szyfrowanie dużej
Receiver's Encryptedilości danych
public symmetric
key key

(a) Creation of a digital envelope

D Message
Encrypted
message Random
symmetric
key
Digital
envelope D
Encrypted Receiver's
symmetric private
key key

(b) Opening a digital envelope

Figure 2.9 Digital Envelopes

44
W domu
GnuPG i PGP
Public Key Infrastructure

45
Certified Information Systems Security Professional
(CISSP®)
Common Body of Knowledge Review:
Cryptography Domain –
Part 1

Version: 5.9.2

http://opensecuritytraining.info/CISSP-Main.html

CISSP Common Body of Knowledge Review by Alfred Ouyang is licensed under the Creative Commons
Attribution-NonCommercial-ShareAlike 3.0 Unported License. To view a copy of this license, visit
http://creativecommons.org/licenses/by-nc-sa/3.0/ or send a letter to Creative Commons, 444 Castro Street, Suite
900, Mountain View, California, 94041, USA.
Learning Objective

Cryptography Domain
The Cryptography domain addresses the principles, means, and
methods of applying mathematical algorithms and data
transformations to information to ensure its integrity, confidentiality,
and authentication.
The candidate is expected to know basic concepts within
cryptography; public and private key algorithms in terms of their
applications and uses; algorithm construction, key distribution and
management, and methods of attack; the applications, construction
and use of digital signatures to provide authenticity of electronic
transactions, and non-repudiation of the parties involved; and the
organization and management of the Public Key Infrastructure
(PKIs) and digital certification and management.

Reference: CISSP CIB, January 2012 (Rev. 5)

-2-
Topics

Cryptography Domain – Part 1


• Terms, Definition, Concept & History
• Cipher Types
– Classic Ciphers
– Modern Ciphers
• Cryptographic Algorithms
– Hash Function Cryptography
– Symmetric Key Cryptography
– Asymmetric Key Cryptography
– Hybrid Cryptography

-3-
Topics

Cryptography Domain – Part 2


• Utilization of cryptography
– Public Key Infrastructure (PKI)
– HTTP, S-HTTP, IPsec, SSH, SET
– Single Sign-On (SSO)
– Secured E-mail
• Types of crypto attacks
– Crypto-analytic Attacks
– Cryptographic Attacks
• Discussion on export of crypto technologies

-4-
Concept

Security Principles and Cryptography


Objectives of Cryptography:
• Confidentiality – unauthorized persons cannot access
information.
• Integrity – ensures the message remains unmodified.

Cryptography provides:
• Confidentiality – Encryption.
• Integrity – Hash/Message Digest.
– Authentication – to verify the identity of a subject.
– Non-repudiation – sender can’t deny sending.
• Authentication – Is NOT part of the “C.I.A. Triad”.
C.I.A. – Confidentiality, Integrity, Availibility

-5-
Terms & Definition

Cryptograph … (1/3)
• Cryptography – the science of secret writing.
• Cryptology – the study of cryptography and
cryptanalysis.

• Cryptosystem – hardware and/or software


implementation of cryptography.
• Algorithm – a precise rule (or set of rules) specifying
how to solve some problem or accomplish a specific
task.
• Cipher – cryptographic transformation operating with
bits or characters.

-6-
Terms & Definition

Cryptograph … (2/3)
• Plaintext/Cleartext – data in unscrambled form.
• Ciphertext/Cryptogram – scrambled data.

• Encipher/Encrypt/Encode – act of scrambling using key.


• Decipher/Decrypt/Decode – descrambling with key.

• Cryptanalysis – the practice of breaking cryptosystems


or obtaining plaintext from cipher text without a key.
• Work Factor – time, effort, and resources necessary to
break a cryptosystem.

-7-
Terms & Definition

Cryptograph … (3/3)
• Key – For crypto, a secret value in the form of a sequence
of characters used to encrypt and decrypt.
• Key clustering – instance where two keys generate the
same ciphertext from same plaintext.

• Keyspace – All possible values used to construct keys.


The larger keyspace the better.
• Initialization Vector (IV) – In crypto, IV is a block of bits
used as the initializing input algorithm for the encryption of
a plaintext block sequence.
– IV increases security by introducing additional cryptographic
variance and to synchronize cryptographic equipment

-8-
Terms & Definition

Cryptographic Algorithm & Operation


• Cryptographic algorithm – A set of mathematical
function and rules that takes plaintext and a key as
input, and product ciphertext as output.
• Cryptographic operation – Encryption/Decryption
– Encryption (pl. szyfrowanie)– An act to convert plaintext into
ciphertext in order to preserve confidentiality of data.
– Decryption (pl. deszyfrowanie)– An act to convert ciphertext
back to plaintext.
Encryption Decryption

Crypto- Crypto-
system system

Plaintext Ciphertext Ciphertext Plaintext


EK(M) = C DK(C) = M
Message Sender Message Recipient

Secret key

-9-
Terms & Definition

Strength of Encryption
• The goal of the cryptosystem is to make compromising it
too expensive or time consuming to justify the effort.

• The strength of the encryption method comes from:


1. The algorithm
2. Secrecy of the key
3. Length of the key
4. Initialization vectors (IV)
5. And how they all work together (encryption method)

• Strength (a.k.a. work factor) refers to how hard it is to


figure out the algorithm or a key (whichever is not made
public) used in the cryptosystem.
– “Work Factor” is an estimate of the effort it would take an attacker
to compromise the encryption method.
- 10 -
Topics

Cryptography Domain – Part 1


• Terms, Definition, Concept & History
• Cipher Types
– Classic Ciphers
– Modern Ciphers
• Cryptographic Algorithms
– Hash Function Cryptography
– Symmetric Key Cryptography
– Asymmetric Key Cryptography
– Hybrid Cryptography

- 11 -
Concept

Cipher Types
Classic Ciphers:
• Substitution cipher (podstawieniowe)
• Transposition cipher (przestawieniowe)
• Polyalphabetic cipher (polialfabetyczne)

Modern Ciphers:
• Block cipher
• Stream cipher
• Steganography
• Combination: Complexity can be created by use
combination above.

- 12 -
Classic Ciphers

Substitution Cipher
• A substitution cipher substitutes one piece of
information for another.
– This is most frequently done by offsetting letters of the
alphabet. (a.k.a. “shift alphabet”)
• Two examples are:
– Caesar cipher
– ROT13 cipher on UNIX Confederacy’s cipher disk

ABCDEFGHIJKLMNOPQRSTUVWXYZ
and sliding everything up by 3, you get
ABCDEFGHIJKLMNOPQRSTUVWXYZABC
so “D = A”, “E = B”, “F = C”, and so on.

- 13 -
Classic Ciphers

Polyalphabetic (or Running Key) Cipher


• The running key cipher is a type of substitution cipher
– Invented by Blaise de Vigenère in 19th century
– The cryptographic algorithm is polyalphabetic
substitution, where the secret key is repeated
along the length of plaintext/ciphertext
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 Z
B C D E F G H I J K L M N O P Q R S T U V W X Y Z A
C D E F G H I J K L M N O P Q R S T U V W X Y Z A B
D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
E F G H I J K L M N O P Q R S T U V W X Y Z A B C D
F G H I J K L M N O P Q R S T U V W X Y Z A B C D E
G H I J K L M N O P Q R S T U V W X Y Z A B C D E F
Plaintext: COMPUTING GIVES INSIGHT H
I
I
J
J
K
K
L
L
M
M
N
N
O
O
P
P
Q
Q
R
R
S
S
T
T
U
U
V
V
W
W
X
X
Y
Y
Z
Z
A
A
B
B
C
C
D
D
E
E
F
F
G
G
H
J K L M N O P Q R S T U V W X Y Z A B C D E F G H I
Keyword: LUCKYLUCK YLUCK YLUCKYL K L M N O P Q R S T U V W X Y Z A B C D E F G H I J
L M N O P Q R S T U V W X Y Z A B C D E F G H I J K
M N O P Q R S T U V W X Y Z A B C D E F G H I J K L
Ciphertext: NIOZSECPQ ETPGC GYMKQFE N O P Q R S T U V W X Y Z A B C D E F G H I J K L M
O P Q R S T U V W X Y Z A B C D E F G H I J K L M N
P Q R S T U V W X Y Z A B C D E F G H I J K L M N O
Q R S T U V W X Y Z A B C D E F G H I J K L M N O P
R S T U V W X Y Z A B C D E F G H I J K L M N O P Q
S T U V W X Y Z A B C D E F G H I J K L M N O P Q R
T U V W X Y Z A B C D E F G H I J K L M N O P Q R S
U V W X Y Z A B C D E F G H I J K L M N O P Q R S T
V W X Y Z A B C D E F G H I J K L M N O P Q R S T U
Source: http://astro.ocis.temple.edu/~dhill001/vigenere/vigenere.html W X Y Z A B C D E F G H I J K L M N O P Q R S T U V
X Y Z A B C D E F G H I J K L M N O P Q R S T U V W
Y Z A B C D E F G H I J K L M N O P Q R S T U V W X
Z 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
- 14 -
Classic Ciphers

Transposition Cipher
• Instead of replacing the characters with other
characters, this cipher simply changes the order of
the characters.
• The key determines the positions that the characters
are moved to
• The key for this cipher is not standard.
– Instead of a list of alphabetic substitutions, it is a mapping
order.
– Such as (1,2,3,4,5) = (3,4,5,2,1). This means that the
third element is put in place of the first, thus followed by the
fourth, then the fifth, second, and finally followed by the
original first element.
– Example: "WORLD" -> "RLDOW"

- 15 -
Classic Ciphers

Transposition Cipher
• Permutations of this cipher run in blocked matrices.
This means that the message is spread out into a
matrix.
• Example: “I LOVE CISSP CBK REVIEW CLASS
2012"

ILOVECI ICW2012
SSPCBKR LBCLASS
EVIEWCL OKREVIE
ASS2012 VECISSP
- 16 -
Modern Ciphers

Block Cipher
Block Cipher (szyfry blokowe)
– Operate on fixed size block of plaintext.
– The encryption algorithm takes a fixed-length block of
plaintext and create a block of ciphertext in the same length.
• Usually 8-byte (64-bit)
– Usually implemented in software.
– Generally, Block cipher encryption is slower than Stream
cipher encryption.
– Example: DES, Triple DES, AES, IDEA
Plaintext

Block Cipher
Secret Key
Encryption

Ciphertext

- 17 -
Modern Ciphers

Stream Cipher
Stream Cipher (szyfry strumieniowe)
– Operate on continuous streams of plaintext.
– Usually implemented in hardware.
– Well suited for serial communications.
– Functional complex, with long key that does not repeat.
– Statistically unpredictable.
– Keystream should NOT be linearly related to key.
– Example: RC4, SEAL, VEST

Keystream
1101000111010001

Plaintext Ciphertext
1111001111110011 0010001000100010

- 18 -
Modern Ciphers

Steganography
Steganography is a method of hiding data in another
media so that the data's very existence is concealed.
– Microdot, very popular in World War II
– Computer files (graphic images, MP3, or video) contain
unused or insignificant areas of data… Steganography takes
advantage of these areas, replacing them with information.
– The files can then be exchanged without anyone knowing
what really lies inside of them.
– Web Bugs – malicious version of Steganography.
– Can be used to insert concealed digital watermarks.

Note: For CISSP Exam… Steganography DOES NOT USE algorithms or keys to encrypt data…it hides data
within another object.

- 19 -
Topics

Cryptography Domain – Part 1


• Terms, Definition, Concept & History
• Cipher Types
– Classic Ciphers
– Modern Ciphers
• Cryptographic Algorithms
– Hash Function Cryptography
– Symmetric Key Cryptography
– Asymmetric Key Cryptography
– Hybrid Cryptography

- 20 -
Cryptographic Algorithms

Hash Function Cryptography

https://en.wikipedia.org/wiki/Hash_function#/media/File:Hash_table_4_1_1_0_0_1_0_LL.svg

- 21 -
Cryptographic Algorithms

Hash Function Cryptography


• A hash function takes an input of arbitrary length and
outputs a fixed size value – “Hash Value”.

• The maximum number of input and output bits is


determined by the design of the hash function.
– Pre-image resistance. A good hash function is “one-way”.
Original input (message or file) can not be derived from the
hash value. One bit input change provides half of bits change
in hash value.
– Collision resistance. Two inputs into a hash function should
not produce the same hash value.
– Target Collision resistance. Hard to produce message with the
same hash value as given one.

2"#$ = 1.34 ∗ 10#",


- 22 -
Cryptographic Algorithms

Hash Function Cryptography


• Cryptographic hash functions are used to provide
integrity, authentication and non-repudiation.
– Message digest, if the message or file is used as an input into
a cryptographic hash function.
– Message authentication, if a secret key is used along with a
message as inputs into a cryptographic hash function.
– Digital signature, if the private key is used as an input, and the
output can be verified with the public key.

• Cryptographic hash functions are also used as


“randomness extractor” for pseudo-random number
generators (PRNGs)

- 23 -
Cryptographic Algorithms

Hash Function Cryptography


There are two flavors and a hybrid hash functions:
• Non-keyed digest (for integrity)
– Message Integrity Code (MIC).
– Modification Detection Code (MDC).
• Keyed digest (for authentication)
– Message Authentication Code (MAC): Secret key + message.
– Keyed-hash MAC or Hashed MAC (HMAC): MAC + MDC.
• Digital signature (for non-repudiation)

Popular message digest algorithms:


• MD5, RIPE-MD, HAVAL,
• FIPS 186-2: SHA-1, SHA-224, SHA-256, SHA-384, SHA-512.
Popular digital signature algorithms:
• ElGamal,
• FIPS 180-2: DSA, EC-DSA.
- 24 -
Cryptographic Algorithms

Hash Function Cryptography – Non-Keyed Digest


• Non-keyed digest is used to provide integrity function.
The output fixed-size “hash value” is called:
– Message Digest (MD) in cryptography world.
– Modification Detection Code (MDC-2) patented by IBM.

Generation Verification

Hash Hash
Function Function
Message Message
Digest (H1) Digest (H2)
Message (M1) Message (M2)

Message Sender Message Recipient

Compare

- 25 -
Cryptographic Algorithms

Hash Function Cryptography – Keyed Digest


• Keyed digest is used to provide authentication
function. The output fixed-size “hash value” is called:
– Message Authentication Code (MAC): Secret key (symmetric
ephemeral key) + message. (a.k.a. Message Integrity Code
(MIC) and Keyed-Hash MAC (HMAC).)

Generation Verification

Symmetric Symmetric
Ephemeral Key Ephemeral Key

Hash Hash
Function Function
MAC1 MAC2

Message (M1) Message (M2)

Message Sender Message Recipient

Compare

Reference: FIPS 198, The Keyed-Hash Message Authentication Code (HMAC), March 6, 2002.
- 26 -
Cryptographic Algorithms

Hash Function Cryptography

https://nakedsecurity.sophos.com/2013/11/20/serious-security-how-to-store-your-users-passwords-safely/

- 27 -
Cryptographic Algorithms

Hash Function Cryptography – Digital Signature


• Digital signature (or digital fingerprint) is used to
provide non-repudiation function. (niezaprzeczalność)
• Digital signature is a hybrid cryptography that uses
non-keyed hash function and asymmetric key-pair
(public key & private key).
Signature Signature
Generation Verification

Hash Hash
Function Function
Message Message
Digest (H1) Digest (H2)
Message (M1) Message (M2)

Signature Signature
Algorithm Algorithm
Sender’s Private Key Sender’s Public Key

Digital Verification
Message Sender Signature Message Recipient Value

Compare

Reference: FIPS 186-2, Digital Signature Standard (DSS), January 27, 2000. - 28 -
Cryptographic Algorithms

Hash Function Cryptography – Randomness Extractor


• True random number is hard to find, what computing
machines generates is “pseudo random”
– The most common pseudo-random number generator
(PRNG) uses the linear congruential formula:
𝑥./# = 𝑎𝑥. + 𝑏 mod 𝑚

• To add “randomness”, the PRNG output is put


through a cryptographic hash function, because a
good hash function is:
– Pre-image resistance and
– Collision resistance

- 29 -
Topics

Cryptography Domain – Part 1


• Terms, Definition, Concept & History
• Cipher Types
– Classic Ciphers
– Modern Ciphers
• Cryptographic Algorithms
– Hash Function Cryptography
– Symmetric Key Cryptography
– Asymmetric Key Cryptography
– Hybrid Cryptography

- 30 -
Cryptographic Algorithms

Symmetric Key Cryptography


Symmetric key cryptography involves a single secret
(symmetric) key.
• Both the sender and the recipient must have the
same secret key.
• It is used by the sender to encrypt the message and
by the recipient to decrypt it.

Encryption Decryption

Encrypt Decrypt

Plaintext Ciphertext Ciphertext Plaintext


EK(M) = C DK(C) = M
Message Sender Message Recipient

Secret key

- 31 -
Cryptographic Algorithms

Symmetric Key Cryptography


• The same secret key has to be possessed by both
parties.
– Requires a secure mechanism to deliver keys.
• Each pair of users needs a unique key.
– Key management can be difficult as the number of users
grows.
– 𝒏(𝒏 − 𝟏)/𝟐: a user group of 100 people… 4,950 keys would
be needed.
• Symmetric key cryptography provides confidentiality
only. Need to combine with MAC for message
integrity and authentication.
• Popular symmetric key algorithms: DES, 3DES, AES,
RC6, Twofish, Blowfish, etc.

Reference: Communication Theory of Secrecy Systems, by Claude Shannon, 1949 - 32 -


Cryptographic Algorithms

Symmetric Key Cryptography – Algorithms


There are two (2) ciphers that uses symmetric key
algorithms for encryption:
• Block ciphers
– Taking a fixed-length block of plaintext data and create a
block of ciphertext data of same length.
• Stream ciphers
– Generating a keystream (sequence of bits), combining the
keystream with plaintext data, bit-by-bit using XOR operations
and create a stream of ciphertext data.
– One-time pad (a.k.a. Vernam cipher) is a type of stream
cipher. The entire keystream is totally random and is used
only once.

- 33 -
Cryptographic Algorithms: Symmetric Key Cryptography

Stream Cipher – XOR Operation


• Exclusive-OR (XOR) is an operation that is applied to
two bits.
• It is a function in binary mathematics
– if both bits are the same, the result is zero (0)
0 ⊕0 = 0
1 ⊕ 1 = 0
– If both bits are different, the result is one (1)
0 ⊕ 1 = 1
1 ⊕ 0 = 1
Keystream
1101000111010001

Plaintext Ciphertext
1111001111110011 0010001000100010

- 34 -
Cryptographic Algorithms: Symmetric Key Cryptography

Stream Cipher – XOR Operation

Message 01011010 => ASCII “Z”


XOR
Keystream 01100011 => ASCII “c”

Ciphertext 00111001 => ASCII “9”

Ciphertext 00111001 => ASCII “9”


XOR
Keystream 01100011 => ASCII “c”

Message 01011010 => ASCII “Z”

- 35 -
Cryptographic Algorithms: Symmetric Key Cryptography

Block Cipher – Confusion vs. Diffusion


Block Ciphers use “confusion” and “diffusion” in
their encryption methods:

• Confusion (pl. konfuzja/mieszanie) refers to making


the relationship between the key and the ciphertext
as complex and involved as possible.

• Diffusion (pl. dufyzja) refers to the property that


redundancy in the statistics of the plaintext is
"dissipated" in the statistics of the ciphertext.
Równomierne rozmycie bitów klucza w bloku

Reference: Communication Theory of Secrecy Systems, by Claude Shannon, 1949


- 36 -
Cryptographic Algorithms: Symmetric Key Cryptography

Block Cipher – Confusion


Confusion can be achieved through substitution cipher
operations.
• S-box provides element of confusion to a block cipher
in symmetric key cryptosystem.
– An S-box takes some number of input bits – m, and
transforms them into some number of output bits – n.
– Implemented as a “m × n” lookup table to provide element
of confusion to block cipher.
• S-box can be implemented as:
– Lookup table (e.g., DES)
– Linear transformation through matrix multiplication (e.g.,
AES), or
– Dynamically from the key (e.g., Blowfish or Twofish).

- 37 -
Cryptographic Algorithms: Symmetric Key Cryptography

Block Cipher – Diffusion


Diffusion can be achieved through transposition cipher
operations.
• Feistel network permutation provides element of
diffusion to a block cipher of in a symmetric key
cryptosystem.
– Feistel or modified Feistel: DES, TDES, Blowfish, Twofish,
RC5, etc.
– Generalized Feistel: RC2, RC6, Skipjack, etc.
• Columnar transposition is not a Feistel network
permutation, but it also provides element of diffusion
to a block cipher.
– AES’ ShiftRows and MixColumns operations

- 38 -
Cryptographic Algorithms: Symmetric Key Cryptography

Block Cipher Modes of Operation


In general all block ciphers operates in five (5) modes
• Block Mode
– ECB (Electronic Code Book)
– CBC (Cipher Block Chaining)
• Stream Mode
– CFB (Cipher Feed Back)
– OFB (Output Feed Back)
– CTR (Counter)

• FIPS 81 specified only 4 modes as the Federal


standard, counter mode was not considered.
• NIST withdrew FIPS 81 on May 19th, 2005.
Reference: http://www.itl.nist.gov/fipspubs/withdraw.htm
- 39 -
Cryptographic Algorithms: Symmetric Key Cryptography

Block Cipher Modes of Operation– ECB


Electronic Code Book (ECB) Block Mode
• 𝑐A = 𝐸C (𝑝A )
– 64-bit data blocks processed individually, one at a time.
– Decrypting starts at the beginning of ciphertext file and
processes 64-bit block one at a time, until EOF.
• Advantage: Fast & Simple.
• Disadvantage: Susceptible to Known-plaintext attacks

Plaintext 1 Plaintext 2 Plaintext 3 Plaintext 4

Block Cipher Block Cipher Block Cipher Block Cipher


Secret Key
Encryption Secret Key
Encryption Secret Key
Encryption Secret Key
Encryption

Ciphertext 1 Ciphertext 2 Ciphertext 3 Ciphertext 4


- 40 -
Cryptographic Algorithms: Symmetric Key Cryptography

Block Cipher Modes of Operation– CBC


Cipher Block Chaining (CBC) Block Mode
• 𝑐A = 𝐸C (𝑝A ⊕ 𝑐AF# ) , where: 𝑐G = IV
– 64-bit plaintext blocks loaded sequentially.
– XOR’ed with 64-bit Initialization Vector (IV).
– Combination processed into cipher under secret key.
– First ciphertext XOR’ed with next plaintext block.
• Most frequently used mode of operation.
Plaintext 1 Plaintext 2 Plaintext 3 Plaintext 4

Initialization Vector

Block Cipher Block Cipher Block Cipher Block Cipher


Secret Key
Encryption Secret Key
Encryption Secret Key
Encryption Secret Key
Encryption

Ciphertext 1 Ciphertext 2 Ciphertext 3 Ciphertext 4


- 41 -
Cryptographic Algorithms

Block Cipher – Initialization Vector (IV)


• Initialization Vector (IV) is a block of bits used in the
beginning of the encryption process for block or
stream cipher.

• IV is generated using:
– Random number generator (RNG) or
– Pseudo-random number generator (PRNG)

• IV eliminates re-keying
– In stream cipher, the IV is loaded into the keyed internal
secret state of the cipher, after which a number of cipher
rounds is executed prior to releasing the first bit of output.
– In block cipher, the IV is linearly added to the first block of
plaintext prior to encryption.
- 42 -
Cryptographic Algorithms: Symmetric Key Cryptography

Block Cipher Modes of Operation– CFB


Cipher Feed Back (CFB) Stream Mode
• 𝑐A = 𝑝A ⨁𝐸C (𝑐AF# ) , where 𝑐G = IV
– Previous ciphertext block is encrypted and the output is
combined with plaintext block using XOR to produce current
ciphertext block.
– Initialization Vector (IV) is used as a “seed” for the process.
– Plaintext patterns are concealed by the XOR operation.

Initialization Vector Plaintext 1 Plaintext 2 Plaintext 3 Plaintext 4

Block Cipher
Secret Key
Encryption

Block Cipher Block Cipher Block Cipher


Secret Key
Encryption Secret Key
Encryption Secret Key
Encryption

Ciphertext 1 Ciphertext 2 Ciphertext 3 Ciphertext 4


- 43 -
Cryptographic Algorithms: Symmetric Key Cryptography

Block Cipher Modes of Operation– OFB


Output Feed Back (OFB) Stream Mode
• 𝑐A = 𝑝A ⨁𝑜A , where: 𝑜A = 𝐸C (𝑜AF# ) and 𝑜G = IV
– Similar to CFB mode, except that quantity XOR’ed with each
plaintext block is generated independently of both plaintext
and ciphertext.
– Initialization Vector (IV) is used as a “seed” for the process.

Plaintext 1 Plaintext 2 Plaintext 3 Plaintext 4

Initialization Vector
Block Cipher Block Cipher Block Cipher
Encryption Encryption Encryption

Block Cipher
Secret Key
Encryption
Secret Key Secret Key Secret Key

Ciphertext 1 Ciphertext 2 Ciphertext 3 Ciphertext 4

- 44 -
Cryptographic Algorithms: Symmetric Key Cryptography

Block Cipher Modes of Operation– Counter


Counter (CTR) Stream Mode (Not a FIPS!)
• ci = pi ⊕ Ek(ni-1) , where: ni-1 = IV | ti-1
– Similar to OFB mode the quantity XOR’ed with each
plaintext block is generated independently of both plaintext
and ciphertext.
– Encrypted CTR values generate a keystream to be XOR’ed
with message stream, much like stream cipher.
Plaintext 1 Plaintext 2 Plaintext 3 Plaintext 4

Nonce CTR Nonce CTR Nonce CTR Nonce CTR


c59cf35… 00000000 c59cf35… 00000001 c59cf35… 00000002 c59cf35… 00000003

Block Cipher Block Cipher Block Cipher Block Cipher


Encryption Encryption Encryption Encryption

Secret Key Secret Key Secret Key Secret Key

Ciphertext 1 Ciphertext 2 Ciphertext 3 Ciphertext 4


- 45 -
Cryptographic Algorithms: Symmetric Key Cryptography

Symmetric Key Cryptosystem – DES …(1/2)


• Data Encryption Standard (DES), a
symmetric key cryptosystem based
on IBM’s Lucifer cipher. DES has
been a FIPS 46-1 since 1977.
• DES is a 64-bit block cipher
algorithm (64-bit block = 56-bit
secret key + 8-bit parity) that uses a
key of 56 bits and 16 rounds of
transposition and substitution to
encrypt each group of 8 (64-bit)
plaintext letters.

Feistel Network

Reference:
• NIST FIPS 46-3, Data Encryption Standard, October 25, 1999
- 46 -
Cryptographic Algorithms: Symmetric Key Cryptography

Symmetric Key Cryptosystem – DES …(2/2)


• For an animation of the 64-bit DES encryption
process…
– Key schedule, 56-bit key divided into two 28-bit subkeys.
• For each successive rounds, both halves are rotated left by one
or two bits.
– Initial Permutation (IP)
1. Permutation of a 64-bit input block to a 64-bit IP matrix
– Rounds
1. Expansion
2. Key mixing
3. Substitution
4. Permutation

Reference: http://www.cryptool.org/en/
- 47 -
Cryptographic Algorithms: Symmetric Key Cryptography

Symmetric Key Cryptosystem – Triple-DES (TDES) …(1/2)


• TDES is an interim solution from NIST to
provide a stronger solution than DES…
– TDES uses 48 rounds of transposition and
Plaintext
substitution functions in its computation.
– TDES is approximately 256 times stronger than DES Encryption Key 1

DES.
DES Encryption Key 2
• TDES operates in four (4) different modes…
– DES-EEE: TDES encryption with 3 different keys DES Encryption Key 3

– DES-EDE: TDES operations (encrypt-decrypt-


Ciphertext
encrypt) with 3 different keys.
– DES-EEE2: TDES encryption with 2 different
keys and 1st & 3rd operations use the same key.
– DES-EDE2: TDES operatons (encrypt-decrypt-
encrypt) with 2 different keys and 1st & 3rd
operations use the same key.
Reference: NIST FIPS 46-3, Data Encryption Standard, October 25, 1999 - 48 -
Cryptographic Algorithms: Symmetric Key Cryptography

Symmetric Key Cryptosystem – Triple-DES (TDES) …(2/2)


• TDES is used as the underlying block cipher algorithm for
the following modes of operations:
– Electronic Code Book (TECB in ANSI X9.52)
– Cipher Block Chaining (TCBC, TCBC-I in ANSI X9.52)
– Cipher Feed Back (TCFB, TCFB-P in ANSI X9.52)
– Output Feed Back (TOFB, TOFB-I in ANSI X9.52)
– Counter (CTR, not specified in ANSI X9.52)
• For example: TECB (TDES-EEE in ECB) …
Plaintext 1 Plaintext 2 Plaintext 3 Plaintext 4

DES Encryption DES Encryption DES Encryption DES Encryption


Key 1 Key 1 Key 1 Key 1

DES Encryption DES Encryption DES Encryption DES Encryption


Key 2 Key 2 Key 2 Key 2

DES Encryption DES Encryption DES Encryption DES Encryption


Key 3 Key 3 Key 3 Key 3

Ciphertext 1 Ciphertext 2 Ciphertext 3 Ciphertext 4


Reference:
• NIST SP 800-38A, Recommendation for Block Cipher Modes of Operation, December 2001.
• FIPS 46-3, Data Encryption Standard, October 25, 1999. - 49 -
Cryptographic Algorithms: Symmetric Key Cryptography

Symmetric Key Cryptosystem –


Advanced Encryption Standard (AES) … (1/4)
• NIST announced the need for a TDES replacement in
1997.
• A request for candidate symmetric block algorithms
supporting key sizes of 128, 192, and 256-bit was
issued.
• AES Candidates included:
– MARS – Developed by the IBM Team that developed Lucifer
(the algorithm DES was developed from).
– RC6 – Developed by RSA.
– Serpent – Developed by Ross Anderson, Eli Biham, and
Lars Knudsen.
– TwoFish – Developed by Counterpane Systems.
– Rijndael – Developed by Vincent Rijmen and Joan Deamon.
– CAST – Developed by Entrust Technologies.

- 50 -
Cryptographic Algorithms: Symmetric Key Cryptography

Symmetric Key Cryptosystem –


Advanced Encryption Standard (AES) … (2/4)
• The Rijndael algorithm developed by
Vincent Rijman & Joan Daeman was
selected after lengthy testing to
become AES (FIPS 197)
• AES is a symmetric block cipher that
can…
– Process data blocks of 128 bits.
– Uses cipher keys with lengths of 128, 192,
and 256 bits.
– Variable number of rounds, each round
containing 4 steps (Byte Sub, Shift Row,
Mix Column, Add Round Key)
– Rijndael was designed to handle additional
block sizes and key lengths, however they
are not adopted in the AES standard.
Reference:
• NIST FIPS 197, Advanced Encryption Standard (AES), November 2001
• http://www.quadibloc.com/crypto/co040401.htm
- 51 -
Cryptographic Algorithms Symmetric Key Cryptography

Symmetric Key Cryptosystem –


Advanced Encryption Standard (AES) … (3/4)
• Like DES, AES is an block cipher algorithm for
symmetric key cryptosystem.
– Uses confusion and diffusion principles
– Uses a substitute-permutation network (NOT Feistel
network)

• For both its cipher and inverse cipher, AES algorithm


uses a “round function” that is composed of four
different byte-oriented transformations:
– SubByte (Confusion)
– ShiftRow (Diffusion)
– MixColumn (Diffusion)
– AddRoundKey (Confusion)

Reference: NIST FIPS 197, Advanced Encryption Standard (AES), November 2001 - 52 -
Cryptographic Algorithms: Symmetric Key Cryptography

Symmetric Key Cryptosystem –


Advanced Encryption Standard (AES) … (4/4)
• For an animation of the 128-bit AES encryption
process… (http://www.formaestudio.com/rijndaelinspector/archivos/rijndaelanimation.html)
– KeyExpansion using Rijndael’s key schedule
– Initial Round
1. AddRoundKey
– Rounds
1. SubBytes
2. ShiftRows
3. MixColumns
4. AddRoundKey
– Final Round (no MixColumns)
1. SubBytes
2. ShiftRows
3. AddRoundKey

Reference: http://cryptool.org/en/ - 53 -
Cryptographic Algorithms: Symmetric Key Cryptography

Symmetric Key Cryptosystem – SKIPJACK


• SKIPJACK is a symmetric key algorithm implemented
in electronic devices.
– SKIPJACK algorithm is no longer classified.
– Single chip cryptoprocessors: CLIPPER, CAPSTONE,
KEYSTONE, REGENT, KRYPTON, and FORTEZZA.
– SKIPJACK is a 64-bit codebook using an 80-bit
cryptovariable (session key).
– Similar to DES, SKIPJACK has four (4) modes of operation
but processes 32 rounds of transposition & substitution per
operation:
• Electronic Code Book (ECB), 64-bit
• Cipher Block Chaining (CBC), 64-bit
• Output Feed Back (OFB), 64-bit
• Cipher Feed Back (CFB), 64/32/16/8-bit
– Skipjack uses DH for key exchange.

Reference: http://csrc.nist.gov/groups/ST/toolkit/documents/skipjack/skipjack.pdf
- 54 -
Cryptographic Algorithms: Symmetric Key Cryptography

Symmetric Key Cryptosystem – IDEA


International Data Encryption
Algorithm (IDEA)
• Uses 64-bit input and output data
blocks.
• Based on 3 mathematical functions
– XOR
– ADDITION modulo 216 (65536)
– MULTIPLICATION modulo
216 + 1 (65537)
• Uses 8 rounds of transposition and
substitution.

Reference: http://en.wikipedia.org/wiki/International_Data_Encryption_Algorithm
- 55 -
Classes of Cryptography: Symmetric Key Cryptography

Symmetric Key Cryptosystem – Other Block Ciphers


• RC5
– Designed by Ron Rivest of RSA Security
– Features data dependant rotations, variable block size
(32,64, or 128 bits), variable key size (0 – 2040 bits),
variable number of rounds
• RC6
– Also designed by Ron Rivest. It was a candidate for AES.
– Based on RC5, RC6 has a block size of 128 bits, supports
key size of 128, 192, and 256 bits.
• Blowfish
– Highly efficient block cipher, designed by Bruce Schneier
– Key size: 32 – 448 bits (in steps of 8 bits)
– 64-bit block size
– Optimized for 32-bit micro-processors

- 56 -
Classes of Cryptography: Symmetric Key Cryptography

Symmetric Key Cryptosystem – Stream Ciphers


• RC4
– The most commonly implemented software stream cipher.
– Used in Secure Socket Layer (SSL) and Wired Equivalent
Privacy (WEP).
– Designed by Ron Rivest of RSA Security.
– Using pseudo-random generation algorithm.
– Variable key size.
– Highly efficient, much faster than any block cipher.
– Stream ciphers can be difficult to implement correctly.

Source: http://en.wikipedia.org/wiki/RC4
- 57 -
Topics

Cryptography Domain – Part 1


• Terms, Definition, Concept & History
• Cipher Types
– Classic Ciphers
– Modern Ciphers
• Cryptographic Algorithms
– Hash Function Cryptography
– Symmetric Key Cryptography
– Asymmetric Key Cryptography
– Hybrid Cryptography

- 58 -
Cryptography Algorithm

Asymmetric Key Cryptography


Asymmetric key cryptography involves two mathematically
related but different keys known as a key-pair (a private key
& a public key).
• The public key is derived from the private key.
– Only the owner has the private key.
– One-way mathematical link (a.k.a. “Trapdoor function”).
– The private key cannot be deduced (theoretically) by analyzing
the public key.

- 59 -
Cryptography Algorithm

Asymmetric Key Cryptography


• Secure message format:
Encryption Decryption

Encrypt Decrypt

Plaintext Ciphertext Ciphertext Plaintext

EK(M) = C DK(C) = M

Recipient’s public key Recipient’s private key

Message Sender Message Recipient

• Open message format:


Encryption Decryption

Encrypt Decrypt

Plaintext Ciphertext Ciphertext Plaintext

EK(M) = C DK(C) = M

Sender’s private key Sender’s public key

Message Sender Message Recipient

- 60 -
Classes of Cryptograph

Asymmetric Key Cryptography – Algorithms


Asymmetric key cryptography is mathematically more
complex than symmetric key cryptography.
• Factorization algorithms
• Discrete logarithm algorithms
– Discrete Logarithm with Finite Field
– Elliptic Curve Discrete Logarithm with Finite Field
• The public-key cryptography process is substantially
slower than symmetric key cryptography process.
(100 times slower in software, 1,000 to 10,000 times
slower in hardware)
• Key sizes must be relatively large.

- 61 -
Classes of Cryptograph

Asymmetric Key Cryptography – Factorization Algorithms


Factorization Algorithms
• Based on factoring “semi-prime” numbers (integers).
• Larger the number, more computation is needed. 2,
3, … , 73, 2521, … , 2345347734339, 2756839-1,
...etc.
• RSA PKCS#1
– Key generation: RSA public key and RSA private key.
– Public-key encryption: c = me mod n,
where c is ciphertext, m is message, e is RSA public
exponent and n is RSA modulus.
– Public-key decryption: m = cd mod n,
where d is RSA private exponent.
– Digital signature: m = se mod n,
where s is signature representative.
Reference: http://en.wikipedia.org/wiki/RSA
- 62 -
Classes of Cryptograph

Asymmetric Key Cryptography – Discrete Logarithms


Discrete logarithm w/ finite field
• Based on the mathematical proof of generalized
discrete logarithm problem (GDLP),
– where computing exponentiation over a finite field is easy
(Yx mod P),
– but computing the discrete logarithm is hard.
(find x where Yx ≡ Z (mod P))
• Parameters have to be as large as factoring (512,
1024, 2048-bit).
• Diffie-Hellman, El Gamal, and DSA.
• Brute force attacks are infeasible against discrete
logarithms. But vulnerable to chosen-ciphertext
attacks.
Reference: http://en.wikipedia.org/wiki/Diffie_hellman
- 63 -
Classes of Cryptograph

Asymmetric Key Cryptography – Diffie-Hellman (DH)


• Diffie-Hellman (DH) is a key exchange algorithm for public-key
cryptography. NOT for encryption!
• DH uses finite field discrete logarithm as “trapdoor” function
between private and public keys. YX (mod P)

Step Alice Exchange Methodology Bob


1 Select Y & P with Bob YX (mod P) Select Y & P with Alice
Public know to the world
2 Y = 11 11X (mod 13) Y = 11
P = 13 P = 13
3 Alice chooses a secret number (2) Select a secret number Bob chooses a secret number (5)
4 112 (mod 13) Calculate one-way function using 115 (mod 13)
121 (mod 13) = 4 their secret number 161051 (mod 13) = 7
5 Alice sends the result “4” to Bob Send the result of the one-way Bob sends the result “7” to Alice
function to the other person
6 Calculate 72 (mod 13) Take received calculation and raise it Calculate 45 (mod 13)
49 (mod 13) = 10 to your secret number 1024 (mod 13) = 10
7 Symmetric key selected through Both people have the same number Symmetric key selected through
calculation is 10 without revealing their “secret” calculation is 10

Reference: http://en.wikipedia.org/wiki/Diffie_hellman
- 64 -
Classes of Cryptograph

Asymmetric Key Cryptography – RSA Encryption Algorithm


• Message: m = 3
• Choose 2 random, prime numbers: p = 19, q = 13
• n = pq, n = 247
• Choose a random # to be e (encryption key): e = 7
• Compute d (decryption key) (private key)
d = e-1 mod (p-1)(q-1)
d = ((19-1)(13-1))/7 = 216/7 = 31 (round up)
• Public key = (n,e) = (247,7)

• To encrypt: c = me mod n è c = 37 mod 247 è


c = 211 (ciphertext)
• To decrypt: m = cd mod n è m = 21131 mode 247 è
m = 3 (plaintext)

Reference:
• CISSP All-in-One Exam Guide, 4th ed.
• http://en.wikipedia.org/wiki/RSA - 65 -
Classes of Cryptograph

Asymmetric Key Cryptography – Elliptic Curve Algorithm


Elliptic Curve Cryptography (ECC) uses algebraic
system defined on points of elliptic curve to provide
public-key cryptography.
• ECC based on the mathematical
problem of factors that are
coordinate pairs that fall on
an elliptic curve.
• Advantages:
– Highest strength/bit in current public-key cryptosystems.
– Fast encryption and signature speed.
– Small signatures & certificates. (Ideal for smart card).
• Examples:
– ECC, EC-DH, EC-DSA, EC-ElGamal

Reference: http://en.wikipedia.org/wiki/Elliptic_curve - 66 -
Classes of Cryptograph

Asymmetric Key Cryptography


While asymmetric key cryptography is more complex and
slower than symmetric, but…
• Key management is simplified.
– Only one party needs to know the private key.
– Knowledge of the public key does not compromise the security
of message transmissions.
• Key distribution is scalable.
– Each subject has just one key-pair (private & public keys)
.instead of n*(n-1)/2 for symmetric key crypto.
– Number of keys = 2*n (1,000 users, 2,000 keys).
• Key establishment can be authenticated.
– The key pair – private & public keys are mathematically related,
but different.
– DH algorithm: (YX mod P, find X where YX ≡ Z (mod P)).

- 67 -
Topics

Cryptography Domain – Part 1


• Terms, Definition, Concept & History
• Cipher Types
– Classic Ciphers
– Modern Ciphers
• Cryptographic Algorithms
– Hash Function Cryptography
– Symmetric Key Cryptography
– Asymmetric Key Cryptography
– Hybrid Cryptography

- 68 -
Classes of Cryptograph

Hybrid Use of Symmetric and Asymmetric Cryptography


Question:
• How can one take advantage the speed of symmetric
cryptography and keep the secret key secret?

Answer:
• Make use of asymmetric cryptography to keep the
ephemeral secret key secret.
• Make use of hash functions to ensure integrity and
non-repudiation of the ephemeral secret key.
• Use the transported ephemeral secret key to perform
bulk/ link encryption using symmetric cryptography.

- 69 -
Classes of Cryptograph

Hybrid Use of Symmetric and Asymmetric Cryptography


Example:
• PKI enabled e-mail message, where a one-time
secret key is generated for DES, TDES or AES to
encrypt the content. E-mail recipient’s public key is
used to encrypt the one-time secret key.
• Secured SSL/TLS HTTPS sessions that uses public
key cryptography to transport the session ephemeral
secret key and perform symmetric crypto-operations.
• KG-75, KG-175 are Type-1 cryptosystems that use
FIREFLY public key from EKMS, and KSD-64 CIK.
Then SKIPJACK-like keys are combined to perform
symmetric cryptography operations.

- 70 -
Symmetric vs. Asymmetric Summary

Attribute Symmetric Asymmetric

Key One shared secret key Public/Private key pair

Difficult – must be done Public/Private key relationship allows


Key exchange
securely Public Key to be in the Open

Speed Less complex & faster More complex & much slower

Much Larger (1024 to 2048+)


Key Length (Bits) Smaller (80 to 256+)
*ECC (160 to 512+)

Use Bulk encryption Key encryption, key distribution

Confidentiality, Integrity, Authentication,


Security Confidentiality/ Integrity
Non-repudiation

- 71 -
Summary of Cryptography Algorithms
Key
Encryption Digital Signature Hash Function
Distribution
Symmetric Key Algorithms
DES X
3DES X
AES X
Blowfish X
IDEA X
RC4 X
Asymmetric Key Algorithms
RSA X X X
ECC X X X
ElGamal, EC-ElGamal X X X
DSA, EC-DSA X
Diffie-Hellman (DH), EC-DH X
Hash Function
RSA: MD2, MD4, MD5 X
SHA-1, SHA-224, SHA-256, SHA-384,
X
SHA-512
HAVAL X

Reference: CISSP All-in-One Exam Guide, 4th ed. - 72 -


Public Key Cryptography Standards (PKCS)*
• PKCS # 1: RSA Cryptography Standard. (Now includes PKCS #2 & #4)
• PKCS # 3: Diffie-Hellman Key Agreement Standard.
• PKCS # 5: Password-Based Cryptography Standard.
• PKCS # 6: Extended-Certificate Syntax Standard. (This is currently being
phased out in favor of X509 v3.)
• PKCS # 7: Cryptographic Message Syntax Standard.
• PKCS # 8: Private-Key Information Syntax Standard. (Key Information)
• PKCS # 9: Selected Attribute Types. (This defines selected attribute
types for use in other PKCS standards)
• PKCS # 10: Certification Request Syntax Standard.
• PKCS # 11: Cryptographic Token Interface Standard.
• PKCS # 12: Personal Information Exchange Syntax Standard.
• PKCS # 13: Elliptic Curve Cryptography Standard.
• PKCS # 15: Cryptographic Token Information Format Standard.

*Source: http://www.rsasecurity.com/rsalabs/node.asp?id=2124 - 73 -
FIPS 140-2, Security Requirements for Cryptographic
Modules, December 2002
Security Level 1 Security Level 2 Security Level 3 Security Level 4
Cryptographic
Specification of cryptographic module, cryptographic boundary, Approved algorithms, and Approved modes of operation. Description of
Module
cryptographic module, including all hardware, software, and firmware components. Statement of module security policy.
Specification
Cryptographic
Required and optional interfaces. Specification of all interfaces and Data ports for unprotected critical security parameters logically or
Module Ports and
of all input and output data paths. physically separated from other data ports.
Interfaces
Roles, Services, Logical separation of required Role-based or identity-based
Identity-based operator authentication.
and Authentication and optional roles and services. operator authentication.

Finite State Model Specification of finite state model. Required states and optional states. State transition diagram and specification of state transitions.

Tamper detection and response Tamper detection and response


Physical Security Production grade equipment. Locks or tamper evidence.
for covers and doors. envelope. EFP or EFT.
Referenced PPs evaluated at Referenced PPs plus trusted
Single operator. Executable Referenced PPs plus trusted
Operational EAL2 with specified path evaluated at EAL4.
code. Approved integrity path evaluated at EAL3 plus
Environment discretionary access control
technique. security policy modeling.
mechanisms and auditing.

Key management mechanisms: random number and key generation, key establishment, key distribution, key entry/output, key storage, and
Cryptographic Key key zeroization.
Management
Secret and private keys established using manual methods may be Secret and private keys established using manual methods shall be
entered or output in plaintext form. entered or output encrypted or with split knowledge procedures.
47 CFR FCC Part 15. Subpart B, Class A (Business use).
EMI/EMC 47 CFR FCC Part 15. Subpart B, Class B (Home use).
Applicable FCC requirements (for radio).

Self-Tests Power-up tests: cryptographic algorithm tests, software/firmware integrity tests, critical functions tests. Conditional tests.

Configuration management Formal model. Detailed


(CM). Secure installation and explanations (informal proofs).
CM system. Secure distribution. High-level language
Design Assurance generation. Design and policy Preconditions and post-
Functional specification. implementation.
correspondence. Guidance conditions.
documents.

Mitigation of Other
Specification of mitigation of attacks for which no testable requirements are currently available.
Attacks

- 74 -
Symmetric – Asymmetric Key Size Comparisons
Size of Symmetric Keys
Effective Encryption
Security (Bits) Algorithm
80 SKIPJACK
112 3DES
128 AES-128
192 AES-192
256 AES-256

Size of Public Keys


DSA/DH RSA ECC
1024 1024 160
2048 2048 224
3072 3072 256
7680 7680 384
15360 15360 512

- 75 -
Bezpieczeństwo systemów informatycznych

dr Marek Miśkiewicz
November 15, 2020
Instytut Informatyki UMCS
MIME i S/MIME
MIME

MIME (Multipurpose Internet Mail Extension) jest rozszerzeniem


starego standardu RFC 822 (Standard for The Format ARPA In-
ternet Text Messages, 1982) zawierającego specyfikację formatu
poczty internetowej. RFC 822 definiuje prosty nagłówek z po-
lami To, From, Subject oraz innymi polami, które mogą być
używane do kierowania wiadomości e-mail przez internet.

MIME udostępnia wiele nowych pól nagłówków, które definiują


informacje o treści wiadomości, w tym dotyczące formatu treści
i kodowania, co ma ułatwić przesyłanie.

1
S/MIME

S/MIME (Secure/Multipurpose Internet Mail Extension) zestaw


dodatkowych typów zawartości MIME. Nowe funkcje:

• Enveloped data - encrypted content and associated keys


• Signed data - encoded message + signed digest
• Clear-signed data - cleartext message + encoded signed di-
gest
• Signed and enveloped data - nesting of signed and en-
crypted entities

2
S/MIME

Typy zwartości S/MIME:


Typ Podtyp Parametr S/MIME Opis
Komunikat clear-signed w dwóch
Multipart Signed częściach: jedna to komunikat,
a druga podpis
pkcs7-mime signedData Podpisana encja S/MIME
pkcs7-mime envelopedData Szyfrowana encja S/MIME
zdegenerowany Encja zawierająca wyłącznie
pkcs7-mime
obiekt singleData certyfikaty klucza publicznego
Application
pkcs7-mime CompressedData Skompresowana encja S/MIME
Typ zawartości podczęści
pkcs7-signature signedData z podpisem wiadomości
multipart/signed

3
S/MIME

Szyfrowanie i podpisywanie wiadomości.


4
S/MIME

Odszyfrowanie i weryfikacja wiadomości.

5
SSL i TLS
SSl i TLS

SSL - Secure Sockets Layer


TLS - Transport Layer Security

• Najpowszechniej używane mechanizmy bezpieczeństwa


• Zestaw protokołów ogólnego przeznaczenia bazujących na
protokole TCP
• SSL z czasem zostało przekształcone w TLS (RFC 4346)
• Mechanizmy mogą być implementowane jako składniki pro-
tokołów lub stosowane niezależnie

6
SSL i TLS

Stos protokołów TLS

7
TLS

Sesja - jest to powiązanie pomiędzy klientem a serwerem

• Sesje są tworzone za pomocą protokołu Handshake


• Sesje definiują zestaw kryptograficznych parametrów
bezpieczeństwa, które mogą być współdzielone w wielu
połączeniach
• Sesje wykorzystuje się w celu uniknięcia kosztownych
negocjacji nowych parametrów bezpieczeństwa dla
każdego połączenia.

8
TLS

• Połączenie — umożliwia transport (zgodnie z definicją mod-


elu warstwowego OSI), który zapewnia odpowiedni rodzaj
usługi. W przypadku TLS takie połączenia są relacjami peer-
to-peer. Połączenia są krótkotrwałe. Każde połączenie jest
powiązane z jedną sesją.

9
Protokoły TLS

Protokół Record (protokół SSL) zapewnia:

• poufność
• integralność

Podczas Handshake definiowane są klucze do symetrycznego


szyfrowania ładunków oraz tajny klucz używany do tworzenia
MAC.

10
Protokoły TLS

Dzianie protokołu TLS Record

11
Protokoły TLS

Protokół Change Cipher Spec

• Jest najprostszy
• Składa się z jednej wiadomości składającej się z jednego
bajtu o wartości 1
• Jedynym celem tej wiadomości jest spowodowanie skopi-
owania stanu oczekującego do stanu bieżącego
• Aktualizacja używanego zestawu szyfrów

12
Protokoły TLS

Protokół Alert - służy do przekazywania ostrzeżeń związanych z


TLS do jednostki równorzędnej.
Składa się z dwóch bajtów:

• pierwszy bajt: 1 - ostrzeżenie, 2 - błąd krytyczny


• drugi bajt: kod komunikatu

Na przykład: Alert krytyczny: nieprawidłowy adres MAC


Alert niekrytyczny: close_notify (nadawca nie będzie wysyłał
w tym połączeniu więcej komunikatów)

13
Protokoły TLS

Protokół Handshake umożliwia serwerowi i klientowi wzajemne


uwierzytelnianie oraz negocjowanie algorytmu szyfrowania i MAC,
wymianę kluczy kryptograficznych, które mają być używane do
ochrony danych przesyłanych w rekordzie TLS.

Protokół Handshake jest wywoływany przed przesłaniem jakichkol-


wiek danych z użyciem TLS.

14
Protokoły TLS

Faza I
Wzajemne uwierzytelnianie

Faza II
Negocjacja algorytmu szyfrowania i MAC

Faza III
Wymiana kluczy kryptograficznych

15
TLS Handshake

ECDHE Elliptic Curve Diffie-Hellman Exchange -


key exchange
RSA Rivest-Shamir-Adleman Cryptosystem -
public key authentication mechanism
(for certificate verification)
AES_128_GCM cipher_key size_Galois/Counter Mode
encryption system
SHA256 hash function used for MAC

16
TLS Handshake

Działanie protokołu Handshake, cz. 1

17
TLS Handshake

Działanie protokołu Handshake, cz. 2 18


TLS Heartbeat

Protokół Heartbeat:

• Okresowy sygnał generowany przez sprzęt lub oprogramowanie


w celu wskazania normalnego działania lub synchronizacji
z innymi częściami systemu
• Zwykle używany do monitorowania dostępności jednostki
protokołu
• Zdefiniowany w 2012 roku w RFC 6250
• Działa w oparciu o protokół TLS Record, użycie jest ustalane
podczas Fazy 1 protokołu Handshake (heartbeat_request
i heartbeat_response).
• Każdy partner wskazuje, czy iw jaki sposób obsługuje ”bicie
serca”
19
TLS Heartbeat

Protokół Heartbeat służy dwóm celom:

• Zapewnia nadawcę, że odbiorca ”żyje”


• Generuje aktywność w połączeniu w okresach
bezczynności

20
Ataki na protokół TLS

Wektory ataku:

• Protokół Handshake
• Protokół Record i protokoły danych aplikacji
• PKI (Public Key Infrastructure)
• Inne

21
Heartbleed atak

Atak Heartbleed - exploit (źródło BAE Systems)

22
HTTPS
HTTPS

HTTPS - HTTP over SSL (port 443)


• Połączenie protokołu HTTP i SSL w celu wdrożenia bezpiecznej
komunikacji między przeglądarką internetową a serwerem
WWW
• Wbudowany we wszystkie nowoczesne przeglądarki inter-
netowe (adresy URL zaczynają się od https://)
• Udokumentowane w RFC 2818, HTTP Over TLS
• Agent działający jako klient HTTP działa również jako klient
TLS
• Zamknięcie połączenia HTTPS wymaga, aby TLS zamknęło
połączenie z równorzędną jednostką TLS po stronie zdal-
nej, co będzie wiązało się z zamknięciem podstawowego
połączenia TCP
23
HTTPS

Co jest szyfrowane:

• URL of the requested document


• Contents of the document
• Contents of browser forms (filled in by browser user)
• Cookies sent from browser to server and from server to
browser
• Contents of HTTP header

24
HTTPS

https://google.pl

https://pkobp.pl

25
IPsec
IPsec

Dlaczego IPsec?

• Uwierzytelnianie - odebrany pakiet został faktycznie przesłany


przez stronę zidentyfikowaną w nagłówku pakietu jako źródło
(także integralność)
• Poufność - umożliwia komunikującym się węzłom szyfrowanie
wiadomości w celu uniemożliwienia podsłuchania przez strony
trzecie
• Zarządzanie kluczami - bezpieczeństwo wymiany kluczy

Aktualna wersja IPsec, określana jako IPsecv3, obejmuje uwierzytel


nianie i poufność. Zarządzanie kluczami zapewnia standard
Internet Key Exchange - IKEv2.”

26
IPsec

Główną cechą protokołu IPsec, która umożliwia obsługę różnych


aplikacji, jest jego funkcja szyfrowania i (lub) uwierzytelniania
całego ruchu na poziomie IP. Dzięki temu można zabezpieczyć
wszystkie aplikacje, w tym zdalne logowanie, aplikacje klient-
serwer, pocztę e-mail, funkcję transferu plików, dostęp do sieci
WWW i tym podobne.

27
IPsec

Gdy protokół IPsec jest zaimplementowany na zaporze lub w


routerze, zapewnia ”solidne” zabezpieczenia, które można za-
stosować do całego z obszaru chronionego. Ruch z firmą lub
grupą roboczą nie pociąga za sobą nakładów w przetwarzaniu
związanym z bezpieczeństwem.
IPsec w firewall’u jest odporny na ominięcie, jeśli cały ruch z
zewnątrz musi korzystać z protokołu IP, a firewall jest jedynym
punktem gdzie ruch sieciowy wchodzi i wychodzi do organizacji.

28
IPsec

IPsec znajduje się ”poniżej” warstwy transportowej (TCP, UDP) i


dlatego jest przezroczysty dla aplikacji. Nie ma potrzeby zmi-
any oprogramowania w systemie użytkownika lub serwera, jeśli
protokół IPsec jest zaimplementowany w zaporze lub routerze.
Nawet jeśli protokół IPsec jest zaimplementowany w systemach
końcowych, nie ma to wpływu na oprogramowanie wyższej warstwy,
w tym aplikacji.

29
IPsec

IPsec może być przezroczysty dla użytkowników końcowych. Nie


ma potrzeby szkolenia użytkowników w zakresie mechanizmów
bezpieczeństwa, wydawania materiałów dotyczących kluczy dla
poszczególnych użytkowników ani unieważniania materiałów kluczy,
gdy użytkownicy opuszczają organizację.
W razie potrzeby IPsec może zapewnić bezpieczeństwo indywid-
ualnym użytkownikom. Jest to przydatne dla pracowników poza
siedzibą firmy i do konfigurowania bezpiecznej wirtualnej pod-
sieci w organizacji dla wrażliwych aplikacji.

30
IPsec

IPsec może także odgrywać kluczową rolę w architekturze routingu


wymaganej w sieci.
• Ogłoszenie routera (nowy router ogłasza swoją obecność) pochodzi
od autoryzowanego routera.
• Ogłoszenie sąsiada (router stara się nawiązać lub utrzymać
relację sąsiada z routerem w innej domenie routingu) pochodzi
z autoryzowanego routera.
• Komunikat przekierowania pochodzi z routera, do którego został
wysłany pakiet początkowy.
• Aktualizacja routingu nie jest sfałszowana.

31
IPsec

Bez takich środków bezpieczeństwa atakujący może zakłócić ko-


munikację lub przekierować część ruchu. Protokoły routingu,
takie jak Open Shortest Path First (OSPF), powinny być uruchami-
ane na bazie powiązań zabezpieczeń między routerami zdefin-
iowanymi przez IPsec.

32
Asocjacje bezpieczeństwa

Asocjacje bezpieczeństwa:
Jednokierunkowa relacja między nadawcą a odbiorcą zapewni-
ająca bezpieczeństwo ruchu.
Jeśli do dwukierunkowej bezpiecznej wymiany potrzebna jest
relacja równorzędna, wymagane są dwie asocjacje
Jest jednoznacznie identyfikowana przez:

• SPI - Security Parameter Index


• IP - adres IP docelowy
• ESP lub AH - identyfikator protokołu

33
Prptpkoy IPsec

AH - Authentication Header - udostępnia funkcje uwierzytelni-


ania (nieużywany w IPsec v3)
ESP - Encapsulating Security Payload - zapewnia usługi poufności,
w tym poufność treści wiadomości i ograniczoną poufność przepływu
ruchu. Opcjonalnie protokół ESP może również dostarczać usługi
uwierzytelniania.

34
ESP

Pakiet ESP:

• Indeks SPI (32 bity) — identyfikuje asocjację bezpieczeństwa.


• Numer kolejny (32 bity) — monotonicznie rosnąca wartość
licznika.
• Dane ładunku (zmienna) — segment poziomu transportu
(tryb transportowy) lub pakiet IP (tryb tunelowy) chroniony
przez szyfrowanie.
• Wypełnienie (0 – 255 bajtów) — może być konieczne, jeśli al-
gorytm szyfrowania wymaga, aby tekst jawny był wielokrot-
nością pewnej liczby oktetów.
• Rozmiar wypełnienia (8 bitów) — wskazuje liczbę bajtów
wypełnienia bezpośrednio poprzedzających to pole.

35
ESP

• Następny nagłówek (8 bitów) — określa typ danych zawartych


w polu Dane ładunku poprzez identyfikację pierwszego nagłówka
w tym ładunku (np. nagłówek rozszerzenia protokołu IPv6
lub protokół wyższej warstwy, taki jak TCP).
• Zmienna ICV (ang. Integrity Check Variable) — pole o zmien-
nej długości (musi być całkowitą liczbą 32-bitowych słów),
które zawiera wartość sprawdzania integralności obliczoną
dla pakietu ESP minus pole Dane uwierzytelniania.

36
ESP Frame§

Ramka protokołu ESP w IPsec


37
Tryby IPsec

Tryb transportowy - zapewnia ochronę przede wszystkim dla


protokołów wyższych warstw:

• ochrona trybu transportowego rozciąga się na ładunek danych


pakietu IP
• używany do komunikacji typu end-to-end pomiędzy dwoma
hostami
• IPv4 - ładunek zwiera dane, które zwykle następują po nagłówku
IP
• IPv6 - ładunek to dane, które zwykle występują za nagłówkiem
IP oraz za wszystkimi nagłówkami rozszerzeń IPv6

ESP w trybie transportowym szyfruje i opcjonalnie uwierzytel-


nia ładunek danych IP, ale nie nagłówek IP.
38
Tryby IPsec

Tryb tunelowy - zapewnia ochronę całego pakietu IP, cały pakiet


i pola zabezpieczeń są traktowane jako ładunek nowego zew-
nętrznego pakietu IP.
ESP w trybie tunelowym szyfruje i opcjonalnie uwierzytelnia
cały wewnętrzny pakiet IP, w tym wewnętrzny nagłówek IP.
Dzięki trybowi tunelowemu jest możliwe tworzenie wirtualnych
sieci prywatnych (VPN), które stanowią główne zastosowanie IPsec.

39
CISSP® Common Body of Knowledge
Review:
Cryptography Domain –
Part 2

Version: 5.9.2

http://opensecuritytraining.info/CISSP-Main.html

CISSP Common Body of Knowledge Review by Alfred Ouyang is licensed under the Creative Commons
Attribution-NonCommercial-ShareAlike 3.0 Unported License. To view a copy of this license, visit
http://creativecommons.org/licenses/by-nc-sa/3.0/ or send a letter to Creative Commons, 444 Castro Street, Suite
900, Mountain View, California, 94041, USA.
Learning Objective

Cryptography Domain
The Cryptography domain addresses the principles, means, and
methods of applying mathematical algorithms and data
transformations to information to ensure its integrity, confidentiality,
and authentication.
The candidate is expected to know basic concepts within
cryptography; public and private key algorithms in terms of their
applications and uses; algorithm construction, key distribution and
management, and methods of attack; the applications, construction
and use of digital signatures to provide authenticity of electronic
transactions, and non-repudiation of the parties involved; and the
organization and management of the Public Key Infrastructure
(PKIs) and digital certification and management.

Reference: CISSP CIB, January 2012 (Rev. 5)

-2-
Review of Part 1
• Classic ciphers:
– Substitution cipher
– Transposition cipher
– Polyalphabetic (or running key) cipher
– Concealment

• Modern ciphers:
– Block cipher
– Stream cipher
– Steganography
– Combination

-3-
Review of Part 1
• Hash Function Cryptography
– Non-keyed Digest (for integrity)
– Keyed Digest (for authentication)
– Digital Signature (for non-repudiation)

• Symmetric Cryptography
– Block Ciphers
• Confusion & Diffusion
– Confusion: S-box
– Diffusion: Feistel network & Columnar transposition
– Stream Ciphers
• XOR operation
– Modes of operation
• Block mode: ECB and CBC
• Stream mode: CFB, OFB, CTR

-4-
Review of Part 1
• Asymmetric Cryptography
– Diffie-Hellman Algorithm
– Factorization Algorithm
– Discrete Logarithm Algorithm

• Hybrid Cryptography
– Make use of asymmetric cryptography to keep the
ephemeral secret key secret.
– Make use of hash functions to ensure integrity and non-
repudiation of the ephemeral secret key.
– Use the transported ephemeral secret key to perform bulk/
link encryption using symmetric cryptography.

-5-
Discussion on Part 2
• Utilization of Cryptography
– Public Key Infrastructure (PKI)
– HTTP, S-HTTP, IPsec, SSH, SET
– Single Sign-On (SSO)
– Secured E-mail
• Types of Crypto Attacks
– Cryptoanalytic Attacks
– Cryptographic Attacks
• Discussion on export of crypto technologies

-6-
Topics

Cryptography Domain – Part 2


• Utilization of Cryptography
– Public Key Infrastructure (PKI)
– HTTP, S-HTTP, IPsec, SSH, SET
– Single Sign-On (SSO)
– Secured E-mail
– Quantum Cryptography
• Types of Crypto Attacks
– Cryptanalytic Attacks
– Cryptographic Attacks
• Discussion on export of crypto technologies

-7-
Utilization of Cryptography

Public Key Infrastructure (PKI)


• PKI is a certificate-based public key hybrid
cryptosystem
• PKI uses a “3rd party trust model”.
• Certification Authorities (CAs) provide verification of
“end entity’s” (EE) certificate (identity, public key, and
associated credentials).
Cross-certification

CA1 CA2 Principal CA

Certification Certification
Subordinate CA
path path
Sub CA1.1 Sub CA1.2 Sub CA2.1
CA certificate path

Certification
EE End entity (subject)
path
EE EE EE EE

-8-
Utilization of Cryptography

Public Key Infrastructure (PKI)


For CISSP Exam…
PKI provides four (4) core services:
• Authentication
– Provide assurance the person is who he/she claims to be.
• Integrity
– Provide assurance that data received has not been altered,
either intentionally or unintentionally.
• Confidentiality
– Provide assurance that no one can read a particular piece of
data except the intended receiver.
• Non-Repudiation
– Provide assurance that the message sent cannot be
disputed.

-9-
Utilization of Cryptography

Public Key Infrastructure (PKI) – Functional Components


PKI consists of…
• Directory Service
– Who are you? Who knows you?
• Certificate Management Service
– Where is your credential? Who issued your credential? Is it
valid?
• Key Management Service
– Please make me a key. Your public key? My public key?
• Cryptography Service
– Asymmetric, symmetric, and hash

- 10 -
Utilization of Cryptography:

PKI Functional Component – Directory Service


• X.500-based LDAP directory service
– A unified organizational information source that defines:
Organization, Organizational Unit, IT systems, and
Users…etc.
– Store & distribute certificates (with keys and credentials) and
certificate revocation list (CRL).
– A central information hub to enterprise IT systems.

C=US Employee HR
C=US Country system
O=US Government Organization
O=US Government
OU=Department of the Interior Organizational Unit

OU=NBC Organizational Unit Public Key


ERP Workflow
Infrastructure (PKI)
OU=DOI OU=Security Administrator Organizational Unit

CN=Alice Cryptographer Common Name X.500-based


LDAP Directory
E-mail=alice.cryptographer@nbc.gov E-mail Address Service
OU=NBC
UserCertificate=<binary data….> Digital Certificate

Key Management Single Sign-On


OU=Security Infrastructure (SSO) (HTTP/
OU=Security OU=IT (KMI) HTTPS)
Administrator

Secure E-mail
CN=Alice CN=Alice CN=Alice (S/MIME)
Cryptographer Cryptographer Cryptographer

- 11 -
Utilization of Cryptography

PKI Functional Component – Certificate Management


Service
• Certificate Authority (CA)
– Generate X.509-based digital certificates
– Manages the life cycle of published certificates
– Is a part of cross certification with other CAs

• Registration Authority (RA) Department of States &


Local
Bridge CA
Homeland

– Interoperate with directory Security Government Principal CA


(DHS)
Department of Subordinate CA
Justice (DoJ)
service to register subjects - FBI
Bridge CA
Bridge cross
certificate pair

– Perform verification of CA certificate

certificates, certificate path USGS


Principal CA

(A Subordinate CA) FWS


(A Subordinate CA)

NPS
PIV Card Reader (A Subordinate CA)

OSM
` (A Subordinate CA)
DOI User
User Workstation
Local CA
BOR
AD/DC (A Subordinate CA)
NBC
(A Subordinate CA)
Fingerprint Scanner

DOI Enterprise PKI Security Domain


(A Hierarchical PKI)

- 12 -
Utilization of Cryptography

PKI Functional Component – Certificate Management


Service
A X.509 digital certificate consist of…
• Version Certificate:
Data:
• Serial Number Version: 3 (0x2)
Serial Number: 1 (0x1)

• Algorithm ID
Signature Algorithm: md5WithRSAEncryption
Issuer: C=ZA, ST=Western Cape, L=Cape Town, O=Thawte
Consulting cc,
OU=Certification Services Division,
• Issuer Validity
CN=Thawte Server CA/Email=server-certs@thawte.com

• Validity
Not Before: Aug 1 00:00:00 1996 GMT
Not After : Dec 31 23:59:59 2020 GMT
Subject: C=ZA, ST=Western Cape, L=Cape Town, O=Thawte

– Not Before
Consulting cc,
OU=Certification Services Division,
CN=Thawte Server CA/Email=server-certs@thawte.com

– Not After Subject Public Key Info:


Public Key Algorithm: rsaEncryption
RSA Public Key: (1024 bit)
• Subject Modulus (1024 bit):
00:d3:a4:50:6e:c8:ff:56:6b:e6:cf:5d:b6:ea:0c:

• Subject Public Key Info.


68:75:47:a2:aa:c2:da:84:25:fc:a8:f4:47:51:da:
85:b5:20:74:94:86:1e:0f:75:c9:e9:08:61:f5:06:
6d:30:6e:15:19:02:e9:52:c0:62:db:4d:99:9e:e2:

– Public Key Algorithm 6a:0c:44:38:cd:fe:be:e3:64:09:70:c5:fe:b1:6b:


29:b6:2f:49:c8:3b:d4:27:04:25:10:97:2f:e7:90:
6d:c0:28:42:99:d7:4c:43:de:c3:f5:21:6d:54:9f:
– Subject Public Key 5d:c3:58:e1:c0:e4:d9:5b:b0:b8:dc:b4:7b:df:36:
3a:c2:b5:66:22:12:d6:87:0d

• Issuer Unique Identifier (Optional)


Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Basic Constraints: critical

• Subject Unique Identifier (Optional)


CA:TRUE
Signature Algorithm: md5WithRSAEncryption
07:fa:4c:69:5c:fb:95:cc:46:ee:85:83:4d:21:30:8e:ca:d9:

• Certificate Signature Algorithm a8:6f:49:1a:e6:da:51:e3:60:70:6c:84:61:11:a1:1a:c8:48:


3e:59:43:7d:4f:95:3d:a1:8b:b7:0b:62:98:7a:75:8a:dd:88:
4e:4e:9e:40:db:a8:cc:32:74:b9:6f:0d:c6:e3:b3:44:0b:d9:

• Certificate Signature 8a:6f:9a:29:9b:99:18:28:3b:d1:e3:40:28:9a:5a:3c:d5:b5:


e7:20:1b:8b:ca:a4:ab:8d:e9:51:d9:e2:4c:2c:59:a9:da:b9:
b2:75:1b:f6:42:f2:ef:c7:f2:18:f9:89:bc:a3:ff:8a:23:2e:
70:47

- 13 -
Utilization of Cryptography

PKI Functional Component – Key Management Service


• Key establishment function – after a private key (or
secret key in symmetric key crypto. operation) has
been generated using RNG, a public key is then
generated from the private key using an asymmetric
key algorithm. (i.e., key generation)
• Key exchange function – composed of a set of key
agreement protocols and key distribution rules,
executing exchange of encryption keys.
• Key backup & recovery function – excluding
ephemeral keys, “seeds” for RNG, and shared secret
keys.

Reference: NIST SP 800-57, Recommendation on Key Management


- 14 -
Utilization of Cryptography

PKI Functional Component – Key Management Service


• Key revocation function – If a key has been
compromised or subjected to a change, then…
– the status of key-pair is revoked, and
– the certificate status shall be listed in the certificate
revocation list (CRL).
• Key destruction function – Key zero-ization is used in
the destruction of key-pair.
• Key escrow function – Use of 3rd party agent (i.e. CA)
to store “encrypted” key-pair.
– Fair Cryptosystem, defined by FIPS 185 Escrowed
Encryption Standard: SKIPJACK Algorithm and a Law
Enforcement Access Field (LEAF) creation method.

Reference: NIST SP 800-57, Recommendation on Key Management


- 15 -
Utilization of Cryptography

Key Types Identified in NIST SP 800-57… (1/2)

Crypto-period
Key Type
Originator Usage Period Recipient Usage Period
1. Private Signature Key 1-3 years
2. Public Signature Key Several years (depends on key size)
3. Symmetric Authentication Key ≤ 2 years ≤ OUP + 3 years
4. Private Authentication Key 1-2 years
5. Public Authentication Key 1-2 years
6. Symmetric Data Encryption Keys ≤ 2 years ≤ OUP + 3 years
7. Symmetric Key Wrapping Key ≤ 2 years ≤ OUP + 3 years
8. Symmetric and asymmetric RNG Keys Upon reseeding
9. Symmetric Master Key About 1 year
10. Private Key Transport Key ≤ 2 years

Reference: NIST SP 800-57, Recommendation on Key Management


- 16 -
Utilization of Cryptography

Key Types Identified in NIST SP 800-57… (2/2)


Crypto-period
Key Type
Originator Usage Period Recipient Usage Period
11. Public key Transport Key 1-2 years
12. Symmetric Key Agreement Key 1-2 years
13. Private Static key Agreement Key 1-2 years
14. Public Static Key Agreement Key 1-2 years
15. Private Ephemeral Key Agreement Key One key agreement transaction
16. Public Ephemeral Key Agreement Key One key agreement transaction
17. Symmetric Authorization Key ≤ 2 years
18. Private Authorization Key ≤ 2 years
19. Public Authorization Key ≤ 2 years

Reference: NIST SP 800-57, Recommendation on Key Management


- 17 -
Utilization of Cryptography

PKI Functional Component – Cryptography Service


• Asymmetric key cryptography operations in PKI
– Because of crypto. operation speed, mostly used for key
management function.
• Symmetric key cryptography operations in PKI
– Because of speed, symmetric-key cryptosystems are used
for crypto. operations. E.g. SSL/TLS at transport-level
(communication path), e-mail & SOAP messages at
message-level.
• Hash function
– Message digest
– Message authentication code (MAC)
– Key-hashed MAC (HMAC)
– Digital signature

- 18 -
Topics

Cryptography Domain – Part 2


• Utilization of Cryptography
– Public Key Infrastructure (PKI)
– HTTP, S-HTTP, IPsec, SSH, SET
– Single Sign-On (SSO)
– Secured E-mail
– Quantum Cryptography
• Types of Crypto Attacks
– Cryptanalytic Attacks
– Cryptographic Attacks
• Discussion on export of crypto technologies

- 19 -
Utilization of Cryptography

Cryptography for Internet Security


• HTTPS is a uniform resource identifier (URI) scheme
that refers the use of HTTP over an encrypted
Secured Socket Layer (SSL) or Transport Layer
Security (TLS) session.

• S-HTTP – Secure Hypertext Transfer Protocol (RFC


2660)
– a variation of HTTP providing encryption through a secure
port using SSL/TLS.
– Message oriented protocol – protects the message.
– Supports encryption of Web documents employing RSA
public key technology.
– Provides confidentiality, integrity, non-repudiation and
authentication for electronic payments.

- 20 -
Utilization of Cryptography

Cryptography for Internet Security – HTTPS using PKI


• X.509 certificate with public key is
the key for implementing HTTPS…
– SSL/TLS for Transport-Level security
– Asymmetric key algorithm for key
management operations
– Symmetric key algorithm for
cryptographic operations
– Hash function & digital signature for
integrity and non-repudiation
– Principal CA is the “trusted third party”
that enables the trusted relationships
– PKI is the supporting IT infrastructure
Client Web Container Server Web Container

Client Program Server Program


SSL/TLS Server
SSL/TLS Client

Secure Pipe
Message (SSL/TLS) Message

Message encrypted back


and forth
Message in plaintext Message in plaintext

- 21 -
Utilization of Cryptography

Cryptography for Internet Security – SSL


SSL (Secure Sockets Layer)
Client Server

• Runs between the Application Layer client hello

(HTTP, SMTP, NNTP, etc) and the server hello

Transport Layer (TCP). certificate

server key exchange

• Supports client/server’s negotiation Request for client’s certificate

of cryptographic algorithms: server hello done

certificate
– Public-key cryptography: RSA, Diffie- client key exchange

Hellman, DSA or Fortezza. certificate verification

– Symmetric ciphers: RC2, IDEA, DES, change cipher specification

finished
3DES or AES.
change cipher specification
– One-way hash functions: MD5 or SHA. finished

Application Data...

- 22 -
Utilization of Cryptography

Cryptography for Internet Security – SSL


Remote Client Server

• SSL works in two modes: Client Application


(with embedded support for
Server Application
(with embedded support for
SSL/TLS) SSL/TLS)
– Application embedded. i.e. HTTPS SSLv3/TLSv1 SSLv3/TLSv1

– SSL tunnel or SSL VPN (e.g. TCP/IP stack TCP/IP stack

OpenVPN) Data-Link Layer Data-Link Layer

• SSL VPN is less complex than SSL/TLS encrypted


payload using e.g.
2048 RSA, 3DES

IPsec…
Remote Client DOI ESN Networks

– Unlike IPsec, SSL protocol sits on


top of Transport Layer stack.
Server Applications Server Applications
Server Applications Server Applications
Server Applications Server Applications
Server Applications Server Applications

– OpenVPN (a.k.a. user-space VPN) TCP/IP stack TCP/IP stack

because unlike IPsec, it operates


out side of OS kernel. SSLv3/TLSv1 Tunnel Client SSLv3/TLSv1 Tunnel
Software Security Gateway

– SSL is more flexible in supporting SSLv3/TLSv1 SSLv3/TLSv1

multiple cryptographic algorithms. TCP/IP stack TCP/IP stack

Data-Link Layer Data-Link Layer

Proprietary transparent SSL/


TLS encrypted VPN tunnel
using e.g. 2048 RSA, 3DES

- 23 -
Utilization of Cryptography

Cryptography for Internet Security – TLS


Client Server
• TLS 1.0 (Transport Layer Security)
(RFC 2246) is defined base on SSL
client hello

3.0. server hello

certificate

• TLS and SSL protocols are not server key exchange

Request for client’s certificate


interchangeable. (During a server hello done

client/server session.) certificate

• The selection of TLS or SSL is client key exchange

certificate verification
negotiated between client/server at change cipher specification

the “hello”. finished

• TLS is gaining vendor support, but change cipher specification

finished

since TLS 1.0 is essentially SSL 3.0, Application Data...


so most vendor supports TLS/SSL.

- 24 -
Utilization of Cryptography

Cryptography for Internet Security – IPsec… (1/5)


• IPsec is a protocol suite (RFC 2401 4301, 2411).
• Transport Layer:
– AH (IP Authentication Header) provides connection-less
integrity, data origin authentication.
– ESP (Encapsulating Security Payload) provides
confidentiality through encryption.
• Application Layer: (RFC 4306)
– IKE (Internet Key Exchange) is performed using ISAKMP
(Internet Security Association and Key Management
Protocol). IPsec Module 1 IPsec Module 2

IPsec Key
Exchange (IKE)
ISAKMP ISAKMP
Application
Layer

Security
Security
Association (SA)
Security Transport
IPSP IPSP
Association Association Layer
Database Database
AH protection
ESP protection

Security Association Security Association


Database Database - 25 -
Utilization of Cryptography

Cryptography for Internet Security – IPsec… (2/5)


• Authentication Header (AH) (RFC 4302)
– AH follows right after IP header
– Next Header: Identifies the protocol of transferred data
– Payload Length: Size of AH packet
– SPI: Identifies the security parameters, which in combination
with the IP address, identify the security association
implemented with this packet
– Sequence Number: Used to prevent replay attacks
– Authentication Data: Contains the integrity check value
(ICV) to authenticate the packet

Bits

0 4 8 12 16 20 24 28 31
1 Next Header Payload Length Reserved

2 Security Parameters Index (SPI)


Words

3 Sequence Number

4 Authentication Data (variable)


- 26 -
Utilization of Cryptography

Cryptography for Internet Security – IPsec… (3/5)


• Encapsulating Security Payload (ESP) (RFC 4303)
– ESP operates directly on top of IP header
– SPI: Identifies the security parameters in combination with
the IP address
– Sequence Number: Used to prevent replay attacks
– Payload Data: The encapsulated data
– Padding: Used to pad the data for block cipher
– Pad Length: Necessary to indicate the size of padding
– Next Header: Identifies the protocol of the transferred data
– Authentication Data: Contains the integrity check value (ICV)
to authenticate the packet Bits

0 4 8 12 16 20 24 28 31
1 Security Parameters Index (SPI)

2 Sequence Number
Words

3 Payload Data (variable)

4 Payload Data... Padding... Pad Length Next Header

5 Authentication Data (variable)


- 27 -
Utilization of Cryptography

Cryptography for Internet Security – IPsec… (4/5)


IPsec operates in two modes:
• Transport mode:
– Only the payload is protected (i.e., encryption & hash)
– IP headers are not encrypted
– If AH is used then IP address can not be translated (i.e., NAT)
– For host-to-host communications only
• Tunnel mode:
– The payload and header are protected (i.e., encryption & hash)
– Used for network-to-network, host-to-network, and host-to-host
communications

Reference: http://en.wikipedia.org/wiki/IPsec

- 28 -
Utilization of Cryptography

Cryptography for Internet Security – IPsec... (5/5)


IPsec is implemented in the following “popular” ways…
• Network-to-Network
– IPsec tunnel between two security gateways
– GRE/IPsec in established Layer 3 tunnel
– L2TP/IPsec in established Layer 2 tunnel
• Host-to-Network
– L2TP/IPsec in established Layer 2 tunnel via VPN client on
remote client (i.e. your laptop or PC)
• Host-to-Host
– IPsec in transport mode or tunnel mode between two
computing machines

Reference:
• http://en.wikipedia.org/wiki/IPsec
• http://en.wikipedia.org/wiki/L2TP
• http://www.cisco.com/en/US/tech/tk583/tk372/tech_configuration_examples_list.html
• http://www.cisco.com/univercd/cc/td/doc/product/software/ios120/12cgcr/secur_c/scprt4/scipsec.htm
• RFC 4301, Security Architecture for the Internet Protocol (http://tools.ietf.org/html/rfc4301)

- 29 -
Utilization of Cryptography

Cryptography for Internet Security – SSH… (1/2)


• SSH (Secure Shell) is a secure Host

replacement for the r* programs Application


Client
SSH Client

(rlogin, rsh, rcp, rexec, etc.)


(RFC 4251) Secure SSH Connection

Target

Application

• SSH consists of three major


SSH Server
Server

components:
– Transport Layer Protocol [SSH-TRANS] provides server
authentication, confidentiality, and integrity.
– User Authentication Protocol [SSH-USERAUTH]
authenticates the client-side user to the server.
– Connection Protocol [SSH-CONNECT] multiplexes the
encrypted tunnel into several logical channels.

- 30 -
Utilization of Cryptography

Cryptography for Internet Security – SSH… (2/2)


• SSH has an open architecture (RFC 4251):
– Uses public-key trust model to authenticate users
• “Web of trust”: Client has a local database of public keys
• “3rd party of trust”: Public keys are certified by CAs
– Supports variety of cryptography algorithms:
• Blowfish, TDES, AES, IDEA, etc.

• SSH protects:
– Eavesdropping of data transmitted over the network.
– Manipulation of data at intermediate elements in the network
(e.g. routers).
– IP address spoofing where an attack hosts pretends to be a
trusted host by sending packets with the source address of
the trusted host.
– DNS spoofing of trusted host names/IP addresses.
– IP source routing.
- 31 -
Utilization of Cryptography

Cryptography for Internet Security – SET


Secure Electronic Transaction (SET) is a system for
ensuring the security of financial transactions on the
Internet. It was supported initially by Mastercard,
Visa, Microsoft, Netscape, and others.
• A user is given an electronic wallet (digital certificate)
and a transaction is conducted and verified using a
combination of digital certificates and digital signature
among the purchaser, a merchant, and the
purchaser's bank in a way that ensures privacy and
confidentiality.
– SET uses Netscape's SSL, Microsoft's STT (Secure
Transaction Technology), and Terisa System's S-HTTP.
– SET uses some but not all aspects of a PKI.

- 32 -
Topics

Cryptography Domain – Part 2


• Utilization of Cryptography
– Public Key Infrastructure (PKI)
– HTTP, S-HTTP, IPsec, SSH, SET
– Single Sign-On (SSO)
– Secured E-mail
– Quantum Cryptography
• Types of Crypto Attacks
– Cryptanalytic Attacks
– Cryptographic Attacks
• Discussion on export of crypto technologies

- 33 -
Cryptography for Single Sign-On (SSO) – Using PKI
Security Assertion is the
key for implementing
SSO…
• SSL/TLS for layer 4-7
security.
• SAML asserts user
authentication
credential & X.509
certificates from one
system to another.
• Principal CA is the
“trusted 3rd party” that
enables the trusted
relationships.
• PKI is the supporting
IT infrastructure.

- 34 -
Topics

Cryptography Domain – Part 2


• Utilization of Cryptography
– Public Key Infrastructure (PKI)
– HTTP, S-HTTP, IPsec, SSH, SET
– Single Sign-On (SSO)
– Secured E-mail
– Quantum Cryptography
• Types of Crypto Attacks
– Cryptanalytic Attacks
– Cryptographic Attacks
• Discussion on export of crypto technologies

- 35 -
Utilization of Cryptography

Cryptography for Secure E-mail Service


• Security Objectives (operational requirements)
– Message origin – verify sender of message.
– Content integrity – verify integrity of message.
– Content confidentiality – verify secrecy of message.
– Proof of delivery – verify delivery.
– Message sequence integrity – verify proper segment order.
– Non-repudiation of origin – verify sender to receiver.
– Non-repudiation of delivery – very receipt of message.

- 36 -
Utilization of Cryptography

Cryptography for Secure E-mail Service – Standards


• Privacy Enhanced Mail (PEM) (RFC 822,1421, 1422,
1423, 1424)
– Internet standard to provide secure e-mail over the Internet or
in-house.
– Supports DES in CBC mode, RSA PKCS, X.509 digital
certificate.
• Secure/Multipurpose Internet Mail Extension (S/MIME)
(RFC 2633, RFC 2311)
– Extension of MIME that supports encryption of e-mail and
attachments.
– Encryption and hashing algorithms can be defined by the user.
– Supports X.509 Certificate format is used.
• Pretty Good Privacy (PGP)
– Uses “web-of-trust” model, users create their own key-pair.
– Supports a variety of Asymmetric and Symmetric algorithms.
– PGP also does file/disk encryption.
- 37 -
Utilization of Cryptography

Cryptography for Secure E-mail Service – S/MIME –


Encrypting & Signing

Encrypting/Signing...

Alice Bob

CRL

Entrust Profile
Abcdefalsdasdfasdf
Abcdefalsdasdfasdf
asdfasdfAsdfasdfas
asdfasdfAsdfasdfas
dfasdfasdfasdfasdfa
dfasdfasdfasdfasdfa
sdfpolaskjflieaseifjas
sdfpolaskjflieaseifjas
leifjalsiejf;
leifjalsiejf;lasiejfflasij
efj;lialakjsdf asd
;laksdjfladksjflaksjdfl
kasjdlfjsald;jf;lakjasl
kdjjfasdfasdfasdlkj

aslkdjf;laskjdflasjdlfj
ks;ldkjfsalkjlkj;lkjasf

• This
Alice’s
The
Alice
A one-time
Hash
one-time
CRL
validity
package
Retrieves
opens
composes
verification
ofisthe
symmetric
retrieved
of
her
symmetric
is
message
Bob’s
Bob’s
sent
private
a message
public
Certificate
to
to
Encryption
encryption
Bob
is
key
check
encryption
key
created
store
foris
Bob’s
Bob
is
included
Public
key
and
verified
key
revocation
is
isis
generated
Key
signed
to
using
itself
allow
Certificate
encrypted
using
status
the
Bob
and
CAAlice’s
to
used
from
Public
verify
with
to
the
signing
Key
encrypt
her
Bob’s
Directory
signature
private
the
encryption
Certificate
message
key and
public
signed
keyhash
Source: ISSA-NOVA CISSP Study Group
- 38 -
Utilization of Cryptography

Cryptography for Secure E-mail Service – S/MIME –


Decrypting & Verifying

Decrypting/Verifying... Entrust Profile

Alice Bob

Abcdefalsdasdfasdf
Abcdefalsdasdfasdf
asdfasdfAsdfasdfas
asdfasdfAsdfasdfas
dfasdfasdfasdfasdfa
dfasdfasdfasdfasdfa
sdfpolaskjflieaseifjas
sdfpolaskjflieaseifjas
leifjalsiejf;
leifjalsiejf;lasiejfflasij
efj;lialakjsdf asd
;laksdjfladksjflaksjdfl
kasjdlfjsald;jf;lakjasl
CRL kdjjfasdfasdfasdlkj

aslkdjf;laskjdflasjdlfj
ks;ldkjfsalkjlkj;lkjasf

• Bob logs
retrieves
usesinto
confirms
the his
the Private
CRLsignature
his one-time and
encryption
Alice’s Key
confirms
Store
private
symmetric on
key Alice’s
the
toto
key revocation
message
retrieve the
retrievehash status
one-time
the and compares
messagesymmetric
it tokey
text and a
hash ofhash
signed the message created locally

Source: ISSA-NOVA CISSP Study Group


- 39 -
Utilization of Cryptography

Cryptography for Secure E-mail Service – Pretty Good


Privacy (PGP)
Like PKI, PGP is also a hybrid cryptosystem, but unlike
PKI, PGP uses a “web-of-trusts” model.
• There is no trusted CA to verify the identity and
associated credential.
• Each “end entity” collects certificates from other
trusted subjects.
EE1
EE2 EE3 EE4 EE5

EE5 EE2
EE2 EE3 EE4 EE1 EE1
Certification
paths
CA certificate path

EE End entity (subject)

EE4 EE3
EE1 EE2 EE3 EE1 EE2

- 40 -
Utilization of Cryptography

Cryptography for Secure E-mail Service – Pretty Good


Privacy (PGP)
PGP accepts both
Certificate:

• X.509 digital certificate and Data:


Version: 3 (0x2)
Serial Number: 1 (0x1)

• PGP certificate (consists


Signature Algorithm: md5WithRSAEncryption
Issuer: C=ZA, ST=Western Cape, L=Cape Town, O=Thawte
Consulting cc,
OU=Certification Services Division,

of)… Validity
CN=Thawte Server CA/Email=server-certs@thawte.com

Not Before: Aug 1 00:00:00 1996 GMT

– PGP version number


Not After : Dec 31 23:59:59 2020 GMT
Subject: C=ZA, ST=Western Cape, L=Cape Town, O=Thawte
Consulting cc,
OU=Certification Services Division,
– Algorithm ID CN=Thawte Server CA/Email=server-certs@thawte.com
Subject Public Key Info:
Public Key Algorithm: rsaEncryption

– Issuer RSA Public Key: (1024 bit)


Modulus (1024 bit):
00:d3:a4:50:6e:c8:ff:56:6b:e6:cf:5d:b6:ea:0c:

– Validity 68:75:47:a2:aa:c2:da:84:25:fc:a8:f4:47:51:da:
85:b5:20:74:94:86:1e:0f:75:c9:e9:08:61:f5:06:
6d:30:6e:15:19:02:e9:52:c0:62:db:4d:99:9e:e2:

• Not Before 6a:0c:44:38:cd:fe:be:e3:64:09:70:c5:fe:b1:6b:


29:b6:2f:49:c8:3b:d4:27:04:25:10:97:2f:e7:90:
6d:c0:28:42:99:d7:4c:43:de:c3:f5:21:6d:54:9f:
• Not After 5d:c3:58:e1:c0:e4:d9:5b:b0:b8:dc:b4:7b:df:36:
3a:c2:b5:66:22:12:d6:87:0d
Exponent: 65537 (0x10001)

– Subject X509v3 extensions:


X509v3 Basic Constraints: critical
CA:TRUE

– Subject Public Key Info. Signature Algorithm: md5WithRSAEncryption


07:fa:4c:69:5c:fb:95:cc:46:ee:85:83:4d:21:30:8e:ca:d9:
a8:6f:49:1a:e6:da:51:e3:60:70:6c:84:61:11:a1:1a:c8:48:

• Public Key Algorithm 3e:59:43:7d:4f:95:3d:a1:8b:b7:0b:62:98:7a:75:8a:dd:88:


4e:4e:9e:40:db:a8:cc:32:74:b9:6f:0d:c6:e3:b3:44:0b:d9:
8a:6f:9a:29:9b:99:18:28:3b:d1:e3:40:28:9a:5a:3c:d5:b5:

• Subject Public Key e7:20:1b:8b:ca:a4:ab:8d:e9:51:d9:e2:4c:2c:59:a9:da:b9:


b2:75:1b:f6:42:f2:ef:c7:f2:18:f9:89:bc:a3:ff:8a:23:2e:
70:47
– Certificate Signature Algorithm
– Certificate Signature
- 41 -
Topics

Cryptography Domain – Part 2


• Utilization of Cryptography
– Public Key Infrastructure (PKI)
– HTTP, S-HTTP, IPsec, SSH, SET
– Single Sign-On (SSO)
– Secured E-mail
– Quantum Cryptography
• Types of Crypto Attacks
– Cryptanalytic Attacks
– Cryptographic Attacks
• Discussion on export of crypto technologies

- 42 -
Crypto Attacks
• Types of cryptanalytic attacks:
– Ciphertext-only attack
– Known-plaintext attack
– Chosen-plaintext attack
– Chosen-ciphertext attack
– Adaptive-chosen-plaintext attack
– Adaptive-chosen-ciphertext attack
• Types of cryptographic attacks
– Brute-force attack
– Symmetric block cipher attacks
– Stream cipher attacks
– Hash function attack
– Message authentication code (MAC) attack
– Birthday attack
– Man-in-the-middle attack
Reference:
• Cryptography Engineering, N. Ferguson, B. Schneier, T. Kohno, Wiley Publishing, 2010.
• http://en.wikipedia.org/wiki/Category:Cryptographic_attacks - 43 -
Crypto Attacks

Types of Cryptanalytic Attacks… (1/2)


• Ciphertext-only attack (or known-ciphertext attack)
– Attacker has: ciphertext messages
– Goal: discover the key
• Known-plaintext attack
– Attacker has: ciphertext and plaintext messages
– Goal: discover the key
• Chosen-ciphertext attack
– Attacker selects: a series of same ciphertext messages
– Goal: discover the key
• Chosen-plaintext attack
– Attacker selects: a series of ciphertext and corresponding
plaintext messages
– Goal: discover the key
Reference:
• Cryptography Engineering, N. Ferguson, B. Schneier, T. Kohno, Wiley Publishing, 2010.
• http://en.wikipedia.org/wiki/Category:Cryptographic_attacks
- 44 -
Crypto Attacks

Types of Cryptanalytic Attacks… (2/2)


• Adaptive-chosen-ciphertext attack
– Attacker is able to choose: ciphertext sample dynamically,
depending on previous outcomes of the attack.
– Goal: discover key
• Adaptive-chosen-plaintext attack
– Attacker choose: plaintext samples dynamically, and alter his
or her choice based on the results of the previous
operations.
– Goal: discover key

Reference:
• Cryptography Engineering, N. Ferguson, B. Schneier, T. Kohno, Wiley Publishing, 2010.
• http://en.wikipedia.org/wiki/Category:Cryptographic_attacks - 45 -
Crypto Attacks

Types of Cryptographic Attacks… (1/5)


• Brute-force attack
– Exhaustive search of possible combination (key) until the
correct one is identified.
– Can be applied to any type of cipher because the advance
technologies in computing performance has made brute-
force attacks practical against keys of a fixed length.

Bits Number of keys Brute Force Attack Time


56 7.2 x 1016 20 hours
80 1.2 x 1024 54,800 years
128 3.4 x 1038 1.5 x 1019 years
256 1.15 x 1077 5.2 x 1057 years

- 46 -
Crypto Attacks

Types of Cryptographic Attacks… (2/5)


• Symmetric block cipher attacks
– Differential cryptanalysis – A chosen-plaintext attack that
relies on the analysis of the evolution of the differences
between the two related plaintext samples as they are
encrypted using the same key.
– Linear cryptanalysis – A known-plaintext attack using linear
approximations to describe the behavior of the block cipher.
– Weak keys – Secret keys with a certain value for which the
block cipher in question will exhibit certain regularities in
encryption, or in other cases, a poor level of encryption.
– Algebraic attacks – A class of techniques that rely on the
block ciphers exhibiting a high degree of mathematical
structure. (i.e., “pattern”)
– (0x0101010101010101) (0xFEFEFEFEFEFEFEFE)
– '0xE0E0E0E0F1F1F1F1’ '0x1F1F1F1F0E0E0E0E'

- 47 -
Crypto Attacks

Types of Cryptographic Attacks… (3/5)


• Stream cipher attacks
– Reuse key attack – if the same key is used twice (depth of
two) or more.
– Substitution attack - Suppose an adversary knows the exact
content of all or part of one of our messages. As a part of a
man-in-the-middle attack, she can alter the content of the
message without knowing the key, K. Say, for example, she
knows a portion of the message contains the ASCII string
"$1000.00". She can change that to "$9500.00" by xor'ing
that portion of the ciphertext with the string: "$1000.00" xor
"$9500.00". To see how this works, consider that the cipher
text we send is just C(K) XOR "$1000.00". What she is
creating is:
• C(K) XOR "$1000.00" XOR "$1000.00" XOR "$9500.00" = C(K)
XOR "$9500.00" .
which is what our ciphertext would have been if $9500 were
the correct amount.

Reference: http://en.wikipedia.org/wiki/Stream_cipher_attack
- 48 -
Crypto Attacks

Types of Cryptographic Attacks… (4/5)


• Hash function attack
– Brute-force attack. Attacker chooses random inputs to the
hash function until a targeted output is produced.
– Differential attack. Attacker uses the difference in term of
integer modular subtraction as inputs to MD5 until a targeted
output is produced.
• Message authentication code (MAC) attack
– Unlike digital signature, MAC value is generated and verified
using same secret key (i.e. symmetric). Attacker performs
chosen-plaintext attack on MAC to find the secret key.

Reference: How to Break MD5 and Other Hash Functions, Xiaoyun Wang and Hongbo
Yu, Shandong University, 2005

- 49 -
Crypto Attacks

Types of Cryptographic Attacks… (5/5)


• Birthday attack
– A class of brute-force attack used against hashing functions
based on birthday paradox: probability that two or more
people in a group of 23 share the same birthday is greater
than 50%.
– Attacker is to find two messages with the same digest value
instead of matching a specific value.
• Man-in-the-middle attack
– Relevant for cryptographic
Entity A Entity B
communications and key
exchange protocols.
– Attacker is between two
internetworking entities on a
Attacker
C

communications line. (i.e. a proxy.)

Reference: http://en.wikipedia.org/wiki/Birthday_attack
- 50 -
Bezpieczeństwo systemów
operacyjnych
Marek Miśkiewicz
wykład 4
Uwierzytelnianie w sieci Internet
Kerberos
Kerberos
● Początkowo opracowany w MIT
● Narzędzie programowe dostępne zarówno w domenie publicznej, jak i w wersje
obsługiwane komercyjnie
● Wydany jako standard internetowy i jest standardem defacto dla zdalnego
uwierzytelniania
● Do uwierzytelniania wykorzystywana jest zaufana trzecia strona (Third Party)
● Wymaga, aby użytkownik udowodnił swoją tożsamość dla każdej wywoływanej
usługi i wymaga, aby serwery udowodniły swoją tożsamość klientom
Kerberos - protokół
● Obejmuje klientów, serwery aplikacji i serwer Kerberos
○ Zaprojektowany, aby przeciwdziałać różnorodnym zagrożeniom dla bezpieczeństwa dialogu klient /
serwer.
○ Oczywistym zagrożeniem dla bezpieczeństwa jest podszywanie się.
○ Serwery muszą mieć możliwość potwierdzania tożsamości klientów żądających usługi.
● Authentication Server (AS)
○ Użytkownik początkowo negocjuje z AS w celu weryfikacji tożsamości
○ AS weryfikuje tożsamość, a następnie przekazuje informacje do serwera aplikacji, który następnie
przyjmuje żądania usług od klienta

Trzeba to zrobić w bezpieczny sposób: Jeśli klient wyśle hasło użytkownika do AS przez sieć, atakujący może je
zauważyć. Atakujący może podszywać się pod AS i wysłać fałszywe potwierdzenie.
COMPUTER SECURITY: PRINCIPLES AND PRACTICE, Fourth Edition; ISBN 0134794109; by William Stallings, and by Lawrie Brown, Pearson 2018
Domena Kerberosa
● Środowisko Kerberosa:
○ Serwer Kerberos
○ Klienci, wszyscy zarejestrowani na serwerze
○ Serwery aplikacji współdzielące klucze z serwerem
● Domeny - sieci klientów i serwerów w ramach różnych organizacji
● W przypadku wielu współdziałających domen serwery Kerberos muszą ufać sobie
nawzajem
COMPUTER SECURITY: PRINCIPLES AND PRACTICE, Fourth Edition; ISBN 0134794109; by William Stallings, and by Lawrie Brown, Pearson 2018
Kerberos - wersja 5
● Pierwszą szeroko stosowaną wersją protokołu Kerberos była wersja 4, opublikowana
pod koniec lat 80
● Ulepszenia w wersji 5:
○ Zaszyfrowana wiadomość jest oznaczona identyfikatorem algorytmu szyfrowania Umożliwia to
użytkownikom skonfigurowanie protokołu Kerberos do korzystania z algorytmu innego niż DES
○ Obsługuje przekazywanie uwierzytelniania
■ Umożliwia klientowi dostęp do serwera i umożliwia temu serwerowi dostęp do innego serwera
w imieniu klienta
■ Obsługuje metodę uwierzytelniania między obszarami, która wymaga mniejszej liczby
bezpiecznych wymian kluczy niż w wersji 4
Kerberos - problemy wydajnościowe
● Problem rozmiaru środowiska klient-serwer
● Dla rozległych środowisk jeśli system jest poprawnie skonfigurowany, to wpływ
stosowania protokołu Kerberos na wydajność jest niewielki
● Najlepszym sposobem zapewnienia bezpieczeństwa protokołu Kerberos jest
umieszczenie serwera Kerberos na oddzielnym, odizolowanym komputerze
● Wiele oddzielnych domen to wymóg raczej geograficzny niż sprzętowy
Urzędy certyfikacji
Urzędy certyfikacji - CA
W skład certyfikatu w ogólności wchodzi:
● klucz publiczny właściciela (dokładnie określona tożsamość)
● podpis zaufanej trzeciej strony (TTP) - wystawcy certyfikatu

Zazwyczaj stroną trzecią jest CA, któremu ufają społeczności użytkowników (takie jak
agencja rządowa, firma telekomunikacyjna, instytucja finansowa lub inna zaufana
organizacja). Użytkownik może w bezpieczny sposób przedstawić urzędowi swój klucz
publiczny i uzyskać certyfikat. Użytkownik może następnie opublikować certyfikat lub
wysłać go innym. Każdy, kto potrzebuje klucza publicznego tego użytkownika, może
uzyskać certyfikat i zweryfikować jego ważność za pomocą dołączonego zaufanego
podpisu.
Standard X.509
Standard ITU-T X.509, określony również w specyfikacji RFC 5280, jest najpowszechniej
akceptowanym formatem certyfikatów klucza publicznego. Certyfikaty X.509 są używane w
większości aplikacji zabezpieczających sieć, w tym w zabezpieczeniach IP Security (IPSEC),
SSL (ang. Secure Socket Layer), TLS (ang. Transport Layer Security), SET (ang. Secure
Electronic Transactions) i S/MIME, a także w aplikacjach eBusiness.
COMPUTER SECURITY: PRINCIPLES AND PRACTICE, Fourth Edition; ISBN 0134794109; by William Stallings, and by Lawrie Brown, Pearson 2018
Rodzaje certyfikatów
● Certyfikaty konwencjonalne
○ Certyfikaty CA i „użytkowników końcowych”
○ Zwykle wydawane na okresy ważności od miesięcy do lat
● Certyfikaty krótkotrwałe
○ Służy do zapewniania uwierzytelniania w aplikacjach, takich jak przetwarzanie sieciowe, przy
jednoczesnym uniknięciu niektórych kosztów ogólnych i ograniczeń konwencjonalnych
certyfikatów
○ Mają okresy ważności od godzin do dni, co ogranicza okres niewłaściwego użycia w
przypadku naruszenia
○ Ponieważ zwykle nie są wydawane przez uznane CA, istnieją problemy z weryfikacją ich poza
ich organizacją wydającą
Rodzaje certyfikatów
● Certyfikaty proxy
○ Powszechnie stosowany do zapewniania uwierzytelniania w aplikacjach, takich jak
przetwarzanie sieciowe, przy jednoczesnym uwzględnieniu niektórych ograniczeń
krótkoterminowych certyfikatów
○ Identyfikowane przez obecność rozszerzenia „certyfikatu proxy”
○ Pozwalają one certyfikatowi „użytkownika końcowego” na podpisanie innego certyfikatu
○ Umożliwiają one użytkownikowi łatwe tworzenie poświadczeń umożliwiających dostęp do
zasobów w określonym środowisku bez konieczności podawania pełnego certyfikatu i
uprawnień
Rodzaje certyfikatów
● Certyfikaty atrybutów
○ Używają innego formatu certyfikatu, aby połączyć tożsamość użytkownika z zestawem
atrybutów, które są zwykle używane do autoryzacji i kontroli dostępu
○ Użytkownik może mieć wiele różnych certyfikatów atrybutów, z różnymi zestawami atrybutów
do różnych celów
○ Zdefiniowane w rozszerzeniu „Atrybuty”
Infrastruktura klucza publicznego
Infrastruktura klucza publicznego
● Zestaw sprzętu, oprogramowania, ludzi, zasad i procedur niezbędnych do tworzenia,
zarządzania, przechowywania, dystrybucji i unieważniania certyfikatów cyfrowych w
oparciu o kryptografię asymetryczną
● Opracowany, aby umożliwić bezpieczne, wygodne i wydajne pozyskiwanie kluczy
publicznych
● „Trusted Store”
○ Lista urzędów certyfikacji i ich kluczy publicznych
COMPUTER SECURITY: PRINCIPLES AND PRACTICE, Fourth Edition; ISBN 0134794109; by William Stallings, and by Lawrie Brown, Pearson 2018
Bezpieczeństwo sieci bezprzewodowych
Bezpieczeństwo sieci bezprzewodowych
Kluczowe czynniki wpływające na większe ryzyko bezpieczeństwa sieci bezprzewodowych
w porównaniu z sieciami przewodowymi to:

● Kanał
○ Sieci bezprzewodowe zazwyczaj obejmują komunikację rozgłoszeniową, która jest znacznie bardziej
podatna na podsłuchiwanie i zagłuszanie niż sieci przewodowe
○ Sieci bezprzewodowe są również bardziej podatne na aktywne ataki, które wykorzystują luki w
protokołach komunikacyjnych
● Mobilność
○ Urządzenia bezprzewodowe są znacznie bardziej przenośne i mobilne, co wiąże się z szeregiem
zagrożeń
Bezpieczeństwo sieci bezprzewodowych
● Zasoby
○ Niektóre urządzenia bezprzewodowe, takie jak smartfony i tablety, mają wyrafinowane systemy
operacyjne, ale mają ograniczoną pamięć i zasoby przetwarzania, do tego aby przeciwdziałać
zagrożeniom i złośliwemu oprogramowaniu
● Dostępność
○ Niektóre urządzenia bezprzewodowe, takie jak sensory i roboty, mogą pozostać bez nadzoru w
odległych i / lub wrogich lokalizacjach, co znacznie zwiększa ich podatność na ataki fizyczne
Bezpieczeństwo sieci bezprzewodowych
Zagrożenia w sieciach bezprzewodowych:
● Przypadkowe połączenie
● Złośliwe połączenie
● Sieci ad hoc
● Sieci nietradycyjne
● Kradzież tożsamości (podszywanie się pod MAC)
● Ataki man-in-the-middle
● Denial of service
● Iniekcje sieci
Sieci bezprzewodowe - środki bezpieczeństwa
Zabezpieczanie transmisji bezprzewodowych:

● Techniki ukrywania sygnału


○ utrudnienia atakującemu zlokalizowania punktów dostępu bezprzewodowego
○ wyłączenie nadawania przez bezprzewodowe punkty dostępowe identyfikatorów SSID
○ nadawanie identyfikatorom SSID kryptycznych nazw
○ zmniejszenie siły sygnału do najniższego poziomu, zapewniającego wymagane pokrycie
○ zlokalizowanie punktów dostępu bezprzewodowego wewnątrz budynków, z dala od okien i ścian
zewnętrznych;
○ zastosowanie anten kierunkowych i technik osłaniania sygnału.
● Szyfrowanie
Sieci bezprzewodowe - środki bezpieczeństwa

Wykorzystanie protokołów szyfrowania i uwierzytelniania


jest standardową metodą przeciwdziałania próbom modyfi-
kowania lub wstawek do transmisji.
Sieci bezprzewodowe - środki bezpieczeństwa
Zabezpieczanie sieci bezprzewodowych

● Stosuj szyfrowanie
● Używaj oprogramowania antywirusowego i antyszpiegowskiego oraz zapór firewall
● Wyłącz rozgłaszanie identyfikatorów
● Zmień identyfikator routera z domyślnego
● Zmień domyślne hasło administratora routera
● Zezwalaj na dostęp do Twojej sieci bezprzewodowej tylko określonym komputerom
(MAC)
Sieci bezprzewodowe - środki bezpieczeństwa
Zabezpieczanie bezprzewodowych punktów dostępowych

● Głównym zagrożeniem związanym z punktami dostępu bezprzewodowego jest


nieautoryzowany dostęp do sieci
● Głównym podejściem do zapobiegania takiemu dostępowi jest standard IEEE 802.1X
dotyczący kontroli dostępu do sieci w oparciu o porty
● Standard zapewnia mechanizm uwierzytelniania dla urządzeń, które chcą podłączyć
się do sieci LAN lub sieci bezprzewodowej
● Korzystanie ze standardu 802.1X może zapobiec sytuacji, w której fałszywe punkty
dostępowe i inne nieautoryzowane urządzenia staną się niebezpiecznymi
backdoorami
Bezpieczeństwo urządzeń mobilnych
Zmiana paradygmatu

Bezpieczeństwo
Elementy
komputerów i sieci w
rozproszone
firmach
Zmiana paradygmatu
Co należy uwzględniać:

● Rosnące wykorzystanie nowych urządzeń


● Aplikacje w chmurze
● Deperymetryzacja
● Zewnętrzne wymagania biznesowe
Urządzenia mobilne - zagrożenia
W dokumencie NIST SP 800-124 (Guidelines for Managing the Security of Mobile Devices
in the Enterprise, czerwiec 2013 r.) wyszczególniono siedem poważnych problemów
bezpieczeństwa dotyczących urządzeń mobilnych

● Brak zabezpieczeń fizycznych


● Używanie niezuafanych urządzeń mobilnych
● Korzystanie z niezufanych sieci
● Korzystanie z niezufanych aplikacji
● Interakcje z innymi systemami
● Korzystanie z niezuafanych treści
● Korzystanie z usług lokalizacyjnych
Urządzenia mobilne - zagrożenia
Bezpieczeństwo urządzeń:

● Dział IT weryfikuje każde urządzenie (BYOD) (root’ed, jail-broken)


● Włączenie automatycznego blokowania
● Włączenie ochrony hasłem lub kodem PIN
● Unikanie używania funkcji autouzupełniania do zapamiętywania nazw użytkowników lub haseł
● Włączenie zdalnego czyszczenia
● Zadbanie o to, aby była włączona ochrona SSL, jeśli jest dostępna
● Zadbanie o aktualizację oprogramowania, w tym systemów operacyjnych i aplikacji
● Zainstalowanie oprogramowania antywirusowego, gdy tylko stanie się dostępne
● Możliwość zdalnego dostępu do urządzeń, usuwania z nich wszystkich danych
● Polityka bezpieczeństwa może wymagać, aby usługa lokalizacji była wyłączona na wszystkich urządzeniach
mobilnych
Urządzenia mobilne - zagrożenia
Bezpieczeństwo ruchu:

● Cały ruch powinien być szyfrowany i przekazywany za pomocą bezpiecznych protokołów (SSL, IPv6, VPN)
● Preferowaną strategią jest posiadanie dwuwarstwowego mechanizmu uwierzytelniania, który obejmuje
uwierzytelnianie urządzenia, a następnie uwierzytelnianie jego użytkownika.

Bezpieczeństwo granic:

● Organizacja powinna posiadać mechanizmy bezpieczeństwa mające na celu ochronę sieci przed
nieautoryzowanym dostępem. Strategia bezpieczeństwa może również obejmować reguły zapór firewall
specyficzne dla ruchu urządzeń mobilnych.
Standard IEEE 802.11

IEEE 802 jest komitetem, który opracował standardy dla dużej gamy sieci lokalnych (LAN).
W 1990 r. komitet ten utworzył nową grupę roboczą o nazwie IEEE 802.11, której zadaniem
było opracowania protokołu i specyfikacji transmisji dla bezprzewodowych sieci LAN
(WLAN). Z czasem zapotrzebowanie na sieci WLAN o różnych częstotliwościach i
szybkościach transmisji danych gwałtownie wzrosło. Starając się nadążyć za tym
zapotrzebowaniem, grupa robocza IEEE 802.11 opublikowała listę standardów, która stale
się rozszerza.
Standard IEEE 802.11
Terminologia IEEE 802.11

Punkt dostępowy Dowolny podmiot, który ma funkcjonalność stacji roboczej i zapewnia dostęp do systemu
(ang. access point — AP) dystrybucyjnego dla powiązanych stacji za pośrednictwem bezprzewodowego medium

Podstawowy zestaw usług


Zestaw stacji sterowanych za pomocą pojedynczej funkcji koordynacji
(ang. basic service set — BSS)

Funkcja logiczna, która określa, kiedy stacja działająca w ramach BSS może transmitować i
Funkcja koordynacji
odbierać jednostki danych PDU

System dystrybucji System służący do połączenia zbioru systemów BSS i zintegrowanych sieci LAN w celu utworzenia
(ang. distribution system — DS) systemu ESS

Rozszerzony zestaw usług Zbiór złożony z jednego lub większej liczby wzajemnie połączonych BSS i zintegrowanych sieci LAN,
(ang. extended service set — które dla warstwy LLC są widoczne z dowolnej stacji powiązanej z jednym z tych BSS jako jeden
ESS) BSS
Standard IEEE 802.11
Terminologia IEEE 802.11

Jednostka danych protokołu


Jednostka danych wymieniana pomiędzy dwoma równorzędnymi jednostkami MAC korzystającymi
MAC (ang. MAC protocol data
z usług warstwy fizycznej
unit — MPDU)

Jednostka usług protokołu MAC


(ang. MAC service data unit — Informacje dostarczane pomiędzy użytkownikami MAC jako jednostka
MSDU)

Stacja Dowolne urządzenie posiadające adres MAC zgodny z IEEE 802.11 i warstwę fizyczną

Na podstawie: William Stallings, Lawrie Brown, Computer Security: Principles and Practice (4th Edition), Helion 2019
IEEE 802.11
● Pierwszy standard z szeroką akceptacją - 802.11b
● W roku 1999 powstaje konsorcjum branżowe Wireless Ethernet Compatibility Alliance
(WECA)
● Z biegiem czasu zostaje przemianowane na Wi-Fi Alliance (Wireless Fidelity) i tworzy
zestaw certyfikacyjny Wi-Fi (802.11b) -> 802.11g -> 802.11a
● Wi-Fi Alliance opracowała procedury certyfikacji dla standardów bezpieczeństwa
IEEE 802.11, określane jako Wi-Fi Protected Access (WPA). Nie najnowsza wersja WPA,
znana jako WPA2, zawiera wszystkie funkcje specyfikacji zabezpieczeń WLAN IEEE
802.11i. -> WPA3
Bezpieczeństwo systemów
operacyjnych
Marek Miśkiewicz
wykład 5
Malware

2
Terminologia
APT (advanced persistent threat) - Cyberprzestępczość (przestępczość komputerowa)
wymierzona w cele gospodarcze lub polityczne z zastosowaniem szerokiej gamy technik
włamaniowych i malware’u, charakteryzująca się uporczywością i efektywnością ataków
na umyślne cele przez długie okresy, często wymierzona przeciw instytucjom
subsydiowanym przez państwo.

Adware (advertising-supported software) - Reklama scalona z oprogramowaniem. Może


powodować wyskakiwanie dodatków reklamowych lub przekierowywanie przeglądarki na
witryny handlowe.

Attack Kit - Zestaw narzędzi do generowania nowego malware’u, automatycznie


wykorzystującego rozmaite załączone mechanizmy rozsiewania i obciążania ładunkami.

3
Terminologia
Auto-rooter - Wrogie narzędzia hakerskie, używane do zdalnych włamań do nowych
maszyn.

Backdoor - Każdy mechanizm omijający zwykłą kontrolę bezpieczeństwa; może skutko-


wać nieupoważnionym dostępem do funkcji w programie lub w zaatakowanym
(pozbawionym ochrony) systemie.

Downloader - Kod instalujący inne jednostki na zaatakowanej maszynie. Zwykle


dołączany do kodu malware’u wstawianego najpierw do obezwładnianego systemu, a
potem importującego większy pakiet szkodliwego oprogramowania.

4
Terminologia
Drive-by-download - Atak z użyciem kodu na opanowanej witrynie, który wykorzystuje
słaby punkt w przeglądarce do napaści na system klienta podczas przeglądania
odwiedzanej witryny,

Exploit - Kod ukierunkowany na konkretną słabość lub zbiór słabości

Flooders - Używane do generowania wielkich ilości danych w celu atakowania sieciowych


systemów komputerowych przez realizowanie pewnej odmiany ataku typu „odmowa
świadczenia usług” (DoS).

Keylogger - Przechwytują naciskanie klawiszy klawiatury w zaatakowanym systemie.

5
Terminologia
Logic-bomb - Kod wstawiony do malware’u przez intruza. Bomba logiczna spoczywa
uśpiona aż do wystąpienia z góry określonego warunku; wówczas kod powoduje
uruchomienie jakiegoś ładunku

Macro virus - Rodzaj wirusa używającego makrodefinicji lub kodu skryptowego, zwykle
wbudowanego w dokument lub szablon dokumentu, uaktywniającego się podczas
oglądania lub redagowania dokumentu w celu wykonania i zreplikowania się w innych
takich dokumentach.

Mobile code - Oprogramowanie (np. skrypt lub makrodefinicja), które może być wysłane
w niezmienionej postaci na platformy różnych typów i działać tam z identyczną
semantyką.

6
Terminologia
Rootkit - Zestaw narzędzi hakerskich używany po włamaniu się napastnika do systemu
komputerowego i uzyskaniu dostępu na poziomie administratora („roota”)

Spammer programs - Używane do wysyłania wielkich ilości niepożądanej poczty

Spyware - Oprogramowanie zbierające informacje z komputera i przesyłające je do


innego systemu w drodze monitorowania naciśnięć klawiszy, danych wyświetlanych na
ekranie i (lub) ruchu sieciowego, względnie skanujące pliki systemu w poszukiwaniu
wrażliwych informacji.

7
Terminologia
Trojan horse - Program komputerowy udający użyteczną funkcję, lecz skrywający również
funkcję potencjalnie groźną, która omija mechanizmy bezpieczeństwa, niekiedy
wykorzystując legalne upoważnienia jednostki systemowej, która go wywołała

Virus - Wredne oprogramowanie, które — uruchomione — próbuje się rozmnożyć na innej


działającej maszynie lub w kodzie skryptowym. O kodzie, w którym to się powiodło, mówi
się, że został zainfekowany. Jeśli zainfekowany kod jest wykonywany, wirus jest również
wykonywany

Worm - Program komputerowy potrafiący działać niezależnie i rozsiewać kompletną,


działającą wersję samego siebie na innych komputerach w sieci, wykorzystując słabości
oprogramowania w docelowym systemie lub przechwycone poświadczenia upoważnień

8
Terminologia
Zombie, bot - Program zainstalowany w zainfekowanej maszynie, który uaktywnia się w
celu przypuszczania ataków na inne maszyny.

9
Malware - klasyfikacja

Te, które potrzebują programu hosta


(pasożytniczy kod, taki jak wirusy)

Te, które są niezależnymi,


Oparta najpierw na tym, jak się samodzielnymi programami (robaki,
rozprzestrzenia lub propaguje, aby konie trojańskie i boty)
osiągnąć pożądane cele
Złośliwe oprogramowanie, które się
nie powiela (trojany i spam)

Następnie na działaniach lub


ładunkach, które wykonuje po Złośliwe oprogramowanie, które się
osiągnięciu celu powiela (wirusy i robaki)
10
Attack Kits
● Początkowo tworzenie i wdrażanie złośliwego oprogramowania wymagało od
autorów oprogramowania znacznych umiejętności technicznych
○ Rozwój zestawów narzędzi do tworzenia wirusów na początku lat 90. XX wieku, a następnie
bardziej ogólnych zestawów do ataku na początku XXI wieku, znacznie pomógł w
opracowywaniu i wdrażaniu złośliwego oprogramowania
● Zestawy narzędzi są często znane jako „crimeware”
○ Uwzględnij różnorodne mechanizmy propagacji i moduły ładunku, które mogą wdrożyć nawet
nowicjusze
○ Warianty, które mogą być generowane przez osoby atakujące za pomocą tych zestawów
narzędzi, stanowią poważny problem dla osób broniących się przed nimi systemów
● Przykłady:
○ Zeus
○ Angler
11
Źródła ataku

Przestępstwa i
Motywacja Agencje
Bezpośredni zysk przestępczość
polityczna państwowe
zorganizowana

Znaczącym powodem dla rozwoju złośliwego oprogramowania jest zmiana motywacji do


zademonstrowania swoich kompetencji technicznych swoim rówieśnikom na bardziej
zorganizowane i niebezpieczne źródła ataków.

Sytuacja ta spowodowała znaczną zmianę dostępnych zasobów i motywację do


powstania złośliwego oprogramowania, przez co doprowadziło do rozwoju dużej szarej
strefy obejmującej sprzedaż zestawów atakujących, dostęp do zainfekowanych hostów i
skradzionych informacji.
12
Advanced Persistent Threats
● Dobrze wyposażone, trwałe stosowanie szerokiej gamy technologii włamań i złośli-
wego oprogramowania do wybranych celów (zwykle biznesowych lub politycznych)
● Zwykle przypisywany organizacjom sponsorowanym przez państwo i przedsiębior-
stwom przestępczym
● Różnią się od innych typów ataków starannym wyborem celu i ukrywaniem się przez
dłuższy czas
● Ataki o wysokim stopniu specjalizacji: Aurora, RSA, APT1, Stuxnet

13
APT - charakterystyka
Advanced

Wykorzystywane przez osoby atakujące szeroką gamę technologii włamań i złośliwego


oprogramowania, w tym tworzenie niestandardowego złośliwego oprogramowania, jeśli
jest to wymagane.

Poszczególne komponenty niekoniecznie muszą być zaawansowane technicznie, ale są


starannie dobierane, aby pasowały do wybranego celu.

14
APT - charakterystyka
Persistent

Zdecydowane stosowanie ataków przez dłuższy czas przeciwko wybranemu celowi, aby
zmaksymalizować szanse powodzenia.

Różne ataki mogą być stosowane stopniowo, aż cel zostanie skompromitowany.

15
APT - charakterystyka
Threats

Zagrożenia dla wybranych celów w wyniku zorganizowanych, zdolnych i dobrze finanso-


wanych napastników, którzy zamierzają złamać określone cele.

Aktywne zaangażowanie ludzi w proces znacznie podnosi poziom zagrożenia ze względu


na narzędzia do automatycznych ataków, a także prawdopodobieństwo udanych ataków.

16
APT - charakterystyka
Cel: Spektrum celów - od kradzieży własności intelektualnej lub danych związanych z
bezpieczeństwem i infrastrukturą do fizycznego zakłócenia infrastruktury.
Metodologia: Inżynieria społeczna, wiadomość e-mail typu spear-phishing,
drive-by-download z wybranych zaatakowanych witryn, które mogą być odwiedzane przez
personel docelowej organizacji.
Intencje: Aby zainfekować cel wyrafinowanym złośliwym oprogramowaniem z wieloma
mechanizmami propagacji i ładunkami. Po uzyskaniu wstępnego dostępu do systemów w
organizacji docelowej, do utrzymania i poszerzenia ich dostępu używa się dalszej gamy
narzędzi atakujących

17
Malware - wirusy i robaki

18
Wirusy - komponenty
● Mechanizm infekcji
○ Środki, za pomocą których wirus rozprzestrzenia się lub namnaża
○ Nazywany również wektorem infekcyjnym
● Wyzwalacz (trigger)
○ Zdarzenie lub warunek przesądzające o uaktywnieniu lub dostarczeniu „ładunku” (ang.
payload), niekiedy nazywanego bombą logiczną (ang. logic bomb).
● Ładunek (payload)
○ To, co wirus robi, pomijając rozprzestrzenianie się.

19
Wirusy
Wirus pozostaje bezczynny, do momentu, aż zostanie uaktywniony. Nie
Faza uśpienia wszystkie wirusy posiadają tę fazę

Wirus zostaje uaktywniony, aby wykonać funkcję stanowiącą jego istotę.


Podobnie jak w fazie uśpienia, faza wyzwalania może być spowodowana
Faza wyzwalania przez rozmaite zdarzenia systemowe, w tym wskutek wykonania przez
kopię wirusa określonej liczby swoich kopii.

Wirus umieszcza swoją kopię w innych programach lub w specjalnych


Faza rozsiewania obszarach systemowych na dysku (polimorfizm).

Następuje wykonanie zamierzonej funkcji. Może to być funkcja nieszkodli-


Faza wykonania wa, w rodzaju wyświetlenia komunikatu na ekranie, lub uszkadzająca, jak
na przykład zniszczenie programów i plików z danymi.
20
Makrowirusy - wirusy makr

NISTIR 7298 definiuje makrowirusa jako:

„Wirus, który dołącza się do dokumentów i wykorzystuje funkcje programowania makr


aplikacji dokumentu do wykonywania i rozprzestrzeniania się”

Wirusy makr infekują kod skryptowy używany do obsługi zawartości aktywnej w różnych
typach dokumentów użytkownika

21
Makrowirusy - wirusy makr
Makrowirusy są groźne z kilku powodów

● Są niezależna od platformy
● Infekuj dokumenty, a nie wykonywalne fragmenty kodu
● Łatwo się rozprowadzają
● Ponieważ infekują one dokumenty użytkownika, a nie programy systemowe,
tradycyjne mechanizmy kontroli dostępu do systemu plików mają ograniczone
zastosowanie w zapobieganiu ich rozprzestrzenianiu, ponieważ użytkownicy powinni
móc je modyfikować (pliki)
● Są znacznie łatwiejsze do napisania lub zmodyfikowania niż tradycyjne wirusy
wykonywalne
22
Makrowirusy

Pseudokod wirusa Melissa (fragment)


COMPUTER SECURITY: PRINCIPLES AND PRACTICE, Fourth Edition; ISBN 0134794109; by William Stallings, and by Lawrie Brown, Pearson 2018 23
Wirusy - klasyfikacja
Cel:

● Infektor sektora startowego - infekuje główny rekord rozruchowy lub rekord


rozruchowy i rozprzestrzenia się, gdy system jest uruchamiany z dysku
zawierającego wirusa
● Infektor plików - infekuje pliki, które system operacyjny lub powłoka uważa za
wykonywalne
● Wirus makr - Infekuje pliki makrem lub kodem skryptów, który jest interpretowany
przez aplikację
● Wirus wieloczęściowy - infekuje pliki na wiele sposobów

24
Wirusy - klasyfikacja
Strategia ukrywania:

● Zaszyfrowany wirus - część wirusa tworzy losowy klucz szyfrujący i szyfruje


pozostałą część wirusa
● Wirus Stealth - forma wirusa specjalnie zaprojektowana do ukrywania się przed
wykryciem przez oprogramowanie antywirusowe
● Wirus polimorficzny - wirus, który mutuje przy każdej infekcji
● Wirus metamorficzny - wirus, który mutuje i przepisuje się całkowicie w każdej
iteracji i może zmieniać zachowanie oraz wygląd

25
Worms - robaki
● Program, który aktywnie wyszukuje więcej maszyn do zainfekowania, a każda zainfekowana
maszyna służy jako automatyczna platforma startowa do ataków na inne maszyny
● Wykorzystuje luki w zabezpieczeniach oprogramowania w programach klienckich lub
serwerowych
● Potrafi używać połączeń sieciowych do rozprzestrzeniania się z systemu do systemu
● Rozprzestrzenia się poprzez udostępnione media (dyski USB, dyski CD, DVD)
● Robaki pocztowe rozprzestrzeniają się w kodzie makr lub skryptu zawartym w załącznikach i
przesyłanych plikach przez komunikatory internetowe
● Po aktywacji robak może się replikować i ponownie propagować
● Zwykle zawiera jakąś formę ładunku
● Pierwsza znana implementacja została wykonana w Xerox Palo Alto Labs na początku lat 80

26
Worms - propagacja

Robak wysyła swoją kopię e-mailem do innych systemów


Robak się jako załącznik za pośrednictwem komunikatorów

Tworzy własną kopię lub infekuje plik jako wirus na nośniku wymiennym

Robak wykonuje swoją kopię w innym systemie

Robak korzysta ze zdalnego dostępu do plików lub usługi przesyłania do


kopiowania się z jednego systemu do drugiego

Robak loguje się do zdalnego systemu jako użytkownik, a następnie używa


poleceń do kopiowania się z jednego systemu do drugiego
27
Worms - propagacja
Skanowanie to pierwsza funkcja w fazie propagacji robaka sieciowego, który wyszukuje
inne systemy do zainfekowania. Modele skanowania:

● Losowy
○ Każdy przejęty host sonduje losowe adresy w przestrzeni adresowej IP, używając innego
ziarna
○ Powoduje to duży ruch w Internecie, który może powodować ogólne zakłócenia nawet przed
rozpoczęciem rzeczywistego ataku
● Lista trafień
○ Osoba atakująca najpierw kompiluje długą listę potencjalnie podatnych maszyn
○ Po utworzeniu listy osoba atakująca zaczyna infekować maszyny znajdujące się na liście
○ Każda zainfekowana maszyna otrzymuje część listy do przeskanowania
○ Powoduje to bardzo krótki okres skanowania, co może utrudnić wykrycie, że ma miejsce
infekcja 28
Worms - propagacja
● Topologiczny
○ Ta metoda wykorzystuje informacje zawarte na zainfekowanej maszynie ofiary, aby znaleźć
więcej hostów do przeskanowania
● Lokalna podsieć
○ Jeśli host może zostać zainfekowany za zaporą ogniową, wówczas szuka celów we własnej
sieci lokalnej
○ Host wykorzystuje strukturę adresów podsieci, aby znaleźć inne hosty, które w innym
przypadku byłyby chronione przez zaporę

29
Robaki - model rozprzestrzeniania
Model propagacji jest podobny do wirusa biologicznego:

liczba zakażonych “osobników” w czasie t

liczba podatnych “osobników” w czasie t

współczynnik rozmnażania

30
Worms - propagacja

COMPUTER SECURITY: PRINCIPLES AND PRACTICE, Fourth Edition; ISBN 0134794109; by William Stallings, and by Lawrie Brown, Pearson 2018 31
Worms - historia
Melissaa 1998 E-mail worm. First to include virus, worm and Trojan in one package.
Code Red July 2001 Exploited Microsoft IIS bug. Probes random IP addresses. Consumes significant Internet
capacity when active.
Code Red II August 2001 Also targeted Microsoft IIS. Installs a backdoor for access.
Nimda September Had worm, virus and mobile code characteristics. Spread using e-mail, Windows shares,
2001 Web servers, Web clients, backdoors.
SQL Slammer Early 2003 Exploited a buffer overflow vulnerability in SQL server compact and spread rapidly
Sobig.F Late 2003 Exploited open proxy servers to turn infected machines into spam engines
Mydoom 2004 Mass-mailing e-mail worm. Installed a backdoor in infected machines
Warezov 2006 Creates executables in system directories. Sends itself as an e-mail attachment. Can
disable security related products
Conficker November 2008 Exploits a Windows buffer overflow vulnerability. Most widespread infection since SQL
(Downadup) Slammer
Stuxnet 2010 Restricted rate of spread to reduce chance of detection. Targeted industrial control
systems 32
Robak WannaCry
● Atak ransomware w maju 2017 r., który rozprzestrzeniał się niezwykle szybko w ciągu
kilku godzin lub dni, infekując setki tysięcy systemów należących do organizacji
publicznych i prywatnych w ponad 150 krajach.
● Rozprzestrzenia się jako robak, agresywnie skanując lokalne i losowe zdalne sieci,
próbując wykorzystać lukę w usłudze udostępniania plików SMB w niezałatanych
systemach Windows
● To szybkie rozprzestrzenianie się zostało spowolnione jedynie przez przypadkową
aktywację domeny „wyłącznika awaryjnego” przez brytyjskiego badacza ds.
Bezpieczeństwa
● Po zainstalowaniu na zainfekowanych systemach szyfruje również pliki, żądając
zapłaty okupu za ich odzyskanie
33
Worms - stan technologiczny

34
Kod mobilny
NIST SP 800-28 definiuje kod mobilny jako

„Programy, które można wysłać w niezmienionej postaci do heterogenicznego zbioru


platform i wykonać z identyczną semantyką”

● Przesyłane z systemu zdalnego do systemu lokalnego, a następnie wykonywane w


systemie lokalnym
● Często działa jako mechanizm wirusa, robaka lub konia trojańskiego
● Wykorzystuje luki w zabezpieczeniach do wykonywania własnych exploitów

35
Kod mobilny
Popularne pojazdy obejmują:

● Aplety Java
● ActiveX
● JavaScript
● VBScript

Najczęstsze sposoby wykorzystania kodu mobilnego do złośliwych operacji w systemie lokalnym to:

● Skrypty między witrynami


● Interaktywne i dynamiczne witryny internetowe
● Załączniki do wiadomości e-mail
● Pobieranie z niezaufanych witryn lub niezaufanego oprogramowania

36
Robaki mobilne
● Cabir - 2004 rok
● Lasco i CommWarrior - 2005 rok
● Komunikuje się za pośrednictwem połączeń bezprzewodowych Bluetooth lub
wiadomości MMS.
● Może całkowicie wyłączyć telefon, usunąć dane z telefonu lub zmusić urządzenie do
wysyłania kosztownych wiadomości
● Najistotniejsze jednak jest to, że nielegalny kod zaimplementowany w urządzeniu
mobilnym może służyć do zbierania informacji
● Obecnie najprostszym sposobem dostarczenia nielegalnego kodu jest użycie
“trojana”

37
Ataki “driven-by-downloads”
“Pobranie uboczne” - wykorzystuje luki w zabezpieczeniach przeglądarki i wtyczek, gdy
użytkownik wyświetla stronę internetową kontrolowaną przez atakującego, Strona
zawiera kod wykorzystujący błąd (w systemie użytkownika) do pobierania i instalowania
złośliwego oprogramowania w systemie bez wiedzy i zgody użytkownika.

W większości przypadków złośliwe oprogramowanie nie rozprzestrzenia się aktywnie tak


jak robak.

38
Ataki “Watering-Hole Attacks”
● Wariant ataku drive-by-download używany w wysoce ukierunkowanych atakach
● Atakujący bada swoje ofiary, aby zidentyfikować witryny, które prawdopodobnie
odwiedzą, a następnie skanuje te witryny, aby zidentyfikować te z lukami.
● Następnie czekają, aż jedna z ich ofiar odwiedzi jedną z zaatakowanych stron
● Kod ataku może być nawet napisany tak, aby infekował tylko systemy należące do
organizacji docelowej i nie podejmował żadnych działań wobec innych
odwiedzających witrynę
● Takie działanie znacznie zwiększa prawdopodobieństwo, że włamanie na stronę
pozostanie niewykryte

39
Socjotechnika

“Niechciana” poczta Zawierają ukryty kod Nabywanie uprawnień


root’a (jail-break)
Jedno z największych Mogą być używane do
źródeł malware’u pośredniego Brak lub słaba kontrola
wykonywania czynności, jakości oprogramowa-
Wykorzystywany do wy- których napastnik nie nia
kradania wszelkich da- może wykonać
nych bezpośrednio

40
Zapobieganie
● Idealnym (prawie niemożliwym do osiągnięcia) rozwiązaniem jest zapobieganie.
Główne elementy zapobiegania to:
○ polityka bezpieczeństwa
○ świadomość
○ zmniejszanie podatności
○ łagodzenie zagrożeń - wykrywanie, identyfikacja, usunięcie

41
Programy antywirusowe
● Pierwsza generacja - analiza sygnatury (taki sam lub podobny wzorzec bitowy),
dotyczy już znanego malware’u
● Druga generacja - skanery heurystyczne - poszukiwanie wzorców we fragmentach
kodu (np. pętle szyfrujące)
● Trzecia generacja - programy rezydentne - analiza aktywności programów
● Czwarta generacja - złożone z rozmaitych technik antywirusowych stosowanych
razem. Mamy tu składowe skanujące i pułapki aktywności

42
Sandbox
● Uruchamianie potencjalnie złośliwego kodu w emulowanej “piaskownicy” lub na
maszynie wirtualnej
● Umożliwia wykonanie kodu w kontrolowanym środowisku, w którym jego
zachowanie może być ściśle monitorowane bez zagrażania bezpieczeństwu
rzeczywistego systemu
● Uruchamianie potencjalnie złośliwego oprogramowania w takich środowiskach
umożliwia wykrycie złożonego, zaszyfrowanego, polimorficznego lub
metamorficznego złośliwego oprogramowania
● Najtrudniejszym problemem projektowym związanym z analizą w “piaskownicy” jest
określenie, jak długo należy uruchomić każdy potencjalnie szkodliwy kod

43
Analiza dynamiczna
● Host-Based Behavior-Blocking Software
● Integruje się z systemem operacyjnym komputera hosta i monitoruje zachowanie
programu w czasie rzeczywistym pod kątem złośliwych działań
○ Blokuje potencjalnie złośliwe działania, zanim zdążą wpłynąć na system
○ Blokuje oprogramowanie w czasie rzeczywistym, dzięki czemu ma przewagę nad technikami
wykrywania antywirusów, takimi jak odciski palców czy heurystyka

44
Analiza dynamiczna
Do monitorowanych zachowań mogą należeć:

● próby otwierania, oglądania, usuwania i (lub) modyfikowania plików


● próby formatowania dysków i wykonywania innych nieodtwarzalnych operacji
dyskowych
● modyfikacje logiki plików wykonywalnych lub makrodefinicji
● zmiana krytycznych ustawień systemu, takich jak parametry rozruchowe
● oskryptowanie (ang. scripting) klientów poczty komunikatorów w celu wysyłania
wykonywalnych treści
● inicjowanie komunikacji sieciowej

45
Skanowanie rozproszone
● Oprogramowanie antywirusowe zwykle dołączane do usług poczty e-mail i serwera
proxy sieci Web działające na zaporze sieciowej organizacji i systemie IDS
● Może być również uwzględnione w komponencie analizy ruchu IDS
● Może obejmować środki zapobiegania włamaniom, blokujące przepływ
podejrzanego ruchu
● Podejście ogranicza się do skanowania zawartości oprogramowania
● Analiza ruchu sieciowego - wykrywanie anomalii

46
Bezpieczeństwo systemów
operacyjnych
Marek Miśkiewicz
wykład 6 i 7
Ataki typu Denial-of-Service

2
DoS
NIST Computer Security Incident Handling Guide definiuje atak DoS jako:

„Działanie, które uniemożliwia lub utrudnia autoryzowane użycie sieci, systemów lub
aplikacji poprzez wyczerpywanie zasobów, takich jak jednostki centralne (CPU), pamięć,
przepustowość i miejsce na dysku”.

● Forma ataku na dostępność jakiejś usługi


● Kategorie zasobów, które mogą zostać zaatakowane, to:
○ łącze sieciowe
○ zasoby systemowe
○ zasoby aplikacji

3
4
Klasyczne ataki DoS
Ping flood (pakiety ICMP)

● Celem tego ataku jest przeciążenie przepustowości połączenia sieciowego do


organizacji docelowej
● Ruch musi być obsługiwany przez łącza o większej przepustowości na drodze do
celu, pakiety są odrzucane wraz ze spadkiem pojemności
● Źródło ataku jest wyraźnie określone, chyba że zostanie użyty fałszywy adres
● Wydajność sieci jest zauważalnie ograniczona

5
Klasyczne ataki DoS
Adres spoofing

● Używa się fałszywych adresów źródłowych


○ Zwykle przez raw socket interface w systemach operacyjnych
○ W wyniku takiego zabiegu atakujące systemy są trudniejsze do zidentyfikowania
● Atakujący generuje duże ilości pakietów, których adresem docelowym jest system
docelowy
● Zatory spowodowałyby podłączenie routera do ostatniego łącza o mniejszej
przepustowości
● Wymaga od inżynierów sieciowych specjalnych zapytań o przepływ informacji ze
swoich routerów
● Ruch wsteczny - backscatter traffic
6
Klasyczne ataki DoS
SYN spoofing

● Wykorzystuje specyfikę protokołu TCP - prze-


ładowuje tablice nawiązywanych połączeń
● Opiera się na “three-way handshake” (proto-
kół TCP jest niezawodny w przeciwieństwie do
IP)
● SYN spoofing a SYN flooding

7
8
Ataki “zatapiające”
● Sklasyfikowane na podstawie używanego protokołu sieciowego
● Celem jest przeciążenie przepustowości sieci na jakimś łączu do serwera
● Można zastosować praktycznie każdy typ pakietu sieciowego
● ICMP flood:
○ Ping flood przy użyciu pakietów żądania echa ICMP
○ Tradycyjnie administratorzy sieci zezwalają na takie pakiety w swoich sieciach, ponieważ ping
jest przydatnym narzędziem diagnostycznym sieci
● UDP flood:
○ Używa pakietów UDP skierowanych do jakiegoś numeru portu w systemie docelowym
● TCP SYN flood:
○ Wysyła pakiety TCP do systemu docelowego
○ Celem ataku jest całkowita objętość pakietów, a nie kod systemowy

9
Ataki DDoS - Distributed Denial of Service

Atakujący wykorzystuje
lukę w systemie opera-
Można tworzyć duże zbio-
Wykorzystuje się wiele cyjnym lub w popularnej
ry takich systemów pod
maszyn do przeprowa- aplikacji, aby uzyskać
kontrolą jednego ataku-
dzenia ataku dostęp i zainstalować na
jącego, tworząc botnet
niej swój program
(zombie)

10
11
SIP flood
● SIP - Session Initiation Protocol - protokół
VoIP, tekstowy podobny do HTTP
● pojedynczy INVITE zużywa znaczne ilości
zasobów
● atakujący może zalać pośrednika SIP dużą
ilością zamówień INVITE z fałszywymi adres-
ami IP lub wykonać atak DDoS za pomocą
botnetu generującego wiele zamówień INVITE
● atak obciąża serwery pośredniczące w SIP
dwojako:
○ zasoby wyczerpują się podczas przetwarzania
zamówień INVITE
○ zużywana jest pojemność ich sieci

12
Ataki bazujące na protokole HTTP
HTTP flood:

● Atak, który bombarduje serwery WWW żądaniami HTTP


● Zużywa znaczne zasoby
● Spidering - boty rozpoczynające wysyłanie żądań od podanego linku HTTP i
podążające rekurencyjnie za wszystkimi linkami w podanej witrynie internetowej

13
Ataki bazujące na protokole HTTP
Slowloris:

● wykorzystuje popularną technikę polegającą na zastosowaniu wielu wątków do


obsługi wielu zamówień w tej samej aplikacji serwera
● próbuje “zmonopolizować” sesje, wysyłając żądania HTTP, które nigdy się nie kończą
- brak “pustego wiersza” kończącego zamówienie
● ostatecznie prowadzi to do zużycia przepustowości połączenia serwera
internetowego
● technika wykorzystuje legalny ruch HTTP
● istniejące rozwiązania do wykrywania włamań i zapobiegania im, które opierają się
na sygnaturach do wykrywania ataków, generalnie nie rozpoznają Slowloris
14
Ataki bazujące na protokole HTTP
Slowloris:

● metody zapobiegania:
○ ograniczanie tempa zamówień nadchodzących (przyjmowanych) z konkretnego hosta
○ zmienianie czasu oczekiwania na (aktywne) połączenia w funkcji liczby połączeń i opóźnianie
wiązań - oczekiwanie z wysłaniem zamówienia dopóki klient nie wyśle poprawnych
schematów ze znakami końca linii

15
Ataki “z odbicia” - reflection attacks
● Atakujący wysyła pakiety do znanej usługi pośrednika ze sfałszowanym adresem
źródłowym rzeczywistego systemu docelowego
● Gdy pośrednik odpowiada, odpowiedź jest wysyłana do celu
● Celem jest wygenerowanie wystarczającej ilości pakietów, aby zalać łącze do
systemu docelowego bez powiadamiania pośrednika
● Podstawową obroną przed tymi atakami jest blokowanie pakietów ze sfałszowanych
źródeł

16
Ataki “z odbicia” - reflection attacks

17
Ataki “ze wzmocnieniem”- amplification attacks
● są odmianą reflection attacks
● najczęściej używa się pakietów skierowanych do legalnego serwera DNS jako
systemu pośredniczącego z fałszywymi adresami nadania (ofiara)
● generowanie wielu pakietów z odpowiedzią - można to osiągnąć przez skierowanie
pierwotnego zamówienia pod adres rozgłaszania w jakiejś sieci
● potencjalnie wszystkie komputery w tej sieci mogą odpowiedzieć na to zamówienie
● wykorzystuje się protokoły ICMP i UDP (echo)
● protokół i usługi TCP nie nadają się do tego typu ataków

18
Ataki “ze wzmocnieniem”- oparte na DNS
● odmiana ataku reflection DNS wykorzystująca cechy protokołu
○ atakujący tworzy ciąg zamówień DNS zawierających fałszywy adres źródłowy, będący
adresem atakowanego systemu
○ zapytania są kierowane do pewnej liczby wybranych serwerów DNS
○ serwery odpowiadają, wysyłając odpowiedzi do fałszywego źródła, które uznają za poprawny
system zamawiający co powoduje, że cel jest wtedy zalewany ich odpowiedziami
● istnieje wariant tego ataku, do przeprowadzenia którego wykorzystywany jest serwer
DNS akceptuj zapytania rekurencyjne, ponieważ wzmocnione pakiety DNS są
odpowiedziami na rekursywne zapytania DNS

19
Ataki “ze wzmocnieniem”- amplification attacks

20
Ataki DoS i DDoS - obrona
● Atakom tym nie można całkowicie zapobiec
Zapobieganie atakom i ich udaremnianie
● Duże natężenie ruchu może być uzasadnione
(uprzedzające atak)
○ duża czasowa popularność określonej witryny
○ wysoka czasowa aktywność w bardzo
popularnej witrynie
○ zjawiska opisywane jako slashdotted, flash Wykrywanie i odfiltrowywanie ataków
crow lub flash event (w trakcie ataku)

Dotarcie do źródła ataku i jego zidentyfikowanie


(podczas ataku i po nim)

Reakcja na atak
(po ataku)
21
Ataki DDoS - prewencja
● Blokowanie fałszywych adresów źródłowych na routerach jak najbliżej źródła
● Filtry mogą być używane, aby zapewnić, że ścieżka powrotna do żądanego adresu
źródłowego jest tą, z której korzysta bieżący pakiet
● Filtry muszą być stosowane do ruchu, zanim opuści on sieć dostawcy usług
internetowych lub w punkcie wejścia do jego sieci
● Użycie zmodyfikowanego kodu obsługi połączenia TCP - szyfrowanie kryptograficzne
krytycznych informacji w pliku cookie, który jest wysyłany jako początkowy numer
sekwencyjny serwera. Legalny klient odpowiada pakietem ACK zawierającym plik
cookie ze zwiększonym numerem sekwencji
● Usuwanie wpisów dotyczących niekompletnego połączenia z tabeli połączeń TCP w
przypadku przepełnienia
22
Ataki DDoS - prewencja
● Blokuj rozgłaszania kierowane przez IP
● Blokuj podejrzane usługi i kombinacje
● Zarządzaj atakami na aplikacje wykorzystując (captcha), aby rozróżniać uzasadnione
żądania ludzi
● Dobre ogólne praktyki bezpieczeństwa systemu
● Używaj serwerów lustrzanych i replikowanych, gdy wymagana jest wysoka wydajność
i niezawodność

23
Ataki DoS i DDoS - odpowiedź
● Identyfikacja rodzaj ataku
○ przechwytuj i analizuj pakiety
○ zaprojektuj filtry, aby blokować ruch związany z atakami
○ zidentyfikuj i popraw błąd systemu / aplikacji
● Zlecenia ISP śledzenia przesyłanie pakietów (analiza odwrotnej drogi)
○ Może być trudne i czasochłonne
○ Konieczne przy planowaniu działań prawnych
● Wdrożenie planu awaryjnego
○ Przełącz się na alternatywne serwery kopii zapasowych
○ Uruchom nowe serwery w nowej witrynie z nowymi adresami
● Aktualizacja planu reagowania na incydenty
○ Przeanalizuj atak i odpowiedź na przyszłe działania

24
Detekcja włamań

25
Klasyfikacja intruzów - cyberprzestępcy
● Osoby indywidualne albo członkowie zorganizowanych grup przestępczych, których
celem są korzyści finansowe
● Aktywność:
○ kradzież tożsamości
○ kradzież poświadczeń finansowych
○ szpiegostwo korporacyjne
○ kradzież danych lub szantażowanie danymi
● młodzi hakerzy, często z Europy Wschodniej, Rosji lub południowo-wschodniej Azji,
robiący interesy w Sieci
● bardzo duże i wzrastające koszty wynikające z cyberprzestępczej aktywności, są
powodem do podejmowania kroków w celu minimalizowana tego zagrożenia

26
Klasyfikacja intruzów - aktywiści
● Osoby, które zwykle pracują jako osoby zatrudnione wewnątrz organizacji, czy też
członkowie większej grupy napastników z zewnątrz, którzy są zmotywowani ze
względów społecznych lub politycznych
● Znani również jako haktywiści - poziom umiejętności jest często dość niski
● Celem ich ataków jest często promowanie i nagłaśnianie ich sprawy, zazwyczaj
poprzez:
○ Zniszczenie witryny
○ Ataki typu „odmowa usługi”
○ Kradzież i dystrybucja danych, która prowadzi do negatywnego rozgłosu lub narażania celów

27
Klasyfikacja intruzów - organizacje sponsorowane
● Grupy hakerów sponsorowanych przez rządy w celu prowadzenia działań
szpiegowskich lub sabotażowych
● Znane również jako zaawansowane trwałe zagrożenia (APT) ze względu na ukryty
charakter i wytrwałość przez dłuższy czas związane z wszelkimi atakami z tej klasy
● Ujawniane co pewien czas informacje wskazują na rozległy charakter i zakres takiej
działalności prowadzonej przez dużą grupę krajów

28
Klasyfikacja intruzów - inni
● Hakerzy z motywacjami innymi niż wymienione wcześniej
● “Klasyczni” hakerów lub crackerzy, których motywuje wyzwanie techniczne lub
szacunek i reputacja w grupie rówieśniczej
● Wiele osób w tej kategorii odpowiedzialnych jest za wykrywanie nowych kategorii
luk i można uznać ich za członków tej klasy
● Biorąc pod uwagę szeroką dostępność zestawów narzędzi do ataków, istnieje grupa
„hakerów hobbystów”, którzy używają tych zestawów do badania systemu i
bezpieczeństwa sieci

29
Klasyfikacja intruzów - poziom I
● Hakerzy o minimalnych umiejętnościach technicznych, którzy głównie używają
istniejących zestawów narzędzi do ataku
● Prawdopodobnie stanowią największą liczbę napastników, w tym wielu przestępców
i aktywistów
● Biorąc pod uwagę wykorzystanie przez nich istniejących znanych narzędzi, najłatwiej
jest się przed nimi obronić
● Znany również jako „script-kiddies” ze względu na wykorzystanie istniejących
skryptów (narzędzi)

30
Klasyfikacja intruzów - poziom II
● Hakerzy posiadający wystarczające umiejętności techniczne, aby modyfikować i
rozszerzać zestawy narzędzi do ataków, aby wykorzystywać nowo odkryte lub
“zakupione” luki w zabezpieczeniach
● Mogą być w stanie zlokalizować nowe luki w zabezpieczeniach do wykorzystania,
podobne do niektórych już znanych
● Hakerzy z takimi umiejętnościami prawdopodobnie znajdują się we wszystkich
klasach intruzów
● Są w stanie dostosować narzędzia używane przez innych

31
Klasyfikacja intruzów - poziom III
● Hakerzy o wysokich umiejętnościach technicznych, zdolni do wykrywania zupełnie
nowych kategorii luk w zabezpieczeniach (APT)
● Piszą nowe zestawy narzędzi do ataku
● Niektórzy są zatrudniani przez organizacje sponsorowane przez państwo
● Obrona przed tymi atakami jest najtrudniejsza

32
Przykłady włamań i naruszeń
● zdalne przejęcie funkcji administratora serwera poczty elektronicznej
● zniszczenie serwera Sieci
● odgadnięcie i złamanie haseł
● skopiowanie bazy danych zawierającej numery kart kredytowych
● oglądanie bez upoważnienia poufnych danych, w tym list płac i informacji
medycznych
● uruchomienie podsłuchiwacza pakietów na stacji roboczej w celu przechwycenia
nazw użytkowników i haseł

33
Przykłady włamań i naruszeń
● wykorzystanie błędu w pozwoleniach na anonimowym serwerze FTP do
rozpowszechniania pirackiego oprogramowania i plików
● zatelefonowanie do niezabezpieczonego modemu i uzyskanie dostępu do
wewnętrznej sieci
● upozowanie się na kierownika, zadzwonienie do działu pomocy, ustalenie nowego
hasła do poczty kierownika i przyswojenie nowego hasła;
● użycie bez pozwolenia pozostawionej bez opieki, zalogowanej stacji roboczej.

34
Ogólny schemat

Rozpoznanie celu i
Dostęp początkowy Eskalacja przywilejów
zebranie informacji

Gromadzenie informacji
Zacieranie śladów Utrzymanie dostępu
lub wyzyskanie systemu

35
Wykrywanie włamań - pojęcia
Naruszenie bezpieczeństwa (włamanie do systemu zabezpieczeń, ang. security intrusion)
- bezprawny akt obejścia mechanizmów bezpieczeństwa systemu.

Wykrywanie włamań (wykrywanie wtargnięć, ang. intrusion detection) - realizowana


sprzętowo lub programowo funkcja gromadzenia i analizowania informacji z różnych
obszarów w obrębie komputera lub sieci, mająca na celu zidentyfikowanie ewentualnych
naruszeń bezpieczeństwa.

IDS - Intrusion Detection System - system wykrywania włamań

IPS - Intrusion Prevention System - systemy zapobiegania włamaniom

36
IDS - komponenty logiczne
Czujniki - odpowiadają za gromadzenie danych. Wejściem czujnika może być dowolna
część systemu, która może zawierać dowody włamania. Do rodzajów danych wejściowych
czujników należą pakiety sieciowe, pliki dzienników i ślady wywołań systemowych.
Czujniki gromadzą i przekazują te informacje analizatorowi.

Analizatory - otrzymują dane od jednego lub więcej czujników lub od innych


analizatorów. Analizator odpowiada za ustalenie, czy doszło do włamania. Na wyjściu
tego komponentu jest wskazanie (sugestia), że mogło dojść do włamania.

Interfejs użytkownika - umożliwia użytkownikowi obejrzenie wyników z systemu lub


pokierowanie zachowaniem systemu.

37
IDS’y - klasyfikacja
● IDS-y hostowe (zadomowione, HIDS) - monitorują charakterystyki pojedynczego
komputera sieciowego (na przykład identyfikatory procesów) i występujące w nim
zdarzenia (takie jak wykonywane przez procesy wywołania systemowe), aby
uwidaczniać podejrzane działania.
● IDS-y sieciowe (usieciowione, NIDS) - monitorują ruch w poszczególnych odcinkach
sieci lub w jej urządzeniach oraz analizują sieć, trans- port i protokoły aplikacji w
celu identyfikowania podejrzanych działań.
● IDS-y rozproszone lub hybrydowe - łączą informacje z wielu czujników, często
zarówno rozlokowanych w komputerach, jak i w sieci, gromadząc je w centralnym
analizatorze, który potrafi lepiej identyfikować działania towarzyszące włamaniom i
reagować na nie.
38
IDS’y
Wykrywanie włamań bazuje się na założeniu, że zachowanie napastnika różni się w jakiś
sposób od działania legalnego użytkownika, w szczególności, w sposób dający się
określić ilościowo. Nie możemy oczekiwać ostrej, wyraźnej różnicy między atakiem a
normalnym użytkowaniem zasobów przez upoważnionego użytkownika. Musimy przyjąć,
że zjawiska te będą “rozmyte” i będą na siebie zachodziły.

39
40
IDS’y

???

41
IDS’y - wymagania
Wymagane cechy IDS’ów:

● Ciągłe działanie, wymagające minimalnego nadzoru.


● Tolerowanie awarii w tym sensie, że oprogramowanie to potrafi się reaktywować po
zatrzymaniu systemu i jego ponownym uruchomieniu.
● Odporność na działania ukierunkowane na IDS. IDS musi sam siebie monitorować i
wykrywać, czy nie został zmodyfikowany przez atakującego.
● Wprowadzanie minimalnego obciążenia do systemu.
● Możliwość skonfigurowania zgodnie z zasadami bezpieczeństwa analizowanego
środowiska.

42
IDS’y - wymagania
Wymagane cechy IDS’ów:

● Zdolność do adaptacji w miarę wprowadzania zmian w systemie i zmian w


zachowaniach użytkowników.
● Zdolność do skalowalności.
● Łagodna degradacja usług — jeśli jakieś usługi składowe IDS-u przestają z jakiegoś
powodu działać, oddziałuje to na pozostałe w jak najmniejszym stopniu.
● Umożliwianie dynamicznej rekonfiguracji, bez potrzeby restartowania IDS-u.

43
IDS’y - wykrywanie - podejście analityczne
● Detekcja oparta na anomaliach:
○ Obejmuje gromadzenie danych dotyczących zachowania legalnych użytkowników przez
określony czas
○ Aktualnie obserwowane zachowanie jest analizowane w celu ustalenia, czy jest to zachowanie
legalnego użytkownika, czy intruza
● Detekcja oparta na sygnaturach (heurystykach):
○ Używa zestawu znanych złośliwych wzorców danych lub reguł ataku, które są porównywane z
bieżącym zachowaniem
○ Znane również jako wykrywanie nadużyć
○ Potrafi zidentyfikować tylko znane ataki, dla których ma wzorce lub reguły

44
IDS’y - detekcja oparta na anomaliach
Statystyczna - analiza obserwowanego zachowania z użyciem modeli jedno- lub
wieloczynnikowych lub modeli szeregów czasowych obserwowanych metryk.

Oparta na wiedzy - metody, w których są używane systemy eksperckie klasyfikujące


obserwowane zachowanie według zbioru reguł modelujących legalne zachowanie.

Uczenie maszynowe - metody automatycznego określania odpowiedniego modelu


klasyfikacji na podstawie danych treningowych, z użyciem technik eksploracji danych.

45
IDS’y - detekcja oparta na sygnaturach
Sygnatury

● dopasowanie dużego zbioru znanych wzorców szkodliwych danych do danych


przechowywanych w systemie lub przesyłanych przez sieć
● sygnatury muszą być wystarczająco duże, aby zminimalizować wskaźnik fałszywych
alarmów, jednocześnie wykrywając wystarczająco dużą część złośliwych danych
● metoda szeroko stosowana w produktach antywirusowych, serwerach proxy do
skanowania ruchu sieciowego oraz w NIDS

46
IDS’y - Identyfikacja heurystyczna oparta na regułach
Reguły

● obejmuje stosowanie reguł identyfikacji znanych podatności lub penetracji, które


wykorzystywałyby znane słabości
● można także zdefiniować reguły, które identyfikują podejrzane zachowanie, nawet
jeśli jest ono w granicach ustalonych wzorców użytkowania

47
HIDS - Host based IDS
● Dodaje wyspecjalizowaną warstwę oprogramowania zabezpieczającego do
wrażliwych lub wrażliwych systemów
● Może korzystać z anomalii lub sygnatur i metod heurystycznych
● Monitoruje aktywność w celu wykrycia podejrzanego zachowania
○ głównym celem jest wykrywanie włamań, rejestrowanie podejrzanych zdarzeń i wysyłanie
alertów
○ potrafi wykryć zarówno włamania zewnętrzne, jak i wewnętrzne

48
HIDS - źródła i czujniki danych
Do typowych źródeł danych należą:

● ślady wywołań systemowych - zapisy ciągów wywołań systemowych wykonywanych


przez procesy w systemie są powszechnie uznawane za wartościowe źródło danych
HIDS-u (Linux - ok, Windows - problematyczne)
● rekordy audytu (plik dziennika) - zaleta: nie trzeba korzystać z żadnego dodatkowe-
go oprogramowania do ich gromadzenia, wada: rekordy audytu mogą nie zawierać
potrzebnych informacji; intruzi mogą próbować manipulować tymi zapisami, aby
ukryć swoje ataki.
● sumy kontrolne nienaruszalności plików - okresowe skanowanie krytycznych plików
pod kątem rozbieżności z pożądanym wzorem przez porównywanie bieżących
kryptograficznych sum kontrolnych tych plików z zapisem znanych, dobrych wartości
49
HIDS - rozproszony

50
HIDS - architektura agenta

51
NIDS - Network Based IDS
● Monitoruje ruch w wybranych punktach sieci
● Bada pakiet po pakiecie w czasie rzeczywistym lub zbliżonym do czasu rzeczywistego
● Może badać aktywność protokołów na poziomie sieci, transportu i/lub aplikacji
● Składa się z wielu czujników, co najmniej jednego serwera do zarządzania NIDS oraz
co najmniej jednej konsoli zarządzającej z interfejsem użytkownika
● Analiza wzorców ruchu może odbywać się na czujniku lub serwerze zarządzania

Czujniki (sensory) inline (aktywne) - mogą zablokować atak

Czujniki pasywne - są na ogół szybsze

52
NIDS - rozmieszczenie sensorów

53
NIDS - lokalizacja czujników
Czujnik 1:

● ataki pochodzące z zewnątrz (zewnętrzną zaporę sieciową)


● problemy związane z zasadami przyjętymi dla zapory sieciowej lub jej działaniem
● ataki, które mogą być wycelowane w serwer WWW lub serwer ftp.
● DS może czasami rozpoznać w ruchu wychodzącym znamiona ataku na serwer

54
NIDS - lokalizacja czujników
Czujnik 2:

● czujnik może monitorować cały, niefiltrowany ruch sieciowy


● dokumentuje liczbę ataków powstających w Internecie, wycelowanych w daną sieć.
● dokumentuje rodzaje powstających w Internecie ataków

55
NIDS - lokalizacja czujników
Czujnik 3:

● czujnik do ochrony głównych sieci szkieletowych, takich jak te, które udostępniają
zasoby wewnętrznych serwerów i baz danych
● monitorowanie dużej ilości ruchu w sieci, co zwiększa możliwość dostrzegania
ataków.
● wykrywanie nieupoważnionych działań wykonywanych przez legalnych
użytkowników w granicach organizacji objętych zabezpieczeniami

56
NIDS - lokalizacja czujników
Czujnik 4:

● wykrywa ataki skierowane przeciw krytycznym systemom i zasobom


● umożliwia skoncentrowanie ograniczonych zasobów na aktywach sieciowych,
których wartość jest oceniana najwyżej

57
Sposoby wykrywania włamań

58
Sposoby wykrywania włamań
Wykrywanie sygnatur:

● analiza protokołów warstwy aplikacji - przepełnienia buforów, odgadywanie haseł i


przesyłanie szkodliwego oprogramowania
● analiza protokołów warstwy transportowej - nietypowe fragmentowanie pakietów,
wyszukiwanie podatnych portów i ataki specyficzne dla protokołu TCP
● analiza protokołów warstwy sieciowej - fałszowane adresy IP i niedopuszczalne
wartości nagłówka IP
● nieoczekiwane usługi aplikacji - host bezprawnie wykonujący jakąś usługę aplikacji

59
Sposoby wykrywania włamań
Wykrywanie anomalii:

● natężeniu ruch - ataki DoS


● skanowanie - warstwa aplikacji, warstwa transportowa, warstwa sieciowa
● robaki - anomalny ruch między hostami, anomalne porty, skanowanie

60
SPA - Stateful Protocol Analysis
Stanowa analiza protokołu - identyfikuje odchylenia stanu protokołu podobnie do
metody opartej na anomali, ale wykorzystuje z góry określone uniwersalne profile oparte
na „przyjętych definicjach łagodnej aktywności” opracowanych przez dostawców.

Przykład: monitorowanie żądań wraz z odpowiadającymi im odpowiedziami; każde


żądanie powinno mieć przewidywalną odpowiedź, a te odpowiedzi, które wykraczają poza
oczekiwane wyniki, będą oznaczane i dalej analizowane.

Główna wada to znaczne zapotrzebowanie na zasoby

61
Bezpieczeństwo systemów
informatycznych
Kontrola dostępu

dr Marek Miśkiewicz

Instytut Informatyki UMCS

January 31, 2023


Definicje

NISTIR 7298
Proces przyznawania lub odrzucania określonych wniosków o:
1 uzyskanie i wykorzystanie informacji i związanych z nimi usług
przetwarzania informacji;
2 wejścia do określonych obiektów fizycznych.

RFC 4949
Proces, w którym korzystanie z zasobów systemu jest regulowane
zgodnie z polityką polityki bezpieczeństwa i jest dozwolone tylko
przez uprawnione podmioty (użytkowników, programy, procesy lub
inne systemy) zgodnie z tą polityką.
Wymagania podstawowe

1. Ograniczenie dostępu do systemu informatycznego do upraw-


nionych użytkowników, procesów działających w imieniu up-
rawnionych użytkowników lub urządzeń (w tym innych systemów
informatycznych).
2. Ograniczenie dostępu do systemu informacyjnego do typów tran-
sakcji i funkcji, które upoważnieni użytkownicy mogą wykony-
wać.
Wymagania rozszerzone

1. Kontrola przepływu CUI zgodnie z zatwierdzonymi uprawnieni-


ami.
2. Rozdzielenie obowiązków poszczególnych osób w celu zmniej-
szenia ryzyka złośliwych działań bez zmowy.
3. Stosowanie zasady najmniejszego uprzywilejowania, w tym w
odniesieniu do określonych funkcji bezpieczeństwa i kont uprzy-
wilejowanych.
4. Używanie nieuprzywilejowanych kont lub ról przy dostępie do
funkcji niezwiązanych z bezpieczeństwem.
5. Uniemożliwienie użytkownikom nieuprzywilejowanym wykonywa-
nia funkcji uprzywilejowanych oraz audytowanie wykonywania
takich funkcji.
6. Ograniczenie nieudanych prób logowania.
CUI (ang. controlled unclassified information) = kontrolowana informacja nieklasy-
fikowana
Wymagania rozszerzone

7. Zapewnienie informacji o prywatności i bezpieczeństwie zgodnie


z obowiązującymi zasadami CUI.
8. Używanie blokady sesji z ukrywaniem wzorców w celu uniemożli-
wienia dostępu i przeglądania danych po okresie bezczynności.
9. Zakończenie (automatyczne) sesji użytkownika po spełnieniu
określonych warunków.
10. Monitorowanie i kontrola sesji zdalnego dostępu.
11. Zastosowanie mechanizmów kryptograficznych do ochrony pouf-
ności sesji zdalnego dostępu.
12. Kierowanie zdalnego dostępu przez zarządzane punkty kontroli
dostępu.
Wymagania rozszerzone

13. Autoryzacja zdalnego wykonywania uprzywilejowanych poleceń


i zdalnego dostępu do informacji istotnych dla bezpieczeństwa.
14. Autoryzacja dostępu bezprzewodowego przed zezwoleniem na
takie połączenia.
15. Ochrona dostępu bezprzewodowego za pomocą uwierzytelniania
i szyfrowania.
16. Kontrola połączeń urządzeń mobilnych.
17. Szyfrowanie CUI na urządzeniach mobilnych.
18. Weryfikacja i kontrola/ograniczenie połączeń z zewnętrznymi
systemami informacyjnymi i korzystania z nich.
Kontrola dostępu — podstawy

W szerokim sensie całe bezpieczeństwo komputerowe dotyczy


kontroli dostępu

RFC 4949 definiuje bezpieczeństwo komputerowe jako:


Środki, które wdrażają i zapewniają usługi bezpieczeństwa w sys-
temie komputerowym, w szczególności te, które zapewniają usługi
kontroli dostępu.
Authorization
database

Security administrator

Authentication Access control

Access
Authentication
control
function
function

User
System resources

Auditing

Figure 4.1 Relationship Among Access Control and Other Security Functions

Source: Based on [SAND94].


Poszerzony kontekst kontrolowania dostępu

• Uwierzytelnianie (ang. authentication) – weryfikowanie, że


poświadczenia użytkownika lub innej jednostki systemowej są
ważne.
• Upoważnianie (ang. authorization) – udzielanie jednostce sys-
temu prawa lub pozwolenia na dostęp do zasobu systemowego.
Ta funkcja określa, kto jest zaufany w określonym celu.
• Audyt (wgląd, ang. audit) – niezależny przegląd i badanie za-
pisów i aktywności systemu w celu sprawdzenia adekwatności
kontroli systemowej, przestrzegania zgodności z przyjętymi za-
sadami i procedurami operacyjnymi oraz wykrywania naruszeń
bezpieczeństwa, jak również zalecanie wszelkich zmian w kon-
troli, polityce i procedurach, których konieczność wprowadzenia
zostanie wykazana.
Zasady kontrolowania dostępu
• Uznaniowe kontrolowanie dostępu (ang. discretionary ac-
cess control — DAC): Kontrola dostępu oparta na tożsamości
podmiotu składającego wniosek oraz na zasadach dostępu (up-
rawnieniach) określających, co podmiotom składającym wniosek
wolno (lub nie wolno) robić.
• Obligatoryjne kontrolowanie dostępu (ang. mandatory ac-
cess control — MAC): Kontrola dostępu na podstawie porówna-
nia etykiet bezpieczeństwa z poświadczeniami bezpieczeństwa.
• Kontrolowanie dostępu według ról (ang. role-based access
control — RBAC): Kontroluje dostęp na podstawie ról, jakie
użytkownicy pełnią w systemie oraz o reguły określające, jakie
dostępy są dozwolone dla użytkowników w danych rolach.
• Kontrolowanie dostępu według atrybutów (ang. attribute-
based access control — ABAC): Kontroluje dostęp na podstawie
atrybutów użytkownika, zasobu, do którego ma być uzyskany
dostęp, oraz bieżących warunków środowiskowych.
Zasady kontrolowania dostępu

DAC jest tradycyjną metodą urzeczywistniania kontroli dostępu. MAC


jest koncepcją, która wyewoluowała z wymagań dotyczących bez-
pieczeństwa informacji wojskowej i najlepiej wpisuje się w kontekst
systemów zaufanych. Zarówno RBAC, jak i ABAC zyskują wciąż na
popularności.
Te cztery rodzaje polityki nie wykluczają się nawzajem. Mecha-
nizm kontrolowania dostępu może wykorzystywać dwie lub nawet trzy
spośród nich, aby obejmować różne klasy zasobów systemu.
Podmioty, obiekty i prawa

Podmiot
Jednostka zdolna do dostępu do obiektów.
• właściciel – owner
• grupa – group
• świat – world

Obiekt
Zasób, do którego dostęp podlega kontroli. Przykłady: rekordy,
bloki, strony, segmenty, pliki, fragmenty plików, katalogi, drzewa
katalogów, skrzynki pocztowe, komunikaty i programy, bity, bajty,
słowa, procesory, porty komunikacyjne, zegary i węzły sieci.
Podmioty, obiekty i prawa

Prawa dostępu
Sposób, w jaki podmiot może sięgać po obiekt.
• czytanie – read
• pisanie – write
• wykonanie – execute
• usuwanie – delete
• tworzenie – create
• wyszukiwanie – search
Uznaniowa kontrola dostępu – DAC

Schemat uznaniowego kontrolowania dostępu polega na tym,


że jakaś jednostka z własnej woli może udzielić praw dostępu
pozwalających innej jednostce sięgać po pewien zasób.
• Macierze dostępu – Access Matrix
• Listy kontroli dostępu (Access Control Lists) – dekompozycja
po kolumnach
• Bilety uprawnień (Capability tickets) - dekompozycja po
wierszach
OBJECTS
File 1 File 2 File 3 File 4
Own Own
User A Read Read
Write Write
Own
SUBJECTS User B Read Read Write Read
Write

Read Own
User C Read Read
Write Write
(a) Access matrix
Macierz dostępu
File 1 A B C User A File 1 File 3
Own R Own Own
R R W R R
W W W
• • •
(a) Access matrix

File 1 A B C User A File 1 File 3


Own R Own Own
R R W R R
W W W
• • •

File 2 B C User B File 1 File 2 File 3 File 4


Own Own
R R R R W R
W W
• • • •

File 3 A B User C File 1 File 2 File 4


Own R Own
R W W R R
W W
• • •

File 4 B C
Own (c) Capability lists for files of part (a)
R R
W

(b) Access control lists for files of part (a)

Listy kontroli dostępu i bilety uprawnień do plików


Figure 4.2 Example of Access Control Structures
Ogólny model polityki DAC

• Zbiór podmiotów
• Zbiór obiektów
• Zbiór reguł

Stan ochrony systemu


zbiór informacji w danej chwili określających prawa dostępu
każdego podmiotu do każdego obiektu

Wymagania
• reprezentowanie stanu ochrony
• wymuszanie praw dostępu
• zezwalanie podmiotom na zmienianie stanu ochrony w pewien
sposób
Ogólny model polityki DAC

Rozszerzona przestrzeń obiektów:


• Procesy – zdolność usuwania procesu, jego wstrzymywania (blo-
kowania) i budzenia.
• Urządzenia – zdolność czytania z lub zapisywania na urządze-
niu, kontrolowanie jego działania (np. wyszukiwania na dysku),
blokowania lub odblokowywania urządzenia w związku z jego
użyciem.
• Komórki lub obszary pamięci – zdolność czytania lub zapisy-
wania pewnych chronionych komórek, lub regionów pamięci, do
których dostęp jest domyślnie zabroniony.
• Podmioty – możliwość udzielania lub odbierania praw dostępu
danego podmiotu innym obiektom (podmiotom).
OBJECTS
subjects files processes disk drives
S1 S2 S3 F1 F2 P1 P2 D1 D2

control owner owner read * read


S1 wakeup wakeup seek owner
control owner

SUBJECTS S2 control write * execute owner seek *

S3 control write stop

Poszerzona macierz kontroli dostępu


* - copy flag set (∗ - znacznik kopiowania)...
Figure 4.3 Extended Access Control Matrix
Ogólny model polityki DAC

Z logicznego lub funkcjonalnego punktu widzenia z każdym typem


obiektu jest skojarzony osobny moduł kontrolowania dostępu. Moduł
taki ocenia zamówiony przez podmiot dostęp do obiektu, sprawdza-
jąc, czy dane prawo dostępu istnieje.
122 CHAPTER 4 / ACCESS CONTROL

System intervention

Subjects Access control mechanisms Objects

read F (Si , read, F) File


Si Files
system

Memory
Segments
addressing
& pages
hardware

wakeup P (Sj , wakeup, P)


Sj Process
Processes
manager

Terminal
Terminal
& device
& devices
manager

Instruction
decoding Instructions
hardware
grant a to Sn , X (Sk , grant, a , Sn , X)
Sk
delete b from Sp , Y (Sm , delete, b , Sp , Y) Access
Sm matrix
monitor

Access
write matrix read

Figure 4.4 An Organization


Organizacjaof the Access
funkcjiControl Function
kontroli dostępu.

subject X and, because of the presence of the copy flag, can transfer this right, with
Rule Command (by So) Authorization Operation

⎧ α* ⎫ ⎧α *⎫
R1 transfer ⎨ ⎬ to S, X 'a*' in A[So, X] store ⎨ ⎬ in A[S, X]
⎩ α ⎭ ⎩α ⎭
⎧α *⎫ ⎧ α* ⎫
R2 grant ⎨ ⎬ to S, X 'owner' in A[So, X] store ⎨ ⎬ in A[S, X]
⎩α ⎭ ⎩ α ⎭
'control' in A[So, S]
R3 delete a from S, X or delete a from A[S, X]
'owner' in A[So, X]

'control' in A[So, S]
R4 w ¬ read S, X or copy A[S, X] into w
'owner' in A[So, X]
add column for X to A;
R5 create object X None store 'owner' in A[So, X]
delete column for X from
R6 destroy object X 'owner' in A[So, X]
A
add row for S to A;
R7 create subject S none execute create object S;
store 'control' in A[S, S]

'owner' in A[So, S] delete row for S from A;


R8 destroy subject S
execute destroy object S

Polecenia systemu kontrolowania dostępu.


Protection domains

• Zestaw obiektów wraz z prawami dostępu do tych obiektów.


• Większa elastyczność przy kojarzeniu uprawnień z domenami
ochrony.
• W kategoriach macierzy dostępu wiersz definiuje domenę ochrony.
• Użytkownik może wywoływać procesy z podzbiorem praw dostępu
użytkownika.
• Powiązanie procesu z domeną może być statyczne lub dynam-
iczne.
• W trybie użytkownika pewne obszary pamięci są chronione przed
użyciem, a pewne instrukcje nie mogą być wykonywane.
• W trybie jądra mogą być wykonywane uprzywilejowane instrukcje
i można uzyskać dostęp do chronionych obszarów pamięci.
Przykład - UNIX File Access Control

• Unikalny numer identyfikacyjny użytkownika (ID użytkownika)


• Członek grupy podstawowej identyfikowany przez ID grupy
• Przynależy do określonej grupy
• 12 bitów ochrony:
• Określają uprawnienia do odczytu, zapisu i wykonania dla
właściciela pliku, członków grupy i wszystkich innych
użytkowników
• ID właściciela, ID grupy i bity ochrony są częścią I-node pliku
. PRZYKŁAD: KONTROLOWANIE DOSTĘPU W UNIKSOWYM SYSTEMIE PLIKÓW 167

Tradycyjne podejście w UNIX – minimalna lista kontroli dostępu.


Przykład – UNIX File Access Control

• "Ustaw ID użytkownika" (SetUID)


• "Ustaw ID grupy" (SetGID)
• System tymczasowo używa praw właściciela pliku/grupy oprócz
praw prawdziwego użytkownika podczas podejmowania decyzji
o kontroli dostępu.
• Umożliwia uprzywilejowanym programom dostęp do
plików/zasobów, które nie są ogólnie dostępne.
• Sticky bit
• Zastosowany do katalogu określa, że tylko właściciel dowolnego
pliku w katalogu może zmienić jego nazwę, przenieść lub
usunąć.
• Superuser – jest zwolniony z typowych ograniczeń kontroli
dostępu. Ma dostęp do całego systemu
Listy kontroli dostępu w systemach UNIX

• Wiele współczesnych systemów UNIX i systemów operacyjnych


opartych na UNIX-ie, w tym systemy takie jak FreeBSD,
OpenBSD, Linux i Solaris, realizuje listy kontroli dostępu.
• FreeBSD
• Polecenie setfacl przypisuje listę identyfikatorów użytkowników
i grup UNIX-a
• Z plikiem może być związana dowolna liczba użytkowników i
grup
• Bity ochrony: odczyt, zapis, wykonanie
• Plik nie musi posiadać ACL
• Zawiera dodatkowy bit ochrony, który wskazuje, czy plik ma
rozszerzoną ACL
Listy kontroli dostępu w systemach UNIX

Gdy proces żąda dostępu do obiektu systemu plików, wykonywane są


dwa kroki:
1. wybiera jest najbardziej odpowiednia ACL
2. sprawdza, czy pasujący wpis zawiera wystarczające uprawnienia

Rysunek 4.5. Kontrolowanie dostępu do pliku w UNIX-ie


RBAC – Role Based Access Control

Tradycyjne systemy DAC definiują prawa dostępu poszczególnych


użytkowników i grup użytkowników. W przeciwieństwie do nich RBAC
opiera się na rolach, które użytkownicy przyjmują w systemie, a nie
na tożsamości użytkownika. Zazwyczaj modele RBAC definiują rolę
jako funkcję pracy w organizacji. Systemy RBAC przypisują prawa
dostępu do ról, a nie do poszczególnych użytkowników. Z kolei
użytkownicy są przypisywani do różnych ról, statycznie lub dynam-
icznie, w zależności od ich odpowiedzialności.
Users Roles Resources

Role 1

Role 2

Role 3

Użytkownicy, role i zasoby.


R1 R2 Rn

U1

U2

U3

U4

U5

U6

Um

Reprezentacja RBAC za pomocą macierzy kontroli dostępów

OBJECTS
R1 R2 Rn F1 F1 P1 P2 D1 D2

owner read
Um

OBJECTS
R1 R2 Rn F1 F1 P1 P2 D1 D2

control owner owner read * read


R1 wakeup wakeup seek owner
control owner

R2 control write * execute owner seek *


ROLES

Rn control write stop

Reprezentacja RBAC za pomocą macierzy kontroli dostępów


Figure 4.7 Access Control Matrix Representation of RBAC
RBAC – Role Based Access Control

RBAC nadaje się do efektywnej implementacji zasady najmniejszego


uprzywilejowania. Każda rola powinna zawierać minimalny zestaw
praw dostępu potrzebnych dla tej roli. Użytkownik jest przypisany do
roli, która umożliwia mu wykonywanie tylko tego, co jest wymagane
dla tej roli. Wielu użytkowników przypisanych do tej samej roli,
korzysta z tego samego minimalnego zestawu praw dostępu.
RBAC – Modele wzorcowe

Rodzina RBAC składa się z czterech


modeli. RBAC0 zawiera minimalną
funkcjonalność dla systemu RBAC.
RBAC3
RBAC1 zawiera funkcjonalność Consolidated model
RBAC0 oraz dodaje hierarchię
ról, która umożliwia jednej roli
RBAC1 RBAC2
dziedziczenie uprawnień z innej roli.
Role hierarchies Constraints
RBAC2 zawiera RBAC0 i dodaje
ograniczenia, które ograniczają
sposoby, w jakie składniki systemu RBAC0
Base model
RBAC mogą być skonfigurowane.
RBAC3 zawiera funkcjonalność (a) Relationship among RBAC models
RBAC0, RBAC1 i RBAC2.

(RH) Role
Hierarchy Ope
atio

(UA) User (PA) Permission


RBAC0 – model podstawowy

Typy jednostek w systemie:


• Użytkownik: Osoba fizyczna, która ma dostęp do tego sys-
temu komputerowego. Każda osoba ma przypisany identyfika-
tor użytkownika.
• Rola: Nazwana funkcja pracy w organizacji, która kontroluje
ten system komputerowy. Zazwyczaj z każdą rolą związany jest
opis uprawnień i odpowiedzialności przypisanych do tej roli oraz
do każdego użytkownika, który tę rolę przyjmie.
• Uprawnienie: Zgoda na określony tryb dostępu do jednego
lub więcej obiektów. Równoważne terminy to prawo dostępu,
przywilej i autoryzacja.
• Sesja: Mapowanie pomiędzy użytkownikiem a aktywowanym
podzbiorem zbioru ról do których użytkownik jest przypisany.
(a) Relationship among RBAC models

(RH) Role
Hierarchy Oper-
ations

(UA) User (PA) Permission


Assignment Assignment
Users Roles
Permissions

user_sessions session_roles

Objects

Sessions

RBAC0 bez hierarchii ról i ograniczeń, zawiera cztery rodzaje podmiotów w systemie.
(b) RBAC models

Figure 4.8 A Family of Role-Based Access Control Models.


RBAC1 – hierarchia ról

Hierarchie ról zapewniają sposób odzwierciedlenia hierarchiczną struk-


turę ról w organizacji. Zazwyczaj stanowisko o większej odpowiedzial-
ności ma większe uprawnienia w zakresie dostępu do zasobów. Pod-
rzędne stanowiska pracy mogą mieć podzbiór praw dostępu nadrzęd-
nych stanowisk pracy. Hierarchie ról wykorzystują koncepcję dziedz-
iczenia, aby umożliwić jednej roli niejawne włączenie praw dostępu
związanych z podrzędną rolą.
RBAC3 – ograniczenia

Ograniczenia zapewniają sposób na dostosowanie RBAC do specyfiki


polityki administracyjnej i bezpieczeństwa w organizacji. Ogranicze-
nie jest zdefiniowaną relacją pomiędzy rolami lub warunkiem związa-
nym z rolami.
Rodzaje ograniczeń:
• role wzajemnie się wykluczające,
• liczność
• role z warunkami wstępnymi
RBAC3 – ograniczenia

Role wzajemnie wykluczające się to role, w których użytkownik


może być przypisany tylko do jednej roli w zestawie. Ograniczenie
to może być statyczne lub może być dynamiczne, w tym sensie, że
użytkownik może być przypisany tylko do jednej z ról w zestawie dla
danej sesji.
1. Użytkownik może być przypisany tylko do jednej roli w zestawie
(podczas sesji lub statycznie).
2. Każde uprawnienie (prawo dostępu) może być przyznane tylko
jednej roli w zestawie.
RBAC3 – ograniczenia

Liczność odnosi się do ustalenia maksymalnej liczby w odniesie-


niu do ról. Jednym takim ograniczeniem jest ustalenie maksymalnej
liczby użytkowników, którzy mogą być przypisani do danej roli. Na
przykład, rola kierownika projektu lub kierownika działu może być
ograniczona do jednego użytkownika.
RBAC3 – ograniczenia

System może być w stanie określić rolę z warunkiem wstępnym,


która nakazuje, że użytkownik może być przypisany do danej roli
tylko wtedy, gdy jest już przypisany do innej określonej roli. Warunek
wstępny może być użyty do strukturyzacji implementacji koncepcji
najmniejszego uprzywilejowania. W hierarchii może być wymagane,
aby użytkownik mógł być przypisany do starszej (wyższej) roli tylko
wtedy, gdy jest już przypisany do bezpośrednio młodszej (niższej)
roli.

You might also like