CN107547495A - 用于保护计算机免受未经授权的远程管理的系统和方法 - Google Patents
用于保护计算机免受未经授权的远程管理的系统和方法 Download PDFInfo
- Publication number
- CN107547495A CN107547495A CN201710092597.0A CN201710092597A CN107547495A CN 107547495 A CN107547495 A CN 107547495A CN 201710092597 A CN201710092597 A CN 201710092597A CN 107547495 A CN107547495 A CN 107547495A
- Authority
- CN
- China
- Prior art keywords
- event
- data
- application program
- parameter
- computer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/568—Computer malware detection or handling, e.g. anti-virus arrangements eliminating virus, restoring damaged files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/034—Test or assess a computer or a system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Virology (AREA)
- General Health & Medical Sciences (AREA)
- Debugging And Monitoring (AREA)
- Computer And Data Communications (AREA)
Abstract
公开了用于保护计算机免受未经授权的远程管理的系统和方法。一种示例性方法包括:拦截发生在计算机系统中的事件;确定每个所拦截事件的参数,用以识别关于通过应用程序在计算机网络中的第一数据传递或从计算机系统的外围数据输入设备到应用程序的第二数据传递的每个所拦截事件;确定彼此依赖的两个所拦截事件;确定定义所述两个所拦截事件的参数的依赖性的规则;确定该规则与先前创建的规则的相似度;如果该相似度超过所选阈值,则至少基于该规则和先前创建的规则识别至少一个应用程序;以及分析该至少一个应用程序以检测远程管理应用程序。
Description
技术领域
本发明总体涉及网络安全领域,更具体地涉及用于保护计算机免受未经授权的远程管理的系统和方法。
背景技术
计算机技术在过去十年中的快速发展以及多种多样的计算设备(个人计算机、笔记本、平板电脑、智能手机等)的广泛使用,对于这些设备在人类活动的每个可能范围中的使用以及对于巨大数量的任务(从因特网冲浪到银行汇款和电子文件交流)而言已充当强大的刺激。在计算设备和在这些设备上运行的软件的数量增长的同时,恶意软件的量也以飞快的速度增长。
目前,存在巨大数量的恶意程序变种,对应于各个种类的恶意程序。一些恶意程序从用户的设备窃取个人机密数据(诸如登录名和密码、银行资料、电子文件)。其它恶意程序从用户的设备形成所谓的僵尸网络,以使用暴力破解法推测密码或对其它计算机或计算机网络发起进攻,诸如拒绝服务(分布式拒绝服务,DDOS)。另外其它恶意程序通过侵略性广告、付费订阅、向付费手机号发送文本消息等将付费内容强加给用户。
例如,一组恶意程序可以对用户的感染的计算机执行远程管理。在将这类程序安装在用户的计算机上之后,该程序通常可以获得管理员权限,这可以允许该程序访问用户的任何机密信息、而且还令该程序对用户的计算机执行任何活动以及通过计算机网络向黑客传递关于其工作结果的信息。例如,上述程序的变种之一可以在受害者的计算机上复制黑客的活动,该活动由该黑客在其自身计算机上执行。
检测上述程序的复杂度可源于如下事实:时常地,这些程序不以显式执行恶意活动(例如,这些程序不破坏数据,反而组织DDOS攻击等等);这些程序偶发地且不定期地进行主动操作;这些程序将自身呈现为可被管理员用于控制客户端计算机的合法应用程序。
因此,现今的抗病毒程序可能未看到上述程序的活动中的恶意功能。而且,已知的抗病毒程序可能不处理检测如下项的任务:具有先前未知的用于进行远程管理的行为的应用程序;或仅结合在一起才实现远程管理的多组应用程序,每个应用程序具有其自身完全合法的功能;以及当在用户的允可下执行远程管理时,上述方法还可能在检测恶意程序时产生假警报。
本发明解决保护计算机免受未经授权的远程管理的问题。
发明内容
公开了用于保护计算机免受未经授权的远程管理的系统和方法。根据一个示例性方面,一种用于检测计算机系统的远程管理的计算机实现方法包括:经由所述计算机系统的处理器拦截发生在所述计算机系统中的一个或多个事件;确定每个所拦截事件的参数;至少基于确定的所述参数识别关于通过应用程序在计算机网络中的第一数据传递或从所述计算机系统的外围数据输入设备到应用程序的第二数据传递的每个所拦截事件;至少基于所识别的关于所述第一数据传递和所述第二数据传递的所拦截事件确定彼此依赖的两个所拦截事件;确定定义所述两个所拦截事件的所述参数的依赖性的规则;确定所述规则与先前创建的规则的相似度;响应于检测到所述相似度超过所选阈值,至少基于所述规则和所述先前创建的规则识别至少一个应用程序;以及分析所述至少一个应用程序以检测远程管理应用程序。
在另一示例性方面中,所述一个或多个事件包括如下项中的至少一者:通过应用程序调用安装在所述计算机系统上的操作系统的API函数;经由进程间通信技术在应用程序的进程之间传递数据;在所述计算机系统的软件部件和硬件部件之间传递数据;通过应用程序在所述计算机网络中传递数据;以及将数据从至少一个外围数据输入设备传递到应用程序。
在又一示例性方面中,所述外围数据输入设备包括如下项中的至少一者:键盘;计算机鼠标;触摸屏;以及非接触式触摸屏控制器。
在另一示例性方面中,确定每个所拦截事件的所述参数包括确定如下项中的一者或多者:每个所拦截事件的类型;在所述计算机系统的操作系统中创建每个所拦截事件的应用程序或进程的标识符;在所述操作系统中创建每个所拦截事件的应用程序或服务的标识符;每个所拦截事件之前的至少一个事件;对于被传递的数据:数据发送的源和数据接收的源的标识符;被传递的数据的类型;被传递的数据的量;以及直接被传递的数据。
在又一示例性方面中,至少基于所识别的关于所述第一数据传递和所述第二数据传递的所拦截事件确定彼此依赖的所述两个所拦截事件,包括确定如下项中的至少一者:在所识别的第一所拦截事件的第一登记与第二所拦截事件的随后的第二登记之间流逝的时间段小于先前确立的时间阈值;以及所述两个所拦截事件的参数与比当前所拦截事件更早登记的所识别的所拦截事件的参数相关。
在又一示例性方面中,确定定义所述两个所拦截事件的所述参数的所述依赖性的所述规则包括:选择矩阵形式和向量形式中的至少一者来表示所述规则;以及基于所述两个所拦截事件中的一者的所述参数计算用于所述规则的所选表示的系数。
在另一示例性方面中,分析所述至少一个应用程序以检测远程管理应用程序基于如下项中的至少一者来执行:在确定如下项中的至少一者时对所述至少一个应用程序的启发式分析:在数据传递期间从所述外围数据输入设备传递哪些数据、哪些活动在所述数据传递之后发生在所述计算机系统中、在所述活动之后在所述计算机网络中发送或接收哪些数据、以及所述数据和所述活动之间的依赖性;或对所述至少一个应用程序的结构和代码的分析,所述代码负责在所述计算机网络中传递数据、在所述计算机系统中执行活动、以及在所述计算机网络中发送或接收数据。
在又一示例性方面中,该方法还包括响应于检测到所述远程管理应用程序而至少通过如下方式来阻断所述至少一个应用程序:阻断在所述计算机网络中与所述至少一个应用程序的数据交换;从所述计算机系统的RAM移除所述至少一个应用程序;或从所述计算机系统的信息媒介移除所述至少一个应用程序。
根据另一示例性方面,一种用于检测计算机系统的远程管理的系统包括:所述计算机系统的至少一个处理器,所述至少一个处理器配置成:拦截发生在所述计算机系统中的一个或多个事件;确定每个所拦截事件的参数;至少基于确定的所述参数识别关于通过应用程序在计算机网络中的第一数据传递或从所述计算机系统的外围数据输入设备到应用程序的第二数据传递的每个所拦截事件;至少基于所识别的关于所述第一数据传递和所述第二数据传递的所拦截事件确定彼此依赖的两个所拦截事件;确定定义所述两个所拦截事件的所述参数的依赖性的规则;确定所述规则与先前创建的规则的相似度;响应于检测到所述相似度超过所选阈值,至少基于所述规则和所述先前创建的规则识别至少一个应用程序;以及分析所述至少一个应用程序以检测远程管理应用程序。
以上对示例性方面的简要概述用于提供对本发明的基本理解。该概述不是对所有预期方面的广泛综述,并且既不旨在标识所有方面的关键要素或主要要素,也不旨在勾画本发明的任何方面或所有方面的范围。该概述的唯一目的是以简化的形式呈现一个或多个方面,作为随后的对本发明的更详细的描述的前奏。为了实现前述目的,本发明的一个或多个方面包括在权利要求中所描述的且示例性指出的特征。
附图说明
图1示出用于保护计算机免受未经授权的远程管理的示例性系统的结构图。
图2示出用于保护计算机免受未经授权的远程管理的示例性方法的流程图。
图3示出其上可实施本文中所公开的系统和方法的示例性通用计算机系统,诸如个人计算机或服务器。
具体实施方式
在描述本发明的各个方面时将使用多个术语和定义。本领域的普通技术人员将认识到,以下描述仅仅是说明性的,而不旨在以任何方式进行限制。其它方面将容易地将其自身暗示给了解本发明的优点的本领域的技术人员。现在将详细地参考如附图中所示的示例性方面的实现方式。贯穿附图和以下描述将尽可能地使用相同的附图标记来指代相同或类似的项目。
计算机系统的事件可指由该计算机系统中的应用程序执行的一组活动。
计算机系统的事件的参数可包括计算机系统的事件的一组各种属性。
图1示出用于保护计算机免受未经授权的远程管理的示例性系统的结构图。该系统包括行为分析模块100、外围数据输入设备101、计算机系统102、计算机网络103、模式识别模块110、搜索模块120、规则库121、和分析模块130。
行为分析模块100可以配置成:
·拦截发生在计算机系统102中的事件,其中所拦截的事件可包括如下项中的至少一者:
o通过应用程序调用安装在计算机系统102上的操作系统的API函数;
o使用进程间通信技术在应用程序的进程之间传递数据;
o在计算机系统102的软件部件和硬件部件之间传递数据;
o通过应用程序在计算机网络103中传递数据;
o将数据从外围数据输入设备101传递到应用程序;
·确定每个所拦截事件的参数;以及
·将确定的所拦截事件的参数发送到模式识别模块110。
事件的拦截可以借助安装在计算机系统102中的驱动程序来执行。
例如,通过应用程序调用的操作系统的应用程序编程接口(ApplicationProgramming Interface,API)函数可以包括一个或多个如下API函数:
·用于利用文件工作的API函数,诸如CreateFile、ReadFile、WriteFile等;
·用于利用计算机网络工作的API函数,诸如socket、connect、recv、send等;
·用于利用进程工作的API函数,诸如ReadProcessMemory、WriteProcessMemory等;
·用于利用Windows事件工作的API函数,诸如PostMessage、SendMessage等。
例如,计算机系统102的硬件部件可以包括如下项中的至少一者:
·外部信息媒介,诸如光驱,比如CD-RW驱动、DWD-RW驱动或BD-RE驱动;
·图形适配器;以及
·游戏控制器。
外围数据输入设备101可以包括如下项中的至少一者:
·键盘;
·计算机鼠标;
·触摸屏;以及
·非接触式触摸屏控制器。
例如,从外围数据输入设备101传递到应用程序的数据可以包括如下项中的至少一者:
·从键盘输入的文本;
·借助计算机鼠标或触摸屏执行的光标移动的坐标;以及
·由非接触式触摸屏控制器接收的图像。
事件参数可以包括如下项中的至少一者:
·事件的类型;
·在操作系统中创建该事件的应用程序或进程的标识符(进程标识符,PID);
·在操作系统中创建该事件的应用程序或服务的标识符(全局唯一标识符,GUID);
·提及的事件之前的事件;
·对于被传递的数据:
o数据发送的源和数据接收的源的唯一标识符,其可以包括如下项中的至少一者:
■在计算机网络103中参与数据传输的服务器的网络地址,
■计算机系统102的硬件部件的类型,
o被传递的数据的类型;
o被传递的数据的量;
o直接被传递的数据。
例如,事件的类型可以为数值,其中,0x00对应于未知类型的事件、0x01意指通过应用程序调用操作系统的API函数、0x02意指在应用程序的进程之间传递数据、0x03意指从外围数据输入设备101向应用程序传递数据,等等。
事件的类型可以至少基于安装在计算机系统102中的驱动程序中拦截该事件的驱动程序来确定。例如,如果事件被键盘驱动程序拦截,则该事件可以被分配为“从外围数据输入设备101向应用程序传递数据”,因此所拦截事件的类型可以等于0x03;如果事件被设计成在计算机网络103中传递数据的网络设备的驱动程序拦截,则该事件可以被分配为“通过应用程序在计算机网络103中传递数据”,因此所拦截事件的类型可以等于0x04,以此类推。因此,计算机系统102的相同事件可以被不同的驱动程序拦截,因此可以同时包括多种类型的事件。例如,在IPC的帮助下在应用程序之间传递数据的事件可以为通过应用程序调用操作系统的API函数(ReadProcessMemory、WriteProcessMemory)的事件(具有事件类型0x01),以及还为使用进程间通信技术在应用程序的进程之间传递数据的事件(具有事件类型0x02)。
例如,特定事件可以一个接一个:
·将文本从键盘101传递到应用程序Microsoft Lync(事件#1)以及随后通过局域计算机网络103传递同一文本(事件#2);
·通过应用程序RemoteAdmin调用函数recv(事件#1)以及通过应用程序RemoteAdmin调用函数WriteProcessMemory(事件#2)。
例如,被传递的数据可以包括如下类型中的至少一者:
·媒体数据,诸如视频剪辑或音频记录;
·图像;
·因特网网页的组件,诸如网页的超链接代码、css样式表等;
·数据库;
·归档数据;以及
·非结构化数据,诸如从外围数据输入设备101获得的行数据。
所拦截事件的参数(包括所传递数据的类型)可以由拦截该事件的驱动程序来确定。设计成拦截不同事件的驱动程序可以针对相同数据确定不同类型的事件。例如,用户通过键盘101将文本(包括JavaScript代码)输入到文字处理器Notepad++的字段中。键盘驱动程序可以拦截将数据从键盘101传递到应用程序Notepad++的进程的事件以及将传递的数据解释为非格式化文本,即特定一组字符。作为结果,API函数调用的驱动程序可以拦截在应用程序Notepad++的进程的特定虚拟地址处所写的数据以及将该数据解释为因特网网页的正确格式化的超链接代码,即具有指定参数的一组标签。
模式识别模块110可以配置成:
·至少基于对所拦截事件的所接收参数的分析,在所拦截事件之中识别通过应用程序在计算机网络103中传递数据、以及已发生的将数据从外围数据输入设备101传递到应用程序的事件中的至少一个事件;
·在所拦截事件之中确定依赖于所识别事件的至少一个事件,所拦截事件对所识别事件的依赖性至少通过如下项中的至少一者来确定:
o在登记所识别事件与随后登记所拦截事件之间流逝的时间可小于先前确立的时间阈值,
o所拦截事件的参数可以与比提及的所拦截事件更早登记的所识别事件的参数相关;
·针对至少一个所确定事件形成描述该所确定事件的参数对所识别事件的参数的依赖性的规则;
·以及将制定的规则与关于所确定事件的信息一起发送到搜索部件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),该事件(3)的在计算机网络103中的数据传递的参数(其中该传递可通过调用API函数send而发生,该参数诸如所传递数据的类型(文本)和服务器的网络地址(发生去往该服务器的数据传递))依赖于事件(4)和事件(5)的参数的变化,事件(4)的参数诸如数据类型(文本),事件(5)的参数诸如服务器的因特网协议(Internet Protocol,IP)地址(在计算机网络103中可发生去往该服务器的数据传递)。
描述一个事件的参数对另一事件的参数的依赖性的规则可以至少包括:
·矩形变换矩阵使得
P2=T×P1,
其中
为事件#1的参数集,
为事件#2的参数集。
·函数P2=f(a1,a2,...,an,P1)的系数集{ai},
其中
P1为事件#1的参数,
P2为事件#2的参数。
描述一个事件的参数对另一事件的参数的依赖性的规则的公式化可以包括如下项中的至少一者:
·选择表示公式化规则的方式中的至少一者:
o以矩阵形式,其中,一个参数对另一参数的依赖性可以通过与矩阵的运算来表达,
o以向量形式,其中,一个参数对另一参数的依赖性可以通过与系数集的运算来表达;
·针对事件的指定参数,计算将用于规则的所选表示的系数。
搜索模块120可以配置成:
·至少基于所获得的规则与来自规则库121的至少一个先前创建的规则的比较来确定所提及的规则的相似度,其中,先前创建的规则可以定义在远程管理期间发生在计算机系统102中的事件的参数的依赖性;
·如果先前确定的相似度超过确立的阈值,则确定已创建被行为分析模块100拦截的事件的至少一个应用程序,所确定的该事件的参数可以被模式识别模块110用来使所获得的规则公式化,确定的所获得的规则与至少一个先前创建的规则的相似度可以高于确立的阈值;以及
·将标识确定的所述至少一个应用程序的信息发送到分析模块130。
可以基于从模式识别模块110获得的规则的系数,从规则库121选择先前创建的规则。
可以采用与通过模式识别模块110格式化的规则相同的方式来创建先前创建的规则,即:
a)在计算机系统中可以拦截各个事件,在该计算机系统中先前安装了已知的远程管理应用程序;
b)可以针对所拦截事件确定事件的参数;
c)基于对在前一步骤中针对在步骤a)中拦截的事件所确定的参数的分析,可以在提及的事件之中识别通过提及的远程管理应用程序在计算机网络中传递数据的事件以及将数据从外围数据输入设备传递到提及的远程管理应用程序的事件;
d)在步骤a)中确定的事件之中,可以确定至少一个事件,该至少一个事件可以依赖于在前一步骤中所识别的事件;
e)可以针对在前一步骤中所确定的至少一个事件创建规则,该规则描述了在前一步骤中所确定的事件的参数对在步骤c)中所识别的事件的参数的依赖性。
规则的比较可以至少涉及确立的阈值与如下项的比较:
·表示描述被比较的规则的函数的卷积结果的值:
g=f1*f2,
其中
f1为在数学上表达规则#1的函数,
f2为在数学上表达规则#2的函数;
由于规则可以包括输入数据和输出数据之间的预定关系,其中预定(确定性)意味着该关系被明确定义,即,不允许歧义性或不确定性,因此该规则可以在数学上通过涉及该规则的输入数据和输出数据的特定函数f来表达;
·包括构成描述被比较的规则的矩阵的元素集的序列的卷积结果的值:
g={ak}*{bl},
其中
{ak}为在数学上表达规则#1的矩阵的元素集,
{bl}为在数学上表达规则#2的矩阵的元素集;
由于规则可以包括输入数据和输出数据之间的预定关系,因此该规则可以在数学上通过将规则的输入数据变换为输出数据的特定矩阵A来表达。
相似度可以包括至少被确定为如下项的数:
·两个向量的内积,其中每个向量为被比较的规则的一组系数;以及
·先前确定的卷积的参数的值。
例如,在通过3个系数a1=0.10、a2=0.3、a3=0.17描述规则#1、以及通过3个系数b1=0.5、b2=0.9、b3=0.21描述规则#2的情况下,表征在计算机网络103中发送的数据的量相对于在计算机网络103中接收的数据的量的变化的函数:
y=p1×x2+p2×x+p3
其中
y为在计算机网络103中发送的数据的量,
x为在计算机网络103中接收的数据的量,
{p}为系数集,
规则#1和规则#2的相似度可以被计算为:
w=a1×b1+a2×b2+a3×b3
这在上述情况在可以给出w=0.0434。在w=0.0的情况下,规则可为相同的,在w=1.0的情况下,规则可为不同的。作为规则的相似性的标准,使用确立的阈值w阈值=0.1。因此,上文比较的规则#1和规则#2可以为相似的。
标识由搜索模块120确定的至少一个应用程序的信息可以包括如下项中的至少一者:
·应用程序或由应用程序创建的进程的唯一标识符;
·通往可执行应用程序文件的路径;以及
·应用程序的名称。
分析模块130可以配置成:
·分析从所接收的信息识别的应用程序,其中可以在分析期间确定通过提及的应用程序在计算机网络103中传递数据的事件的参数对从外围数据输入设备101传递数据的事件的参数的依赖性;
·至少基于在分析期间对依赖性的存在的确定来宣布关于远程管理应用程序的检测的裁决;
·基于关于远程管理应用程序的检测所宣布的裁决的结果来阻断前文提及的应用程序。
对应用程序的分析可以包括如下项中的至少一者:
·对应用程序的启发式分析,在此期间可以确定:
o可以从外围数据输入设备101传递哪些数据,
o哪些活动可以在数据传递之后发生在计算机系统102中,
o此后在计算机网络103中发送或接收哪些数据,
o确定的数据与活动之间的依赖性;
·对应用程序的结构和代码搜索的分析,该代码负责:
o在计算机网络103中传递数据,
o在计算机系统102中执行活动,
o在计算机网络103中发送或接收数据。
例如,在分析应用程序的结构时,可以搜索可执行代码,该可执行代码可以负责:
·在计算机网络103中发送或接收数据,
·在计算机系统102中执行活动;
然而该可执行代码不涉及:
·从外围数据输入设备101接收数据;
并且该可执行代码可以通过伪代码来定义:
recv(<server>,<command>)
switch(<command>)
case<action-id>:<action>
…
case<action-id>:<action>
应用程序的工作的这类组织可以为远程管理应用程序的特征,该远程管理应用程序与计算机网络103中的服务器交换数据、在计算机系统102中执行活动、然而不以任何方式处理从外围数据输入设备101接收的数据。
阻断应用程序可以涉及如下项中的至少一者:
·阻断在计算机网络中该应用程序参与的数据交换;
·从RAM移除该应用程序;
·从信息媒介(诸如硬盘驱动等)移除该应用程序,该信息媒介可包括计算机系统102。
例如,如果应用程序RemoteAdmin可以被确定为远程管理应用程序,则分析模块130可以设立(例如分配对应的操作参数)防火墙,从而没有网络数据包可以从RemoteAdmin发送到计算机网络103的服务器以及从服务器发送到RemoteAdmin应用程序。因此,RemoteAdmin应用程序可以在计算机系统102中起作用,但是无法在计算机网络103中接收命令或发送数据,这可以指示出该应用程序为安全的应用程序。
根据本发明的方面,可以设想一种用于阻断远程管理的系统,该系统包括其中可安装两个远程管理应用程序(至少合法的应用程序RemoteAdmin和恶意应用程序Backdoor.Win32.Agent)的计算机系统102。应用程序RemoteAdmin可以意图用于用户的计算机的远程管理,在此期间,用户也可以参与该应用程序的控制以及监控其工作。应用程序Backdoor.Win32.Agent也可以意图用于用户的计算机的远程管理,但是与RemoteAdmin不同,应用程序Backdoor.Win32.Agent可以在无用户许可的情况下秘密地这么做,不通过界面元件的演示来展现自身以及不从外围数据输入设备101接收数据。
在应用程序RemoteAdmin工作期间,行为分析模块100可以拦截如下事件:
·当用户可以设立应用程序的工作时,将数据从计算机鼠标101传递到RemoteAdmin应用程序;
·调用和建立与服务器的网络连接相关的函数,诸如socket、send、recv等;
·调用与将消息发送到工作在计算机系统102中的应用程序相关的函数,诸如SendMessage、SendDlgItemMessage等;
·通过局域计算机网络103从服务器接收数据。
对于所有拦截的事件,可以选出这些事件的参数:
·光标的坐标以及在计算机鼠标101上按下的键的标识符;
·可与其建立连接的服务器的网络地址;
·从服务器接收的数据的量;
·被发送到其它应用程序的消息的类型,诸如:
o应用程序的标识符;
o消息的标识符;以及
o在消息的背景下被发送到应用程序的数据。
在已选出事件的参数之后,模式识别模块110可以从先前拦截的应用程序RemoteAdmin的事件识别在计算机网络103中传递数据的事件、以及从外围数据输入设备101传递数据的事件。当用户可以设立该应用程序的工作时,从服务器(先前可建立与该服务器的网络连接)发送和接收数据的这些事件以及从计算机鼠标101向RemoteAdmin应用程序传递数据的事件。
模式识别模块110然后可以从剩余的所拦截事件确定可依赖于先前所识别事件的事件。这证明为调用用于将从服务器接收的数据发送到工作在计算机系统102中的应用程序的函数SendMessage的事件。发送到应用程序的这种类型的消息可以依赖于RemoteAdmin应用程序的设置,例如依赖于用户利用计算机鼠标所执行的活动,以及发送到应用程序的数据可以依赖于通过计算机网络103从服务器接收的数据。所确定事件的参数对先前所识别事件的依赖性可以用如下形式来表示:
其中
T为由应用程序RemoteAdmin发送到安装在计算机系统102中的其它应用程序的消息的类型,
P为由应用程序RemoteAdmin发送到安装在计算机系统102中的其它应用程序的数据的量,
M为计算机鼠标101的移动参数,
D为由应用程序RemoteAdmin通过计算机网络103从服务器接收的数据的量,
{k}为系数集。
至少基于针对调用用于将从服务器接收的数据发送到应用程序的函数SendMessage的事件而获得的依赖性,可以使定义上文确定的依赖性的规则公式化,例如,针对上述依赖性
可以计算系数的数值
k1=0.85、k2=0.19、k3=0.21、k4=0.47。
搜索模块120可以从规则库121确定和选择描述与先前公式化的规则相同的这些参数的依赖性的规则,这些参数例如被发送到安装在计算机系统102中的应用程序的消息的类型、以及在消息的帮助下被提及的应用程序发送的数据的量。这两者可以被确定及其系数可以分别等于:
k11=0.71、k12=0.19、k13=0.31、k14=0.97
k21=0.85、k22=0.65、k23=0.01、k24=0.47。
在已选择规则之后,搜索模块120可以确定公式化规则和所选规则的相似性的系数:
w1=1.1606、w2=1.069,
以及相似性的总系数(其为上文确定的公式化规则和所选规则的相似性的系数的平均值)为:
w总=1.1148。
假设确立的阈值为w阈值=1.5,则获得的相似度w总=1.1148可以指示,所拦截事件可以不被归类为计算机系统被远程管理的事件,因此应用程序RemoteAdmin可以为合法的。
在应用程序Backdoor.Win32.Agent工作期间,活动分析模块100可以拦截如下事件:
·调用和建立与服务器的网络连接相关的函数,诸如socket、send、recv等;
·调用与将消息发送到工作在计算机系统102中的应用程序相关的函数,诸如SendMessage、SendDlgItemMessage等;
·调用与从被在计算机系统102中安装的其它应用程序占用的存储域接收数据相关的函数,诸如OpenProcess、ReadProcessMemory;
·通过计算机网络103从服务器接收数据;
·通过计算机网络103向服务器发送数据。
对于所有拦截的事件,可以选出这些事件的参数:
·可与其建立连接的服务器的网络地址;
·从服务器接收的数据的量;
·被发送到服务器的数据的量;
·被发送到其它应用程序的消息的类型,诸如:
o应用程序的标识符;
o消息的标识符;以及
o在消息的背景下被发送到应用程序的数据。
·占用存储区(可从该存储区读取数据)的应用程序的标识符;
·存储区(可从该存储区读取数据)的参数。
在已确定事件的参数之后,模式识别模块110可以从先前拦截的应用程序Backdoor.Win32Agent的事件识别在计算机网络103中传递数据的事件、以及从外围数据输入设备101传递数据的事件。例如,这些可以包括从服务器(先前建立了与该服务器的网络连接)发送和接收数据的事件,然而并非可识别从外围数据输入设备101发送数据的事件。特别地,在一个事件可以在另一事件之后、不晚于先前确立的时间阈值的情况下,这些事件可以彼此相关。即使在事件之间经过的时间可以大于先前确立的时间阈值的情况下,如果后一事件的参数可与较早事件的参数相关,则这些事件也可以是相依赖的。
模式识别模块110还可以从剩余的所拦截事件确定至少基于标准(诸如时间标准,当事件#2不晚于事件#1发生后的指定时间而发生时)而依赖于所识别事件的事件:
1)调用用于将从服务器接收的数据发送到运行在计算机系统102中的应用程序的函数SendMessage的事件。对于所描述的示例,被发送到应用程序的事件的类型可以依赖于由Backdoor.Win32Agent通过计算机网络103从服务器接收的数据的量。每个事件的特征可以为其自身的、通常个体的通过计算机网络传输的数据的量,即,类型的依赖性T~D一直出现。因此,所确定事件的参数对先前所识别事件的依赖性可以用如下线性形式来表示:
T=k1×D+k2
其中
T为由应用程序Backdoor.Win32Agent发送到安装在计算机系统102中的其它应用程序的消息的类型,
D为由应用程序Backdoor.Win32Agent通过计算机网络103从服务器接收的数据的量,
{k}为系数集。
基于针对调用用于将从服务器接收的数据发送到应用程序的函数SendMessage的事件而获得的依赖性,可以使能够定义上文确定的依赖性的规则公式化,例如,针对上述依赖性
T=k1×D+k2
可以计算系数的数值
k1=0.97,k2=0.89。
2)从被在计算机系统102中安装的应用程序占用的存储区读取数据的事件(通过调用函数ReadProcessMemory)。根据一个方面,被读取的数据的量可以依赖于由Backdoor.Win32Agent从计算机网络103中的服务器接收的存储地址。例如,所确定事件的参数对先前所识别事件的依赖性可以用如下形式来表示:
其中
D为在存储地址A处读取的数据的量,
A为存储由Backdoor.Win32Agent从计算机网络103中的服务器获得的数据的存储地址,
{k}为系数集。
至少基于针对调用函数ReadProcessMemory的事件而获得的依赖性,可以使能够定义上文确定的依赖性的规则公式化,例如,针对上述依赖性
可以计算系数的数值
k1=0.47、k2=0.98、k3=1.43。
搜索模块120可以从规则库121确定和选择描述与先前公式化规则相同的这些参数的依赖性的规则。例如,系数可以分别等于:
k1=0.99、k2=0.87,
k1=0.53、k2=0.98、k3=1.21。
在已选择规则之后,搜索模块120可以确定公式化规则和所选规则的相似性的系数:
w1=1.7346、w2=2.9398
以及相似性的总系数(其为上文确定的公式化规则和所选规则的相似性的系数的平均值)为:
w总=2.3372。
假设确立的阈值为w阈值=1.5,则获得的相似度w总=2.3372可以指示,所拦截事件可以被归类为计算机系统被远程管理的事件。
应当理解,上文给出的公式仅为示例、实现方式的特定情况,以及在经验上描述所拦截事件的所获得参数的任何给定公式可以用于计算规则的相似性的系数。
此后,分析模块130可以执行对应用程序的结构的分析,确定可执行代码,该可执行代码可以负责:
·在计算机网络103中发送或接收数据,
·在计算机系统102中执行活动;
然而该可执行代码不涉及:
·从外围数据输入设备101接收数据。
对于具有所需功能的应用程序的可执行代码的搜索可以按如下进行:
1.可以分解应用程序的被分析的代码段,例如,将该代码段从机器代码翻译为一组命令(例如,在编程语言汇编器中);
2.在形成的该组命令中,可以针对负责所需功能的命令执行搜索,例如,可以通过调用API函数send来完成将数据发送到计算机网络等;
3.可以确定和分析被发送到命令的参数;
4.如果参数满足确立的条件,例如将数据发送到给定服务器,则可考虑,所分析的代码段可以负责所需功能。
这类代码可以被识别,及其伪代码可以表现为
应用程序的工作的这类组织可以为远程管理应用程序的特征,该远程管理应用程序可与计算机网络103中的服务器交换数据、在计算机系统102中执行活动,然而不以任何方式处理从外围数据输入设备101接收的数据。
因此,应用程序Backdoor.Win32Agent可以被确定为远程管理应用程序且可以从计算机系统102中去除。
图2示出用于保护计算机免受未经授权的远程管理的示例性方法。该方法开始于步骤201,在该步骤201中可以拦截事件,在步骤202中可以确定事件的参数,在步骤203中可以识别事件,在步骤204中可以确定事件,在步骤205中可以使规则公式化,在步骤206中可以确定相似度,在步骤207中可以确定应用程序,在步骤208中可以分析应用程序,在步骤209中可以宣布裁决,以及在步骤210中可以阻断应用程序。
在步骤210中,可以拦截已发生在计算机系统102中的事件,其中所拦截的事件可包括如下项中的至少一者:
·通过应用程序调用操作系统的API函数;
·使用进程间通信技术在应用程序的进程之间传递数据;
·在计算机系统的软件部件和硬件部件之间传递数据;
·通过应用程序在计算机网络103中传递数据;
·将数据从外围数据输入设备101传递到应用程序。
在安装在计算机系统102中的驱动程序的帮助下完成事件的拦截。
外围数据输入设备101可以包括如下项中的至少一者:
·键盘;
·计算机鼠标;
·触摸屏;以及
·非接触式触摸屏控制器。
在步骤202中,可以确定在步骤201中所拦截的每个事件的参数。
事件参数可以包括如下项中的至少一者:
·事件的类型;
·在操作系统中创建该事件的应用程序或进程的标识符(进程标识符,PID);
·在操作系统中创建该事件的应用程序或服务的标识符(全局唯一标识符,GUID);
·提及的事件之前的事件;以及
·对于被传递的数据:
o数据发送的源和数据接收的源的唯一标识符,其可以包括如下项中的至少一者:
■在计算机网络103中参与数据传输的服务器的网络地址,以及
■计算机系统102的硬件部件的类型,
o被传递的数据的类型;
o被传递的数据的量;
o直接被传递的数据。
在步骤203中,至少基于对在步骤201中所拦截的事件的在步骤202中所确定的参数的分析,在步骤201中所拦截的事件之中,可以包括识别的通过应用程序在计算机网络103中传递数据的事件、以及将数据从外围数据输入设备101传递到应用程序的事件。
在所拦截事件之中识别事件可以至少基于如下项中的至少一者而发生:
·事件的类型;以及
·创建事件的应用程序或应用程序的进程的唯一标识符。
在步骤204中,在步骤201中所拦截的事件之中,可以确定依赖于在步骤203中所识别的事件的至少一个事件,所拦截事件对所识别事件的依赖性至少通过如下项来确定:
·在登记所识别事件与随后登记所拦截事件之间流逝的时间可小于先前确立的时间阈值,或
·所拦截事件的参数与比提及的所拦截事件更早登记的所识别事件的参数相关。
在步骤205中,可以针对在步骤204中确定的至少一个事件确定且形成规则,该规则可以定义在步骤204中所确定的事件的参数对在步骤203中所识别的事件的参数的依赖性。
定义一个事件的参数对另一事件的参数的依赖性的规则可以至少包括:
·矩形变换矩阵使得
P2=T×P1,
其中
为事件#1的参数集,
为事件#2的参数集。
·函数P2=f(a1,a2,...,an,P1)的系数集{ai},
其中
P1为事件#1的参数,
P2为事件#2的参数。
定义一个事件的参数对另一事件的参数的依赖性的规则的公式化可以包括:
·选择表示公式化规则的方式中的至少一者:
o以矩阵形式,其中,一个参数对另一参数的依赖性可以通过与矩阵的运算来表达,
o以向量形式,其中,一个参数对另一参数的依赖性可以通过与一组系数的运算来表达;
·针对事件的指定参数,计算将用于规则的所选表示的系数。
在步骤206中,可以至少基于在步骤205中公式化的规则与至少一个先前创建的规则的比较来确定所提及的规则的相似度,其中,先前创建的规则可以定义在远程管理期间发生在计算机系统102中的事件的参数的依赖性。
可以至少基于从模式识别模块110获得的规则的系数,从规则库121选择先前创建的规则。
可以采用与通过模式识别模块110公式化的规则相同的方式来创建先前创建的规则,即:
a)在计算机系统中可以拦截各个事件,在该计算机系统中先前安装了已知的远程管理应用程序;
b)可以针对所拦截事件确定事件的参数;
c)至少基于对在前一步骤中针对在步骤a)中拦截的事件所确定的参数的分析,可以在提及的事件之中识别通过提及的远程管理应用程序在计算机网络中传递数据的事件以及将数据从外围数据输入设备传递到提及的远程管理应用程序的事件;
d)在步骤a)中拦截的事件之中,可以确定至少一个事件,该至少一个事件可以依赖于在前一步骤中所识别的事件;
e)可以针对在前一步骤中所确定的至少一个事件确定且创建规则,该规则可以定义在前一步骤中所确定的事件的参数对在步骤c)中所识别的事件的参数的依赖性。
规则的比较可以包括如下项中的至少一者:
·确定描述被比较的规则的函数的卷积:
g=f1*f2,
其中
f1为在数学上表达规则#1的函数,
f2为在数学上表达规则#2的函数;
由于规则可以包括输入数据和输出数据之间的预定关系,其中预定(确定性)可以指示该关系被明确定义,例如,不允许歧义性或不确定性,因此该规则可以在数学上通过涉及该规则的输入数据和输出数据的特定函数f来表达;
·确定包括定义被比较的规则的矩阵的元素集的序列的卷积:
g={ak}*{bl},
其中
{ak}为在数学上表达规则#1的矩阵的元素集,
{bl}为在数学上表达规则#2的矩阵的元素集;
由于规则可以包括输入数据和输出数据之间的预定关系,因此该规则可以在数学上通过将规则的输入数据变换为输出数据的特定矩阵A来表达。相似度可以包括至少被确定为如下项的数:
·两个向量的内积,其中每个向量为被比较的规则的系数集;或
·先前确定的卷积的参数的值。
在步骤207中,当在步骤206中确定的相似度超过确立的阈值时,可以确定创建了在步骤201中所拦截的事件的至少一个应用程序,如在步骤202中确定的该事件的参数在步骤205中被用于形成规则,如在前一步骤中确定的该规则与至少一个先前创建的规则的相似度可以高于确立的阈值。
在步骤208中,可以分析在步骤207中所确定的应用程序,其中在分析期间可以确定通过提及的应用程序在计算机网络103中传递数据的事件的参数对从外围数据输入设备101传递数据的事件的参数的依赖性。
对应用程序的分析可以至少包括:
·对应用程序的启发式分析,在此期间可以确定:
o从外围数据输入设备101传递哪些数据,
o哪些活动可以在数据传递之后发生在计算机系统102中,
o此后在计算机网络103中发送或接收哪些数据,
o确定的数据与活动之间的依赖性;
·对应用程序的结构和代码的分析,该代码负责:
o在计算机网络103中传递数据,
o在计算机系统102中执行活动,以及
o在计算机网络103中发送或接收数据。
在步骤209中,可以至少基于在步骤208中执行的分析期间对依赖性的存在的确定来宣布关于远程管理应用程序的检测的裁决。
在步骤210中,可以基于在步骤209中关于远程管理应用程序的检测所宣布的裁决的结果来阻断在步骤207中确定的应用程序。
阻断应用程序可以至少包括如下项中的至少一者:
·阻断在计算机网络中该应用程序参与的数据交换;
·从RAM移除该应用程序;以及
·从信息媒介(诸如硬盘驱动等)移除该应用程序,该信息媒介组成计算机系统102。
图3示出了计算机系统或计算设备的示例,所公开的系统和方法可以在该计算机系统或计算设备上实现。如图所示,该计算机系统包括中央处理单元21、系统存储器22和连接各种系统部件的系统总线23,各种系统部件包括与中央处理单元21相关联的存储器。系统总线23像现有技术已知的任何总线结构一样来实现,该任何总线结构依次包括总线存储器或总线存储器控制器、外围总线和本地总线,能够与任何其它的总线架构交互。系统存储器包括永久存储器(ROM)24和随机存取存储器(RAM)25。基本输入/输出系统(basic input/output system,BIOS)26包括确保在个人计算机20的元件之间的信息传递的基本程序,例如在使用ROM 24加载操作系统时的那些基本程序。
然后,个人计算机20包括用于数据的读取和写入的硬盘27、用于在可移动磁盘29上读取和写入的磁盘驱动器28和用于在可移动光盘31(例如CD-ROM、DVD-ROM和其它的光学信息媒介)上读取和写入的光盘驱动器30。硬盘27、磁盘驱动器28、和光盘驱动器30分别经过硬盘接口32、磁盘接口33和光盘驱动器接口34而连接到系统总线23。驱动器和对应的计算机信息媒介为用于存储个人计算机20的计算机指令、数据结构、程序模块和其它数据的电源独立的模块。
本发明提供了使用硬盘27、可移动磁盘29和可移动光盘31的系统的实现方式,但是应当理解的是,可以采用能够以计算机可读的形式存储数据的其它类型的计算机信息媒介56(固态驱动器、闪存卡、数字盘、随机存取存储器(RAM)等),该其它类型的计算机信息媒介56经由控制器55连接到系统总线23。
计算机20具有保留记录的操作系统35的文件系统36、以及另外的程序应用37、其它的程序模块38和程序数据39。用户能够通过使用输入设备(键盘40、鼠标42)将命令和信息输入到个人计算机20中。可以使用其它的输入设备(未示出):麦克风、操纵杆、游戏控制器、扫描器等等。这样的输入设备通常通过串行端口46而插接到计算机系统20中,该串行端口46转而连接至系统总线,但这样的输入设备可以以其它方式(例如借助并行端口、游戏端口或通用串行总线(USB))被连接。监控器47或其它类型的显示设备也经过接口(诸如视频适配器48)连接至系统总线23。除了监控器47外,个人计算机还可以配备有其它的外围输出设备(未示出),诸如扬声器、打印机等。
个人计算机20能够使用与一个或多个远程计算机49的网络连接,在网络环境中操作。一个或多个远程计算机49也是个人计算机或服务器,其具有在描述个人计算机20的性质时使用的上述元件中的大多数元件或全部元件。其它的设备也可以存在于计算机网络中,例如路由器、网站、对等设备或其它的网络节点。
网络连接可以形成局域计算机网络(Local-Area computer Network,LAN)50和广域计算机网络(Wide-Area computer Network,WAN)。这种网络用在企业计算机网络和公司内部网络中,并且它们通常有权访问因特网。在LAN或WAN网络中,个人计算机20通过网络适配器或网络接口51连接到局域网50。当使用网络时,个人计算机20可以采用调制解调器54或其它的用于提供与广域计算机网络(例如因特网)的通信的模块。作为内部设备或外部设备的调制解调器54通过串行端口46连接至系统总线23。应当注意的是,网络连接仅仅是示例并且不需要描述网络的准确配置,即实际上具有通过技术通信模块建立一个计算机到另一个计算机的连接的其它方式。
在各个方面中,本文所描述的系统和方法可以在硬件、软件、固件或它们的任何组合中实施。如果在软件中实施,则该方法可以被存储为在永久性计算机可读介质上的一个或多个指令或代码。计算机可读介质包括数据存储器。以示例性而非限制性的方式,这种计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM、闪存或其它类型的电存储介质、磁存储介质或光存储介质、或任何其它介质,该任何其它介质可用来承载或存储以指令或数据结构形式的所期望的程序代码并可以被通用计算机的处理器访问。
在各个方面中,本发明中所描述的系统和方法可以按照模块来处理。本文所使用的术语“模块”指的是:现实世界的设备;部件;或使用硬件(例如通过专用集成电路(ASIC)或现场可编程门阵列(field-programmable gate array,FPGA))实施的部件的布置;或硬件和软件的组合,例如通过微处理器系统和实现模块功能的指令组,该指令组(在被执行时)将微处理器系统转换成专用设备。一个模块还可以被实施为两个模块的组合,其中单独地通过硬件促进某些功能,通过硬件和软件的组合促进其它功能。在某些实现方式中,模块的至少一部分(以及在一些情况下,模块的全部)可以被执行在用户计算机或计算设备的处理器(诸如上文在图1和图2中更详细描述的行为分析模块100、模式识别模块110、搜索模块120、和分析模块130)上。因此,每个模块可以以各种适合的配置来实现,而不应受限于本文所列举的任何特定的实现方式。
为了清楚起见,本文没有公开各个方面的所有例行特征。应当领会的是,在本发明的任何实际的实现方式的开发中,必须做出许多特定实现方式的决定,以便实现开发者的特定目标,并且这些特定目标将对于不同的实现方式和不同的开发者变化。应当理解的是,这种开发努力可能是复杂且费时的,但对于了解本发明的优点的本领域的普通技术人员来说仍然是工程的例行任务。
此外,应当理解的是,本文所使用的措辞或术语出于描述而非限制的目的,从而本说明书的术语或措辞应当由本领域技术人员根据本文所提出的教导和指导结合相关领域技术人员的知识来解释。此外,不旨在将本说明书或权利要求中的任何术语归于不常见的或特定的含义,除非明确如此阐述。
本文所公开的各个方面包括本文以说明性方式所提到的已知模块的现在和未来知道的等同物。此外,尽管已经示出并描述了各个方面和应用,但是对于了解本发明的优点的本领域技术人员将显而易见的是,许多比上面所提及的内容更多的修改是可行的,而不脱离本文所公开的发明构思。
Claims (16)
1.一种检测计算机系统的远程管理的计算机实现方法,所述方法包括:
经由所述计算机系统的处理器拦截发生在所述计算机系统中的一个或多个事件;
确定每个所拦截事件的参数;
至少基于确定的所述参数识别关于通过应用程序在计算机网络中的第一数据传递或从所述计算机系统的外围数据输入设备到应用程序的第二数据传递的每个所拦截事件;
至少基于所识别的关于所述第一数据传递和所述第二数据传递的所拦截事件,确定彼此依赖的两个所拦截事件;
确定定义所述两个所拦截事件的所述参数的依赖性的规则;
确定所述规则与先前创建的规则的相似度;
响应于检测到所述相似度超过所选阈值,至少基于所述规则和所述先前创建的规则识别至少一个应用程序;以及
分析所述至少一个应用程序以检测远程管理应用程序。
2.如权利要求1所述的方法,其中,所述一个或多个事件包括如下项中的至少一者:
通过应用程序调用安装在所述计算机系统上的操作系统的API函数;
经由进程间通信技术在应用程序的进程之间传递数据;
在所述计算机系统的软件部件和硬件部件之间传递数据;
通过应用程序在所述计算机网络中传递数据;以及
将数据从至少一个外围数据输入设备传递到应用程序。
3.如权利要求1所述的方法,其中,所述外围数据输入设备包括如下项中的至少一者:键盘;计算机鼠标;触摸屏;以及非接触式触摸屏控制器。
4.如权利要求1所述的方法,其中,确定每个所拦截事件的所述参数包括确定如下项中的一者或多者:每个所拦截事件的类型;在所述计算机系统的操作系统中创建每个所拦截事件的应用程序或进程的标识符;在所述操作系统中创建每个所拦截事件的应用程序或服务的标识符;每个所拦截事件之前的至少一个事件;对于被传递的数据:数据发送的源和数据接收的源的标识符;被传递的数据的类型;被传递的数据的量;以及直接被传递的数据。
5.如权利要求1所述的方法,其中,至少基于所识别的关于所述第一数据传递和所述第二数据传递的所拦截事件确定彼此依赖的所述两个所拦截事件,包括确定如下项中的至少一者:在所识别的第一所拦截事件的第一登记与第二所拦截事件的随后的第二登记之间流逝的时间段小于先前确立的时间阈值;以及所述两个所拦截事件的参数与比当前所拦截事件更早登记的所识别的所拦截事件的参数相关。
6.如权利要求1所述的方法,其中,确定定义所述两个所拦截事件的所述参数的所述依赖性的所述规则包括:
选择矩阵形式和向量形式中的至少一者来表示所述规则;以及
基于所述两个所拦截事件中的一者的所述参数,计算用于所述规则的所选表示的系数。
7.如权利要求1所述的方法,其中,分析所述至少一个应用程序以检测所述远程管理应用程序基于如下项中的至少一者来执行:
在确定如下项中的至少一者时对所述至少一个应用程序的启发式分析:在数据传递期间从所述外围数据输入设备传递哪些数据、哪些活动在所述数据传递之后发生在所述计算机系统中、在所述活动之后在所述计算机网络中发送或接收哪些数据、以及所述数据和所述活动之间的依赖性;或
对所述至少一个应用程序的结构和代码的分析,所述代码负责在所述计算机网络中传递数据、在所述计算机系统中执行活动、以及在所述计算机网络中发送或接收数据。
8.如权利要求1所述的方法,还包括响应于检测到所述远程管理应用程序而至少通过如下方式来阻断所述至少一个应用程序:
阻断在所述计算机网络中与所述至少一个应用程序的数据交换;
从所述计算机系统的RAM移除所述至少一个应用程序;或
从所述计算机系统的信息媒介移除所述至少一个应用程序。
9.一种用于检测计算机系统的远程管理的系统,包括:
所述计算机系统的至少一个处理器,所述至少一个处理器配置成:
拦截发生在所述计算机系统中的一个或多个事件;
确定每个所拦截事件的参数;
至少基于确定的所述参数,识别关于通过应用程序在计算机网络中的第一数据传递或从所述计算机系统的外围数据输入设备到应用程序的第二数据传递的每个所拦截事件;
至少基于所识别的关于所述第一数据传递和所述第二数据传递的所拦截事件确定彼此依赖的两个所拦截事件;
确定定义所述两个所拦截事件的所述参数的依赖性的规则;
确定所述规则与先前创建的规则的相似度;
响应于检测到所述相似度超过所选阈值,至少基于所述规则和所述先前创建的规则识别至少一个应用程序;以及
分析所述至少一个应用程序以检测远程管理应用程序。
10.如权利要求9所述的系统,其中,所述一个或多个事件包括如下项中的至少一者:
通过应用程序调用安装在所述计算机系统上的操作系统的API函数;
经由进程间通信技术在应用程序的进程之间传递数据;
在所述计算机系统的软件部件和硬件部件之间传递数据;
通过应用程序在所述计算机网络中传递数据;以及
将数据从至少一个外围数据输入设备传递到应用程序。
11.如权利要求9所述的系统,其中,所述外围数据输入设备包括如下项中的至少一者:键盘;计算机鼠标;触摸屏;以及非接触式触摸屏控制器。
12.如权利要求9所述的系统,其中,为了确定每个所拦截事件的所述参数,所述处理器配置成确定如下项中的一者或多者:每个所拦截事件的类型;在所述计算机系统的操作系统中创建每个所拦截事件的应用程序或进程的标识符;在所述操作系统中创建每个所拦截事件的应用程序或服务的标识符;每个所拦截事件之前的至少一个事件;对于被传递的数据:数据发送的源和数据接收的源的标识符;被传递的数据的类型;被传递的数据的量;以及直接被传递的数据。
13.如权利要求9所述的系统,其中,为了至少基于所识别的关于所述第一数据传递和所述第二数据传递的所拦截事件确定彼此依赖的所述两个所拦截事件,所述处理器配置成确定如下项中的至少一者:在所识别的第一所拦截事件的第一登记与第二所拦截事件的随后的第二登记之间流逝的时间段小于先前确立的时间阈值;以及所述两个所拦截事件的参数与比当前所拦截事件更早登记的所识别的所拦截事件的参数相关。
14.如权利要求9所述的系统,其中,为了确定定义所述两个所拦截事件的所述参数的所述依赖性的所述规则,所述处理器配置成:
选择矩阵形式和向量形式中的至少一者来表示所述规则;以及
基于所述两个所拦截事件中的一者的所述参数计算用于所述规则的所选表示的系数。
15.如权利要求9所述的系统,其中,所述处理器配置成基于如下项中的至少一者来分析所述至少一个应用程序以检测所述远程管理应用程序:
在确定如下项中的至少一者时对所述至少一个应用程序的启发式分析:在数据传递期间从所述外围数据输入设备传递哪些数据、哪些活动在所述数据传递之后发生在所述计算机系统中、在所述活动之后在所述计算机网络中发送或接收哪些数据、以及所述数据和所述活动之间的依赖性;或
对所述至少一个应用程序的结构和代码的分析,所述代码负责在所述计算机网络中传递数据、在所述计算机系统中执行活动、以及在所述计算机网络中发送或接收数据。
16.如权利要求9所述的系统,其中,所述处理器还配置成响应于检测到所述远程管理应用程序而至少通过如下方式来阻断所述至少一个应用程序:
阻断在所述计算机网络中与所述至少一个应用程序的数据交换;
从所述计算机系统的RAM移除所述至少一个应用程序;或
从所述计算机系统的信息媒介移除所述至少一个应用程序。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2016125280A RU2634173C1 (ru) | 2016-06-24 | 2016-06-24 | Система и способ обнаружения приложения удалённого администрирования |
RU2016125280 | 2016-06-24 | ||
US15/386,423 | 2016-12-21 | ||
US15/386,423 US9811661B1 (en) | 2016-06-24 | 2016-12-21 | System and method for protecting computers from unauthorized remote administration |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107547495A true CN107547495A (zh) | 2018-01-05 |
CN107547495B CN107547495B (zh) | 2020-12-11 |
Family
ID=60153940
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710092597.0A Active CN107547495B (zh) | 2016-06-24 | 2017-02-21 | 用于保护计算机免受未经授权的远程管理的系统和方法 |
Country Status (5)
Country | Link |
---|---|
US (2) | US9811661B1 (zh) |
EP (1) | EP3261012B1 (zh) |
JP (1) | JP6400758B2 (zh) |
CN (1) | CN107547495B (zh) |
RU (1) | RU2634173C1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109523270A (zh) * | 2018-12-21 | 2019-03-26 | 维沃移动通信有限公司 | 一种信息处理方法及终端设备 |
CN111680293A (zh) * | 2020-06-11 | 2020-09-18 | 王利 | 基于互联网的信息监控管理方法、装置及服务器 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2651196C1 (ru) * | 2017-06-16 | 2018-04-18 | Акционерное общество "Лаборатория Касперского" | Способ обнаружения аномальных событий по популярности свертки события |
US10949211B2 (en) * | 2018-12-20 | 2021-03-16 | Vmware, Inc. | Intelligent scheduling of coprocessor execution |
US11580234B2 (en) | 2019-06-29 | 2023-02-14 | Intel Corporation | Implicit integrity for cryptographic computing |
US11403234B2 (en) | 2019-06-29 | 2022-08-02 | Intel Corporation | Cryptographic computing using encrypted base addresses and used in multi-tenant environments |
US11575504B2 (en) | 2019-06-29 | 2023-02-07 | Intel Corporation | Cryptographic computing engine for memory load and store units of a microarchitecture pipeline |
US11250165B2 (en) | 2019-12-20 | 2022-02-15 | Intel Corporation | Binding of cryptographic operations to context or speculative execution restrictions |
US11669625B2 (en) | 2020-12-26 | 2023-06-06 | Intel Corporation | Data type based cryptographic computing |
US11580035B2 (en) | 2020-12-26 | 2023-02-14 | Intel Corporation | Fine-grained stack protection using cryptographic computing |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060020800A1 (en) * | 1996-07-30 | 2006-01-26 | Holden James M | Mixed enclave operation in a computer network |
CN101739337A (zh) * | 2009-12-14 | 2010-06-16 | 北京理工大学 | 一种基于聚类的软件漏洞序列特征的分析方法 |
US20110030057A1 (en) * | 2009-07-29 | 2011-02-03 | Northwestern University | Matching with a large vulnerability signature ruleset for high performance network defense |
CN102567534A (zh) * | 2011-12-31 | 2012-07-11 | 凤凰在线(北京)信息技术有限公司 | 互动产品用户生成内容拦截系统及其拦截方法 |
CN103440459A (zh) * | 2013-09-25 | 2013-12-11 | 西安交通大学 | 一种基于函数调用的Android恶意代码检测方法 |
US8630204B1 (en) * | 2012-10-03 | 2014-01-14 | LiveQoS Inc. | System and method for a TCP mapper |
CN103561004A (zh) * | 2013-10-22 | 2014-02-05 | 西安交通大学 | 基于蜜网的协同式主动防御系统 |
CN104364759A (zh) * | 2012-04-19 | 2015-02-18 | 加泰罗尼亚理工大学 | 用于控制计算机系统上硬件资源使用情况的方法、系统以及可执行代码段 |
US20150052575A1 (en) * | 2013-08-19 | 2015-02-19 | John Myla | Steering Traffic Among Multiple Network Services Using a Centralized Dispatcher |
US20150081764A1 (en) * | 2013-09-13 | 2015-03-19 | Curious Olive, Inc. | Remote Virtualization of Mobile Apps |
CN105184160A (zh) * | 2015-07-24 | 2015-12-23 | 哈尔滨工程大学 | 一种基于API对象调用关系图的Android手机平台应用程序恶意行为检测的方法 |
CN105550584A (zh) * | 2015-12-31 | 2016-05-04 | 北京工业大学 | 一种Android平台下基于RBAC的恶意程序拦截及处置方法 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7168093B2 (en) * | 2001-01-25 | 2007-01-23 | Solutionary, Inc. | Method and apparatus for verifying the integrity and security of computer networks and implementation of counter measures |
US6990515B2 (en) * | 2002-04-29 | 2006-01-24 | International Business Machines Corporation | Secure method and system to prevent internal unauthorized remotely initiated power up events in computer systems |
JP4159100B2 (ja) * | 2006-04-06 | 2008-10-01 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 情報処理装置による通信を制御する方法およびプログラム |
RU2321055C2 (ru) * | 2006-05-12 | 2008-03-27 | Общество с ограниченной ответственностью Фирма "Анкад" | Устройство защиты информации от несанкционированного доступа для компьютеров информационно-вычислительных систем |
US7620992B2 (en) | 2007-10-02 | 2009-11-17 | Kaspersky Lab Zao | System and method for detecting multi-component malware |
WO2009151888A2 (en) * | 2008-05-19 | 2009-12-17 | Authentium, Inc. | Secure virtualization system software |
JP5011234B2 (ja) * | 2008-08-25 | 2012-08-29 | 株式会社日立情報システムズ | 攻撃ノード群判定装置およびその方法、ならびに情報処理装置および攻撃対処方法、およびプログラム |
JP2011053893A (ja) * | 2009-09-01 | 2011-03-17 | Hitachi Ltd | 不正プロセス検知方法および不正プロセス検知システム |
US9705899B2 (en) | 2010-01-26 | 2017-07-11 | Bae Systems Information And Electronic Systems Integration Inc. | Digital filter correlation engine |
US8978136B2 (en) * | 2011-02-17 | 2015-03-10 | Terremark Worldwide, Inc. | Systems and methods for detection and suppression of abnormal conditions within a networked environment |
US8776241B2 (en) * | 2011-08-29 | 2014-07-08 | Kaspersky Lab Zao | Automatic analysis of security related incidents in computer networks |
RU2514140C1 (ru) | 2012-09-28 | 2014-04-27 | Закрытое акционерное общество "Лаборатория Касперского" | Система и способ увеличения качества обнаружений вредоносных объектов с использованием правил и приоритетов |
US8990944B1 (en) * | 2013-02-23 | 2015-03-24 | Fireeye, Inc. | Systems and methods for automatically detecting backdoors |
US20150205962A1 (en) | 2014-01-23 | 2015-07-23 | Cylent Systems, Inc. | Behavioral analytics driven host-based malicious behavior and data exfiltration disruption |
RU2571721C2 (ru) * | 2014-03-20 | 2015-12-20 | Закрытое акционерное общество "Лаборатория Касперского" | Система и способ обнаружения мошеннических онлайн-транзакций |
US9509708B2 (en) | 2014-12-02 | 2016-11-29 | Wontok Inc. | Security information and event management |
-
2016
- 2016-06-24 RU RU2016125280A patent/RU2634173C1/ru active
- 2016-12-21 US US15/386,423 patent/US9811661B1/en active Active
-
2017
- 2017-01-31 EP EP17154002.4A patent/EP3261012B1/en active Active
- 2017-02-17 JP JP2017028315A patent/JP6400758B2/ja active Active
- 2017-02-21 CN CN201710092597.0A patent/CN107547495B/zh active Active
- 2017-10-16 US US15/784,710 patent/US10095865B2/en active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060020800A1 (en) * | 1996-07-30 | 2006-01-26 | Holden James M | Mixed enclave operation in a computer network |
US20110030057A1 (en) * | 2009-07-29 | 2011-02-03 | Northwestern University | Matching with a large vulnerability signature ruleset for high performance network defense |
CN101739337A (zh) * | 2009-12-14 | 2010-06-16 | 北京理工大学 | 一种基于聚类的软件漏洞序列特征的分析方法 |
CN102567534A (zh) * | 2011-12-31 | 2012-07-11 | 凤凰在线(北京)信息技术有限公司 | 互动产品用户生成内容拦截系统及其拦截方法 |
CN104364759A (zh) * | 2012-04-19 | 2015-02-18 | 加泰罗尼亚理工大学 | 用于控制计算机系统上硬件资源使用情况的方法、系统以及可执行代码段 |
US8630204B1 (en) * | 2012-10-03 | 2014-01-14 | LiveQoS Inc. | System and method for a TCP mapper |
US20150052575A1 (en) * | 2013-08-19 | 2015-02-19 | John Myla | Steering Traffic Among Multiple Network Services Using a Centralized Dispatcher |
US20150081764A1 (en) * | 2013-09-13 | 2015-03-19 | Curious Olive, Inc. | Remote Virtualization of Mobile Apps |
CN103440459A (zh) * | 2013-09-25 | 2013-12-11 | 西安交通大学 | 一种基于函数调用的Android恶意代码检测方法 |
CN103561004A (zh) * | 2013-10-22 | 2014-02-05 | 西安交通大学 | 基于蜜网的协同式主动防御系统 |
CN105184160A (zh) * | 2015-07-24 | 2015-12-23 | 哈尔滨工程大学 | 一种基于API对象调用关系图的Android手机平台应用程序恶意行为检测的方法 |
CN105550584A (zh) * | 2015-12-31 | 2016-05-04 | 北京工业大学 | 一种Android平台下基于RBAC的恶意程序拦截及处置方法 |
Non-Patent Citations (1)
Title |
---|
孙海涛: "《基于通信行为分析的木马检测技术研究》", 《中国优秀硕士学位论文全文库 信息科技辑》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109523270A (zh) * | 2018-12-21 | 2019-03-26 | 维沃移动通信有限公司 | 一种信息处理方法及终端设备 |
CN109523270B (zh) * | 2018-12-21 | 2021-05-25 | 维沃移动通信有限公司 | 一种信息处理方法及终端设备 |
CN111680293A (zh) * | 2020-06-11 | 2020-09-18 | 王利 | 基于互联网的信息监控管理方法、装置及服务器 |
CN111680293B (zh) * | 2020-06-11 | 2024-01-16 | 天翼安全科技有限公司 | 基于互联网的信息监控管理方法、装置及服务器 |
Also Published As
Publication number | Publication date |
---|---|
US20180052996A1 (en) | 2018-02-22 |
EP3261012B1 (en) | 2019-10-16 |
CN107547495B (zh) | 2020-12-11 |
US10095865B2 (en) | 2018-10-09 |
JP6400758B2 (ja) | 2018-10-03 |
JP2017228277A (ja) | 2017-12-28 |
US9811661B1 (en) | 2017-11-07 |
RU2634173C1 (ru) | 2017-10-24 |
EP3261012A1 (en) | 2017-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107547495A (zh) | 用于保护计算机免受未经授权的远程管理的系统和方法 | |
EP3287927B1 (en) | Non-transitory computer-readable recording medium storing cyber attack analysis support program, cyber attack analysis support method, and cyber attack analysis support device | |
US10404729B2 (en) | Device, method, and system of generating fraud-alerts for cyber-attacks | |
US20170244746A1 (en) | Assessing Security Risks of Users in a Computing Network | |
US10740411B2 (en) | Determining repeat website users via browser uniqueness tracking | |
US20160036834A1 (en) | System and method for determining category of trustof applications performing interface overlay | |
CN111552973B (zh) | 对设备进行风险评估的方法、装置、电子设备及介质 | |
EP2863611A1 (en) | Device for detecting cyber attack based on event analysis and method thereof | |
US9172692B2 (en) | Systems and methods for securely transferring authentication information between a user and an electronic resource | |
CN103493061A (zh) | 用于应对恶意软件的方法和装置 | |
CN103679031A (zh) | 一种文件病毒免疫的方法和装置 | |
CN109376078A (zh) | 移动应用的测试方法、终端设备及介质 | |
CN107454053A (zh) | 在分布式网络中检测虚拟机上的恶意文件的系统和方法 | |
CN111316272A (zh) | 使用行为和深度分析的先进网络安全威胁减缓 | |
Adler et al. | Cyberbiosecurity and Public Health in the Age of COVID-19 | |
Ayedh M et al. | Systematic Literature Review on Security Access Control Policies and Techniques Based on Privacy Requirements in a BYOD Environment: State of the Art and Future Directions | |
JP7320462B2 (ja) | アクセス権に基づいてコンピューティングデバイス上でタスクを実行するシステムおよび方法 | |
JP2018097848A (ja) | ユーザによるアプリケーションの不公平な評価を防止するシステム及び方法 | |
CN105912927B (zh) | 用于生成应用控制规则的系统和方法 | |
CN105556481B (zh) | 防毒保护系统及方法 | |
Balakrishnan et al. | An analysis on Keylogger Attack and Detection based on Machine Learning | |
Esmaeili et al. | PodBot: a new botnet detection method by host and network-based analysis | |
El Farissi et al. | The analysis performance of an intrusion detection systems based on neural network | |
US10552626B2 (en) | System and method for selecting a data entry mechanism for an application based on security requirements | |
JP6053646B2 (ja) | 監視装置及び情報処理システム及び監視方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |