Добрый день. Попал на статейку, и появился вопрос. Как правильно и надежно очищать оперативную память перед выключением компьютера, чтобы нельзя было сделать дамп памяти? Желательно чтобы это было автоматически.
Для cold boot attack выключенный ноутбук взятый со стола ценности не представляет, а включенный будет выключать специально обученный сотрудник. Так что ты пытаешься решить проблему которой нет.
Можно замодить планки памяти добавив свой источник питания и МК, а при пропадании внешнего питания затирать все нулями. Но такой мод будет заметен при разборе и вызовет слишком много вопросов.
при ребуте системы рам вообще не затирается, я правильно понял? соотстветственно, можно не торопиться с считыванием, раз старые данные там будут храниться до тех пор, пока будет подаваться питание и не понадобится записать в нее что-то новое
Я серьезно сомневаюсь, что воры будут таким заморачиваться. Скорее всего, они просто сотрут всё на винте и накатят винду для продажи. Если цель железо, конечно.
Я серьезно сомневаюсь, что воры будут таким заморачиваться. Скорее всего, они просто сотрут всё на винте и накатят винду для продажи. Если цель железо, конечно.
Тебе самому не интересно как это делается? Помойму лишняя настройка в правильную сторону - никогда не повредит компьютеру. Тут присутствует немного перфекционизма )
В AMD EPYC декларируется поддержка полного шифрования всей памяти. В таком режиме пропадание внешнего питания инвалидирует ключ шифрования, что эквивалентно стиранию всей памяти. Только быстрее.
Да, попробуй, потом расскажешь. Уже был классный баг в пересечении memtest\lenovo. lenovo замапил важные регистры в память и не промаркировал её для игнора memtest`ом, в итоге после прогона memtest`а ноут можно было выкинуть.
При обычном выключении через пять минут смысла в проведении атаки уже нет.
Допустим, теряешь ты свой ноут (был пьяный, плохо стало и еще куча причин), а я его нахожу с твоими личными фотографиями, документами, наработками бизнес-проектов, и другой ценной информацией, которую можно монетизировать. Что помешает моему любопытству, действовать как указано в статье а также дополнительными способами чтобы раскрыть твою информацию а позже монетизировать ее путем шантажа или продажи?
1 - как очистка памяти при выключении поможет при включенном ноуте? 2 - информация в оперативки хранится десятки секунд при нормальных условиях и считанные минуты при заморозке.
Что помешает моему любопытству, действовать как указано в статье
Недостаток компетенции и отсутствие технических средств.
Я эту статью читал уже. И тебе рекомендую внимательнее её почитать. Особое внимание обрати на рисунок 4 и на длительность, указанную в подписи к этому рисунку.
Contrary to popular assumption, DRAMs used in most modern computers retain their contents for several seconds after power is lost, even at room temperature and even if removed from a motherboard. Although DRAMs become less reliable when they are not refreshed, they are not immediately erased, and their contents persist sufficiently for malicious (or forensic) acquisition of usable full-system memory images.
Можно снимать дамп на томже компе который ты атакуешь. Главная проблема - использовать как можно меньше оперативки, соответственно приходится писать пейлоад для дампа который будет работать прямо на железе. Проще и надежнее собрать стенд на FPGA с быстрой памятью.
Не решается программно - реши физически. Небольшое СВУ над/возле оперативной памяти со срабатыванием на попытку снятия крышки/самих модулей надежно решат проблему.
Создать tmpfs размером, равным объёму RAM. Допустим он примонтирован в /run/user/1000/mytmpfs
Завершить все лишние приложения, чтобы освободить память и
А вот и неправда, на материнских платах, сертифицированных Trusted Compiting Group (таких большинство), в UEFI есть специальная переменная, при установке которой память при запуске компьютера очищается. В ядре реализовано, параметр CONFIG_RESET_ATTACK_MITIGATION.
Я пробовал проделывать такое с современной DDR3-памятью — ничего не выходило. За 6-8 секунд, необходимых для перетыкания памяти, при комнатной температуре она была практически пустая.
В опенсорсном БИОСе coreboot для многих плат, в том числе AMD-шных, в Security ---> Memory Initialization доступна опция «Always clear all DRAM on regular boot» :
CONFIG_SECURITY_CLEAR_DRAM_ON_REGULAR_BOOT: Always clear the DRAM after DRAM initialization regardless of additional security implementations in use. This increases boot time depending on the amount of DRAM installed.
Если твой коребут собран с этой опцией, когда нужно очистить оперативку - ты можешь ребутнуть комп и на экране SeaBIOS выключить его через кнопку питания до загрузки ОС - и в оперативке гарантированно не останется ничего интересного. Например, Belkasoft RAM Capturer https://belkasoft.com/ru/ram-capturer , загруженный с флешки с виндой на твоём компе, после этой процедуры уже не сдампит ничего интересного. Это если винда вообще сможет загрузится на твоём компе: она капризна в плане ACPI, и например на ASUS A88XM-E с коребутом Windows 7 не грузится.
Кстати, с этой опцией время включения компа увеличивается совсем ненамного - секунд 15 может быть, так что терпимо для повседневного применения. Разве что, по крайней мере на AMD, она ломает S3 Suspend («ждущий режим») и некоторые коребутовские payload'ы-дополнения вроде coreinfo перестают работать - но можно на время прошивать сборку коребута без этой опции, когда они реально нужны.
Доверять индусскому UEFI и его переменным в таких важных вещах - себе дороже: даже если она и работает, вдруг незаметно слетит. А вот опенсорсному коребуту поверить можно: похожая опция (см. пост выше) статично вкомпиливается в него и гарантированно будет работать при каждом включении компа с этой сборкой БИОСа.
Решение есть, см. пост выше. Правда тебе придётся сменить железо на поддерживаемое опенсорсным БИОСом coreboot, и не на любое - а на то, у которого есть PLATFORM_HAS_DRAM_CLEAR зависящее от RELOCATABLE_RAMSTAGE, благодаря чему доступна CONFIG_SECURITY_CLEAR_DRAM_ON_REGULAR_BOOT. Любое AMD с опенсорсной AGESA подойдёт (десктопные ASUS AM1I-A / F2A85-M / A88XM-E с FM2 Richland, ноут Lenovo G505S и т.д.), про интел не знаю.
Всё фигня, от термо-ректального криптоанализа никакое затирание или защита не спасет кроме физического уничтожения носителя. Например некое устройство, которое после нажатия кнопки, под давлением сжатого воздуха выпускает гвозди в ячейки памяти или жёсткие диски. Все остальные варианты - говно.
Выбрать оптимальные с твоей точки зрения настройки, в том числе и касающиеся разгона, можно при сборке этого БИОСа в меню menuconfig. Так даже лучше: ведь при таком подходе они никогда не слетают. И вообще, я за максимально возможное приближение к stateless компьютеру: https://blog.invisiblethings.org/2015/12/23/state_harmful.html