Огляд сучасних методів захищеності та безпеки програмних систем
Показано, що безпека та захищеність програмних ресурсів нині є однією з найбільш актуальних проблем в ІТ-галузі, оскільки дії зловмисників стають дедалі більш загрозливими, а збитки від кібератак збільшуються. Традиційні методи боротьби з кібератаками втрачають свою ефективність, тому розроблення но...
Gespeichert in:
Datum: | 2019 |
---|---|
Hauptverfasser: | , , , , |
Format: | Artikel |
Sprache: | Ukrainian |
Veröffentlicht: |
Інститут кібернетики ім. В.М. Глушкова НАН України
2019
|
Schriftenreihe: | Кибернетика и системный анализ |
Schlagworte: | |
Online Zugang: | http://dspace.nbuv.gov.ua/handle/123456789/181039 |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Назва журналу: | Digital Library of Periodicals of National Academy of Sciences of Ukraine |
Zitieren: | Огляд сучасних методів захищеності та безпеки програмних систем / О.О. Летичевський, В.С. Песчаненко, Я.В. Гринюк, В.Ю. Радченко, В.М. Яковлев // Кибернетика и системный анализ. — 2019. — Т. 55, № 5. — С. 156-169. — Бібліогр.: 28 назв. — укр. |
Institution
Digital Library of Periodicals of National Academy of Sciences of Ukraineid |
irk-123456789-181039 |
---|---|
record_format |
dspace |
spelling |
irk-123456789-1810392021-10-30T01:26:18Z Огляд сучасних методів захищеності та безпеки програмних систем Летичевський, О.О. Песчаненко, В.С. Гринюк, Я.В. Радченко, В.Ю. Яковлев, В.М. Програмно-технічні комплекси Показано, що безпека та захищеність програмних ресурсів нині є однією з найбільш актуальних проблем в ІТ-галузі, оскільки дії зловмисників стають дедалі більш загрозливими, а збитки від кібератак збільшуються. Традиційні методи боротьби з кібератаками втрачають свою ефективність, тому розроблення нових методів і засобів захисту програмних ресурсів є нагальною потребою. Особливо цікавими і перспективними є розробки, які ґрунтуються на формальних методах з використанням сучасних алгебраїчних теорій. Показано, что в настоящее время безопасность и защищенность программных ресурсов является одной из наиболее актуальных проблем в ИТ-отрасли, поскольку действия злоумышленников становятся все более изощренными, а убытки от кибератак растут. Традиционные методы борьбы с кибератаками теряют свою эффективность, поэтому разработка новых методов и средств защиты программных ресурсов является насущной потребностью. Особенно интересными и перспективными являются разработки, базирующиеся на формальных методах с использованием современных алгебраических теорий. Security and protection of software resources are one of the most important problems in the IT industry since attackers’ actions become increasingly sophisticated and losses caused by cyberattacks are growing. Traditional methods of cyberattack prevention become inefficient; therefore, development of new methods and tools to secure software resources becomes of essential need. The studies that are based on formal methods with the use of modern algebraic theories are especially interesting and promising. 2019 Article Огляд сучасних методів захищеності та безпеки програмних систем / О.О. Летичевський, В.С. Песчаненко, Я.В. Гринюк, В.Ю. Радченко, В.М. Яковлев // Кибернетика и системный анализ. — 2019. — Т. 55, № 5. — С. 156-169. — Бібліогр.: 28 назв. — укр. 1019-5262 http://dspace.nbuv.gov.ua/handle/123456789/181039 004.05, 004.4[2+9], 004.94, 519.7 uk Кибернетика и системный анализ Інститут кібернетики ім. В.М. Глушкова НАН України |
institution |
Digital Library of Periodicals of National Academy of Sciences of Ukraine |
collection |
DSpace DC |
language |
Ukrainian |
topic |
Програмно-технічні комплекси Програмно-технічні комплекси |
spellingShingle |
Програмно-технічні комплекси Програмно-технічні комплекси Летичевський, О.О. Песчаненко, В.С. Гринюк, Я.В. Радченко, В.Ю. Яковлев, В.М. Огляд сучасних методів захищеності та безпеки програмних систем Кибернетика и системный анализ |
description |
Показано, що безпека та захищеність програмних ресурсів нині є однією з найбільш актуальних проблем в ІТ-галузі, оскільки дії зловмисників стають дедалі більш загрозливими, а збитки від кібератак збільшуються. Традиційні методи боротьби з кібератаками втрачають свою ефективність, тому розроблення нових методів і засобів захисту програмних ресурсів є нагальною потребою. Особливо цікавими і перспективними є розробки, які ґрунтуються на формальних методах з використанням сучасних алгебраїчних теорій. |
format |
Article |
author |
Летичевський, О.О. Песчаненко, В.С. Гринюк, Я.В. Радченко, В.Ю. Яковлев, В.М. |
author_facet |
Летичевський, О.О. Песчаненко, В.С. Гринюк, Я.В. Радченко, В.Ю. Яковлев, В.М. |
author_sort |
Летичевський, О.О. |
title |
Огляд сучасних методів захищеності та безпеки програмних систем |
title_short |
Огляд сучасних методів захищеності та безпеки програмних систем |
title_full |
Огляд сучасних методів захищеності та безпеки програмних систем |
title_fullStr |
Огляд сучасних методів захищеності та безпеки програмних систем |
title_full_unstemmed |
Огляд сучасних методів захищеності та безпеки програмних систем |
title_sort |
огляд сучасних методів захищеності та безпеки програмних систем |
publisher |
Інститут кібернетики ім. В.М. Глушкова НАН України |
publishDate |
2019 |
topic_facet |
Програмно-технічні комплекси |
url |
http://dspace.nbuv.gov.ua/handle/123456789/181039 |
citation_txt |
Огляд сучасних методів захищеності та безпеки програмних систем / О.О. Летичевський, В.С. Песчаненко, Я.В. Гринюк, В.Ю. Радченко, В.М. Яковлев // Кибернетика и системный анализ. — 2019. — Т. 55, № 5. — С. 156-169. — Бібліогр.: 28 назв. — укр. |
series |
Кибернетика и системный анализ |
work_keys_str_mv |
AT letičevsʹkijoo oglâdsučasnihmetodívzahiŝenostítabezpekiprogramnihsistem AT pesčanenkovs oglâdsučasnihmetodívzahiŝenostítabezpekiprogramnihsistem AT grinûkâv oglâdsučasnihmetodívzahiŝenostítabezpekiprogramnihsistem AT radčenkovû oglâdsučasnihmetodívzahiŝenostítabezpekiprogramnihsistem AT âkovlevvm oglâdsučasnihmetodívzahiŝenostítabezpekiprogramnihsistem |
first_indexed |
2025-07-15T21:34:00Z |
last_indexed |
2025-07-15T21:34:00Z |
_version_ |
1837750279492075520 |
fulltext |
Î.Î. ËÅÒÈ×ÅÂÑÜÊÈÉ, Â.Ñ. ÏÅÑ×ÀÍÅÍÊÎ, ß.Â. ÃÐÈÍÞÊ, Â.Þ. ÐÀÄ×ÅÍÊÎ, Â.Ì. ßÊÎÂËÅÂ
ÓÄÊ 004.05, 004.4[2+9], 004.94, 519.7 ÎÃËßÄ ÑÓ×ÀÑÍÈÕ ÌÅÒÎIJÂ
ÇÀÕÈÙÅÍÎÑÒ² ÒÀ ÁÅÇÏÅÊÈ
ÏÐÎÃÐÀÌÍÈÕ ÑÈÑÒÅÌ
Àíîòàö³ÿ. Ïîêàçàíî, ùî áåçïåêà òà çàõèùåí³ñòü ïðîãðàìíèõ ðåñóðñ³â íèí³
º îäí³ºþ ç íàéá³ëüø àêòóàëüíèõ ïðîáëåì â ²Ò-ãàëóç³, îñê³ëüêè 䳿 çëîâìèñíèê³â
ñòàþòü äåäàë³ á³ëüø âèòîí÷åíèìè, à çáèòêè â³ä ê³áåðàòàê çá³ëüøóþòüñÿ. Òðà-
äèö³éí³ ìåòîäè áîðîòüáè ç ê³áåðàòàêàìè âòðà÷àþòü ñâîþ åôåêòèâí³ñòü, òîìó
ðîçðîáëåííÿ íîâèõ ìåòîä³â ³ çàñîá³â çàõèñòó ïðîãðàìíèõ ðåñóðñ³â º íàãàëüíîþ
ïîòðåáîþ. Îñîáëèâî ö³êàâèìè ³ ïåðñïåêòèâíèìè º ðîçðîáêè, ÿê³ ´ðóíòóþòüñÿ
íà ôîðìàëüíèõ ìåòîäàõ ç âèêîðèñòàííÿì ñó÷àñíèõ àëãåáðà¿÷íèõ òåîð³é.
Êëþ÷îâ³ ñëîâà: àëãåáðà¿÷íå ìîäåëþâàííÿ, àëãåáðà ïîâåä³íîê, ê³áåðáåçïåêà,
³íñåðö³éíå ïðîãðàìóâàííÿ, ôîðìàëüí³ ìåòîäè, ñèìâîëüí³ ìåòîäè, ñèìâîëüíå
ìîäåëþâàííÿ, ïîøóê âðàçëèâîñòåé.
Ïðîáëåìà áåçïåêè òà çàõèùåíîñò³ ïðîãðàìíèõ ðåñóðñ³â º îäí³ºþ ç íàéá³ëüø
àêòóàëüíèõ ïðîáëåì, ùî àêòèâíî âèâ÷àþòüñÿ òà îáãîâîðþþòüñÿ íà ì³æíàðîä-
íèõ êîíôåðåíö³ÿõ. Ïîÿâà ìåðåæåâèõ ïðîãðàì-çäèðíèê³â (ransomware), ÿê³ âè-
ìàãàþòü âèêóï, ñâ³ä÷èòü ïðî áåçïðåöåäåíòíèé ð³âåíü äîñêîíàëîñò³ òåõíîëîã³é
àòàê. Çëîâìèñíèêè äåäàë³ á³ëüø âïðàâíî óíèêàþòü âèÿâëåííÿ òà åôåêòèâíî
âèêîðèñòîâóþòü ïðîãàëèíè â ñèñòåì³ áåçïåêè. Âàæëèâ³ñòü ðîçâ’ÿçàííÿ ö³º¿
ïðîáëåìè ï³äêðåñëþºòüñÿ òèì, ùî çã³äíî ç [1] îáñÿã çáèòê³â, çàâäàíèõ ê³áåðíà-
ïàäàìè, ñÿãíóâ òðüîõ òðèëüéîí³â äîëàð³â ÑØÀ ó 2015 ð., à â 2021 ð., çà îö³í-
êàìè, ñòàíîâèòèìå ø³ñòü òðèëüéîí³â äîëàð³â ÑØÀ.
Ó ö³é ñòàòò³ íàâåäåíî îãëÿä îñíîâíèõ ïîíÿòü òà íàãàëüíèõ ïðîáëåì ó ãàëóç³ çàõèùå-
íîñò³ òà áåçïåêè. Îñîáëèâó óâàãó ïðèä³ëåíî çàñîáàì ê³áåðçàõèñòó (cybersecurity), ïîáóäî-
âàíèì ç âèêîðèñòàííÿì ôîðìàëüíèõ ìåòîä³â íà îñíîâ³ ñó÷àñíèõ àëãåáðà¿÷íèõ òåîð³é.
ÎÑÍÎÂͲ ÏÎÍßÒÒß ÒÀ ÊËÀÑÈÔ²ÊÀÖ²ß Ê²ÁÅÐÍÀÏÀIJÂ
ʳáåðíàïàä àáî õàêåðñüêà àòàêà — öå ñóêóïí³ñòü ä³é çëîâìèñíèê³â (õàêåð³â) ç ìåòîþ
âòðó÷àííÿ â ðîáîòó ïðîãðàìíî¿ ñèñòåìè äëÿ çàõîïëåííÿ äàíèõ, îòðèìàííÿ êîíòðîëþ
àáî âèâåäåííÿ ç ëàäó ðåñóðñ³â êîìï’þòåðíîãî ñåðåäîâèùà. Àòàêà âèêîðèñòîâóº âðàç-
ëèâ³ñòü ñèñòåìè, ñïðè÷èíåíó íåâäàëîþ àðõ³òåêòóðîþ àáî ïîìèëêîþ â êîä³.
Ïðîãðàìí³ ñèñòåìè, ÿê³ ìàþòü ïîìèëêè, º âðàçëèâèìè äëÿ àòàê. Íàïðèêëàä,
áàçà äàíèõ îïåðàö³éíî¿ ñèñòåìè Linux ìຠïîíàä 90000 â³äêðèòèõ ïîìèëîê.
Ïðîáëåìà, ïîâ’ÿçàíà ç ìîæëèâèì âèêîðèñòàííÿì öèõ ïîìèëîê ÿê âðàçëèâîñòåé
äëÿ àòàê, º á³ëüø ãîñòðîþ, í³æ ïèòàííÿ âèïðàâëåííÿ ïîìèëêè. Òåðì³í «exploit»
çà âèçíà÷åííÿì — öå àòàêà, ùî åêñïëóàòóº äåÿêó âðàçëèâ³ñòü.
Àòàêà ïî÷èíàºòüñÿ ç ïðîíèêíåííÿ ó â³ääàëåíèé êîìï’þòåð, ÿêèé ìîæå áóòè
ÿê íàñò³ëüíèì, òàê ³ ñêëàäîâîþ ÷àñòèíîþ ìåðåæ³ àáî õìàðíîãî ñåðåäîâèùà.
³äïîâ³äíî àòàêè êëàñèô³êóþòü çà îá’ºêòàìè íàïàäó (íàñò³ëüíèé ÏÊ, âåá-àòàêè, õìàð-
156 ISSN 1019-5262. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2019, òîì 55, ¹ 5
© Î.Î. Ëåòè÷åâñüêèé, Â.Ñ. Ïåñ÷àíåíêî, ß.Â. Ãðèíþê, Â.Þ. Ðàä÷åíêî, Â.Ì. ßêîâëåâ, 2019
íå ñåðåäîâèùå, áëîê÷åéí). Àòàêè ìîæóòü âèêîðèñòîâóâàòè çëîâìèñí³ ïðîãðàìè, ÿê³
àêòèâ³çóþòüñÿ ï³ä ÷àñ ïðîíèêíåííÿ ó êîìï’þòåð êîðèñòóâà÷à. Ó òàáë. 1 âèçíà÷åíî
îñíîâí³ òèïè çëîâìèñíèõ ïðîãðàì â³äïîâ³äíî äî ñïîñîá³â ¿õíüîãî ïðîíèêíåííÿ [2].
Àòàêè íà âåá-ñàéòè àáî âåá-ñåðâ³ñè, ðîçïîä³ëåí³ òà ëîêàëüí³ ìåðåæ³, õìàðíå
ñåðåäîâèùå âðàõîâóþòü òà âèêîðèñòîâóþòü îñîáëèâîñò³, ïîâ’ÿçàí³ ç òðàíñïîð-
òóâàííÿì äàíèõ äî ìåðåæåâèõ âóçë³â. Ïðîáëåìè áåçïåêè â ö³é ãàëóç³ çóìîâëåí³
ð³çíèìè òèïàìè àòàê, ÿê³ ìîæóòü çàñòîñîâóâàòèñÿ äëÿ ïîðóøåííÿ íîðìàëüíîãî
ôóíêö³îíóâàííÿ ìåðåæåâèõ ñèñòåì (àêòèâí³ àòàêè) àáî âèêðàäåííÿ ³íôîðìàö³¿,
ïåðåäàíî¿ ìåðåæåþ (ïàñèâí³ àòàêè). Çã³äíî ç [3] º òàê³ òèïè ìåðåæåâèõ àòàê, ÿê³ ó
òîé ÷è ³íøèé ñïîñ³á ïîðóøóþòü íîðìàëüíå ôóíêö³îíóâàííÿ ìåðåæåâèõ ñèñòåì
(óïîâ³ëüíåííÿ òà â³äìîâè, âòðàòè ³ ñïîòâîðåííÿ ³íôîðìàö³¿, ïåðåõîïëåííÿ ³íôîð-
ìàö³¿). ³äîì³ òèïè âåá-àòàê íàâåäåíî ó òàáë. 2.
ÒÐÀÄÈÖ²ÉͲ ÇÀÑÎÁÈ ÇÀÕÈÑÒÓ ÌÅÐÅÆ ÒÀ ÑÅÐÅÄÎÂÈÙ
²ñíóþòü òàê³ ð³çíîâèäè ñó÷àñíèõ òðàäèö³éíèõ ñèñòåì çàõèñòó.
� Ñèñòåìè âèÿâëåííÿ çëîâìèñíèê³â (IDS, Intruder Detection Systems) — ïðîãðà-
ìè, ùî ñïîñòåð³ãàþòü çà ïîâåä³íêîþ ñèñòåì òà ô³êñóþòü â³äõèëåííÿ ¿¿ âíóòð³øí³õ òà
çîâí³øí³õ ïðîÿâ³â â³ä âñòàíîâëåíî¿ ïîë³òèêè áåçïåêè. Çàçâè÷àé âîíè çíàõîäÿòüñÿ íà
âóçëàõ ìåðåæ³, àíàë³çóþ÷è òðàô³ê òà çáèðàþ÷è ³íôîðìàö³þ ç ï³äñèñòåì.
� ϳñî÷íèö³ — ñèñòåìè, ÿê³ ìàþòü ìîæëèâ³ñòü çàïóñêàòè ï³äîçð³ë³ ïðîãðàìè
â ³çîëüîâàíîìó ñåðåäîâèù³ íà â³äïîâ³äí³é â³ðòóàëüí³é ìàøèí³. ϳä ÷àñ âèêîíàí-
íÿ ïðîãðàìè â ñåðåäîâèù³ åìóëÿö³¿ îñòàííÿ íå çìîæå çàøêîäèòè ñèñòåì³ êîðèñ-
òóâà÷à, à àòàêà áóäå âèÿâëåíà åìóëÿòîðîì.
� Ïðîàêòèâí³ ñèñòåìè (HIPS, Host-Based Intrusion Prevention System) — ñèñ-
òåìè, îñíàùåí³ â³äêðèòîþ òàáëèöåþ ïðàâèë. Íà ï³äñòàâ³ ö³º¿ òàáëèö³ ñèñòåìà
äîçâîëÿº àáî çàáîðîíÿº ïåâí³ ä³¿ ç áîêó çàñòîñóíê³â. Ñèñòåìà îð³ºíòîâàíà íà
ä³àëîã ç êîðèñòóâà÷åì ³ âèñóâຠâèñîê³ âèìîãè äî éîãî êîìïåòåíòíîñò³.
Ó áàãàòüîõ ñèñòåìàõ âèêîðèñòîâóºòüñÿ òåõíîëîã³ÿ åâðèñòè÷íîãî àíàë³çó, ÿêà
äຠçìîãó âèÿâèòè ä³ëÿíêè ï³äîçð³ëîãî êîäó, ùî ïîðîäæóº øê³äëèâó àêòèâí³ñòü.
Îñíîâíèìè ãðàâöÿìè íà ðèíêó òðàäèö³éíîãî çàõèñòó â³ä ê³áåðàòàê º êîì-
ïàí³¿ Check Point, CISCO, McAffee.
ISSN 1019-5262. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2019, òîì 55, ¹ 5 157
Ò à á ë è ö ÿ 1
Òèï
çëîâìèñíî¿
ïðîãðàìè
Îïèñ çëîâìèñíî¿ ïðîãðàìè
³ðóñ Ïðîãðàìà, ùî ìîæå ïðèºäíóâàòè ñåáå äî ³íøî¿ ïðîãðàìè òà âèêîíóâàòèñÿ,
âèêîðèñòîâóþ÷è ¿¿ â ñåðåäîâèù³, ÿêå º «³íô³êîâàíèì»
Õðîáàê
(Worm)
Íà â³äì³íó â³ä â³ðóñó öÿ ïðîãðàìà ìîæå âèêîíóâàòèñÿ íåçàëåæíî
òà ðîçìíîæóâàòè ñâî¿ êîﳿ íà ³íøèõ êîìï’þòåðíèõ ðåñóðñàõ
Òðîÿí Ïðîãðàìà, ùî çîâí³ ìຠâèãëÿä êîðèñíî¿, à çëîâìèñíó ä³þ âèêîíóº â ê³íö³
ñâîãî æèòòºâîãî öèêëó
Øïèãóí
(Spyware)
Òèï çëîâìèñíî¿ ïðîãðàìè, ÿêà â³äñë³äêîâóº 䳿 êîðèñòóâà÷à ç ìåòîþ
îòðèìàííÿ âàæëèâî¿ ³íôîðìàö³¿, íàïðèêëàä ïàðîëþ, íîìåð³â ðàõóíê³â òà ³í.
Âèìàãà÷
(Ransomware)
Ïðîãðàìà, ÿêà òàºìíî ³íñòàëþºòüñÿ íà êîìï’þòåð³ êîðèñòóâà÷à òà
çàøèôðîâóº äàí³ ç ìåòîþ âèìàãàííÿ âèêóïó çà êîðåêòíå äåøèôðóâàííÿ
ϳäðîáêà
(Scareware)
Øê³äëèâ³ êîìï’þòåðí³ ïðîãðàìè, ïðèçíà÷åí³ äëÿ òîãî, ùîá çìóñèòè
êîðèñòóâà÷à êóïóâàòè òà çàâàíòàæóâàòè íåïîòð³áíå òà ïîòåíö³éíî íåáåçïå÷íå
ïðîãðàìíå çàáåçïå÷åííÿ, íàïðèêëàä ï³äðîáëåíèé àíòèâ³ðóñíèé çàõèñò
²ì³òàòîð
(Bot)
Ïðîãðàìà, ÿêà ³ì³òóº 䳿 êîðèñòóâà÷à çà äîïîìîãîþ â³äïîâ³äíèõ ³íòåðôåéñ³â
çã³äíî ç âñòàíîâëåíèì ðîçêëàäîì àáî àëãîðèòìîì ç ìåòîþ ìåðåæåâèõ àòàê,
øàõðàéñòâà, ïîøèðåííÿ íåïîòð³áíî¿ ðåêëàìè òà ³íøîãî ïåðåâàíòàæåííÿ
³íòåðíåò-êàíàëó. Òàêîþ ïðîãðàìîþ º, íàïðèêëàä, DDoS-àòàêà
Ñõîâàíêè
(Rootkits)
Íàá³ð ïðîãðàìíèõ çàñîá³â, ÿê³ äàþòü çìîãó íåàâòîðèçîâàíîìó êîðèñòóâà÷åâ³
îòðèìàòè êîíòðîëü íàä êîìï’þòåðíîþ ñèñòåìîþ áåç âèÿâëåííÿ ç ìåòîþ
âèêðàäåííÿ äàíèõ
Êîìïàí³ÿ Check Point ïðàöþº â ö³é ãàëóç³ ç 1993 ð. ³ ðîçðîáëÿº êîìïëåêñí³
ïðîäóêòè ³ç çàõèñòó ïðîãðàìíèõ ñèñòåì ÿê äëÿ õìàðíîãî ñåðåäîâèùà, òàê ³ äëÿ
ìîá³ëüíèõ ïðèñòðî¿â. Îäíèì ç îñòàíí³õ º ïðîäóêò Check Point Software Blade
Architecture [4] (ðèñ. 1), ùî çàáåçïå÷óº êîìïëåêñíå êîíô³ãóðóâàííÿ íåîáõ³äíèõ
êîìïîíåíò ê³áåðçàõèñòó.
Êîìïàí³ÿ CISCO ïðàöþº íà ðèíêó ïîíàä 20 ðîê³â. Ïðîòÿãîì öüîãî ÷àñó
â³äáóëîñÿ çíà÷íå ï³äñèëåííÿ àðñåíàëó çàñîá³â çàõèñòó ñó÷àñíèìè òåõíîëîã³ÿìè,
âåëè÷åçíîþ ê³ëüê³ñòþ ïðèñòðî¿â òà ñåíñîð³â. Êîìïàí³ÿ º çíàíèì ðîçðîáíèêîì ÿê
àïàðàòíèõ çàñîá³â, òàê ³ ïðîãðàìíîãî çàáåçïå÷åííÿ, ïî÷èíàþ÷è ç ðîóòåð³â òà
äàòà-öåíòð³â ³ çàê³í÷óþ÷è ïîâåä³íêîâèìè àíàë³çàòîðàìè.
Êîìïàí³ÿ McAfee çäåá³ëüøîãî ñïåö³àë³çóºòüñÿ íà äîìàøí³õ êîìï’þòåðàõ,
â³äîìà ñâî¿ìè àíòèâ³ðóñàìè, çàõèñòîì ïëàíøåò³â òà ñìàðòôîí³â.
Íåçâàæàþ÷è íà âèêîðèñòàííÿ ðîçâèíåíèõ òåõíîëîã³é ó ïðîãðàìí³é òà àïà-
ðàòí³é ñôåð³, ñó÷àñí³ ñèñòåìè çàõèñòó íå º ³äåàëüíèì çàõèñòîì ïðîãðàìíîãî ñåðå-
158 ISSN 1019-5262. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2019, òîì 55, ¹ 5
Ò à á ë è ö ÿ 2
Íàçâà àòàêè Îïèñ àòàêè
ϳäðîáêà
(Spoofing)
Ñòîðîííÿ ïðîãðàìà, ÿêà âèêîðèñòîâóº ôàëüøèâó ³äåíòèô³êàö³þ,
çìóøóþ÷è ñèñòåìó, ÿêó àòàêóþòü, çì³íþâàòè òîïîëîã³þ ìåðåæ³
Ìîäèô³êàö³ÿ
(Modification) Çëîâìèñíà ñèñòåìà çì³íþº ìàðøðóòèçàö³þ â ìåðåæ³
Òóíåëüíà àòàêà
(Wormhole)
Ñèñòåìà, ùî àòàêóº, îòðèìóþ÷è ïàêåò äàíèõ, ïåðåñïðÿìîâóº éîãî
â ³íøå ì³ñöå, ³ì³òóþ÷è äëÿ ñèñòåìè, ÿêó àòàêóþòü, íàéêîðîòøèé øëÿõ
â ìåðåæ³
Ôàáðèêàö³ÿ
(Fabrication)
Ãåíåðàö³ÿ çëîâìèñíîþ ñèñòåìîþ ôàëüøèâîãî ïîâ³äîìëåííÿ äëÿ
ìåðåæåâî¿ ìàðøðóòèçàö³¿, ÿêå ïîðóøóº ðîáîòó ïðèñòðî¿â-ìàðøðóòèçàòîð³â
³äìîâà â
îáñëóãîâóâàíí³
(Denial-of-Ser-
vice, DDoS)
Óïîâ³ëüíåííÿ àáî ïîðóøåííÿ ðîáîòè ñèñòåìè, ÿêó àòàêóþòü, çà ðàõóíîê
ïåðåâàíòàæåííÿ ìåðåæåâîãî òðàô³êó ³ íàäì³ðíî¿ ê³ëüêîñò³ çàïèò³â, ùî
îäíî÷àñíî íàäõîäÿòü ó ñèñòåìó
Âèãð³áíà ÿìà
(Sinkhole)
Ñòâîðåííÿ ïåðåøêîä, ùî íå äàþòü çìîãè ñèñòåì³, ÿêó àòàêóþòü,
îòðèìóâàòè ïîâíó ³ êîðåêòíó ³íôîðìàö³þ. Ìåòîþ º âèá³ðêîâà
ìîäèô³êàö³ÿ, ïåðåíàïðàâëåííÿ ³ âòðàòà ³íôîðìàö³¿
Ñèâ³ëëà
(Sybil)
Àòàêà ç âèêîðèñòàííÿì áåçë³÷³ çëîâìèñíèõ âóçë³â ìåðåæ³, ï³ä ÷àñ ÿêî¿
îäèí òàêèé âóçîë ïåðåäຠñåêðåòí³ êëþ÷³ ³íøèì
Àíàë³ç òðàô³êó
(Traffic analysis) Çä³éñíåííÿ àíàë³çó îáñÿãó äàíèõ, ïåðåäàíèõ ì³æ âóçëàìè, ùî àòàêóþòüñÿ
ϳäñëóõîâóâàííÿ
(Eavesdropping)
Àòàêè, ÿê³ ÷àñòî çä³éñíþþòüñÿ ó ìåðåæàõ ìîá³ëüíîãî çâ’ÿçêó ç ìåòîþ
âèêðàäåííÿ âàæëèâî¿ ³íôîðìàö³¿, çîêðåìà ñåêðåòíèõ êëþ÷³â
Ìîí³òîðèíã
(Monitoring) Ïåðåõîïëåííÿ âàæëèâî¿ ³íôîðìàö³¿ â ìåðåæ³ áåç ¿¿ ìîäèô³êàö³¿
×îðíà ä³ðà
(Black hole)
Ñèñòåìà, ùî àòàêóº, âèêîðèñòîâóº ïðîòîêîëè ìàðøðóòèçàö³¿ äëÿ òîãî,
ùîá ïðåäñòàâèòè ñåáå íàéêðàùèì âóçëîì äëÿ ìàðøðóòèçàö³¿ äàíèõ äëÿ
ñèñòåìè, ÿêó àòàêóþòü
Ïîñï³õ
(Rushing)
Ñèñòåìà, ùî àòàêóº, çä³éñíþº ï³äì³íó ïàêåò³â, ÿê³ ïåðåäàþòüñÿ ì³æ
âóçëàìè, ùî àòàêóþòüñÿ, ïîò³ì äóáëþº ö³ ïàêåòè çíîâó ³ çíîâó,
ñòâîðþþ÷è âðàæåííÿ âèñîêîíàâàíòàæåíî¿ ñèñòåìè
Ïîâòîð
(Replay)
Ñèñòåìà, ùî àòàêóº, ìîæå ïîâòîðþâàòè ìåðåæåâ³ ïàêåòè òà/àáî
çàòðèìóâàòè ¿õ, à â ïðîöåñ³ îáðîáëåííÿ âèêðàäàòè êîíô³äåíö³éíó
³íôîðìàö³þ, íàïðèêëàä ïàðîë³
³çàíò³éñüêà
àòàêà
(Byzantine)
Âóçëè ñèñòåìè, ùî àòàêóº, âáóäîâóþòüñÿ ì³æ âóçëàìè, ùî àòàêóþòüñÿ,
âèêîðèñòîâóþ÷è íåîïòèìàëüí³ ìàðøðóòè, ñòâîðþþ÷è öèêëè
â ìàðøðóòàõ, àáî âèá³ðêîâî «âòðà÷àþ÷è» ïàêåòè
Ðîçêðèòòÿ
ðîçòàøóâàííÿ
(Location
disclosure)
Çáèðàííÿ ³íôîðìàö³¿ ïðî âóçëè, ùî àòàêóþòüñÿ, ³ ìàðøðóòè, ìîí³òîðèíã
òðàô³êà ç ïîäàëüøèì çàñòîñóâàííÿì ³íøèõ âèä³â àòàê
äîâèùà ³ ìàþòü íèçêó íåäîë³ê³â. Íàñàìïåðåä, öå äîñèòü âåëèêà ê³ëüê³ñòü ïîìèë-
êîâèõ âèÿâëåíü, îñîáëèâî ïðè ï³äâèùåíí³ ÷óòëèâîñò³ àíàë³çàòîðà. Öÿ ðèñà
íàéá³ëüøîþ ì³ðîþ ïðèòàìàííà åâðèñòè÷íîìó ìåòîäó. Íåñâîº÷àñí³ñòü âèÿâëåííÿ
àòàêè çóìîâëåíà çíà÷íîþ òðèâàë³ñòþ ïðîöåñó âèÿâëåííÿ. Öå ìîæå ñòàòèñÿ, êîëè
íàïàäíèê âèêîðèñòîâóº òàê³ çàñîáè ìàñêóâàííÿ, ÿê îáôóñêàö³ÿ (ìàñêóâàííÿ ïî-
âåä³íêè øëÿõîì óâåäåííÿ «ìåðòâîãî êîäó»), ïîë³ìîðô³çì (çëîâìèñíèé ôàéë,
ÿêèé çì³íþº ñåáå ï³ä ÷àñ ðîçïîâñþäæåííÿ, çàïóñêó) òà ïàêóâàííÿ ôàéë³â. Òàê³ ä³¿
ïðèçâîäÿòü äî òîãî, ùî ï³ä ÷àñ ïåðåâ³ðêè ôàéëó â³äîìà àòàêà ìîæå áóòè âçàãàë³
íå âèÿâëåíà. ²çîëüîâàíå âèêîíàííÿ ïðîãðàìè òàêîæ íå ïîçáàâëåíå íåäîë³ê³â,
âîíî ïîòðåáóº íàäòî áàãàòî ÷àñó ³ ðåñóðñ³â êîìï’þòåðà êîðèñòóâà÷à, ùî íåãà-
òèâíî ïîçíà÷àºòüñÿ íà øâèäêî䳿 ï³ä ÷àñ âèêîíàííÿ ïîâñÿêäåííèõ îïåðàö³é.
Äî òîãî æ, ñó÷àñí³ øê³äëèâ³ ïðîãðàìè çäàòí³ âèÿâëÿòè âèêîíàííÿ â ³ì³òîâàíîìó
ñåðåäîâèù³ ³ ïðèïèíÿòè ñâîº âèêîíàííÿ â íüîìó.
Ïðîòÿãîì îñòàíí³õ ï’ÿòè ðîê³â â³äáóâñÿ çíà÷íèé ðîçâèòîê ôîðìàëüíèõ ìå-
òîä³â, ÿê³ º îñíîâîþ ïðîãðàì ê³áåðçàõèñòó, ó çâ’ÿçêó ç ðîçâèòêîì òàêèõ ³íñòðó-
ìåíò³â, ÿê ðîçâ’ÿçóâà÷³ çàäà÷ òà ìàøèíè àâòîìàòè÷íîãî äîâåäåííÿ òåîðåì.
ÔÎÐÌÀËÜͲ ÌÅÒÎÄÈ, ÇÀÑÒÎÑÎÂÀͲ  ÌÅÒÎÄÀÕ Ê²ÁÅÐÇÀÕÈÑÒÓ
Äëÿ ðîçâ’ÿçàííÿ ïðîáëåìè áåçïåêè òà çàõèùåíîñò³ àáî ïðîáëåìè ê³áåðçàõèñòó
(cybersecurity) ðîçãëÿäàþòü òàê³ äâà àñïåêòè.
1. Âèÿâëåííÿ âðàçëèâîñòåé ó íàÿâí³é ïðîãðàì³, ïîäàí³é ó âèãëÿä³ á³íàðíîãî
àáî âèõ³äíîãî êîäó ïðîãðàìè.
2. Âèÿâëåííÿ àòàêè â ðåæèì³ ôóíêö³îíóâàííÿ ïðîãðàìíèõ ðåñóðñ³â ó ïåâíî-
ìó êîìï’þòåðíîìó ñåðåäîâèù³, òàêîìó ÿê îêðåìèé êîìï’þòåð, êîìï’þòåðíà ìå-
ðåæà àáî õìàðíå ñåðåäîâèùå.
Ó 2016 ð. êîìïàí³ºþ Darpa áóëî ïðîâåäåíî òàê çâàíèé Cyber Grand
Challenge [5] — çìàãàííÿ íèçêè ïðîãðàìíèõ ñèñòåì äëÿ âèÿâëåííÿ âðàçëèâîñòåé
ó çàïðîïîíîâàíèõ ïðîãðàìàõ. 40 êîìàíä ç³ ñâî¿ìè ñèñòåìàìè çìàãàëèñÿ ó ñïðî-
ìîæíîñò³ âèÿâèòè ìàêñèìàëüíó ê³ëüê³ñòü âðàçëèâîñòåé ó ïðîãðàìàõ âïðîäîâæ
îáìåæåíîãî ïðîì³æêó ÷àñó. Îñíîâíèìè ïåðåìîæöÿìè ñòàëè:
� ñèñòåìà Mayhem [6] êîìàíäè ForAllSecure ç ϳòñáóðãó, ùî âèãðàëà êîí-
êóðñ. Ó ñèñòåì³ áóëî çàñòîñîâàíî ñèìâîëüíå âèêîíàííÿ ïðîãðàì ³ç âèêîðèñòàí-
íÿì ðîçâ’ÿçíî¿ ñèñòåìè Microsoft Z3 òà ñèìâîëüíó ìîäåëü ïàì’ÿò³;
ISSN 1019-5262. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2019, òîì 55, ¹ 5 159
Ðèñ. 1. ³êíî íàëàøòóâàííÿ ñèñòåìè Check Point Software Blade Architecture
� ñèñòåìà Xandra [7] êîìàíäè ç Íüþ-Éîðêó, ó ÿê³é áóëî âèêîðèñòàíî âëàñ-
íèé ñèìâîëüíèé øóêà÷ âðàçëèâîñòåé;
� ñèñòåìà Mechanical Phish [8], ó ÿê³é áóëî âèêîðèñòàíî ìåòîä ðîçïîðîøåí-
íÿ («ôàçç³íã», Fuzzing) ó ïîºäíàíí³ ç ñèìâîëüíèì âèêîíàííÿì.
Îñîáëèâ³ñòþ öüîãî êîíêóðñó áóëî òå, ùî êîæíèé ïåðåìîæåöü çàñòîñîâóâàâ
àëãåáðà¿÷í³ ìåòîäè òà äåäóêòèâí³ çàñîáè (ðîçâ’ÿçóâà÷³ çàäà÷ òà àâòîìàòè÷íå
äîâåäåííÿ òåîðåì).
Êîìïàí³ÿ Amazon º îäí³ºþ ç ïðîâ³äíèõ, ÿêà âèêîðèñòîâóº ôîðìàëüí³ ìåòîäè
â çàõèñò³ õìàðíîãî ñåðåäîâèùà â³ä çîâí³øí³õ àòàê. Âîíà ìຠïîíàä 1500 ñåðâ³ñ³â,
îòæå ð³âåíü íåáåçïåêè âòðó÷àííÿ º äîñèòü âèñîêèì. Äëÿ òî÷íîãî âèçíà÷åííÿ àòàê
êîìïàí³ÿ äóæå àêòèâíî çàñòîñîâóº ôîðìàëüí³ ìåòîäè, çîêðåìà, á³ëüøå äåñÿòè
äåäóêòèâíèõ ³íñòðóìåíò³â.
Ìåòîä ðîçïîðîøåííÿ º îñíîâíèì çàñîáîì çíàõîäæåííÿ íåâ³äîìèõ óðàçëè-
âîñòåé (óðàçëèâîñò³ íóëüîâîãî äíÿ). ³í ïîëÿãຠâ òîìó, ùî ï³ä ÷àñ ðåàë³çàö³¿
ð³çíèõ ñöåíàð³¿â âèêîíàííÿ ïðîãðàìè ãåíåðóþòüñÿ êðèòè÷í³ âåëè÷èíè çì³ííèõ ó
ïðîãðàì³, ÿê³ ìîæóòü ïðèçâåñòè äî âðàçëèâèõ ä³é. Îäí³ºþ ç íàéâ³äîì³øèõ
Fuzzing-ìàøèí º AFL (American Fuzzy Lop), ñòâîðåíà êîìïàí³ºþ Google [9].
Çàãàëîì ìîæíà âèä³ëèòè òàê³ íàïðÿìè âèêîðèñòàííÿ ôîðìàëüíèõ ìåòîä³â.
Àíàë³ç ïîñë³äîâíîñò³ ñèñòåìíèõ âèêëèê³â. Ñèñòåìíèé âèêëèê — öå ïðîãðàì-
íèé ñïîñ³á çàïèòó ñåðâ³ñ³â ó îïåðàö³éíî¿ ñèñòåìè. Ïðèêëàäàìè ñèñòåìíèõ âèêëèê³â
ìîæóòü ñëóãóâàòè ôóíêö³¿ äëÿ ç÷èòóâàííÿ-çàïèñó ôàéë³â àáî ðîáîòà ç ìåðåæåþ.
Á³ëüø³ñòü ïðîãðàì âèêîðèñòîâóþòü ñèñòåìí³ âèêëèêè äëÿ ñï³ëêóâàííÿ ìåðåæåþ,
çáåðåæåííÿ íàëàøòóâàíü êîðèñòóâà÷à òà ³íøèõ ïîä³áíèõ ä³é. Ñèñòåìà âèÿâëåííÿ
àòàê ïåðåõîïëþº òà ôîðìóº ïîñë³äîâíîñò³ ñèñòåìíèõ âèêëèê³â äëÿ êîíêðåòíîãî ïðî-
öåñó. Òàêîæ º â³äêðèò³ ìàñèâè ç ïîñë³äîâíîñòÿìè ñèñòåìíèõ âèêëèê³â, ÿê³ â³äïîâ³äà-
þòü êîíêðåòíèì âðàçëèâîñòÿì. Ç âèêîðèñòàííÿì â³äîìèõ ïîñë³äîâíîñòåé ôîðìó-
þòüñÿ àëãîðèòìè, ÿê³ âèçíà÷àþòü, ÷è º ö³ ïîñë³äîâíîñò³ ïîòåíö³éíèìè àòàêàìè.
Äëÿ ïîáóäîâè àëãîðèòì³â êëàñèô³êàö³¿ [10] âðàçëèâîñòåé âèêîðèñòîâóþòüñÿ
ð³çí³ ôîðìàëüí³ ìåòîäè. Îäèí ç íèõ ´ðóíòóºòüñÿ íà àëãîðèòì³ ç âèêîðèñòàííÿì
òàê çâàíèõ â³êîí, ÿê³ ðóõàþòü ïî ïîñë³äîâíîñò³ ñèñòåìíèõ âèêëèê³â. Öå äîñèòü
ïîïóëÿðíèé àëãîðèòì, àäæå ô³êñîâàíèé ðîçì³ð â³êíà äຠçìîãó ðåãóëþâàòè
øâèäêîä³þ òà âèêîðèñòîâóâàòè ð³çí³ ñòàòèñòè÷í³ ìåòîäè. Ìîæíà çàñòîñîâóâàòè
ïðèõîâàí³ ìàðêîâñüê³ ìîäåë³, ðåêóðåíòí³ íåéðîíí³ ìåðåæ³, àëå âîäíî÷àñ âèá³ð
ïàðàìåòð³â äëÿ öèõ ìåòîä³â º äîñòàòíüî ñêëàäíèì ³ êîìïðîì³ñíèì, îñê³ëüêè
ïîòð³áíî óíèêíóòè ïåðåíàâ÷àííÿ òà çìåíøèòè âèêîðèñòîâóâàí³ ðåñóðñè. Ìîâíèé
ï³äõ³ä ïåðåäáà÷ຠôîðìóâàííÿ ïðîñòèõ n-ãðàì³â ïîä³áíî äî òîãî, ÿê öå ðîáëÿòü
â îáðîáëåíí³ òåêñò³â, àëå íàâ³òü íà íåâåëèêèõ n-ãðàìàõ ðîçì³ð ïîòåíö³éíîãî
ïðîñòîðó âåêòîð³â ñòຠäóæå âåëèêèì.
Ïåðåâàãàìè àíàë³çó ïîñë³äîâíîñò³ ñèñòåìíèõ âèêëèê³â º óí³âåðñàëüí³ñòü,
àäæå ñèñòåìí³ âèêëèêè º óí³ô³êîâàíèì ³íòåðôåéñîì ðîáîòè ì³æ ïðîãðàìîþ òà
îïåðàö³éíîþ ñèñòåìîþ. Òàêîæ º ìîæëèâ³ñòü çíàõîäèòè àòàêè íóëüîâîãî äíÿ,
òîáòî àòàêè, ÿê³ ùå íå áóëè âèÿâëåí³. Öåé ï³äõ³ä òàêîæ ìຠíåäîë³êè ÷åðåç ìàëó
ê³ëüê³ñòü äàíèõ äëÿ íàâ÷àííÿ, à òàê³ ñèñòåìè âèÿâëåííÿ àòàê ìàþòü âåëèêèé
â³äñîòîê ïîìèëîê ïåðøîãî ðîäó ³ âïëèâàþòü íà øâèäêîä³þ ïðîãðàì â ö³ëîìó,
àäæå ³ñíóþòü äåÿê³ íàêëàäí³ âèòðàòè ï³ä ÷àñ ç÷èòóâàííÿ ñèñòåìíèõ âèêëèê³â.
Ñèñòåìè âèÿâëåííÿ àòàê íà îñíîâ³ ñèìâîëüíèõ îá÷èñëåíü. Ñèìâîëüíå
âèêîíàííÿ ñêëàäàºòüñÿ ç ³íòåðïðåòàö³¿ êîäó, êîëè ï³ä ÷àñ âèêîíàííÿ ïðîãðàìè
âèêîðèñòîâóþòüñÿ ñèìâîëè, ùî ïðåäñòàâëÿþòü äîâ³ëüí³ çíà÷åííÿ çàì³ñòü êîí-
êðåòíèõ ââåäåíü, íàïðèêëàä ðÿäêè ÷è öèôðè. Ïðè öüîìó îá÷èñëþâàííÿ
çä³éñíþºòüñÿ, ÿê ó êîíêðåòíîìó âèêîíàíí³, çà âèíÿòêîì òîãî, ùî çíà÷åííÿ, îá-
ðîáëåí³ çà ïðîãðàìîþ, ìîæóòü áóòè ñèìâîëüíèì âèðàçîì íàä âõ³äíèìè ñèìâîëà-
ìè. Çàâäÿêè öüîìó ñèìâîëüíå âèêîíàííÿ ãåíåðóº âñ³ ìîæëèâ³ øëÿõè âèêîíàííÿ
ïðîãðàìè. Äëÿ êîæíîãî øëÿõó âèâîäèòüñÿ ìíîæèíà âõ³äíèõ äàíèõ, ÿê³ ôîðìó-
þòü òàêèé øëÿõ âèêîíàííÿ. Ö³ äàí³ º êîðèñíèìè äëÿ ä³àãíîñòèêè ÿê íèçüêîð³âíå-
âèõ çáî¿â, òàê ³ âèñîêîð³âíåâèõ âëàñòèâîñòåé ïðîãðàìè.
160 ISSN 1019-5262. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2019, òîì 55, ¹ 5
×àñòî íåìຠäîñòóïó äî âèõ³äíîãî êîäó âèêîíóâàíî¿ ïðîãðàìè, òîìó ïðåäìå-
òîì àíàë³çó âèñòóïຠïðîãðàìà ó äèçàñåìáëüîâàíîìó âèãëÿä³. Äèçàñåìáëþâàí-
íÿ — ïðîöåñ òðàíñëÿö³¿ ïðîãðàìè ç ìàøèííèõ êîä³â ó ìîâó àñåìáëåð (³íñòðóêö³¿
ïðîöåñîðà). Òàêèì ÷èíîì, ñèìâîëüíå îá÷èñëåííÿ âèêîíóºòüñÿ íà îñíîâ³ àñåìá-
ëåðíîãî ïðåäñòàâëåííÿ ïðîãðàìè.
Îäíèì ³ç ñïîñîá³â âèêîðèñòàííÿ ðåçóëüòàò³â ñèìâîëüíîãî îá÷èñëåííÿ º
³äåíòèô³êóâàííÿ ÷óòëèâèõ ì³ñöü, äå âèêîðèñòîâóþòüñÿ íåíàä³éí³ äàí³ [11]. Íå-
íàä³éí³ äàí³ — öå äàí³, ÿê³ ïîäàþòüñÿ ïðîãðàì³ íà âõ³ä ³ íå ïðîõîäÿòü íàëåæíîãî
îáðîáëåííÿ; îáðîáëåííÿ ìîæå áóòè ð³çíèì çàëåæíî â³ä õàðàêòåðó äàíèõ òà ì³ñöü
¿õíüîãî âèêîðèñòàííÿ. ×óòëèâ³ ì³ñöÿ — öå ì³ñöÿ ïðîãðàìè, ÿê³ ìîæóòü çà äåÿêèõ
îáñòàâèí áóòè äæåðåëîì àíîìàëüíî¿ ïîâåä³íêè ïðîãðàìè, ïðèâ³ëåéîâàíîãî
äîñòóïó òîùî. Íàïðèêëàä, âèêëèê ôóíêö³¿ system çàïóñêຠïðîãðàìó, ÿêà îïè-
ñóºòüñÿ âõ³äíèì àðãóìåíòîì. Ó òîìó ðàç³, ÿêùî çíà÷åííÿ, ÿêå ïåðåäàºòüñÿ
ó system, îáðîáëÿºòüñÿ íåêîðåêòíî, çëîâìèñíèê ìîæå çàïóñêàòè áóäü-ÿê³ ïðîãðà-
ìè, à öå º ñåðéîçíîþ âðàçëèâ³ñòþ. Òàêèé ï³äõ³ä äîâ³â ñâîþ ïðàêòè÷í³ñòü ó âèÿâ-
ëåíí³ âðàçëèâîñòåé, ïîâ’ÿçàíèõ ³ç ïåðåïîâíåííÿì áóôåðó, ïåðåïîâíåííÿì ö³ëî-
÷èñåëüíèõ çì³ííèõ, â³ääàëåíèì âèêîíàííÿì êîäó.
Îäíàê ó âèïàäêó âèêîðèñòàííÿ ñèìâîëüíèõ îá÷èñëåíü ê³ëüê³ñòü ìîæëèâèõ
øëÿõ³â çðîñòຠåêñïîíåíö³éíî äî ê³ëüêîñò³ ³íñòðóêö³é íàâ³òü ó íåâåëèêèõ ïðîãðà-
ìàõ. ßêùî íå áðàòè äî óâàãè íàéïðîñò³ø³ âèïàäêè, ïîâíèé àíàë³ç ìîæå ïîòðåáó-
âàòè âåëèêîãî îáñÿãó ÷àñó òà îá÷èñëþâàëüíèõ ïîòóæíîñòåé. Äëÿ ïîäîëàííÿ öüî-
ãî çàñòîñîâóþòüñÿ ð³çí³ òåõí³êè, ÿê³ îïòèì³çóþòü âèêîíàííÿ, àëå ïðè öüîìó çìåí-
øóþòü òî÷í³ñòü ìåòîäó. Äî òîãî æ âíàñë³äîê âèêîðèñòàííÿ ñèìâîëüíèõ
îá÷èñëåíü ìîæíà ãåíåðóâàòè äàí³, ùî ï³äòâåðäæóþòü âðàçëèâ³ñòü, ðîçâ’ÿçóþ÷è
óìîâè ñèìâîëüíîãî øëÿõó.
Îòæå, öåé ï³äõ³ä º äîñòàòíüî åôåêòèâíèì äëÿ ñòàòè÷íîãî àíàë³çó âèêîíóâàíèõ
ôàéë³â. ³í äຠçìîãó áóäóâàòè øëÿõè íåíàä³éíèõ äàíèõ òà çíàõîäèòè âðàçëèâîñò³,
ïåðåäáà÷ຠïîòåíö³éíó ìîæëèâ³ñòü àâòîìàòè÷íîãî çáèðàííÿ âåëèêèõ ìàñèâ³â òåñòî-
âèõ äàíèõ äëÿ ïîñò³éíîãî òåñòóâàííÿ ïðîãðàìíî¿ ñèñòåìè ï³ä ÷àñ ¿¿ ðîçâèòêó.
Ñèñòåìè âèÿâëåííÿ àòàê íà îñíîâ³ êîíêðåòíèõ òà ñèìâîëüíèõ îá÷èñ-
ëåíü. Ö³ ñèñòåìè ç’ÿâèëèñÿ ó â³äïîâ³äü íà îáìåæåííÿ ñèñòåì, ùî ´ðóíòóþòüñÿ
ëèøå íà ñèìâîëüíèõ îá÷èñëåííÿõ òà íàçèâàþòüñÿ concolic-îá÷èñëåííÿìè. Ö³ îá-
÷èñëåííÿ º ïîºäíàííÿì ñèìâîëüíèõ îá÷èñëåíü òà êîíêðåòíîãî âèêîíàííÿ. Âèêî-
ðèñòîâóþ÷è ñèìâîëüí³ îá÷èñëåííÿ, ìîæíà ãåíåðóâàòè âñ³ ìîæëèâ³ øëÿõè âèêî-
íàííÿ ïðîãðàìè, à òàêîæ âõ³äí³ äàí³, ÿê³ â³äïîâ³äàþòü òàêèì øëÿõàì. Ö³ äàí³ âè-
êîðèñòîâóþòüñÿ äëÿ òåñòóâàííÿ òà çíàõîäæåííÿ âðàçëèâîñòåé ó ïðîãðàì³. Ïðîòå
ó òàêîãî ï³äõîäó º íåäîë³êè. Íàïðèêëàä, ÿêùî ó ïðîãðàì³ º öèêëè òà ðåêóðñèâí³
âèêëèêè, äëÿ âèêîíàííÿ ñèìâîëüíèõ îá÷èñëåíü ìîæå çíàäîáèòèñÿ íàäòî âåëèêèé
îáñÿã ÷àñó òà ðåñóðñ³â. Ó concolic-îá÷èñëåííÿõ ÷àñòêîâî âèêîðèñòîâóþòüñÿ êîí-
êðåòí³ äàí³, à íå ¿õíº ñèìâîëüíå ïðåäñòàâëåííÿ äëÿ òîãî, ùîá îá³éòè ïðîáëåìè
ñèìâîëüíîãî âèêîíàííÿ [12].
Ïðîöåñ concolic-îá÷èñëåíü ïî÷èíàºòüñÿ ç íàëàøòóâàííÿ ñåðåäîâèùà äëÿ âèêî-
íàííÿ ïðîãðàìè. Ó ñó÷àñíèõ îïåðàö³éíèõ ñèñòåìàõ ³ñíóº ìîæëèâ³ñòü çàïóñêàòè
ïðîãðàìó ó ñïåö³àëüíîìó ðåæèì³ òàê, ùî ïðîãðàìà âèêîíóºòüñÿ ïîêðîêîâî,
³íñòðóêö³ÿ çà ³íñòðóêö³ºþ, ³ íà êîæíîìó êðîö³ ìîæíà ç÷èòóâàòè çíà÷åííÿ óñ³õ
ðåã³ñòð³â òà çíà÷åííÿ ó ïàì’ÿò³. Íàäàë³ âèêîðèñòîâóþòüñÿ ð³çí³ òåõí³êè. Îäí³ºþ ç
ìîæëèâèõ òåõí³ê º ïîáóäîâà øëÿõó äàíèõ, ùî ïîäàþòüñÿ íà âõ³ä, íàïðèêëàä íîâå
îáìåæåííÿ äîäàºòüñÿ êîæíîãî ðàçó, êîëè º ³íñòðóêö³ÿ ïåðåõîäó jump, ùî çàëåæèòü
â³ä âõ³äíèõ äàíèõ [13]. Äàë³ íà îñíîâ³ ç³áðàíèõ îáìåæåíü áóäóþòüñÿ òåñòîâ³ äàí³,
ÿê³ ìîæóòü ïîêàçàòè ìîæëèâ³ âðàçëèâîñò³ ó ñèñòåìàõ íà îñíîâ³ ñèìâîëüíîãî îá-
÷èñëåííÿ. Öèìè äàíèìè òàêîæ ìîæíà ñêîðèñòàòèñÿ äëÿ òîãî, ùîá çíàéòè á³ëüøå
ìîæëèâèõ øëÿõ³â âèêîíàííÿ ïðîãðàìè ï³ä ÷àñ êîíêðåòíîãî âèêîíàííÿ.
Îòæå, ìåòîþ ñèñòåì íà áàç³ concolic-îá÷èñëåííü º óñóíåííÿ òèõ îáìåæåíü,
ÿê³ º ó ñèñòåìàõ, ùî ´ðóíòóþòüñÿ íà ÷èñòî ñèìâîëüíèõ îá÷èñëåííÿõ. Ïðèêëàäîì
òàêèõ îáìåæåíü º åêñïîíåíö³éíå çðîñòàííÿ ê³ëüêîñò³ øëÿõ³â â³äíîñíî ê³ëüêîñò³
ISSN 1019-5262. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2019, òîì 55, ¹ 5 161
³íñòðóêö³é. Ö³ ñèñòåìè òàêîæ äàþòü çìîãó îáðîáëÿòè âèïàäêè, êîëè â ïðîãðàì³ º
öèêëè òà ðåêóðñèâí³ âèêëèêè. Ïðèêëàäè ðåàë³çàö³¿ òàêèõ ñèñòåì äîâåëè ¿õíþ
åôåêòèâí³ñòü ï³ä ÷àñ çíàõîäæåííÿ òàêèõ âðàçëèâîñòåé, ÿê ïåðåïîâíåííÿ áóôåðà,
ð³çíîìàí³òíèõ âðàçëèâîñòåé, ïîâ’ÿçàíèõ ³ç ö³ëî÷èñåëüíîþ àðèôìåòèêîþ, ä³ëåí-
íÿì íà íóëü, çâåðòàííÿì äî íóëüîâîãî âêàç³âíèêà. Âîäíî÷àñ ðîçðîáèòè ³ ï³äòðè-
ìóâàòè òàêó ñèñòåìó á³ëüø ñêëàäíî, í³æ ñèñòåìó, ùî ´ðóíòóºòüñÿ ëèøå íà ñèì-
âîëüíèõ îá÷èñëåííÿõ, àäæå ïîòð³áíî ïîáóäóâàòè ³íôðàñòðóêòóðó äëÿ çàïóñêó
ïðîãðàì òà ¿õíüîãî âèêîíàííÿ ç êîíêðåòíèìè äàíèìè. Äëÿ öüîãî ïîòð³áíî âèáðà-
òè ïðîãðàìíå çàáåçïå÷åííÿ, ÿêå íàäàñòü íåîáõ³äíå ñåðåäîâèùå äëÿ òåñòóâàííÿ.
Ñàìà ñïåöèô³êà ïðîãðàìè ìîæå âèìàãàòè ÿêîãîñü îñîáëèâîãî ïðîãðàìíîãî çàáåç-
ïå÷åííÿ. Öå îçíà÷àº, ùî äëÿ êîæíî¿ ïðîãðàìè ñèñòåìó âèÿâëåííÿ âðàçëèâîñòåé
ïîòð³áíî àäàïòóâàòè. Äî òîãî æ ðîçðîáëåííÿ ïî÷àòêîâîãî íàáîðó òåñòîâèõ äàíèõ
çä³éñíþºòüñÿ âðó÷íó òà íå ìîæå áóòè àâòîìàòèçîâàíå. Öå îçíà÷àº, ùî òàê³ ñèñòå-
ìè ðîçðîáëÿþòüñÿ, ÿê äîïîâíåííÿ äî íàÿâíèõ ïðîãðàì, ÿê³ òðåáà ïåðåâ³ðÿòè, òà
íå ìîæóòü áóòè ñèñòåìàìè çàãàëüíîãî ïðèçíà÷åííÿ.
Âèÿâëåííÿ âðàçëèâîñòåé ó ïîâòîðíî âèêîðèñòàíîìó êîä³. ϳä ÷àñ ðîç-
ðîáëåííÿ ïðîãðàìíîãî çàáåçïå÷åííÿ ïðîãðàì³ñòè êîï³þþòü êîä äëÿ ïîâòîðíîãî
âèêîðèñòàííÿ. Âîäíî÷àñ, êîï³þþ÷è êîä, ïðîãðàì³ñò òàêîæ êîï³þº éîãî âðàçëè-
âîñò³, ùî â³äïîâ³äíî âïëèâຠíà áåçïå÷í³ñòü ïðîãðàìíî¿ ñèñòåìè â ö³ëîìó [10].
Íàïðèêëàä, ÷âåðòü êîäó ÿäðà â³äêðèòî¿ îïåðàö³éíî¿ ñèñòåìè Linux ïîâòîðþºòüñÿ;
³ñíóº íàâ³òü äåÿêà ê³ëüê³ñòü ñåãìåíò³â, ùî ïîâòîðþþòüñÿ äî âîñüìè ðàç³â. Òàêîæ
áóëî âèÿâëåíî 145 ì³ñöü ³ç âðàçëèâ³ñòþ ó ñêîï³éîâàíîìó êîä³, ÿê³ äîñ³ íå âèïðàâ-
ëåí³. Âèêîðèñòîâóþ÷è ³íôîðìàö³þ ïðî â³äîì³ âðàçëèâîñò³, çëîâìèñíèê ìîæå
çíàéòè óñ³ ì³ñöÿ ç ïîä³áíèì âðàçëèâèì êîäîì òà âèêîðèñòàòè ¿õ ó ñâî¿õ ö³ëÿõ. ßê
ðåçóëüòàò, áóëè çàïðîïîíîâàí³ ñèñòåìè âèÿâëåííÿ âðàçëèâîñòåé, ÿê³ ñïåö³àë³çó-
þòüñÿ ñàìå íà ñêîï³éîâàíîìó êîä³.
Äëÿ ðåàë³çàö³¿ òàêî¿ ñèñòåìè çàñòîñîâóþòü ð³çí³ ìåòîäè. Íàéïðîñò³ø³ ç íèõ, âè-
êîðèñòîâóþ÷è ëåêñè÷í³ àíàë³çàòîðè, áóäóþòü ïîñë³äîâí³ñòü òîêåí³â äëÿ êîäó, ÿêèé
ì³ñòèòü âðàçëèâ³ñòü òà ìîæå áóòè ïîòåíö³éíî ñêîï³éîâàíèé. Äàë³ áóäóºòüñÿ
ïîñë³äîâí³ñòü òîêåí³â äëÿ ïðîãðàìè, ùî ïåðåâ³ðÿºòüñÿ íà âðàçëèâîñò³. Ó ïîñë³äîâ-
íîñò³ òîêåí³â ïðîãðàìè, ùî ïåðåâ³ðÿºòüñÿ, ñèñòåìà íàìàãàºòüñÿ çíàéòè
ï³äïîñë³äîâí³ñòü, ÿêà º ïîä³áíîþ äî ïîñë³äîâíîñò³ òîêåí³â âðàçëèâîñò³ ÿê òàêî¿. Ââî-
äÿ÷è ïàðàìåòð ïîä³áíîñò³ ïîñë³äîâíîñòåé, ìîæíà âèðàçèòè òå, ùî ï³ä ÷àñ êîï³þâàí-
íÿ ïðîãðàì³ñò çì³íèâ êîä òà àäàïòóâàâ éîãî äî êîíêðåòíî¿ ñèòóàö³¿. Øëÿõîì çì³íþ-
âàííÿ öüîãî ïàðàìåòðà ìîæíà, âèêîðèñòîâóþ÷è ò³ ñàì³ äàí³ ïðî âðàçëèâîñò³, çíàõî-
äèòè ¿õ ó çì³íåíîìó êîä³, àëå ïðè öüîìó ïîã³ðøóºòüñÿ òî÷í³ñòü ìåòîäó, àäæå
ç’ÿâëÿºòüñÿ á³ëüøå ïîìèëîê ïåðøîãî ðîäó [14]. Òàêèé ñïîñ³á º äîñòàòíüî ïðèì³òèâ-
íèì, îñê³ëüêè íå âðàõîâóþòüñÿ ñåìàíòè÷í³ âëàñòèâîñò³ ïðîãðàìè.
Ó á³ëüø ïðîãðåñèâíèõ ñïîñîáàõ âðàõîâàíî ñåìàíòè÷í³ îñîáëèâîñò³ âðàçëè-
âîñòåé. Íàïðèêëàä, îäíà ³ç ñèñòåì, ùî ´ðóíòóºòüñÿ íà òàêîìó ï³äõîä³, áóäóº ãðàô
ïðîãðàìè, ó ÿêîìó âðàõîâóþòüñÿ çàëåæíîñò³ ì³æ äàíèìè òà ïîò³ê êåðóâàííÿ ïðî-
ãðàìè [15]. Òàê³ ãðàôè ãåíåðóþòüñÿ ÿê äëÿ êîäó, ÿêèé ìຠâðàçëèâîñò³, òàê ³ äëÿ
ïðîãðàìè, ùî ïåðåâ³ðÿºòüñÿ. Ó öüîìó âèïàäêó ïîøóê âðàçëèâîñòåé çâîäèòüñÿ äî
ïîøóêó ³çîìîðôíîãî ï³äãðàôó. Âîäíî÷àñ ïîøóê ³çîìîðôíîãî ï³äãðàôó º NP-ïî-
âíîþ çàäà÷åþ, òîìó äîñë³äíèêè íàìàãàþòüñÿ ï³ä ÷àñ ãåíåðóâàííÿ ãðàôó âèëó÷à-
òè íåïîòð³áí³ ðåáðà àáî äîäàâàòè á³ëüøå ñåìàíòè÷íî¿ ³íôîðìàö³¿. Òàêèé ï³äõ³ä
ìຠíåäîë³êè, çóìîâëåí³ ôóíäàìåíòàëüíèì îáìåæåííÿì øâèäêîñò³ ïîøóêó
ï³äãðàôó, äî òîãî æ íàé÷àñò³øå àíàë³çóþòüñÿ ôðàãìåíòè êîäó êîíêðåòíî¿ ìîâè
ïðîãðàìóâàííÿ, òîáòî äëÿ êîæíî¿ ìîâè ïîòð³áíî ðîçðîáëÿòè íîâèé àíàë³çàòîð.
ÔÎÐÌÀËÜͲ ÌÅÒÎÄÈ, ÇÀÑÒÎÑÎÂÀͲ ÄËß ÂÈÇÍÀ×ÅÍÍß ÂÅÁ-ÀÒÀÊ
Çàâäàííÿ óáåçïå÷åííÿ ìåðåæåâèõ ñèñòåì òà ñèñòåì, ùî âèêîðèñòîâóþòü âåá-
òåõíîëî㳿, ðîçâ’ÿçóþòüñÿ â êîìïëåêñ³, ïî÷èíàþ÷è ç ð³âíÿ ìåðåæåâîãî òðàíñ-
ïîðòó äî ð³âíÿ ïðèêëàäíîãî ïðîòîêîëó ñèñòåìè ³ ê³íöåâèõ äîäàòê³â.
162 ISSN 1019-5262. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2019, òîì 55, ¹ 5
Íà ð³âí³ ìåðåæåâîãî òðàíñïîðòó çàâäàííÿ óáåçïå÷åííÿ ìåðåæ çäåá³ëüøîãî
ðîçâ’ÿçóþòü çà äîïîìîãîþ ìàðøðóòèçàòîð³â (router) òà áðàíäìàóåð³â (firewall).
Ìàðøðóòèçàòîðè îðãàí³çîâóþòü ìåðåæåâèé òðàô³ê, äîòðèìóþ÷èñü ïåâíèõ ïðà-
âèë, ÿê³ çàäàþòüñÿ íàëàøòóâàííÿìè. Ïðè öüîìó ìàðøðóòèçàòîð ìîæå ïðîïóñêà-
òè ò³ëüêè ïåâíó ÷àñòèíó ìåðåæåâîãî òðàô³êó, îáåð³ãàþ÷è ìåðåæó, ÿêà çíàõîäèòü-
ñÿ çà íèì, â³ä íåáàæàíèõ àáî ï³äîçð³ëèõ ïàêåò³â. Áðàíäìàóåð º ïðîãðàìîþ, ùî
ïðîïóñêຠò³ëüêè ÷àñòèíó ìåðåæåâîãî òðàô³êó, äîòðèìóþ÷èñü çàäàíèõ ïðàâèë.
Âîäíî÷àñ â³äêðèòèìè çàëèøàþòüñÿ ïèòàííÿ, ïîâ’ÿçàí³ ç ïåðåõîïëåííÿì êëþ÷³â
áåçïåêè, ïàðîë³â, âåá-ñåñ³é òîùî. Äëÿ òàêèõ âèïàäê³â ðîçðîáëÿþòü ôîðìàëüí³
ìåòîäè, ùî ìàþòü íà ìåò³ âåðèô³êàö³þ êîðåêòíîñò³ ìåðåæåâèõ ïðîòîêîë³â.
Çîêðåìà, â ðîáîò³ [16] îïèñàíî ôîðìàëüíó ìîäåëü ïðîòîêîëó áåçïåêè ³ ïîêà-
çàíî ìîæëèâ³ñòü âèçíà÷àòè ïåðåõîïëåííÿ êëþ÷à áåçïåêè çà äîïîìîãîþ ôîðìàëü-
íèõ ìåòîä³â. Äëÿ öüîãî âèêîðèñòîâóºòüñÿ òåîð³ÿ, ùî âêëþ÷ຠîïèñ ìîâè, ÿêà
ñêëàäàºòüñÿ ç ìíîæèí ñèìâîë³â (òåðì³â), êîíñòàíò, ñèìâîë³â ðîëåé ³
ôóíêö³îíàëüíèõ ñèìâîë³â, ìíîæèíè ôîðìóë, ùî çàäàþòü åêâ³âàëåíòí³ñòü òåðì³â
³ ìíîæèíè ïðàâèë âèâåäåííÿ. Ïðîòîêîëè çàäàþòüñÿ ÿê âèçíà÷åííÿ ïîâåä³íîê,
êîæíà ç ÿêèõ îïèñóºòüñÿ ÿê òðàíçèö³éíà ñèñòåìà, ÿêà, ñâîºþ ÷åðãîþ, îïèñóº ïðî-
öåñè ñòâîðåííÿ, â³äïðàâëåííÿ, îòðèìàííÿ òà îáðîáëåííÿ ïîâ³äîìëåíü. Äëÿ îïèñó
òðàíçèö³éíèõ ñèñòåì ìîæíà âèêîðèñòîâóâàòè ä³àãðàìè MSC (Message Sequence
Chart), à ðåçóëüòàòè çàñòîñóâàííÿ ïðàâèë ïðåäñòàâëÿòè ó âèãëÿä³ òðàñ MSC.
Ó ðîáîò³ [17] îïèñàíî íàá³ð ³íñòðóìåíò³â, ùî âêëþ÷àþòü ìîâè ñïåöèô³êàö³é
òà ³íñòðóìåíòè äëÿ ãåíåðàö³¿ êîäó, ÿê³ äàþòü çìîãó ôîðìàëüíî îïèñàòè ³ ðåàë³çó-
âàòè íåîáõ³äíèé ïðîòîêîë, ùî â³äïîâ³äຠçàäàí³é ñïåöèô³êàö³¿.
Ó ðîáîò³ [18] ïðåäñòàâëåíî ìåòîä ôîðìàëüíîãî âèçíà÷åííÿ àòàê, ïîâ’ÿçàíèõ
ç³ çì³íàìè òîïîëî㳿 ìåðåæ, ùî ´ðóíòóºòüñÿ íà òðàíñôîðìàö³¿ òîïîëîã³÷íèõ ñõåì.
Ó ö³é ðîáîò³ âèêîðèñòîâóþòüñÿ òàê çâàí³ çàìàñêîâàí³ êîíòðçàõîäè, íàïðèêëàä çà-
ìàñêîâàí³ çì³íí³ ïðîòè àòàê, ùî âèêîðèñòîâóþòü ïîá³÷íèé êàíàë.
Ìåòîäè, ïîâ’ÿçàí³ ç ìîäåëþâàííÿì ìåðåæåâèõ àòàê ç íàñòóïíèì ôîðìàëüíèì
àíàë³çîì ìîäåë³, îïèñàíî, çîêðåìà, ó ðîáîò³ [19]. Àòàêè ïðåäñòàâëåíî òàê çâàíèìè
ãðàôàìè àòàê òà âèêîðèñòàíî òåõí³êó model checking äëÿ àíàë³çó âëàñòèâîñòåé öèõ
ãðàô³â. Êð³ì òîãî, àâòîðè çàñòîñîâóþòü ³ìîâ³ðí³ñíèé àíàë³ç çà äîïîìîãîþ ðîçì³òêè
ãðàô³â àòàê âåëè÷èíàìè éìîâ³ðíîñòåé ³ òåõí³êè ìàðêîâñüêèõ ïðîöåñ³â.
²ñíóþòü òàêîæ ãîòîâ³ ³íñòðóìåíòè, òàê³ ÿê ProVerif (http://prosecco.gforge.
inria.fr/personal/bblanche/proverif/) ³ Tamarin Prover (https://tamarin-prover.github.io/),
ïðèçíà÷åí³ äëÿ ôîðìàëüíî¿ âåðèô³êàö³¿ ïðîòîêîë³â áåçïåêè, ÿê³ âèêîðèñòîâóþòü,
ïîì³æ ³íøèì, ñèìâîëüí³ ìåòîäè âåðèô³êàö³¿. Ó [20] ïðåäñòàâëåíî ³íñòðóìåíò
Legacy Crypto, ÿêèé çàñòîñîâóºòüñÿ äëÿ àíàë³çó âðàçëèâîñòåé ïðîòîêîë³â, ùî âè-
êîðèñòîâóþòü êðèïòîãðàô³þ.
Îñê³ëüêè á³ëüø³ñòü ìåðåæåâèõ ñèñòåì íà ñüîãîäí³ ´ðóíòóºòüñÿ íà âåá-òåõíî-
ëîã³ÿõ, ïèòàííÿ áåçïåêè òàêèõ ñèñòåì ïîâ’ÿçàí³ òàêîæ ç óðàçëèâîñòÿìè ïðèêëàä-
íèõ ïðîòîêîë³â. Ó ðîáîò³ [21] îïèñàíî ³íñòðóìåíò äëÿ ìîäåëþâàííÿ òà àíàë³çó
âåá-ñèñòåì, ÿêèé äຠçìîãó âèçíà÷èòè âðàçëèâîñò³ ñèñòåìè äëÿ äâîõ âèä³â àòàê:
� àòàêà Cross Site Scripting (XSS), ï³ä ÷àñ ÿêî¿ äî âåá-ñòîð³íêè, îòðèìóâàíî¿
ç «áåçïå÷íîãî» ñåðâåðà, çàëó÷àºòüñÿ çëîâìèñíèé ñöåíàð³é, ùî äຠçìîãó âèêîíó-
âàòè òðàíçàêö³¿ â³ä ³ìåí³ ê볺íòà òà/àáî âèêðàäàòè ïðèâàòí³ äàí³ ê볺íòà;
� àòàêà Cross Site Request Forgery (CSRF), ï³ä ÷àñ ÿêî¿ êîðèñòóâà÷ îòðèìóº
äîñòóï äî ñòîð³íêè, ÿêà êîíòðîëþºòüñÿ çëîâìèñíèêîì, ùî äຠçìîãó îñòàííüîìó
âèêîíóâàòè òðàíçàêö³¿ â³ä ³ìåí³ êîðèñòóâà÷à.
³äì³íí³ñòü öèõ âèä³â àòàê ïîëÿãຠâ òîìó, ùî ó âèïàäêó CSRF ñåðâåð ìàº
ïåðåáóâàòè ï³ä êîíòðîëåì çëîâìèñíèêà, òîä³ ÿê ó âèïàäêó XSS ñåðâåð
³ â³äïîâ³äí³ ñëóæáè â ö³ëîìó çàëèøàþòüñÿ áåçïå÷íèìè.
²íø³ âèäè àòàê ó ðîçïîä³ëåíèõ ñèñòåìàõ, ùî âèêîðèñòîâóþòü âåá-òåõíîëî㳿,
ïîâ’ÿçàí³ ç:
� ³íòåðïðåòàö³ºþ àäðåñ, êîëè áðàóçåð ïîñèëຠñåðâåðó íåêîðåêòíî ñôîðìî-
âàíèé URL-çàïèò: íåâ³ðíî íàëàøòîâàíèé ñåðâåð ó öüîìó âèïàäêó ìîæå íàäàòè
ISSN 1019-5262. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2019, òîì 55, ¹ 5 163
çëîâìèñíèêîâ³ äîñòóï äî ³íôîðìàö³¿, ùî çáåð³ãàºòüñÿ íà íüîìó, àáî âèêîíàòè
áóäü-ÿê³ ñèñòåìí³ êîìàíäè;
� íåäîñòàòíüîþ ïåðåâ³ðêîþ íàäàíèõ äàíèõ: ê볺íò-çëîâìèñíèê ìîæå íàäñè-
ëàòè ñåðâåðó ³íôîðìàö³þ, ùî ïîðóøóº íîðìàëüíå ôóíêö³îíóâàííÿ îñòàííüîãî;
òóò ìîæóòü âèêîðèñòîâóâàòèñÿ íåäîïóñòèì³ ñèìâîëè, íåâ³äïîâ³äíîñò³ òèï³â, ïî-
ðóøåííÿ ìåæ ìàñèâ³â, çíà÷åííÿ ïîçà äîïóñòèìèìè ä³àïàçîíàìè òîùî.
� ïðÿìîþ ³íòåðïðåòàö³ºþ SQL-çàïèò³â: ÷àñòî ïàðàìåòðè SQL-çàïèò³â ïåðåäà-
þòüñÿ áåçïîñåðåäíüî â äàíèõ âåá-ôîðì àáî â ðÿäêàõ URL, ³ â öèõ âèïàäêàõ ïðîñòà
ï³äì³íà ïàðàìåòð³â ìîæå íàäàòè çëîâìèñíèêîâ³ íåñàíêö³îíîâàíèé äîñòóï äî äàíèõ;
� ïðîáëåìàìè ç ïåðåïîâíåííÿì áóôåðà: íåäîñòàòíèé ñòóï³íü çàõèñòó êîäó ó âåá-
çàñòîñóíêàõ ïðèçâîäèòü ó ðàç³ ïåðåïîâíåííÿ âõ³äíèõ áóôåð³â äî ïîðóøåííÿ
ôóíêö³îíóâàííÿ ñåðâåðà àáî íàâ³òü íàäàííÿ çëîâìèñíèêîâ³ ìîæëèâîñò³ âèêîíàòè íà
ñåðâåð³ ñèñòåìí³ êîìàíäè; ÷àñòèíà DDoS-àòàê òàêîæ âèêîðèñòîâóþòü ö³ âðàçëèâîñò³;
� äåêîìï³ëÿö³ºþ JAVA-êîäó: îñê³ëüêè áàéò-êîä ìîæå áóòè äîñèòü åôåêòèâ-
íî äåêîìï³ëüîâàíèé, çëîâìèñíèê ìîæå îòðèìàòè ç íüîãî ³íôîðìàö³þ, ùî óìîæ-
ëèâëþº íåñàíêö³îíîâàíèé äîñòóï äî ñåðâåðà, íàïðèêëàä ïàðîë³ (ÿêùî öåé êîä ¿¿
çáåð³ãàº);
� ïåðåõîïëåííÿì êëþ÷³â áåçïåêè: êëþ÷³ SSL ìîæóòü áóòè ðîçêðèò³
³ ï³äì³íåí³ çëîâìèñíèêîì, ùî äຠçìîãó îñòàííüîìó âèêîíóâàòè òðàíçàêö³¿ â³ä
³ìåí³ ê볺íòà; ó [20] îïèñàíî äåê³ëüêà ïîòåíö³éíèõ âðàçëèâîñòåé ïðîòîêîë³â, ùî
âèêîðèñòîâóþòü êðèïòîçàõèñò;
� ³ìïåðñîíàë³çàö³ºþ àáî ïåðåõîïëåííÿì ñåñ³é: îñê³ëüêè ïðîòîêîë HTTP íå
ïåðåäáà÷ຠçáåðåæåííÿ ñòàí³â ï³ä ÷àñ âçàºìî䳿 ç êîðèñòóâà÷åì, äëÿ öüîãî âèêî-
ðèñòîâóþòüñÿ ³äåíòèô³êàòîðè ñåñ³é, ùî ïåðåäàþòüñÿ ì³æ ê볺íòîì ³ ñåðâåðîì ÿê
ïðèõîâàí³ ïîëÿ; ïåðåõîïëåííÿ òàêî¿ ³íôîðìàö³¿ ïðèçâîäèòü äî îòðèìàííÿ ³íôîð-
ìàö³¿ ïðî êîðèñòóâà÷à.
Çàãàëîì, çâàæàþ÷è íà ñêëàäí³ñòü ðîçïîä³ëåíèõ ñèñòåì, äîñë³äæåííÿ ó ãàëóç³
¿õíüî¿ áåçïåêè çàçâè÷àé ñòîñóþòüñÿ îêðåìèõ àñïåêò³â. Ó ðîáîò³ [22] ïðåäñòàâëå-
íî îãëÿä, ñèñòåìàòèçàö³þ òà êëàñèô³êàö³þ ôîðìàëüíèõ ìåòîä³â, âèêîðèñòîâóâà-
íèõ äëÿ ðîçâ’ÿçàííÿ ïðîáëåì, ïîâ’ÿçàíèõ ç áåçïåêîþ ðîçïîä³ëåíèõ ñèñòåì. Ïðè
öüîìó îêðåìî ðîçãëÿíóòî ê³ëüêà âàæëèâèõ ðîçä³ë³â: áåçïåêà ñöåíàð³¿â JavaScript,
áåçïåêà áðàóçåð³â, áåçïåêà âåá-äîäàòê³â ³ àíàë³ç âåá-ïðîòîêîë³â.
Ó [23] çàïðîïîíîâàíî ìåòîäîëîã³þ ïîáóäîâè ôîðìàëüíèõ ìåòîä³â àíàë³çó
áåçïåêè ñèñòåì, ùî �ðóíòóþòüñÿ íà âåá-òåõíîëîã³ÿõ.
Ôîðìàëüí³ îïèñè àòàê, ïîâ’ÿçàíèõ ³ç çàëó÷åííÿì (injection), äî ÿêèõ íàëå-
æàòü XSS/CSRF, ïðÿìà ³íòåðïðåòàö³ÿ çàïèò³â SQL ³ ñïðîáè âèêîíàííÿ ñèñòåìíèõ
êîìàíä íà ñåðâåð³ ïðåäñòàâëåíî â [24].
Ó ñòàòò³ [25] îïèñàíî ôîðìàëüí³ ìåòîäè âèçíà÷åííÿ äåÿêèõ âèä³â âåá-àòàê òà
¿õíþ ðåàë³çàö³þ ó âèãëÿä³ äîïîâíåíü áðàóçåðà (òîáòî ò³ëüêè íà áîö³ ê볺íòà).
Ó ðîáîò³ [26] ïðåäñòàâëåíî ôîðìàëüí³ ìîäåë³ àòàê, ïîâ’ÿçàíèõ ç³ ñïðîáàìè
çëàìó øèôðîâàíèõ äàíèõ êîðèñòóâà÷à ó òàêèõ òèïàõ âåá-çàñòîñóíê³â, ÿê ìåíåäæåð
ïàðîë³â, õìàðíå ñõîâèùå äàíèõ ³ ñèñòåìè åëåêòðîííîãî ãîëîñóâàííÿ. Äëÿ ìîäå-
ëþâàííÿ âëàñíå äîäàòê³â âèêîðèñòàíî ³íñòðóìåíò ProVerif.
Òàêèì ÷èíîì, ó çâ’ÿçêó ³ç çàãàëüíîþ ñêëàäí³ñòþ ³ áàãàòîàñïåêòí³ñòþ ìåðå-
æåâèõ ñèñòåì, ð³çíîìàí³òí³ñòþ òà åâîëþö³ºþ çàñòîñîâóâàíèõ òåõíîëîã³é ïèòàí-
íÿ, ïîâ’ÿçàí³ ç ³íòåãðàëüíîþ áåçïåêîþ öèõ ñèñòåì (ó âñ³õ àñïåêòàõ ôóíêö³îíó-
âàííÿ), çàëèøàþòüñÿ àêòóàëüíèìè. Äîñ³, íàâ³òü â îêðåìèõ àñïåêòàõ, çàâäàííÿ
óáåçïå÷åííÿ òàêèõ ñèñòåì ðîçâ’ÿçàíî ëèøå ÷àñòêîâî.
ÌÀØÈÍÍÅ ÍÀÂ×ÀÍÍß
Îñòàíí³ì ÷àñîì âåäåòüñÿ ðîáîòà ùîäî âèêîðèñòàííÿ ìàøèííîãî íàâ÷àííÿ äëÿ
àíàë³çó òà âèÿâëåííÿ âðàçëèâîñòåé. Ñòðàòåã³ÿ ïîøóêó âðàçëèâîñòåé º ñòàíäàðò-
íîþ äëÿ âñ³õ àëãîðèòì³â, ùî ãðóíòóþòüñÿ íà ìàøèííîìó íàâ÷àíí³. Ñïî÷àòêó
ôîðìóþòü íàâ÷àëüíó âèá³ðêó, íà îñíîâ³ ÿêî¿ ñòâîðþþòü ìîäåëü ó âèãëÿä³ íåé-
òðîííî¿ ìåðåæ³, ùî ðîçï³çíຠâðàçëèâîñò³ ó êîä³. Äàë³ ãîòîâó ìîäåëü òåñòóþòü
164 ISSN 1019-5262. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2019, òîì 55, ¹ 5
íà êîíòðîëüí³é âèá³ðö³ â³äîìèõ ïðèêëàä³â âðàçëèâîñòåé. Äëÿ âèÿâëåííÿ âðàç-
ëèâîñòåé àíàë³çóþòü òàê³ âèá³ðêè, ÿê ïîñë³äîâíîñò³ ñèñòåìíèõ âèêëèê³â, ïðè-
òàìàíí³ â³äîìèì âèÿâëåíèì âðàçëèâîñòÿì, øàáëîíè äîñòóïó äî ðåã³ñòð³â àáî
ïàêåòè, ùî ïîñèëàþòüñÿ ìåðåæåþ. Ñèñòåìè, ùî ´ðóíòóþòüñÿ íà ìàøèííîìó
íàâ÷àíí³ òà øòó÷íîìó ³íòåëåêò³, äàþòü çìîãó çíàõîäèòè ³ âèâîäèòè ÿê³ñíî
íîâ³ òèïè âðàçëèâîñòåé [10–13].
²ÍÑÅÐÖ²ÉÍÈÉ Ï²ÄÕ²Ä
Ó 2017 ð. â ²íñòèòóò³ ê³áåðíåòèêè ³ì. Â.Ì. Ãëóøêîâà áóëî ðîçïî÷àòî ðîáîòè ç âè-
êîðèñòàííÿ àëãåáðà¿÷íîãî ï³äõîäó â ïðîöåñ³ âèÿâëåííÿ âðàçëèâîñòåé ó á³íàðíî-
ìó êîä³. Íà îñíîâ³ òåî𳿠³íñåðö³éíîãî ìîäåëþâàííÿ, ðîçðîáëåíî¿ Î.À. Ëåòè÷åâ-
ñüêèì òà Ä. óëüáåðòîì [27], áóëî çä³éñíåíî ôîðìàë³çàö³þ ñåìàíòèêè àñåìáëåðà
ìîâè ³íñòðóêö³é õ86. Äëÿ öüîãî áóëî âèêîðèñòàíî ìàòåìàòè÷íèé àïàðàò àëãåáðè
ïîâåä³íîê, ùî º ÷àñòèíîþ ìåòîäó ³íñåðö³éíîãî ìîäåëþâàííÿ.
Îñíîâíèé ïðèíöèï ³íñåðö³éíîãî ï³äõîäó [28] — öå âçàºìîä³ÿ àãåíò³â
ó äåÿêîìó ñåðåäîâèù³, ïðè öüîìó êîæåí àãåíò çíຠò³ëüêè ³íôîðìàö³þ ïðî ñåðå-
äîâèùå, àëå ìîæå áóòè ñàì ñåðåäîâèùåì äëÿ àãåíò³â ³íøîãî ð³âíÿ àáñòðàêö³¿.
Ïîâåä³íêà êîæíîãî àãåíòà âèçíà÷àºòüñÿ ð³âíÿííÿìè àëãåáðè ïîâåä³íîê. Àòîìàðí³
䳿 àãåíò³â º îá’ºêòàìè àëãåáðè ïîâåä³íîê òà âèçíà÷àþòüñÿ ïåðåä- òà ï³ñëÿóìîâîþ
íà àòðèáóòàõ àãåíòíîãî ñåðåäîâèùà.
Àëãåáðà ïîâåä³íîê º äâîñîðòíîþ àëãåáðîþ, ÿêà âèçíà÷ຠâ³äíîøåííÿ òà îïå-
ðàö³¿ íàä ïîâåä³íêàìè òà ä³ÿìè. Êîæíà ïîâåä³íêà º êîìïîçèö³ºþ ä³é òà ïîâåä³íîê.
Îïåðàö³ÿ ïðåô³êñ³íãà a.B âèçíà÷àº, ùî ä³ÿ a ïåðåäóº ïîâåä³íö³ Â. Îïåðàö³ÿ íåäå-
òåðì³íîâàíîãî âèáîðó ïîâåä³íîê u � � âèçíà÷ຠàëüòåðíàòèâó ñöåíàð³þ ïîâåä³íêè.
Àëãåáðà ìຠòðè òåðì³íàëüíèõ êîíñòàíòè: óñï³øíå çàê³í÷åííÿ � , òóïèêîâèé ñòàí 0
òà íåâ³äîìó ïîâåä³íêó � . Íà ìíîæèí³ ïîâåä³íîê òàêîæ âèçíà÷åíî â³äíîøåííÿ àï-
ðîêñèìàö³¿ � , ÿêå âñòàíîâëþº ÷àñòêîâèé ïîðÿäîê íà ìíîæèí³ ïîâåä³íîê ç
ì³í³ìàëüíèì åëåìåíòîì � . Àëãåáðà ïîâåä³íîê òàêîæ âèçíà÷ຠêîìïîçèö³þ ïî-
âåä³íîê: ïîñë³äîâíó ( ; ) òà ïàðàëåëüíó (| | ). ²íøèìè ñëîâàìè, ïîâåä³íêà àãåíòà
ìîæå áóòè ïðåäñòàâëåíà ÿê âèðàç íàä ïîâåä³íêîþ ³ ðåêóðñèâíîþ 䳺þ. ij¿ âèçíà÷à-
þòüñÿ íàä äåÿêèìè ñåðåäîâèùàìè àòðèáóò³â, ó ÿêèõ âñ³ àãåíòè âçàºìîä³þòü îäèí
ç îäíèì. Êîæåí àãåíò âèçíà÷àºòüñÿ íàáîðîì àòðèáóò³â. Àãåíò çì³íþº ñâ³é ñòàí çà
äåÿêèõ óìîâ, ñôîðìîâàíèõ çíà÷åííÿìè àòðèáóò³â. ij¿ êîæíîãî àãåíòà âèçíà÷àþòü-
ñÿ ïàðîþ a P S�� �, , äå P — ïåðåäóìîâà 䳿, ïðåäñòàâëåíî¿ ÿê ôîðìóëà â äåÿê³é áà-
çîâ³é ëîã³÷í³é ìîâ³, S — ïîñòóìîâà. ßê áàçîâó ëîã³÷íó ìîâó ìè ðîçãëÿäàºìî íàá³ð
ôîðìóë ëîã³êè ïåðøîãî ïîðÿäêó íàä ïîë³íîì³àëüíîþ àðèôìåòèêîþ ³ äåÿê³
ñïåö³àë³çîâàí³ òåîð³¿, íàïðèêëàä ïåðåë³êîâí³ òèïè, ïîá³òîâ³ îïåðàö³¿, áàéòîâ³ âåêòî-
ðè. Çàãàëîì ñåìàíòèêà 䳿 îçíà÷àº, ùî àãåíò ì³ã áè çì³íþâàòè ñâ³é ñòàí, ÿêùî ïåðå-
äóìîâà º ³ñòèííîþ, à ñòàí çì³íèòüñÿ â³äïîâ³äíî äî ïîñòóìîâè, ùî òàêîæ º ôîðìó-
ëîþ ëîã³êè ïåðøîãî ïîðÿäêó.
Ïî÷àòêîâèé ñòàí àãåíò³â ìîæå áóòè ïðåäñòàâëåíèé ïî÷àòêîâîþ ôîðìóëîþ.
Ïî÷èíàþ÷è ç ïî÷àòêîâî¿ ôîðìóëè, ìîæíà çàñòîñóâàòè 䳿, ùî â³äïîâ³äàþòü âèðà-
æåííþ àëãåáðè ïîâåä³íêè. ijÿ çàñòîñîâóºòüñÿ, ÿêùî ¿¿ ïåðåäóìîâà º çàäîâ³ëüíîþ
³ óçãîäæóºòüñÿ ç ïîòî÷íèì ñòàíîì. Ïî÷èíàþ÷è ç ôîðìóëè ïî÷àòêîâîãî ñòàíó S0
³ ç ïî÷àòêîâî¿ ïîâåä³íêè B0, îáèðàºìî ä³þ ³ ïåðåõîäèìî äî íàñòóïíî¿ ïîâåä³íêè.
Íà ïåðøîìó åòàï³ ìè ïåðåâ³ðÿºìî âèêîíóâàí³ñòü êîí’þíêö³¿ S0 Pa1, ÿêùî
B a B0 1 1� . , ³ Pa1 º ïåðåäóìîâîþ a1. Íàñòóïíèé ñòàí ñåðåäîâèùà áóäå îòðèìàíî çà
äîïîìîãîþ ïðåäèêàòíîãî òðàíñôîðìàòîðà, òîáòî ôóíêö³¿ PT íàä ïîòî÷íèì ñòà-
íîì àãåíòà, ïåðåäóìîâîþ ³ ïîñòóìîâîþ: PT (Si, Pai, Qai) = Si + 1.
Çàñòîñîâóþ÷è ôóíêö³þ ïðåäèêàòíîãî òðàíñôîðìàòîðà äî ð³çíèõ ñòàí³â àãåíòà,
ìîæíà îòðèìàòè ïîñë³äîâíîñò³ S S0 1, ,
ôîðìóë, ÿê³ âèðàæàþòü çì³íó ñòàí³â àãåíòà
â³ä ïî÷àòêîâîãî ñòàíó. Ìè îòðèìóºìî ñöåíàð³é ïîâåä³íêè ÿê ïîñë³äîâíîñò³ ä³é
a a1 2, ,
Êîæåí ñòàí àãåíòà ïîêðèâຠïåâíó ìíîæèíó êîíêðåòíèõ çíà÷åíü àãåíòà,
à ïðîöåñ ãåíåðóâàííÿ òàêèõ ñöåíàð³¿â ïðåäñòàâëÿºòüñÿ ÿê ñèìâîë³÷íå ìîäåëþâàííÿ.
ISSN 1019-5262. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2019, òîì 55, ¹ 5 165
Íàá³ð ³íñòðóêö³é á³íàðíîãî êîäó âèçíà÷ຠâçàºìîä³þ àãåíòñüêî¿ ïðîãðàìè ç
¿¿ ñåðåäîâèùåì: ïðîöåñîð, îïåðàö³éíà ñèñòåìà ³ çîâí³øí³ ïðèñòðî¿.
Ôîðìàëüíî â³í ïðåäñòàâëÿº íàá³ð òàêèõ àòðèáóò³â: ðåã³ñòðè ðåºñòð³â çàãàëü-
íîãî òà ñïåö³àëüíîãî ïðèçíà÷åííÿ, âèçíà÷åí³ ÿê ³ìåíà ðåã³ñòð³â; ô³çè÷íà ïàì’ÿòü,
ÿêà ìîæå ðîçãëÿäàòèñÿ ÿê ôóíêö³ÿ ïàì’ÿò³; ³íø³ ñïåöèô³÷í³ àòðèáóòè. Ñåìàíòèêà
êîæíî¿ ³íñòðóêö³¿ âèçíà÷ຠóìîâè âèêîíàííÿ ³íñòðóêö³é, çì³íó ñåðåäîâèùà ³ íà-
ñòóïíó ³íñòðóêö³þ.
Ïîñë³äîâí³ñòü âèêîíàííÿ êîìàíäè âèçíà÷ຠïîò³ê êåðóâàííÿ ïðîãðàìîþ,
ÿêèé âèçíà÷àºòüñÿ ï³ñëÿ ïåðåêëàäó á³íàðíîãî êîäó íà íàá³ð âèðàç³â àëãåáðè ïî-
âåä³íêè. Íàïðèêëàä, ïîò³ê êåðóâàííÿ äëÿ ôðàãìåíòà êîäó
â³äïîâ³äຠòàêèì ñïåöèô³êàö³ÿì àëãåáðè ïîâåä³íîê:
B400390 = dec(37,edi).B400392,
B400392 = jle(38,4195538).B4004d2 + !jle(38).B400398,
B400398 = test(39,sil,sil).B40039b,
B40039b = je(40,4195538).B4004d2 + !jle(40).B4003a1,
B4003a1 = push(41,rbp).B4003a2,
B4003a2 = push(42,rbx).B4003a3,
Ñåìàíòèêà ³íñòðóêö³é òðàíñëþºòüñÿ â³äïîâ³äíî ó ïåðåä- òà ïîñòóìîâè. Íàïðèê-
ëàä, ³íñòðóêö³ÿ
cjne A B z,
òðàíñëþºòüñÿ ó ñïåöèô³êàö³¿ ïîâåä³íêè
Bx cjne Bz cjne Bx Bx1 2 2� � �
. ! . ,
òà ñïåöèô³êàö³¿ ä³é
cjne n A B A B rip rip z FLAG C B A( , , ) ! ( ) – ; _ ( )� � � � � � � � �3 ;
! ( , , ) ( ) –cjne n A B A B rip rip� � � � � �3;
Øàáëîí âðàçëèâîñò³ ïîêàçóº ïîâåä³íêó ïðîãðàìè, ÿêà ïðèçâîäèòü äî ñòàíó
âðàçëèâîñò³ çà äåÿêèõ óìîâ (îáìåæåííÿ íàä àòðèáóòàìè ñåðåäîâèùà). Ñõåìà
âðàçëèâîñò³ ñêëàäàºòüñÿ ç âèðàç³â ïîâåä³íêè òà â³äïîâ³äíèõ ä³é. Çàãàëüíà ôîðìà
øàáëîíó âðàçëèâîñò³ — öå âèðàç ïîâåä³íêè
VulnerabilityPattern = IntruderInput; ProgramBehavior; VulnerabilityPoint.
²ñíóþòü òðè îñíîâí³ ôîðìè ïîâåä³íêè â óçàãàëüíåíîìó âèãëÿä³. IntruderInput —
öå ïîâåä³íêà ïðîãðàìè, ÿêà ïðåäñòàâëÿº ³íñòðóêö³¿, ùî ÿâëÿþòü ñîáîþ âõ³äí³ ä³¿ ³ç
çîâí³øíüîãî ñåðåäîâèùà. Âîíà ìîæå âêëþ÷àòè êîìàíäíèé ðÿäîê, ÷èòàííÿ ôàéë³â,
îòðèìàííÿ ³íôîðìàö³¿ ç ñîêåòà àáî ââåäåííÿ ç êëàâ³àòóðè. Òàêà ïîâåä³íêà ïåðåâàæíî
ðåàë³çîâàíà ÿê ñèñòåìíèé âèêëèê îñíîâíîãî êîäó îïåðàö³éíî¿ ñèñòåìè.
ProgramBehavior — öå äîâ³ëüíà ïîâåä³íêà ïðîãðàìè, ÿêà ç’ºäíóº âõ³äíó òî÷êó ç òî÷-
êîþ âðàçëèâîñò³ ³ ìîæå ì³ñòèòè ³íø³ äåòàë³çîâàí³ ïîâåä³íêè. VulnerabilityPoint ïðåä-
ñòàâëÿº 䳿, ÿê³ ì³ñòÿòü óðàçëèâ³ñòü.
Äàë³ ïðîöåñ çíàõîäæåííÿ âðàçëèâîñò³ ïîëÿãຠâ òîìó, ùî øàáëîíè âðàçëè-
âîñòåé ïîð³âíþþòüñÿ ³ç ñöåíàð³ÿìè ó òðàíñëüîâàíîìó á³íàðíîìó êîä³ ç ìåòîþ
çíàõîäæåííÿ âðàçëèâîñòåé ó âèïàäêó çá³ãó. Äëÿ öüîãî ñëóãóº åôåêòèâíèé àëãî-
ðèòì äâîð³âíåâîãî ïîøóêó.
166 ISSN 1019-5262. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2019, òîì 55, ¹ 5
0000000000400390 <backtrace_and_maps>:
400390: ff cf dec edi
400392: 0f 8e 3a 01 00 00 jle 4004d2
<backtrace_and_maps+0x142>
400398: 40 84 f6 test sil,sil
40039b: 0f 84 31 01 00 00 je 4004d2
<backtrace_and_maps+0x142>
4003a1: 55 push rbp
4003a2: 53 push rbx
Ïåðøèé ð³âåíü ïîøóêó ïîëÿãຠâ òîìó, ùîá çíàéòè äåðåâî ïîâåä³íêè, ùî â³ä-
ïîâ³äຠàëãåáðà¿÷í³ì øàáëîíàì âðàçëèâîñò³. Ïîð³âíþâàííÿ ïîâåä³íêè â³äð³çíÿºòüñÿ
â³ä òðàäèö³éíîãî, ùî âèêîðèñòîâóºòüñÿ â àíòèâ³ðóñíèõ ïðîãðàìàõ. Òðàäèö³éí³ ìî-
äåë³ òàêèõ ïðîãðàì ìîæóòü ì³ñòèòè êîíêðåòí³ çíà÷åííÿ, ÿê³ ïåðåâ³ðÿþòüñÿ, òîä³ ÿê â
àëãåáðà¿÷íîìó ï³äõîä³ ïåðåäáà÷àºòüñÿ ðîçâ’ÿçàííÿ ð³âíÿíü ïîâåä³íêè.
Äðóãèé ð³âåíü ïîøóêó âèêîíóºòüñÿ øëÿõîì ñèìâîëüíîãî ìîäåëþâàííÿ çàäàíî¿
ïîâåä³íêè, îòðèìàíîãî ïðè â³äïîâ³äíîñò³ ïîâåä³íêè. ϳä ÷àñ ñèìâîëüíîãî ìîäåëþ-
âàííÿ ìè çàñòîñîâóºìî 䳿, äëÿ ÿêèõ âèÿâëÿºìî äîñÿæí³ñòü âèðàçó Env && Prec, äå
Env º ñèìâîëüíèì ñåðåäîâèùåì ìîäåë³ á³íàðíîãî êîäó, à Prec º ïåðåäóìîâîþ
â³äïîâ³äíî¿ ä³¿. ßêùî âîíà âèêîíóºòüñÿ, òî ìè âèêîíóºìî îïåðàö³¿ ïîñòóìîâè
â ñåðåäîâèù³ øàáëîí³â ³ â ñåðåäîâèù³ ìîäåë³ á³íàðíîãî êîäó. ßêùî ìè äîñÿãëè
òî÷êè âðàçëèâîñò³ ó øàáëîí³, òî ó íàñ º ñöåíàð³é, ÿêèé âåäå â³ä òî÷êè ââåäåííÿ.
Ñèìâîë³÷íå ìîäåëþâàííÿ âèìàãຠâèêîðèñòàííÿ ñïåöèô³÷íèõ ðîçâ’ÿçóâà÷³â, ÿê³
ï³äòðèìóþòü îïåðàö³¿ ïîá³òîâèõ àáî áàéòîâèõ âåêòîð³â.
Ôîðìàëüí³ ìåòîäè çíà÷íî ï³äâèùóþòü åôåêòèâí³ñòü ïîøóêó âðàçëèâîñòåé,
âîäíî÷àñ ç òèì ùå çàëèøàºòüñÿ íèçêà ïðîáëåì.
Îäí³ºþ ç ïðîáëåì ôîðìàëüíèõ ìåòîä³â òà àëãåáðà¿÷íîãî ï³äõîäó º òå, ùî ïðî-
áëåìà äîñÿæíîñò³ ïðè ñèìâîë³÷íîìó âèêîíàíí³ º íåðîçâ’ÿçàíîþ â çàãàëüíîìó âèïàä-
êó. Ìîæå âèíèêíóòè åêñïîíåíö³éíèé âèáóõ ïðîñòîðó ñòàí³â òà ³íø³ òèïîâ³ ïðîáëå-
ìè ï³äõîäó model checking. Ö³ ïðîáëåìè ìîæíà ðîçâ’ÿçàòè, âèêîðèñòîâóþ÷è òàê³
àëüòåðíàòèâí³ ñèìâîë³÷í³ ìåòîäè, ÿê ãåíåðàö³ÿ ³íâàð³àíò³â, àïðîêñèìàö³ÿ àáî çâîðîò-
íå ñèìâîë³÷íå ìîäåëþâàííÿ. гçí³ ïàðàìåòðè ïîøóêó ìîæóòü çìåíøèòè ïðîñò³ð ñòà-
íó; íàïðèêëàä, ìè ìîæåìî íàäàòè äåÿêèé êðèòåð³é ïîêðèòòÿ êîäó. Îäíàê öå ñêîðî-
÷åííÿ ìîæå ïðèçâåñòè äî òîãî, ùî ìè ïðîïóñòèìî âðàçëèâîñò³.
Ùå îäíà çàäà÷à — óçàãàëüíåííÿ àëãåáðà¿÷íèõ ìîäåëåé. Âîíà ´ðóíòóºòüñÿ íà
ê³ëüêîñò³ ïðèêëàä³â òà àíàë³ç³ ìîæëèâèõ ñöåíàð³¿â. Ïðîòå íåìຠóí³âåðñàëüíî¿
òåõí³êè ³ ãàðàíò³¿ òîãî, ùî öÿ ìîäåëü îõîïëþº âñ³ ìîæëèâ³ ïîâåä³íêè âðàçëèâîñò³
äàíîãî òèïó.
²íøèìè ïðîáëåìàìè ìîäåëþâàííÿ á³íàðíîãî êîäó º òàê³: ìîäåëþâàííÿ ñåðå-
äîâèùà, ùî ì³ñòèòü ÿäðî ÎÑ, á³áë³îòåêè, ïîòîêè, íåïðÿìó àäðåñàö³þ òà ³íø³ ñïå-
öèô³÷í³ äëÿ äâ³éêîâîãî êîäó àñïåêòè. Ïðîòå âîíè º íå êðèòè÷íèìè, à òðó-
äîì³ñòêèìè ³ ìîæóòü áóòè ðîçâ’ÿçàí³ â ìåæàõ öüîãî ï³äõîäó.
Ó 2019–2020 ðð. î÷³êóºòüñÿ çíà÷íå ï³äâèùåííÿ àêòèâíîñò³ â ãàëóç³ ê³áåðáåç-
ïåêè, çîêðåìà âïðîâàäæåííÿ ôîðìàëüíèõ ìåòîä³â ó ïðîöåäóðó âèÿâëåííÿ âðàçëè-
âîñòåé òà øê³äëèâèõ ä³é.
ßê íàñë³äîê, â³äáóâàºòüñÿ ³íòåãðàö³ÿ ìåòîä³â ïåðåâ³ðêè ìîäåëåé (model
checking), çîêðåìà ïðîáëåìè äîñÿæíîñò³ òà ìåòîä³â àâòîìàòèçîâàíîãî äîâåäåííÿ
òåîðåì äëÿ äîñÿãíåííÿ ìàêñèìàëüíî¿ åôåêòèâíîñò³. Îñíîâíèé íàãîëîñ áóäå çðîá-
ëåíî íà ðîçâ’ÿçàíí³ ïðîáëåìè âðàçëèâîñòåé «íóëüîâîãî äíÿ» çà äîïîìîãîþ ìå-
òîä³â ðîçïîðîøóâàííÿ òà ìàøèííîãî íàâ÷àííÿ, ÿê³ áóäóòü ðîçâèâàòèñÿ ç âèêî-
ðèñòàííÿì íîâ³òí³õ ôîðìàëüíèõ ìåòîä³â ç óðàõóâàííÿì ñïåö³àë³çàö³é ùîäî
ïðåäìåòíèõ îáëàñòåé.
ÑÏÈÑÎÊ Ë²ÒÅÐÀÒÓÐÈ
1. Cybercrime magazine. URL: https://cybersecurityventures.com/.
2. Nwokedi Idika, Aditya P. Mathur. A survey of malware detection techniques. 2007. Department of
Computer Science, Purdue University, West Lafayette, IN 47907. 48 p.
3. Mohan V. Pawar, Anuradha J. Network security and types of attacks in network. ICCC-2015.
URL: https://ac.els-cdn.com/S1877050915006353/1-s2.0-S1877050915006353-main.pdf?_tid=21866302-
2e58-4f1e-88d0-7d3b9825e011&acdnat=1543497106_74f03131d7fc65a2469e9708a18cc54c.
4. Check Point Software Technologies Ltd. Software Blade Architecture. URL: https://ww.checkpoint.com/
downloads/product-related/brochure/Software-Blades-Architecture.pdf.
5. DARPA, “Cyber Grand Challenge.” URL: https://www.cybergrandchallenge.com/.
ISSN 1019-5262. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2019, òîì 55, ¹ 5 167
6. Cha S.K., Avgerinos T., Rebert A., Brumley D. Unleashing Mayhem on binary code. Proc. IEEE
Symposium on Security and Privacy. 2012. P. 380–394.
7. Nguyen-Tuong A., Melski D., Davidson J.W., Co M., Hawkins W., Hiser J. D., Morris D.,
Nguen D., Rizzi E. Xandra: An autonomous cyber battle system for the cyber grand challenge. IEEE
Security & Privacy. 2008. Vol. 16, N 2. P. 42–53.
8. Mechaphish Github repository. URL: https://github.com/mechaphish/mecha-docs.
9. American Fuzzy Lop. URL: http://lcamtuf.coredump.cx/afl/.
10. Kolosnjaji B., Zarras A., Webster G., Eckert C. Deep learning for classification of malware system
call sequences. AI 2016: Advances in Artificial Intelligence. Proc. 29th Australasian Joint
Conference, Hobart, TAS, Australia. December 5–8, 2016. P. 137–149.
11. Cova M., Felmetsger V., Banks G. Static detection of vulnerabilities in x86 executables. 22nd Annual
Computer Security Applications Conference (ACSAC’06). 2006. https://doi.org/10.1109/ACSAC.2006.50.
12. Mouzarani M., Sadeghiyan B., Zolfaghari M. Detecting injection vulnerabilities in executable codes
with concolic execution. Proc. 8th IEEE International Conference on Software Engineering and
Service Science (ICSESS). 2017. https://doi.org/10.1109/ICSESS.2017.8342862.
13. Cha S.K., Avgerinos T., Rebert A., Brumley D. Unleashing MAYHEM on binary code. SP ‘12 Proc.
IEEE Symposium on Security and Privacy. 2012. https://doi.org/10.1109/SP.2012.31.
14. Li Z., Zou D., Xu S., Jin H., Qi H., Hu J. VulPecker: An automated vulnerability detection system
based on code similarity analysis. Proc. 32nd Annual Conference on Computer Security
Applications. ACSAC’16. 2016. P. 201–213.
15. Flake H. Structural comparison of executable objects. Proc. IEEE Conference on Detection of
Intrusions and Malware & Vulnerability Assessment (DIMVA). 2004. P. 161–173.
16. Lee G. How to formally model features of network security protocols. International Journal of
Security and Its Applications. 2014. Vol. 8, N 1. P. 423–432. URL: formal.hknu.ac.kr/Publi/ijsia.pdf.
17. Dodds J. Formal methods and the KRACK vulnerability. Galois Inc., 2017. URL: https://galois.com/
blog/2017/10/formal-methods-krack-vulnerability/.
18. Coron J.-S. Formal verification of side-channel countermeasures via elementary circuit transformations.
Proc. 16th International Conference, ACNS 2018. Leuven, Belgium, July 2–4, 2018. P. 65–82.
URL: https://eprint.iacr.org/2017/879.pdf/.
19. Jha S., Sheyner O., Wing J. Two formal analyses of attack graphs. Proc. 15th IEEE Computer
Security Foundations Workshop. 2002. URL: https://ieeexplore.ieee.org/document/1021806.
20. Bhargavan K. et al. Formal methods for analyzing crypto protocols: using legacy crypto: from attacks to
proofs. URL: https://cyber.biu.ac.il/wp-content/uploads/2018/02/BIU-Bhargavan-Part1-Slides.pdf.
21. Ferman V., Hutter D., Monroy R. A model checker for the verification of browser based protocols.
Comp. y Sist. 2017. Vol. 21, N 1. URL: http://www.scielo.org.mx/pdf/cys/v21n1/1405-5546-cys-
21-01-00101.pdf.
22. Bugliesi M., Calzavara S., Focardi R. Formal methods for web security. Universit� Ca’ Foscari Venezia.
URL: https://www.researchgate.net/publication/308004472_Formal_methods_for_Web_security.
23. Tobarra L., Cazorla D., Cuartero F., D�az G. Application of formal methods to the analysis of web
services security. URL: https://www.semanticscholar.org/paper/Application-of-formal-methods-to-
the-analysis-of-Tobarra-Cazorla/544d181da33da5439efcf49f31d50116355410d9.
24. Ray D., Ligatti J.. Defining injection attacks. Technical Report #CSE-TR-081114, University of
South Florida, Department of Computer Science and Engineering. URL: http://www.cse.usf.edu/
~ligatti/papers/broniesTR.pdf.
25. Calzavara S. Formal methods for web session security. Universit� Ca’ Foscari Venezia, Dipartimento
di Scienze Ambientali, Informatica e Statistica. URL: http://sysma.imtlucca.it/cina/lib/exe/ fetch.php?
media=calzavara.pdf.
26. Bansal C., Bhargavan K., Delignat-Lavaud A., Maffeis S. Keys to the cloud: formal analysis and
concrete attacks on encrypted web storage. URL: http://antoine.delignat-lavaud.fr/doc/post13.pdf.
URL: https://hal.inria.fr/hal-00863375/file/keys-to-the-cloud-post13.pdf/.
168 ISSN 1019-5262. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2019, òîì 55, ¹ 5
27. Gilbert D., Letichevsky A. Model for interaction of agents and environments. In: Recent Trends in
Algebraic Development Technique. WaDT 1999. LNCS. Bert D., Choppy C. (Eds.). Berlin;
Heidelberg: Springer-Verlag, 2000. Vol. 1827. P. 311–328.
28. Letichevsky A., Letychevskyi O., Peschanenko V. Insertion modeling and its applications. Computer
Science Journal of Moldova. 2016. Vol. 24, Iss. 3. P. 357–370.
Íàä³éøëà äî ðåäàêö³¿ 20.05.2019
À.À. Ëåòè÷åâñêèé, Â.Ñ. Ïåñ÷àíåíêî, ß.Â. Ãðèíþê,
Â.Þ. Ðàä÷åíêî, Â.Ì. ßêîâëåâ
ÎÁÇÎÐ ÑÎÂÐÅÌÅÍÍÛÕ ÌÅÒÎÄÎÂ ÇÀÙÈÙÅÍÍÎÑÒÈ È ÁÅÇÎÏÀÑÍÎÑÒÈ
ÏÐÎÃÐÀÌÌÍÛÕ ÑÈÑÒÅÌ
Àííîòàöèÿ. Ïîêàçàíî, ÷òî â íàñòîÿùåå âðåìÿ áåçîïàñíîñòü è çàùèùåí-
íîñòü ïðîãðàììíûõ ðåñóðñîâ ÿâëÿåòñÿ îäíîé èç íàèáîëåå àêòóàëüíûõ ïðî-
áëåì â ÈÒ-îòðàñëè, ïîñêîëüêó äåéñòâèÿ çëîóìûøëåííèêîâ ñòàíîâÿòñÿ âñå
áîëåå èçîùðåííûìè, à óáûòêè îò êèáåðàòàê ðàñòóò. Òðàäèöèîííûå ìåòîäû
áîðüáû ñ êèáåðàòàêàìè òåðÿþò ñâîþ ýôôåêòèâíîñòü, ïîýòîìó ðàçðàáîòêà
íîâûõ ìåòîäîâ è ñðåäñòâ çàùèòû ïðîãðàììíûõ ðåñóðñîâ ÿâëÿåòñÿ íàñóùíîé
ïîòðåáíîñòüþ. Îñîáåííî èíòåðåñíûìè è ïåðñïåêòèâíûìè ÿâëÿþòñÿ ðàçðà-
áîòêè, áàçèðóþùèåñÿ íà ôîðìàëüíûõ ìåòîäàõ ñ èñïîëüçîâàíèåì ñîâðåìåí-
íûõ àëãåáðàè÷åñêèõ òåîðèé.
Êëþ÷åâûå ñëîâà: àëãåáðàè÷åñêîå ìîäåëèðîâàíèå, àëãåáðà ïîâåäåíèé, êè-
áåðáåçîïàñíîñòü, èíñåðöèîííîå ïðîãðàììèðîâàíèå, ôîðìàëüíûå ìåòîäû,
ñèìâîëüíûå ìåòîäû, ñèìâîëüíîå ìîäåëèðîâàíèå, ïîèñê óÿçâèìîñòåé.
O.A. Letychevskii, V.S. Peschanenko, Y.V. Hryniuk,
V.Yu. Radchenko, V.M. Yakovlev
OVERVIEW OF THE MODERN METHODS OF PROTECTION
AND SECURITY OF SOFTWARE SYSTEMS
Abstract. Security and protection of software resources are one of the most
important problems in the IT industry since attackers’ actions become
increasingly sophisticated and losses caused by cyberattacks are growing.
Traditional methods of cyberattack prevention become inefficient; therefore,
development of new methods and tools to secure software resources becomes of
essential need. The studies that are based on formal methods with the use of
modern algebraic theories are especially interesting and promising.
Keywords: algebraic modeling, behavior algebra, cybersecurity, formal methods,
insertion programming, symbolic methods, symbolic modeling, vulnerability
detection.
Ëåòè÷åâñüêèé Îëåêñàíäð Îëåêñàíäðîâè÷,
äîêòîð ô³ç.-ìàò. íàóê, ïðîâ³äíèé íàóêîâèé ñï³âðîá³òíèê ²íñòèòóòó ê³áåðíåòèêè ³ì. Â.Ì. Ãëóøêîâà
ÍÀÍ Óêðà¿íè, Êè¿â, e-mail: oleksandr.letychevskyi@garuda.ai.
Ïåñ÷àíåíêî Âîëîäèìèð Ñåðã³éîâè÷,
äîêòîð ô³ç.-ìàò. íàóê, ïðîôåñîð êàôåäðè Õåðñîíñüêîãî äåðæàâíîãî óí³âåðñèòåòó,
e-mail: volodymyr.peschanenko@garuda.ai.
Ãðèíþê ßðîñëàâ Âàñèëüîâè÷,
àñï³ðàíò ²íñòèòóòó ê³áåðíåòèêè ³ì. Â.Ì. Ãëóøêîâà ÍÀÍ Óêðà¿íè, Êè¿â,
e-mail: yaroslav.hryniuk@garuda.ai.
Ðàä÷åíêî ³êòîð Þð³éîâè÷,
òåõí³÷íèé êåð³âíèê êîìïàí³¿ Garuda AI, Êè¿â, e-mail: viktor.radchenko@garuda.ai.
ßêîâëåâ ³êòîð Ìèõàéëîâè÷,
ïðîâ³äíèé ìàòåìàòèê ²íñòèòóòó ê³áåðíåòèêè ³ì. Â.Ì. Ãëóøêîâà ÍÀÍ Óêðà¿íè, Êè¿â,
e-mail: victor.yakovlev@garuda.ai, victor.yakovlev@ukr.net.
ISSN 1019-5262. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2019, òîì 55, ¹ 5 169
|