4SA313 - Bezpečnost informačních systémů
Náplň kurzu/cvičení
Na bis.vse.cz najdete:
Představení
1. cvičení – cíle
Útoky na hesla
Lámání hašů hesel
Lámání hašů hesel (cracking)
Entropie hesel
Možnosti uložení hesel
Možnosti uložení hesel
Uložení hesel
Varianty uložení hesel
PBKDF2 – ukládání hesel, gen. klíčů
Entropie uživateli vytvářených hesel
Entropie uživateli vytvářených hesel
Časový průběh lámání hašů
332.48K
Category: informaticsinformatics

4SA313 - Bezpečnost informačních systémů

1. 4SA313 - Bezpečnost informačních systémů

4SA313 Bezpečnost
informačních
systémů
1. cvičení

2. Náplň kurzu/cvičení

● šifrování (cryptography), certifikáty, …
● řízení přístupu (access control), identifikace,
autentizace, autorizace, modely řízení
přístupu,
jen přednášky
● bezpečnostní architektura, bezpečnostní
modely,
● fyzická bezpečnost, UPS, klimatizace,
vstupní systémy, kamery,

3. Na bis.vse.cz najdete:


co v kurzu nebude
zadání semestrální práce
obsah cvičení
popis průběžných testů

4. Představení

Ing. Luboš Pavlíček
[email protected]
konzultační hodiny:
pá16:15 – 17:15 SB M10
dle předchozí dohody

5. 1. cvičení – cíle

1. útoky na hesla
2. entropie hesel, lámání hašů hesel
(cracking)
3. kolize, narozeninový paradox,
MV
9T
3/b
Ia.
urE
7Jq/
U
n
z
F
/m
Rh/9k
j
h
K
0
0
R59m
D
R
B
6CO
U
n
2
N
t7QvX
B
V
k
X
TNF$
w
h
Q
v
C
$5$Kq
$1$IBeMfh8L$AukZtevOzkjG.CiZA6NfE/
$6$L.jxrCl0LX1s211u$TyCW21uHZEcVR8/4v777oETROXjUMXfQiAT0lzbvu8WzIZh5R
84BnwOTIx0tOcxYjTvMv4xTs4rr1Vd6HJjj1.

6. Útoky na hesla

• zcizení hesel uložených
v úložišti (na disku, v databázi),
odchycení na síti,
hádání hesel,
sledování osoby, sociální inženýrství,
rychlost:
- lámání,
- hádání,
- sociálního inženýrství
Lámání hašů
hesel

7. Lámání hašů hesel

• metody:
o hrubou silou – vyzkouší se všechny kombinace,
o rainbow tables,
pro hesla vytvářená
o slovník + pravidla,
uživateli
• za jak dlouho útočník zjistí heslo (hesla)?
o za jak dlouho zjistí jedno libovolné heslo,
o za jak dlouho zjistí všechna hesla,
o za jak dlouho zjistí jedno konkrétní heslo.

8. Lámání hašů hesel (cracking)

• https://crackstation.net/
• předpočítané tabulky
o rainbow tables,
o https://www.freerainbowtables.com/
• použití GPU, FPGA a ASIC technologií
• software
o
o
o
o
o
Life Inside a Secret
John the Ripper
Chinese Bitcoin Mine
Cain and Abel
Oclhashcat (AMD GPU), cudahashcat (NVIDIA GPU)
Elcomsoft Password Recovery Bundle
Passware Kit Forensic

9. Entropie hesel

• Entropie měří množství informace ve zprávě,
• Pokud heslo vznikne náhodným výběrem L
symbolů z množiny o velikosti N, lze entropii H
spočítat pomocí:
H = log2 NL = L * log2 N
• PIN ze čtyř náhodně vybraných číslic bude mít
entropii:
log2 104 = 13.29 bit
Náhodně generovaná hesla
měří se pomocí log2 a udává se v bitech.

10.

Možnosti uložení hesel
Uložení v čitelné podobě (databáze vzácně, zdrojové kódy,
konfigurační soubory a skripty bohužel běžně).
Uložení verifikátoru hesla namísto hesla. Verifikátor je
jednosměrně odvozená hodnota z hesla (haš). Pro výpočet
verifikátoru často používáme hašovací funkce.
Prostá haš hesla je zranitelná na útoky pomocí rainbow tables =>
solení hesla.
Sůl je náhodná hodnota přidaná k heslu. Solíme celou databázi
anebo každé heslo zvlášť?
Solení omezí útoky pomocí tabulek, ale neomezí rychlost zkoušení
jednoho hesla => nutno výpočet verifikátoru zesložitit:
o vysokou časovou složitostí => PBKDF2, Bcrypt
o vysokou paměťovou složitostí => scrypt

11. Možnosti uložení hesel


Uložení v čitelné podobě (databáze vzácně, zdrojové kódy,
konfigurační soubory a skripty bohužel běžně).
Uložení verifikátoru hesla namísto hesla. Verifikátor je
jednosměrně odvozená hodnota z hesla (haš). Pro výpočet
verifikátoru často používáme hašovací funkce.
Prostá haš hesla je zranitelná na útoky pomocí rainbow tables =>
solení hesla.
Sůl je náhodná hodnota přidaná k heslu. Solíme celou databázi
„Pokud jde o generování hesla, tak aktuálně
anebo každé heslo zvlášť?
v databázi heslo není uloženo vůbec, je tam
Solení omezí útoky pomocí
tabulek,
aleheslo
neomezí
rychlost
zkoušení
funkce,
která
počítá
z uživatelského
jednoho hesla => nutno výpočet
zesložitit:
jména, verifikátoru
což vede k tomu,
že heslo je stále
o vysokou časovou složitostí => PBKDF2, Bcrypt
stejné.“
o vysokou paměťovou složitostí => scrypt
systém pro stovky až tisíce uživatelů ze září 2016
odpověď na dotaz jak změnit heslo

12. Možnosti uložení hesel

Uložení hesel
• původní šifrování hesel v OS UNIX (crypt):
Heslo
Sůl
(Base64)
Haš hesla
heslo
Qi
QiRdV511osUbQ
heslo
ZC
ZCFk57ntsGFz.
tajne
ZC
ZCDtGsWTWphdU

13. Uložení hesel

Varianty uložení hesel
Typ
Algoritmus Solení
Počet iterací
Poznámka
crypt
DES
Ano
délka 12 bitů
25
UNIX,
MD5crypt
MD5
Ano
až 8 znaků
1000
UNIX,
$1$sůl$haš
bcrypt
Blowfish
Ano
proměnlivý, udává se
UNIX,
jako mocnitel,
$2a$iterací$sůl$haš
výchozí je 5 (25 iterací)
sha256crypt SHA256
Ano
až 16 znaků
5000, lze zadat
UNIX,
$5$sůl$haš
sha512crypt SHA512
Ano
až 16 znaků
5000, lze zadat
UNIX,
$6$sůl$haš
LM hash
DES
Ne
1
Windows
NT hash
MD4
Ne
(na síti ano)
1
Windows
scrypt
scrypt
Ano
Proměnlivý
(CPU/Memory cost)
Individuální

14. Varianty uložení hesel

PBKDF2 – ukládání hesel, gen. klíčů
Pasword-Based Key Derivation Function 2
Definována v PKCS #5 / RFC 2898
Klíč = PBKDF2(PRF, Password, Salt, c, dkLen)
PRF je pseudonáhodná
funkce – často klíčovaný
haš (HMAC) s hašovací
funckí MD5, SHA1, SHA256, SHA-512, ...
dkLen – požadovaná délka
výsledného klíče
WPA2 = PBKDF2(HMAC-SHA1,

15. PBKDF2 – ukládání hesel, gen. klíčů

Entropie uživateli vytvářených hesel
• četnost malých písmen anglické abecedy v
Hesla vytvářená uživateli
databázi hesel RockYou:

16. Entropie uživateli vytvářených hesel

• NIST 802-63:
o
o
o
o
o
za 1. znak se počítají 4 bity,
za 2. – 8. znak se počítají 2 bity (za každý),
za 9. – 20. znak se počítá 1,5 bitu,
za 21. – ... znak se počítá jeden bit,
bonus 6 bitů, pokud musí být minimálně 1 malé
písmeno, minimálně 1 velké písmeno a minimálně 1
nepísmenný znak,
o bonus 6 bitů, pokud má heslo méně než 20 znaků a
provádí se kontrola navržených hesel vůči slovníku.

17. Entropie uživateli vytvářených hesel

Časový průběh lámání hašů

18. Časový průběh lámání hašů

Kolize – Narozeninový paradox
Kolize 1. řádu – dva nějaké (= nemohu si vybrat, jaké)
různé vzory (= 2 lidé na cvičení) mají stejnou haš
(= stejný den narozenin v roce).
Kolize 2. řádu – dva mnou vybrané vzory mají stejnou
haš.
English     Русский Rules