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

 

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

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

Известно устройство, предотвращающий распространение компонентов вредоносного программного обеспечения, расположенное между персональным компьютером и накопителем информации, содержащий минимум два интерфейса, один из которых подключают к системной шине компьютера, а другой подключают к носителю информации, являющийся при этом прозрачным фильтром, обеспечивающим передачу данных между интерфейсами, фильтрация упомянутых данных осуществляется центральным процессором антивируса, который использует оперативное запоминающее устройство, при этом основная работа антивируса заключается в фильтрации поступающих данных с носителя информации, и если в них обнаружен компонент вредоносного программного обеспечения, то данные блокируют, иначе данные передают на интерфейс, который подключен к системной шине [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 памяти адресов размещения блоков данных, второй вход - соединен со вторым выходом процессора 1 шиной 7 подачи адресов выборки команд, а выход - соединен с первым выходом процессора 1 шиной 8 сигнализации о совпадении адресов.

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

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

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

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

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

При контроле хода выполнения программ во время загрузки блоков данных из сети или внешних носителей в устройство 3 оперативной памяти блоке 4 памяти запоминаются адреса размещения этих блоков данных.

Кроме того, для каждого такого блока данных в блоке 9 вычисления сигнатур вычисляется соответствующая ему сигнатура (контрольная сумма).

Адреса размещения блоков данных с внешних носителей и сети, и соответствующие этим блокам вычисленные сигнатуры сохраняются в блоке 4 памяти адресов размещения блоков данных и блока 9 вычисления сигнатур блоков данных, соответственно.

При выполнении программы адреса выборки команд процессором 1 сравниваются в блоке 6 с запомненными в блоке 4 адресами размещения блоков данных из сети или внешних носителей.

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

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

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

Система может быть реализована и виртуально путем эмуляции процессором 1.

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

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

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

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

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



 

Наверх