abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 13:44 | Upozornění

    ČTK (Česká tisková kancelář) upozorňuje (X), že na jejím zpravodajském webu České noviny byly dnes dopoledne neznámým útočníkem umístěny dva smyšlené texty, které nepocházejí z její produkce. Jde o text s titulkem „BIS zabránila pokusu o atentát na nově zvoleného slovenského prezidenta Petra Pelligriniho“ a o údajné mimořádné prohlášení ministra Lipavského k témuž. Tyto dezinformace byly útočníky zveřejněny i s příslušnými notifikacemi v mobilní aplikaci Českých novin. ČTK ve svém zpravodajském servisu žádnou informaci v tomto znění nevydala.

    Ladislav Hagara | Komentářů: 3
    dnes 13:33 | Komunita

    Byla založena nadace Open Home Foundation zastřešující více než 240 projektů, standardů, ovladačů a knihoven (Home Assistant, ESPHome, Zigpy, Piper, Improv Wi-Fi, Wyoming, …) pro otevřenou chytrou domácnost s důrazem na soukromí, možnost výběru a udržitelnost.

    Ladislav Hagara | Komentářů: 0
    dnes 13:00 | Nová verze

    Společnost Meta otevírá svůj operační systém Meta Horizon OS pro headsety pro virtuální a rozšířenou realitu. Vedle Meta Quest se bude používat i v připravovaných headsetech od Asusu a Lenova.

    Ladislav Hagara | Komentářů: 0
    dnes 04:33 | IT novinky

    Společnost Espressif (ESP8266, ESP32, …) získala většinový podíl ve společnosti M5Stack, čímž posiluje ekosystém AIoT.

    Ladislav Hagara | Komentářů: 0
    včera 23:44 | Nová verze

    Byla vydána nová stabilní verze 3.5 svobodného multiplatformního softwaru pro editování a nahrávání zvukových souborů Audacity (Wikipedie). Přehled novinek také na YouTube. Nově lze využívat cloud (audio.com). Ke stažení je oficiální AppImage. Zatím starší verze Audacity lze instalovat také z Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    včera 16:44 | Zajímavý článek

    50 let operačního systému CP/M, článek na webu Computer History Museum věnovaný operačnímu systému CP/M. Gary Kildall z Digital Research jej vytvořil v roce 1974.

    Ladislav Hagara | Komentářů: 0
    včera 16:22 | Pozvánky

    Byl zveřejněn program a spuštěna registrace na letošní konferenci Prague PostgreSQL Developer Day, která se koná 4. a 5. června. Na programu jsou 4 workshopy a 8 přednášek na různá témata o PostgreSQL, od konfigurace a zálohování po využití pro AI a vector search. Stejně jako v předchozích letech se konference koná v prostorách FIT ČVUT v Praze.

    TomasVondra | Komentářů: 0
    včera 03:00 | IT novinky

    Po 48 letech Zilog končí s výrobou 8bitového mikroprocesoru Zilog Z80 (Z84C00 Z80). Mikroprocesor byl uveden na trh v červenci 1976. Poslední objednávky jsou přijímány do 14. června [pdf].

    Ladislav Hagara | Komentářů: 6
    včera 02:00 | IT novinky

    Ještě letos vyjde Kingdom Come: Deliverance II (YouTube), pokračování počítačové hry Kingdom Come: Deliverance (Wikipedie, ProtonDB Gold).

    Ladislav Hagara | Komentářů: 7
    21.4. 19:11 | Komunita

    Thunderbird 128, příští major verze naplánovaná na červenec, přijde s nativní podporou Exchange napsanou v Rustu.

    Ladislav Hagara | Komentářů: 28
    KDE Plasma 6
     (71%)
     (10%)
     (2%)
     (18%)
    Celkem 679 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Dotaz: FDE a TPM - od kdy šifrovat data?

    27.8.2019 07:19 Deryl | skóre: 11
    FDE a TPM - od kdy šifrovat data?
    Přečteno: 638×

    Ahoj,

    mám funkční Full Disk Encryption (LVM on LUKS) kromě /boot (samostatný nešifrovaný oddíl), odemyká se heslem při startu počítače.

    Jedná se o server běžící neustále, zadávání hesla je problém. Rád bych se vyhnul metodám:

    • získávání klíče po síti
    • z připojené USB flashky,
    • nutnost vzdáleného přihlášení (SSH) a ručního odemknutí šifrované části.

    Studuji tedy využití TPM 1.2 pro uložení klíčů. Pokud to dobře chápu, tak možnosti jsou:

    1. /boot zůstává nešifrován na samostatném oddíle (grub + kernel + initramfs). Nacpat vlastní "hooks" do initramfs (integrita biosu, bootloaderu, kernelu + initramfs) a je-li vše ok, odemknout LUKS a pokračovat ve bootování. Popsáno zde . Dnes by již mělo být možné použít GRUB 2.X namísto TrustedGRUB.
    2. /boot je součástí šifrovaného disku, ale je nutné zabalit jeho obsah do jedné binárky - uefi boot loaderu. Řekl bych, že z hlediska bezpečnosti to vypadá podobně jako bod 1. Popsáno zde.

    U obou jsou potíže s aktualizací bootloaderu, kernelu a initramfs (používám Arch Linux, na žádnou automatizaci jsem nenarazil).

    Neexistují ještě další postupy? Čistě paranoidně bych byl raději, kdyby ověření integrity proběhlo už v boot loaderu a kernel + initramfs by se načítal až z šifrovaného oddílu.


    Řešení dotazu:


    Odpovědi

    27.8.2019 08:46 Teddy_cz
    Rozbalit Rozbalit vše Re: FDE a TPM - od kdy šifrovat data?
    Zdravím,

    já používám dropbear což je malý SSH server. Při čekání na heslo se přihlásím pomocí SSH a toto heslo zadám. Pro přihlášení se použije SSH klíč. Po naběhnutí systému se dropbear vypne.
    27.8.2019 19:33 petr_p | skóre: 59 | blog: pb
    Rozbalit Rozbalit vše Re: FDE a TPM - od kdy šifrovat data?

    Mám pocit, že Grub2 podporuje jen TPM2.

    Psaní vlastního háčku do initramfs (pokud to už někdo neudělal), je nutnost. Ale v tom háčku vy žádnou integritu neměříte. To za vás udělá Grub. To, co v háčku budete dělat, že

    • buďto si necháte pomocí TPM dešifrovat heslo k LUKS, přičemž TPM to provede, pouze když obsah registrů< TPM bude stejný jako při zašifrování hesla,
    • nebo použijete obsah registrů PCR jako heslo k LUKS.

    Já osobně používám druhou možnost, protože je jednodušší.

    Dejte si ale pozor na to, kdo má přístup k TPM z korektně zavedeného systému. Registry TPM v Linuxu může číst kdokoliv, stačí ale chmod 0400 na patřičné soubory v sysfs. Jestli dešifrovat může kdokoliv, to netuším. Taky v druhém případě si dejte pozor, aby alespoň jeden registr měřil úplně vše od firmwaru až po initramfs. Jinak by útočník mohl pozměnit initramfs, a heslo k LUKS zkonstruovat jako zřetězení registrů, které initramfs neměří, a vypočítaných hodnot registrů, které initramfs měří, ale je znám jejich inicializační vektor.

    Ano, aktualizace měřených souborů je problém. Jakákoliv jejich změna vede ke znevěrohodnění systému a systém nenastartuje, protože nedokáže dešifrovat kořenový systém. To je ale zároveň požadovaná vlastnost.

    Já jádro měním vždy, když jsem fyzicky u stroje. V initramfs mám kód, který při selhání připojení kořene se zeptá na jiné heslo a po jeho zadání mi dá shell. Jiné heslo je v initramfs uložené jako otisk, takže přečtení initramfs ho neprozradí. Z shellu prostě odemknu LUKS dalším heslem, nechám boot doběhnout a po otestování nového jádra zaktualizuji slot v LUKS, který se pomocí TPM.

    28.8.2019 07:11 Deryl | skóre: 11
    Rozbalit Rozbalit vše Re: FDE a TPM - od kdy šifrovat data?

    Díky za užitečné poznámky. Jen doplním:

    • Grub2 2.04 podporuje TPM 1.2 i 2 (funguje mi pro v1.2, zaplní PCR 08 a 09). Umí 'measurements', ale neumí číst nvram (nebo to není dokumentováno).
    • TrustedGrub2 podporuje i příkazy pro manipulaci s TPM (asi jen v1.2) - tedy např. čtení nvram.  To bych mohl využít pro odemykání zašifrovaného /boot, ale vzhledem k tomu, že je 3 roky neudržovaný a nepodporuje UEFI boot, tak to asi nechám plavat.

    Dále:

    V initramfs mám kód, který při selhání připojení kořene se zeptá na jiné heslo a po jeho zadání mi dá shell. Jiné heslo je v initramfs uložené jako otisk, takže přečtení initramfs ho neprozradí. Z shellu prostě odemknu LUKS dalším heslem, nechám boot doběhnout a po otestování nového jádra zaktualizuji slot v LUKS,

    Není to zbytečně komplikované?

    Mám v plánu přidat do initramfs jen jeden hook - na přečtení klíče z TPM pro LUKS a jeho uložení do souboru. Existující hook 'sd-encrypt' podporuje otevření LUKS oddílu s paramatrem key-file, pokud klíč nenajde (nebo otevření selže), standardně se optá na heslo pro crypttab (na konsoli, vyzkoušeno). Tuším, že podobně by se mohl chovat i původní hook 'encrypt' (prostřednictvím konfigurace v /etc/crypttab).

    28.8.2019 19:48 petr_p | skóre: 59 | blog: pb
    Rozbalit Rozbalit vše Re: FDE a TPM - od kdy šifrovat data?
    Je to zbytečně komplikované. Ale já mám ještě vespod diskové pole, takže možnost zjistit, co se přesně rozbilo, je k nezaplacení.
    28.8.2019 07:39 Deryl | skóre: 11
    Rozbalit Rozbalit vše Re: FDE a TPM - od kdy šifrovat data?

    A ohledně aktualizace:

    • buďto si necháte pomocí TPM dešifrovat heslo k LUKS, přičemž TPM to provede, pouze když obsah registrů< TPM bude stejný jako při zašifrování hesla,

    Ten extra restart počítače při změně grub/kernel/... pro uložení klíče do TPM (seal) dost komplikuje automatizaci. Jedině, že bych jiný, dočasný, LUKS klíč uložil natvrdo do initramfs pro první restart a následně jej smazal a pro další restarty by se opět použil ten vytažený z TPM.

    • nebo použijete obsah registrů PCR jako heslo k LUKS.

    Lze dopředu zjistit, jaké budou hodnoty PCR, aniž bych restartoval počítač? (Po aktualizaci kernelu atd..) Tj. mohl bych vyjít z předpokladu že např. PCR 00 - 03 zůstane beze změny, ostatní až po PCR 09 už by nějaký prográmek mohl přepočítat. Tyto hodnoty bych pak uložil jako aktualizovaný klíč pro LUKS.

    28.8.2019 19:32 Deryl | skóre: 11
    Rozbalit Rozbalit vše Re: FDE a TPM - od kdy šifrovat data?

    Tak na toto si asi odpovím sám: nástroje nejsou, mohl bych si to sám naskriptovat podle measurement logu Grub2 (ale dle bug reportů se neloguje vše) a modlit se, že Grub2 nezmění metodiku. Asi bude snazší upgradovat jednou za čas, abych nemusel monitor a klávesnici nosit do sklepa moc často kvůli heslu na konsoli :-)

    30.8.2019 16:41 Deryl | skóre: 11
    Rozbalit Rozbalit vše Re: FDE a TPM - od kdy šifrovat data?

    Jenom doplním, že nejspíše zvolím variantu klíče uloženého v NVRAM.

    Mělo by to výhodu pro aktualizaci:

    • před restartem ponechám klíč v NVRAM, ale dočasne vypnu nutnost shody PCR se stavem při původním uložení ("seal" s nulovým heslem).
    • Restartuju, TPM vydá klíč "komukoliv".
    • Opět provedu "sealing", raději však nového, klíče na aktualizovaný stav PCR registrů.
    • Pomodlím se a restartuji. Když to nenaběhne, poběžím s LCD a klávesnicí do sklepa k serveru...
    k3dAR avatar 27.8.2019 19:52 k3dAR | skóre: 62
    Rozbalit Rozbalit vše Re: FDE a TPM - od kdy šifrovat data?
    z praxe LUKS+TPM neznam, pouze sem se parkrat zkousel chvili o tom neco najit, takze pridam jen 2 odkazy:
    https://www.linuxdays.cz/2017/video/Radek_Zajic-FDE_bez_zadavani_hesla.pdf
    https://github.com/zajdee/tpm-luks
    porad nemam telo, ale uz mam hlavu... nobody
    28.8.2019 06:32 Deryl | skóre: 11
    Rozbalit Rozbalit vše Re: FDE a TPM - od kdy šifrovat data?

    Díky. Čtu různé návody stále dokola, už to dává větší smysl.

    Našel jsem detailní diplomku.

    Josef Kufner avatar 28.8.2019 19:44 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: FDE a TPM - od kdy šifrovat data?
    Už jsem to tu párkrát psal, zahoď Grub, nainstaluj SicherBoot a nech si upéct EFI binárku s kernelem a initrd. Tu pak můžeš bootovat rovnou bez Grubu, ale SicherBoot ti nastaví i jednoduchý EFI bootloader. Pak /boot přesuň na šifrovaný oddíl a nech venku jen EFI oddíl s tou EFI binárkou. Na závěr si ještě vygeneruj vlastní klíče pro Secure Boot a zapni ho (SicherBoot ti řekne jak). Teprve poté, co nabootuješ něco aspoň trochu důvěryhodného, má smysl řešit klíče k LUKS.
    Hello world ! Segmentation fault (core dumped)
    28.8.2019 20:02 petr_p | skóre: 59 | blog: pb
    Rozbalit Rozbalit vše Re: FDE a TPM - od kdy šifrovat data?
    Jestli pán má UEFI (nenapsal), tak žádný zavaděč nepotřebuje. Kernel změří firmware. initramfs možná taky (UEFI stub v jádře načítá initramfs skrze služby UEFI a ty by mohly měřit všechno, co skrze ně projde). V opačném případě může přilepit initrmfs k obrazu jádra už při kompilaci (CONFIG_INITRAMFS_SOURCE).
    Josef Kufner avatar 28.8.2019 23:11 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: FDE a TPM - od kdy šifrovat data?
    Však píšu, že to jádro se zapečeným initrd jde bootovat rovnou. Potíž je v tom, že integrace efibootmgr není a různé počítače mají všelijak více či méně použitelné bootovací menu, takže ten bootloader se docela hodí. Navíc ten bootloader umí takové hezké věci, jako že když to nenabootuje, tak to zkusí ještě párkrát a pak automaticky nabootuje starší jádro (viz bootctl a systemd-boot). U serveru za devatero horami se to docela hodí.
    Hello world ! Segmentation fault (core dumped)
    k3dAR avatar 29.8.2019 01:28 k3dAR | skóre: 62
    Rozbalit Rozbalit vše Re: FDE a TPM - od kdy šifrovat data?
    + pridava si KeyTool na manipulaci s vlastnima klicema v/do EFI, umoznuje nastavit primo v Bootmenu vychozi polozku, timeout po ktery bue cekat nez ji pusti atd... jeste jednou diky za tip na sicherboot minule (na strojich kde mam SecureBoot uz sem na nej presel) :-)
    porad nemam telo, ale uz mam hlavu... nobody
    29.8.2019 07:35 Deryl | skóre: 11
    Rozbalit Rozbalit vše Re: FDE a TPM - od kdy šifrovat data?
    No, podívám se na to. Arch Linux snad má nějakou automatizaci při upgradu (znovupodepsání).
    Josef Kufner avatar 29.8.2019 08:35 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: FDE a TPM - od kdy šifrovat data?
    V Debianu to plně automatické je.
    Hello world ! Segmentation fault (core dumped)
    29.8.2019 12:13 Deryl | skóre: 11
    Rozbalit Rozbalit vše Re: FDE a TPM - od kdy šifrovat data?
    Tak Secure Boot nebude. Mám 11. generaci Dell PowerEdge. Podpora v UEFI je teprve od 12. generace.
    Josef Kufner avatar 29.8.2019 19:11 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: FDE a TPM - od kdy šifrovat data?
    Takže pokud útočník bude chtít dešifrovat disk, tak stačí upravit initramdisk, aby si uložil heslo a jednou to spustit, aby TPM dešifrovalo?
    Hello world ! Segmentation fault (core dumped)
    29.8.2019 20:12 petr_p | skóre: 59 | blog: pb
    Rozbalit Rozbalit vše Re: FDE a TPM - od kdy šifrovat data?

    To nestačí. Ještě musí přijít člověk a to heslo tam naťukat. Což člověk znalý neudělá, protože ví, že kromě poruchy to může být útok.

    Spíše mi vysvětlete, jak by mě měl ochránit secure boot. Jako útočník přidám před váš postup jeden krok: Vypnu secure boot v nastavení firmwaru.

    Josef Kufner avatar 29.8.2019 21:03 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: FDE a TPM - od kdy šifrovat data?
    Do nastavení firmwaru se nedostaneš, protože je k němu nastavené heslo.
    Hello world ! Segmentation fault (core dumped)
    Petr Fiedler avatar 29.8.2019 22:21 Petr Fiedler | skóre: 35 | blog: Poradna | Brno
    Rozbalit Rozbalit vše Re: FDE a TPM - od kdy šifrovat data?

    A co když někdo rozebere stroj (jumper, baterie)?

    Josef Kufner avatar 30.8.2019 00:31 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: FDE a TPM - od kdy šifrovat data?
    To by mělo resetovat i TPM a zahodit tak klíče k disku úplně.
    Hello world ! Segmentation fault (core dumped)
    Petr Fiedler avatar 30.8.2019 00:38 Petr Fiedler | skóre: 35 | blog: Poradna | Brno
    Rozbalit Rozbalit vše Re: FDE a TPM - od kdy šifrovat data?

    Takže útočník se na disk nedostane a majitel, pokud má zazálohované klíče ano?

    Slyšel jsem o nb (HP), u kterého prý nepomůže ani vytažení baterie. Pokud je firmware zaheslovaný, tak to prý nepomůže. Ale jak tu psal k3dAR. Stále se dá přeflešnout čip.

    Josef Kufner avatar 30.8.2019 00:47 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: FDE a TPM - od kdy šifrovat data?
    Takže útočník se na disk nedostane a majitel, pokud má zazálohované klíče ano?
    V ideálním případě by to tak mělo být. Otázkou je, jak to je skutečně implementované a zda tam nejsou chyby.
    Stále se dá přeflešnout čip.
    S tím už toho moc nenaděláš. Také tím nevyřešíš obranu proti cold-boot útoku. Na to by byl potřeba nějaký destrukční mechanismus při fyzickém otevření počítače. Na cold-boot ještě pomůžou paměti připájené na desce, ale proti přeflashování firmwaru nenaděláš nic než to nějak pořešit fyzicky.
    Hello world ! Segmentation fault (core dumped)
    Petr Fiedler avatar 30.8.2019 01:00 Petr Fiedler | skóre: 35 | blog: Poradna | Brno
    Rozbalit Rozbalit vše Re: FDE a TPM - od kdy šifrovat data?
    V ideálním případě by to tak mělo být. Otázkou je, jak to je skutečně implementované a zda tam nejsou chyby.

    Tak pokud to bude fungovat, tak je to dobré.

    Já naneštěstí na obou strojích nemám TPM, ale jen PTT. Takže kdybych si nastavil sicherboot a někdo by pak vytáhnul baterii z MB, bude to potom fungovat stejně jako s TPM?

    30.8.2019 07:41 petr_p | skóre: 59 | blog: pb
    Rozbalit Rozbalit vše Re: FDE a TPM - od kdy šifrovat data?

    TPM měří i kód firmwaru. Přeprogramování firmwaru tedy neunikne pozornosti.

    Vyvstává otázka, co kód, který měří firmware. Ten by měl být skutečně v nepřepsatelné paměti. Je to ten kód, který startuje procesor a zavádí firmware, když ještě není nakonfigurovaná fyzická paměť. Kdysi tomu tak skutečně bylo. Nicméně jak je tohle implementované na dnešním překomplikovaném hardwaru, těžko říci. Poslední procesory implementují TPM samy, protože jej emulují v servisním procesoru velkého CPU (na Intelu to je nějaký ARM).

    30.8.2019 07:29 petr_p | skóre: 59 | blog: pb
    Rozbalit Rozbalit vše Re: FDE a TPM - od kdy šifrovat data?
    TPM se sám magicky neresetuje. Ale správně implementované TPM měří i konfiguraci firwmaru. Respektive tu část, která má vliv na vykonávaný kód, což prakticky nemusí být žádná část konfigurace (pokud je člověku jedno, že ten samý kernel se načte z jiného zařízení než obvykle). Technicky vzato, že si útočník prohlédne nastavení firmwaru nebo změní jeho jazykové rozhraní na japonštinu, nijak neovlivňuje intergritu nabootovaného systému.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.