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

Fatal error: Uncaught Error: Call to a member function fetch_row() on false in /home/user/web/тумба.онлайн/private/versions/ver_5/pages/books_single.php:285 Stack trace: #0 /home/user/web/тумба.онлайн/private/versions/ver_5.php(577): include() #1 /home/user/web/тумба.онлайн/public_html/index.php(200): include('...') #2 {main} thrown in /home/user/web/тумба.онлайн/private/versions/ver_5/pages/books_single.php on line 285