Научная статья на тему 'О ложных срабатываниях средств защиты информации'

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

CC BY
375
78
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ЛОЖНЫЕ СРАБАТЫВАНИЯ / FALSE OPERATIONS / ХЕШ-СУММЫ / АНТИВИРУСЫ / ANTIVIRUSES / ОШИБКИ ПЕРВОГО РОДА / СРЕДСТВА ЗАЩИТЫ ИНФОРМАЦИИ / DATA PROTECTION SOFTWARE / СИСТЕМНЫЕ ВЫЗОВЫ / SYSTEM CALLS / CHECKSUMS / FALSE POSITIVE

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

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

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Сильнов Д.С., Тараканов О.В.

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

About erroneous outcomes of data protection software

Developers of modern data protection software do not pay enough attention to false positive problem while calculating checksum of its files and other data delivered using insecure data transport. That leads to major problem, if attacker can replace checksum or replace process of getting data from file, then most of antiviruses and other very important software will be compromised. Authors of that article developed software for assessing the stability of data protection against different attacks. Method that shows possibility to compromise large amount of systems based on specific of operation system's file request operations. Software was also developed and tests show that many important utilities such as md5, sha256 (for FreeBSD) and cverify. exe, vipnethashcalc-tool. exe (both of them certified in Russia as data protection software) are not protected against false errors while calculating checksums. Errors appear in 100% test cases. In addition, tests were made for software called «FIKS 2.0.1» witch have special license from Federal Service for Technical and Export Control of Russia (FSTEC). That software also unprotected against false errors and tests proves that.

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

Vol. 10. No. 2 (56). 2015

Д. С. Сильнов, канд. техн. наук, доцент НИЯУ «МИФИ», г. Москва, ds@silnov.pro О. В. Тараканов, ассистент НИЯУ «МИФИ», г. Москва, o-tar@yandex.ru

о ложных срабатываниях средств защиты информации

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

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

введение

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

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

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

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

Анализ проблемы

Проблема получения корректной контрольной суммы на текущий момент сводится к улучшению характеристик алгоритмов вычисления [1] с целью снижения количества коллизий, а также уменьшения возможного количества атак на алгоритм. В данных работах процесс подсчета контрольных сумм рассматривается в отрыве от действительности [2], как математическая проблема [3; 4; 5], где содержимое

68

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

Анализ современных систем контроля целостности

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

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

Утилита подсчета контрольных сумм

Пользовательский режим

Режим ядра

Хранилище данных

Фа йл

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

для контроля целостности Fig. 1. Scheme of receiving data from file while generating checksum

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

Рассмотрим подробнее, как происходит описанный процесс и какие имеются особенности у разных утилит. Для анализа возьмем две утилиты, работающие под управлением ОС семейства Windows: cpverify.exe, vipnethashcalc-tool.exe и программный комплекс ФИКС 2.0.1 [7]. Анализ будем проводить с помощью программного продукта Process Monitor компании Microsoft, позволяющий в режиме реального времени отслеживать запросы отдельных процессов в файловую систему и производить их анализ.

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

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

\ 69

Vol. 10. No. 2 (56). 2015

Рис. 2. Протокол получения контрольной суммы утилитой cpverify.exe Fig. 2. Log of calculating checksum by cpverify.exe

Рис. 3. Протокол запуска утилиты vipnethashcalc-tool.exe Fig. 3. Log of calculating checksum by cpverify.exe

Анализ утилиты vipnethashcalc-tool.exe подтверждает использование такого же подхода, как и в первом случае: производится открытие файла в режиме чтения с последу-

ющим чтением содержимого с начала блоками по 4096 байт (рис. 4).

Проведенный анализ подтверждает предположение о том, что получение содер-

11:36 ... ■ 'vipnetheshcalc-toc exe 112712 Woeste File C:\tesLffe_2M SUCCESS Desiied /«cess: Genetic Read. Disposition

11:36 ... ■ 'vipnetheshcalc-toc exe 112712 ^QueiyStandardlnfoiïnationRIe C:\testjfe_2tt SUCCESS «oeationSiie: 149196 BOO, EndOfFile: 14!

11:36 ... ■ vipnetheshcafc-too exe 112712 3iReadfile C:\testjfe_2.txt SUCCESS Cflset: 0. Length: 4 096, Priority: Normal

11:36 ... ■ 'vipnetheshcalc-toc exe 112712 ^ReadRIe C:\testJfe_2.M SUCCESS OTset: 4 096. Length: 4 096

11:36 ... ■ rvipneth3shcalc-toc exe 112712 a.Beadfile C:\testJle_2.M SUCCESS Wtset: 9192. Length: 4 096

11:36 ... в rvipneth3shcalc-toc exe 112712 3.ReadRle C:\test Ле,2.Ы SUCCESS Oflset: 12 288, Length: 4 096

11:36 ... в 1 vipneth3shcalctoc exe 112712 3.ReadRle C:4est Ji!e_2 tjd SUCCESS Oflset: 16 384, Length: 4 096

11:36 ... в 1 vipneth3shcalc4oo exe 112712 3.ReadRle C:\testJIe_2.M SUCCESS Oflset: 20 480, Length: 4 096

11:36 ... в vipneth3Shcalctoo exe 112712 3.ReadRle C:\testJile_2M SUCCESS Oflset: 24 570, Length: 4 096

11:36 ... 8 vipniitiashcatc-too exe 112712 3.ReadRle C:\testJile_2M SUCCESS Onset: 28 672, Length: 4 096

11:36 ... в 'vipneiheslica[c4po exe 112712 3.ReadRle C:\testjle_2tt SUCCESS Onset: 32 768, Length: 4 096

11:36 ... в vipneiheshca[c4po exe 112712 3.ReadRle C:\testjle_2tt SUCCESS Onset: 36 864, Length: 4 096

11:36 ... в 1 vipneihashcatc^po exe 112712 3.ReadRle C:\leS_lile.2M SUCCESS Onset: 40 960, Length: 4 096

11:36 ... в vipneiheshcatc^po exe 112712 3.ReadRle C:\test_rfe_2tt SUCCESS Onset: 45 050, Length: 4 096

11:36 ... в vipneihashcatclpo exe 112712 SkReadRIe C:\test_rfe_2txt SUCCESS Onset: 49 152, Length: 4 096

11:36 ... в vipnethashcalclpo exe 112712 SkReadRIe C:\testjle_2txt SUCCESS Onset: 53 248, Length: 4 096

11:36 ... в vipnethashcalclpo exe 112712 SkReadRIe C:\testjle_2txt SUCCESS Onset: 57 344, Length: 4 096

11:36 ... в vipnethashca[c4po exe 112712 ËkReadRIe C:\testjle_2txt SUCCESS Onset: 51 440, Length: 4 096

11:36 ... в vipnethashca[c4po ®ie 112712 ËkReadRIe C:\testjle_2txt SUCCESS Onset: 55 536, Length: 4 096

11:36 ... в vipnethashca[c4po eie 112712 ËkReadHIe C:\testjle_2txt SUCCESS Onset: 69 632, Length: 4 096

11:36 ... в vipneihashca[c4po eie 112712 ËkReadRIe C:\test_fle_2txt SUCCESS Onset: 73 728, Length: 4 096

11:36 ... в vipnethashca[c4eo eie 112712 ËkReadRIe C:\leS_fle.2txl SUCCESS Onset: 77 924, Length: 4 096

11:36 ... в vipnethashcalcieo ®ie 112712 ^ReadRIe C:\testjle_2txt SUCCESS Onset: 91 920, Length: 4 096

11:36 ... в vipnethashcalcieo ®ie 112712 ^ReadRIe C:\test_fle_2txt SUCCESS Onset: 96016, Length:4096

11:36 ... в vipnethashcalcieo exe 112712 ^ReadRIe C:4est_tile_2td SUCCESS Onset: 90 112, Length: 4 096

11:36 ... в vipnethashcalcieo ®ie 112712 &ReadRle C:\leSJle.2M SUCCESS Onset: 94 208, Length: 4 096

11:36 ... в vipnethashcalcieo 112712 3>ReadHle C:\leSJle.2M SUCCESS Onset: 98 304, Length: 4 096

11:36 ... в vipnethashealcieo exe 112712 ^Readfile 1 n >r» C:\testJile_2M SUCCESS Onset: 102 409. Length: 4 096

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

70_J =

Information security £> Software and hardware systems

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

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

«ФИКС» имеет два основных режима работы — «Фиксация версии» и «Контроль целостности».

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

File £drt Evtnt Fitter Jwlï Qpfcons Help

I & в i" v à, é I s i « 4 i [щшцв

T*nc Ы Dny Рпдаж Name WD OpwjBon Мч R13J DrtiJ

?Я««.1ЯеЮ14 ftln_Smt ran 3774 1 Rw Fiji C-''i«l 'iwiijl rtrwrt JMJTCFJK "3

23:43«,1970«1 HlKj5ojt.®« 3224 û'«fl_1 SUCCESS Dtwed Ле«и: Reei Dks/ЬЯ Ortilay, 5>riihrarin, SîWJiMfi: ^Mfl, O...

23:43«, >3707« 3224 -^CMeryDredtxy C^teti lV 5UCCKS FiflT'. 1:,

23:43.«.>97lCW3 3224 ^ОииуОгейиу C:4««l_l SUCCESS ft .„ 1 : Ыдкиодк. 2 bmo. 3: 4:фк. S: hfiwdzx. Ь stif. 7: Ы. £:...

23.43 M,Т»ЛЫ ii Hlst.Sust.a«: 3224 JtOoseHe C.WJ SULChSS

7.44244.1977Я4Ч |l=(_Sn!t ran 3774 ICnsfoHn С-ЧгаО'-а» MKTFSS IVftred ftxr.и Rr.irf ПлЫ/l bt Orrtwy. Яугг+imnirr. ><Ш!*ЕЛ Opm. О

23:43*4,1973176 3224 *QjçfyO»W!»y Cr4«t_ÏW SUCCESS »W 1:.

21:43«. »573474 bin fort.«« 3224 ^viJjeryOrtcîofï С:Чей Гай ^QjwyDrtcSwy С;Ч*й_»\& 5UCCKS 0:... 1 : dïo.îri, 2: coiqk trt, 3: eUo.M, 4:(hft-cWivcytrt 5: huftfcdlmibi. 6:1...

23;43«.19740Ci2 Н1и_5оЯ,*« 3224 TOWQfiE,

23.43 «.>9ШЭ1 322-1 suacfcsa

73««,tM08?R Blnt_S.nrt гаи 3774 iGiMteHe C4f!dJ SUCCFSS Dewed Ажггя RivhI a-*л/Ii=t Итйау. SjrK+ronire. №pnriciari Opoi.O

23:4344,1931131 3224 SUCCESS F*cr * 1"

23:43 «.1331425 Hlsx 'sit.«* 3224 JkOuefyDwawy C '«5i I SUCCESS ft. . 1:t4flkuBi)e<i<, 2:hnft. 3: ст^уеЫр, ShmodK, 6 ¡qjrf, 7:kw).e:..

23:43 «,>9в1Э 15 3224 ^»OweFit С;Чей_ 1 SUCCESS

23.43 «.19332S9 HlK_S0Et.m 322-1 ^CioeinFfa SUCCESS Draed hxxvs. Read Oate/Lrti Dimday. ^ПсЬнЙП. IMHiuUjTI.Offfl-I.O...

23:43 «ЛаЗЗЪЯ 3224 lb Quay Onset my SUCCESS fite . " 1:.

23-43 44.19Ш7Л lts_Sm*ran 3774 1г>инуП»лЯту t!-Vtesl_Vi4avm)i SUCCESS О . 1 rasjwiiltmAwht. T-fldnwihe. 3 gfitrajfimhd.4 (îH^vrhet. S-bvrftrt.

23:43«,1334398 Bli:< SsH.ÎM 3224 idjeiyChfeawy С:Ч«й l^vmh NOMCmE.

2143 «J3C97K! 3224 Owe Tie C;4«t_Vtyavmh SUCCESS

23:43 «.19911Э1 |lu_Sott.«ie 322-1 hCtoatoRfe C.4ett_l SUCCESS De^red Ассвй. Read DaWLid LVedciy. S>ncfro<*w. >4i«iijt.i: CVeri. 0...

23:43 «.1991439 lln.iud.œ« 3224 Ь0шяу№к1иу U4ed_V* succtss «е.", V.

73-43 «.1М17ЯЯ Bha_Sn* ran 3774 fcftirayrHmtnfy 1 ."yjCCFSS iV . 1-bginiran^t. ?■ hmn. 3-inçynhji. 4 ghw. S hmfjf nr.E jgjif. 7-ки<.Я

23:43 «,1992279 И1к 59й.«е 3224 ^CowFie C:«flJ SUCCESS

23:43 «,(ЭЗЭБ32 3224 ^Create Hie Cutest r^qx ^lOiwyDrtcîwy C:4itl_V',ycftV SUCCESS Desred Лосей: Read Otto/Lid &tdC4y, Sjirxhronue, ОзсхмСкп: Open, О...

23:43«.1993Э35 3224 SUCCESS F*«'. 1:,

23.43 M.1394223 IleJiuri.BM 322-1 JkOuetyUrodmy t^MedJVtj* SUCCbSS l>.... I L.u-MjIiiunUi. 2 euabd З.Кттс+фгакЫ i.k-J-икА.

73-43 «.1M47CR Я1я_.Чп!* ran 3774 ICkirayntwimy С^ймМ'-уср HOHDRF

23:43 «,2031796 И1я_50*Ча« 3224 λOMCFÎC С:4сй_1\уср SUCCESS

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

23:43«,2033844 Bise îort.exe 3224 liCrtfltefife С 'Чей 1 SUCCESS Dewed Acceis: Rend 0а"аУ1:й Cvecl«y. SvnchnxUi, ispouîEn OpwrO...

23;43«.20341S4 Hi»_Ssa.*>* 3224 }iÛj*fyDrtCΫy C:4«stJY SUCCESS F**r 1:.

23.43«-2034WiK ||к„Ьие1.т 322-1 JbOnyOnduiy C.4eri_l lOaseFfe C4csiJ iXKXbSii 0.._ 1. Uykuene^v. 2. UIHI. 3. (ПфувЫр. ->. s^nv. Ь 'икр a. 6hlHl. Г Ш. К ...

7.3 43 «.3035081 Blnt_5nrf гас 3774 SUCCESS

23:43«.203613S 3224 lOiHtcHIc С-ЧиО'-И^кмо SUCCE^ De*Kl Лсогя: R«d Dtwdwy. S>ry+w>ni?r.

23:43«.20K75C 3224 JkCKjefyD««oiy С:''«й lVi|t#'iMi>V 5UCCESS Fta',1:.

23:43 «.2037Q54 3224 ^ЛдауОтейиу Cr^MtJVyytyggo SUCCESS ft „. 1 ; t«K, 2; rfnwjfejdM. 3; dyWiwiogiiM. 4; eti^wmtyM, 5; «ucfcpa

23.43 «,2037Ь36 HlH_S<nt.m9 3224 ^QueiyOieujuiy C.4eri_V'w)#uao NOH^fiE.

23:43 « 2043237 glsx_Sod.eŒ 3224 lUoseHe C4ed JV/ttfqga SUCCESS

73-43 «.ЭТМ4Я7Я 3774 fcftnrtnFfc S1KT.FSS 1>т»гН iVwh F>.ti( ГИл/l id Orrtwy. S>«*wmu?n. ПдрпЛоп Оргл. i)

23:43 «.2Ш991 Rjlst Ssjt.txi 3224 Jk&wyDrtewy С:''Мй. IV SUCCESS RfcwV. 1:.

23:43 «J045290 HlEC_5çjt*î« 3224 ■^iJjçfyDTKÎPfy С:Чей_1 SUCCESS ft... 1 : Wgkuecesk. ^ bmo. 3: аюууеЬ®, ЬФ". 5: hmad». 5 jgîrf. 7: kvH. в:..,

23:43 «.20457S9 Hlu_Sfi(l.«<e 322-1 ^lÛswFJe С.Чвй_1 SUCCESS

23:43 «.204/133 Bl»_3ust.e*s 3224 jktiealerte L" ЧнЫ J изуЬ SUCCESS Detàed hxax. Ksdd Urfa/Lri Uredoty, S>Txliwùe. DqiatAcTi. Орем, О...

73-43« 7П47М1 Bin Snstran 3774 IbftiHvDfartruY С.ЧгЛ V-joîiiV SIJTTFSS йи-' 1-

Рис. 5. Процесс чтения содержимого директорий в режиме «Фиксация версии» ПО ФИКС Fig. 5. (Receiving directory information in «Version commit» mode of FIKS software

v^1

Vol. 10. No. 2 (56). 2015

Листинг 1. Итоговый отчет для пользователя Listing 1. Final report for the user

Nn/n |

ИМЯ файла

Каталог C chciipfw.txt dnlxbe.txt eehsikilvc.txt

Время записи | Длина,байт | \test_1\blgkuexegk\

26.02.15 23-20 26.02.15 23-21 26.02.15 23-21

6564 6585 6376

Кол.стр | I

1edf0 6c6| 127cf158| 67721391I

КС

| итого: файлов -

20

130513:

Такой отчет разбит по директориям, для каждой директории также формируется итоговая контрольная сумма:

ВСЕГО: файлов - 400 2592604: 0:59f4b435|

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

производится запись во внутреннее хранилище посредством вызова WriteFile буфера размером 128 байт.

В результате работы для пользователя формируется итоговый отчет (листинг 1).

В режиме «Контроль целостности» производится последовательное чтение файлов (рис. 6). Формируются контрольные сум-

Рис. 6. Чтение файлов в режиме «Контроль целостности» ПО «ФИКС» Fig. 6. Reading directory information in «Checksum control» mode of FIKS software

72

мы во временный файл, а затем происходит полное сравнение полученных контрольных сумм с эталонными. В случае различия в итоговый протокол делается запись вида

# 2 89: kcgyqvvygg.txt: 2 6.02.15 23-59:100: — :206b26b9| ##| 2 89: kcgyqvvygg.txt: 2 6.02.15 23-56: 100: 0: f16c867f|.

Данная запись свидетельствует о наличии изменений в файлах, а следовательно, и в промежуточной контрольной сумме отдельной директории, и в итоговой контрольной сумме:

& ВСЕГО: файлов — 4002592 604: 0:88f2 546f|

&&| ВСЕГО: файлов — 400592 604: 0:59f4b435|.

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

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

щиты информации повсеместно, отсутствие контроля на таком важном участке — это значительный изъян.

Математическая модель системы оценки устойчивости

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

Взаимодействие любого процесса Pr в рамках операционной системы семейства Windows с файловой системой (рис. 7) осуществляется через инициацию запросов типа IRP посредством вызова системных процедур менеджера ввода-вывода (WinAPI) [9]. Полученный ответ содержится в буфере от-

Рис. 7. Взаимодействие процесса P с файловой системой K Fig. 7. Process P and file system K interaction

V^3

вета, доступ к которому можно получить путем чтения и анализа структур данных ^Р-запроса [10].

Такой ответ, проходя «путь» от драйвера файлового хранилища до процесса-инициатора, может быть модифицирован или же обработан по определенной заданной логике фильтрами файловой системы. Таким образом, можно определить данные модификации следующим образом.

Представим множество объектов в файловом хранилище как конечное множество K (рис. 8), где |К| = I, которое состоит из различного типа объектов: kj е K, где I = 1...!. Пусть k¡ — устойчиво, если однозначно определено его содержимое и его атрибуты как объекты файловой системы. Пусть к — неустойчиво, если его содержимое и его атрибуты находятся в стадии изменения. После завершения изменения к переходит в устойчивое состояние.

В любой произвольный момент времени t для каждого объекта к1 е К определено его устойчивое состояние, характеризуемое содержимым объекта и его атрибутами. В случае модификации объекта (например, изменения содержимого файла) для данного объекта устанавливается новое устойчивое состояние.

Пусть в рамках операционной системы одновременно выполняется} фильтров файловой системы. Фильтр № 1 определяет мно-

жество M1, где Ml = I. Для множества K и M1 определена функция преобразования, суть которой определяет алгоритм работы текущего фильтра файловой системы. С учетом факта последовательности обработки каждым из фильтров IRP-запросов будет верно, что каждый фильтр a = 2...j определяет множество Ma, где \Ma \ = I, и имеет место функция преобразования Ma-1 ——— Ma. В таком случае процесс Pr при запросе объекта файловой системы kl е K фактически получает объект mj е Mj (рис. 9).

Используя в составе модели системы оценки устойчивости фильтр файловой системы, можно определить функцию преобразования

M filtersou

lvlSOU-1 7 ""SOU-

Другими словами, для каждого запроса к файловой системе в объект из множества K вводится функция преобразования ответа на данный запрос:

filterSOU, которая определяет

IRP0Ut = filtersou (Щп

Рис. 8. Множество файловых объектов в рамках файловой системы Fig. 8. Set of files in file system

(2)

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

IRPout = filtercRYpT (IRPn, key), (3) где key — секретный ключ.

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

Рассмотрим подробней функцию преобразования filterSOU и определим форму, ко-

TLy

торая обеспечивала бы такое преобразование, которое обеспечит замену содержимого на какое-то старое, заранее сохраненное значение. Для этого функция (2) должна зависеть от ряда переменных:

Pid — идентификатор процесса-инициатора запроса;

Buf — содержимое буфера-ответа;

Path — путь к запрашиваемому объекту файловой системы;

Fname — название запрашиваемого объекта файловой системы;

Timestamp — время запроса;

Sign — старое содержимое файла.

Формула (2) приобретает вид

IRP0Ut = filtersou{¡RPm, pid, buf, path, fname, timestamp, sign).

(4)

Таким образом, представляется возможным построить по заданной многопараметрической логике функцию преобразования буфера, в котором находится содержимое

K

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

Для того чтобы оценить устойчивость программного обеспечения и утилит, генерирующих контрольную сумму, необходимо определить функцию преобразования таким образом, чтобы даже в случае изменения содержимого buf итоговый буфер равнялся исходному состоянию файла, при котором производился подсчет эталонной контрольной суммы. Этого возможно достичь посредством хранения старого содержимого файла и замены буфера-ответа в полном объеме.

Прототип системы оценки устойчивости

Исходя из требований, обозначенных в модели системы оценки устойчивости, определим архитектуру прототипа системы

Mi

'filterSOU

m:

SOU

P

Рис. 9. Процедура модификации файловых объектов в файловой системе Fig. 9. Modification procedure of file objects in file system

оценки устойчивости так, чтобы она позволила реализовать разработанные алгоритмы в программном коде.

Так, прототип состоит из следующих модулей (рис. 10):

1. Модуль управления. Является стандартным исполняемым приложением пользовательского уровня, предназначенного для обеспечения интерфейса управления системой оценки устойчивости для оператора. Посредством модуля управления оператор записывает правила модификации буфера ответа в хранилище параметров, которые затем используются в исполняемом модуле. Также модуль управления взаимодействует с исполняемым модулем — возможен запуск/останов данного модуля.

2. Исполняемый модуль. Является драйвером уровня ядра операционной системы. Выполняет основную функцию по модификации буфера ответа из файловой системы, который поступает на обработку в данный драйвер. Модификация происходит по правилам, определенным оператором и хранящимся в хранилище параметров. Во время запуска происходит считывание данных параметров, и далее исполняемый модуль функционирует самостоятельно.

3. Хранилище параметров. Здесь хранятся правила модификации буфера ответа, а также другие необходимые для правильного функционирования параметры.

Программный код модуля управления реализован в виде исполняемого приложения (файл с расширением ".exe») на языке программирования Visual C#, исполняемый модуль — в виде драйвера уровня ядра ОС.

Проведение экспериментальных исследований

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

В заранее сгенерированной области файловой системы происходит запуск системы оценки устойчивости в режиме сохранения контрольных сумм файлов. Затем производится запуск последовательно каждой из систем, генерирующих контрольные суммы (cverify.exe, vipnethashcalc-tool.exe, ПО «ФИКС»), вцелях выработки контрольных сумм, которые получаются без вмешательства со стороны системы оценки устойчивости. Результат выработки формируется в виде:

наименование файла I контрольная сумма файла

наименование файла I контрольная сумма файла,

и в целом данный список именуется КС-1.

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

Рис. 10. Архитектура прототипа системы оценки устойчивости Fig. 10. Architecture of system assessing stability software

1LJ

Том 10. № 2 (56). 2015

Таблица 1. Итоговый протокол экспериментальных исследований наличия ложных срабатываний Table 1. Summary protocol of tests while false error analysis

Программное обеспечение Количество тестовых файлов Количество ложных срабатываний Степень достоверности Ложные срабатывания (%)

cverify.exe 400 400 0,95 100

vipnethashcalc-tool.exe 400 400 0,95 100

MD5 (FreeBSD 10.1) 400 400 0,95 100

ФИКС 2.0.1 400 400 0,95 100

Итого 100

содержимого файлов производится запуск системы, генерирующей контрольные суммы модифицированных файлов, и по результату формируется список КС-2, который выглядит следующим образом:

наименование файла I контрольная сумма файла

наименование файла I контрольная сумма файла.

Производится проверка несовпадения соответствующих записей из КС-1 и КС-2. Если запись совпадает — производится повторная модификация содержимого данного файла.

Производится запуск системы оценки устойчивости в режиме подмены контрольных сумм. Выполняется генерация контрольных сумм. Если сгенерированная контрольная сумма совпадает с соответствующей записью из КС-1, то подмена контрольной суммы совершена успешно и система оценки устойчивости в данном режиме достигает своей задачи, а именно — имеет место ложное срабатывание. Если совпадения нет, то ложного срабатывания нет [11].

Проведенные экспериментальные исследования показывают, что имеют место ложные срабатывания. Итоговый протокол представлен в табл. 1.

Заключение

Разработчики современных средств защиты информации не уделяют должного внимания проблеме ложных срабатываний. Ложные срабатывания происходят по ряду причин: недоработки в алгоритмах СЗИ, умышленные направленные воздействия и пр. Так, СЗИ не имеют возможности отслеживать попытки умышленного направленного воздействия с целью создания ложных срабатываний. Генерация контрольных сумм, являясь основополагающей манипуляцией, которая используется СЗИ повсеместно, должна иметь дублирующие проверки и быть защищена от возможного рода манипуляций, которые приводят к ложным срабатываниям. Система оценки устойчивости показывает недоработки в современных СЗИ, которые сложились уже достаточно давно. Использование их в реальных системах, совершающих атаки на антивирусы и утилиты генерации контрольных сумм, — лишь вопрос времени. В связи с этим важно иметь возможность оценивать, насколько защищены современные средства защиты информации от подобного рода воздействий. Учитывая проведенные экспериментальные исследования, можно говорить, что со степенью достоверности 0,95 в 100% экспериментов имели место ложные срабатывания.

Vol. 10. No. 2 (56). 2015

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

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

2. Ковтун Я. В. Анализ возможностей интеграции национальных стандартов криптографии в ОС Windows // Системи обробки Ыформа^У. 2010. № 6 (87). С. 42-45.

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

4. Халимов Г. З. Композиционное универсальное хеширование по кривым Ферма в простом поле // Радиотехника. 2013. № 172. С. 97-103.

5. Калугин А. Н. Модификация многомерных псевдослучайных последовательностей с использованием двойственных LFSR-CNS генераторов // Компьютерная оптика. Т. 28. С. 112-118.

6. Garg N., Wadhwa N. Design of New Hash Algorithm with Integration of Key based on the Review of Standard Hash Algorithms // International Journal of Computer Applications. 2014. No. 100. P. 11-18.

7. Средство фиксации и контроля исходного состояния программного комплекса «ФИКС» (версия 2.0.1). URL: http://www.cbi-info.ru/groups/ page-345.htm.

8. Федеральная служба по техническому и экспортному контролю. URL: http://www.fstec.ru/.

9. Writing Preoperation and Postoperation Callback Routines. URL: http://msdn.microsoft.com/en-us/library/windows/hardware/ff557 334%28v=vs. 85%29.aspx.

10. Russinovich M, Solomon D. Windows® Internals: Including Windows Server 2008 and Windows Vista, Fifth Edition. MicrosoftPress, 2010.

11. Метод статистических испытаний (метод Монте-Карло) / под ред. Ю. А. Шрейдера. М.: Физмат-гиз, 1962.

12. Гнеденко Б. В. Курс теории вероятностей. М.: Либроком, 2011.

13. Сильнов Д. С. Проблемы ложных срабатываний антивирусных средств // Прикладная информатика. 2012. № 4. С. 63-66.

References

1. Zakharov V. M., Zelinskii R. V., Shalagin S. V. Model' funktsii uslozhneniya v generatore psevdoslu-chainykh posledovatel'nostei nad polem GF (2) [Model of function of complication in the generator of pseudorandom sequences over the field GF (2)]. Prikladnaya diskretnaya matematika — Applied discrete mathematics, 2014, no. 7 (in Russian).

2. KovtunYa. V. Analiz vozmozhnostei integratsii natsional'nykh standartov kriptografii v OS Windows [Analysis of possibilities of integration national standarts of cryptography in Windows]. Sistemi obrobki informatsii, 2010, no. 6 (87), pp. 42-45.

3. Vasilyev N. P. Razrabotka iissledovanie algoritmov kheshirovaniya i generatsii psevodosluchainykh posledovatel'nostei [Development and research of algorithms of hashing and generation pseudorandom sequences Phd. eng. sci. diss.]. M.: MIFI. 1998.

4. Khalimov G. Z. Kompozitsionnoe universal'noe kheshirovanie po krivym Ferma v prostom pole [Composite universival hashing on Fermat's curves in a simple field] // Radiotekhnika, 2013, no. 172, pp. 97-103.

5. Kalugin A. N. Modifikatsiya mnogomernykh psev-dosluchainykh posledovatel'nostei s ispol'zovaniem dvoistvennykh LFSR-CNS generatorov [Modification of multidimensional pseudorandom sequences with use of dual LFSR-CNS of generators]. Komp'yuternaya optika — Computer Optics, vol. 28, pp. 112-118.

6. Garg N., Wadhwa N. Design of New Hash Algorithm with Integration of Key based on the Review of Standard Hash Algorithms. International Journal of Computer Applications, 2014, no. 100, pp. 11-18.

7. Sredstvo fiksatsii I kontrolya iskhodnogo sostoya-niya programmnogo kompleksa «FIKS» (versiya 2.0.1) [Software of fixation and control of software «FIKS» (version 2.0.1)]. URL: http://www.cbi-info. ru/groups/page-345.htm (accessed: 28.02.2015).

8. Federal Service for Technical and Export Control of Russia URL: http://www.fstec.ru/ (accessed: 28.02.2015).

9. Writing Preoperation and Postoperation Callback Routines URL: http://msdn.micro-

7LJ

Том 10. № 2 (56). 2015

soft.com/en-us/library/windows/hardware/ ff557 334%28v=vs. 85%29.aspx (accessed: 28.02.2015).

10. Russinovich M., Solomon D. Windows® Internals: Including Windows Server 2008 and Windows Vista, Fifth Edition. Microsoft Press, 2010.

11. Metod statisticheskikh ispytanii (metod Monte-Karlo) [Method of statistical tests (method Monte-

Karlo)]. Pod red. Yu. A. Shreidera. M.: Fizmatgiz, 1962.

12. Gnedenko B. V. Kurs teorii veroyatnostei [Lectures of probability theory]. M.: Librokom, 2011.

13. Silnov D. S. Problems of false operations of antivirus software. Prikladnaya Informatika — Journal of Applied Informatics, 2012., no. 4, pp. 63-66 (in Russian).

D. Silnov, National Research Nuclear University MEPhI (Moscow Engineering Physics Institute), Moscow, Russia, ds@silnov.pro

O. Tarakanov, National Research Nuclear University MEPhI (Moscow Engineering Physics Institute), Moscow, Russia, o-tar@yandex.ru

About erroneous outcomes of data protection software

Developers of modern data protection software do not pay enough attention to false positive problem while calculating checksum of its files and other data delivered using insecure data transport. That leads to major problem, if attacker can replace checksum or replace process of getting data from file, then most of antiviruses and other very important software will be compromised. Authors of that article developed software for assessing the stability of data protection against different attacks. Method that shows possibility to compromise large amount of systems based on specific of operation system's file request operations. Software was also developed and tests show that many important utilities such as md5, sha256 (for FreeBSD) and cverify. exe, vipnethashcalc-tool. exe (both of them certified in Russia as data protection software) are not protected against false errors while calculating checksums. Errors appear in 100% test cases. In addition, tests were made for software called «FIKS 2.0.1» witch have special license from Federal Service for Technical and Export Control of Russia (FSTEC). That software also unprotected against false errors and tests proves that.

Keywords: false operations, checksums, antiviruses, false positive, data protection software, system calls. About authors:

D. Silnov, PhD in Technique, Associate Professor O. Tarakanov, Assistant

For citation:

Silnov D., Tarakanov O. Method and software for assessing the stability of data protection software against erroneous outcomes. Prikladnaya Informatika — Journal of Applied Informatics, 2015, vol. 10, no. 2 (56), pp. 68-79 (in Russian).

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