TrustedGrub, TPM a autoodemykání LUKS volume

Jenda

Re:TrustedGrub, TPM a autoodemykání LUKS volume
« Odpověď #15 kdy: 22. 12. 2016, 23:55:21 »
Zajímalo by mě to z pohledu útočníka. Napadá mě několik možností:

1) Coldboot na RAM. Díky automatickému odemykání mám nekonečně mnoho pokusů, takže nevadí, že se to občas nepovede. Pravděpodobně si ve stroji můžu i vyměnit paměťové moduly za svoje, protože se ví, že u některých značek/modelů jde coldboot udělat snáze než u jiných. V krajním případě si můžu vyrobit modul, který má přepínač, který ho přepojí na externí napájení a externí refresh a pak si ho můžu v klidu vyčítat jak dlouho chci. Protože RAMky jsou AFAIK identifikovatelné jenom pomocí onboard I2C flashky, po jejím přepisu systém ani nemá jak poznat, že se něco změnilo.

2) Jak TPM ověřuje, že ten hash je skutečně hash věcí v paměti? Přes jakou sběrnici to komunikuje s CPU/RAM? Jak dobře se dá tato komunikace sniffovat a podvrhnout?


Re:TrustedGrub, TPM a autoodemykání LUKS volume
« Odpověď #16 kdy: 23. 12. 2016, 00:27:57 »
Stejne jako u Windows je i tohle reseni jen omezene bezpecne. :-) Microsofti k tomu maji pekny diagram na https://technet.microsoft.com/en-us/library/ee706531(v=ws.10).aspx.

Zjednodusene:
1) je to samozrejme nachylne na cold boot attack a tam, kde jsou dost citliva data, je tohle pouziti samozrejme nedostacujici. Paranoici necht zustanou u rucniho zadavani hesla a duvere v to, ze jim dabelska pokojska nepodvrhla initrd.
2) Dal se da TPM teoreticky odposlechnout (je pripojen pres LPC https://en.m.wikipedia.org/wiki/Low_Pin_Count). To se dela hur tam, kde je TPM primo na desce, ale jinak data poputuji po sbernici v cleartextu.
3) Je treba pohlidat, aby pouzivany initrd neskoncil NIKDY v shellu. Proc? No, pokud napr. prepisu LUKS header docasne nulami, selze odemykani. V takovem pripade by me system hodil do shellu, ve kterem si muzu data z tpm vycist. Debiani initramdisky v pripade, ze je kernelu pridan parametr panic=X, rovnou rebootuji a heslo k disku tak neni ohrozeno.
4) V bezicim systemu je treba provest alespon zakladni zabezpeceni (bezny uzivatel nesmi mit moznost cist data z NVRAM TPM; do systemu se nesmi prihlasit guest; a pod.)
5) Sitove sluzby toho taky muzou dost prozradit a dost dat vydat. Nabizi se moznost provest lockdown v okamziku, kdy bude system nabootovan na miste, ktere nebudu znat.

Jenda

Re:TrustedGrub, TPM a autoodemykání LUKS volume
« Odpověď #17 kdy: 23. 12. 2016, 00:48:15 »
2) Dal se da TPM teoreticky odposlechnout (je pripojen pres LPC https://en.m.wikipedia.org/wiki/Low_Pin_Count). To se dela hur tam, kde je TPM primo na desce, ale jinak data poputuji po sbernici v cleartextu.
Počkej, to jako fakt stačí jenom sniffnout? Sniffer na něco podobného jsem shodou okolností dělal minulý víkend, tady ta fotka je asi nejvýmluvnější - z kaptonu a mědi jsem vyrobil křidélko, na jednu stranu jsem připojil pin header a druhou stranu jsem napájel naprasáka přímo na nožičky čipu (jde to překvapivě snadno když už to člověk umí - doporučuji nejdřív natrénovat na nějakém tišťáku na vyhození). Zařízení kupodivu zůstalo funkční a po připojení logického analyzéru vidím co tam teče.

Re:TrustedGrub, TPM a autoodemykání LUKS volume
« Odpověď #18 kdy: 23. 12. 2016, 08:06:12 »
S tim sniffovanim je to hodne teoreticky utok. Praktickou realizaci se mi najit nepodarilo, takze bud to nikdo neumi, nebo je to tak slozity, ze to nikdo nedela. (Tady muzou byt tezsi a lehci realizace v zavislosti na tom, kde je TPM - krome samostatnyho odpojitelnyho modulu, mezi kterej a desku muzes zapojit relativne univerzalni odposlouchavaci elektroniku, muze byt tekzy az nerealizovatelny delat odposlech u TPM napajenyho na desce, a pak prakticky nemozny u firmwareTPM, ktery jsou soucasti Intel TXT a TPM je tudiz v procesoru.)
Neco malo materialu k utokum, ovsem bez dukazu, ze z toho nekomu tecou data v podobe, ktera by byla citelna:
https://online.tugraz.at/tug_online/voe_main2.getvolltext?pCurrPk=59565
https://securingtomorrow.mcafee.com/business/security-connected/tpm-undressed/

Jenda

Re:TrustedGrub, TPM a autoodemykání LUKS volume
« Odpověď #19 kdy: 23. 12. 2016, 17:31:40 »
muze byt tekzy az nerealizovatelny delat odposlech u TPM napajenyho na desce

Ano, taky mě zarazilo, kolika odborníkům na software moc nejde pájení a elektronika :)

Osobně si troufnu tvrdit, že bych zvládl takovýto sniffer i na BGA (odpájet, připájet na vlastní desku, vložit „proxy“), jen by holt hardware nestál pade, ale litr.

Pokud by ale TPM umělo nějaký DH nebo ještě lépe kdyby v procesoru byl klíč, kterým se autentizuje, tak data na sběrnici samozřejmě budou k ničemu.

a pak prakticky nemozny u firmwareTPM, ktery jsou soucasti Intel TXT a TPM je tudiz v procesoru.)
Samozřejmě.

Ale furt si myslím, že ten cold boot by měl jít. Teď chtěli šifrovat obsah RAMky, ale zatím se to myslím nepoužívá.


Re:TrustedGrub, TPM a autoodemykání LUKS volume
« Odpověď #20 kdy: 23. 12. 2016, 18:04:37 »
Cold boot nebo zneuziti DMA pomoci firewire a pod. jsou utoky, proti kterym pomuze jen uplne jina uroven zabezpeceni.

Jenda

Re:TrustedGrub, TPM a autoodemykání LUKS volume
« Odpověď #21 kdy: 23. 12. 2016, 19:18:20 »
Cold boot nebo zneuziti DMA pomoci firewire a pod. jsou utoky, proti kterym pomuze jen uplne jina uroven zabezpeceni.
Rozdíl je v tom, že při použití normálního šifrování musí útočník dostat spuštěný počítač. Když se klíč tahá automaticky z TPM, stačí mu počítač vypnutý a má spoustu času si útok připravit a má spoustu pokusů.

Martin

Re:TrustedGrub, TPM a autoodemykání LUKS volume
« Odpověď #22 kdy: 15. 02. 2017, 15:30:49 »
Radku díky za dobrou práci! Právě řeším úkol, kde potřebuji totéž, co jsi vyřešil. Jsem systémák, ale těžko bych úspěšně programoval. Díky moc.

Re:TrustedGrub, TPM a autoodemykání LUKS volume
« Odpověď #23 kdy: 15. 02. 2017, 20:45:47 »
Neni zac :-)
Moc jsem tam toho nenaprogramoval a zatim je to porad spis alfaverze.
Nedavno jsem mel problem s UEFI na novem Dell XPS, pocital jinak hash pro PCR[5] a jeste jsem se nedostal k hlubsi analyze, jak (jen tusim). Takze pokud byste na to nekdo narazil, doporucuju vypnout sealing na PCR[5] v /etc/tpm-luks.conf.

EDIT: a taky se to nema uplne rado s disky jinde nez na /dev/sd* (tzn. treba /dev/vda prip. /dev/nvm*). Opet mam nejakou alfa opravu, ale hardware s NVMe diskem jsem vratil...
« Poslední změna: 15. 02. 2017, 20:47:50 od Radek Zajíc »

Jamie

Re:TrustedGrub, TPM a autoodemykání LUKS volume
« Odpověď #24 kdy: 20. 02. 2017, 15:37:56 »
Pokud se juknu na stránky microsoftu, co jsi tu dal, tak tam píšou:
Citace
TPM only
The TPM validates early boot components. When using a TPM, this is the least secure unlock method for operating system drives.
Recommended for computers in a physically secure location and for situations where unattended restart is required, such as when Wake On LAN solutions are used or for servers in remote locations.
Takže je to pro tvůj případ, kde k počítači má přístup uklízečka, nevhodné.

Lol Phirae

Re:TrustedGrub, TPM a autoodemykání LUKS volume
« Odpověď #25 kdy: 20. 02. 2017, 15:56:49 »
Takže je to pro tvůj případ, kde k počítači má přístup uklízečka, nevhodné.

No vidíš, to nás pitomce napadlo hned, ale jinak si holt každý tou metodou slepých uliček musí projít sám, no...

nobody(ten pravej)

Re:TrustedGrub, TPM a autoodemykání LUKS volume
« Odpověď #26 kdy: 20. 02. 2017, 18:53:34 »
Takže je to pro tvůj případ, kde k počítači má přístup uklízečka, nevhodné.

No vidíš, to nás pitomce napadlo hned, ale jinak si holt každý tou metodou slepých uliček musí projít sám, no...

souhlasim jen s polovickou a to ze jste pitomci ;) dejme si 2 situace:

1. myslenka vlakna: uklizecka zapne pc, samo se odemkne LUKS z TPM a nabehne do login screen

2. bez TPM unlock: uklizecka prijde k jiz zapnutemu PC s rucne odemknutej LUKS a kouka do login screenu

rozdil mezi situaci 1 a 2 neni z bezpecnostniho hlediska zadny v pripade ze PC bezi, pouze pokud nebezi se muzeme bavit o tom ze by mohla v situaci 1 teoreticky vyuzit prubehu nezabezpeceneho startovani, ale pouze na tom konkretnim HW a bez zmeny v konfiguraci protoze z TPM se LUKS odemkne jen kdyz sedi HW otisk...

Lol Phirae

Re:TrustedGrub, TPM a autoodemykání LUKS volume
« Odpověď #27 kdy: 20. 02. 2017, 19:54:20 »
Ano, jak správně píšeš, zabezpečili jsme velké hovno, zato jsme výrazně zvýšili nebezpečí ztráty dat. Noooo a to se wopravdu wyplatí!!!

 ;D ;D ;D

nobody(ten pravej)

Re:TrustedGrub, TPM a autoodemykání LUKS volume
« Odpověď #28 kdy: 20. 02. 2017, 20:12:35 »
Ano, jak správně píšeš, zabezpečili jsme velké hovno, zato jsme výrazně zvýšili nebezpečí ztráty dat. Noooo a to se wopravdu wyplatí!!!  ;D ;D ;D

mluv za sebe, ty zabezpecis velke hovno... a druhe si jeste s nadsenim rozpatlas po xichte a radostne se nad tim tlemis... ;) clovek co se nechova jako pitomec chape moznosti a okolnosti ktere s tim souvisi a ktere musi poresit...

Lol Phirae

Re:TrustedGrub, TPM a autoodemykání LUKS volume
« Odpověď #29 kdy: 20. 02. 2017, 20:16:38 »
Ano, opravdu nechápu úžasné "možnosti" "šifrování", které se samo rozšifruje. Jsem prostě blbec, no.