Автор Тема: Full Disk Encryption в линукс.  (Прочетена 10143 пъти)

shoshon

  • Напреднали
  • *****
  • Публикации: 497
    • Профил
Re: Full Disk Encryption в линукс.
« Отговор #15 -: Dec 04, 2012, 11:06 »
Цитат
Та има други хитрини, от които можеш да се възползваш. Както казах, при 4GB дъмп от физическа памет ми трябват до минута и половина-две за да мога да извлека ключа.


Ако имаш дъмп на паметта не виждам защо трябва да се сканира... според мен ключа може да се извлече с прост debugger. Момент...

Това да не е оня "bug" на firewire хардуера, дето ти позволява да издъмпиш всичкото рам?
Активен

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Re: Full Disk Encryption в линукс.
« Отговор #16 -: Dec 04, 2012, 11:46 »
С debugger ще е трудно, защото имаш дъмп на физическа памет, трябва да превърнеш всички вирутални адреси във физически такива. При 32-битови системи, има сравнително прост mapping между горния 1GB виртуална памет и първия 1GB физическа памет, след това обаче става сложно - трябва да си ги превръщаш сам с помощта на page таблиците.  Което е проблем, защото не знаеш къде са въпросните page таблици - адреса се пази в регистър (май CR3 беше), а стойностите на регистрите ги нямаш (което на практика създава доста други проблеми свързани с дебъгването). Дори и да е възможно, дъмпа трябва доста да се преработи, за да стане подходящ за дебъгване. Според мен вероятността да стане обаче е доста ниска.

Иначе се използва firewire като attack vector за DMA атаката. Pодобно нещо би трябвало да може да се направи и с друга шина (eSATA или Thunderbolt). Не е bug, а е feature :)
« Последна редакция: Dec 04, 2012, 11:50 от gat3way »
Активен

"Knowledge is power" - France is Bacon

growchie

  • Напреднали
  • *****
  • Публикации: 623
    • Профил
Re: Full Disk Encryption в линукс.
« Отговор #17 -: Dec 04, 2012, 22:59 »
Това работи ли и на UEFI? Ако е активиран secure boot механизма където се зарежда само подписан код атаката върви ли. (Далеч съм от мисълта, че за правилните правителства буут лоудъра няма да разпознае кода като приятелски). До колкото схващам дъмпът на паметта става преди процесора да се вкара в защитен режим или бъркам.

В тази връзка преди време бях гледал видео как от изключен компютър вадят рама от компютъра охлаждаха я и след това я сканираха наново и вадеха в случая снимка на мона лиза :)
« Последна редакция: Dec 04, 2012, 23:05 от growchie »
Активен

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Re: Full Disk Encryption в линукс.
« Отговор #18 -: Dec 04, 2012, 23:18 »
Това е ирелевантно. Знам че има такъв вид атаки с инсталиране на троянизиран bootloader, не помня как го наричаха "evil maid" или нещо от сорта. Там идеята е съвсем различна - и да, подписаните bootloader-и и secure boot-ването би следвало да не го позволяват. В нашият случай вземаме съдържанието на физическата памет след като е преминало в защитен режим, заредено е ядрото, въведен е passphrase-а, потребителят е правил там каквото е правил, без да се налага инсталация на каквото и да било на машината му, т.е UEFI няма отношение към проблема. Всичко е доста просто, може да го издемонстрирам на който има желание, няма никакъв rocket science в цялата работа. Това, което мен лично доста ме впечатли е колко е просто и как всеки може да го направи доволно лесно (какво остава за органите на реда примерно :) ).

Иначе, в момента съм се заял с LUKS по принцип, сега работя по offline атаката в hashkill. Имам работеща версия, засега само върху CPU. Мога само да кажа, че хората, които са го правили са били доста параноични, разбира се зависи от случая, но в общият случай, единствено в защитените 7zip архиви и MS Office 2013 файлове съм виждал толкова брутален key derivation. За съжаление, авторите са решили да адресират евентуалната поява на massive parallel хардуера от сорта на видеокарти и FPGA чипове просто с ненормално увеличен брой итерации, което е грешка предвид това което се е случило след това. Ако бяха подбрали някой memory-интензивен алгоритъм за key derivation от сорта на scrypt, нещата щяха да са вече наистина отчайващи.

Другият пропуск според мен е че броят на итерациите се обвързва със скоростта на машината, където е създаден keyslot-а. Т.е Ако създадем криптиран диск (или просто keyslot за него) върху бавна машина, ще можем да го атакуваме с доста по-висока скорост, отколкото ако го създадем върху бърза машина. Това е доста странно хрумване, не съм го виждал имплементирано другаде.


Цитат

В тази връзка преди време бях гледал видео как от изключен компютър вадят рама от компютъра охлаждаха я и след това я сканираха наново и вадеха в случая снимка на мона лиза


Да, и това го има (само че е от включен компютър, RAM-а при стайни температури губи изцяло съдържанието си в рамките на секунди след изключване на напрежението). Обаче там нещата са one-shot, т.е имаш един опит и не успееш ли, си прецакан. Дори охладени до минус 50-60 градуса, паметта в банките дегенерира в рамките на минути и трябва спешно да се "имплантира". А "имплантирането" на рамта в друга машина е забавна задача, има доста мотики. Примерно power-on self теста на BIOS-а има навика да тества рам-та като я презаписва и препрочита и гледа за разлики. Това ако се случи с "имплантираната" памет, всичко отива по дяволите :)
« Последна редакция: Dec 04, 2012, 23:35 от gat3way »
Активен

"Knowledge is power" - France is Bacon

growchie

  • Напреднали
  • *****
  • Публикации: 623
    • Профил
Re: Full Disk Encryption в линукс.
« Отговор #19 -: Dec 05, 2012, 20:03 »
И какво излиза, лаптоп със запоена памет и подписан процес на зареждане без dma портове като firewire thuderbotl ili esata е относително добре защитен от подобни посегателства. Май само chromebook i macbookair са долу горе в тази категория.
Активен

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Re: Full Disk Encryption в линукс.
« Отговор #20 -: Dec 05, 2012, 20:22 »
Ами не трябва да има и PCMCIA или ExpressCard, защото не е проблем да му се ръгне Firewire адаптер.
Активен

"Knowledge is power" - France is Bacon

Sairos

  • Напреднали
  • *****
  • Публикации: 77
  • Distribution: GNU Linux
  • Window Manager: Console
    • Профил
Re: Full Disk Encryption в линукс.
« Отговор #21 -: Dec 05, 2012, 21:25 »
И какво излиза, лаптоп със запоена памет и подписан процес на зареждане без dma портове като firewire thuderbotl ili esata е относително добре защитен от подобни посегателства. Май само chromebook i macbookair са долу горе в тази категория.

Дори и Mac AIR има thunderbotl.
Активен

growchie

  • Напреднали
  • *****
  • Публикации: 623
    • Профил
Re: Full Disk Encryption в линукс.
« Отговор #22 -: Dec 05, 2012, 21:28 »

Дори и Mac AIR има thunderbotl.

Новият може, моят е първата генерация и няма нищо освен 1 юсб порт. Но няма подписване на зареждането, така че май само chromebook-a остава като опция.

Иначе PCMCIA и екпрес катрите ги бях забравил че съществуват.
Един допълнителен въпрос, как стои положението с USB3? Да не са го ъпргрейднали по несигурен начин.
« Последна редакция: Dec 05, 2012, 21:34 от growchie »
Активен

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Re: Full Disk Encryption в линукс.
« Отговор #23 -: Dec 05, 2012, 22:00 »
Не, няма как да стане през USB, понеже там host контролера единствено може да иницира DMA трансфери, а навързаната периферия е "slave" и прави каквото й се каже.
Активен

"Knowledge is power" - France is Bacon

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Re: Full Disk Encryption в линукс.
« Отговор #24 -: Dec 05, 2012, 23:14 »
А, всъщност имало нещо наречено USB on-the-go, където имало вариант устройството да го играе slave или host, в зависимост от каквото му се каже. Това теоретично би трябвало да може да доведе до същият проблем, обаче не мисля, че който и да е лаптоп е застрашен.
Активен

"Knowledge is power" - France is Bacon

dejuren

  • Напреднали
  • *****
  • Публикации: 1025
  • Distribution: Ubuntu, RedHat
  • Window Manager: lxde KDE4
    • Профил
Re: Full Disk Encryption в линукс.
« Отговор #25 -: Dec 06, 2012, 01:26 »
gat3way, разкарай LUKS-a и тествай пак. Аз имам подозрението, че си открил нещо, несвързано с криптиране на диска.
Активен

http://webchat.freenode.net/?channels=ubuntu-bg
The quieter you become, the more you are able to hear.
Две седмици цъкане с мишката спестяват два часа четене на документацията.

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Re: Full Disk Encryption в линукс.
« Отговор #26 -: Dec 06, 2012, 08:08 »
Нищо не съм откривал, открито е отдавна. Просто пробвах да видя дали ще сработи и доколко успешно срещу luks. Ако няма криптиране...тогава има други поразии които могат да се направят ползвайки тази особеност. Те обаче не са целта на занятието.
Активен

"Knowledge is power" - France is Bacon

Yasen6275

  • Напреднали
  • *****
  • Публикации: 553
    • Профил
Re: Full Disk Encryption в линукс.
« Отговор #27 -: Dec 06, 2012, 08:34 »
Разбирам малко от криптография, да не кажа почти нищо, но това което описваш ми се струва неизбежно.

За да се рабои с криптирания диск/дял някъде трябва да се съхранява ключа за достъп до него, нали така?

Не разбирам кое те притеснява толкова. Леснотата с която може да се намери ключа в мемори дъмпа? Или нещо друго? Освен постоянно гасене/криптиране на слапа виждаш ли някакво друго решение на проблема?

 Варианта с отделеното ядро ми се струва непрактичен. Ако се мисли в подобна посока по скро ни трябва устройство специално предназначено за крипто нужди.
Активен

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Re: Full Disk Encryption в линукс.
« Отговор #28 -: Dec 06, 2012, 11:51 »
Притеснява ме колко е лесно на първо време да се сдобиеш с дъмпа и на второ време колко е лесно да изровиш точно това, което ти трябва от него.

Известно време мислих по въпроса как може да се подобрят нещата от страна на dm-crypt/luks като изключим варианта с пазенето в регистри и dedicate-нато ядро за криптографията. Това не е единственият начин, има и други начини ако не това да се забрани, то поне да се направи доста сложно за реализация. Примерно в luks има една забавна трансформация, AFMerge/AFSplit, която грубо казано "пръсва" по бройка сектори на устройството малка част от ключа, съответно за да ги събереш, трябва да изчетеш тези сектори и да приложиш една относително сложна трансформация, докато получиш ключа.

Същото може да се реализира и с крайния master key - може да се приложи вместо върху секторите на устройството, върху няколко страници виртуална памет (с една структура от указатели към тях). При извличането на ключа и декриптирането/криптирането, ключът вече ще може да си стои в регистрите. Това ще направи възтановяването на ключа от дъмп много сложна задача - защото дори да успееш да идентифицираш структурата с адресите на page-овете, ще трябва да превърнеш виртуалния адрес във физически такъв, а това ще е доста сложно, след като нямаш състоянието на регистрите. От друга страна подхода с bruteforce-ването на всеки адрес от паметта вече ще клони към тотално непрактичен.

От друга страна, писането и четенето ще се забавят, особено ако няколкото страници памет не могат да се поберат в процесорния кеш. Колко ще се забавят - вероятно с порядъци. Но пък ще е доста по-сигурно :)
Активен

"Knowledge is power" - France is Bacon

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Re: Full Disk Encryption в линукс.
« Отговор #29 -: Dec 20, 2012, 23:51 »
Я, изглежда полицаите са отдавна наясно с това...

http://www.hacker10.com/other-computing/u-n-report-reveals-secret-law-enforcement-techniques/

Цитат
Point 194: An Alqeda affiliated webmaster managing a jihadist website from Brazil was specifically targeted by the police to grab him by surprise while he was still online to make sure that they would get his encryption keys thanks to which the investigators were able to open all relevant encrypted files.


Апропо, в момента се занимавам с truecrypt. Там възтановяването (надеждно) на ключа от паметта може да бъде малко (доста) по-сложно, в зависимост от това, което е сътворил потребителя. Има нещо забавно в цялата работа. Като цяло, мисля, че Truecrypt е малко по-добре премислен в доста отношения. Като цяло, default-ните настройки на LUKS са OK, ако тръгнеш да ги променяш, най-вероятно ще си го набиеш отзад. При truecrypt е обратното - default-ните настройки са криви, ако знаеш какво правиш, можеш да докараш доооооооста прилично ниво на сигурност на данните.
« Последна редакция: Dec 21, 2012, 00:01 от gat3way »
Активен

"Knowledge is power" - France is Bacon

Подобни теми
Заглавие Започната от Отговора Прегледи Последна публикация
SuSe 8.1 full 7 diska
Хардуерни и софтуерни проблеми
Alexandro 1 3185 Последна публикация Oct 29, 2002, 08:14
от IvanST
samba full access na dir ??
Настройка на програми
PAIN1 9 4573 Последна публикация Jul 24, 2003, 13:22
от
как да забраня disk cache и disk buffers?
Настройка на програми
Vesko 6 3509 Последна публикация Jan 06, 2005, 20:32
от Vesko
Full log на веб активност
Настройка на програми
kennedy 8 4110 Последна публикация Dec 30, 2007, 17:50
от kennedy
Disk format 'qcow2' does not support full allocation.
Настройка на програми
bILLY 5 3275 Последна публикация Apr 18, 2015, 21:51
от neter