<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.3 20210610//EN" "JATS-journalpublishing1-3.dtd">
<article article-type="research-article" dtd-version="1.3" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xml:lang="ru"><front><journal-meta><journal-id journal-id-type="publisher-id">procyber</journal-id><journal-title-group><journal-title xml:lang="ru">Вестник кибернетики</journal-title><trans-title-group xml:lang="en"><trans-title>Proceedings in Cybernetics</trans-title></trans-title-group></journal-title-group><issn pub-type="epub">1999-7604</issn><publisher><publisher-name>Бюджетное учреждение высшего образования Ханты-Мансийского автономного округа – Югры «Сургутский государственный университет»</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.35266/1999-7604-2024-1-4</article-id><article-id custom-type="elpub" pub-id-type="custom">procyber-572</article-id><article-categories><subj-group subj-group-type="heading"><subject>Research Article</subject></subj-group><subj-group subj-group-type="section-heading" xml:lang="ru"><subject>ТЕХНИЧЕСКИЕ НАУКИ</subject></subj-group><subj-group subj-group-type="section-heading" xml:lang="en"><subject>Engeneering</subject></subj-group></article-categories><title-group><article-title>МОДЕЛЬ ИДЕНТИФИКАЦИИ АГРЕССИВНЫХ ПРОГРАММНЫХ ЭЛЕМЕНТОВ</article-title><trans-title-group xml:lang="en"><trans-title>A MODEL DETECTING AGGRESSIVE SOFTWARE ELEMENTS</trans-title></trans-title-group></title-group><contrib-group><contrib contrib-type="author" corresp="yes"><contrib-id contrib-id-type="orcid">https://orcid.org/0009-0005-8562-9389</contrib-id><name-alternatives><name name-style="eastern" xml:lang="ru"><surname>Дубровина</surname><given-names>А. И.</given-names></name><name name-style="western" xml:lang="en"><surname>Dubrovina</surname><given-names>A. I.</given-names></name></name-alternatives><bio xml:lang="ru"><p>аспирант</p></bio><bio xml:lang="en"><p>Postgraduate</p></bio><email xlink:type="simple">ministrelia69@yandex.ru</email><xref ref-type="aff" rid="aff-1"/></contrib><contrib contrib-type="author" corresp="yes"><contrib-id contrib-id-type="orcid">https://orcid.org/0009-0003-5028-6975</contrib-id><name-alternatives><name name-style="eastern" xml:lang="ru"><surname>Акперов</surname><given-names>Т. И.</given-names></name><name name-style="western" xml:lang="en"><surname>Akperov</surname><given-names>T. I.</given-names></name></name-alternatives><bio xml:lang="ru"><p>аспирант</p></bio><bio xml:lang="en"><p>Postgraduate</p></bio><xref ref-type="aff" rid="aff-2"/></contrib><contrib contrib-type="author" corresp="yes"><contrib-id contrib-id-type="orcid">https://orcid.org/0000-0001-9852-0423</contrib-id><name-alternatives><name name-style="eastern" xml:lang="ru"><surname>Александрова</surname><given-names>Т. С.</given-names></name><name name-style="western" xml:lang="en"><surname>Aleksandrova</surname><given-names>T. S.</given-names></name></name-alternatives><bio xml:lang="ru"><p>аспирант</p></bio><bio xml:lang="en"><p>Postgraduate</p></bio><xref ref-type="aff" rid="aff-2"/></contrib></contrib-group><aff-alternatives id="aff-1"><aff xml:lang="ru"><institution>Южный университет (ИУБиП); Донской государственный технический университет, Ростов-на-Дону</institution><country>Россия</country></aff><aff xml:lang="en"><institution>Southern University (IMBL); Don State Technical University, Rostov-on-Don</institution><country>Russian Federation</country></aff></aff-alternatives><aff-alternatives id="aff-2"><aff xml:lang="ru"><institution>Южный университет (ИУБиП), Ростов-на-Дону</institution><country>Россия</country></aff><aff xml:lang="en"><institution>Southern University (IMBL), Rostov-on-Don</institution><country>Russian Federation</country></aff></aff-alternatives><pub-date pub-type="collection"><year>2024</year></pub-date><pub-date pub-type="epub"><day>20</day><month>03</month><year>2024</year></pub-date><volume>23</volume><issue>1</issue><fpage>31</fpage><lpage>36</lpage><permissions><copyright-statement>Copyright &amp;#x00A9; Дубровина А.И., Акперов Т.И., Александрова Т.С., 2024</copyright-statement><copyright-year>2024</copyright-year><copyright-holder xml:lang="ru">Дубровина А.И., Акперов Т.И., Александрова Т.С.</copyright-holder><copyright-holder xml:lang="en">Dubrovina A.I., Akperov T.I., Aleksandrova T.S.</copyright-holder><license license-type="creative-commons-attribution" xlink:href="https://creativecommons.org/licenses/by/4.0/" xlink:type="simple"><license-p>This work is licensed under a Creative Commons Attribution 4.0 License.</license-p></license></permissions><self-uri xlink:href="https://www.vestcyber.ru/jour/article/view/572">https://www.vestcyber.ru/jour/article/view/572</self-uri><abstract><p>Рассмотрены вопросы моделирования вычислительных процессов, позволяющих оценить потенциальные возможности используемых программных средств по негативному влиянию на работу различных видов человеко-машинных систем, в том числе обладающих признаками искусственного интеллекта. В ходе численного эксперимента анализировались программы, предоставляющие интеллектуальную поддержку роботам-ассистентам преподавателей и реализующие определенные функции в вычислительном комплексе «умного дома», с учетом их агрессивного поведения. Обсужден ряд вопросов, связанных с результатами этого эксперимента. Показан подход, позволяющий выделить группу операторов машинного языка программирования, имеющих потенциал для формирования программных закладок общего и специального видов, влияющих на информационную экологию и корректную работу компонентов «умного дома». Даны рекомендации по формированию набора признаков агрессивности в зависимости от специфики применения конкретных программных средств.</p></abstract><trans-abstract xml:lang="en"><p>The article examines issues of modeling computation processes that help assess the probable capabilities of the software used to negatively affect the operation of various types of human-machine systems, including those with artifi cial intelligence. Given its aggresive behavior, a numerical experiment analyzed software that provides intelligent support to assistant robots for teaching staff and implements certain functions in the smart home’s computation complex. The experiment’s fi ndings raise a number of issues, which are discussed. The study demonstrates an approach for highlighting a set of machine programming language statements capable of producing general and special software bugs that affect the information environment and appropriate operation of smart home components. Guidelines for grouping a set of aggressive propertiesare given based on the specifi cs of the software in use.</p></trans-abstract><kwd-group xml:lang="ru"><kwd>разрушающее программное средство</kwd><kwd>программная закладка</kwd><kwd>агрессивный элемент</kwd><kwd>идентификация</kwd><kwd>безопасность</kwd></kwd-group><kwd-group xml:lang="en"><kwd>destructive software tool</kwd><kwd>software bug</kwd><kwd>aggressive element</kwd><kwd>identifi cation</kwd><kwd>security</kwd></kwd-group></article-meta></front><body><sec><title>ВВЕДЕНИЕ</title><p>Определение агрессивных программных элементов в исследуемом программном средстве может быть осуществлено с помощью некоторой семантической модели, ориентированной на интерпретацию общих свойств программ, предположительно содержащих разрушающие функции. Основной задачей, решаемой такой моделью разрушающего программного средства (РПС), является выявление состояния вычислительного процесса, нарушающего безопасность и целостность программной среды в результате выполнения программы или отдельных ее участков. Кроме того, следует выделить и ряд дополнительных задач, способствующих решению основной задачи:</p><p>1) определение аномалий потока управления: «мертвого» (неисполняемого) [<xref ref-type="bibr" rid="cit1">1</xref>] кода;</p><p>2) определение аномалий потока данных: побочного эффекта функций программного средства – изменения значений глобальных переменных в подпрограммах [<xref ref-type="bibr" rid="cit1">1</xref>][<xref ref-type="bibr" rid="cit2">2</xref>], неинициализированных переменных.</p><p>Исходя из специфики задач будем использовать конструктивный подход в теории семантики языков программирования. В соответствии с конструктивной точкой зрения язык определяется тем действием, которое он оказывает на машину, т. е. языком называется множество таких программ, выполнение которых на машине имеет совершенно определенные последствия. Построим семантическую модель анализа программы, используя основные идеи Венского метода, разработанного сотрудниками Венской лаборатории фирмы IBM [<xref ref-type="bibr" rid="cit3">3</xref>].</p></sec><sec><title>МАТЕРИАЛЫ И МЕТОДЫ</title><p>Введем основные соглашения и обозначения.</p><p>В общем случае будем использовать символы для обозначения следующих компонент программы:</p><p>x – переменные;</p><p>v – выражения;</p><p>b – логические выражения;</p><p>Q – операторы;</p><p>C – списки операторов.</p><p>Пусть Х – множество всех возможных переменных, а Z – множество всех возможных значений переменных. Каждое из них может быть конечным или счетным. Неопределенное значение Λ также принадлежит Z: Λ ∈ Z.</p><p>Состояние памяти s определим как конечную функцию из Х в Z. Множество всех значений памяти обозначим через S, а его элементы – символами s, s1 и т. д. Множество S включает три подмножества состояний: Sл, Sн, S` – соответственно легитимное, нелегитимное и неустойчивое состояние (одновременное присутствие Sл и Sн).</p><p>Введем частичную функцию change:</p><p>Change: S × X × Z → S,</p><p>такую, что для всех s, s1, x и z:</p><p>s1 = change (s, x, z) ≡ s1 (x) = z &amp; s =× s1.</p><p>Функция change описывает эффект изменения значения переменной х = z, когда машина находится в состоянии s. Эффект заключается в том, что переменной x теперь приписывается значение z, а значения остальных переменных не изменяются.</p><p>Семантическую структуру каждого оператора q представим в виде:</p><p>q = {fi; x1, …, xn; y1, …, ym}, (1)</p><p>где fi – одна из следующих функций (тип оператора):</p><p>function q:</p><p>x: = v → f1 (x, v);</p><p>b * q → f2 (b, q);</p><p>(C) → f3 (C).</p><p>f1, f2, f3 – выражения, определяющие желаемый результат в каждом случае;</p><p>x1, x2, …, xn – множество переменных, получающих новые значения при выполнении оператора q;</p><p>y1, y2, …, ym – множество переменных, используемых в операторе q и не изменяющих своего значения.</p><p>Условное выражение b может быть записано в виде:</p><p>(b → …</p><p>d → …).</p><p>Если b – истина, то результат берется из первой строчки, а в противном случае – из второй. Пустой оператор обозначим как Ω.</p><p>Опишем процесс вычисления программы в терминах модели-вычислителя [<xref ref-type="bibr" rid="cit4">4</xref>][<xref ref-type="bibr" rid="cit5">5</xref>]. В этой модели состояние машины не включает состояние «управление» как в модели-интерпретаторе. Состояние «управление», представляющее собой список операторов, которые предстоит выполнить после q, не влияет на семантику состояния si , получаемого в результате выполнения q. Модель определяется заданием функции, отображающей программу в ее вычислении. Под вычислением понимается конечная последовательность состояний памяти. Функция имеет следующий вид:</p><p>comp: S×Q → S* (S* = Sл ⋃ Sн ⋃ S`) (2)</p><p>comp: (s, Q) =</p><p>function Q:</p><p>Λ → (s`)</p><p>x: = v → (s; change (s, x, vs))</p><p>b * q → (bs → comp (s, Q),</p><p>d → (s))</p><p>(C) → comp (s, C)</p><p>Ω → (s).</p><p>Модель-вычислитель является основой построения операционной семантики языков программирования. Операционная семантика задается, как уже было показано, определением абстрактного «состояния машины» и смыслом конструкций языка с точки зрения их влияния на состояние, т. е. функции переходов из состояния в состояние:</p><p>Comp: S → S.</p><p>Уточним содержание понятия состояния памяти. S представляет собой вектор состояния, определяемый совокупностью множеств переменных X. В нашем случае вектор состояния S выглядит следующим образом:</p><p>S = {Xд, Xз, Xи, Xп},</p><p>где Xд = {xд1, xд2, …, хдn} – множество контролируемых глобальных системных переменных по критерию доступа (системные адреса, таблицы данных и т. п.);</p><p>Xз = {xз1, xз2, …, хзm} – множество контролируемых глобальных системных переменных по критерию запуска (значения системных регистров, размера свободной оперативной и виртуальной памяти, появления дополнительных переменных программы и т. п.);</p><p>Xи = {xи1, xи2, …, хиw} – множество контролируемых глобальных системных переменных по критерию использования ресурсов среды;</p><p>Xп = {xп1, xп2, …, хпt} – множество переменных программы.</p><p>Операционное определение исследуемой программы дадим в терминах функции Comp от двух аргументов – текста программы и вектора состояния, представляющего текущее состояние вычислений. Кроме того, введем дополнительно следующие функции:</p><p>Подстановку значения в вектор состояния будем записывать следующим образом: если z – это значение, то вектор состояния s [x ← z] определяется как:</p><p>s [x ← z] {x} = z,</p><p>s [x ← z] {y} = s (y) для всех y ≠ x.</p><p>Смысл записи – «присвоить компоненте х вектора s значение z».</p><p>Функция Comp определяется для каждого из типов fi операторов:</p><p>Comp (x: = v, s) = s [x ← Znach (v, s)]; (3)</p><p>Comp (sл, sн; s) = Comp (sл, s) || Comp (Comp (sн, s), s);</p><p>Comp (s1; s2, s) = Comp (s1, s) || Comp (s2, End (Comp (s1, s))),</p><p>где || используется для обозначения конкатенации последовательностей состояний. Использование функцией Comp векторов состояний позволяет достаточно просто описать процесс функционирования программного средства.</p><p>Таким образом, основное преимущество операционной модели заключается в том, что операционное определение семантики программы может дать приемлемую реализацию [<xref ref-type="bibr" rid="cit5">5</xref>][<xref ref-type="bibr" rid="cit6">6</xref>].</p></sec><sec><title>РЕЗУЛЬТАТЫ И ИХ ОБСУЖДЕНИЕ</title><p>Цель эксперимента: идентификация конструкций, характерных для разрушающих программных средств с последующим формированием множества первичных признаков РПС.</p><p>В основе эксперимента лежит гипотеза о том, что разрушающие программные средства и обычные программы отличаются между собой по частоте использования некоторых конструкций применяемого языка программирования [<xref ref-type="bibr" rid="cit7">7</xref>][<xref ref-type="bibr" rid="cit8">8</xref>], характерного для человеко-машинных систем, например систем «умный дом», систем оценки уровня информационной экологичности информации в учебном процессе [<xref ref-type="bibr" rid="cit8">8</xref>] и т. д. Исходя из специфики функций, выполняемых РПС, часть операторов и служебных идентификаторов (операндов), отвечающих за их реализацию, редко используется при написании обычных программ. При этом под обычными программами здесь будем понимать программы, не выполняющие совокупность указанных выше разрушающих функций и не имеющих механизмов исследования и маскировки в программной среде. Выявление такого различия позволяет определить первичные признаки РПС в программах, ориентируясь на которые можно повысить эффективность поиска, при этом получая минимальные временные затраты. От определения множества первичных признаков зависит результат идентификации разрушающих функций в программе.</p><p>План проведенного эксперимента:</p><p>Результаты выполнения программы характеризует гистограмма (рисунок), отображающая среднее арифметическое частот реализаций тех операторов, которые наиболее часто встречались в РПС по сравнению с обычными программами.</p><fig id="fig-1"><caption><p>Рисунок. Результаты эксперимента</p><p>Примечание: составлено авторами на основании данных, полученных в исследовании.</p></caption><graphic xlink:href="procyber-23-1-g001.jpeg"><uri content-type="original_file">https://cdn.elpub.ru/assets/journals/procyber/2024/1/Y80l0sSX4tcxvbKvfLssUs4pOtuCClfdbrUX1aVp.jpeg</uri></graphic></fig><p>Столбцы диаграммы темного цвета характеризуют результаты эксперимента на множестве разрушающих программных средств. Столбцы светлого тона – соответственно результаты эксперимента на обычных программных средствах.</p><p>Таким образом, эксперимент подтвердил предположение из [<xref ref-type="bibr" rid="cit9">9</xref>] о том, что существует различие в реализации на операторном уровне между разрушающими программными средствами и обычными программами. Следует полагать, что данные операторы являются основой построения разрушающих программных конструкций и могут быть использованы в качестве «опорных» точек в методике идентификации программных закладок.</p></sec><sec><title>ЗАКЛЮЧЕНИЕ</title></sec></body><back><ref-list><title>References</title><ref id="cit1"><label>1</label><citation-alternatives><mixed-citation xml:lang="ru">Алекперов И. Д., Храмов В. В., Горбачева А. А. и др. Информационная безопасность и защита информации в цифровой экономике: элементы теории и тестовые задания. Ростов н/Д. : Южный университет (ИУБиП), 2020. 114 с.</mixed-citation><mixed-citation xml:lang="en">Алекперов И. Д., Храмов В. В., Горбачева А. А. и др. Информационная безопасность и защита информации в цифровой экономике: элементы теории и тестовые задания. Ростов н/Д. : Южный университет (ИУБиП), 2020. 114 с.</mixed-citation></citation-alternatives></ref><ref id="cit2"><label>2</label><citation-alternatives><mixed-citation xml:lang="ru">Арапова Е. А., Бочаров А. А., Вострокнутов И. Е. и др. Возможности искусственного интеллекта в совершенствовании информационного образовательного пространства регионов России : моногр. М. : ООО «Издательский Центр РИОР», 2022. 140 с.</mixed-citation><mixed-citation xml:lang="en">Арапова Е. А., Бочаров А. А., Вострокнутов И. Е. и др. Возможности искусственного интеллекта в совершенствовании информационного образовательного пространства регионов России : моногр. М. : ООО «Издательский Центр РИОР», 2022. 140 с.</mixed-citation></citation-alternatives></ref><ref id="cit3"><label>3</label><citation-alternatives><mixed-citation xml:lang="ru">Храмов В. В. Особенности использования принципа информационного следа при поиске программных закладок // Вопросы защиты информации. 2001. № 3. С. 39–40.</mixed-citation><mixed-citation xml:lang="en">Храмов В. В. Особенности использования принципа информационного следа при поиске программных закладок // Вопросы защиты информации. 2001. № 3. С. 39–40.</mixed-citation></citation-alternatives></ref><ref id="cit4"><label>4</label><citation-alternatives><mixed-citation xml:lang="ru">Храмов В. В., Трубников А. Н. Модель специальной программной закладки // Вопросы защиты информации. 1998. № 1–2. С. 36–37.</mixed-citation><mixed-citation xml:lang="en">Храмов В. В., Трубников А. Н. Модель специальной программной закладки // Вопросы защиты информации. 1998. № 1–2. С. 36–37.</mixed-citation></citation-alternatives></ref><ref id="cit5"><label>5</label><citation-alternatives><mixed-citation xml:lang="ru">Akperov I. G., Akperov G. I., Alekseichik T. V. et al. Soft models of management in terms of digital transformation. Vol. 2. Monograph. Rostov-on-Don: PEI HE SU (IUBIP); 2020. 256 p.</mixed-citation><mixed-citation xml:lang="en">Akperov I. G., Akperov G. I., Alekseichik T. V. et al. Soft models of management in terms of digital transformation. Vol. 2. Monograph. Rostov-on-Don: PEI HE SU (IUBIP); 2020. 256 p.</mixed-citation></citation-alternatives></ref><ref id="cit6"><label>6</label><citation-alternatives><mixed-citation xml:lang="ru">Линденбаум Т. М., Попов О. Р., Храмов В. В. Введение в информационную экологию: технологические предпосылки // Актуальные проблемы и перспективы развития транспорта, промышленности и экономики России : сб. науч. тр. Междунар. науч.-практич. конф., 09–11 ноября 2020 г., г. Ростов-на-Дону. Ростов н/Д. : Ростовский государственный университет путей сообщения, 2020. С. 136–139.</mixed-citation><mixed-citation xml:lang="en">Линденбаум Т. М., Попов О. Р., Храмов В. В. Введение в информационную экологию: технологические предпосылки // Актуальные проблемы и перспективы развития транспорта, промышленности и экономики России : сб. науч. тр. Междунар. науч.-практич. конф., 09–11 ноября 2020 г., г. Ростов-на-Дону. Ростов н/Д. : Ростовский государственный университет путей сообщения, 2020. С. 136–139.</mixed-citation></citation-alternatives></ref><ref id="cit7"><label>7</label><citation-alternatives><mixed-citation xml:lang="ru">Khramov V. V., Trubnikov A. N. Analysis of the aggressiveness of a software product. Automatic Control and Computer Sciences. 1999;33(2):28–34.</mixed-citation><mixed-citation xml:lang="en">Khramov V. V., Trubnikov A. N. Analysis of the aggressiveness of a software product. Automatic Control and Computer Sciences. 1999;33(2):28–34.</mixed-citation></citation-alternatives></ref><ref id="cit8"><label>8</label><citation-alternatives><mixed-citation xml:lang="ru">Khramov V. V. Development of a human-machine interface based on hybrid intelligence. Modern Informa-tion Technologies and IT-Education. 2020;16(4):893–900.</mixed-citation><mixed-citation xml:lang="en">Khramov V. V. Development of a human-machine interface based on hybrid intelligence. Modern Informa-tion Technologies and IT-Education. 2020;16(4):893–900.</mixed-citation></citation-alternatives></ref><ref id="cit9"><label>9</label><citation-alternatives><mixed-citation xml:lang="ru">Храмов В. В., Горбачева А. А., Фомичев Д. П. Моделирование недекларированной активности программного средства в условиях нечеткости исходных данных // Информационная безопасность: вчера, сегодня, завтра : сб. ст. по материалам III Междунар. науч.-практич. конф., 23 апреля 2020 г., г. Москва. М. : Российский государственный гуманитарный университет, 2020. С. 124–130.</mixed-citation><mixed-citation xml:lang="en">Храмов В. В., Горбачева А. А., Фомичев Д. П. Моделирование недекларированной активности программного средства в условиях нечеткости исходных данных // Информационная безопасность: вчера, сегодня, завтра : сб. ст. по материалам III Междунар. науч.-практич. конф., 23 апреля 2020 г., г. Москва. М. : Российский государственный гуманитарный университет, 2020. С. 124–130.</mixed-citation></citation-alternatives></ref></ref-list><fn-group><fn fn-type="conflict"><p>The authors declare that there are no conflicts of interest present.</p></fn></fn-group></back></article>
