Знищення даних — послідовність операцій, призначених для здійснення програмними або апаратними засобами безповоротного видалення даних, у тому числі залишкової інформації.
Опис
Як правило, знищення даних використовуються державними установами, іншими спеціалізованими структурами і підприємствами в цілях збереження державної або комерційної таємниці. Існує широкий спектр доступних програмних засобів безпечного знищення даних, у тому числі програми з відкритим вихідним кодом. Знищення даних використовується також у засобах програмного шифрування інформації для безпечного видалення тимчасових файлів і знищення вихідних, оскільки в іншому випадку, використовуючи класичне видалення, існує можливість відновлення вихідного файлу особою, яка бажає отримати доступ до особистої або секретної інформації.
Алгоритми знищення інформації стандартизовані, практично у всіх провідних державах видані національні стандарти, норми і правила, що регламентують використання програмних засобів для знищення інформації і описують механізми його реалізації.
Всі програмні реалізації алгоритмів знищення даних засновані на простих операціях запису, тим самим відбувається багаторазовий перезапис інформації в секторах жорсткого диска або блоках SSD-диска неправдивими даними. В залежності від алгоритму це може бути згенероване генератором псевдовипадкових чисел випадкове число або фіксоване значення. Як правило, кожен алгоритм передбачає запис восьми бітових одиниць (#FF) і нуля (#00). В існуючих алгоритмах перезапис може здійснюватися від одного до 35 і більше разів. Існують реалізації з можливістю довільного вибору числа циклів перезапису.
Теоретично, найпростішим методом знищення вихідного файлу є його повний перезапис байтами #FF, тобто бітовою маскою з восьми двійкових одиниць (11111111), нулів або будь-яких інших довільних чисел, тим самим зробивши неможливим його програмне відновлення доступними користувачеві програмними засобами. Однак з використанням спеціалізованих апаратних засобів, що аналізують поверхню магнітних та інших носіїв інформації і дозволяють відновити вихідну інформацію виходячи з показників залишкової намагніченості (у випадку з магнітними носіями) або іншого показника, існує ймовірність, що найпростіший перезапис не гарантує повноцінне знищення, інформації, що підлягає повному знищенню .
Алгоритми знищення даних
З метою виключення будь-якої можливості відновлення розроблені алгоритми знищення даних.
- Найбільш відомий і поширений алгоритм, який застосовується в американському національному стандарті Міністерства оборони DoD 5220.22-M. Варіант E, згідно з цим стандартом, передбачається два цикли запису псевдовипадкових чисел і один — фіксованих значень, залежних від значень першого циклу, четвертий цикл — звірка записів. У варіанті ECE перезапис даних проводиться 7 разів — 3 рази байтом #FF, три #00 і один #F6.[1]
- В алгоритмі Брюса Шнайера: у першому циклі записується #FF, в другому — #00 та в п'яти інших циклах — псевдовипадкові числа. Вважається одним з найбільш ефективних.
- У найбільш повільному, але, на думку багатьох експертів, найбільш ефективному[джерело не вказане 4153 дні] алгоритмі Пітера Гутмана, виконуються 35 циклів, в яких записують усі найбільш ефективні бітові маски, даний алгоритм заснований на його теорії знищення інформації[2]. Сама публікація Ґутманна містить чимало помилок та необґрунтованих припущень.[3]
Цикл
|
Дані
|
Цикл
|
Дані
|
1
|
Псевдовипадкові
|
19
|
#99
|
2
|
Псевдовипадкові
|
20
|
#AA
|
3
|
Псевдовипадкові
|
21
|
#BB
|
4
|
Псевдовипадкові
|
22
|
#CC
|
5
|
#55
|
23
|
#DD
|
6
|
#AA
|
24
|
#EE
|
7
|
#92 #49 #24
|
25
|
#FF
|
8
|
#49 #24 #92
|
26
|
#92 #49 #24
|
9
|
#24 #92 #49
|
27
|
#49 #24 #92
|
10
|
#00
|
28
|
#24 #92 #49
|
11
|
#11
|
29
|
#6D #B6 #DB
|
12
|
#22
|
30
|
#B6 #DB #6D
|
13
|
#33
|
31
|
#DB #6D #B6
|
14
|
#44
|
32
|
Псевдовипадкові
|
15
|
#55
|
33
|
Псевдовипадкові
|
16
|
#66
|
34
|
Псевдовипадкові
|
17
|
#77
|
35
|
Псевдовипадкові
|
18
|
#88
|
- В алгоритмі, передбаченому американським національним стандартом NAVSO P-5239-26 для MFM-кодуючих пристроїв: в першому циклі записується #01, в другому — #7FFFFFF, в третьому — послідовність псевдовипадкових чисел, в четвертому проходить верифікацію. У варіанті для RLL — кодуються пристроїв даного алгоритму у другому циклі записується #27FFFFFF
- В алгоритмі, наведеному німецьким національним стандартом VSITR, з першого по шостий цикл записуються послідовно байти #00 #FF, в сьомому #AA.
- Багато де можна почути про існування алгоритму, описаного російським державним стандартом ГОСТ P 50739-95, що передбачає запис #00 в кожен байт кожного сектора для систем з 4-6 класу захисту і запис псевдовипадкових чисел в кожен байт кожного сектора для систем 1-3 класу захисту[4]. Однак даний ГОСТ містить лише формулювання «Очищення має проводитися шляхом запису маскуючої інформації в пам'ять при її звільненні і перерозподіл», яка не містить будь-якої деталізації щодо порядку перезапису, кількості циклів і бітових масок[5]. У той же час, існує діючий керівний документ Державно технічної комісії Росії «Автоматизовані системи. Захист від несанкціонованого доступу до інформації. Класифікація автоматизованих систем і вимоги по захисту інформації», виданий в 1992 році і передбачає низку вимог до механізму знищення інформації для систем певних класів захищеності. Зокрема, для класів 3А і 2A Очищення здійснюється дворазової довільній записом у область пам'яті, що звільняється, раніше використану для зберігання даних, що захищаються (файлів)», для класу 1Г передбачена одноразовий перезапис.[6]
- В алгоритмі Парагона перший цикл полягає в перезапису унікальними 512-бітними блоками, використовуючи криптографічно безпечний генератор випадкових чисел. Потім — у другому циклі — кожен перезаписуваний блок переписується своїм двійковим доповненням. Третій цикл повторює перший цикл з новими унікальними випадковими блоками. У четвертому циклі відбувається перезапис байтом #AA. Завершується знищення інформації циклом верифікації.
Як правило, для утруднення програмного відновлення інформації перезапис інформації в окремому файлі згідно алгоритму знищення супроводжується встановленням нульового розміру файлу і його перейменуванням, використовуючи довільний набір символів. Потім слід видалення файлу з таблиці розміщення файлів.
Примітки
Посилання