用于检测修改或损坏的外部设备的系统和方法与流程

文档序号:14718988发布日期:2018-06-17 00:15阅读:194来源:国知局

本公开通常涉及计算机安全领域,并且更具体地涉及用于检测修改或损坏的外部设备的系统和方法。



背景技术:

目前,可以彼此连接以便传输数据的设备的数量不断显著增长。这些设备包括例如调制解调器、个人计算机、电话和智能手机、摄像机、外部硬盘以及类似设备。当在设备之间传输数据时,使用有线和无线数据传输技术。有线连接设备的一种最普遍的方法是设备之间使用通用串行总线(USB)的连接。

然而,因为具有USB连接的设备的数量不断增长,伴随这些类型的连接出现许多不足和问题。因此,当连接到个人计算机时,复合USB设备可以定义为若干设备中的一种,诸如数据存储、用以插入安装盘的CD-ROM、键盘以及类似设备。这一配置是黑客感兴趣的。具体地,黑客可以利用装置的复合配置并使用定制的微程序来整合其自己的设备,这可以进行恶意操作(例如,BadUSB攻击类,参见例如https://ru.wikipedia.org/wiki/BadUSB)。

因此,黑客可以使用闪存来诱骗用户的个人计算机来定义新的键盘类型设备,例如,其可用来执行恶意代码的加载和运行。

目前,有许多方案存在,其目的是分析所连接的设备。然而,这些方案执行对所连接设备和事件的分析,但没有提及识别修改或损坏的外部设备在这些设备连接至计算机系统时导致的异常。因此,所公开的系统和方法使得能够有效地解决当外部设备连接至计算机系统时检测异常的问题。



技术实现要素:

公开了用于检测连接至计算机系统的修改或损坏的外部设备的系统和方法。根据一个方面,公开了用于分析连接至计算机系统的设备的方法。根据示例性方面,所述方法包括在至少一个数据库中存储与之前连接至计算机的设备有关的数据和指定指示设备何时应当被进一步分析为可能损坏的至少一种条件的规则;从所述设备接收数据,所述数据与所述设备或所述设备和计算机系统之间的连接有关;由硬件处理器通过比较所接收的数据和所存储与之前连接至计算机的设备有关的数据执行对所接收的数据的分析;以及通过所述硬件处理器将对接收到的数据的分析结果应用于所述规则来确定是否满足指示所述设备可能被修改或损坏并应当进一步分析恶意软件的存在的所述至少一个条件。

根据另一个方面,来自所述设备的所述数据包含所述设备和所述计算机系统之间连接类型、所述计算机系统的连接端口、所述计算机系统的类型、所述设备的类型、所述计算机系统和之前连接至所述计算机系统所述设备之间的连接频率、所述设备的运行期和所述计算机系统的运行期中的至少一个。

根据另一个方面,所述方法包括如果满足所述至少一个条件则执行对连接至所述计算机系统的所述设备的杀毒检查。

根据另一个方面,所述至少一个条件基于所述设备和所述计算机系统之间连接类型、所述计算机系统的连接端口、所述计算机系统的类型、所述设备的类型、所述计算机系统和之前连接至所述计算机系统所述设备之间的连接频率、所述设备的运行期、所述计算机系统的运行期,以及所述设备的电压、电流或电阻参数中的至少一个。

根据另一个方面,所述方法包括执行对所接收的数据的分析,包括:确定所述设备是否未知、所述设备如何连接至所述计算机系统以及所述设备和所述计算机系统之间连接的时间中的至少一个。

根据另一个方面,所述方法包括如果确定所述设备已被损坏则产生另外的规则并在至少一个数据库中存储所述另外的规则,其中所述另外的规则基于对所接收的损坏设备的数据的分析。

根据另一个方面,所述方法包括如果满足所述至少一个条件则识别所述设备和所述计算机系统之间连接的预期运行中的至少一个异常并且确定所述设备已被黑客损坏。

根据一个方面,公开了分析连接至计算机系统的设备的系统。根据示例性方面,所述系统包括配置为存储与之前连接至计算机系统的设备有关的数据和指定指示设备何时应当被进一步分析为可能损坏的至少一种条件的规则的至少一个数据库;和硬件处理器,配置为:从所述设备接收数据,所述数据与所述设备或所述设备和计算机系统之间的连接有关;通过将所接收的数据与之前连接至计算机的设备有关的数据进行比较来执行对所接收的数据的分析;和将对接收到的数据的分析结果应用于所述规则来确定是否满足指示所述设备可能被损坏并应当进一步分析的所述至少一个条件。

上文对实例方面的简化综述起到提供对本公开基本了解的作用。这一综述不是所有预期方面的广泛概述,并且目的既不在于确定所有方面的重要或关键要素也不在于划定本公开的任何或所有方面的范围。其唯一的目的在于以简化的形式将一个或多个方面呈现为下文本公开的更详细的说明的前序。为了实现上述,本发明的一个或多个方面包括权利要求中描述和示例性指出的特征。

附图简述

并入并构成本说明书一部分的所附附图说明本公开的一个或多个实例方面,并连同详细说明一起,起到说明其原则和实施的作用。

图1说明计算机系统和至少一个连接设备的运作模式的四个变形。

图2说明根据一个示例性方面当设备连接至计算机系统时识别异常的系统的框图。

图3说明根据一个示例性方面当设备连接至计算机系统时识别异常的方法。

图4呈现通用计算机系统的实例,根据实例方面所公开的系统和方法可以在其上实施。

具体实施方式

本文在检测连接至计算机系统的修改或损坏的外部设备的系统、方法和计算机程序产品的背景下描述实例方面。本领域一般技术人员应意识到下文描述仅为说明性的并且不预期以任何方式限定。本领域技术人员很容易理解具有本发明益处的其他方面自身。现在将详细参照如所附附图中说明的实例方面的实施。同样的附图标记将以可能贯穿附图和下文描述的程度用来指代相同或相似部件。

装置可以包括可以连接至计算机系统的任何电子设备,包括但不限于:数据输入设备,诸如键盘、鼠标以及类似设备;数据输出设备,诸如显示器、投影仪、音箱、耳机以及类似设备;数据存储设备,诸如外部硬盘驱动器、外部CDROMS,USB记忆棒以及类似设备;外围设备,诸如打印机、扫描仪、摄像头以及类似设备;网络通信设备,诸如网卡、调制解调器、路由器、集线器以及类似设备;以及个人通信设备,诸如手机、平板电脑以及类似设备。

计算机系统可以包括但不限于:个人计算机(PC)、服务器、笔记本、平板电脑、智能手机、网络路由器、游戏机、工业控制系统或具有至少处理器和存储器和如下文图4说明的通用计算机系统的各种其他不同组件的其他通用或专用计算机装置。

设备可以通过有线或无线连接连接至计算机系统。有线连接的实例是经由计算机总线的连接。一般情况下,总线连接是通过连接线或触点实现的。最常用的有线连接中的一个是使用通用串行总线(USB)的连接。无线连接包括基于无线射频或光学技术但不使用电线或物理触点的连接。最常用的无线连接中的几种是蓝牙和Wi-Fi。无线网络连接的实例是无线个人局域网络(WPAN)或无线局域网络(WLAN)技术。

黑客修改的设备包括连接时可以被定义为特定类型的标准设备的设备,但它具有黑客引入的能够通过使用脚本进行有害行动或具有自动执行一组特定类型的标准设备的命令表征的能力的代码,这导致了恶意软件应用的加载和运行。

计算机系统和至少一个所连接设备的常见运行模式是所述计算机系统和所述至少一个连接设备的普通常规条件,其表征为打开和关闭所述计算机系统的顺序和在特定的时间段诸如工作日的过程中连接和断开至少一个设备的频率。

在设置用户计算机过程中,管理员可经常将未知设备连接至所述管理员的所述计算机系统,诸如鼠标、键盘、显示器、硬盘和类似设备。管理员的计算机系统可以处于打开状态几天的时间,例如,如果管理连续进行。同时,管理员的计算机系统可以一小时几次切换到关闭状态,例如,当更换硬盘或视频卡以便检查它们的可操作性时。

在用户所述计算机系统中,更换设备的频率很低,而连接新设备的事实具有重大意义。用户的计算机系统通常在用户的整个工作日过程中处于打开状态。此外,用户的计算机系统在工作日过程中很少处于关闭状态,即使是一小段时间,诸如在重启或睡眠模式期间。

当,例如,至少有一个端口正用于计算机系统且至少一个设备被连接,并且所述计算机系统处于打开状态的时间段被确定时,所述计算机系统和所连接的设备的常见运行模式可以有四个变形。

图1说明计算机系统和至少一个连接设备的运作模式的四个变形。如图所示,在第一个变形101中,所述计算机系统120的运行期和所连接的设备110的运行期相同并且匹配。当所述计算机系统被打开时,所述设备连接,并且因此当所述计算机系统被关闭时所述设备断开。在这种情况下,例如,所述设备经常可使用键盘或鼠标。

在第二个变形102中,所述计算机系统120的运行期和所述连接的设备110的运行期部分匹配。匹配仅在短时间段内发生并且可有不止一次匹配。在这一变形中,例如,所述设备经常可使用闪存,用户周期性连接和断开。

在第三个变形103中,所述计算机系统120的运行期和所述连接的设备110的运行期在最后一段时间内部分匹配。匹配以所述计算机系统和所连接的设备同时关闭而告终。在这种情况下,例如,所述设备可以是外部硬盘、移动电话或闪存,其连接所述计算机系统并且在所述计算机系统关闭时保持连接。

在第四个变形104中,所述计算机系统120的运行期和所连接的设备110的运行期在最初阶段内部分匹配。匹配以早在所述计算机系统被关闭之前将所连接的设备断开而告终。在这种情况下,例如,所述设备可以是外部硬盘、移动电话或闪存,其在所述计算机系统被关闭期间内连接。

基于所识别的所述计算机系统和至少一个所连接设备的运行模式的变形,人们可以确定所述设备连接中的异常。下文中,设备连接中的异常应理解为所述计算机系统和至少一个所连接设备的条件与通常运行模式中所期望条件不同,其是黑客修改/损坏的设备可能存在的迹象。因此,提供本文所述的方法和系统来识别设备与计算机系统连接中的异常。

图2说明根据一个示例性方面当设备连接至计算机系统时识别异常的系统的框图。如图所示,示例包括至少一个设备与其连接的计算机系统210、采集模块220、分析模块230、异常搜索模块240、设备数据库250和规则数据库260。实施示例性系统的示例性计算机如下文就图4而言所描述的。此外,应当理解的是虽然根据示例性方面描述单独的组件,但在其他方面,这些组件中的一个或多个可以组合为单一的组件。例如,根据另一个示例性方面设备数据库250和规则数据库260可以组合为单一数据库的一部分。

根据示例性方面,例如,可以设想的是用户可以通过USB连接或计算机系统的其他端口将设备连接至计算机系统210。此外,采集模块220配置为采集来自至少一个所连接的设备的数据。数据采集可以在推送基础上(例如,所述设备自动传输数据至采集模块220)或相应于来自采集模块220对所连接的设备的将数据发送至采集模块220的请求在推送基础上完成。

在一个示例性方面,所连接的设备上的传输至采集模块220的数据可能包含连接的类型、连接端口、所述设备已连接的计算机系统类型、设备的类型、设备的连接频率、设备的运行期、计算机系统的运行期以及类似数据。

例如,一旦接收到,采集模块220将采集到的数据传输至分析模块230,其可以如图4所示是硬件处理器。分析模块230配置为分析采集到的数据和来自设备数据库250的连接至计算机系统之前设备的数据。

在分析过程中,分析模块230可以确定所连接的设备是否是未知的、所述设备已如何连接、登记连接时间等。分析模块230也配置为将分析结果发送至异常搜索模块240。

根据示例性方面,设备数据库250配置为存储与先前已连接至计算机系统的设备有关的数据。在可选择的方面,数据库也可以装载有与可能在未来连接至计算机系统的另外的设备相关的数据。在示例性方面中,数据库可以填充并更新计算机系统辅助工具,其在连接过程中或通过第三方杀毒服务器采集所连接的设备的数据。

关于所连接的设备的数据在确定除了图1显示的变形之外的设备连接时计算机系统和至少一个连接设备的常规运行模式的异常时使用。

设备连接时异常的实例可以是所连接的设备从根据常规运行模式的第一个变形101运行的计算机系统断开。断开的设备(例如键盘、鼠标、显卡、网卡以及类似设备)在这种情况下在使用所述计算机系统的用户工作中起着重要的作用并且需要立刻更换。将连接至相同端口并且具有同一类型的设备应仔细分析,因为它可能被黑客修改,并且之前使用的连接设备断开的情况可能是被非法操纵。

连接至计算机系统的设备可因类型分类,例如输入设备、输出设备、信息存储设备以及类似设备。根据一个示例性方面所述设备类型反过来可细分类别。设备类别的实例可以在以下URL找到:https://msdn.microsoft.com/en-us/library/windows/hardware/dn465876(v=vs.85).aspx,其通过引用并入本文。

设备连接时异常的另一个实例可以是当与已经存在设备相同类型的设备连接至计算机系统时的情形。例如,在常规运行模式的第一个变形101中,设备1已连接至计算机系统的端口1并且具有类型1(键盘)。计算机系统也使用端口2。连接至端口2的类型1(键盘)设备2在设备连接时是异常,因为当习惯用户,已经使用键盘,在不同的端口连接新键盘但不取代旧的时产生这种情况。在这个实例中,所述设备2应进一步分析,因为它可能被黑客修改。

设备连接时异常的还有另一个实例可以是当设备1在短时间内取代端口1的设备2而与用户改变所述设备速度不相称时的情行。没有断开而瞬时切换设备是可疑并且不符合人类行为特性的,其可能证明黑客修改设备的发生。

根据一个示范性的方面,规则数据库260配置为存储确定异常的规则。确定异常的规则是描述可指示黑客修改设备可能存在的计算机系统和至少一个连接设备的条件的一组条件。

考虑到上文给出的设备连接时异常实例,以下规则形成:如果装置1一直连接至计算机系统中的端口1,那么设备1断开而设备2与1端口连接在设备连接时是异常并且可能是黑客修改设备的存在迹象。可以在诸如连接类型、连接端口、设备已连接的计算机系统类型、设备类型、设备的连接频率、设备的运行期、计算机系统的运行期、电压、电阻、电流等参数的此类条件的基础上制定其他的规则。

根据示例性方面,规则可在检测黑客修改设备的事件后由异常搜索模块240自动制定。例如,当检测恶意应用时,发现它已经由定义为打印机的设备传送至计算机系统。基于与该设备连接有关的数据,可自动形成确定异常的规则并输入到规则数据库260中。

确定异常的规则可以在根据关于计算机系统类型的数据而变化。例如,根据硬件识别以下类型的计算机系统:固定、便携和服务器。

默认情况下,没有键盘可以连接到服务器计算机系统。此外,两个键盘和两个鼠标可以连接至便携式计算机系统,诸如具有扩展坞的笔记本。

如果设备已通过有线连接来连接,那么确定异常的规则可以基于各种不同的物理参数/条件来制定,诸如电流强度参数。例如,“键盘”类型的设备运行时消耗70mA。在这种情况下,将制定以下规则:如果连接的设备被定义为键盘,然而但它消耗电流的数目不同于声称的这种类型的设备,那么设备连接时这种情况被认为是异常并且是黑客修改设备存在的迹象。

根据一个方面,可以采用除了确定异常的规则之外的神经网络和模糊逻辑。

本领域技术人员应当理解的是不同种类的数据库可用作设备数据库250和规则数据库260。例如,根据示例的数据库可以包括,例如:分级(IMS、TDMS、System2000),网络(Cerebrum、Сronospro、DBVist),关系(DB2、Informix、MicrosoftSQLServer),面向对象(Jasmine、Versant、POET)、对象关系(OracleDatabase、PostgreSQL、FirstSQL/J),功能等。也可以通过杀毒服务器进行数据库更新。

图3说明根据一个示例性方面当设备连接至计算机系统时识别异常的方法。如图所示,例如,在步骤310中,设备被用户连接至计算机系统。在步骤311中,收集模块220执行对与所连接的设备有关的数据的采集,并将采集到的数据发送至分析模块230。在步骤312中,分析模块230执行对所采集的数据和来自设备数据库250的关于之前连接的设备的数据的分析。接下来,分析模块230将分析结果传输至异常搜索模块240。在步骤313中,异常搜索模块240在分析结果和来自规则数据库260的确定异常的规则的基础上确定是否所有条件都满足至少一个规则。如果所有条件符合至少一个规则,那么步骤315中异常搜索模块240在设备连接时识别异常并且来时进一步检查所连接的设备以发现所述设备是否被黑客修改/损坏。另外,如果没有符合至少一个规则的条件,那么在步骤314中,检查所述设备异常的方法结束。

根据示例性方面,在进一步的检查识别黑客修改/损坏的设备的过程中,可以进行杀毒检查,诸如基于杀毒或行为特征的检查,检查从连接的设备输入的数据,检查设备固件的修改(如果可能的话)等等,如本领域技术人员应当理解的那样。如果确定所述设备被修改或损坏,那么终止或限制与所述设备的连接。

图4说明根据示例性方面所公开的系统和方法可以在其上实现的通用计算机系统的实例(可以是个人计算机或服务器)。如图所示,计算机系统包括中央处理单元21、系统存储器22和连接各系统组件的系统总线23,包括与中央处理单元21相关联的存储器。系统总线23类似于本领域已知的任何总线结构实现,进而包含总线存储器或总线存储器控制器,外设总线和本地总线,其能够与任何其他总线架构交互。系统存储器包括永久性存储器(ROM)24和随机存取存储器(RAM)25。基本输入/输出系统(BIOS)26包括保障个人计算机20的要素之间信息传递的基本程序,诸如那些在使用ROM24加载操作系统时的那些。

继而,个人计算机20包括用于读写数据的硬盘27、用于在可移动磁盘29上读写的磁盘驱动器28、用于在可移动光盘31上读写的光驱30,诸如CD-ROM、DVD-ROM和其他光信息媒体。硬盘27、磁盘驱动器28和光盘驱动器30分别穿过硬盘接口32、磁盘接口33和光学驱动器接口34连接至系统总线23。驱动器和相应的计算机信息媒体是独立电源的模块,用于存储个人计算机20的计算机指令、数据结构、程序模块和其他数据。

本公开提供了使用硬盘27、可移动磁盘29和可移动光盘31的系统的实行,但应当理解的是可能使用能够以计算机可读形式存储数据的其他类型的计算机信息媒体56(固态驱动器、闪存卡、数字磁盘、随机存取内存(RAM)等)是可能的,其通过控制器55连接到系统总线23。

计算机20具有文件系统36,其中保留所记录的操作系统35以及还有另外的程序应用37、其他程序模块38和程序数据39。用户能够通过使用输入设备(键盘40,鼠标42)将命令和信息输入个人计算机20。可使用其他输入设备(未显示):麦克风、操纵杆、游戏控制器、扫描仪等。这些输入设备通常通过串口46插入计算机系统20,其继而连接至系统总线,但它们可以以其他方式连接,例如,借助并行端口、游戏端口或通用串行总线(USB)。显示器47或其他类型的显示设备也穿过接口诸如视频适配器48连接至系统总线23。除了显示器47之外,个人计算机可以装配有其他外围输出设备(未显示),如扬声器、打印机等。

使用与一台或多台远程计算机49的网络连接,个人计算机20能够在网络环境中操作。一台远程计算机49(或多台计算机)也是具有描述个人计算机20性质的上述元素中的大部分或全部的个人计算机或服务器,如图4所示。其他设备也可以存在于计算机网络中,诸如路由器、网络站、对等设备或其他网络节点。

网络连接可以形成局域计算机网络(LAN)50和广域计算机网络(WAN)。这些网络用于企业计算机网络和内部公司网络中,并且它们一般都可以访问因特网。在LAN或WAN网络中,个人计算机20通过网络适配器或网络接口51连接至局域网50。在使用网络时,个人计算机20可以使用调制解调器54或其他模块以便提供与广域计算机网络如因特网的通信。调制解调器54,其是内部或外部设备,由串行端口46连接至系统总线23。应该指出的是网络连接是唯一的例子而不需要描述网络的精确配置,即,在现实中有其他方式经由技术通信模块建立一台计算机与另一台的连接。

在不同的方面,本文所描述的系统和方法可以硬件、软件、固件或其任何组合实行。如果以软件实行,方法可以作为一个或多个指令或代码存储在非暂时性的计算机可读介质上。计算机可读介质包括数据存储。通过举例的方式而非限制性的,这样的计算机可读介质包括RAM、ROM、EEPROM、CD-ROM、闪存或其他类型的电、磁或光存储介质或可用于携带或存放所需的指令或数据结构形式的程序代码并可以被通用计算机处理器访问的其他介质。

在不同方面中,本公开中所描述的系统和方法可以就模块而言加以解决。本文中用语“模块”是指真实的设备,组件或使用硬件实行的组件安排,例如诸如特定应用集成电路(ASIC)或现场可编程门阵列(FPGA),或作为硬件和软件的组合,诸如通过微处理器系统和指令集实现模块功能,其中(同时执行)变换微处理器系统为专用设备。模块也可以被实行为两者的组合,具有硬件单独实现的某些功能和硬件和软件的组合实现的其他功能。在某些实施方案中,至少一部分,并且在某些情况下,所有的模块可以在通用计算机处理器上执行(诸如上文图6中更详细的描述的计算机)。因此,每个模块可以各种合适的配置实现并且不应该被限制于本文示例的任何特定的实施例。

为了清楚起见,本文并未公开这些方面的全部常规特征。应当理解的是,在本公开的任何实际实施例的开发中,为了达到开发者的特定目标必须做出大量针对特定实施例的决策,并且这些特定目标将根据不同的实施例和不同的开发者而改变。而且,应当理解的是这类开发努力可能是复杂和耗时的,但不论如何,将是受益于本申请的本领域一般技术人员从事的常规的工程任务。

此外,要理解的是本文所使用的措辞或术语仅为了说明而非限制,这样本说明书的术语或措辞将由本领域技术人员根据本文所给出的教导和指导并结合相关领域的技术人员的知识来解释。而且,除非如此明确地如此表明,否则说明书或权利要求书中的任何术语都并非意图表示不常见的或特殊的意思。

这里所公开的各个方面囊括了本申请中用于说明而涉及的已知模块的现在和将来的已知等同物。此外,虽然已经示出和描述了这些方面及应用,但对于受益于本申请的领域的技术人员而言显而易见的是在不脱离本申请中所公开的发明构思的情况下比上面提及的多得多的修改都是可能的。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1