Новинки прошлой недели: шифрование, шифрование, шифрование (вирусы, шифрующие данные в телефонах средствами самих телефонов; двойное шифрование данных на жестких дисках; шифроключи зашифрованных шифрующими шифраторами файлов)

шифрование

Прошедшая неделя ознаменовалась огромным числом обращений с зашифрованными различными способами данными: целый зашифрованный жесткий диск, зашифрованные в телефонах фотографии, зашифрованные Excel-файлы. Ощущение того, что мир просто помешан на шифровании, становится все более и более стойким.

Конечно, такое (не побоюсь этого слова) засилье шифрования невозможно было бы представить без применения мощных процессоров и большого количества оперативной памяти. И, вроде бы, алгоритмы стойкие, и проверка надежная, и методики отката (при наличии ключей) разработаны и надежно испытаны – но нет-нет, да и даст сбой система шифрования данных, да так, что приходится разбираться нам, специалистам по восстановлению данных. Ну а про вирусы-шифровальщики я вообще даже и говорить не хочу – только обладатель 386-го компьютера может их не бояться. Не запустятся они там…

Начнем с вирусов. Не так давно по планете начал шагать вирус CryptoWall, шифрующий данные на Windows-устройствах, включая Windows Mobile. Как оказалось, телефонов под «окнами» злоумышленникам справедливо показалось мало, и они решили атаковать телефоны под управлением Android. Сделать это оказалось не так сложно, как представляется вначале: телефоны на базе Android не имеют обязательного шифрования данных, как изделия Apple, шифрование приходится включать вручную; вот этим и воспользовались вирусописатели. Вредоносный код вы получаете, как и в случае с Windows, через фишинговую ссылку; затем вирус получает доступ к настройками телефона и производит шифрование данных открытым ключом, сгенерированным заранее. Никаких ID и прочих прелестей Windows-шифрования тут нет: отправить эти данные злоумышленнику вирус не может. Более того, и оповестить владельца фотографий о том, что его файлы зашифрованы и теперь надо бы заплатить за расшифровку, вирус не в состоянии: у него нет прав root для того, чтобы начать писать в телефон собственные файлы. Для чего делается эта пакость, пока непонятно, но можно предположить, что на текущий момент злоумышленники экспериментируют. И, вполне очевидно, что скоро вирус начнет свое массовое шествие по смартфонам Планеты с требованием перечислить пару тысячных биткоина за расшифровку дорогих сердцу фоточек и видосиков.

Попавший в нашу лабораторию зараженный экземпляр телефона Samsung излечить от вируса удалось: хозяева не перезагружали аппарат, и в истории сохранилась ссылка, откуда был загружен червь. Пришлось пожертвовать другим телефоном (предварительно слив с него все данные), заразить его и «подсмотреть» в памяти ключик шифрования. После этого расшифровались данные телефона-пациента, и все были счастливы. К сожалению, это пока единственный способ борьбы с подобными типами заражений: если ключ утерян, то восстановление данных (а оно возможно только средствами самого телефона) становится нереальным.

Следующая ипостась шифрования данных, с которой нас столкнула прошедшая неделя – это двойное шифрование данных на жестких дисках. Двойное шифрование – это новый торговый знак компании Seagate: устройства enterprise-сегмента теперь, со слов Seagate, «стали еще безопаснее». В чем же заключается алгоритм двойной шифрации? Не мудрствуя лукаво, скажем, что он достаточно просто реализован: первый уровень шифрования – это физическое посекторное шифрование данных аппаратным чипом «на лету», реализованное на плате управления жесткого диска. Второй уровень шифрования – это блочное программное шифрование средствами микропрограммы (а значит, микроконтроллера) накопителя. Блочное – потому, что современные жесткие диски уже давно не оперируют физическими секторами размером 512 байт (хотя операционные системы до сих пор это делают), их размер может быть и 8, и 16, и уже даже 32 «минимальных» сектора – т.е. 4, 8 или 16 кбайт. Вот этими блоками и шифруются данные. В чем смысл, спросите вы? Смысл прост. Данные, зашифрованные два раза, гораздо проче уничтожить в случае необходимости; к данным, зашифрованным два раза, гораздо сложнее получить доступ. Давайте рассмотрим эмпирически ситуацию: в ваш офис забрались злоумышленники, чтобы украсть ваши корпоративные секреты. У них есть два пути: залезть к вам во время работы и забрать компьютер, либо забраться ночью. В первом случае Вы набираете комбинацию клавиш, которая мгновенно дает команду накопителю на рандомную смену ключа шифрования второго уровня (до первого уровня возможно добраться только аппаратно, мы это помним; второй уровень программный, им можно управлять и через интерфейс). Все, к данным доступа нет: другой ключ шифрования расшифровывает их по-другому, на выходе получается просто белый шум. Сушите весла.

Если же компьютер украли ночью, и его владелец не может подать команду на «самоуничтожение», то запуск компьютера с неправильным паролем несколько раз (пароль ставится в BIOS при активации шифрования) приводит к автоматической смене ключа шифрования – эффект тот же. Обычно нужно 3 раза неправильно ввести пароль для того, чтобы потерять данные навсегда. Копии старых ключей диск не сохраняет нигде.

Вот такой диск к нам попал на прошлой неделе, и, увы, мы не смогли ничем помочь: без ключей шифрования ловить тут, что называется, некогда. Будьте осторожны с экспериментами с шифрованием на новых Sragate: защиты от «дурака» там нет, и ошибок они не прощают.

Ну и, наконец, мудреная тема о шифроключах зашифрованных шифрующими шифраторами файлов. Да-да, именно так. Имеется категория ПО, отвечающая за шифрование файлов отдельных типов или названий (по маске, например). В эту категорию входит немало приложений (CryptoBackUp, Cryptograph, FileProtectionEngine и т.п.). Устанавливая данное приложение, пользователь не имеет желания шифровать весь раздел (и это правильно), он шифрует только те файлы, которые хочет «спрятать» от злоумышленника сам. При использовании такого ПО имеется две опции: шифровать все файлы одним ключом (который пользователь либо сохраняет куда-то на внешний носитель, либо записывает на бумажку) или шифровать каждый отдельным, рандомно генерируемым программой. И вот это, по нашему мнению, ловушка. Ключи шифрования и адреса ассоциированных с ними файлов хранятся в отдельном файлике программы, естественно, в зашифрованном виде. Открывая такой файл, от вас не требуется вводить ключ шифрования: вы вводите пароль. Остальное (подстановка ключа и расшифровка данных) программа делает за вас. Но если вы вдруг переустановили систему, не сохранив зашифрованные данные в расшифрованном виде, и при переустановке удалили шифрующую программу вместе с файлом ключей, то восстановление данных становится уже очень сложной задачей. Ваши зашифрованные файлы можно легко найти и восстановить (они остаются картинками или эксель-таблицами со всеми их признаками), но вот открыть их без знания ключа шифрования (который, как мы помним, индивидуален) уже не выйдет.

И снова – опыт прошедшей недели. Заказчик вызвонил мастера переустановок Windows, который честно сохранил все данные заказчика на другой носитель, снес разметку и переустановил окна на новых разделах. По окончании установки выяснилось, что ни один word и exel-файл не открывается (естественно, они открывались в старой системе, где стояла шифропрограммка). Установка программки ничего не дала: ввод пароля (который, естественно, заказчик знал) не мог воскресить файла с ключами, и расшифровка не получалась.

Пришлось работать нам. Задача усложнялась тем, что нам вообще ничего не было известно о том, каков формат файла с ключами, как они хранятся и (что самое главное) – где. Да и уцелел ли он на переписанной поверхности? Пришлось провести небольшое исследование. Программа была установлена на несколько компьютеров, где она зашифровала разный объем данных. Затем в ее папке был найден файл ключей, который оказался шифрован 1024-битным ключом по алгоритму RSA. Возможность брут-форса, таким образом, отпала сразу (у меня нет двух миллиардов лет). К счастью, файл ключей имел одинаковую структуру (заголовок, шифрованные данные ключей, хвостик с контрольной суммой) – можно было использовать на пациенте поиск GREP (в параметры посекторного поиска вводится шестнадцатеричная маска заголовка и других параметров файла, который мы ищем), что и было проделано. На счастье, файл с ключами нашелся неповрежденным. Радостно подставив его в программу, мы ожидали увидеть расшифрованные данные, но… нет. Что-то не работало. Стукнув себя по лбу, мы вспомнили, что в файле, кроме собственно ключа, лежит еще и адрес файла, который требуется расшифровать – а после переразметки и заливки новой операционной системы адреса, естественно, изменились. Пришлось нам возвращать обратно старую разметку и восстанавливать файловую систему. Вот после этого файлики заработали.

К чему я все это написал? Шифрование – это здорово, но использовать его нужно очень аккуратно. Если используете – помните о том, что оно есть, иначе можно остаться без данных даже при полностью исправном устройстве.

-5%