Pull to refresh

Comments 58

Нетривиальный способ, весьма и весьма изящно, как мне кажется. Я бы не додумался до такого.
UFO just landed and posted this here
Теперь буду знать. До этого момента даже не слышал.
Мария Кожевникова, перелогиньтесь!
UFO just landed and posted this here
Она вам даже больше скажет:

Хехе, у меня в программе 10ти летней давности вся приватная информация зануляется перед удалением.
Я думаю здесь все несколько иначе, андроид просто не успевает ничего удалить, так как батарею вынимают на живую.
Морально — критическим классам нужно наследовать SecureMemory :)
а ее никто и не удалял
работающий смартфон замораживают и вытаскивают батарею. потом грузят свою прошивку и ищут в памяти ключи доступа к данным, которые остались в памяти от старой прошивки.
Что теперь? в андройд добавят датчик температуры который будет вычищать память и выключаться при критической температуре?
Или очистку памяти хардварно перед запуском загрузчика.
не поможет, если после заморозки пересадить чип в другую микросхему, и уже через нее считать данные из памяти
Отпаять чип = разморозить его. Разве что как-то в холодном виде отковыривать от платы, а потом цеплять подпружиненные контакты (в количестве 100+ штук). Технически осуществимо, но довольно муторно.
Времени не хватит. Данные в замороженном виде несколько секунд хранятся, а не целую вечность.
Технически подпружиненные контакты это геморой. Плюс для нормального контакта у исследуемого чипа должны быть ровные ноги/шарики, а как этого добиться без отпайки я слабо себе представляю
Можно сначала (без охлаждения) отпаять, потом присоединить обратно на каком-нибудь разъемном соединении. После этого дать ему поработать, чтобы секретная информация оказалась в памяти, заморозить и быстро отсоединить.
Создавать write-only хранилище для сеансовых ключей, физически и протокольно отделённое от оперативной памяти и кэш-памяти процессора? Пока только для soft-микпропроцессоров, но если посмотреть на последние архитектуры Intel, то чем чёрт не шутит? AES уже давно поддерживают, осталось сделать блоки памяти, которые могут читать только кодирующие инструкции.
Да датчик температуры то есть практически в любом девайсе (темпераатура акб), осталось софтину написать)
можно остудить один чип, например азотом. быстро и надолго.
потом -10 вполне нормальная температура окружающей среды. будет странно, если при такой температуре телефон превратится в тыкву будет паниковать, шифровать все данные и удалять ключи)
окружающей среды, но не бытовой электроники. Датчик подразумевается внутри.
Но это в любом случае криво. Дальше нужно будет делать защиту от вскрытия и т.п.
Извините, но это бытовая техника а не шпионские штучки.
Кому надо серьезно шифроваться и при этом иметь мобильные устройства, да еще и оставлять их включенными возле злоумышленников, да еще и не использовать ключи/токены и прочие хардварные носители ключей — тот пусть делает себе особое железо.
К удивлению, но мой Nexus One в январе несколько раз на морозе так выключался (был во внешнем кармане), причём я не мог понять почему. После раза 3-го решил посмотреть температуру батарейки — было +0.3°C. Причём, когда он выключился на глазах, он это сделал с корректным завершением работы.

Не думаю, что это связано с шифрованием, но тогда это работало. Прошивка была последняя на тот момент от Evervolv.
UFO just landed and posted this here
UFO just landed and posted this here
Злой вы. Человек включил не «что-нибудь», а шифрование, и теперь только уточняет, что _именно_ шифруется по умолчанию. Это совсем не то же самое, что «включил функцию которая делает неведомо-что».
UFO just landed and posted this here
UFO just landed and posted this here
UFO just landed and posted this here
Кстати, это необратимая операция, я себе на планшете тоже включил шифрование. Потом думал отменить, да не тут то было, только через сброс к заводским настройкам.
А при чём тут конкертно Android? По идее с тем же подходом можно любую другую ОС ломануть. Я ошибаюсь?
вообще-то взломоустойчивось это свойство ПО. и метод атаки путем получения доступа к памяти процесса один из вожможных векторов атаки. ПО имеющее отношение к шифрованию должно обеспечивать устойчивость к подобным аттакам.
Например, www.livehacking.com/2011/12/12/new-putty-release-fixes-password-not-wiped-vulnerability/
Как выше уже говорилось — этой атаке много лет.
Самая интересная реализация была в атаке на ноутбуки — ноутбук с включенным шифрованием (не важно чего) в режиме сна (S3 — Suspend to RAM) опускался в жидкий азот, охлаждался, после чего его модули памяти спокойно пересаживались в другой такой-же. Охлаждение ОЗУ позволяло особенно не торопиться, времени хватало на перестановку памяти и второй ноут прекрасно выходил из сна в ОС первого. Весь плюс такого способа атаки в том, что модули памяти можно переставить не в ноут, а в девайс, который их считает и сохранит содержимое на другой носитель, после чего у взломщика будет уйма времени, чтобы спокойно вытащить из ОЗУ все ключи шифрования и любимое порно с котятами. Тут увы ничем не поможешь — чтобы работать с защифрованной информацией ключ должен быть в ОЗУ, а оно слито полностью.
Вот тут поможет вариант, когда ключ хранится в памяти процессора и не попадает в оперативку, точнее, попадает туда на короткое время. Но, как я понимаю, пока такой возможности в обычных процессорах нет.
Увы да. Для параноиков всегда остается внешний проходной шифратор с контролем вскрытия корпуса и прочих вариантов НСД. Главное вовремя будет уничтожить ключики.
BitLocker удаляет ключи из памяти при отправке компьютера в сон, думаю и PGP с TrueCrypt поступают аналогично.
Хехе, тут в эксперименте сон использовался для того, чтобы спокойно переставить планку памяти в другую машину, чтобы она потом запустилась нормально. В случае установки планки памяти в какой-нибудь считыватель сон уже не нужен. Заморозил, вынул и вперед
Вброс производителей Android'офонов против разлочивания бутлоадеров? 0_о

Трудно поверить, производители смартфонов не заложили backdoor. Одна компания попыталась повыёживаться перед спецслужбами на этот счёт. Итог — едва ли не банкротство и мизерная доля рынка. Их попросту никуда не пустили… Банальный пример, наша горячо любимая Родина.

Думаю серьезные производители неплохо усвоили этот урок. Соответствующие «компетентные» товарищи, если надо, всегда получат доступ. А там где один прошёл, всегда и второй сможет пройти…

То, что они сделали это необратимое воздействие на аппарат. С тем же успехом для большинства SoC можно физически обеспечить отдельное питание для блоков памяти, чтобы при ребуте память не обнулялась, и передать управление на загрузчик обычным jump'ом.

То, что эти ребята показали, это эффектно, но негарантированный метод… Время удержания данных в ящейках памяти на высоких техпроцессах весьма индивидуально для каждого чипа…
Гм.

То есть если я в зимой в машине оставлю мобилку на андроиде и она замерзнет настолько, что сдохнет литий-ионный аккумулятор — и если я быстро вставлю новый аккум, то мне после этого девайс перезагружать не обязательно?
Девайс принудительно перезагрузит схема POR (Power-On Reset), как только питание поступит.
а если переткнуть быстрее чем за 0,00001 сек?
А если бы у бабушки был бы [], то она была бы дедушкой…
Вообще говоря, стоит обратить внимание на другую сторону этого эксперимента, а именно, на то, что, как оказалось, пароли и ключи хранятся в памяти в открытом виде. А важно это потому, что есть и другие способы атак для доступа к памяти процесса, и физический доступ к устройству даже не нужен.

Вот, например, надавно найденая уязвимость в смартфонах Samsung точно также позволяет утащить ключи
arstechnica.com/security/2012/12/developer-warns-of-critical-vulnerability-in-many-samsung-smartphones/
А как можно осуществить шифрование/расшифрование, не имея где-нибудь ключа в открытом виде?
Тоже интересно, но не сильно.
Лень гуглить но очевидно ключик защищается паролем вводимым пользователем или как-то подобно.
А как загрузчик обходится без ОЗУ?
Здесь напрашивается пару вариантов, но может там что-то интереснее?
Первое что приходит в голову это шаманства в стиле старых добрых PIC, где ценой роста кода в ПЗУ фактически обходились регистрами и ОЗУ размером в десяток байтов пользовались очень экономно. (Вспоминается как разрабатывали один девайс, и программист у меня получал за то, что использовал под переменную целый байт ОЗУ, когда с головой хватало полбайта.)

Второй вариант который приходит в голову сразу за этим — просто делаем задержку и ждем пока она оттаит — по идее обнуляться то ей нет причин, питание ведь уже есть. Но в любом случае он должен это как-то предусматривать, или ожидание, или тестирование того разморозилась ли уже память?
Хотелось бы подробностей :)
Отлично! После прочтения статьи вспомнился ещё один не тривиальный способ получения всех ключей и паролей доступа. Способ называется «термо-ректальный криптоанализ». Когда за паролями придут двое-трое здоровенных криптоаналитиков, от них сложно будет уберечь информацию =)
Параноик может сломать пополам флешку с ключами, в данном случае электронагревательный элемент в толстой кишке вряд-ли поможет работе криптоаналитика.
Можно я напишу еще пару статей?
Морозная атака на шифрование в iOS
Морозная атака на шифрование в Windows
Морозная атака на шифрование в Linux
;-)
Для трукрипта можно подобрать прямым доступом к памяти через Firewire elcomsoft.ru/efdd.html
Sign up to leave a comment.

Articles