Vlákno názorů k článku TRESOR: šifrujte bezpečně mimo RAM od Palo - - tak ako treba prava roota na citanie...

  • Článek je starý, nové názory již nelze přidávat.
  • 21. 6. 2011 9:36

    Palo (neregistrovaný)

    - tak ako treba prava roota na citanie celej pamate tak ich predsa moze mat utocnik aj na citanie registrov
    - neviem ci ste to niekedy robili ale najst KDE v tej ramke ten kluc naozaj je, pri troche snahy programatora, dost tazke. Ked to dam do registrov rovno viem kde to hladat?

    Neviem, nejako sa mi to nepozdava.

  • 21. 6. 2011 12:06

    Sten (neregistrovaný)

    Na čtení dat z RAM nejsou při cold boot attack potřeba práva roota na systému, na který je útočeno. Registry procesoru jsou však při resetu automaticky vymazány hardwarem. Při útoku pomocí FireWire je opět možné číst RAM, ale ne registry procesoru.

    Najít ten klíč není moc těžké. Stačí najít, kde sídlí interrupt handler pro jádro, tam najít potřebnou CryptoAPI funkci a ta už najde umístění těch struktur včetně klíče. Klidně se to dá udělat tak, že ten interrupt handler upravíte (nahrajete vlastní) a celou RAMku načtete do počítače a spustíte.

  • 21. 6. 2011 12:14

    Palo (neregistrovaný)

    - Tipujem ze to teda musia byt velmi bezpecne data ked musia byt tak chranene
    - Tak si tu ramku prepiste niecim inym pri shutdowne obzvlast v oblasti uloziska klucov
    - Kto povedal ze na cryptovanie sa musi pouzivat nejake CryptoAPI jadra?
    - Obzvlast kriticke udaje sa predsa nekryptuju v jadre. Preto je mi to cele podozrive, v takychto SW sa tie kluce hladaju tazsie. Tak nam chcu povedat dajte to do hentoho registra my si to tam potom nejako najdeme?

  • 21. 6. 2011 12:52

    Sten (neregistrovaný)

    Samozřejmě, že při normálním vypínání se ten klíč z RAMky vyhodí, ale když někdo odpojí proud (vytáhne baterii, stiskne reset), tak s tím neuděláte nic.

    Proč by se obzvlášť kritické věci nešifrovaly v jádře? Jádro má nejvyšší oprávnění a pokud je prolomené, nepomůže vám ani svěcená voda ani jiný obskurní způsob skrývání klíčů v aplikaci, protože jádro má přístup k celé aplikaci včetně toho, že může libovolně sledovat, co ta aplikace dělá, i libovolně tu aplikaci kopírovat nebo ukládat a jediné řešení bezpečnější než samotné jádro je speciální šifrovací hardware, který odmítne vydat klíč, ale ten ta data stejně rozšifruje, když mu o to jádro řekne.

  • 21. 6. 2011 12:40

    Bilbo (neregistrovaný)

    > Při útoku pomocí FireWire je opět možné číst RAM, ale ne registry procesoru.

    Při útoku pomocí FireWire je možné do paměti i zapisovat. A šoupnout na vhodné místo v paměti (tedy někam do kernelu, někam kde se to brzy spustí) kus kódu co ten klíč do paměti vykopíruje je vcelku jednoduché.

    Takže přes Firewire lze číst i registry :)

  • 22. 6. 2011 11:47

    Ales Hakl (neregistrovaný)

    Tahle vec zavisi na dvou dost diskutabilnich predpokladech:

    1) reset nastavi registry do nejakeho definovaneho stavu. IA-32 garantuje pomerne hodne veci o stavu GPR po resetu, ovsem stav ladicich registru po resetu neni specifikovan, coz klidne muze znamenat, ze v nich zustane stale totez.

    2) registry CPU se nedaji z CPU vycist z vnejsku. Jeden by se pak ptal, k cemu presne se tedy da do toho CPU pres JTAG rozhrani, ktere ma, pristupovat, kdyz ne k jeho architekturne viditelnym registrum. Existence relativne levneho komercniho produktu slouziciho k in-circuit ladeni IA-32 kodu pres JTAG myslim dokazuje, ze to jde.