Рис. 2. Пример реализации полиморфного вируса
Одним из первых полиморфных вирусов был вирус «Phoenix», который шифровал свое тело по переменному ключу и генерировал различные варианты расшифровщиков. В 1994-1995 годах распространился вирус «Onehalf», который не только шифровал свое тело по переменному ключу, но еще и распределял фрагменты многовариантного расшифровщика по всей зараженной программе. Существуют полиморфные вирусы способные случайным образом постоянно «перемешивать» свой код. Появились и были опубликованы программные технологии, которые автоматизировали процесс создания полиморфных вирусов, что позволяло даже неквалифицированным злоумышленникам делать труднообнаруживаемые штаммы. Одной из наиболее известной и сложной для обнаружения и излечения сигнатур является технология «SMEG», которая широко используется при тестировании качества антивирусных программ. Следует отметить, что отечественные вирусы серий «RDA.Fighter», «Zhenghi» и «NutCracker» содержат гораздо более сложные по отношению даже к «SMEG» алгоритмы [2].
Структура большинство таких вирусов включает в себя две части:
сначала располагается случайная реализация неслучайного алгоритма расшифрования;
затем следует зашифрованное тело вируса.
Тело вируса зашифровано по определенному закону, например, прибавлением к каждому байту определенного значения. Разумеется, алгоритм расшифровки однозначен и неслучаен: надо просто вычесть это значение в цикле изо всех байтов. Но реализация этого алгоритма может быть и случайной.
Это возможно, поскольку большинство элементарных операций в системе команд ПЭВМ может быть выполнено по-разному. Например, поместить число 0 в регистр AX можно разными способами:
- MOV AX,0 ;
- XOR AX, AX;
- SUB AX, AX;
- AND AX, 0 .
Кроме того, «полезные» операции можно чередовать командами, не выполняющими никаких полезных действий, например:
- MOV AX,AX;
- ADD AX,0.
Основным способом выявления подобных вирусов современными антивирусными программами является эвристический анализ.
Принцип работы эвристического анализатора заключается в том, что подозрительный файл загружается во внутренний буфер, где происходит пошаговое выполнение его команд, с разрешением расшифровки, но с запрещением выполнения вирусных алгоритмов, направленные на размножение. Эта операция называется эмуляцией кода или символическим исполнением кода. Иными словами, антивирусная программа средствами ЭВМ создает и запускает программную модель этой ЭВМ и заставляет ее исполнять программную модель вируса.
Существует достаточно простой способ создания таких моделей. Он основан на возможности микропроцессоров серии 80x86 работать в режиме трассировки. После выполнения каждой команды программы микропроцессор передает управление некоторой процедуре, которая может проверить тип выполненной команды, ее местоположение, назначение и т.д. Таким образом, можно заставить вирус начать выполняться и остановиться после расшифровки до выполнения вирусных команд, после чего расшифрованное тело можно изучать, сравнивать с известными сигнатурами и т.д.
Тем не менее, обойти эвристический анализатор достаточно легко. Для успешной атаки, с использованием деструктивного кода типа полиморфного вируса достаточно ключ, по которому дешифруется тело вируса, извлекать из тех ячеек памяти ЭВМ, которые по различным причинам недоступны антивирусной программе.
На рис. 3 представлена часть исходного кода, которая до недавнего времени ошибочно отрабатывалась эвристическим анализатором AVP Касперского [2].
В данном примере использована недоработка антивирусной программы, суть которой заключается в том, что по адресу 0:46Ch BIOS хранится счетчик тиков таймера, обновляемый с частотой 18,4 Гц. Обман эвристического анализатора основан на том, что эмулятор не моделирует работу этой ячейки памяти, в результате чего в регистре AX хранится 1, а эвристический анализатор определяет что ноль.
xor ax, ax mov ds, ax mov bx, ds:[46Ch] Label_1: mov ax, ds:[46Ch] sub ax, bx jz Label_1
|
xor ax, ax mov ds, ax mov bx, ds:[46Ch] Label_1: mov ax, ds:[46Ch] sub ax, bx jz Label_1
|
xor ax, ax mov ds, ax mov bx, ds:[46Ch] Label_1: mov ax, ds:[46Ch] sub ax, bx jz Label_1
|
xor ax, ax mov ds, ax mov bx, ds:[46Ch] Label_1: mov ax, ds:[46Ch] sub ax, bx jz Label_1
|
Рис. 3. Вариант обхода эвристического анализатора
Литература
Оптимальный синтез и анализ эффективности комплексов средств защиты информации: Монография / В.Г. Кулаков и др. Воронеж: Воронеж. гос. техн. ун-т, 2006. 137 с.
Методы и средства автоматизированной оценки и анализа качества функционирования программных систем защиты информации: Монография / М.А. Багаев и др. Воронеж: Воронеж. гос. техн. ун-т, 2004. 181 с.
ГНИИ ПТЗИ ФСТЭК РОССИИ
УДК 621.9
В.С. Скоробогатов, Ю.М. Данилов
ФОРМИРОВАНИЕ МИКРОГЕОМЕТРИИ ОБРАБОТАННОЙ
ПОВЕРХНОСТИ КВАРЦА ПРИ АЛМАЗНОМ ШЛИФОВАНИИ
Приводятся результаты исследования влияния зернистости алмазного инструмента на шероховатость обработанной поверхности деталей из кварца
Кварцевое стекло используется в различных областях науки и техники. Прикладная значимость кварцевого стекла особенно важна в тех областях его применения, которые возникли сравнительно недавно и за последние годы и приобрели большое значение.
При освоении космического пространства с помощью кораблей-спутников и межпланетных станций возникла задача защиты блоков полупроводниковых элементов от микрометеоритов, а также от воздействия термоударов и высоких температур. Для этого необходим легкий механически прочный материал, отличающийся высокой светопрозрачностью в широком диапазоне спектра, жаростойкостью и нечувствительностью к резким температурным перепадам. Кроме того, этот материал должен отличаться высокой антирадиационной устойчивостью, так как в противном случае под действием электронной и ультрафиолетовой радиации Солнца защитный материал очень быстро изменит спектр светопропускания и режим работы полупроводниковых батарей резко изменится, что приведет к преждевременному выходу из строя радио- и электротехнических систем искусственного космического объекта.
Кварцевое стекло отвечает всем этим требованиям и поэтому является незаменимым конструктивным материалом при создании управляемых и беспилотных космических кораблей. Кварцевое стекло применяют в качестве защитного материала для покрытия солнечных батарей спутников и предохранения этих батарей от воздействия высоких температур, термоударов и микрометеоритов. Стекло, близкое по своему составу к кварцевому, применяют для панорамного остекления космических пилотируемых кораблей-спутников. В одной из конструкций ракетной системы, предназначенной для вывода на орбиту пилотируемого спутника, иллюминатор имеет трапецеидальную форму и остеклен тремя панелями, две из которых (наружная и средняя) изготовлены из кварцоидного стекла (96 %), а третья (внутренняя) из закаленного алюмосиликатного.
Кварцевое стекло — незаменимый конструктивный материал для остекления современных реактивных самолетов, развивающих сверхзвуковую скорость. Применявшиеся ранее закаленные многослойные стекла триплекс при достижении так называемого теплового барьера разрушаются.
В ракетных системах класса «воздух—воздух», на современных реактивных снарядах, применяют обтекатели из жаропрочного оптического материала, имеющего высокую прозрачность в инфракрасной области спектра. Расположенный за обтекателем приемник инфракрасных лучей преобразует тепловое излучение, идущее от цели (сопло двигателя), в электрические сигналы, управляющие рулями ракеты. Вследствие этого следящая оптическая система все время удерживает цель «в поле зрения» снаряда и обеспечивает надежное ее поражение. Инфракрасные головки самонаведения обеспечивают дальность действия снаряда по воздушным целям до 15—18 км. В качестве материалов, применяемых для носовых обтекателей в снарядах с инфракрасной системой наведения, применяют оптическое кварцевое стекло, которое способно выдерживать высокую температуру, развивающуюся на обшивке за счет аэродинамического ее нагрева в полете.
В связи с совершенствованием технологии производства кварцевого стекла в последние годы появилась возможность изготовления уникальных по своим размерам изделий. Так, например, изготовлено кварцевое зеркало для телескопа диаметром 1550 мм, толщиной 275 мм.
Оптически однородное кварцевое стекло широко применяют в конструкциях радарных установок в линиях задержки сигнала, в быстродействующих счетно-решающих машинах, в качестве электроизолирующего материала в электронной и высокочастотной технике, используемой при оснащении спутников и космических межпланетных станций.
В последние годы созданы кварцевые осветительные лампы мощностью 1 млрд свечей. При свете такой лампы можно на расстоянии 22 км от светильника читать газету с нормальным газетным шрифтом. Эта лампа имеет эллипсоидный баллон, изготовленный из кварцевого стекла. Такие лампы могут быть использованы для освещения архитектурных ансамблей, при исследовании космоса, а также в кино-фототехнике.
К микрогеометрии обработанной поверхности изделий, изготовленных из кварцевого стекла, предъявляются определенные требования. Поэтому было проведено исследование влияния зернистости алмазных кругов и числа проходов, для выхаживания обрабатываемой поверхности, на высоту неровностей, при алмазном шлифовании кварцевых деталей. Исследование выполнялось по методу центрального ортогонального планирования второго порядка.
Перед проведением испытаний круги подвергались правке в растворе азотной кислоты. На основании расчетов получена адекватная результатам опытов модель в кодированном виде:
ℓnRz = I,36I6 + 0,5I20 ·X1 – 0,3086 ·X2 - 0,2073 ·X12 + 0,II59 ·X22 +
+ 0,0I35·X1·X2.
Анализ доверительных интервалов коэффициентов регрессии показал, что коэффициент при эффекте взаимодействия незначим, а коэффициенты при квадратичных эффектах имеют разные знаки. Фигура, описываемая этим уравнением, представляет собой семейство гипербол с общим центром (гиперболический параболоид).
На основании уравнения, построена контурная диаграмма зависимости высоты неровности от зернистости алмазоносного слоя круга и числа проходов, при выхаживании обработанной поверхности детали.
Из диаграммы следует, что для каждого сочетания числа проходов и зернистости имеется свое значение микрогеометрии и при зернистости круга 63/50 можно достичь восьмого класса шероховатости обработанной поверхности детали при одном проходе, а девятого класса шероховатости при семи проходах. Для зернистости круга 100/80 можно достичь восьмого класса шероховатости при семи проходах, а седьмого класса при одном проходе. Для зернистости круга 160/125 можно достичь шестого класса шероховатости при одном проходе, а седьмого класса при двух проходах.
Контурная диаграмма зависимости высоты
неровности от зернистости алмазоносного слоя круга и числа проходов n, при выхаживании обработанной поверхности детали
Следовательно, при шлифовании без выхаживающих прохо-дов, алмазные круги зернистостью 63/50 рационально использовать для достижения восьмого класса шероховатости обработанной поверхности детали, алмазные круги зернистостью 100/80 рационально использовать для достижения седьмого класса шероховатости обработанной поверхности детали, алмазные круги зернистостью160/125 рационально использовать для достижения шестого класса шероховатости обработанной поверхности детали.
Воронежский государственный технический университет
УДК 624.156
Л.С. Очнева, Н.Э. Самойленко
Представлен материал по структуре алгоритмов автоматизации обучения при самостоятельном изучении материала, самоконтроле и контроле знаний на основе обработки текстовой информации
Алгоритм разработанной программы изучения учебного материала, показанный на рис. 1, предусматривает не только возможность обращения к необходимой текстовой информации, но и возможность проверки качества усвоения пользователем изученного материала. Учебный материал и информация, необходимая для осуществления функции контроля, хранятся в виде базы данных (БД). Информация для контроля знаний представляет собой совокупность набора вопросов по различным тематикам и словаря со смысловыми ядрами (семемами) правильных ответов.
Программа предоставляет возможность выбора любого вопроса изучаемой темы (блок 1). После того, как пользователем был произведен ввод номера вопроса, предусматривается выбор (блок 2) одного из режимов работы программы: просмотр теоретического материала по выбранному вопросу либо проведение контроля знаний. В первом случае программой осуществляется обращение к базе данных и вывод справочной информации на экран. Во втором случае программа предоставляет возможность ввода ответа A на вопрос, после чего процедурой Analyze осуществляется анализ введенной информации и на экран выдается оценка Mark.
Обращение к базе данных осуществляется программой в трех случаях: во время выбора вопроса, во время анализа введенного ответа и при запросе пользователя на просмотр учебного материала.
Блок 7 алгоритма программы производит запрос на распечатку протокола. В протокол входит информация о результатах тестирования. Блок 9 позволяет сделать выбор одного из следующих действий: продолжить процесс самообучения или закончить работу с программой. В случае продолжения работы управление передается блоку 1.
Рис. 1
В АКОС контроль знаний на основе обработки текстовой информации предусматривается в двух случаях:
при самостоятельном изучении учебного материала;
при итоговой проверке знаний.
Структурная схема программы контроля знаний приведена на рис. 1. Блоки, относящиеся к режиму самоконтроля, заключены в пунктирную рамку. В режиме тестирования получение справочных материалов не предусматривается, следовательно, блоки 2 и 3 подключены быть не могут.
После выбора вопроса из списка и ввода соответствующего ответа тестируемого контроль передается процедуре обработки ответа Analyze. Алгоритм данной процедуры показан на рис. 2.
Процедура производит следующие действия:
подсчет количества семем в словаре эталонного ответа– блок 1;
подсчет количества строк в каждой из семем – блок 4;
подсчет суммы оценок по всем ключевым словам (строкам) в пределах одной семемы – блок 8;
вызов процедуры String – блок 9;
подсчет суммы оценок по ключевым словам, которые были найдены в тексте ответа тестируемого – блок 10;
определение коэффициента полноты ответа по каждой из семем – блок 7;
определение максимальной оценки в пределах словаря эталонного ответа – блок 3.
Процедура String, алгоритм которой представлен на рис. 3, предназначена для разбиения выделенной в процедуре Analyze строки семемы на слова и словосочетания. Выделенные слова и словосочетания хранятся в виде массива строковых переменных W. Блоки 4, 6 и 8 определяют, к какому виду синонимов ключевого слова относится значение каждой из переменных массива W. Как было сказано выше, синоним может быть представлен в виде простого слова (ПС), в виде комплексного слова (КС), в виде простого (ПСС) или комплексного (КСС) словосочетания. После того, как был определен вид рассматриваемого синонима, управление передается соответствующей процедуре обработки ответа пользователя. Если синоним является простым словом, то запускается процедура PS, если же синоним имеет вид комплексного слова, то запускается процедура KS.