а ее никто и не удалял
работающий смартфон замораживают и вытаскивают батарею. потом грузят свою прошивку и ищут в памяти ключи доступа к данным, которые остались в памяти от старой прошивки.
Отпаять чип = разморозить его. Разве что как-то в холодном виде отковыривать от платы, а потом цеплять подпружиненные контакты (в количестве 100+ штук). Технически осуществимо, но довольно муторно.
Технически подпружиненные контакты это геморой. Плюс для нормального контакта у исследуемого чипа должны быть ровные ноги/шарики, а как этого добиться без отпайки я слабо себе представляю
Можно сначала (без охлаждения) отпаять, потом присоединить обратно на каком-нибудь разъемном соединении. После этого дать ему поработать, чтобы секретная информация оказалась в памяти, заморозить и быстро отсоединить.
Создавать write-only хранилище для сеансовых ключей, физически и протокольно отделённое от оперативной памяти и кэш-памяти процессора? Пока только для soft-микпропроцессоров, но если посмотреть на последние архитектуры Intel, то чем чёрт не шутит? AES уже давно поддерживают, осталось сделать блоки памяти, которые могут читать только кодирующие инструкции.
можно остудить один чип, например азотом. быстро и надолго.
потом -10 вполне нормальная температура окружающей среды. будет странно, если при такой температуре телефон превратится в тыкву будет паниковать, шифровать все данные и удалять ключи)
окружающей среды, но не бытовой электроники. Датчик подразумевается внутри.
Но это в любом случае криво. Дальше нужно будет делать защиту от вскрытия и т.п.
Извините, но это бытовая техника а не шпионские штучки.
Кому надо серьезно шифроваться и при этом иметь мобильные устройства, да еще и оставлять их включенными возле злоумышленников, да еще и не использовать ключи/токены и прочие хардварные носители ключей — тот пусть делает себе особое железо.
К удивлению, но мой Nexus One в январе несколько раз на морозе так выключался (был во внешнем кармане), причём я не мог понять почему. После раза 3-го решил посмотреть температуру батарейки — было +0.3°C. Причём, когда он выключился на глазах, он это сделал с корректным завершением работы.
Не думаю, что это связано с шифрованием, но тогда это работало. Прошивка была последняя на тот момент от Evervolv.
Злой вы. Человек включил не «что-нибудь», а шифрование, и теперь только уточняет, что _именно_ шифруется по умолчанию. Это совсем не то же самое, что «включил функцию которая делает неведомо-что».
Кстати, это необратимая операция, я себе на планшете тоже включил шифрование. Потом думал отменить, да не тут то было, только через сброс к заводским настройкам.
Именно так, этому способу уже лет 10, судя по всему: www.cl.cam.ac.uk/techreports/UCAM-CL-TR-536.html.
Но достаточно к чему-нибудь давно известному приписать «Android» — и опа, совершенно новое исследование!
Как выше уже говорилось — этой атаке много лет.
Самая интересная реализация была в атаке на ноутбуки — ноутбук с включенным шифрованием (не важно чего) в режиме сна (S3 — Suspend to RAM) опускался в жидкий азот, охлаждался, после чего его модули памяти спокойно пересаживались в другой такой-же. Охлаждение ОЗУ позволяло особенно не торопиться, времени хватало на перестановку памяти и второй ноут прекрасно выходил из сна в ОС первого. Весь плюс такого способа атаки в том, что модули памяти можно переставить не в ноут, а в девайс, который их считает и сохранит содержимое на другой носитель, после чего у взломщика будет уйма времени, чтобы спокойно вытащить из ОЗУ все ключи шифрования и любимое порно с котятами. Тут увы ничем не поможешь — чтобы работать с защифрованной информацией ключ должен быть в ОЗУ, а оно слито полностью.
Вот тут поможет вариант, когда ключ хранится в памяти процессора и не попадает в оперативку, точнее, попадает туда на короткое время. Но, как я понимаю, пока такой возможности в обычных процессорах нет.
Увы да. Для параноиков всегда остается внешний проходной шифратор с контролем вскрытия корпуса и прочих вариантов НСД. Главное вовремя будет уничтожить ключики.
Хехе, тут в эксперименте сон использовался для того, чтобы спокойно переставить планку памяти в другую машину, чтобы она потом запустилась нормально. В случае установки планки памяти в какой-нибудь считыватель сон уже не нужен. Заморозил, вынул и вперед
Вброс производителей Android'офонов против разлочивания бутлоадеров? 0_о
Трудно поверить, производители смартфонов не заложили backdoor. Одна компания попыталась повыёживаться перед спецслужбами на этот счёт. Итог — едва ли не банкротство и мизерная доля рынка. Их попросту никуда не пустили… Банальный пример, наша горячо любимая Родина.
Думаю серьезные производители неплохо усвоили этот урок. Соответствующие «компетентные» товарищи, если надо, всегда получат доступ. А там где один прошёл, всегда и второй сможет пройти…
То, что они сделали это необратимое воздействие на аппарат. С тем же успехом для большинства SoC можно физически обеспечить отдельное питание для блоков памяти, чтобы при ребуте память не обнулялась, и передать управление на загрузчик обычным jump'ом.
То, что эти ребята показали, это эффектно, но негарантированный метод… Время удержания данных в ящейках памяти на высоких техпроцессах весьма индивидуально для каждого чипа…
То есть если я в зимой в машине оставлю мобилку на андроиде и она замерзнет настолько, что сдохнет литий-ионный аккумулятор — и если я быстро вставлю новый аккум, то мне после этого девайс перезагружать не обязательно?
Вообще говоря, стоит обратить внимание на другую сторону этого эксперимента, а именно, на то, что, как оказалось, пароли и ключи хранятся в памяти в открытом виде. А важно это потому, что есть и другие способы атак для доступа к памяти процесса, и физический доступ к устройству даже не нужен.
А как загрузчик обходится без ОЗУ?
Здесь напрашивается пару вариантов, но может там что-то интереснее?
Первое что приходит в голову это шаманства в стиле старых добрых PIC, где ценой роста кода в ПЗУ фактически обходились регистрами и ОЗУ размером в десяток байтов пользовались очень экономно. (Вспоминается как разрабатывали один девайс, и программист у меня получал за то, что использовал под переменную целый байт ОЗУ, когда с головой хватало полбайта.)
Второй вариант который приходит в голову сразу за этим — просто делаем задержку и ждем пока она оттаит — по идее обнуляться то ей нет причин, питание ведь уже есть. Но в любом случае он должен это как-то предусматривать, или ожидание, или тестирование того разморозилась ли уже память?
Хотелось бы подробностей :)
Отлично! После прочтения статьи вспомнился ещё один не тривиальный способ получения всех ключей и паролей доступа. Способ называется «термо-ректальный криптоанализ». Когда за паролями придут двое-трое здоровенных криптоаналитиков, от них сложно будет уберечь информацию =)
Морозная атака на шифрование в Android