Затруднительно или невозможно создать программное обеспечение, не содержащее ошибок. Ошибки могут приводить к тому, что переданные в программу данные вызывают нештатный порядок выполнения ее машинного кода. Разбиение на подпрограммы приводит к тому, что инструкции возврата из подпрограмм могут использоваться для проведения атаки. Существующие средства защиты в основном требуют наличия исходных текстов для предотвращения таких атак. Предлагаемая методика защиты направлена на комплексное решение проблемы. Во-первых, затрудняется получение атакующим контроля над исполнением программы, а во-вторых, снижается количество участков программ, которые могут быть использованы в ходе атаки. Для затруднения получения контроля над исполнением применяется вставка защитного кода в начало и конец подпрограмм. При вызове защищенной подпрограммы производится защита адреса возврата, а при завершении – восстановление – при условии отсутствия повреждения его атакующим. Для снижения количества пригодных для атак участков применяются синонимичные замены инструкций, содержащие опасные значения. Предложенные меры не изменяют алгоритм работы исходного приложения. Для проверки описанных решений была выполнена программная реализация и проведено ее тестирование с использованием синтетических тестов, тестов производительности и реальных программ. Тестирование показало правильность принятых решений, что обеспечивает устранение пригодных для атак участков и невозможность использования штатных инструкций возврата для проведения атак. Тестирование производительности показало 14 % падения скорости работы, что находится на уровне ближайших аналогов. Сравнение с аналогами показало, что количество реализуемых сценариев атаки для предложенного решения меньше, а применимость выше.
В настоящей работе рассматривается проблема автоматизированного поиска уязвимостей в исполняемом коде. В работе проводится анализ проблематики, и выделяются недостатки существующих решений, в части отсутствия возможности обнаружения уязвимостей с учётом тех угроз, которые они несут для защищаемой информации, которая обрабатывается в ПО. Для решения этой проблемы предлагается оригинальная модель автоматизированного поиска уязвимостей в трассе программы, её алгоритмическое обеспечение и программная реализация. В рамках модели приводятся формальные критерии отнесения ошибки к уязвимости с учётом распределения защищаемой информации в памяти программы. Для выделения участков памяти с защищаемой информацией в работе используется методика анализа помеченных данных. Кроме того приводится экспериментальная оценка эффективности разработанного программного комплекса, которая показала, что разработанное решение позволяет детектировать на 5 типов уязвимостей больше в ОС Windows и на 4 типа уязвимостей больше в Linux по сравнению с существующими аналогами. Все модули разработанного комплекса были опубликованы как ПО с открытым исходным кодом, могут свободно использоваться в других проектах и доступны для скачивания в Интернете.
В работе рассматривается задача разработки метода контролируемого многомодельного доступа к среде беспроводных сетей передачи данных (БСПД) стандартов IEEE 802.11, 802.16. В качестве решения предлагается продукционно-логическая система управления доступом к среде БСПД по результатам мониторинга, учитывающая влияние используемых методов на сетевую инфраструктуру.
1 - 3 из 3 результатов