Система для контроля хода выполнения программ

 

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

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

Известно устройство, предотвращающий распространение компонентов вредоносного программного обеспечения, расположенное между персональным компьютером и накопителем информации, содержащий минимум два интерфейса, один из которых подключают к системной шине компьютера, а другой подключают к носителю информации, являющийся при этом прозрачным фильтром, обеспечивающим передачу данных между интерфейсами, фильтрация упомянутых данных осуществляется центральным процессором антивируса, который использует оперативное запоминающее устройство, при этом основная работа антивируса заключается в фильтрации поступающих данных с носителя информации, и если в них обнаружен компонент вредоносного программного обеспечения, то данные блокируют, иначе данные передают на интерфейс, который подключен к системной шине [RU 92217, U1, G06N 99/00, 10.03.2010].

Недостатком устройства является относительно узкие функциональные возможности, поскольку способ обнаружения вирусов, реализуемый устройством, предполагает обнаружение только известных вирусов, сигнатуры которых имеются в памяти устройства. Кроме того нет возможности осуществлять фильтрацию выходного потока в упакованных форматах (типа архивов).

Наиболее близким по технической сущности к предложенному, является устройство, расположенное между персональным компьютером и накопителем информации, содержащее минимум два интерфейса, один из которых подключают к системной шине компьютера, а другой подключают к носителю информации, являющимся, при этом, прозрачным фильтром, обеспечивающим передачу данных между интерфейсами, фильтрация упомянутых данных осуществляется центральным процессором антивируса, который использует оперативное запоминающее устройство, причем, основная работа антивируса заключается в фильтрации поступающих данных, и если в них не обнаружен компонент вредоносного программного обеспечения, то данные записывают на носитель информации, если же в данных обнаружен компонент вредоносного программного обеспечения, то данные не записывают [RU 85249, U1, G06N 1/00, 27.07.2009].

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

Требуемый технический результат заключается в расширении функциональных возможностей.

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

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

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

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

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

Система для контроля хода выполнения программ содержит процессор 1, первый вход-выход которого соединен с входом-выходом системной шины 2 компьютера, и оперативное запоминающее устройство 3, вход-выход которого соединен со вторым входом-выходом процессора 1.

Кроме того, система для контроля хода выполнения программ содержит блок 4 памяти адресов точек возврата, первый вход которого соединен с первым выходом процессора 1 шиной 5 загрузки адресов точек возврата, а второй вход - соединен со вторым выходом процессора 1 шиной 6 подачи команд входа и выхода из процедур, и блок 7 сравнения адресов, первый вход которого соединен с выходом блока 4 памяти адресов точек возврата шиной 8 чтения адресов точек возврата, второй вход соединен с шиной процессора 1 адресов записи в оперативную память, а выход - соединен с входом процессора 1 для сигнализации о нарушении целостности точки возврата.

Работает система для контроля хода выполнения программ следующим образом.

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

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

В предложенной системе реализуется следующая технология.

Известно, что вход в процедуры осуществляется машинной командой Call, при этом, точка возврата (адрес следующей команды) сохраняется в стеке вызовов процессора компьютера.

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

Таким образом, характерным признаком вирусной атаки является запись в ячейку памяти, хранящую точку возврата, информации до выполнения команды Ret.

В предложенной системе процессором 1 через шину 5 загрузки адресов точек возврата по команде Call, поступающей по шине 6 подачи команд входа и выхода из процедур, в блок 4 памяти адресов точек возврата заносится адрес точки возврата.

При выполнении текущей процедуры адреса, формируемые в оперативном запоминающем устройстве 3, проступают в блок 7 сравнения адресов из процессора 1 и сравниваются с адресами точек возврата, занесенными в блок 4 памяти адресов точек возврата и при совпадении адресов из блока 7 сравнения адресов в процессор 1 подается команда запрета записи, а по команде Ret, поступающей по шине 6 подачи команд входа и выхода из процедур в блок 4 памяти адресов точек возврата, адрес текущей точки возврата исключается из блока 4 памяти адресов точек возврата.

Система может быть реализована аппаратно в виде специализированного вычислительного устройства в составе блока 7 сравнения адресов и блока 4 памяти адресов точек возврата, которые размещаются в процессоре 1, реализующего соответствующие связи между блоком 7 сравнения адресов, блоком 4 памяти адресов точек возврата, оперативного запоминающего устройства 3 и системной шиной 2 компьютера.

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

1. Система для контроля хода выполнения программ, содержащая процессор, первый вход-выход которого соединен с входом-выходом системной шины компьютера, и оперативное запоминающее устройство, вход-выход которого соединен со вторым входом-выходом процессора, отличающаяся тем, что введены блок памяти адресов точек возврата, первый вход которого соединен с первым выходом процессора шиной загрузки адресов точек возврата, а второй вход соединен со вторым выходом процессора шиной подачи команд входа и выхода из процедур, и блок сравнения адресов, первый вход которого соединен с выходом блока памяти адресов точек возврата шиной чтения адресов точек возврата, второй вход соединен с шиной процессора адресов записи в оперативную память, а выход соединен с входом процессора для сигнализации о нарушении целостности точки возврата.

2. Система по п.1, отличающаяся тем, что процессором через шину загрузки адресов точек возврата по команде Call, поступающей по шине подачи команд входа и выхода из процедур, в блок памяти адресов точек возврата заносится адрес точки возврата, при выполнении текущей процедуры адреса, формируемые для записи в оперативное запоминающее устройство, проступают в блок сравнения адресов из процессора по шине подачи текущих адресов записи информации и сравниваются с адресами точек возврата, занесенными в блок памяти адресов точек возврата, и при совпадении адресов из блока сравнения адресов по шине подачи сигнала запрета записи в точку возврата в процессор подается сигнал прерывания текущей операции записи и перехода на выполнение процедуры антивирусной защиты, а по команде Ret, поступающей по шине подачи команд входа и выхода из процедур в блок памяти адресов точек возврата, адрес текущей точки возврата исключатся из блока памяти адресов точек возврата.

3. Система по п.1, отличающаяся тем, что система реализована аппаратно в виде специализированного вычислительного устройства в составе блока сравнения адресов и блока памяти адресов точек возврата, которые размещаются в процессоре, реализующем соответствующие связи между блоком сравнения адресов, блоком памяти адресов точек возврата, оперативным запоминающим устройством и системной шиной компьютера.

4. Система по п.1, отличающаяся тем, что система реализована виртуально путем эмуляции процессором.



 

Наверх