ОБ УЛУЧШЕНИИ ИЗБИРАТЕЛЬНОСТИ ОДНОГО АЛГОРИТМА ОПРЕДЕЛЕНИЯ АВТОРСТВА ВРЕДОНОСНОГО КОДА
Кононов Д.С.'
В статье рассмотрен подход к определению авторства вредоносного кода на основе сопоставления исполняемых программных кодов. На примере ПО BinDiff выявлен недостаток существующих алгоритмов, реализующих данный подход, заключающийся в низкой избирательности. Для преодоления данного недостатка была рассмотрена структура, строящаяся по исходному орграфу и представляющая собой дерево, у которого множество всех возможных орцепей совпадает с множеством всех возможных орцепей в исходном орграфе. Так как орцепи в графа передачи управления отождествляются с трассами исполнения программ, то в статье был предложен термин «дерево трасс» для описания этой структуры. Предшествующие алгоритмы определения изоморфизма деревьев трасс имели экспоненциальную временную сложность от порядка исходного орграфа. В статье представлен линейный от числа дуг исходного орграфа алгоритм определения изоморфизма деревьев трасс, основанный на каноническом индексе Земляченко. Данного результата удалось добиться за счёт оптимизации структуры дерева трасс в виде сжатого дерева. Включение в хеш-функцию инварианта орграфов на основе индекса Земляченко позволило улучшить избирательность по сравнению с аналогами на 50% уже для орграфов с порядком 51, не ухудшая при этом асимптотическую временную сложность.
Ключевые слова: ориентированный граф, дерево, инвариант, канонический индекс, временная сложность
Для эффективного противодействия угрозам информационной безопасности [1] необходимо идентифицировать нарушителей, реализующих эти угрозы2. Эта задача особенно актуальна в сфере антивирусной защиты при обработке «входного потока» предположительно вредоносного программного обеспечения (ПО), имеющего жёсткие временные рамки. Так как существует большое количество модификаций одного и того же вредоносного ПО, то автоматическая идентификация его разработчика позволяет сократить время обнаружения действвтельно вредоносного ПО [2].Схожая задача еозникает а пре поикер недекларируемых вазможноствй ПО (закладок) при сертифотеции оо ртнае выявленным экземплярам [3].
В связи с важностью даннлй задачи её из^ учению было посвящено множество научных исллдоований, но огранлчивающееся работами [1, 4, 5, В, 8]. Наоболее извеитный реалазацеей для идентификации нарушителей, атакующео иеформационаые системы, следует притнааь ПО В1пО|ГГ. Разработке и онисанию алгоритмов ПО ВтЭ^ посвящён ряд научных работ, выполненных под руководством Томаса Дулейна.
Основные научные результаты, положенные в основу ПО BinDiff, были представлены в журнале института ORT, ассоциированного с НАТО [4].
Несмотря на высокую скорость работы алгоритма, используемого в ПО BinDiff, он отличается низкой избирательностью (рис. 1). Указанный недостаток обусловливается методом определения совпадения по хеш-функции над отдельным узлом графа вызова или графа передачи управления. Вследствие этого недостатка в ПО Bindiff дополнительно используются более 10 различных эвристик [4]. Воснове алэоретмл НО BinDiff лтжит иевариэнт ацлкличтнкте орфыфов, назоалный авторами MD Иноеки [Н].
MD Индекс нлититавляет ноеой хеш-фуэнцию от графа упеавления ррограммой размером 80 й тт3. Дл я вычиспения MD -индекс а при меня ется следующий нлгоритм [4]: вунть g - граф управлн-ния, е - дуга в графе упрквлввия, Ер - множество дуг в -рафе увтаиеонрт, © - множесиве всех грифов увванлниия. Тогда каждому графу уергвлеаия статим в соответствие множэнтво кортежей из няли целых чисел
tup-.O (1)
1 Кононов Дмитрий Сергеевич, Минобороны России, Москва, [email protected]
2 Методика определения угроз безопасности информации в информацронныых систерах, ФСТЭК России, http://fstec.ru/com-ponent/attachments/CownloaC/812
3 www.zynamics.com/CownloaCs/vxclass_inciCent_response.pCf
Методы анализа программ а верификации
УДК004.056.57
tup(g)
ftopologicalorder(src(e))\ indegree{src (e) ), outdegree{src (e( ), indegree{dst(e)), \ outdegree(dst(e() )
\eeE,
(2)
где БгсПе) — исходящая ве(шина дуги, и1ееКе) — конечная вершина ди>сг^и, еорс1од1са1ои<Иси(п) — топологеческий по|))Я,^С)НГ всршсир| е, тОедиенГп) — полустепеиь захода вершин о о и, ее и ЫедиееИп) — полустепень исхода вершин ы п..
Кортежи формируют подмножество векторов в пятимерно мпространстве С])5. Поскольку пятимерное векторное еространство л^ожсее^ бытс естро-ено в весторное пространство ([11, л/33,С/кС, а^], еостилику, каждом°/ кортежу можно поставите в соответстсие униктльнее действетельаос чис:.по
emb(t) н t0 (- VU-O -О (/3t4 ¡XCt3 - o7n4
(3)
|"д-4 t == д0, te --, t3, нЩ - пятимерный кортеж, принадлежащий множеству кортежей, заданныпх отображднидр t-ззЩ-)..
MD-индексом называется дейиевительное ет-с -лю, заданное следующей фррмулой
1
)Лд етЬЛЛ
ММ/пОех
- i
tetupU"
В приведённом примере, представленном на рис. 1, проявляется слабое место МЭ индекса, как и многих доугих инвариантов — в нём не учитывается глобальная структура графа, которая важна при его интерпретации как графа вызовов или грифа передачи управления программы.
Да леи в (статье под любыми графами будем по-нимить толькн класс корневых ациклических орграфов. Термин «корневой орграф» определим как орграф, в котором вобрана одна вершина — корень оеграфа, п/ичём из неё существуют ор-маршруты [6] до всех других вершин орграфа.
Для пнссдолесия данооко недостатка соедла-гается икпользовтть часто встречаемое отображение ациклического орсрафа в еиде дерева, в котором каждык узел исход/юто гоафа дублируется в соотостствти с его входтщей полустепенью [7-9].
Однос из ошибок, допуссаемых автороми при работе со данной структурой, является игнори-рк всаие факта о возможном эксп оненцинле ном росте юорядка раккрнтого дерева по сравнению с порядком исходного орграфа [8]. Особенность такого деревк является то, что множество всех возможных орцепей [6] в нём совпадает с множеством вткххкзможных орцепей в исходном орграфе. В своюоеерхдь орсдеии в орграфе мое рут быть отождествлены с т|еассами исполнения пцоорамм. Для определённости и краткости в
РР-л. д Кодтрпромер нерезличемыл Мй-лейаиеом йрафов: числа слево соответетвует тонйлониченкому уровню вершин, чиела тнутлн впршно /представлсют аобой вродящие и ссхедощие нолустенеои, рёбда с йавныме числамо имеют равный Мй-индекб, в квадратлх отмечтны индй-сы Семлятенлт ссоттететвуюощих лершин раскрытого дерева
Обулучшении избирательностиодногоалгоритма.
контексте? данной статьи будем называть такую структуру дес-тоmi трасс для конкретного ациклического орграфа.
Несложио показать, что у извморфсых ергща-фов их деревья трасс будут изоморфными [8], обратно е же не веано. Таким орразом, дерево трасс являекся инвариантом ациклических оргутфов, п-р-ём в нём сохранена вся информация о множеств е орцепей в исходном орграфе.
Существурт алгсритм нпроделения изоморфизма друетьев зи лигг€ерриое время — алглуитм рлмляченко [10]. Однако с учётом вазмижоиог экспоненциального рост- поуядка дереаа трас, диже такой эффективный алгоритм будет иметс экспонен циальную временную сложности.
Для разрешения против оречия меж-п H-'ir-кой избирательностаю MD Индекса и высокоН времен ной сложностью алгоритмов определр-ния изоморфизма дерева трасс предлаги ется разработанный автором алгоритм, нивилирую-щий эти недостатки за счёт учёта особлниостей дерева трасс.
Заметим, что в дереге трррс поддеррвья, соответствующие одно- вершине в исходном графе, дублируются. Индекс Земляченко полностью определяется корневым подде ревом, индуцированным текущей вершиной [10], т.е. для расч ёта индекса Земляч енко достаточно один раз рассчитать индекс рорнево го п оддертиа, а зате м расе ростра нить этот результат на все вершины р аскр ы-того поддерева соот-етствующих одной и той же рершине в исходном графа.
Таким образом, межно созратт ртруктуру — сжарои дерево (рис. 2), эквивалентную дереву трлсс, но, при этом, имеющую порядок, равный! кс-личеству рёбер в исход-сом грифе. Сжатор дерево
можно получить с использованием модификации алгоритма обхида в глубину [11]]:
1) сортируем все дочерние вершинытекущей вершины гу [з топологичесиом порэдке;
И) выполняем вбход вершин ациклаческого оргрыфи, исплльзуя алговитм обсода о глубину, при этом дочервве оершины оОрабатываютвя в соотвотсгвдн отоповсгичтсеим иорядкям;
3) яили товдщая дадооио В[С1 ещк не об|аба-тащиюсь, ио нй выстсвлрнтся помитка — ^(5|дгз15о-тано;
4С ес.п1/г те^шиу^ги^ боршинс сы1 ужп е)б^;с(5гы")^Ч:^1-1Е=в[:>л)|£а^1:>, то Ес грнф доНавляесся лершниа ы кооо-иая яяляевся дщс^^е^с^^^^ ЕИЕРсрг^цгин-ег гч — текущей на оводыдущем шаы-и дзиенкугрЕсигпо, г новой ЕаЕ^рлпгинеы е оы^^ндачогв^^с;?^ атриЫут — с^с^цыыка ни текущую обрв-бааываемую ыееяыиу . Прэк! втом дука, с^)=1Е[ь^1 -вающая кеоыыииды а и г?а1 , улд^ляется:
На осндте свмого гг|эe<иCЗ|ЭíазoEí^нl^^q и класоа исхо^д^!^©!^© гы>афа можно выввкти некиторые свой-ввво сжатоио дееевн.
р ) >Г сжатом дидыве присутствуюн ттв^а тепа еер-иаин: с аарыбутом и без атрибута, Оершиоы с^жкаа-то го де рева с атри бунтом назовём сжатымыы, а есе остал ьные — тривиальными.
2) [3 сжатой вершине в качестве атробута используется ссылеа на идну из тривиальных вер -шин. Будем говорить, что сжатая вершина есыла-ется на тривиальную яеишону, оели ссылка на неё указана в атрибуте сжатой вершины.
33) Порядок сжвтого диеева равен количеству дуг в исходном графе, так как, согласно алгоритму, на яыждую дугу/' добавляется одна сершина.
4) Сущестоует бсеяаия между тр ее виальными вер шинами сжатого дерев а и вершинами исходного фвфа.
Исходный ациклический орграф
Дерево трасс
Сжатое дерево
Рис. 2. Оугуаф и его дредставлегдя в ииде де.ева трасс и сжатого дерева
Методы анализа программ и верификации
УДК.004.056.57
5) Поддерево сжатого дерева, состоящее только из тривиальных вершин, представляет собой остовное дерево [12] исходного графа.
6) Сжатое дерево является корневым деревом, а его корнем вершина, соответствующая корню исходного орграфа.
7) У изоморфных орграфов могут быть разные сжатые деревья, так как порядок обхода вершин, имеющих равный топологический порядок, не определён.
8) Все сжатые вершины являются листьями.
9) Тривиальная верши на, на которую ссылается сжатая вершина, имеет глубину большую или равную глубике сжатой вершины.
И з сжатого дерева м ожте б ыть ролуоеео дерево трасс иутём писледовстельной замены каждой сжатой веншины на дублмртоанноа ккнжевое ссд-дереоо, имдуцируммое тривиальней ианшиноа, на котовую ссылаится текущая сжаоая иершино.
Кроме аого, кз сжитого дереви минет Ныть по-лучео граф, изомжрфный ессодному, путём замены кождрй сжатой вершвны г, на дугу, исходящую из родиихлрткоо вершиов! р текущей сжнтнВ вершены те и окснчивающуюся в тривиальной нер-окне и, на которую она ссыластся.
уАЧ^торволв был разработан алгоритм, который по сжстому дрееу сычиеляет канонеческий вндекс девека трасс. Этот ал горитм з ккл ючается в трёх изменениях алворитма Земляоенко [13]:
1) изменееос инициализации исходного ал-го°жама — вр вспомогательный л/1 аассси в !еуе! заносятся только тривиальные вершины кжатого дерева в соответствии с иж вь.коотой-;
2) индеас Земляаенко дла сжитых вс|гшию вкс числяетея по сссь.илкге на треаиаотрую вершину;
3) при зописи триаиальной варшины в соответствующий вспомоиатольвый массив сЫ1с1гед[1г] обрабктываются все сжатые ввршины, скылающи-еся на текущ0 тр9еваленyю еаршину, и записы-ваютса в соответевеующие мсccиаы с1-11^1С^еп[1п].
(¡-оме того, в индексе Земляченко мижно ис-п оль зо ват ь а кара метры- сваванные с при оогроаэмм-ными элемкнтами, иоответствующим вершинам. ДЦ/^я эгго1"о достаточно доаавить мо всем вершиаам доеолнительные дочерние? виршины с униваль-ееь>1ми инд^ксаам иа, после чего |ойасвитать ии-адекис Земляченко.
Лсмма 1.В ходе елгоритиа перед оаработкой сжакоа вершины уже будет вычислен ик^ис Земляченко для тривиольной вершины, на который оа смылаится.
Триса альная вершина, на косорую ссылается сжатая вершана, имеет глубину большую или рав-
ную глубине сжатой вершины. Согласно алгоритму, сжатые вершины добавляются только после обработки тривиальной вершины, на который они ссылаются. Следовательно, перед добавлением их в соответствующий массив уже будет вычислен индекс Земляченко для тривиальной вершины, на который они ссылаются.
Лемма 2. Все массивы сЫ!Сгеп[Ь] в конце каждой итерации над текущим ярусом будут упорядочены.
На первой итерации все массивы упорядо-чевы,так каку всехлистьев индекс Земляченко равен Зl Все сжатые вершины, ссылоющиеся на одну тривиалосую вершсну, имеют равные ему индексы, так как к двреве трссе они индуциоуют изомовфные корневые еоддеревья. При записи тривиальной вершины в нассив сЫ1Сиэп[И], он, согласно алгоритму Земляченко, имеет макссмаленый иасикс среди оеех вершит, с,и-аутетйующих в сЫ!Сгеп[О]. Добавление ожатык вершин в массив с1тПс1геп[ И] ер оесходи т с реазу зо добавлонжом т него триеиальаой вершины, еа воторую рни ссылеются. Тасим об ра зом, ин -дексы сжатых аеешин также будут не меньше максимальноио ендекса среди риех тсршин, ]жв дЕоообЗг,Еслз^нвилэо в мааасси^ь»! сЮпСиэп^]. За-меткм, что если массивы сЫИгеп[1н] (51^1ли от-сертированы и неубыаающлм порядке пеисд д^обЗа^лени^г): сжватых ве^рашиин, ссылеющихся ееаа текущую тривиалнную вeршиеу, ггот иг после нх добавления мисеиам сИП^п-И] астанунся от-c(н|эrгилc(ваннь>>ми о тое жае пееиддядк€:l
Теореме [3 случае, если огдатое иерево уже по-сфоено[ то модифацирква нный алгоритм Зем-линенсо выеарляет инвсриант ^т€(:эeтEза трасс для еяграфа ес лижвйное спимя в ^а^исиамости от ко-лииестви дув в исходно м oрврафe 0е|е|), при стом т^беетвя памати не Оолпе ием 0е|е|).
Инеакс Землячеокп т^ттуонсаей lзe|эшl-lнт^l заоит сит толоко от индексов Земляченко её дочернсх вершин- Согласлв лемме 1, в ииучае, когда сведи дочериих сиршат присутствует снкаггая вевшина, то аИ индевс еже будот расвелсан. По лемме 2, все масоивы сЫИгепИ будут ятсоттированы в не-зОывиющем порядке. 1^|эоме аого, индекс сжатое еершалы равен ирlдeк(cy Землясенко ко|йневооо П0l!едeэ)eва, индуцирооаннооо вершиной в дересе траос, соответствующему этой сжатой вершине. Таким образом, ¡значения внутренних параметров алгоритма, используемых при вычислении индексов тривиаленых вершин и соответствующех им еершин в дереве трасс, будут эквивалентны. СпедоеательноЕ и ндекс, рассчитаиный л о сжатому
СПС еанпигшелЕпп 005(00131000)03:01 оОоою плворитмо E
оеоиву- (удит оавен надпису ^r^cllr^jcii^eiiii^irr, ocacae-канному OЛë со.эс^^етс^т^Егв^у-с^шг.^с^и^ доцтг^^^а c^^^
Е( плане высесиетеввеоК ^лi^D^l-(oc■тlи едевеоаНг ный алиевитс елссНта игн"^^^^^ по ажапсмл ieiii=iе^цг пи отлитается от сегооитма отсчёта индигоо Пем-Jníi-i1^^:^^^ для этооз же де/еета но Ко унЯта афаЗи-аов1 Тан кат ¡-00300™ ^^i/liJi^^li)-^|riKO eмнëвилeийоою солжное-к по неемнне -- roo nce-ece от псз-э^^ка денека 0(TBU a поволок сжато по оиоева (авен налу дут в nicorOliiirHOM оофафи, то и Ecoeaeeeae E:--(^^|г:o^^llЕ| дасатононкснаопо будет
ПП|С-д a тоПГоваеип loi паоятн офаинаииаЕ 0Г|Е|), асе Е — мooнeнятE!¡o оуг есходново ocracCa» Лид.
OC она de ас п o в аа ато чтн ко п ол о по к ет ко 0 ho3-- дон BefDiuUaií-E всоодного ог-фаЖа разбонаев мйожпатво весиен c>iK|aiD0||/0 детина на ядосса во исто дли оас-сОта 1|гоп^лог!с1/^:г^^1к^1г^ гею^к:^^;^ ноосттнт ид пооссайвавв ига знаасенн c^i^^itiгде o - ко-о1|-в^1^ст^Уг|1к:)|:11^:1-^ еС вoняиклниaп кекпстла сжаоого oeoeao к фунтивя Овэр всавоаисавт значеми 00.0 6:131 виопшеы ^ дв-и^-неЕи^.^
Добакст к i-H.^ccfiiKC^iae-^iJi^^ (повоно ^е|э-
швеап ешП и пили kc couch ce яко ваий внод lili-" ев ножно ввести дополнитеёёпсш ^^цэ-^г-гсшк coe-e воошеп яцла, китовые и носе о б ai еветоило ц мтт Hacaooaf-ixe наоатотр Z, залаюисисная алинукт ш[им вк^гцэ^^-ю-игс^кгл
1
о . ин-рToe г eo—1—к-с» 100
0и л-ок-a/recao
(c-d(K 0елЮ(т(аВ1ежаеГе) — фуиттия козк.ссшвю-щат i/ijii^iii^ikc^ üí^ii-^í^liílj^i^ikili Егери/гешы анг враспаы-тоо двоиян.
O "-i ¡/heíi^ 3 тл о: ч:о о ао с мет 8 0 о (Г, вое нас deep ДО е ПЛ U Х е Во лЛяек0нсак Ос) е ф( ^j1-^ патиоьп соптпжи с всииоозосвонем евееметон .ФИ. также могут Ныть bct^o^|[-tci ее вектотнюн еоосфанс аивл О-Ю^ЮИЮКЮЙК
E3 итоге, иоси о oирeдeлëнeи корт^ннгей ЗПГГ-индекса ооносо из па-га1(^е1т|^0В] задсюше-
но ас Г)осело et ч ее к по н о (яд том ви f-eie нас e-ci^хл в-ковата еаоаоеко -В-) (аоотсетссвуюший --|i"Bí-||^e^|ii(r ПОГОНём ВЕЯНДеТПоа для ои^деленности), то фодмалтно можно записата
е003ОИет(0тГ >л eiD.oO^DGO : =с ВСсИвтВОи) д iEKTDdeT)(C2)E .С0)
¡ООсИетКоД = ВТсИвтГШС гтз
¡-с OBDTcO00^) = TnOcO3TlE0C). (7)
E» этом емысле В-индетс ^вляе^тсят более точ-еым апм MD-leoeoT.
Е|1|э^м^(^|ггаг|| тложноате аогоонтно (сасчОю тоео-лтопаевкосо понятно ^e|ii^ciir| oрвнафа составляет 0 (I-O + 11e1:-; BO ¡Усилии вся-too i>i^^огцзое^
iciii^яа-г naBalccvo (Ecie^.e:^^ ■riiflte(^^ i^||i^e]iii^^HHyiro;[i Cr^oHHvi-iT^cTt^ »TOOK СП (ele ¡a E!:^:::J^^l||(CJп^н^e ^Ндд^ексга по ^жгиатоматгп -m^'i^íe^^ ЕГГШнГс1.^" то ложно тделевт t-i^не^—-i вынпсвст l-l-|^ll- (^(^(;-1[]|^о>|Ке^но^(^ с^ втео-те llD|ll^a|эиa|:i^^ :Z.^и^дell|-с^ и-с(е^|11 витминоую ^.п^^нoc:тlt1 ^-J|í||| -t- п|еи эт^|-л т|^^б:к!С )J^ir(-1El)l. fil"^^
Твоим оВс-зим, nfUBioi ис^о—/>1:^зов(^:^и1-1 В-ендвтаа о^ |Г1^!::|1М[ yaCILLl (-^E- ^^ B П зЗ) ШЦЭ ^ Tle.nicl-EOCl1!!^, к пг-i-^ ^то^ l^l|эel->l^>(||^:^я воожносва ^^т^ёётсяя лl^|г(eй^ i-ioi"í от аумыы (i-Ji^^ia »(-iîi^"0 е- ивн^цг>li:(ii>-i-^ - иаходном фа-0як ^г-ещнс^ 1^3- -^iiic^ J| (оиола в ^||а^1íl|л/^yy|1Гl^JГ)^^н^l^ax пр(И ¡^í^^l^ili^aa:»":»: инва^сно т|o:acc на осно^^
^n-l-i|eKc::^ З.еымл^^ее^ко |в-|^з1гГ^и|с^<1^"с ^е:^ -((р-и^едт^ё^-^-ЕД^сх гг||а(Г^а ^»з^е1 j0^ со/ невее-нс- ^ па |1са м от |-io в^ ив с-ji"o^i-^(3^^i:^í(i::^ix ег C)E|J|:Lcí.(iHiq<i:(i-cei^
1x1 ка-0— (l сс 2 l1l|эe□^c^i^в^(^L■1ы-J ^сулата™ bi^i>e-l^-i):ii.iTiii^jnt-h^ro ^^cb>|ili:^(e1hh^|eo ^^ поЕ^ис
л еоп ю ^^^^^^^ес^тва нмого по
с|-)^в(|-1Е1Е^|1|кг с MD-ccíiiexooHiB -Е-1^1г^1|Т ^l:El^Иl^J(le:нl)|E со^ o^^e^cco■|в;в:l||^l^l(Вl^ lDHвëoясяты Д/гЯ ^ноо^ест^аа г^сиехг астиолианскюд с|:^^с3ов^ иf:лel:OLaиx г^ог^яд:-:^"
Таблица 1°
тоиоянсгяяо сазловныызначений иовляионтоа зсифов для ссее оооооих ацикжических осгеифос
MD-гндеас ^MDD) В-индекс ^зелсть 1L^^лl-чaJ^LCl/)ll спсособнснп^ей- D-нН:л) ^ о^С-ОРТ))
Кол-во верш/о рТ^33(11Г- чаюосп спосоип^ 0"CtH: к^^-п/а св1 ¡сц- -i^roiciaa Отн. 1^ол-Bci св: ал. / B£s(Z) \ ----- 1 * 100% al^lCl(LCfoл в Отношенее к проело . знач. D-s(Z) ^c^o-l1^cсe)
nOC"TIh D^or(j,ST)- 0f-l---aj"|H0B ^OCTLe DisO!) орсрафов
4 0,83а 0^803- 3 0 0о/о —
5 18U o,6Tia; ^832 0,6182 0 О"/-: —
а 3344-1 0,^09 356409 О, 611 8 —
a 1)41544 0;,8ll)l5 L3Í568^ 0:tOD 1538 -1 ,ll 0^ 1,009
8 1065222664 О^б^ЗЗ 1C802825 ГГ, 544 270061 2/,1-о/е 1,14
Методы сшо/п/зо лрогррлол/ - бперифеывещ-и УДК.004.056.57
Таблица 2.
КотдествР различныазнаооний анеариантов грйфов для всех корневых ациклическии орграфов
Зол-во веривс MD-мндект (MD) Z-индекк Разность щазличтсщих способсз ттеа DiuOZ) - Dix)D ) / Dis(Z) \ —7-——г - i *юо% Отношение к прад. знач. D^ez) Di0-MD)
Тазви-чающая сеособ-ность D/D/MD- Отн. кол-ва св. д/. еркрафед Занлс-чающас способ/ нотть D 3s(Z) Озз. кол-ва св. ац. орвыафов
4(2) 2 0 И 3 8,73 1 £50^ —
9 (3) 7 (3,4/33(3 ф 0,84 5 71% 1.143
/0(4) 33 И,3(1 64 0,571 24 74% 1437
11 35) 343(0 0,21С 623 3501 2183 4 3°- 1.031
12(6) 6526 0Д46 12190 0,273 И670 7777°° 1.02
(3(7) 350364 0,096 48807а -Д180 331711 90% 1.0В9
(4(8) 234558С0 0И6Т 339(54/"1 -4041 Т,121 191.5176 94% 1.014
не больше заданного. [3 связи с ограничениями современной вычислительной тихники для более высоких порядков эксперимент проводился над спецн алон ы1м тип в м орграфов. Пн казателем избирательности бы1ла приоета сазличающая опсхсобс-ноаъ — мощность меожества различным значох ний, принимсемым инвсрсантами на соответствую-щеегг множестве графов. Я результате проведённого автором эксп еремаана в об оих слуоонс бычл -г попн-зано, что предлагаемым изп^^ааиант является более нзбирательны>1м по сравнению с МЮ-индекнам, а также прoдемoнcфииoваоa ио"пи1гчостн выражений (6) и (7). Камме того, прэи увеличении порядка графов вымфыш в избирателаности растёт и, со-гласнкь экс1"|н^поля1вип, уже при порядке орграфов 51 нысгрыш в избирательности достигает 50%.
Экспелименты над слунаннылми o|эграct-ами по-канали, что прн сохранении линейной временной! сложности средний вызигрынш по всемени соста вля-ет 4,26 раз в пользу МЮ-индеяса из-за доснлничель-нынх сынчиалений ^ г-индексе. Однако длн слуаайно-го орнрафа с порянком 1 000 Н00 и с максимальной исходящей! ролустепенью першин, составляющей несколько десятков, время рабо™ алгоритма рас-
чёта предлагаемого и оиарианта Z индексн измеряется десятками секунд, т.е. данную разность можно считать несущественной ни практике.
Таким образом, представленный алгоритм по-ойолит повыиите качество решения задач,связан-ных с обнаружением! и идентификацией авторства вредоносного ПО или закладок. Такжев ходе экс-периментал ьной проверки исследричний! была разработан- эффективная реализация алгоритма вычисления Z-индекса, которая исилюиала этап построения йжатого дерева, объединив еио с этапом вычислтния индекча Земляченко для дерева трасс испосредственно по исходному орграфу. За счёт этоио удалось снизить дополнительные требования к вычислительным ресурсам до уровня, которым можно пренебречь на практике. Кроме того, в отлечие от предыдущих исследователей, которые также рассматривали структуру аналогичную дереву есасс, удалось добиться полиномиально й временно й сеожности алгоритма от порядка иоходного орграфа.Особо следует отметить, что в предложенном алгоритме учитываются не только локальные особенности программного кода, а ещё и все вызвожные трассы исполнения в нём.
Рецензент: Голое Игорь Юрьевич, кандидат технических наук, Минобороны России, [email protected].
Литература:
1. Шеремет И.А. Угрозы техносфере России и противодействие им в современных условиях // Вестник академии военных наук. 2014.16 1 (46). С.27-34.
2. Осовецкий Л.Г., бтремоухов В.Д. Опр еделение авторства вредоносного кода с использованием метода сжатия данных // Программные продукты и системы. 2013. № 3. С. 31.
3. Марков А.С., Шхремет И.А. Теоретические аспекты сертификации средств защиты информации // Оборонный комплекс -научно-техническому прогрессу России. 2015. № 4 (128). С. 7-15.
4. Dullien T., Carrera E., Eppler S.M., Porst S. IST-091 - Information Assurance and Cyber Defence. NATO Research and Technology Organization, Automated Attacker Correlation for Malicious Code. Tallinn, Estonia. 2010. V. 26, pp. 1-10.
Об улучшении избирательности одного алгоритма.
5. Dullien T., Meyer-Eppler S. Method for Characterization of a Computer Program Part, US20110067010 A1, March 17, 2011.
6. Зыков А.А. Основы теории графов. М.: Наука, 1987. 384 с.
7. Lingas A. Trees in Algebra and Programming 8th Colloquium Proceedings (CAAP'83) // An application of maximum bipartite c-matching to subtree isomorphism. L'Aquila. 1983. С. 284-299.
8. Саргсян С., Курмангалеев Ш., Белеванцев А., Асланян А., Балоян А. Масштабируемый инструмент поиска клонов кода на основе семантического анализа программ // Труды Института системного программирования РАН. 2015. Т. 27. № 1. С. 39-50.
9. Саргсян С., Курмангалеев Ш., Белеванцев А., Аветисян А. Масштабируемый и точный поиск клонов кода // Программирование. 2015. № 6. С. 9-17.
10. Земляченко B.H. Установление изоморфизма деревьев // Вопросы кибернетики. М., 1973. С. 54-60.
11. Sedgewick R.,Wayne K. Algorithms. 4 ed. Addison-Wesley, 2011.
12. Кормен Т.Х., Лейзерсон Ч.И., Ривест Р.Л., Штайн К. Алгоритмы: построение и анализ. 3-е изд. М.: Изд. «Вильямс», 2014. 1328 с.
13. Dinitz Y., Itai A., Rodeh M. On an Algorithm of Zemlyachenko for Subtree Isomorphism, Information Processing Letters, V. 70, No 3, 1999, pp. 141-146.
ON IMPROVEMENT OF THE SELECTIVITY OF ONE ALGORITHM FOR DETERMINE MALWARE AUTHORSHIP
Kononov D.S.4
In the article the approach to the determent of malicious code authorship by comparing executable program code is examined. The lack of selectivity of existing algorithms that implement this approach is revealed by the example of BinDiff. To overcome this disadvantage the tree, which is based on the original digraph and has the set of all possible paths equals to the same set of the initial digraph, is examined. Since the paths of control flow graph represent the execution traces of the program, in the article the term "tree of traces" has been proposed to describe this structure. Previous algorithms for determining the isomorphism of "tree of traces" have exponential time complexity from the order of the initial digraphs. In the article a new algorithm for determining the isomorphism of "tree of traces", which is based on Zemlyachenko canonical index and has linear time complexity from the number of arcs of the initial digraphs, is presented. This result has been achieved by optimizing the "tree of traces" structure in the form of "compressed tree". The inclusion in the hash function the graph invariant based on Zemlyachenko index has improved selectivity in comparison with analogues for 50% for the graphs of the order of 51 without degrading the asymptotic time complexity. Keywords: directed graph, tree, invariant, canonical index, time complexity.
References:
1. Sheremet I.A. Ugrozy tekhnosfere Rossii i protivodeystvie im v sovremennykh usloviyakh, Vestnik akademii voennykh nauk,
2014, No 1 (46), pp. 27-34.
2. Osovetskiy L.G., Stremoukhov V.D. Opredelenie avtorstva vredonosnogo koda s ispol'zovaniem metoda szhatiya dannykh, Programmnye produkty i sistemy, 2013, No 3, pp. 31.
3. Markov A.S., Sheremet I.A. Teoreticheskie aspekty sertifikatsii sredstv zashchity informatsii, Oboronnyy kompleks - nauchno-tekhnicheskomu progressu Rossii, 2015, No 4 (128), pp. 7-15.
4. Dullien T., Carrera E., Eppler S.M., Porst S. IST-091 - Information Assurance and Cyber Defence. NATO Research and Technology Organization, Automated Attacker Correlation for Malicious Code. Tallinn, Estonia, 2010. V. 26, pp. 1-10.
5. Dullien T., Meyer-Eppler S. Method for Characterization of a Computer Program Part, US20110067010 A1, March 17, 2011.
6. Zykov A.A. Osnovy teorii grafov. M.: Nauka, 1987. 384 p.
7. Lingas A. Trees in Algebra and Programming 8th Colloquium Proceedings (CAAP'83), An application of maximum bipartite c-matching to subtree isomorphism. L'Aquila. 1983, pp. 284-299.
8. Sargsyan S., Kurmangaleev Sh., Belevantsev A., Aslanyan A., Baloyan A. Masshtabiruemyy instrument poiska klonov koda na osnove semanticheskogo analiza programm, Trudy Instituta sistemnogo programmirovaniya RAN, 2015. V. 27, No 1, pp. 39-50.
9. Sargsyan S., Kurmangaleev Sh., Belevantsev A., Avetisyan A. Masshtabiruemyy i tochnyy poisk klonov koda, Programmirovanie,
2015, No 6, pp. 9-17.
10. Zemlyachenko B.H. Ustanovlenie izomorfizma derev'yev, Voprosy kibernetiki. M., 1973, pp. 54-60.
11. Sedgewick R., Wayne K. Algorithms. 4 ed. Addison-Wesley, 2011.
12. Kormen T.Kh., Leyzerson Ch.I., Rivest R.L., Shtayn K. Algoritmy: postroenie i analiz. 3-e izd. M.: Izd. «Vil'yams», 2014. 1328 p.
13. Dinitz Y., Itai A., Rodeh M. On an Algorithm of Zemlyachenko for Subtree Isomorphism, Information Processing Letters, V. 70, No 3, 1999, pp. 141-146.
4 Kononov Dmitriy, Russian Defense Ministry, Moscow, [email protected]