Научная статья на тему 'ПОДХОД К ОБНАРУЖЕНИЮ ЗАКЛАДОК В ПРОГРАММНОМ ОБЕСПЕЧЕНИИ'

ПОДХОД К ОБНАРУЖЕНИЮ ЗАКЛАДОК В ПРОГРАММНОМ ОБЕСПЕЧЕНИИ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
69
8
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ВЫЧИСЛИТЕЛЬНАЯ СЕТЬ / АВТОМАТИЗИРОВАННАЯ СИСТЕМА УПРАВЛЕНИЯ / ВЫЧИСЛИТЕЛЬНАЯ СИСТЕМА / АРХИТЕКТУРА ВЫЧИСЛИТЕЛЬНОЙ СЕТИ / ПРОГРАММНАЯ ЗАКЛАДКА / МЕТОД ПОСЛЕДОВАТЕЛЬНОЙ ДЕКОМПОЗИЦИИ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Лопатин В.А., Нечай А.А.

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

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

Текст научной работы на тему «ПОДХОД К ОБНАРУЖЕНИЮ ЗАКЛАДОК В ПРОГРАММНОМ ОБЕСПЕЧЕНИИ»

4. Лопатин, В.А. Некоторые обобщения в теории множеств, отношений и графов, их применение в информационных технологиях. [Электронный ресурс] / В.А. Лопатин, А.А. Нечай // Экономика и социум. Саратов. 2015. №

1 (14).

URL: http://iupr.ru/domains_data/files/zurnal_14/Lopatin%20V1.pdf (дата

обращения: 06.02.2015).

5. Лопатин, В.А. Структурно-математический подход к анализу гиперсетевых моделей представления знаний [Электронный ресурс] / В.А. Лопатин, А.А. Нечай // Экономика и социум. Саратов. 2015. № 1 (14). URL: http://iupr.ru/domains_data/files/zurnal_14/Lopatin%20V2.pdf (дата обращения: 06.02.2015).

6. Нечай, А.А. Подходы к выявлению конфиденциальной информации [Электронный ресурс] / А.А. Нечай, С.А. Краснов, И.В. Першина // Экономика и социум. Саратов. 2015. № 1 (14). URL: http://mpr.ru/domams_data/fües/zumal_14/Nechay%20A.A.%20Podhody% 20k%20vyyavleniyu.pdf (дата обращения: 06.02.2015).

7. Нечай, А.А. Специфика проявления уязвимостей программируемых логических интегральных схем, используемых в автоматизированных системах управления критически важными объектами [Электронный ресурс] / А.А. Нечай // Экономика и социум. Саратов. 2015. № 1 (14). URL: http://iupr.ru/domains_data/files/zurnal_14/Nechay%20A.A.%20Specifika %20proyavleniya%20uyazvimostyay.pdf (дата обращения: 06.02.2015).

Лопатин В.А. преподаватель кафедры Нечай А.А. преподаватель кафедры Военно-космическая академия имени А. Ф. Можайского

Россия, г. Санкт-Петербург ПОДХОД К ОБНАРУЖЕНИЮ ЗАКЛАДОК В ПРОГРАММНОМ ОБЕСПЕЧЕНИИ В статье рассматривается метод обнаружения программных закладок посредством последовательной декомпозиции основанный на получении характеристической функции сечений ориентированного графа передачи управления в программе, полученного при трассировке исходного исполняемого кода.

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

В связи с постоянным возрастанием сложности решаемых задач вычислительными системами (ВС) и необходимостью переработки ими

больших объемов информации, которые постоянно пополняются, возникает ряд потребностей, а именно:

- увеличение производительности и ресурсоемкости ВС;

- повышение надежности;

- улучшение эргономических свойств;

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

- снижение расходов на содержание и эксплуатацию.

Очевидно, что ВС старого поколения уже не могут в полной мере

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

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

Следует отметить, что государственная техническая политика в области использования импортных аппаратных и программных средств допускает их применение только после соответствующих процедур сертификации. Эти процедуры значительно затрудняются тем обстоятельством, что в подавляющем большинстве случаев на готовое системное ПО не предоставляются исходные тексты. Его спецификации носят ограниченный характер, имеются недокументированные возможности и скрытые дефекты. Все это создает предпосылки для реализации угроз безопасности разрабатываемым АСУ со стороны злоумышленника, который их может осуществить посредством внедрения разрушающих программных средств (РПС).

Результаты многочисленных исследований за последнее время подтверждают предположение, что наиболее вероятным объектом такого воздействия окажется ПО, составляющее основу комплексов АСУ критически важных объектов. Основными средствами воздействия станут алгоритмические и программные закладки, как одна из разновидностей РПС.

Предполагаемые место их размещения - системное ПО. Следовательно, значительное внимание должно уделяться проверке системного ПО на предмет всевозможных РПС и недокументированных возможностей.

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

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

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

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

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

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

ПО декларируемым спецификациям следует применить метод [1], основанный на применении тензорного аппарата системотехники [2].

Использованные источники:

1. Панферов В.П., Чижухин Г.Н. К вопросу о теоретических основах анализа работоспособности программ // Методы и технические средства обеспечения безопасности информации. - СПб. : СПбГТУ. - 2010.

2. Панферов В.П. Тензорный язык автоматизации проектирования // Судостроительная промышленность. - Сер. ВТ.- Вып. 5. - 1997.

3. Лохвицкий, В.А. Подход к построению системы автоматизированной интеграции информации в базу данных для её своевременной актуализации / В.А. Лохвицкий, С.В. Калиниченко, А.А. Нечай // Мир современной науки. Издательство «Перо». Москва. 2014. № 2 (24), С. 8-12.

4. Нечай, А.А. Выявление недекларированных возможностей аппаратно-программного обеспечения / А.А. Нечай // Экономика и социум. Саратов. 2014. № 1-2 (10), С. 457-460.

5. Нечай, А.А. Специфика проявления уязвимостей в автоматизированных системах управления критически важными объектами / А.А. Нечай, П.Е. Котиков // В сборнике: Современные тенденции в образовании и науке, сборник научных трудов по материалам Международной научно-практической конференции: в 14 частях. Тамбов, 2014. С. 96-97.

6. Лопатин, В.А. Некоторые обобщения в теории множеств, отношений и графов, их применение в информационных технологиях. [Электронный ресурс] / В.А. Лопатин, А.А. Нечай // Экономика и социум. Саратов. 2015. №

1 (14).

URL: http://iupr.ru/domains_data/files/zurnal_14/Lopatin%20V1.pdf (дата

обращения: 06.02.2015).

7. Лопатин, В.А. Структурно-математический подход к анализу гиперсетевых моделей представления знаний [Электронный ресурс] / В.А. Лопатин, А.А. Нечай // Экономика и социум. Саратов. 2015. № 1 (14). URL: http://iupr.ru/domains_data/files/zurnal_14/Lopatin%20V2.pdf (дата обращения: 06.02.2015).

8. Нечай, А.А. Подходы к выявлению конфиденциальной информации [Электронный ресурс] / А.А. Нечай, С.А. Краснов, И.В. Першина // Экономика и социум. Саратов. 2015. № 1 (14). URL: http://iupr.ru/domains_data/files/zurnal_14/Nechay%20A.A.%20Podhody% 20k%20vyyavleniyu.pdf (дата обращения: 06.02.2015).

9. Нечай, А.А. Специфика проявления уязвимостей программируемых логических интегральных схем, используемых в автоматизированных системах управления критически важными объектами [Электронный ресурс] / А.А. Нечай // Экономика и социум. Саратов. 2015. № 1 (14). URL: http://iupr.ru/domains_data/files/zurnal_14/Nechay%20A.A.%20Specifika %20proyavleniya%20uyazvimostyay.pdf (дата обращения: 06.02.2015).

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