Файли-привиди як криміналісти відновлюють надійно видалені дані

Для слідчого, який проводить аналіз комп'ютера підозрюваного, завжди є дані, які мають особливий інтерес. Але декому здається, що й перезаписати область, де був файл, випадковими даними, то відновити нічого не вдасться. Це правда, але лише частково. Навіть після такого перестрахування дані нерідко вдається отримати!

Файли зображень

Почнемо з розгляду простої нагоди — видалення звичайної фотографії. Припустимо, у нас є папка з фотографіями, і ми позбавляємося однієї з них. Причому видаляємо за всіма правилами, перезаписав потрібну область диска кілька разів. За ідеєю більше нічого не повинно видавати її існування (якщо ми до цього не скопіювали її в іншу папку і не забули про це). Але тут якраз багато хто і забуває про одну особливість Windows - файл Thumbs.db. Це спеціальне сховище, що використовується операційною системою, де знаходяться ескізи зображень з поточної папки. Якщо у провіднику вибрати режим відображення "Ескізи сторінок", то операційна система братиме зменшені превьюшки зображень саме з цього файлу. Він створюється в кожній папці, в якій є зображення, і містить зменшені ескізи зображень у форматі JPEG (незалежно від формату вихідного зображення).

sdelete .exe -p 2 file1 .jpg

Параметр р відповідає за кількість проходів шредера, тобто вказує скільки разів файл буде перезаписаний перед видаленням. В результаті зображення буде безповоротно стерте з жорсткого диска. Але подивимося, чи вплинуло це видалення на Thumbs.db? Наново відкриваємо його, і що ми бачимо? Ескіз для віддаленої картинки, як і раніше, на місці! Виходить, що файл легко може містити ескізи віддалених зображень. І на цьому, як мені розповідали, попалася не одна розумна людина.

Як цьогоуникнути? Дуже просто – потрібно просто вимкнути кешування ескізів у файлах Thumbs.db. У Windows XP необхідно встановити для ключа DisableThumbnailCache у розділі HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced значення "1". У Windows 7 цей ключ має ім'я NoThumbnailCache і знаходиться в HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer. І, ясна річ, важливо не забути видалити всі Thumbs.db.

Файл підкачки

Основи з боку операційної системи на одному файлі з ескізами не закінчуються. У міру роботи з документом інформація про нього потрапляє до різних частин ОС — тимчасової папки, реєстру і так далі. Тому дуже важко відстежити та видалити всі пов'язані з файлом дані. Крім того, є місця, де копія файлу може виявитися зовсім випадково (іноді така випадковість може коштувати дуже дорого). Я говорю про файл підкачки (pagefile.sys) і своп пам'яті, що використовується під час режиму Hibernation (hiberfil.sys). Передбачити вміст файлу підкачки наперед неможливо, і тут ніхто нічого не може гарантувати. Пропоную ще на одному експерименті переконатися, що це — небезпечне місце.

#foremost -i /mnt/hda1/pagefile.sys -o /root/Desktop/page_file -v -q

Як вхідний файл я вказав файл підкачки /mnt/hda1/pagefile.sys, а директорію для збереження результатів - /root/Desktop/page_file. Програма розпочала свою роботу. За короткий час Foremost зумів знайти та витягти 524 файли.

Статистика вилучених файлів: jpg:= 73 gif:= 4 gif:= 19 jpg:= 77 jpg:= 95 doc:= 1 pgp := 65 pgp:= 62 pgp:= 44 pgp:= 36 dat:= 7 lnk:= 3 cookie:= 38

Що тут можна зробити? Є кілька варіантів. Перший - відключити взагалі файл підкачування. Для цьоготреба зайти в "Control Panel-System & Security-System System Advanced System Settings-Performance-Advanced-Virtual Memory-Change" і вибрати опцію "No paging file". Другий варіант - змусити операційну систему затирати всі дані у файлі підкачування перед вимкненням комп'ютера. Такий режим активується, якщо встановити ключ ClearPageFileAtShutdown у розділі HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Control\Session Manager\Memory Management значення "1". На жаль, другий метод дуже повільний, і виключення системи займатиме досить тривалий час, тож застосовувати його на практиці чи ні — вирішуй сам. Аналогічна ситуація з файлом hiberfil.sys. Його також можна просто вимкнути, що заощадить додаткове місце на диску.

Дефрагментація

Перейдемо до наступної причини появи файлів-привидів. Щоб було наочніше і зрозуміліше — знову ж таки проведемо невеликий експеримент. Для нього нам знадобиться флешка та вміння поводитися з WinHex'ом. Спочатку забезпечимо умови для досвіду, вилучивши всі дані з флешки. Для цього запустимо WinHex, віддамо команду Open Disk і у вікні виберемо наш девайс. Після відкриття повністю виділяємо весь вміст (Ctrl+A) і забиваємо нулями (Ctrl+L). Одне зауваження - процес перезапису займає достатню кількість часу, тому рекомендую взяти меншу флешку. З цього моменту на драйві немає даних і більше файлової системи. Отже, наступним кроком буде форматування флешки в NTFS. За промовчанням Windows XP дає форматувати флешку лише у FAT, але для наших маніпуляцій потрібно NTFS. Щоб операційна система дозволила відформатувати пристрій у потрібну нам файлову систему, необхідно зайти до диспетчера пристроїв, знайти там флешку і в параметрах встановитиопцію "Optimize for performance". Після цього вінда зможе відформатувати флешку у NTFS.

Ну що ж, настав час навести лад: не діло, коли файли ось так розкидані по диску :). Запускаємо дефрагментацію, настільки улюблену користувачами для нашого носія:

Analysis Report 7 , 47 GB Total , 7 , 43 GB ( 99 %) Free , 0 % Fragmented ( 0 % file fragmentation )

Defragmentation Report 7, 47 GB Total, 7, 43 GB (99%) Free, 0% Fragmented (0% file fragmentation)

Правда і міфи про магнітну мікроскопію

"Добре, — скажеш ти, — а як щодо серйозних приладів, які є у компетентних органів, які вміють відновлювати дані?" Ну що ж, давай поговоримо про магнітну мікроскопію. Суть методу полягає в тому, щоб визначити стан кожного біта до його перезапису. Тобто, чи дорівнював він одиниці або нулю. Візьмемо текст у кодуванні ASCII. Кожен символ кодується вісьмома бітами таким чином, що якщо навіть один біт відновлено невірно — виходить зовсім інший символ. Наприклад, є послідовність символів "anti", що виглядає в бінарному вигляді наступним чином: 01100001011011100111010001101001. Припустимо, що магнітна мікроскопія правильно визначила всі біти, крім останнього - в результаті такого відновлення ми отримуємо послідовність. Проблема виходить. І це ми говоримо про найпростіший текстовий файл. Уяви, що буде у випадку зі структурованими форматами — такими як архіви, файли БД, файли, що виконуються і так далі. На додаток до цього метод досить повільний і дорогий. Тож у багатьох випадках використання магнітної мікроскопії дає такий самий точний результат, як і відновлення шляхом підкидання монетки на "орел-решка". Тому немає потреби по три рази перезаписуватидиск.

Найкращий захист це напад

Що можна зробити, щоб ускладнити життя людям, яких може потрапити для експертизи твій комп'ютер? Тут є кілька варіантів. У випадку, якщо на комп'ютері знайшли "цікавий" файл, час створення буде вагомим доказом проти його власника. Щоб простежити ланцюг подій, експерти також спираються на час створення/доступу/модифікації файлу. То чому б не заплутати сліди? На сайті metasploit.com є така чудова утиліта, як Timestomp, яка дозволяє змінювати час створення, модифікації чи доступу для заданого файлу. Основні опції для її використання:

-m date > задає дату останньої модифікації файла - a date > задає дату останнього доступу до файлу -c date > задає час створення -e date > задає час модифікації файлу, що зберігається в MFT -z date > задає чотири перелічені вище параметри

Дата задається у такому вигляді: DayofWeek Month\Day\Year HH:MM:SS [AMPM].

Є ще дуже цікава опція -b, яка встановлює перераховані вище атрибути таким чином, що відома в колах комп'ютерних криміналістів програма EnCase їх не бачить і відображає порожніми :).

Таким чином, щоб змінити атрибути файлу, достатньо виконати в консолі команду:

c: \>timestomp .exe boot .ini - z "sunday 1/12/2099 10:00:00 pm"

Легко можна накидати скриптик, який рекурсивно змінюватиме тимчасові атрибути файлів. Найпростіший варіант виглядає так:

for / R c : \ tools \ % i in (*) do timestomp . exe % i - z "monday 3/12/2009 10:00:00 pm"

Є й інші способи зіпсувати життя товаришам-дослідникам чужих HDD. У своїй роботі вони використовують програми, написані звичайними людьми, а тому містять помилки. Так-так, ми можемо використовувати вразливість програмного забезпечення, що використовується для пошуку доказів. Докладніше про це можна почитати на одній з доповідей з конференції DefCon.

Висновок

"Безпечне видалення даних" – це не панацея. Смію тебе запевнити, що описані лазівки — не єдині у своєму роді. І той, хто за діяльністю проводить експертизи комп'ютерів на професійному рівні, знає, де і як знайти необхідні йому дані. Тепер твоя безпека в твоїх руках - не дай "мисливцям за приведеннями" знайти жодного "примари" на твоєму комп'ютері. А ще краще – не давай їм приводу приходити до тебе у гості :).