ISSN 0236-235X (P)
ISSN 2311-2735 (E)

Journal influence

Higher Attestation Commission (VAK) - К1 quartile
Russian Science Citation Index (RSCI)

Bookmark

Next issue

4
Publication date:
09 December 2024

The definition of malicious code authorship using the data compression method

The article was published in issue no. № 3, 2013 [ pp. 167-169 ]
Abstract:The article describes a method of determining malicious code authorship based on the combination of the software's code and the code implemented by the known author. The method allows reducing searching the malicious code author and locating the range of possible developers ofmalicious code. This reduces the cost of information protection sys-tems developing and the definition of the security threats original field. The method increases the objectivity of the malicious code author's localization and the source of threats. The paper describes the mathematical algorithms for practical application of the proposed method.
Аннотация:Описан метод определения авторства вредоносного кода на основе совмещения исследуемого кода ПО с кодом, реализованным известным для исследователя автором. Метод основан на расчете энтропийной классификации исследуемого ПО и подтвержден модельным экспериментом. Он позволяет сократить поиск автора и локализовать круг возможных разработчиков вредоносного кода, что сокращает затраты на разработку систем защиты информации и определение исходного поля угроз безопасности. Метод способствует повышению объективности локализации автора вредоносного кода и источника угроз. В работе описаны математические алгоритмы для практического использования предлагаемого метода.
Authors: Osovetsky L.G. (leoned.osovetsky@gmail.com) - Leningrad Branch Of Central Science Research Telecommunication Institute, St. Petersburg, Russia, Ph.D, (riflegroove@gmail.com) - , Russia
Keywords: source of threats, security threats, viruses, malware
Page views: 9711
Print version
Full issue in PDF (13.63Mb)
Download the cover in PDF (1.39Мб)

Font size:       Font:

В настоящее время одним из наиболее приоритетных направлений в области защиты информации является борьба с вредоносным кодом (ВК) [1–4]. С этой целью во всем мире созданы компании, специализирующиеся на защите информации, которые занимаются анализом вредоносных программ и созданием эффективных средств защиты. И тем не менее новые ВК появляются регулярно, а общее число крупных эпидемий вирусов и червей растет из года в год. В данной ситуации наиболее пристальное внимание нужно обращать не на следствие проблемы, а на ее причину – авторов этих программ. Здесь крайне важную роль играют поиск и наказание создателей ВК, в первую очередь потому, что подобные акты сильно ослаб- ляют желание других создателей вирусов заниматься данным видом преступной деятельности. Рассмотренный далее метод предназначен не для однозначного определения автора того или иного ВК, а для значительного сужения круга наиболее вероятных авторов.

Задача определения автора ВК состоит в следующем. Пусть имеются фрагменты образцов ВК ряда авторов, написанные под одну платформу, на одном языке программирования, с использованием одного компилятора. О некотором анонимном фрагменте известно, что он принадлежит одному из данных авторов. Требуется узнать, кому именно.

Теория энтропийной классификации с помощью сжатия

Рассмотрим задачу классификации текста T относительно текстов S1, ..., Sn, характеризующих n авторов. Для этого используем подход, основанный на применении так называемой относительной энтропии [5, 6]. Определяем характеристику H(T|S), которая характеризует энтропию текста T по отношению к тексту S. Выбор источника текста T при наличии текстов S1, ..., Sn, представляющих n источников, осуществляется согласно оценке

q(T)=argminiH(T|Si).                                       (1)

В данном исследовании использовался способ, называемый шельфовым (off-the-shelf) алгоритмом: сжимаем компрессором текст Si и измеряем длину получившегося архива C(Si) в байтах. Затем создаем текст SiT, склеив тексты Si и T в один файл. Сжимаем SiT и измеряем длину полученного сжатого текста C(SiT) в байтах. Теперь полагаем

Hс(T|Si)= (C(SiT)-C(T)) /|T|,                           (2)

где |T| – длина текста T в байтах. Полученное число Hс(T|Si) можно использовать совместно в оценке q(T) вместо H(T|Si). Таким образом, для определения источника T вычисляем Hс(T|Si), а потом определяем истинный источник T, выбирая то i, которое соответствует минимальному из чисел Hс(T|Si).

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

Модельный эксперимент

Были проведены четыре исследования (см. рис. 1, 2) под три различные платформы: макровирусы под MSOffice, вирусы под DOS и два исследования ВК под Win32, созданных с использованием компилятора Borland Delphi 4.0–5.0.

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

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

Результаты исследования представлены на рисунке 3.

: : : Исследование 1 : : :

MSOffice

объект:

 - Virus.MSOffice.Shiver.d - группа 1

: : : Исследование 2.1 : : :

Borland Delphi 4.0 – 5.0

объект:

 - Email-Flooder.Win32.Dmb.01 - группа 3

группа 1:

–     Virus.MSWord.Groovie.b

–     Virus.MSWord.Melissa.bc

–     Virus.MSWord.Nail.b

–     Virus.MSWord.Natas

 

группа 2:

–      Virus.MSWord.Antisocial.l

–      Virus.MSWord.Hook

–      Virus.MSWord.Hope.t

–      Virus.MSWord.Slod

–      Virus.MSWord.Sufnoc

–      Virus.MSWord.ThisDocu- ment

группа 3:

–      Constructor.MSWord.WMVG

–      Virus.MSWord.Karma

–      Virus.MSWord.WMVG

группа 1:

Backdoor.Win32.Bionet.13

Email-Flooder.Win32.EBomb.09a

Nuker.Win32.NTKiller.13

группа 2:

Backdoor.Win32.HackTack.120.a

Backdoor.Win32.MoonPie.10

Backdoor.Win32.Y3KRat.15.b

группа 3:

Backdoor.Win32.Danton.22

DoS.Win32.DBomb.11

Рис. 1

: : : Исследование 2.2 : : :

Borland Delphi 4.0 - 5.0

объект:

- Backdoor.Win32.Danton.33 - группа 3

: : : Исследование 3 : : :

DOS

объект:

- Virus.DOS.Urod.773 - группа 1

группа 1:

Backdoor.Win32.Bionet.13

Email-Flooder.Win32.EBomb.09a

Nuker.Win32.NTKiller.13

группа 2:

Backdoor.Win32.HackTack.120.a

Backdoor.Win32.MoonPie.10

Backdoor.Win32.Y3KRat.15.b

группа 3:

Backdoor.Win32.Danton.22

DoS.Win32.DBomb.11

Email-Flooder.Win32.Dmb.01

группа 1:

Virus.DOS.Angry.393

Virus.DOS.Deviant.547

Virus.DOS.Minzdrav.470

Virus.DOS.Morgul.400

Virus.DOS.MREI.313

Virus.DOS.MRTI.576

Virus.DOS.Normal.789

Virus.DOS.SillyC.187.a

группа 2:

Virus.DOS.Anti-AV.695

Virus.DOS.Jerusalem.Math

Virus.DOS.Koniec.404

Virus.DOS.Olivia.2374

Virus.DOS.Trivial.Hot.130

Virus.DOS.Vienna.708

группа 3:

Virus.DOS.Animals.2400.b

Virus.DOS.DWI.1053

Virus.DOS.Eddie.651.d

Virus.DOS.Nono.1510

Virus.DOS.SVC.3103.c

группа 4:

IRC-Worm.DOS.Melanie

IRC-Worm.DOS.Sblive

VirTool.DOS.Smm.c

Virus.DOS.Mabuhay.4260

Virus.DOS.Melanie.1410

Рис. 2

: : : Исследование 1 : : :

объект:

- Virus.MSOffice.Shiver.d (62976) – группа 1

: : : Исследование 2.2 : : :

объект:

- Backdoor.Win32.Danton.33 (586240) – группа 3

группа 1:

58201 – 70761

группа 2:

34845 – 50326

группа 3:

309560 - 325580

группа 1:

386 383 – 538 115

группа 2:

736 463 – 905 846

группа 3:

431 041 - 567 715

: : : Исследование 2.1 : : :

объект:

- Email-Flooder.Win32.Dmb.01 (572928) – группа 3

: : : Исследование 3 : : :

объект:

- Virus.DOS.Urod.773 (10 773) – группа 1

группа 1:

386 383 – 547 081

группа 2:

736 463 – 882 292

группа 3:

313 972 – 431 041

группа 1:

3 520 – 4 239

группа 2:

5 400 – 6 293

группа 3:

8 078 – 8 969

группа 4:

16 770 – 17 671

Рис. 3

На рисунке 3 первая цифра – размер сжатого блока кода каждого автора, вторая – размер этого же сжатого блока с присоединенным к нему опытным образцом. Отношение этих двух величин есть коэффициент H. По нему определяем, какому автору принадлежит код (чем меньше коэффициент H, тем вероятнее принадлежность исследуемого образца данному автору).

: : : Исследование 1 : : :

объект:

- Virus.MSOffice.Shiver.d

группа 1

: : : Исследование 2.2 : : :

объект:

- Backdoor.Win32.Danton.33

группа 3

группа 1:

H1=0.1994410569

группа 2:

H2=0.2458238058

группа 3:

Н3=0,2543826219

Hmin=H1

автор - 1

группа 1: H1=0.2588223

группа 2: H2=0.2889311

группа 3: H3=0.2331365

Hmin=H3

автор - 3

: : : Исследование 2.1 : : :

объект:

- Email-Flooder.Win32.Dmb.01

группа 3

: : : Исследование 3 : : :

объект:

- Virus.DOS.Urod.773

группа 1

группа 1: H1=0.2804855

группа 2: H2=0.2545328

группа 3: H3=0.2043345

Hmin=H3

автор - 3

группа 1: H1=0.0667409

группа 2: H2=0.0828924

группа 3: H3=0.0827067

группа 4: H4=0.0836350

Hmin=H1

автор - 1

         

Рис. 4

Результаты исследования (рис. 4) показывают, что во всех четырех случаях автор был определен верно.

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

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

Литература

1.     Goel A., Okumoto K., Time-dependent Error – Detection Rate Model For Software Reliability And Other Performance Measures, IEEE Trans. On Software Eng., 1979, Vol. SE-28, no. 3.

2.     Касперский Е.В. Компьютерные вирусы: что это такое и как с ними бороться. М.: СК Пресс, 1998.

3.     Wilding E., Virus Bulletin, July, 1989.

4.     Компьютерные вирусы за 5 лет, URL: http://news.pro­ext.com/sec/12582.html (дата обращения: 08.10.2012).

5.     Боэм Б., Браун Дж. [и др.]. Характеристики качества программного обеспечения. М.: Мир, 1981.

6.     Холстед М.Х. Начала науки о программах. М.: Финансы и статистика, 1981.

References

1.     Goel A., Okumoto K., IEEE Trans. On Software Eng., 1979, SE-28, no. 3.

2.     Kaspersky E.V., Kompyuternye virusy: chto eto takoe i kak s nimi borotsya [Computer viruses: what is it and how to cope with them], Moskva, SK Press, 1998.

3.     Wilding E., Virus Bulletin, July, 1989.

4.     Kompyuternye virusy za 5 let [Computer viruses in 5 years], available at: http://news.proext.com/sec/12582.html (accessed 8 October 2012).

5.     Boehm B.W., Brown J.R., Kaspar H., Lipow M., MacLeod G.J., Merritt M.J., TRW Series on Software Technology. Vol. 1: Characteristics of Software Quality, North Holland, 1978.

2.     Halsted M.H., Elements of Software Science, Amsterdam, Elsevier North-Holland, 1977.


Permanent link:
http://swsys.ru/index.php?id=3580&lang=en&page=article
Print version
Full issue in PDF (13.63Mb)
Download the cover in PDF (1.39Мб)
The article was published in issue no. № 3, 2013 [ pp. 167-169 ]

Perhaps, you might be interested in the following articles of similar topics: