Научная статья на тему 'Анализ методов контроля целостности файлов'

Анализ методов контроля целостности файлов Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
1060
115
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СРЕДСТВА ЗАЩИТЫ ИНФОРМАЦИИ / ХЭШ-ОБРАЗ / WINAPI / ФАЙЛОВАЯ СИСТЕМА

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Тараканов О.В.

Подсчет контрольной суммы файлов важная и неотъемлимая процедура для любого СЗИ. Антивирусные системы используют, в частности, данную функцию при контрольной сверке аутентичности обновлений баз данных, полученных посредством незащищенных каналов связи. Кроме этого, любая СЗИ обеспечивает самоконтроль целостности, что предполагает проверку подлинности полученных файлов. Также, установка СЗИ из дистрибутива требует от оператора, производящего установку, сверить контрольные суммы установщика, с целью удостоверения подлинности полученной копии продукта. Вопросы качества генерации контрольной суммы (хэш-функции) файлов остаются за пределами данной публикации, акцент делается не на оценку качества алгоритма хеширования [1-2], а на другие аспекты процесса выработки контрольной суммы. Таким образом, следует провести анализ существующих методов и подходов к технологии контроля целостности файлов. Используемые сокращения: СЗИ средства защиты информации. ФСТЭК Федеральная служба по техническому и экспортному контролю.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Анализ методов контроля целостности файлов»

АНАЛИЗ МЕТОДОВ КОНТРОЛЯ ЦЕЛОСТНОСТИ ФАЙЛОВ

© Тараканов О.В.*

Национальный исследовательский ядерный университет МИФИ, г. Москва

Подсчет контрольной суммы файлов - важная и неотъемлимая процедура для любого СЗИ. Антивирусные системы используют, в частности, данную функцию при контрольной сверке аутентичности обновлений баз данных, полученных посредством незащищенных каналов связи. Кроме этого, любая СЗИ обеспечивает самоконтроль целостности, что предполагает проверку подлинности полученных файлов. Также, установка СЗИ из дистрибутива требует от оператора, производящего установку, сверить контрольные суммы установщика, с целью удостоверения подлинности полученной копии продукта.

Вопросы качества генерации контрольной суммы (хэш-функции) файлов остаются за пределами данной публикации, акцент делается не на оценку качества алгоритма хеширования [1-2], а на другие аспекты процесса выработки контрольной суммы. Таким образом, следует провести анализ существующих методов и подходов к технологии контроля целостности файлов.

Используемые сокращения:

СЗИ - средства защиты информации.

ФСТЭК - Федеральная служба по техническому и экспортному контролю.

Ключевые слова средства защиты информации, хэш-образ, WmAИ, файловая система.

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

Чтобы произвести подсчет контрольной суммы файла, необходимо получить его содержимое и согласно определенному алгоритму, такому, как МБ5, SHA256, ГОСТ Р 34.11-2012, произвести хэширование полученного буфера с содержимым файла. Такие утилиты, как cpverify.exe и vipnethashcalc-tool.exe, которые имеют сертификацию ФСТЭК [3], используют следующую схему обращения к файловому хранилищу и получению файлов с целью вычисления контрольной суммы (рис. 1).

* Ассистент кафедры Компьютерных систем и технологий.

Утилита подсчета

контрольных сумм \____

Рис. 1. Схема получения содержимого файла для контроля целостности

Приложение, которое запускается в пользовательском режиме ОС семейства Windows посредством WinAPI открывает файл на чтение и производит чтение содержимого файла. Затем, файл закрывается и производятся необходимые операции, обусловленные алгоритмом вычисления контрольной суммы.

Утилита cpverify.exe производит последовательное чтение блоками по 32768 байт (рис. 2), по умолчанию контрольная сумма подсчитывается в соответствии с ГОСТ Р 34.11-94.

Рис. 2. Протокол получения контрольной суммы утилитой cpverify.exe

Утилита vipnethashcalc-tool.exe позволяет самостоятельно выбрать алгоритм контрольного суммирования из заранее заданного списка. Протокол запуска представлен на рисунке (рис. 3).

C:\Xiipnethashcalc—tool.exe test_file_2.txt —hash~alg Gostl25256 UiPNet hash calculation tool.

verif iable-f ile : "test_f ile_2 .txt"

file-size: 149195966 hash-algorithm: GOST ft 34.11-2012/256

calculated—hash—иalue: 83C0DA7A244D35ADB3132F61073DF71BE322622B05E12BQE8F3235A1D АШС14ЕШ

Рис. 3. Протокол запуска утилиты vipnethashcalc-tool.exe

При помощи утилиты Process Monitor от фирмы Microsoft, представляется возможным произвести аналогичный анализ, который проведен и для утилиты cpverify.exe, а именно - получить протокол обращения данных утилит к функциям WinAPI, с последующим анализом последовательности действий (рисунок 4). В данном случае, утилита vipnethashcalc-tool.exe производит открытие файла в режиме чтения с последующим чтением содержимого с начала блоками по 4096 байт.

11 36

11 36

1136

1136

11 36

11:36

1136

1136

1136

1136

11:36:.

11 36

11 36

11 36

■ v©nethashcalc4ool е.

■ vpn«haihcaic4o6 о

• >npnethashc«ic4ool о wpnethashcak: <oote>

■ vvnethMhcafc-tooi е

■ vx5oethashcalc<ool в

■ vipnethashceic4ooi е>

• wonethashca»c400f в v*jnethashcalc4ool в

■ v*nethashcalc<oci е>

■ wnethashcalctoole)

■ vipnethashcalc-tool в

■ vxx>ethashc«lc<ool e> ■' v*xiethashcalc4oc< e>

112712 ikC/еЛе Fie 112712 9k Query StandardWormabon Fie 112712 jftReadFie 112712 «»ReadFie 112712 «.ReadFie 112712 Read Fie 112712 ¡0kReadHe 112712 ^ReadFie 112712 -AReadFie 112712 3k Read Fie 112712 9k Read Fie 112712 8» Read Fie 112712 0k Read Fie 112712 ^ReadFie

С 4e«_Ne_2M SUCCESS Desred Axes* Genenc Read. Oeposton

С 'tert_He_2M SUCCESS ¿tocatenSte 149 196 800. bxiOfFie 14!

С Je*_fie_2M SUCCESS Offset 0 Length 4 0%. Pnorty Normal

C4est_«e_2tat SUCCESS Offset: 4 096Length 4 096

С 4ee_Ne_2.M SUCCESS Off eel 8 192. Len^h 4 096

С Чев_Не_2М SUCCESS Offset 12 288. Length 4 096

С ^еЯ_Ые_2м SUCCESS Off»« 16 384. Length 4 096

С ^est_Ne_2w SUCCESS Offset 20 480. Length 4 096

C4e«_tte_2M SUCCESS Off«* 24 576. Length 4 096

С ЧеМ He 2 Ы SUCCESS Offset 28 672. Length 4 096

С Ч<х*_Не_2Ы SUCCESS Offset : 32 768. Length 4 096

С «я> 2M SUCCESS Offset 36 864. Length 4 096

С ЧеЯ_Ые_2 M SUCCESS Offset 40 960. Length 4 096

C 4esl_«e_26e SUCCESS Offset 45 056. Length 4 096

Рис. 4. Протокол получения содержимого файла утилитой vipnethashclac-tool.exe

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

Кроме обозначенных утилит, также имеет место отдельный программный продукт, задачей которого является отслеживание изменений файлов, посредством ведения базы данных контрольных сумм и периодической сверке текущей контрольной суммы с эталонной. Данный программный продукт разрабатывается организацией ООО «Центр безопасности информации», имеет название: Средство фиксации и контроля исходного состояния программного комплекса «ФИКС» [4]. ПО «ФИКС» разработано для операционную систему семейства Windows, работает, в том числе, в рамках Windows 7 и, являясь средством контроля защищенности, имеет сертификат ФСТЭК. Программный продукт «ФИКС» имеет два основных режима работы -«Фиксация версии» и «Контроль целостности».

В режиме «Фиксация версии» создается перечень эталонных контрольных сумм, с которыми затем будет производиться сравнение. Процесс создания эталонных контрольных сумм, с точки зрения использования системных вызовов WinAPI выглядит следующим образом (рис. 5). Производится

последовательное чтение содержимого всех вложенных директории, содержимое которых подлежит обработке в режиме «Фиксация версии». Запрос виде QueryDirectory с использованием фильтра «*», позволяет получить все содержимое директории, а также определить наличие вложенных директорий, которые затем подлежат рекурсивному анализу (в случае активации такой опции). После получения информации о содержимом директорий, формируется список файлов, содержимое которых необходимо получить для вычисления контрольной суммы.

Monitor

СЁ В А » & <? Д ф я н ч 1ШЖШ5Ш

Tmeaf Ооу ГЧкхмЫагге

234344 19*9014 * 5cmmm

23 43 44 1570441 In.SMlaa

23 4 3 44.1970749 Й . So«««

23 43 44.1971043 ft -» So« о»

234344 197151S fti- So« см

23 4 3 44 1972849 ft « So« да

234344,1973176 ft -. So«e*e

2343 44 1973474 ft -x« ю

23 43 44.1974002 la Sc<ae

234344 1979391 ft-.. So««*«

23 4344 1930828 ft;. S3««M

23 43 44 1931131 Й a brnmm

23 4344 1531425 К и So« ем

23 43 44 1561915 ft-. >« <ue

23 43 44 1 «3259 ft •• So« те

2343 44 1933572 ft-. So***

23 43 44.1933870 ft -. So« mm

23 4 3 44.1584393 £ ■ So« e*e

23 43 44.19837S9 S-. -.•.««*

23 43 44 1991191 ft I. So«e<e

23 43 44 199 U99 ft-.

2343 44 1951789 1» >:«-.f

23 43 44 199227» jftu_So«e.e

322* AOowF* С

3224 IkCrmeFte С. 3224 iC^r,Оплоту С 3224 »QuoyCWedory С:

3224 ACtoseFfe С

3224 «CrNtefo С 3224 АОыоОгаоогу С 3224 kOuvyfrwettry С 1224 ItQuoyCbKftxy С:

3224 МьОомП« С

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

3224 «.CxMlefte С 3224 АСщагуОтемгу С 3224 kO*ryOnxiory С.

3224 кОомР*« С

3224 кСгмкеН« С 3224 «.ОыгуОлккуу С 3224 jj kOuoyO>«ct«ry С 3224 jjibQueryQradory С

3224 kOowft« С

3224 С 3224 MtOuaryOiwctay С 3224 QueryCiredory C'CMt.l

3224 С '«M.I

«MtJWulattMMt

RnJ Datai

SUCCESS

SUCCESS De«*d Acceat Read D«a b« Clwctory Syndvorue Oapoaftcn Opan .O

SUCCESS F*m ' 1

SUCCESS 0 1 2 tomo. 3 on»««. 4 fm 5 hmpda. 6 a* 7 k*. 8

SUCCESS

SUCCESS Oaa»ad fcxea* Read 0«a b« Qnctory Sfxtrw. OwpoaAon Opan.O

SUCCESS Hur • 1

SUCCESS 0 1 dwte. 2eoi*b6.3 *46 6«.4»itxi#ivcyM Slx#kd6niBe.6 '

MO MORE

SUCCESS

SUCCESS Deared access Read 0ota.1i« Directory Sjrrfrn« Ojpoafecn Open 0

SUCCESS f*m • 1

SUCCESS 0 I tfvjcasy.. 2 t*no . 3 crwM. 4 <?th. 5 txtfa 5 jgvf 7 SUCCESS

SUCCESS Dcarcdkxen Reed 0«aAj« Dwdory. Synctarue. CMpoafeon Open.O

SUCCESS Ftar " i

SUCCESS 0 1 «r-pdtkr-fcw M 2 (Wc-VJK. 3 /Jc^M 4 JX^TM 5 kwfM

NO MORE

SUCCESS

SUCCESS Deand Accew Read Oata Ut Oectiyy Sjr*Jw« Cfccoafcon Open 0

SUCCESS RNr-1

SUCCESS 0 I t^jesw^ 2 trx>. 3 cryyttv 4 5 hnoda 6 jgarf 7 kw< i SUCCESS

Рис. 5. Процесс чтения содержимого директорий в режиме «Фиксация версии» ПО ФИКС

Затем происходит последовательное чтение каждого из файлов. Чтение файла производится по схеме: открытие файла (OpenFile), чтение содержимого (ReadFile), закрытие файла (CloseFile). Как видно, при выработке эталонных контрольных сумм используется стандартный набор функций WinAPI. По мере чтения каждого из файлов и подсчета контрольных сумм, производится запись во внутреннее хранилище посредством вызова WriteFile буфера размером 128 байт. В результате формируется итоговый отчет (табл. 1).

Таблица 1

N п/п ИМЯ файла Время записи Длина ,байт Кол-во.стр КС

1 chciipfw.txt 26.02.15 23-20 6564 - 1edf06c6

2 dnlxbe.txt 26.02.15 23-21 6585 - 127cf15 8

3 eehsikilvc.txt 26.02.15 23-21 6376 - 67721391

Итого 20 файлов 130513 0 1ddcb01f

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

# 289: kcgyqwygg.txt :26 02.15 23-59: 100: - :206b26b9

## 289: kcgyqwygg.txt :26.02.15 23-56: 100: 0 :fl6c867f

В операционной Freebsd, штатными утилитами, которые осуществляет вычисление контрольной суммой являются: md5, sha256. Чтение содержимого файла, для которого необходимо подсчитать контрольную сумму, производится посредством ряда системных вызовов. Вначале совершается системный вызов open, а затем - read. Полученное файловое содержимое обрабатывается в соответствии с алгоритмом md5, либо sha256, в результате, на экран формируется сгенерированный хэш.

Архитектура ОС Windows в части файловой подсистемы предоставляет штатные механизмы контроля файловых операций различным ПО. Эти механизмы следует использовать при разработке средств оценки устойчивости. Использование нештатных механизмов контролируется отдельными антивирусными средствами и повышает вероятность обнаружения обозначенного средства оценки устойчивости в качестве вредоносного ПО.

Современные утилиты подсчета контрольных сумм файлов (в том числе использующие алгоритм, описанный в ГОСТ Р 34.10-2012) не имеют самоконтроля при вычислении контрольной суммы, в случае, когда происходит подмена содержимого файла в динамическом режиме.

Список литературы:

1. Захаров В.М. Модель функции усложнения в генераторе псевдослучайных последовательностей над полем GF(2) // Прикладная дискретная математика. - 2014. - No. 7.

2. Васильев Н.П. Разработка и исследование алгоритмов хэширования и генерации псеводослучайных последовательностей / МИФИ. - М., 1998.

3. Федеральная служба по техническому и экспортному контролю [Электронный ресурс]. - Режим доступа: http://fstec.ru (дата обращения: 28.02.2015).

4. Средство фиксации и контроля исходного состояния программного комплекса «ФИКС» (версия 2.0.1) [Электронный ресурс]. - Режим доступа: http://www.cbi-info.ru/groups/page-345.htm (дата обращения: 28.02.2015).

ОЦЕНКА УСТОЙЧИВОСТИ АНТИВИРУСНЫХ СРЕДСТВ К ЛОЖНЫМ СРАБАТЫВАНИЯМ, ВЫЗВАННЫХ СОБСТВЕННЫМИ ФАЙЛАМИ АНТИВИРУСА

© Тараканов О.В.*

Национальный исследовательский ядерный университет МИФИ, г. Москва

Факты ложных срабатываний, описанные в открытой печати, относятся только лишь к случайным ошибкам в ПО антивирусов, в том чис-

* Ассистент кафедры Компьютерных систем и технологий.

i Надоели баннеры? Вы всегда можете отключить рекламу.