Bezpečnost hesel

Jak získat heslo jiného uživatele eduroam? To je otázka, kterou řešíme v tomto článku, neboť slabé hašování uložených hesel není jediným problémem bezpečnosti hesel v eduroam.Následující diagram znázorňuje 11 různých způsobů, jak získat cizí heslo do eduroam.

Jednotlivé varianty podrobněji rozebereme.

  1. Nastavení hesla, stanice uživatele
  2. Nastavení hesla, odchycení na síti
  3. Nastavení hesla, odchycení na eduroam.vse.cz
  4. Odchycení při přenosu mezi servery
  5. Zcizení z databáze
  6. Autentizační servery (RADIUS)
  7. Přihlášování – odchycení na síti
  8. Zcizení ze zařízení uživatele
  9. Hádání hesla
  10. Podvržený přístupový bod a autentizační server
  11. Získání od uživatele, útoky na uživatele
  12. Hesla v log souborech

1. Nastavení hesla, stanice uživatele

Popis

Při nastavování či změně hesla zadáváte toto nové heslo ze svého zařízení – z počítače, z mobilu. Heslo můžete nastavovat i na cizích počítačích – na počítačových učebnách, na počítači rodičů.

Bezpečnostní hrozby
  • někdo může sledovat Vaši klávesnici či obrazovku a takto zjistit Vaše heslo
  • počítač může být zavirován, může být nainstalován keylogger – útočník takto může získat zadávané heslo
  • zadáváte heslo na podvodné stránce – obvykle je to součást phishingového útoku
Možnosti ochrany

Opatření proti těmto rizikům jsou na bedrech uživatele.

  • Při nastavování hesla buďte obezřetní, zkontrolujte si, zda Vás někdo úmyslně nepozoruje.
  • Svá zařízení udržujte bezpečná – pravidelně aktualizovaný operační systém i další programy, antivirový program, neinstalujte aplikace z různých pokoutních míst.
  • Při nastavování hesla si v adresní řádce prohlížeče zkontrolujte, že jste na serveru eduroam.vse.cz.
Poznámky

Při nastavování hesla pro eduroam uživatel zadává i heslo do školní sítě. I toto heslo může útočník zcizit, ale není to předmětem této analýzy.

Je možné přenést část opatření na správce eduroam, např. že by se heslo do eduroam mohlo nastavit pouze na školních počítačích. Ale přínos v bezpečnosti je výrazně menší než zhoršení použitelnosti služby pro uživatele.

2. Nastavení hesla, odchycení na síti

Popis

Nové heslo zadáváte na webu eduroam.vse.cz. Komunikace mezi Vašim zařízením a serverem eduroam je v zašifrovaném kanálu (TLS, https), uvnitř se heslo přenáší nešifrovaně.

Bezpečnostní hrozby
  • Nedostatečná úroveň zašifrování TLS spojení. Útočník se může aktivně snažit ovlivnit parametry spojení (např. horší šifry). Útočník může ukládat zašifrované spojení a doufat, že v budoucnu získá privátní klíče (tzv. Forward Secrecy).
  • Útok man-in-the-middle (MitM). Útočník se snaží odposlouchávat komunikaci mezi zařízením a serverem eduroam.vse.cz tak, že se stane aktivní prostředníkem (komunikace jde přes něho). Pro tyto útoky existují nástroje – SSLstrip, BetterCap a další.
Možnosti ochrany

Většinu opatření zajišťuje správce serveru eduroam.vse.cz, na ochraně proti útoku MitM se podílí i uživatel.

  • Na serveru eduroam.vse.cz jsou nastaveny bezpečnostní parametry dle doporučení Intermedia compatibility, což zajišťuje dostatečnou bezpečnost s ohledem na starší zařízení. V testu na SSLlabs má eduroam.vse.cz hodnocení A+. Není možný „Donwgrade attack“, se slabými šiframi se klient nepřihlásí. Naprostá většina klientů se připojí s Forward secrecy bezpečnými algoritmy.
  • Základní ochranu proti sofistikovanějším útokům Man in the Middle zajišťuje hlavička HTTP Strict Transport Security (HSTS), která je na eduroam.vse.cz. Většina moderních prohlížečů této hlavičce rozumí. Útočník má dvě základní možnosti, jak tuto ochranu překonat. V první nainstaluje předem na zařízení uživatele svůj certifikát či aplikaci – udržujte svá zařízení v bezpečí. Ve druhé variantě se uživateli zobrazí upozornění buď na nezašifrované spojení nebo se zobrazí upozornění na neplatný certifikát.
Poznámky

O kvalitě zabezpečení serveru eduroam.vse.cz se můžete přesvědčit pomocí on-line testů:

3. Nastavení hesla, odchycení na eduroam.vse.cz

Popis

Aplikace pro nastavování hesla se dozví nové heslo pro eduroam, zahašuje ho a poté uloží do databáze. Útočník může ovlivnit vlastní aplikaci, může se snažit získat přístup na vlastní server eduroam.vse.cz.

Bezpečnostní hrozby
  • Vzdálené ovlivnění aplikace, útoky:
    • SQL injection – útočník se snaží získat hesla uložená v databázi
    • únos spojení – útočník získá session cookie a poté nastaví své heslo či do zobrazené webové stránky doplní vlastní kód, např. pro odeslání zadaného hesla na svůj server (XSS útok),
  • Útočník získá přístup na server eduroam.vse.cz. Poté má více možností útoků:
    • může upravit aplikaci pro nastavování hesel – např. si hesla bude ukládat i do souboru či posílat na svůj server
    • získá přístupové údaje do DB a může se snažit získat hesla všech uživatelů
Možnosti ochrany

Obrana pro ovlivnění aplikace:

  • Aplikace používá ZendFramework, který poskytuje více ochranných prvků proti SQL Injection či únosu session. V aplikaci se kontrolují vstupní parametry, používají se SQL prepare statements.
  • Aplikace pro změnu hesel je malá, přihlašovací údaje i nové heslo se posílají v jednom požadavku. Nebezpečí únos spojení je proto minimální. Hrozbou zůstává podvodná stránka, která by aplikaci pro změnu hesla měla jako iframe. Zde obrana opět závisí na pozornosti uživatele.

Obrana proti průniku na server:

  • Pro eduroam.vse.cz je samostatný virtuální server. Na serveru není žádná další aplikace, jejíž slabina by umožnila získání přístupu na serveru.
  • Na server se mohou hlásit pouze správci eduroam na VŠE pomocí SSH. Je povoleno pouze přihlašování pomocí klíčů.
  • Zabezpečení virtualizační platformy je mimo rozsah tohoto textu.
  • Bezpečnost záloh serveru – server není zálohován. Server se konfiguruje pomocí skriptů pro ansible. V konfiguraci jsou uloženy i citlivé údaje (hesla, privátní klíče) – jsou zašifrovány pomocí gpg. Server eduroam.vse.cz slouží „pouze“ pro nastavení hesel, několikahodinový výpadek nezpůsobí sice může několik uživatelů omezit, ale neohrozí vlastní funkčnost WiFi eduroam.

Detekce a minimalizace možných škod při úspěšném průniku na server:

  • Detekce průniku útočníka na server – ad-hoc, není systematická (automatizovaná) detekce
  • Na eduroam.vse.cz není umístěna databáze s hesly, což výrazně omezuje možnosti získat haše hesel všech uživatelů.
  • Minimalizace práv do databáze. Aplikace pro nastavení hesel nemá oprávnění číst uložená hesla. Útočník se získanými přístupovými údaji do databáze může změnit všem uživatelům heslo, nemůže ho si ale přečíst již uložené haše hesel a ty poté lámat.
Poznámky

Uvedené útoky vedou i ke zcizení přístupových údajů ke školnímu účtu.

Úspěšný útok umožní útočníkovi též změnit heslo uživatele.

Existuje ještě další skupina útoků na odepření služby (Denial of service). Poté se uživatelům nepodaří nastavit/změnit heslo.

4. Odchycení při přenosu mezi servery

Popis

Webová aplikace při nastavování hesel komunikuje s centrální databází přes síť. Heslo se přenáší v zahašovaném tvaru. Při změně hesla v centrální databázi se haš hesla zreplikuje přes síť na jednotlivé autentizační (RADIUS) servery. Útočník by mohl na síti odchytávat haše hesel.

Bezpečnostní hrozby

Servery máme umístěny v datových centrech, které jsou propojeny optickými vlákny. Pro odchycení síťového provozu by se útočník musel dostat do těchto datových center a umístit vhodné prvky (optical TAP a monitorovací zařízení).

Útočník poté může odchytit přihlašovací údaje k mysql databázi. Získání vlastního hesla není jednoduché další komunikaci, která obsahuje též haše uživatelských hesel.

Možnosti ochrany

Ochrana před neoprávněným přístupem do datových center:

  • Přístup do datových center mají pouze oprávněné osoby za použití identifikačních karet. Ke zvážení je vícefaktorová autentizace, např. kombinace identifikační karty a PINu.
  • Prostory jsou monitorovány kamerovým systémem se záznamem.

Minimalizace škod při odchycení komunikace:

  • Zašifrovaní síťové komunikace pomocí TLS prakticky eliminuje možnost dešifrování odchycené síťové komunikace.
  • Náhodná 12 znaková hesla používaná v přihlašovacích údajích k databázi prakticky eliminují možnost úspěšného získání hesla z odchycených údajů a to i v případě nešifrované komunikace. (Na základě odhadovaných možností NSA by tato agentura náhodné 12 znakové heslo z malých, velkých písmen a číslic získala z odchycených přihlašovacích údajů přibližně za 2 roky).
Poznámky

Pokud se útočník dostane do datového centra, tak může zcizit disky z autentizačních serverů a získat haše všech uživatelů (viz následující bod). Ale to by znamenalo výpadek služby. Síťový odposlech je pasivní, takže se delší dobu nemusí zjistit.

5. Zcizení z databáze

Popis

Dalším cílem útočníka může být databáze s uloženými haši uživatelských hesel. Databáze je na primárním serveru, repliky na jednotlivých autentizačních serverech.

Bezpečnostní hrozby

Existuje několik scénářů, jak by se útočník mohl dostat k obsahu databáze na primárním serveru či na replikách.

  • Útočník se pokusí získat fyzické disk(y), na kterém je uložena databáze s hesly.
  • Útočník se pokusí získat takový přístup do prostředí VMware, který mu umožní získat kopií disků.
  • Útočník získá takový přístup na server, který mu umožní zkopírovat data z disku.
  • Útočník získá takový přístup do databáze, který mu umožní zkopírovat obsah příslušných tabulek.
  • Útočník získá přístup k zálohám serverů či databází.
Možnosti ochrany

Servery a disky jsou umístěny v datových centrech, ochrana přístupu do datového centra k fyzickým zařízením je popsána v kapitole 4.

Obrana proti průniku na databázový server:

  • Server s databází je samostatný virtuální server. Zabezpečení virtualizační platformy je mimo rozsah tohoto textu.
  • Na server se mohou hlásit pouze správci eduroam na VŠE pomocí SSH. Je povoleno pouze přihlašování pomocí klíčů.

Obrana před neoprávněným přístupem do databáze

  • aplikace a uživatelé mají v databázi minimální práva,
  • přístup k databázi je povolen pouze z vybraných IP adres,
Poznámky

6. Autentizační servery (RADIUS)

Popis

Hesla lze získat i z autentizačních serverů, na kterých je replika databáze. Dalším cílem může být vlastní aplikace pro autentizaci – FreeRADIUS server.

Bezpečnostní hrozby

Útoky na servery a databázi jsou stejné jako u databázového serveru v bodě 5.

V úvahu přichází následující útoky na FreeRADIUS:

  • útočník se dostane na server a změní konfiguraci serveru – např. detailní logování včetně hašů hesel,
  • chyba v aplikaci umožní přístup na server či získání údajů z ověřování jiného uživatele.
Možnosti ochrany

Obrana proti průniku na autentizační servery:

  • Autentizační servery jsou samostatné virtuální servery. Zabezpečení virtualizační platformy je mimo rozsah tohoto textu.
  • Na autentizačních serverech není žádná další aplikace, jejíž slabina by umožnila získání přístupu na serveru.
  • Na servery se mohou hlásit pouze správci eduroam na VŠE pomocí SSH. Je povoleno přihlašování pouze pomocí klíčů.

Zajištění dostupnosti autentizačních služeb, bezpečnost záloh.

  • Větší počet stejných autentizačních serverů zajišťuje dostupnost služby pro případ plánovaného či neplánovaného výpadku některého z nich. Autentizační servery jsou umístěny v různých datových centrech, aby výpadek některého datového centra nezpůsobil nedostupnost Wi-Fi eduroam.
  • Bezpečnost záloh serverů – servery nejsou zálohovány. Servery se konfigurují pomocí skriptů pro ansible. V konfiguraci jsou uloženy i citlivé údaje (hesla, privátní klíče) – jsou zašifrovány pomocí gpg. Vlastní údaje se získávají přes replikaci z centrální databáze.

Obrana před útoky na autentizační servery:

  • Používání aktuální verze aplikace FreeRADIUS.
  • Ochrana před přístupem na serveru a úpravami konfigurace.
  • Testování konfigurace autentizačních serverů. Část testů provádí správci národní federace eduroam, dále jsme si vytvořili přes 40 vlastních testů.
Poznámky

7. Přihlášení – odchycení na síti

…TODO

Popis
Bezpečnostní hrozby
Možnosti ochrany
Poznámky

8. Zcizení ze zařízení uživatele

…TODO

Popis
Bezpečnostní hrozby
Možnosti ochrany
Poznámky

9. Hádání hesla

…TODO

Popis
Bezpečnostní hrozby
Možnosti ochrany
Poznámky

10. Podvržený přístupový bod a autentizační server

…TODO

Popis
Bezpečnostní hrozby
Možnosti ochrany
Poznámky

11. Získání od uživatele, útoky na uživatele

…TODO

Popis
Bezpečnostní hrozby
Možnosti ochrany
Poznámky

12. Hesla v log souborech

Popis

Radius servery a přístupové body (APčka) logují operace včetně zadaného jména uživatele. Pokud při přihlašování někdo omylem zadá své heslo jako uživatelské jméno, doplního ho na konec uživatelské jméno či heslo zadá do položky anonymní identita, tak se heslo uživatele objeví v logách. A protože uživatel obvykle svůj omyl opraví, tak lze snadno spojit zadané heslo s konkrétním uživatelem z následného úspěšného přihlášení ze stejného zařízení.

Jak je to časté? V únoru 2019 jsme dělali analýzu údajů z radius serverů za posledních 200 dní. Byly jsme schopni dohledat téměř 2% platných hesel.

Bezpečnostní hrozby
  • Správce radius serveru může v logách vidět hesla a přiřadit je ke konkrétní osobě. Toto je diskutabilní, neboť správce radius serveru má i další možnosti získat hesla, viz bod 6.
  • Správce přístupových bodů může v logách vidět hesla a přiřadit je ke konkrétní osobě. Správce přístupových bodů může být odlišný od správce radius serverů. To se týká hlavně situace, kdy uživatel nastavuje připojení k eduroam v cizí síti (např. na ČVUT).
  • Často se logy posílají na centrální místo. A zde se k nim mohou dostat další osoby či útočníci.
Možnosti ochrany

Primárním zdrojem této hrozby je nepozornost uživatelů při konfiguraci zařízení připojovaných do eduroam. Nelze ale reálně očekávat, že by se tyto omyly v budoucnu nestávaly.
Opatření na straně provozovatele:

  • Zabezpečit servery s logy proti nepovolenému přístupu.
  • Zpřístupnit logy pouze osobám, které je potřebují ke své činnosti. Tyto osoby by měli podepsat NDA.
  • Zkoušet lámat hesla do eduroam vůči údajům v logách. V případě úspěchu vynutit změnu hesla u uživatele.
Poznámky

Tato hrozba není na horním obrázku.

  • Autor: Luboš Pavlíček
  • Vytvořeno:
  • Poslední aktualizace: