# Cheatsheet ŘSSS-ŘK
:::warning
Tento dokument by měl sloužit jako cheatsheet a ke každému tématu poskytovat vždycky 1-2 věty jako pick-up line, když se ho na dané téma zeptají.
Např. "Cocomo - Model používaný k odhadování ceny SW. Idea je taková, že cena vývoje aplikace přímo závisí na velikosti SW."
:::
###### tags: `řsss-řk`, `cheatsheet`
---
# 01 Teorie kódování
Cílem teorie kódování je vytvořit systémy a metody, které nám dovolí detekovat/opravovat chyby způsobené přenosem informací přes hlučné kanály (noisy channels).
Kódování je používáno pro kompresi dat, v kryptografii a error-correction pro přenos informací.
**Rozdělení:**
1. Noiseless coding theory
- Shannon entropie
- Huffman coding
2. Noisy coding theory
- Error correcting codes
- Block codes
#### Typy kanálů
Hlavní typy kanálů jsou diskrétní (*discrete*) a kontinuální/spojité (*continous*) kanály.
Diskrétní Shannonův stochastický kanál je trojice ($\sum, \Omega, p$), kde:
- $\sum$ je vstupní abeceda
- $\Omega$ je výstupní abeceda
- $Pr$ je pravděpodobnostní distribuce $\sum \times \Omega$ a pro každé $i \in \sum, o \in \Omega, Pr(i,o)$ je pravděpodobnost, že výstup z kanálu je $o$ pokud je vstup $i$.
#### Kódovací metody
1. BEC (Backward error correction)
- Příjemci dovoluje pouze detekovat chyby.
2. FEC (Forward error correction)
- Příjemci dovoluje opravit určité množství chyb.
#### Hammingova vzdálenost
- Podobnost dvou kódových slov
- $h(x,y)$
- **Minimální vzdálenost kódu je důležitá vlastnost kódu a značí nejmenší počet chyb, které změní jedno kódové slovo do druhého.**
### Entropie
- Shannonova entropie značí střední hodnotu množství dat v zasílané informaci.
- Je měřena v bitech.
- Entropie je definována jako:
- $S(X)=-\sum_xp(x)\log p(x)$
- Nulová entropie - dokážeme předpovědět výstup v každém případě.
- Maximální entropie - všechny hodnoty generuje se stejnou pravděpodobností.
### Shannonův teorém
- Shannonův teorém říká, že pro přenos $n$ hodnot informace $X$, potřebujeme použít $nS(X)$ bitů.
### Kódy s proměnnou délkou
- Takový kód, který mapuje zdrojové symboly na proměnnou délku bitů
Třídy:
- Non singular codes
- $\{a \mapsto 1, b \mapsto 011, c \mapsto 1100, d \mapsto 11001\}$
- Uniquely decodable codes
- $\{a \mapsto 0, b\mapsto 01,c\mapsto 011\}$
- Preffix/Suffix codes
- $\{a\mapsto 0,b\mapsto 10,c\mapsto 110, d\mapsto111\}$
#### Huffmanovo kódování
- Algoritmus pro bezeztrátovou kompresi dat.
- Konvertuje znaky vstupního souboru do bitových řetězců různé délky podle frekvence výskytu.
#### Extended Huffman coding
- Kóduje sekvence zdrojových symbolů a ne jednotlivé symboly.
### Generování skutečně- a pseudo-náhodných sekvencí.
Náhodná data jsou stěžejní pro kryptografické klíče, _padding values_, nebo _nonces_. Potřebujeme kvalitní (aby splňovala statistické vlastnosti) a nepředvídatelná data. Nicméně v deterministickém prostředí (= počítače), je občas složité získat opravdu náhodná data v rozumném čase.
#### True random number generators (TRNGs)
Bývají pomalé a kvalita závisí na zdroji náhodnosti:
- **Ideální** - nedeterministický fyzický jev
- **Excelentní** - HW-based
- **Dobré** - Jakýkoliv vstup od uživatele
- **Přijatelné** - SW-based
- **Špatné** - předvídatelné - systémové datum a čas
#### Pseudo-random number generators (PRNGs)
Deterministický konečný automat
##### Linear feedback shift register (LFSR)
Shift register, kde vstupní bit je lineární funkcí jeho předchozího stavu.
### Kryptografické protokoly
#### Protokol
- Algoritmus definovaný sekvencí kroků, které musí splnit každý (dva a více) účastník komunikace, abychom dosáhli cíle protokolu.
- Cíle: důvěryhodnost, autentizace, integrita, ustanovení klíčů, non-repudiation
#### Nonce
- *Number used once*
- Unikátní/náhodné
- Sekvenční
- Timestamps
### Protokoly pro ustanovení klíčů
- Ustanovené klíče jsou sdíleným *secretem*
- *Key transport*
- *Key agreement*
- Koncepty jistoty
- *Implicit key authentication*
- *Key confirmation*
- *Explicit key authentication*
- *Entity authentication*
- Session klíče:
- Short-term klíče
- _Perfect forward secrecy_ znamená, že kompromitace dlouhodobého klíče nijak nekompromituje zpětně session-klíče.
- Budoucí odhalení klíče nekompromituje zprávy z minulosti
- _Perfect backward secrecy_ kompromitace klíče z minulosti nijak neovlivní zprávy v budoucnosti.
### Zero-knowledge protokoly
- Dovoluje účastníkům komunikace dokázat, že drží určitý *secret*, aniž by odhalili jakékoliv informace, které by ho mohly kompromitovat.
- *Completeness*
- *Soundness*
### Kvantová kryptografie
- Založena na kvantové fyzice (přírodní zákony), ne na předpokladu, že některé problémy je velice složité vypočítat.
#### BB-84 shared key establishment
- Ustanovení sdíleného klíče za pomocí kvantového kanálu.
- ![](https://i.imgur.com/W6wzfk4.png)
# 02 Symetrické a asymetrické šifry
## Symetrická kryptografie
Matematická definice:
- *Symmetric cryptosystem* je pětice ($P, C, K, E, D$):
- $P$: množina všech možných plaintextů nad danou abecedou
- $C$: množina všech možných ciphertextů
- $K$: množina všechn možných klíčů
- $E$: šifrovací funkce
- $D$: dešifrovací funkce
- Měl by splňovat jednoduché spočítání ciphertextu a generování klíčů, složité cracknout ciphertext.
- **Kerckhoffsův princip**: Bezpečnost kryptosystému musí záviset pouze na klíči a prozrazení principu šifrování ho nemá ohrozit.
#### Blokové šifry
- Symetrické šifry, které procesují data v blocích o fixní délce bitů.
- DES, AES
#### Stream (proudové) šifry
- Symetrické šifry, které procesují data jako stream bitů.
- Generuje keystream a XORuje s ním plaintext data bit po bitu.
- One Time Pad
### Feistelovy šifry
<img src="https://upload.wikimedia.org/wikipedia/commons/thumb/f/fa/Feistel_cipher_diagram_en.svg/1401px-Feistel_cipher_diagram_en.svg.png" alt="drawing" style="width:400px;margin-left:auto;margin-right:auto;display:block;"/>
### DES - Data encryption standard
- Délka bloku: 64 bitů
- Délka klíče: 56b + 8 paritních
- Počet kol: 16
- Algoritmus si předpočítá 16 subklíčů o délce 48 bitů pro každé kolo a pak šifruje stejně jako ve Feistelově šifře.
### Triple DES
- DES používá relativně krátký klíč. Triple DES provede tři operace na jeden blok dat
- $E_{K3}(D_{K2}(E_{K1}(plaintext)))$
#### Meet-in-the-middle attack
- Tl;dr Příklad s 2DES - Vezmeme $E_{K1}(p) = X \rightarrow E_{K2}(X) = c$, pro dešifrování potřebujeme vypočítat $D_{K2}(c) = X \rightarrow D_{K1}(X) = p$. Z toho vidíme, že útočník stačí cracknout 2 klíče o délce $2^{56}$.
## Asymetrická kryptografie
- Použití dvojice klíčů - veřejný a privátní.
- 3 hlavní použítí
- Šifrování/dešifrování
- Digitální podpisy
- Inicializace sdíleného tajemství
- Pomalejší výpočet a potřeba key managementu.
### RSA
- Založen na výpočetní náročnosti faktorizace prvočísel.
### DSA (Digital Signature Algorithm)
- Asymetrická kryptografie umožňuje taky podpis digitální zprávy.
- Pokud chceme šifrovat i podepisovat, musíme nejdřív zprávu podepsat a až pak zašifrovat - abychom měli jednoznačně spojenou zprávu+podpis.
### Diffie-Hellman (DH)
- Algoritmus, který umožňuje přes nezabezpečený kanál vytvořit mezi komunikujícími stranami šifrované spojení, bez předchozího dohodnutí šifrovacího klíče.
### Hybrid encryption
- Hybridní šifrování kombinuje symetrickou a asymetrickou kryptografii.
- Asymetrická pro ustanovení klíčů. Symetrická pro šifrování.
## Faktorizace a testování prvočíselnosti
- V kryptografii: Vynásobit dvě prvočísla je jednoduché, ale extrémně pomalé udělat opak. Tzn. z $x$ získat dvě prvočísla.
- **Jednoduché algoritmy:**
- Brute-force
- Obecné pravděpodobnostní algoritmy
- **Fermatův test**
- Založen na malé fermatově větě
- Neodhalí carmichaelova čísla.
- **Algoritmus Rabin-Miller**
## Kryptosystémy na bázi eliptických křivek.
- ECC je způsob asymetrické kryptografie založené na vlastnostech eliptických křivek.
- Dvojice ($E, O$), kde:
- E je set bodů v rovině daných Weierstrassovou funkcí
- $y^2 = x^3 + ax + b$
- $O \in E$ je zvolej jako "*point at infinity*" na křivce.
## Principy konstrukce hashovacích funkcí
- $h: \{0,1\}^a \rightarrow\{0,1\}^b$, kde $a,b \in \mathbb{N}$
- $a>>b$
- $a$ je mnohem větší, než $b$
- $a$ je libovolné a $b$ ma fixní délku pro svou funkci
- Jinými slovy, hash funkce $h$ promítne hodnotu z množiny s hodně (nebo dokonce nekonečno) členy na hodnotu z množiny s pevným počtem (méně) členy.
- **Vlastnosti dobré hash funkce:**
- **Deterministická**: Jeden vstup vyprodukuje vždy stejný výstup
- **One-way**: Z hashe nelze vypočítat vstup
- **Weak collision resistant**: Pro jeden konkrétní vstup nelze najít jiný vstup, který vyprodukuje stejný hash
- **Strong collision resistant**: Je složité najít jakékoliv $x,y$, takové, že $H(y)=H(x)$
- **Strict avalanche criterion**: Malá změna na vstupu by měla způsobit velkou změnu na výstupu.
- **Fast**
### Merkle-Damgard construction of hash function
- Message $M$ je rozdělena do bloků o fixní délce $M=m_0||m_1||\ldots||m_t$ a je použit vhodný _padding_
### Sponge construction of hash functions: SHA-3 Keccak
- SHA-3 (Secure Hash Algorithm) je standard, Keccak je název algoritmu.
- Délka hashe: 224 bitů do 512 bitů
- SHA-3 pracuje s bloky o velikosti $w$ (běžně 64 bitů; _padding_ je použit, pokud je to potřeba). Uchovává si interní stav $5\times 5\times w$ jako pole, které se nazývá _sponge_.
- SHA-3 má dvě hlavní fáze: V první jsou data _absorbed_ do _sponge_ a ve druhé je výsledek _squeezed_.
- ![keccak](https://keccak.team/images/Sponge-150.png)
### Password hashing functions
**bcrypt** (1999) je hash funkce určena hashování hesel. Je založena na Blowfish block cipher. Má v sobě automaticky zahrnut salt, viz. výše.
- \$**2a**\$**12**\$R9h\/cIPz0gi.URNNX3kh2OPST9\/PgBkqquzi.Ss7KIUgO2t0jWMUW
- **2a** - specifikuje verzi algoritmu
- **12** - specifikuje _input cost_, tzn. počet iterací - čím víc, tím pomalejší je výpočet = zpomalení útočníka.
**scrypt** (2009) je další hash funkce pro hashování hesel, navrhnuta tak, aby byla náročně vypočitatelná pomocí custom HW.
---
# 03 Aplikace šifrování
## Bezpečnostní cíle
- **Důvěrnost:** Zprávu mohou číst jen autorizované subjekty
- Zajistíme šifrováním
- **Integrita:** Zpráva není nijak modifikována neautorizovaným subjektem
- Detekci zajistíme použitím MAC, hash + podpis
- **Autentizace:** Ověření identity zařízení, procesu, původce zprávy
- Podpis, heslo/PIN, biometrika, karta
## Symetrické blokové šifry
* Stejný klíč pro šifrování a dešifrování sdílený mezi oběma účastněnými se stranami
* Blokové a proudové šifry
* **Výhody**: rychlejší než asymetrické šifrovací algoritmy, menší klíče
* **Nevýhody**: problémem je distribuce klíče
Implementační problémy pro symetrické šifrování:
- **Zarovnání (padding)**
- Délka plaintextu musí být dělitelná požadovanou velikostí bloku
- Padding slouží jako výplň, po dešifrování je odstraněno
- **IV (inicializační vektor)**:
- Přidává do šifrování více náhodnosti
- Cílem je nešifrovat dva stejné bloky na stejný výsledný šifrovaný text
### Operační módy / provozní režimy (DES & AES)
#### Electronic CodeBook (ECB), blokový mód
- Zpráva je rozdělena do 64bitových nezávislých bloků, které jsou samostatně zašifrovány.
- $C_i = E_K(P_i)$
- ![šifrování v ECB režimu](https://i.imgur.com/PhzOXe9.png)
#### Cipher Block Chaining (CBC), blokový mód
- Zpráva je rozdělena do 64bitových bloků, které jsou XORovány s předchozím šifrovým blokem (začíná se s IV)
- $C_i = E_K(P_i \oplus C_{i-1})$, kde $C_{-1}=IV$
- ![šifrování v CBC režimu](https://i.imgur.com/t83fV28.png)
- ![dešifrování v CBC režimu](https://upload.wikimedia.org/wikipedia/commons/8/84/CBC_decryption_cs.svg)
#### Cipher FeedBack (CFB), proudový mód
- Zpráva se zpracovává jako proud bitů a přidává se k výstupu (XOR) a výsledek se užívá v další fázi
- $C_i=E_K(C_{i-1}) \oplus P_i$, kde $C_{-1}=IV$
- ![šifrování v CFB módu](https://upload.wikimedia.org/wikipedia/commons/a/a0/CFB_encryption_cs.svg)
#### Output Feedback (OFB), proudový mód
- Zpráva se zpracovává jako proud bitů, přidána ke zprávě, ale feedback je nezávislý na zprávě
- $C_i = O_i \oplus P_i$, kde $O_i=E_K(O_{i-1})$ a $O_{-1}=IV$
- ![šifrování v OFB módu](https://upload.wikimedia.org/wikipedia/commons/a/a4/OFB_encryption_cs.svg)
#### Counter (CTR), proudový mód
- Podobné OFB, ale šifruje počítadlo (*nonce*) místo feedback hodnoty
- * $C_i=P_i \oplus E_K(i)$ (iniciální hodnota počítadla musí být náhodná)
- ![šifrování v CTR módu](https://upload.wikimedia.org/wikipedia/commons/8/88/CTR_encryption_2_cs.svg)
#### Shrnutí vybraných vlastností šifrovacích módů
| | ECB | CBC | CFB | OFB | CTR |
|---| --- | --- | --- | --- | --- |
| Předpočítání | :x: | :x: | :x: | :heavy_check_mark: |:heavy_check_mark: |
| Paralelní šifrování | :heavy_check_mark: | :x: | :x: | :x: | :heavy_check_mark: |
| Paralelní dešifrování | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :x: | :heavy_check_mark: |
| Náhodný přístup | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :x: | :heavy_check_mark: |
| Porušených bloků plaintextu při změně 1 šifrového bloku | 1 | 2 | 2 | 1 | 1 |
## Message Authentication Code (MAC)
- Kryptografický kontrolní součet s pevnou délkou pro variabilně velké zprávy.
- Malý blok generovaný pomocí blokové šifry nebo hashovací funkce.
- Poskytuje integritu a autentizaci
![Message Authentication Code příklad](https://upload.wikimedia.org/wikipedia/commons/0/08/MAC.svg)
### Implementace MAC
#### Pomocí symetrické šifry pro MAC (DAA - Data Authentication Algorithm)
- Jakýkoliv mód blokové šifry se zřetězením může být aplikován a finální blok slouží jako MAC.
#### Pomocí hashovacích funkcí pro MAC (HMAC)
- Mac založené na hashovací funkci jsou žádoucí, jelikož hashovací funkce jsou obecně rychlejší a kód pro kryptografické hashovací funkce je široce dostupný.
- ```HMAC = Hash[(K+ XOR opad) || Hash[K+ XOR ipad || M]]```
- `K+` je klíč zarovnán nulami na požadovanou délku
- `opad`, `ipad` jsou specifické zarovnávací konstanty definovavé standardem.
- ![HMAC příklad](https://i.imgur.com/XJ65ntP.png)
### Autentizované šifrování
- Obyčejné šifrování poskytuje důvernost, ale ne integritu nebo autentizaci
- Výsledkem autentizovaného šifrování je šifrovaný text a jeho MAC
### Encrypt-then-MAC (or Encrypt-then-Authenticate)
* Zašifrovat plaintext, pak spočítat MAC nad šifrovaným textem a připojit to k šifrovanému textu (zahrnuje IV a šifrovací metodu)
- Integrita plaintextu a šifrovaného textu
- MAC neodhaluje žádné info o plaintextu (protože MAC je spočítán nad šifrovaným textem)
![Encrypt-then-MAC schéma](https://i.imgur.com/eYyvQ8E.png =300x)
### MAC-then-Encrypt (or Authenticate-then-Encrypt)
* Spočítat MAC nad plaintextem, připojit to k datům a pak celé zašifrovat
- Integrita plaintextu, ale ne šifrovaného textu (může být měněn)
- MAC neodhaluje žádné info o plaintextu (protože je šifrován)
![MAC-then-Encrypt schéma](https://i.imgur.com/GcGPVid.png =300x)
### Encrypt-and-MAC (or Encrypt-and-Authenticate)
* Spočítat MAC nad plaintextem, zašifrovat plaintext a pak připojit MAC na konec šifrovaného textu
- Integrita plaintextu, ale ne šifrovaného textu (může být měněn)
- MAC může odhalit informaci o plaintextu
![Encrypt-and-MAC](https://i.imgur.com/2WrMAqa.png =300x)
## Hybridní kryptosystémy
- Kombinace symetrické a asymetrické kryptografie
---
# 04 Útoky na kryptografické systémy a protokoly
## Útoky
- Offline Brute-force
- Dictionary
- Patterns - kombinace dictionary + bruteforce
- Rainbow tables - předpočítané hashe
**Jak se bránit?**
- Silná hesla
- Zvýšit cenu bruteforce:
- PBKDF2
- Scrypt: memory hard funkce
- Argon2: memory hard hash funkce
- Bcrypt: přidává implicitně salt k hashi
### Replay útok
- Útočník odchytí validní zprávu a jejím přeposláním přesvědčí poctivou stranu o její validitě, přestože byla použita v jiném kontextu, než pro který byla prvně vytvořena.
### Reflection útok
- Útočník použije cíl k tomu, aby authentizoval vlastní challenge.
- ![reflection attack](https://www.thesecuritybuddy.com/wordpress/bdr/uploads/2020/01/AuthenticationReflectionAttack_20.jpg.webp)
### Side channels útoky
- Neinvazivní útoky postranními kanály jsou založené na nedokonalosti fyzické impllementace kryptografických algoritmů. Získavají informace o uložených datech ze zdrojů, které nejsou primárně určeny ke komunikaci.
#### Časová analýza
- Využívá faktu, že čas operace závisí na zpracovávaných datech.
#### Diferenční power analýza
- Využívá statickou analýzu energetické spotřeby různých operací na různých vstupech.
### Oracle útoky
- Využívá padding zprávy. Možný u CBC modulu. Server leakuje informaci, jestli byl použitý padding správný, nebo ne.
### Microarchitectural útoky - Meltdown, Spectre
#### Cache Timing útoky
- Využívají časové rozdíly mezi přístupem k datům uloženým v mezipaměti a datům, která nejsou uložena v mezipaměti.
#### Meltdown a Spectre
- Využívají zranitelnosti moderních procesorů, které používají "speculative execution."
- **Meltdown**
- Dokáže přečíst data ze zabezpečené části paměti.
- Exploits speculative execution - procesor řeší oprávnění instrukce až potom co je vyhodnocená jako oprávněná, mezivýsledky ale zůstávají v cachi než se přepíšou.
- **Spectre**
- Dovoluje přečíst paměť v rámci sdílené virtuální paměti (např. jeden tab browseru přečte data druhého tabu).
## HW Ochrana citlivých dat
### Fido U2F tokens
- Autentizační tokeny, náhrada hesel tokenem s asymetrickým párem klíčů + challenge+response protokolem.
- ![](https://i.imgur.com/vSjDjUr.png)
### TPM - Trusted platform module
- Kryptografické SM, které jsou vevnitř/připojené k dalšímu zařízení.
- Používá se pro bezpečné vytváření a ukládání krypto klíčů, šifrování/dešifrování disku, source of trust, že OS a firmware nejsou změněny.
### Hardware Security modules (HSMs)
- Zařízení, které lze přidat do systému pro správu, generování a bezpečné ukládání kryptografických klíčů.
### Intel SGX
- Rozšíření architektury Intelu k zabezpečení SW.
- Poskytuje instrukce pro vytvoření izolovaného prostředí - Enklave, která má definované "trusted functions".
### Smartcards
- Navrhnuto tak, aby bylo nejvíce bezpečné, levné a přenosné.
- Primárně využívané v telekomunikacích jako SIM a finančním sektoru - bankovní karty, ePassports.
- **Fyzická ochrana karty**
- Tamper-evidence
- Tamper-resistance
- Tamper-response
#### Útoky na karty
- Invazivní, semi-invazivní
- Side-channel
- Logické
---
# 05 Řízení kybernetické bezpečnosti
## Computer Security Incident Response Team (CSIRT)
- CSIRT a CERT:
- kyberbezpečnostní týmy, které řeší bezpečnostní incidenty vzniklé v počítačových sítích, koordinují jejich řešení a snaží se jim předcházet.
- CERT je chráněno ochrannou známkou.
- Každý CSIRT má vytyčeny cíle činnosti, operáční hodiny, pole působnosti (síťový rozsah, doména, firma), kontaktní údaje a pod koho spadá
- V Česku jsou dva týmy na národní úrovni:
- Vládní CERT jako součást NÚKIB, který dohlíží na kritickou a významnou infrastrukturu
- Národní CSIRT.CZ, který je provozován sdružením CZ.NIC dle veřejnoprávní smlouvy a Zákona o kybernetické bezpečnosti. Dohlíží nad méně významnou infrastrukturou.
- CSIRT má koordinační roli, ne represivní.
### Řešení incidentů
- Podle toho, jestli je tým interní, nebo koordinační.
- ![Fáze řešení incidentu](https://i.imgur.com/VFGpxYg.png)
1. **Příjem hlášení**
2. **Registrace hlášení**
3. **Třízení události (Triage)**
- Ověření události
- Kompetentnost
- Kategorizace
- Priorita
- Přiřazení incidentu řešiteli
4. **Řešení incidentu**
5. **Uzavření incidentu**
6. **Post analýza**
### Upozornění a varování
- Informace o novém, probíhajícím nebo nedávném bezpečnostním útoku, chybě nebo zranitelnosti.
## Penetrační testování
- Provedení testu s cílem identifikovat zranitelnosti, které by mohly být přítomny v aktivu.
#### Základní typy penetračních testů
- **Pozice testera**
- Externí
- Interní
- **Množství informací o testovaném prostředí**
- Black-box
- White-box
- Gray-box
### Životní cyklus penetračního testování:
1. Plánování a průzkum
2. Skenování
3. Enumerace
4. Zisk přístupu
5. Závěrečná zpráva
## Honeypots
- Lákadlo pro potenciální záškodníky, které simuluje reálný počítačový systém.
- Nízko interakční vs. Vysoko interakční
- Výzkumné vs. produkční
## Monitorování bezpečnosti sítě
- Pasivní monitoring
- Wireshark, ntopng
- Aktivní monitoring
- Generování provozu navíc, jehož účelem je získat informace o zařízeních připojených v síti
- Ping, traceroute
### Analýza paketů
- Deep Packet Inspection
- Vysoké nároky na zdroje
### Analýza síťových toků
- Síťový tok: seskupení paketů, které mají stejnou základní pětici vlastností
- zdrojovou a cílovou IP
- zdrojový a cílový port
- typ protokolu
- Netflow/IPFIX
### Digitální forenzní vyšetřování
- Digitální forenzní analýza je proces použití vědecky zdůvodněných a ověřených metod zkoumání digitálních stop pro rozhodování státních orgánů (např. policie) a jiných právních subjektů pro účely právních úkonů.
- **Digitální stopa:**
- Forma důkazu o činnosti uživatele v digitálních světě.
- Logy, netflow, etc.
- Vlastnosti:
- Identifikace času
- Informační hodnota
- Životnost
- Zdroje digitálních stop:
- Integrované
- permanentní - HDD, SSD
- volatilní - RAM
- Externí
- Děrná páska, magnetická páska, CD/DVD, SD karty
- Vzdálené
- NAS, cloud, ...
- Při zajišťování postupovat od zdrojů, které mají časově omezenou životnost.
- Nutné vytvořit kopii (bitovou nebo logickou).
---
# 06 Právo ICT
## Základní pojmy
- **Kyberkriminalita:**
- **Cyber-enabled** - klasická kriminalita páchaná prostřednictvím ICT
- šíření protiprávního obsahu, porušení autorského práva, ...
- **Cyber-dependent** - kriminální chování, jehož cílem je ICT
- **Cyber-supported** - kriminalita, při níž došlo využítí ICT
- Např. někomu vyhrožuju v reálném životě a přes SMSky
- **Kyberbezpečnost** - Ochrana infrastruktury
- **Kyberobrana** - Obrana kybernetické suverenity státu, armáda a bezpečnostní složky
- **Kybernetický prostor** - digitální prostřední umožňující zpracování informací tvořené systémy a službami a sítěmi el. komunikací
- **Kritická informační infrastruktura** - prvek nebo systém prvků kritické infrastruktury a informační systémy v oblasti kybernetické bezpečnosti
## Směrnice o eletronickém obchodu
- ISP jsou odpovědni za obsah pouze pokud:
- Mere conduit - prostý přenos - sám ho iniciuje nebo změní obsah
- Caching - podobně jako u Mere conduit
- Hosting - pokud-li:
- Mohl vědět, že obsah informací je protiprávní
- Dozvěděl-li se prokazatelně o protiprávním obsahu a neučinil protiakci
- ISP není povinno
- Dohlížet na obsah přenášených informací
- Aktivně vyhledávat skutečnosti poukazující na protiprávnost
- ISP mají povinnost součinnosti při trestním vyšetřování
- Data retention: po dobu 6 měsíců ukládat provozní a lokalizační údaje
## Internetová jurisdikce
- Snaha o regulaci společenských vztahů vznikající v souvislosti s kontaktem lidské společnosti a internetu
- ICT systémy nejsou teritoriálně vymezené
- Určení jurisdikce stanovují mezinárodní úmluvy, nebo právo příslušného státu
## Ochrana autorských práv k softwaru
- Autorská práva je souborem automatických oprávnění, které náleží tvůrcům autorských děl:
- Práva osobností: právo rozhodnout o zveřejnění díla, právo osobovat si autorství a právo na nedotknutelnost díla
- Práva majetková: právo dílo užít (rozmnožovat, rozšiřovat, půjčovat, pronajímat, ...)
- Nositel autorských práv je vždy pouze **fyzická osoba**, která dílo vytvořila a těchto práv se nedá vzdát
- Autorská práva k software se např. nevztahují na pouhé myšlenky a principy
## Patentová ochrana softwaru
- Narozdíl od autorské ochranny, není automatická - patent musí být registrován a udržován
- Patentován není program, ale řešení
## Licencování softwaru
- Licence je právní nástroj, definován v rámci autorského zákona, který umožňuje používat nebo redistribuovat software. Je definována v rámci licenční smlouvy.
- **Proprietární**
- EULA
- **Open source**
- BSD, MIT, GPL
## Ochrana osobních údajů
- Osobní údaje jsou jakékoliv informace, které by mohli vést k identifikaci subjektu.
### GDPR
- Nařízení EU, které ukládá povinnosti firmám a definuje práva občanů v oblasti ochrany osobních údajů.
- Data subject
- Správce osobních údaje - odpovědný za zpracování osobních údajů
- Zpracovatel osobních údajů - zpracovává osobní údaje jménem správce
- Základní principy zpracování osobních údajů:
- Transparentnost
- Limitace účelem
- Minimalizace
- Přesnost
- Integrita a důvěrnost
- Práva uživatelů
- Právo být informován
- Právo být zapomenut
- Právo opravy
- Právo přístupu
## Zákon o kybernetické bezpečnosti
- Cílem je zvýšit bezpečnost kybernetického prostoru a kritické infrastruktury
- specifikuje bezpečnostní opatření a ukládá povinnost a rozsah bezpečnostních opatření správcům systémů kritické infrastruktury a významných informačních systémů
- Organizační opatření: řízení rizik, bezp. politika, ...
- Technické opatření: fyzická bezpečnost, deployment nástrojů, ...
- Specifikuje kybernetickou bezpečnostní událost a incident
- Specifikuje varování
- Specifikuje opatření
- Reaktivní a ochranná
- Národní CERT
- Pod CZ.NIC
- Bez nařizovacích a sankčních pravomocí
- Stará se především o poskytovatele služeb elektronických komunikací a správce významných sítí
- Vládní CERT
- NÚKIB
- stará se o ochranu kritické informační infrastruktury a významných informačních systémů
## Budapešťská úmluva - úmluva o počítačové kriminalitě
- V platnosti od 1.7.2004, 65 států k 2020
- Indie, Brazílie, Rusko ji odmítají
- První mezinárodní smlouva, která se snaží řešit internetovou a počítačovou kriminalitu
- Zaměřuje se na zlepšení vyšetřovacích technik a zvýšení spolupráce mezi národy
- Sjednocuje defici kyberzločinů ale nepokrývají zdaleka všechno