Система и способ обнаружения приложения удалённого администрирования

Иллюстрации

Показать все

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

Реферат

Область техники

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

Уровень техники

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

В настоящий момент существует огромное количество разновидностей вредоносных программ, относящихся к многообразным классам вредоносных программ. Программы из одного класса вредоносных программ крадут с устройств пользователей персональные и конфиденциальные данные (например, логины и пароли, банковские реквизиты, электронные документы). Программы из другого - формируют из устройств пользователей так называемые бот-сети (англ. botnet) для атак, таких как отказ в обслуживании (англ. DDOS) или для перебора паролей методом грубой силы (англ. bruteforce) на другие компьютеры или компьютерные сети. Программы из третьего - предлагают пользователям платный контент через навязчивую рекламу, платные подписки, отправку CMC на платные номера и т.д.

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

Сложность в обнаружении описанных выше программ заключается в том, что зачастую они:

• не выполняют вредоносных действий в явном виде (например, не уничтожают данные, а организуют DDOS атаки и т.д.);

• выполняют активные действия эпизодически и нерегулярно;

• выдают себя за легитимные приложения, используемые администраторами для управления клиентскими компьютерами.

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

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

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

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

Хотя описанные выше способы работы хорошо справляются с задачами обнаружения известных вредоносных (как по структуре, так и по поведению) приложений, они не справляются с задачами обнаружения:

• приложений с ранее неизвестным поведением для осуществления удаленного администрирования;

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

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

Настоящее изобретение позволяет решать задачу обнаружения удаленного администрирования.

Раскрытие изобретения

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

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

Данный результат достигается с помощью использования системы обнаружения приложения удаленного администрирования, которая содержит средство анализа активности, предназначенное для: перехвата событий, произошедших в компьютерной системе, где в качестве перехватываемых событий выступают по меньшей мере: вызов приложениями API функций операционной системы; передача данных между процессами приложений с использованием технологии межпроцессного взаимодействия (Inter-Process Communication); передача данных между программными и аппаратными составляющими компьютерной системы; передача приложениями данных по компьютерной сети; передача приложениям данных с периферийных устройств ввода; при этом событие компьютерной системы представляет совокупность действий, выполненных приложением в компьютерной системе; определения параметров каждого перехваченного события, при этом параметр события компьютерной системы представляет собой совокупность разных свойств события компьютерной системы; и передачи определенных параметров перехваченных событий средству выявления зависимостей; средство выявления зависимостей, предназначенное для: выявления среди перехваченных событий события передачи приложением данных по компьютерной сети на основании анализа полученных параметров перехваченных событий; выявления среди перехваченных событий события передачи приложению данных с периферийного устройства ввода на основании анализа полученных параметров перехваченных событий; определения среди перехваченных событий по меньшей мере одного события, зависящего от выявленных событий, при этом зависимость перехваченного события от выявленного события определяется по меньшей мере тем, что: время, прошедшее между регистрацией выделенного события и последующей регистрацией перехваченного события менее заранее установленного временного порога, параметры перехваченного события коррелируют с параметрами выявленного события, зарегистрированного ранее упомянутого перехваченного события; формирования для по меньшей мере одного определенного события правила, которое описывает зависимость параметров определенного события от параметров выявленных событий; и передачи сформированного правила совместно с информаций об определенном событии средству поиска; средство поиска, предназначенное для: определения степени схожести сформированного правила по меньшей мере с одним заранее созданным правилом на основании сравнения упомянутых правил, при этом заранее созданное правило описывает зависимость параметров событий, произошедших в компьютерной системе во время удаленного администрирования; в случае, когда степень схожести, определенная ранее, превышает установленное пороговое значение, определения по меньшей мере одного приложения, создавшего перехваченное средством анализа активности событие, определенные параметры которого были использованы средством выявления зависимостей при формировании полученного правила, определенная степень схожести которого с по меньшей мере одним заранее созданным правилом выше установленного порогового значения; и передачи информации, идентифицирующей по меньшей мере одно определенное приложение, средству анализа; средство анализа, предназначенное для: вынесения вердикта об обнаружении приложения удаленного администрирования.

Данный результат достигается с помощью использования способа обнаружения приложения удаленного администрирования, реализуемого средствами системы обнаружения приложения удаленного администрирования и состоящего из этапов, на которых: перехватывают события, произошедшие в компьютерной системе, где в качестве перехватываемых событий выступают, по меньшей мере: вызов приложениями API функций операционной системы; передача данных между процессами приложений с использованием технологии межпроцессного взаимодействия (Inter-Process Communication); передача данных между программными и аппаратными составляющими компьютерной системы; передача приложениями данных по компьютерной сети; передача приложениям данных с периферийных устройств ввода; при этом событие компьютерной системы представляет совокупность действий, выполненных приложением в компьютерной системе; определяют параметры каждого перехваченного на предыдущем этапе события, при этом параметр события компьютерной системы представляет собой совокупность разных свойств события компьютерной системы; выявляют среди перехваченных на предыдущем этапе событий события передачи приложением данных по компьютерной сети, и события передачи приложению данных с периферийного устройства ввода, на основании анализа определенных на предыдущем этапе параметров перехваченных на предыдущем этапе событий; определяют среди перехваченных на предыдущем этапе событий по меньшей мере одно событие, зависящее от выявленных на предыдущем этапе событий, при этом зависимость перехваченного события от выявленного события определяется по меньшей мере тем, что: время, прошедшее между регистрацией выделенного события и последующей регистрацией перехваченного события менее заранее установленного временного порога, параметры перехваченного события коррелируют с параметрами выявленного события, зарегистрированного ранее упомянутого перехваченного события; формируют по меньшей мере для одного определенного на предыдущем этапе события правило, которое описывает зависимость параметров определенного на предыдущем этапе события от параметров выявленных на предыдущем этапе событий; определяют степень схожести сформированного на предыдущем этапе правила по меньшей мере с одним заранее созданным правилом на основании сравнения упомянутых правил, при этом заранее созданное правило описывает зависимость параметров событий, произошедших в компьютерной системе во время удаленного администрирования; в случае, когда степень схожести, определенная на предыдущем этапе превышает установленное пороговое значение, определяют по меньшей мере одно приложение, создавшее перехваченное на предыдущем этапе событие, определенные на предыдущем этапе параметры упомянутого события были использованы на предыдущем этапе при формирования правила, определенная на предыдущем этапе степень схожести которого с по меньшей мере одним заранее созданным правилом выше установленного порогового значения; выносят вердикт об обнаружении приложения удаленного администрирования.

Краткое описание чертежей

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

Фиг. 2 представляет структурную схему способа блокировки удаленного администрирования.

Фиг. 3 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер.

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

Описание вариантов осуществления изобретения

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

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

Событие компьютерной системы - совокупность действий, выполненных приложением в компьютерной системе.

Параметр события компьютерной системы - совокупность разных свойств события компьютерной системы.

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

Структурная схема системы блокировки удаленного администрирования состоит из средства анализа активности 100, периферийного устройства ввода 101, компьютерной системы 102, компьютерной сети 103, средства выявления закономерностей 110, средства поиска 120, хранилища правил 121 и средства анализа 130.

Средство анализа активности 100 предназначено для:

• перехвата событий, произошедших в компьютерной системе 102, где в качестве перехватываемых событий выступают по меньшей мере:

вызов приложениями API функций операционной системы;

передача данных между процессами приложений с использованием технологии межпроцессного взаимодействия (Inter-Process Communication);

передача данных между программными и аппаратными составляющими компьютерной системы 102;

передача приложениями данных по компьютерной сети 103;

передача приложениям данных с периферийных устройств ввода 101;

• определения параметров каждого перехваченного события;

• и передачи определенных параметров перехваченных событий средству выявления зависимостей 110.

При этом перехват событий осуществляется с помощью драйвера, установленного в компьютерной системе 102.

Например, в качестве API функций операционной системы, вызываемых приложениями, могут выступать API функции работы:

• с файлами, такие как CreateFile, ReadFile, WriteFile и т.д.;

• с компьютерной сетью, такие как socket, connect, recv, send и т.д.;

•с процессами, такие как ReadProcessMemory, WriteProcessMemory и т.д.;

• с событиями Windows, такие как PostMessage, SendMessage и т.д.;

Например, в качестве аппаратной составляющей компьютерной системы 102 могут выступать:

• внешние носители информации, такие как оптические приводы, такие как привод CD-RW, привод DWD-RW или привод BD-RE;

• графический адаптер;

• игровой контроллер.

При этом в качестве периферийного устройства ввода 101 выступает по меньшей мере:

• клавиатура;

• компьютерная мышь;

• сенсорный экран;

• бесконтактный сенсорный контроллер.

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

• вводимый с клавиатуры текст;

• координаты выполненного с помощью компьютерной мыши или сенсорного экрана перемещения указателя;

• изображения, получаемые бесконтактным сенсорным контроллером.

При этом в качестве параметров события выступает по меньшей мере:

• тип события;

• идентификатор создавшего событие приложения или процесса (Process Identifier, PID) в операционной системе,

• идентификатор создавшего событие приложения или сервиса (Globally Unique Identifier, GUID) в операционной системе;

• событие, предшествующее упомянутому событию;

• для передаваемых данных:

уникальные идентификаторы источника передачи данных и источника приема данных, в качестве которых могут выступать:

сетевой адрес сервера, участвующего в передаче данных по компьютерной сети 103,

тип аппаратной составляющей компьютерной системы 102,

тип передаваемых данных;

объем передаваемых данных;

непосредственно передаваемые данные.

Например, тип события может представлять собой численное значение, где 0×00 соответствует неизвестному типу события, 0×01 - вызовы приложениями API функций операционной системы, 0×02 - передача данных между процессами приложений, 0×03 - передача приложениям данных с периферийных устройств ввода 101 и т.д.

Тип события может определяться на основании того, какой из установленных в компьютерной системе 102 драйверов перехватил событие. Например, если событие было перехвачено драйвером клавиатуры, то такое событие относится к передаче приложениям данных с периферийных устройств ввода 101, а соответственно тип перехваченного события равен 0×03, если событие было перехвачено драйвером сетевого устройства, предназначенным для передачи данных по компьютерной сети 103, то такое событие относится к передаче приложениями данных по компьютерной сети 103, а соответственно тип перехваченного события равен 0×04 и т.д. Таким образом, одни и те же события компьютерной системы 102 могут быть перехвачены разными драйверами и соответственно иметь сразу несколько типов событий. Например, событие передачи данных от приложения к приложению с помощью IPC может быть и событием вызова приложениями API функций операционной системы (ReadProcessMemory, WriteProcessMemory) и иметь тип события 0×01, и событием передачи данных между процессами приложений с использованием технологии межпроцессного взаимодействия и иметь тип события 0×02.

Например, некоторые события могут следовать одно за другим:

• передача приложению Microsoft Lync текста с клавиатуры 101 (событие #1) и последующая передача этого же текста по локальной компьютерной сети 103 (событие #2);

• вызов приложением RemoteAdmin функции recv (событие #1) и вызов приложением RemoteAdmin функции WriteProcessMemory (событие #2).

Например, в качестве типа передаваемых данных может выступать:

• медиа-данные, например видео-ролики или аудио-записи;

• изображения;

• компоненты интернет-страниц, например html код страницы, листы стилей ess и т.д.;

• базы данных;

• заархивированные данные,

• неструктурированные данные, например row-данные, полученные с периферийных устройств ввода 101.

Параметры перехваченного события, в том числе и тип передаваемых данных, могут определяться драйвером, перехватившим упомянутое событие. При этом драйвера, предназначенные для перехвата разных событий, для одних и тех же данных могут определить разные типа событий. Например, пользователь с помощью клавиатуры 101 вводит текст, представляющий собой JavaScript код, в поле текстового редактора Notepad++. Драйвер клавиатуры перехватывает событие передачи данных от клавиатуры 101 процессу приложения Notepad++ и интерпретирует передаваемые данные как неформатированный текст, т.е. как некоторый набор символов. В свою очередь драйвер вызовов API функций перехватывает данные, записываемые по некоторому виртуальному адресу процесса приложения Notepad++, и интерпретирует их как соответствующим образом сформатированный html код интернет-страницы, т.е. как набор тегов с заданными параметрами.

Средство выявления зависимостей 110 предназначено для:

• выявления среди перехваченных событий по меньшей мере одного события передачи приложением данных по компьютерной сети 103, и события, произошедшего передачи приложению данных с периферийного устройства ввода 101, на основании анализа полученных параметров перехваченных событий;

• определения среди перехваченных событий по меньшей мере одного события, зависящего от выявленных событий, при этом зависимость перехваченного события от выявленного события определяется по меньшей мере тем, что:

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

параметры перехваченного события коррелируют с параметрами выявленного события, зарегистрированного ранее упомянутого перехваченного события;

• формирования по меньшей мере для одного определенного события правила, которое описывает зависимость параметров определенного события от параметров выявленных событий;

• и передачи сформированного правила совместно с информаций об определенном событие средству поиска 120;

При этом выявление события среди перехваченных событий происходит на основании по меньшей мере:

• типа события;

• уникальный идентификатор приложения или процесса приложения, создавшего событие.

Например, были перехвачены 5 событий: (1) вызов приложением RemoteAdmin API функции recv, (2) вызов приложением Lync API функции send, (3) передача текстовых данных от приложения RemoteAdmin приложению Lync, (4) передача текстовых данных с клавиатуры 101 приложению Lync и (5) передача текстовых данных от приложения RemoteAdmin удаленному серверу по компьютерной сети 103. Среди перехваченных событий были выделены события, связанные с периферийными устройствами ввода 101 и с передачей данных по компьютерной сети 103, а именно (4) передача текстовых данных с клавиатуры 101 приложению Lync и (5) передача текстовых данных от приложения RemoteAdmin удаленному серверу по компьютерной сети 103. Используя выделенные события (4) и (5), определяют событие вызова приложением Lync API функции send (3), у которого параметры передачи данных по компьютерной сети 103, где передача осуществляется при вызове API функции send, такие как тип передаваемых данных (текст), сетевой адрес сервера, на который происходит передача данных, зависят от изменения параметров события (4), таких как тип данных (текст) и события (5), таких как адрес сервера, на который происходит передача данных по компьютерной сети 103.

При этом правило, описывающее зависимость параметров одного события от параметров другого события представляет по меньшей мере:

• прямоугольную матрицу преобразования , такую, что

Р2=Т×Р1,

где

- совокупность параметров события #1

- совокупность параметров события #2

• совокупность коэффициентов функции Р2=ƒ(a1, a2, …, an, P1),

где

Р1 - параметры события #1,

Р2 - параметры события #2.

При этом формирование правила, описывающего зависимость параметров одного события от параметров другого события, заключается в:

• выборе по меньшей мере одного из способов представления формируемого правила:

в матричном виде, где зависимость одного параметра от другого выражается через операции с матрицей,

в векторном виде, где зависимость одного параметра от другого выражается через операции с совокупностью коэффициентов;

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

Средство поиска 120 предназначено для:

• определения степени схожести полученного правила по меньшей мере с одним заранее созданным правилом из хранилища правил 121 на основании сравнения упомянутых правил, при этом заранее созданное правило описывает зависимость параметров событий, произошедших в компьютерной системе 102 во время удаленного администрирования;

• в случае, когда степень схожести, определенная ранее, превышает установленное пороговое значение, определения по меньшей мере одного приложения, создавшего перехваченное средством анализа активности 100 событие, определенные упомянутым средством параметры которого были использованы средством выявления зависимостей 110 при формирования полученного правила, определенная степень схожести которого с по меньшей мере одним заранее созданным правилом выше установленного порогового значения;

• и передачи информации, идентифицирующей по меньшей мере одно определенное приложение, средству анализа 130;

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

При этом заранее созданные правила были созданы так же, как и сформированное средством выявления зависимостей 110 правило, а именно:

а) в компьютерной системе, в которой было заранее установлено известное приложение удаленного администрирования, перехватываются разнообразные события;

б) для перехваченных событий определяются параметры событий;

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

г) среди перехваченных на этапе а) событий определяется по меньшей мере одно событие, зависящее от выявленных на предыдущем этапе событий;

д) создается по меньшей мере для одного, определенного на предыдущем этапе события, правила, которое описывало зависимость параметров определенного на предыдущем этапе события от параметров выявленных на этапе в) событий;

При этом в качестве сравнения правил выступает по меньшей мере сравнение установленного порогового значения со:

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

g=ƒ12,

где

ƒ1 - функция, математически выражающая правило #1,

ƒ2 - функция, математически выражающая правило #2;

поскольку правило - предопределенность связи между входными и выходными данными, где предопределенность (детерминированность) означает, что связь определена однозначно, т.е. не допускаются никакие двусмысленности или неопределенности, то правило может быть математически выражено через некоторую функцию связи ƒ между входными и выходными данными правила;

• значением, представляющим собой результат свертки последовательностей, представляющих собой совокупность элементов матриц, описывающих сравниваемые правила:

где

- совокупность элементов матрицы , математически выражающая правило #1,

- совокупность элементов матрицы , математически выражающая правило #2;

поскольку правило - предопределенность связи между входными и выходными данными, то правило может быть математически выражено через некоторую матрицу преобразования А входных данных в выходные данные правила;

При этом степень схожести представляет собой число, определяемое по меньшей мере как:

• скалярное произведение двух векторов, где каждый вектор является совокупностью коэффициентов сравниваемых правил;

• значение параметров определенной ранее свертки.

Например, в случае, когда правило #1 описывается 3 коэффициентами:

a 1=0,10, a2=0,3, а3=0,17,

а правило #2 описывается 3 коэффициентами:

b1=0,5, b2=0,9, b3=0,21,

характеризующими функцию изменения объема переданных по компьютерной сети 103 данных от объема полученных по компьютерной сети 103 данных:

y=p1×x22×x+р3,

где

у - объем переданных по компьютерной сети 103 данных,

x - объем полученных по компьютерной сети 103 данных,

{p} - совокупность коэффициентов.

степень схожести правил #1 и #2 вычисляется как:

w=а1×b1+a2×b2+a3×b3,

что дает в описанном выше случае w=0,0434. В случае, когда w=0,0 правила идентичны, в случае, когда w=1,0, правила полностью отличаются. В качестве критерия схожести правил используется установленное пороговое значение wпорог=0,1. В связи с этим сравниваемые выше правила #1 и #2 похожи.

При этом информация, идентифицирующая по меньшей мере одно определенное средством поиска 120 приложение, представляет собой по меньшей мере:

• уникальный идентификатор приложения или процесса, созданного приложением;

• путь к исполнимому файлу приложения;

• название приложения.

Средство анализа 130 предназначено для:

• анализа приложения, идентифицированного по полученной информации, где во время анализа определяется зависимость параметров события передачи данных упомянутым приложением по компьютерной сети 103, от параметров события передачи данных с периферийного устройства ввода 101;

• вынесения вердикта об обнаружении приложения удаленного администрирования на основании определения наличия зависимости при анализе;

• блокировки упомянутого приложения по результатам вынесенного вердикта об обнаружении приложения удаленного администрирования.

При этом анализ приложения включает по меньшей мере:

• эвристический анализ приложения, во время которого определяется:

какие данные передаются с периферийного устройства ввода 101;

какие действия после этого выполняют в компьютерной системе 102,

какие данные после этого передаются или принимаются по компьютерной сети 103,

зависимость между определенными данными и действиями;

• анализ структуры приложения и поиска кода, отвечающего за:

передачу данных по компьютерной сети 103,

выполнение действий в компьютерной системе 102,

передачу или прием данных по компьютерной сети 103.

Например, производя анализ структуры приложения, ищется исполнимый код, который отвечает за:

• получение или передачу данных по компьютерной сети 103,

• выполнение действий в компьютерной системе 102;

, при этом не связанный:

• с получением данных от периферийных устройств ввода 101;

и описываемый псевдокодом:

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

При этом блокировка приложения заключается по меньшей мере в:

• блокировке обмена данными по компьютерной сети с участием приложения;

• удалении приложения из оперативной памяти;

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

Например, если приложение RemoteAdmin признается приложением удаленного администрирования, то средство анализа 130 настраивает (т.е. выставляет соответствующие параметры работы) межсетевой экран (firewall) так, чтобы не передавать сетевые пакеты от RemoteAdmin серверам компьютерной сети 103 и от серверов приложению RemoteAdmin. Таким образом, приложение RemoteAdmin сможет функционировать в компьютерной системе 102, но при этом не сможет получать команды и передавать данные по компьютерной сети 103, а значит, станет безопасным.

Рассмотрим работу системы блокировки удаленного администрирования на примере компьютерной системы 102, на которой установлены два приложения удаленного администрирования - легитимное приложение RemoteAdmin и вредоносное приложение Backdoor.Win32.Agent. Приложение RemoteAdmin предназначено для удаленного администрирования компьютера пользователя, при этом и сам пользователь может принимать участие в управлении данным приложением, а также имеет возможность отслеживать его работу. Приложение Backdoor.Win32.Agent также предназначено для удаленного администрирования компьютера пользователя, но в отличие от RemoteAdmin делает это без разрешения пользователя, скрыто, не проявляя себя через демонстрацию элементов интерфейса и не принимая данных от периферических устройств ввода 101.

При работе приложения RemoteAdmin средство анализа активности 100 перехватывает события:

• передачи данных от компьютерной мыши 101 приложению RemoteAdmin, когда пользователь настраивает работу упомянутого приложения;

• вызов функций, связанных с установлением сетевого соединения с сервером, таких как socket, send, recv и т.д.;

• вызов функций, связанных с передачей сообщений приложениям, работающим в компьютерной системе 102, таких как SendMessage, SendDlgItemMessage и т.д.;

• получение данных от сервера по локальной компьютерной сети 103.

Для всех перехваченных событий выделяются параметры событий:

• координаты курсора и идентификаторы нажатых клавиш компьютерной мыши 101;

• сетевой адрес сервера, с которым устанавливается соединение;

• объем получаемых от сервера данных;

• типы сообщений, передаваемых другим приложениям, например:

идентификаторы приложений;

идентификаторы сообщений;

передаваемые в рамках сообщений приложениям данные.

После того как параметры событий были выделены, средство выявления закономерностей 110 выявляет из перехваченных ранее событий приложения RemoteAdmin, события передачи данных по компьютерной сети 103, и события передачи данных от периферийных устройств ввода 101. Таковыми оказываются события передачи и получения данных от сервера, с которым ранее было установлено сетевое соединение и событие передачи данных от компьютерной мыши 101 приложению RemoteAdmin, когда пользователь настраивает работу упомянутого приложения.

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