СИСТЕМА И СПОСОБ ВЫЯВЛЕНИЯ АНОМАЛИЙ ПРИ ПОДКЛЮЧЕНИИ УСТРОЙСТВ
SYSTEM AND METHOD FOR DETECTING ANOMALIES WHEN CONNECTING DEVICES

Область техники
Изобретение относится к области компьютерной безопасности, а именно к системам и способам предотвращения использования модифицированных злоумышленником устройств.
Уровень техники
В настоящее время растет количество устройств, которые можно соединять друг с другом для передачи данных. Такими устройствами являются, например: модем, персональный компьютер, телефон, видеокамера, внешний жесткий диск. Для передачи данных между устройствами используются проводные и беспроводные технологии передачи данных. Одним из самых распространенных способов проводного соединения устройств является соединение с использованием универсальной последовательной шины (англ. universal serial bus, USB).
Массовое распространение устройств с возможностью подключения при помощи USB выявило ряд недостатков этого типа подключения. Так, составное USB-устройство при подключении к персональному компьютеру может быть определено как несколько устройств, например: хранилище данных, CD-ROM, в который вставлен установочный диск, клавиатура и др. Упомянутая конфигурация вызывает интерес у злоумышленников. Злоумышленник может воспользоваться составной конфигурацией устройства и, используя настраиваемую микропрограмму, внедрить собственное устройство, которое может выполнить вредоносные действия (класс атак BadUSB, https://ru.wikipedia.org/wiki/BadUSB).
Таким образом, злоумышленник, используя флэш-носитель, может обманным путем заставить персональный компьютер пользователя определить новое устройство типа "клавиатура", с помощью которого, например, могут быть совершены загрузка и выполнение вредоносного кода.
В настоящее время существует ряд решений, предназначенных для анализа подключенных устройств. В патенте US 8281058 В1 анализируют информацию о подключенных устройствах USB. На основе дескрипторов определяют, было ли изменение подключенных к компьютеру устройств, было ли подключено новое устройство. На основании предопределенного количества дескрипторов устройств USB и на основании их совокупности строят нормальную и аномальную модель функционирования компьютерной системы.
В публикации US 7257737B2 описана система, в которой используют анализатор протоколов, в том числе и USB. Анализатор определяет события, связанные с портом, например ошибки. Отмечается, что система направлена на устранение случаев, когда анализатор не реагирует на некоторые ошибки при анализе протоколов.
Указанные решения осуществляют анализ подключаемых устройств и событий, но о выявлении аномалий при подключении устройств упоминаний нет. Настоящее изобретение позволяет эффективно решить задачу обнаружения аномалий при подключении устройств.
Раскрытие изобретения
Изобретение относится к системам и способам предотвращения использования модифицированных злоумышленником устройств. Технический результат настоящего изобретения заключается в выявлении аномалий при подключении устройств к компьютерной системе. Указанный технический результат достигается за счет использовании правил определения аномалий, которые основаны на анализе данных о подключаемых устройствах и компьютерной системе. Данное решение позволяет повысить эффективность процесса поиска и выявления модифицированных злоумышленником устройств за счет использования информации о выявленных аномалиях.
Система выявления аномалий при подключении устройств, которая содержит: компьютерную систему, к которой подключают по крайней мере одно устройство; средство сбора, предназначенное для сбора данных о подключенном устройстве и передачи собранных данных средству анализа; средство анализа, предназначенное для анализа собранных данных о подключенном устройстве и данных об устройствах, подключенных ранее к компьютерной системе, из базы данных устройств, передачи результата анализа средству поиска аномалий; базу данных устройств, предназначенную для хранения данных об устройствах, подключенных ранее к компьютерной системе; средство поиска аномалий, предназначенное для выявления по крайней мере одной аномалии при подключении устройств на основе результата анализа.
В частном случае реализации средство сбора собирает по крайней мере одно из: тип подключения, порт подключения, тип компьютерной системы, к которой было подключено устройство, тип устройства, частоту подключения устройства, период работы устройства, период работы компьютерной системы, показатель электрического напряжения, показатель электрического сопротивления, силы тока.
Способ выявления аномалий при подключении устройств, в котором: подключают по крайней мере одно устройство к компьютерной системе; собирают данные по крайней мере об одном подключенном устройстве; анализируют собранные данные о подключенном устройстве и данные об устройствах, подключенных ранее к компьютерной системе; выявляют по крайней мере одну аномалию при подключении по крайней мере одного устройства на основе результата анализа и правил определения аномалий.
В частном случае реализации способа собирают по крайней мере одно из: тип подключения, порт подключения, тип компьютерной системы, к которой было подключено устройство, тип устройства, частоту подключения устройства, период работы устройства, период работы компьютерной системы, показатель электрического напряжения, показатель электрического сопротивления, силы тока.
Краткое описание чертежей
Дополнительные цели, признаки и преимущества настоящего изобретения будут очевидными из прочтения последующего описания осуществления изобретения со ссылкой на прилагаемые чертежи, на которых:
Фиг. 1 отображает четыре варианта обычного режима работы компьютерной системы и по крайней мере одного подключенного устройства.
Фиг. 2 представляет структурную схему системы выявления аномалий при подключении устройств.
Фиг. 3 отображает способ выявления аномалий при подключении устройств.
Фиг. 4 представляет пример компьютерной системы общего назначения.
Хотя изобретение может иметь различные модификации и альтернативные формы, характерные признаки, показанные в качестве примера на чертежах, будут описаны подробно. Следует понимать, однако, что цель описания заключается не в ограничении изобретения конкретным его воплощением. Наоборот, целью описания является охват всех изменений, модификаций, входящих в рамки данного изобретения, как это определено приложенной формуле.
Описание вариантов осуществления изобретения
Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Сущность, приведенная в описании, является ничем иным, как конкретными деталями, необходимыми для помощи специалисту в области техники в исчерпывающем понимании изобретения, и настоящее изобретение определяется в объеме приложенной формулы.
Устройства могут быть подключены к компьютерной системе проводным или беспроводным способом. Примером проводного подключения является подключение по компьютерной шине. Подключение по шине в общем случае выполняют при помощи соединения проводов или контактов. Наиболее популярным проводным подключением является соединение при помощи универсальной последовательной шины (USB). Беспроводное подключение предусматривает соединение без использования проводов или контактов на основе беспроводных технологий. Наиболее популярным беспроводным подключением является Bluetooth. Примером беспроводного подключения может быть технология беспроводных персональных сетей (англ. wireless personal area network, WPAN).
Модифицированное злоумышленником устройство - устройство, которое при подключении определяется как стандартное устройство определенного типа, но имеет внедренный злоумышленником код, способствующий выполнению вредоносных действий при помощи сценариев, или имеет возможность выполнить автоматически набор команд, характерных для определенного типа стандартного устройства, которые вызовут загрузку и запуск вредоносного приложения.
Обычный режим работы компьютерной системы и по крайней мере одного подключенного устройства - повседневное обыденное состояние компьютерной системы и по крайней мере одного подключенного устройства, которое характеризуется порядком включения/выключения компьютерной системы и частотой подключения/отключения по крайней мере одного устройства на протяжении определенного периода времени, например, рабочего дня.
Администратор в ходе настройки компьютеров пользователей может часто подключать к компьютерной системе администратора неизвестные устройства, например: мышь, клавиатуру, монитор, жесткие диски и т.д. Компьютерная система администратора может находиться во включенном состоянии на протяжении нескольких суток, например в случае, если администрирование осуществляется круглосуточно. В то же время компьютерная система администратора может переходить в выключенное состояние несколько раз за час, например, в случае смены жестких дисков или видеокарты с целью проверки их работоспособности.
В компьютерной системе пользователя частота смены устройств мала, а факт подключения нового устройства имеет важное значение. Компьютерная система пользователя находится во включенном состоянии обычно в течение всего рабочего дня пользователя. Кроме того, компьютерная система пользователя в течение рабочего дня находится в выключенном состоянии редко и на непродолжительный период времени, например в ходе перезагрузки или спящем режиме.
Когда в компьютерной системе, например, используют по крайней мере один порт и подключают по крайней мере одно устройство, а период времени, в течение которого компьютерная система находится во включенном состоянии, определен, может быть четыре варианта обычного режима работы компьютерной системы и подключенного устройства.
На Фиг. 1 представлены четыре варианта обычного режима работы компьютерной системы и по крайней мере одного подключенного устройства. В первом варианте 101 период работы компьютерной системы 120 и период работы подключенного устройства 110 совпадают. При включении компьютерной системы происходит подключение устройства, соответственно, при выключении компьютерной системы происходит отключение устройства. В данном случае устройством может быть постоянно используемая клавиатура или мышь.
Во втором варианте 102 период работы компьютерной системы 120 частично совпадает с периодом работы подключенного устройства 110. Совпадение происходит только на короткий период времени. Совпадения могут быть не единичны. В данном варианте устройством может быть постоянно используемый флэш-носитель, который пользователь периодически подключает и отключает.
В третьем варианте 103 период работы компьютерной системы 120 частично совпадает с периодом работы подключенного устройства 110 на завершающем отрезке времени. Совпадение завершается совместным выключением компьютерной системы и подключенного устройства. В данном случае устройством может быть внешний жесткий диск, мобильный телефон или флэш-носитель, которые были подключены и оставались подключенными при выключении компьютерной системы.
В четвертом варианте 104 период работы компьютерной системы 120 частично совпадает с периодом работы подключенного устройства 110 на начальном этапе. Совпадение завершается отключением подключенного устройства задолго до выключения компьютерной системы. В данном случае устройством может быть внешний жесткий диск, мобильный телефон или флэш-носитель, которые были подключены в период времени, когда компьютерная система была выключена.
На основе выявленных вариантов обычного режима работы компьютерной системы и по крайней мере одного подключенного устройства можно определить аномалии при подключении устройств. Далее и по тексту под аномалией при подключении устройств понимают состояние компьютерной системы и по крайней мере одного подключенного устройства, которое отличается от состояния, описанного обычным режимом работы, что является признаком возможного наличия устройства, модифицированного злоумышленником. Для того чтобы выявлять аномалии при подключении устройств к компьютерной системе, используют систему выявления аномалий при подключении устройств.
На Фиг. 2. изображена структурная схема системы выявления аномалий при подключении устройств. Система выявления аномалий при подключении устройств состоит из компьютерной системы 210, к которой подключают по крайней мере одно устройство, средства сбора 220, средства анализа 230, средства поиска аномалий 240, базы данных устройств 250, базы данных правил 260.
Пользователь подключает устройство к компьютерной системе 210. Средство сбора 220 предназначено для сбора данных по крайней мере об одном подключенном устройстве.
Данные о подключенном устройстве могут содержать тип подключения, порт подключения, тип компьютерной системы, к которой было подключено устройство, тип устройства, частоту подключения устройства, период работы устройства, период работы компьютерной системы и т.д.
Собранные данные средство сбора 220 передает средству анализа 230. Средство анализа 230 предназначено для анализа собранных данных и данных об устройствах, подключенных ранее к компьютерной системе из базы данных устройств 250. В ходе анализа средство анализа 230 может определить, является ли подключенное устройство неизвестным, каким способом подключено устройство, зафиксировать время подключения и т.д. Также средство анализа 230 предназначено для передачи результатов анализа средству поиска аномалий 240.
База данных устройств 250 предназначена для хранения данных об устройствах, подключенных ранее к компьютерной системе. База данных может быть заполнена и обновлена при помощи компьютерной системы, которая при подключении сохраняет данные о подключенных устройствах, или антивирусного сервера.
При определении аномалии при подключении устройств помимо отмеченных в Фиг. 1 вариантов обычного режима работы компьютерной системы и по крайней мере одного подключенного устройства учитывают данные о подключенном устройстве.
Примером аномалии при подключении устройств может быть отключение подключенного устройства от компьютерной системы, которое работало по первому варианту обычного режима работы 101. Отключенное устройство (клавиатура, мышь, видеокарта, сетевая карта и т.д.) в этом случае играет важную роль при работе пользователя с компьютерной системой и требует незамедлительной замены. Устройство, которое будет подключено в тот же порт и иметь тот же тип, следует внимательно проанализировать, поскольку оно может быть модифицировано злоумышленником, а ситуация с отключением ранее используемого подключенного устройства - подстроенной.
Устройства, подключаемые к компьютерной системе, классифицируют по типам, например, на устройства ввода, устройства вывода, устройства хранения информации, и т.д. Типы устройств, в свою очередь, могут подразделяться на категории.
Другим примером аномалии при подключении устройств может быть состояние, когда к компьютерной системе осуществлено подключение устройства одинакового типа с уже имеющимся. Например, при первом варианте обычного режима работы 101, устройство 1 уже подключено к порту 1 компьютерной системы и имеет тип 1 (клавиатура). В компьютерной системе также используют порт 2. Подключение к порту 2 устройства 2 типа 1 (клавиатура) является аномалией при подключении устройств, поскольку возникает ситуация, когда обычный пользователь, уже используя клавиатуру, подключает новую клавиатуру, но не вместо старой, а в другой порт. Устройство 2 следует дополнительно проанализировать, поскольку оно может быть модифицировано злоумышленником.
Еще одним примером аномалии при подключении устройств может быть состояние, когда на порту 1 за короткий период времени, несопоставимый со скоростью смены устройства пользователем, устройство 1 сменяет устройство 2. Мгновенная смена устройства без отключения является сомнительной и нехарактерна для поведения человека, что может свидетельствовать о появлении модифицированного злоумышленником устройства.
База данных правил 260 предназначена для хранения правил определения аномалий. Правило определения аномалии - это совокупность условий, описывающая состояние компьютерной системы и по крайней мере одного подключенного устройства, которое может являться признаком наличия модифицированного злоумышленником устройства.
С учетом отмеченных раннее примеров аномалий при подключении устройств формируют следующее правило: если на компьютерной системе к порту 1 постоянно подключено устройство 1, то отключение устройства 1 и подключение устройства 2 к порту 1 является аномалией при подключении устройств и может быть признаком наличия модифицированного злоумышленником устройства. Другие правила могут быть сформированы на основе таких условий, как тип подключения, порт подключения, тип компьютерной системы, к которой было подключено устройство, тип устройства, частоту подключения устройства, период работы устройства, период работы компьютерной системы, показатель электрического напряжения, сопротивления, тока т.д.
Правило может быть сформировано средством поиска аномалий 240 после инцидента с обнаружением модифицированного злоумышленником устройства. Например, при обнаружении вредоносного приложения выяснилось, что оно было доставлено на компьютерную систему при помощи устройства, которое было определено как принтер. На основе данных о подключения этого устройства формируют правило определения аномалии и заносят в базу данных правил 260.
Правила определения аномалий могут быть изменены с учетом данных о типе компьютерной системы. Например, в зависимости от аппаратной части выделяют следующие типы компьютерных систем:
- стационарная;
- мобильная;
- серверная.
К серверной компьютерной системе может быть вовсе не подключена клавиатура по умолчанию. К мобильной компьютерной системе, например к ноутбуку с док-станцией, могут быть подключены две клавиатуры и две мышки.
В случае, если устройство соединено проводным способом, правила определения аномалий могут быть сформированы на основе показателя силы тока. Например, устройство типа «клавиатура» для работы потребляет 70 мА. В этом случае будет сформировано следующее правило: если подключенное устройство определено как клавиатура, но потребляет отличное от заявленного для этого типа устройства количество тока, такое состояние считать аномалией при подключении устройств и признаком наличия модифицированного злоумышленником устройства.
В дополнение к правилам определения аномалий могут быть применены нейронные сети и нечеткая логика.
В качестве базы данных устройств 250 и базы данных правил 260 могут использоваться различные виды баз данных, а именно: иерархические (IMS, TDMS, System 2000), сетевые (Cerebrum, Cronospro, DBVist), реляционные (DB2, Informix, Microsoft SQL Server), объектно-ориентированные (Jasmine, Versant, POET), объектно-реляционные (Oracle Database, PostgreSQL, FirstSQL/J, функциональные и т.д. Обновление баз данных также может быть осуществлено при помощи антивирусного сервера.
Фиг. 3 отображает способ выявления аномалий при подключении устройств. На этапе 310 пользователь подключает устройство к компьютерной системе. На этапе 311 средство сбора 220 выполняет сбор данных о подключенном устройстве и передает собранные данных средству анализа 230. На этапе 312 средство анализа 230 выполняет анализ собранных данных и данных об устройствах, подключенных ранее из базы данных устройств 250. Затем средство анализа 230 передает результаты анализа средству поиска аномалий 240. На этапе 313 средство поиска аномалий 240 на основе результатов анализа и правил определения аномалий из базы данных аномалий 260 определяет, выполнены ли все условия по крайней мере одного правила. При выполнении всех условий по крайней мере одного правила на этапе 315 средство поиска аномалий выявляет аномалию при подключении устройств и начинает дальнейшую проверку подключенного устройства для выявления модифицированного злоумышленником устройства. Если условия из по крайней мере одного правила не выполнены, то на этапе 314 система прекращает работу.
В ходе дальнейшей проверки для выявления модифицированного злоумышленником устройства может быть выполнена антивирусная проверка, например, на основе антивирусных или поведенческих сигнатур, проверка вводимых с подключенного устройства данных, проверка модификации прошивки устройства (при наличии возможности) и т.д.
Фиг. 4 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер 20, содержащий центральный процессор 21, системную память 22 и системную шину 23, которая содержит разные системные компоненты, в том числе память, связанную с центральным процессором 21. Системная шина 23 реализована, как любая известная из уровня техники шинная структура, содержащая, в свою очередь, память шины или контроллер памяти шины, периферийную шину и локальную шину, которая способна взаимодействовать с любой другой шинной архитектурой. Системная память содержит постоянное запоминающее устройство (ПЗУ) 24, память с произвольным доступом (ОЗУ) 25. Основная система ввода/вывода (BIOS) 26, содержит основные процедуры, которые обеспечивают передачу информации между элементами персонального компьютера 20, например, в момент загрузки операционной системы с использованием ПЗУ 24.
Персональный компьютер 20, в свою очередь, содержит жесткий диск 27 для чтения и записи данных, привод магнитных дисков 28 для чтения и записи на сменные магнитные диски 29 и оптический привод 30 для чтения и записи на сменные оптические диски 31, такие как CD-ROM, DVD-ROM и иные оптические носители информации. Жесткий диск 27, привод магнитных дисков 28, оптический привод 30 соединены с системной шиной 23 через интерфейс жесткого диска 32, интерфейс магнитных дисков 33 и интерфейс оптического привода 34 соответственно. Приводы и соответствующие компьютерные носители информации представляют собой энергонезависимые средства хранения компьютерных инструкций, структур данных, программных модулей и прочих данных персонального компьютера 20.
Настоящее описание раскрывает реализацию системы, которая использует жесткий диск 27, сменный магнитный диск 29 и сменный оптический диск 31, но следует понимать, что возможно применение иных типов компьютерных носителей информации 56, которые способны хранить данные в доступной для чтения компьютером форме (твердотельные накопители, флеш карты памяти, цифровые диски, память с произвольным доступом (ОЗУ) и т.п.), которые подключены к системной шине 23 через контроллер 55.
Компьютер 20 имеет файловую систему 36, где хранится записанная операционная система 35, а также дополнительные программные приложения 37, другие программные модули 38 и данные программ 39. Пользователь имеет возможность вводить команды и информацию в персональный компьютер 20 посредством устройств ввода (клавиатуры 40, манипулятора «мышь» 42). Могут использоваться другие устройства ввода (не отображены): микрофон, джойстик, игровая консоль, сканнер и т.п. Подобные устройства ввода по своему обычаю подключают к компьютерной системе 20 через последовательный порт 46, который, в свою очередь, подсоединен к системной шине, но могут быть подключены иным способом, например при помощи параллельного порта, игрового порта или универсальной последовательной шины (USB). Монитор 47 или иной тип устройства отображения также подсоединен к системной шине 23 через интерфейс, такой как видеоадаптер 48. В дополнение к монитору 47, персональный компьютер может быть оснащен другими периферийными устройствами вывода (не отображены), например колонками, принтером и т.п.
Персональный компьютер 20 способен работать в сетевом окружении, при этом используется сетевое соединение с другим или несколькими удаленными компьютерами 49. Удаленный компьютер (или компьютеры) 49 являются такими же персональными компьютерами или серверами, которые имеют большинство или все упомянутые элементы, отмеченные ранее при описании существа персонального компьютера 20, представленного на Фиг. 4. В вычислительной сети могут присутствовать также и другие устройства, например маршрутизаторы, сетевые станции, пиринговые устройства или иные сетевые узлы.
Сетевые соединения могут образовывать локальную вычислительную сеть (LAN) 50 и глобальную вычислительную сеть (WAN). Такие сети применяются в корпоративных компьютерных сетях, внутренних сетях компаний и, как правило, имеют доступ к сети Интернет. В LAN- или WAN-сетях персональный компьютер 20 подключен к локальной сети 50 через сетевой адаптер или сетевой интерфейс 51. При использовании сетей персональный компьютер 20 может использовать модем 54 или иные средства обеспечения связи с глобальной вычислительной сетью, такой как Интернет. Модем 54, который является внутренним или внешним устройством, подключен к системной шине 23 посредством последовательного порта 46. Следует уточнить, что сетевые соединения являются лишь примерными и не обязаны отображать точную конфигурацию сети, т.е. в действительности существуют иные способы установления соединения техническими средствами связи одного компьютера с другим.