СИСТЕМА ДЛЯ КОНТРОЛЯ ХОДА ВЫПОЛНЕНИЯ ПРОГРАММ

Полезная модель относится к области антивирусной защиты в системах передачи и обработки данных и может быть использована для выявления вирусов в процессе контроля хода выполнения программ.
Известно устройство, предотвращающий распространение компонентов вредоносного программного обеспечения, расположенное между персональным компьютером и накопителем информации, содержащий минимум два интерфейса, один из которых подключают к системной шине компьютера, а другой подключают к носителю информации, являющийся при этом прозрачным фильтром, обеспечивающим передачу данных между интерфейсами, фильтрация упомянутых данных осуществляется центральным процессором антивируса, который использует оперативное запоминающее устройство, при этом основная работа антивируса заключается в фильтрации поступающих данных с носителя информации, и если в них обнаружен компонент вредоносного программного обеспечения, то данные блокируют, иначе данные передают на интерфейс, который подключен к системной шине [RU 92217, U1, G06N 99/00, 10.03.2010].
Недостатком устройства является относительно узкие функциональные возможности, поскольку способ обнаружения вирусов, реализуемый устройством, предполагает обнаружение только известных вирусов, сигнатуры которых имеются в памяти устройства. Кроме того нет возможности осуществлять фильтрацию выходного потока в упакованных форматах (типа архивов).
Наиболее близким по технической сущности к предложенному, является устройство, расположенное между персональным компьютером и накопителем информации, содержащее минимум два интерфейса, один из которых подключают к системной шине компьютера, а другой подключают к носителю информации, являющимся, при этом, прозрачным фильтром, обеспечивающим передачу данных между интерфейсами, фильтрация упомянутых данных осуществляется центральным процессором антивируса, который использует оперативное запоминающее устройство, причем, основная работа антивируса заключается в фильтрации поступающих данных, и если в них не обнаружен компонент вредоносного программного обеспечения, то данные записывают на носитель информации, если же в данных обнаружен компонент вредоносного программного обеспечения, то данные не записывают [RU 85249, U1, G06N 1/00, 27.07.2009].
Недостатком наиболее близкого технического решения является относительно узкие функциональные возможности, поскольку способ обнаружения вирусов реализуемый устройством, предполагает обнаружение только известных вирусов, сигнатуры которых имеются в памяти устройства. Кроме того нет возможности осуществлять фильтрацию входного потока в упакованных форматах (типа архивов).
Требуемый технический результат заключается в расширении функциональных возможностей.
Требуемый технический результат достигается тем, что в устройство, содержащее процессор, первый вход-выход которого соединен с входом-выходом системной шины компьютера, и оперативное запоминающее устройство, вход-выход которого соединен со вторым входом-выходом процессора, введены блок памяти диапазонов адресов, первый вход-выход которого соединен с третьим входом-выходом процессора шиной загрузки диапазонов адресов шиной загрузки диапазонов адресов, и блок сравнения адресов, первый вход-выход которого соединен со вторым входом выходом блока памяти диапазонов адресов шиной чтения диапазонов адресов и уровня привилегий, второй вход-выход - соединен четвертым входом-выходом процессора шиной уровня привилегий, третий вход-выход - соединен с пятым входом-выходом процессора шиной адресов обращений к оперативному запоминающему устройству, а выход - соединен со входом процессора шиной передачи сигнала ошибки доступа.
Кроме того, требуемый технический результат достигается тем, что, в предложенной системе процессором через шину загрузки диапазонов адресов осуществляется размещение в блоке памяти диапазонов адресов контролируемых адресов оперативного запоминающего устройства для текущей программы, причем, на каждый диапазон контролируемых адресов оперативного запоминающего устройства для текущей программы назначаются разрешенные состояния в виде разрешенного уровня привилегий текущей программы, типа обращения, режима обращения и режима работы процессора, а в процессе выполнения программы, когда осуществляется запрос к оперативному запоминающему устройству, текущий адрес запроса сравнивается со всеми диапазонами контролируемых адресов оперативного запоминающего устройства, занесенных в блок памяти диапазонов адресов, при попадании текущего адреса запроса в какой-либо из диапазонов контролируемых адресов оперативного запоминающего устройства для текущей программы блок сравнения адресов считывает из блока памяти диапазонов адресов разрешенные состояния для этого диапазона адресов, которые сравниваются в блоке сравнения адресов с текущими разрешенными состояниями процессора, и если сравниваемые разрешенные состояния совпадают, то блок сравнения адресов не инициирует передачу сигнала ошибки доступа в процессор по шине передачи сигнала ошибки доступа и процесс выполнения программы не прерывается, в противном случае - процесс прерывается.
Кроме того, требуемый технический результат достигается тем, что, система может быть реализована аппаратно в виде специализированного вычислительного устройства в составе блока сравнения адресов и блока памяти диапазонов адресов, которые размещаются в процессоре, реализующего соответствующие связи между блоком сравнения адресов, блоком памяти диапазонов адресов, оперативным запоминающим устройством и системной шиной компьютера.
Кроме того, требуемый технический результат достигается тем, что, система может быть реализована виртуально путем эмуляции процессором.
На чертеже представлена функциональная схема системы для контроля хода выполнения программ.
Система для контроля хода выполнения программ содержит процессор 1, первый вход-выход которого соединен с входом-выходом системной шины 2 компьютера, а также оперативное запоминающее устройство 3, вход-выход которого соединен со вторым входом-выходом процессора 1.
Кроме того, система для контроля хода выполнения программ содержит блок 4 памяти диапазонов адресов, первый вход-выход которого соединен с третьим входом-выходом процессора 1 шиной 5 загрузки диапазонов адресов, и блок 6 сравнения адресов, первый вход-выход которого соединен со вторым входом выходом блока 4 памяти диапазонов адресов шиной 7 чтения диапазона адресов и уровня привилегий, второй вход-выход - соединен четвертым входом-выходом процессора 1 шиной 8 уровня привилегий, третий вход-выход - соединен с пятым входом-выходом процессора 1 шиной 9 адресов обращений к оперативному запоминающему устройству, а выход - соединен со входом процессора 1 шиной 10 передачи сигнала ошибки доступа.
Работает система для контроля хода выполнения программ следующим образом.
Расширение функциональных возможностей обеспечивается путем использования следующей технологии.
Программные компоненты большинства антивирусных программ работают на том же самом уровне, что и сами вирусы, не имея перед ними приоритета. Следовательно, для повышения эффективности антивирусной защиты аппаратура контроля должна инициировать программные модули на уровне, недоступном для любых пользовательских программ, включая даже для тех, которые работают на уровне ядра операционной системы.
Одно из направлений технической реализации такой идеи основано на контроле соглашений о разделении областей ядра и прикладных программ на несколько непрерывных адресных пространств. В этом случае возникает возможность выполнять аппаратный контроль привязки уровня привилегий выполняемого кода и режимов работы процессора к конкретным областям линейных адресов и, тем самым, выявлять атаки вирусов, направленные на повышение своего уровня привилегий.
В предложенной системе процессор 1 через шину 5 загрузки диапазонов адресов размещает в блоке 4 памяти диапазоны контролируемых адресов оперативного запоминающего устройства 3, причем, на каждый диапазон адресов назначаются признаки разрешенных состояний (разрешенных действий):
- разрешенный уровень привилегий текущей программы;
- тип обращения (чтение/запись);
- режим обращения (выборка команд, работа со стеком, системные таблицы, работа с данными и т.п.);
- режим работы процессора (реальный режим, защищенный режим, режим системного менеджмента, режим гипервизора и т.п.).
Когда процессор 1 в процессе выполнения программы осуществляет запрос к оперативной памяти компьютера путем формирования текущего адреса оперативного запоминающего устройства 3, то происходят следующие действия:
- текущий адрес сравнивается со всеми диапазонами контролируемых адресов, занесенных в блок 4 памяти диапазонов адресов;
- при попадании текущего адреса в какой-либо из диапазонов контролируемых адресов, занесенных в блок 4 памяти диапазонов адресов, блок 6 сравнения адресов считывает из блока 4 памяти диапазонов адресов разрешенные состояния для этого диапазона адресов;
- разрешенные состояния для считанного диапазона адресов в блоке 6 сравниваются с текущим состоянием процессора (уровень привилегий, тип обращения, режим обращения, режим работы и т.п.);
- если разрешенные состояния соответствуют текущему состоянию процессора, то блок 6 сравнения адресов не инициирует сигнала ошибки и процесс выполнения программы (вычислений) не прерывается;
- если обнаружено несоответствие, то блок 6 сравнения адресов выдает сигнал прерывания работы процессора 1;
- этот сигнал останавливает процесс выполнения программы, в которой обнаружено нарушение и, например, запускает программы антивирусной защиты (через систему прерываний);
- для исключения возможности модификации вирусом программы антивирусной защиты, она должна находиться на уровне недоступном для нарушения ее работоспособности (режим системного менеджмента, режим гипервизора и т.п.).
Система может быть реализована аппаратно в виде специализированного вычислительного устройства, когда блок 6 сравнения адресов и блок 4 памяти диапазонов адресов размещаются в процессоре 1, реализующим соответствующие связи между блоком 6 сравнения адресов, блоком 4 памяти диапазонов адресов, оперативного запоминающего устройства 3 и системной шиной 2 компьютера.
Таким образом, благодаря усовершенствованию известного устройства, достигается требуемый технический результат, заключающийся в расширении функциональных возможностей, поскольку при сохранении возможности фильтрации вирусов в поступающих данных, в системе дополнительно реализуется технология контроля разрешенных действий и состояний для диапазонов адресов, что позволяет контролировать процесс выполнения программы за счет того, что в блоке 4 памяти диапазонов адресов заносятся и хранятся признаки разрешенных состояний (действий), которые используются для прозрачная фильтрации, которая осуществляется над последовательностью операций обработки данных процессором 1, а не только над поступающими данными.