Ключевые слова:
сокрытие данных, временная метка, файловая
система NTFS, защита от криминалистики, инструмент криминалистики.
Методы сокрытия данных в последнее время стали критически
важными во многих областях их применения. Аудио, видео и неподвижные
изображения все чаще встраиваются в отличительные, но незаметные метки,
которые могут содержать важную скрытую информацию или серийный код,
с целью защиты размеченных данных от несанкционированного доступа,
подделки и прямого копирования [1].
Стеганографические
и
криптографические
коды
широко
использовались в военных действиях с древних времен. Во многих случаях
успеха секретных миссий, предполагающих связь с агентами за границей,
связь
между
преступными
и
террористическими
организациями,
международный шпионаж или APT-атака зависели от способности отдавать
команды и безопасного взаимодействия. В последние 30 веков цели тайной
связи не изменились, но методы и приемы сокрытия данных постоянно
International scientific conference "INFORMATION TECHNOLOGIES, NETWORKS AND
TELECOMMUNICATIONS" ITN&T-2022 Urgench, 2022y April 29-30
604
развивались по мере появления новых подходов [2]. За
последнее
десятилетие средства массовой информации, участвующие в сокрытии
данных, неуклонно менялись: от цифровых изображений до мультимедийных
файлов и недавно переместились на мобильные устройства, поскольку
вычислительные возможности и пропускная способность сети значительно
увеличились. Эти изменения привели к тому, что утечка информации и
скрытая связь могут теперь происходить в любом месте и в любое время [2].
Существует множество способов сокрытия данных на компьютере.
Например, в системах Windows популярные методы
включают
использование альтернативных потоков данных (ADS), создание каталога
файлов для невидимой скрытой папке, шифруя файлы с помощью
инструментов шифрования, таких как TrueCrypt и Windows BitLocker,
используя инструменты стеганографии, такие как Camouflage, OpenStego и
QuckStego и т. д., с использованием сжатых файлов, таких как zip, 7-zip и rar
и т. д., а также путем использования физических особенностей архитектуры
накопителя, такой как зарезервированная область диска называемая также
защищенной областью хоста (HPA)[2].
Значительное количество исследований посвящено искусству сокрытия
данных с использованием преимуществ структурной характеристики
файловых систем операционных систем (ОС). К.Экштейн и М.Янке
рассматривали различные методы, связанные с расширенными файловыми
системами, и предложили метод сокрытия данных, который хранил
существенные данные в журналируемых файловых системах ext3 Linux с
низкой обнаруживаемостью [3].
Windows API для адресации файлового времени.
Windows API
предоставляет несколько функций, связанных со временем файла, для
обработки временных меток. Функция
GetFileTime()
используется для
получения времени файла для указанного файла. Эта функция копирует
создание, последний доступ, и время последней записи в отдельные
структуры
FILETIME
. Функция
SetFileTime()
используется для установки
времени для файла. Эта функция позволяет пользователю изменять время
создания, последнего доступа и последней записи без изменение
содержимого файла. Для сравнения времени разных файлов используется
функция
CompareFileTime(),
которая сравнивает время двух файлов и
возвращает 0, если время равно. Функция
SystemTimeToFileTime()
используется для преобразования даты и времени дня во время файла и для
получения системного времени в структуре
FILETIME
, вызвав функцию
GetSystemTimeAsFileTime(). Функция
FileTimeToSystemTime()
используется,
чтобы упростить отображение времени файла для пользователя, и
преобразует
file time
копируя месяц, день, год и время суток из файла
time
в
структуру
SYSTEMTIME
. Преобразуемое значение
FILETIME
должно быть
0x7FFFFFFFFFFFFFFFF
или меньше. Это соответствует времени
30828-09-
14 02:48:05.4775807.
International scientific conference "INFORMATION TECHNOLOGIES, NETWORKS AND
TELECOMMUNICATIONS" ITN&T-2022 Urgench, 2022y April 29-30
605
При изменении временной метки файла с помощью функции
SetFileTime(),
нам будет разрешено изменить только три отметки времени:
время создания, время модификации и время доступа. Он не предоставляет
доступ к изменению времени модификации записи MFT, поэтому с помощью
инструментов криминалистического анализа можно с легкостью определить
был ли файл обработан инструментами изменения времени файла. Однако, к
счастью, окно проводника Windows и командная строка не отображают
время изменения записи MFT, поэтому становится затруднительным узнать,
были ли изменены временные метки.
Алгоритм, используемый для сокрытия данных в метках времени
1.
Введите произвольную длину данных, которые нужно скрыть.
Подсчитайте длину символа (dl) и получите количество файлов, которые
используется для сокрытия данных. Выделите 16 байт для lenFB (длина
блока файла).
data2hide=input() (1)
lenFB=16
(2)
2.
Подсчитайте количество файлов для обработки с помощью data2hide
и lenFB.
noFile=ceiling(data2hide, lenFB) (3),
где функция ceiling() выполняет вычисление как
INTEGER(data2hide/lenFB)+1.
3.
Выберите имена файлов в соответствии с noFile.
fileName[i]=fileSelect(noFile) (4)
4.
Если сохранить данные в нескольких файлах, порядок выбранных
файлов действует как секретный ключ, сохраняемый в массиве ключа [без
файла]. Если мы сохраним данные в один файл, нет необходимости
сохранять порядок выбранного файла. key[noFile] нельзя хранить там же, где
и файл со скрытыми данными.
key[i]=fileOrder(fileName[i]) (5)
5.
Применение функции Windows API NtQueryInformation() к
выбранному файлу, четыре метки времени $SI и $FN извлекаются
соответственно в шестнадцатеричном формате, где TS
org_x
является
представителем четырех исходных меток времени C, M, E и A до того, как
ими будут манипулировать.
TS
org_x
=getTimestampsHex(fileName[i]) (6)
6.
Если каждая временная метка TS
org_x
должна выполнять побитовое
AND-маскирование с 0xFFFFFFFFFFFFFF0000, то результат TS
org_x
будет
равен:
TS
org_x
= T
7
T
6
T
5
T
4
T
3
T
2
0
1
0
0
(7)
7.
Данные для скрытия data2hide
_x
в исходной метке времени и TS
org_x
обрабатываются следующим образом:
TS
hide_x
= TS
org_x
+data2hide
_x
(8)
TS
hide_x
= T
7
T
6
T
5
T
4
T
3
T
2
D
1
D
0
(9)
International scientific conference "INFORMATION TECHNOLOGIES, NETWORKS AND
TELECOMMUNICATIONS" ITN&T-2022 Urgench, 2022y April 29-30
606
8.
Вызовите функцию FuncsetMace() в аргументах с назначенной
меткой времени:
FuncsetMace(TS
hide_C
, TS
hide_W
, TS
hide_E
, TS
hide_A
) (10)
9.
Перейдите к шагу 3 и повторите, если процесс не завершен. В
противном случае происходит завершение.
Предлагаемый анти-криминалистический метод сокрытия данных в
временных метках является новым подходом для решения задач сокрытия
данных в метках времени. В то время как эксперты, использующие
инструменты криминалистической экспертизы, могут видеть все временные
метки, обнаружить наличие скрытых данных в временных метках становится
затруднительным.
Для создания сложного анти-криминалистического инструмента с
использованием предлагаемого метода требуется больше функций
графического интерфейса. Чтобы упростить его использование для доступа к
системным файлам, была добавлена криптография, с той целью, чтобы
судебно-криминалистические эксперты не могли интуитивно или случайно
обнаружить скрытые данные, и разработки приложения для других новейших
файловых систем, таких как FAT32, Ext3, 4 и 5, HFS +, yaffs и т.д.
Do'stlaringiz bilan baham: |