CN108351942A - 用于自动应用程序分析的技术 - Google Patents

用于自动应用程序分析的技术 Download PDF

Info

Publication number
CN108351942A
CN108351942A CN201680060886.6A CN201680060886A CN108351942A CN 108351942 A CN108351942 A CN 108351942A CN 201680060886 A CN201680060886 A CN 201680060886A CN 108351942 A CN108351942 A CN 108351942A
Authority
CN
China
Prior art keywords
application program
white list
reputation
code establishing
activity
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
Application number
CN201680060886.6A
Other languages
English (en)
Other versions
CN108351942B (zh
Inventor
M·肯尼迪
A·B·加德纳
V·张
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CA Inc
Original Assignee
Symantec Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Symantec Corp filed Critical Symantec Corp
Publication of CN108351942A publication Critical patent/CN108351942A/zh
Application granted granted Critical
Publication of CN108351942B publication Critical patent/CN108351942B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Virology (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了用于自动应用程序分析的技术。在一个实施方案中,可以将所述技术实现为一种方法,所述方法包括:检测代码创建活动;检测先前未知的应用程序的存在;将所检测到的应用程序与所述代码创建活动相关联;以及基于将所检测到的应用程序与所述代码创建活动相关联来允许所述应用程序运行。

Description

用于自动应用程序分析的技术
相关专利申请的交叉引用
本专利申请要求于2015年10月26日提交的美国非临时专利申请14/922,952的优先权,该专利申请全文以引用方式并入本文。
技术领域
本公开整体涉及应用程序安全,并且更具体地讲,涉及用于自动应用程序分析的技术。
背景技术
现代恶意软件检测软件包括高级启发,其用于分析未知进程以识别并防范新颖的恶意代码。但是,一些个人和企业选择不实施这些工具,因为这可能会干扰专有代码;也就是说,公司内部开发的工具和可执行文件可能被错误地标记为恶意软件。
恶意软件检测框架可以包括用户可以用来有意识别授权程序的手动白名单进程,但是手动白名单通常不会被一直使用。对专有软件的误报随后会导致用户禁用恶意软件分析工具。
鉴于上述内容,可以理解,可能存在与当前恶意软件检测技术相关联的显著问题和缺陷。
发明内容
公开了用于自动应用程序分析的技术。在一个实施方案中,可以将该技术实现为一种方法,该方法包括:检测代码创建活动;检测先前未知的应用程序的存在;将所检测到的应用程序与代码创建活动相关联;以及基于将所检测到的应用程序与代码创建活动相关联来允许该应用程序运行。
根据该实施方案的其它方面,允许该应用程序运行还需要自动将该应用程序添加到应用程序白名单。
根据该实施方案的另外的方面,该方法可以进一步包括检测第二应用程序;从远程客户端接收第二应用程序的作为在白名单上的状态;以及基于所接收到的状态允许第二应用程序运行。
根据该实施方案的另外的方面,该方法可以进一步包括确定该应用的范围并将该应用程序的在白名单上的状态发送到该应用程序的范围内的一个或多个远程客户端。
根据该实施方案的另外的方面,允许该应用程序运行还可基于将代码创建活动与和白名单策略相关联的多个参数进行匹配。
根据该实施方案的其它方面,该方法可以进一步包括为该应用生成信誉分数。信誉分数可以基于将所检测到的应用程序与代码创建活动相关联。允许该应用程序运行可还基于该应用程序的信誉分数超过预设的阈值。
根据该实施方案的其它方面,代码创建活动可以是编译应用程序。将所检测到的应用程序与代码创建活动相关联可以包括确定编译的应用程序与所检测到的应用程序相匹配。
根据另一个实施方案,可将所述技术实现为一种制品,该制品包括至少一种处理器可读存储介质以及存储在所述至少一种介质上的指令。所述指令可被配置成能够通过至少一个处理器从所述至少一种介质读取,从而使所述至少一个处理器能够操作以便执行上述方法中的任何和所有步骤。
根据另一个实施方案,可将所述技术实现为一种系统,该系统包括通信地耦接到网络的一个或多个处理器;其中一个或多个处理器被配置成执行相对于任何上述任何实施方案所述的任何和全部步骤。
现在将参考如附图所示的本公开的具体实施方案对本公开进行更详细的描述。虽然下文结合具体实施方案对本公开进行了描述,但应当理解,本公开并不限于此。可以使用本文教导内容的本领域的普通技术人员将认识到另外的具体实施、修改形式和实施方案,以及其它使用领域,这些在如本文所述的本公开的范围内,并且本公开相对于它们可具有显著实用性。
附图说明
为了促进更全面地理解本公开,现在参考附图,其中类似的标号表示类似的元件。这些附图不应被理解为限制本公开,而是旨在仅为示例性的。
图1示出了根据本公开的实施方案的描绘网络架构的框图。
图2示出了根据本公开的实施方案的描绘计算机系统的框图。
图3示出了根据本公开的实施方案的显示出安全模块的框图。
图4示出了根据本公开的实施方案的用于自动应用程序分析的方法。
具体实施方式
本公开的实施方案涉及一种自动应用程序分析框架,该框架识别注册用户的开发活动并且在专有软件被开发和使用时自动将其列入白名单。系统跟踪注册用户对可执行工具在被识别用于内部工具开发的条件下的创建和散播,并自动将这些工具添加到管理员设置的参数内的白名单。在一些具体实施中,系统将工具开发活动与信誉分数相关联,该信誉分数可以包括许多因素,包括用户在该公司的历史和位置,以及该活动的性质。然后可以使用该信誉分数来确定可执行文件是被列入白名单,或在正常启发下检查,或在特定范围内被禁止。
图1示出了根据本公开的实施方案的描绘网络架构100的框图。图1为网络架构100的简化视图,该网络架构可以包括未示出的另外的元件。网络架构100可以包括客户端系统110、120和130,以及服务器140A-140N(可使用图2所示的计算机系统200来实施它们中的每个的一者或多者)。客户端系统110、120和130可以通信地耦接到网络150。服务器140A可以通信地耦接到存储设备160A(1)-(N),并且服务器140B可以通信地耦接到存储设备160B(1)-(N)。服务器140A和140B可以通信地耦接到SAN(存储区域网络)结构170。SAN结构170可以经由网络150支持通过服务器140A和140B以及通过客户端系统110、120和130来访问存储设备180(1)-(N)。
参考图2的计算机系统200,可使用调制解调器247、网络接口248或一些其它方法来提供从客户端系统110、120和130中的一者或多者到网络150的连接。客户端系统110、120和130可使用(例如)web浏览器或其它客户端软件(未示出)来访问服务器140A或140B上的信息。此类客户端可允许客户端系统110、120和130访问由服务器140A或140B或存储设备160A(1)-(N)、160B(1)-(N)和/或180(1)-(N)中的一者托管的数据。
网络150和190可以为局域网(LAN)、广域网(WAN)、互联网、蜂窝网络、卫星网络或允许在客户端110、120、130、服务器140、以及通信地耦接到网络150和190的其它设备之间通信的其它网络。网络150和190还可以包括一个或任意数量的示例类型的上述网络,所述网络作为独立的网络运行或与每个其它网络协同运行。网络150和190可以利用其通信地耦接到的一个或多个客户端或服务器的一个或多个协议。网络150和190可以转换到或从其它协议转换到网络设备的一个或多个协议。虽然网络150和190各自被描述为一个网络,但应当理解,根据一个或多个实施方案,网络150和190可各自包括多个互连的网络。
存储设备160A(1)-(N)、160B(1)-(N)和/或180(1)-(N)可以是网络可访问存储器,并且相对于服务器140A或140B可以是本地的、远程的或它们的组合。存储设备160A(1)-(N)、160B(1)-(N)和/或180(1)-(N)可以利用廉价磁盘冗余阵列(“RAID”)、磁带、磁盘、存储区域网络(“SAN”)、互联网小型计算机系统接口(“iSCSI”)SAN、光纤通道SAN、通用互联网文件系统(“CIFS”)、网络附加存储器(“NAS”)、网络文件系统(“NFS”)、基于光的存储器或其它计算机可访问存储器。存储设备160A(1)-(N)、160B(1)-(N)和/或180(1)-(N)可用于备份或存档目的。此外,存储设备160A(1)-(N)、160A(1)-(N)和/或180(1)-(N)可实现为多层存储环境的一部分。
根据一些实施方案,客户端110、120和130可以为智能电话、PDA、台式计算机、膝上型计算机、服务器、其它计算机或通过无线或有线连接耦接到网络150的其它设备。客户端110、120和130可以从用户输入、数据库、文件、网络服务和/或应用程序编程接口接收数据。在一些具体实施中,客户端110、120和130可以具体是能够上网的移动设备,诸如智能电话或平板电脑。
服务器140A和140B可以是应用程序服务器、存档平台、备份服务器、网络存储设备、媒体服务器、电子邮件服务器、文档管理平台、企业搜索服务器,或通信地耦接到网络150的其它设备。服务器140A和140B可利用存储设备160A(1)-(N)、160B(1)-(N)和/或180(1)-(N)中的一者来存储应用程序数据、备份数据或其它数据。服务器140A和140B可以为主机,诸如应用程序服务器,该主机可以处理在客户端110、120和130与备份平台、备份进程和/或存储器之间传输的数据。根据一些实施方案,服务器140A和140B可以为用于备份和/或存档数据的平台。可基于备份策略和/或应用的存档、与数据源相关联的属性、可用于备份的空间、可用在数据源处的空间,或其它因素来备份或存档数据的一个或多个部分。
根据一些实施方案,客户端110、120和/或130可以包含用于系统监测和保护的软件的一个或多个部分,诸如例如安全模块154。用于协调和控制安全模块154的部件可位于网络中心位置,诸如服务器140。例如,服务器140A可以是服务器、防火墙、网关,或可执行一个或多个动作来支持系统和网络安全元件的管理的其它网络元件。根据一些实施方案,网络190可以为外部网络(例如,互联网),并且服务器140A可以为在一个或多个内部组件和客户端与外部网络之间的网关或防火墙。
图2示出了根据本公开的实施方案的计算机系统200的框图。计算机系统200适用于实施根据本公开的技术。计算机系统200可包括可将计算机系统200的主要子系统(诸如中央处理器214)互连的总线212、系统存储器217(例如RAM(随机存取存储器)、ROM(只读存储器)、闪存RAM等)、输入/输出(I/O)控制器218、外部音频设备(诸如经由音频输出接口222的扬声器系统220)、外部设备(诸如经由显示适配器226的显示屏224)、串行端口228和230、键盘232(经由键盘控制器233进行连接)、存储器接口234、可操作以接收用于打印的数据和/或图像的打印机237、可操作以与光纤通道网络290连接的主机总线适配器(HBA)接口卡235A、可操作以与SCSI总线239连接的主机总线适配器(HBA)接口卡235B以及可操作以接收光盘242的光盘驱动器240。此外,还可以包括鼠标246(或经由串行端口228耦接到总线212的其它点击设备)、调制解调器247(经由串行端口230耦接到总线212)、网络接口248(直接耦接到总线212)、电源管理器250、以及电池252。
总线212允许在中央处理器214和系统存储器217之间进行数据通信,如前文提及,系统存储器可以包括只读存储器(ROM)或闪存存储器(均未示出)以及随机存取存储器(未示出)。RAM可以是可将操作系统和应用程序加载到其中的主存储器。除了其它代码,ROM或闪存存储器可以包括控制基本硬件操作(诸如与外围组件的交互)的基本输入输出系统(BIOS)。与计算机系统200驻存在一起的应用程序可以存储在计算机可读介质上并经由计算机可读介质进行访问,计算机可读介质诸如硬盘驱动器(例如,固定磁盘244)、光盘驱动器(例如,光盘驱动器240)、打印机237、可移动磁盘驱动器(例如,通用串行总线驱动器)或其它存储介质。根据一些实施方案,安全模块154可驻存在系统存储器217中。
存储接口234与计算机系统200的其它存储接口一样可以连接到标准计算机可读介质(诸如固定磁盘驱动器244)以用于存储和/或检索信息。固定磁盘驱动器244可以是计算机系统200的一部分,或者可以是独立的,并且可以通过其它接口系统进行访问。调制解调器247可以经由电话链路提供与远程服务器的直接连接,或经由互联网服务提供方(ISP)提供与互联网的直接连接。网络接口248可以经由直接网络链路提供与远程服务器的直接连接,或经由POP(入网点)提供与互联网的直接连接。网络接口248可以使用无线技术提供此类连接,包括数字蜂窝电话连接、蜂窝数字分组数据(CDPD)连接、数字卫星数据连接等。
很多其它设备或子系统(未示出)可以通过相似的方式进行连接(例如文档扫描仪、数码相机等)。相反,不需要提供图2中显示的所有设备亦可实施本公开。可以使用与图2中所示方式不同的方式来互连设备和子系统。用于实施本公开的代码可以存储在计算机可读存储介质中,所述计算机可读存储介质诸如系统存储器217、固定磁盘244或光盘242中的一者或多者。用于实施本公开的代码还可以通过一个或多个接口来接收并存储在存储器中。计算机系统200上提供的操作系统可以是 或其它已知的操作系统。
电源管理器250可以监测电池252的功率水平。电源管理器250可以提供一个或多个API(应用程序编程接口)以允许确定功率水平、在关闭计算机系统200之前保留的时窗、功率消耗率、计算机系统正使用市电(例如,交流电源)还是电池电源的指示器、以及其它电源相关的信息。根据一些实施方案,可以远程访问电源管理器250的API(例如,可以通过网络连接访问远程备份管理模块)。根据一些实施方案,电池252可以是位于计算机系统200近旁的或远离计算机系统200的不间断电源(UPS)。在此类实施方案中,电源管理器250可以提供与UPS的功率水平有关的信息。
图3示出了安全模块154的一个示例,其可以设置在最终用户客户端系统上,用于监测系统活动并且保护系统免受恶意代码的侵害。尽管在最终用户系统上被示为模块,但应当理解,所示模块中的一个或多个可以整体或部分地体现在网络上可用的系统的一部分中,并且可以为多个客户端系统集中管理本文所示的各种功能。
安全模块154可以包括活动监视器302,该监视器被定位为识别客户端设备的用户采取的动作并且确定这些动作是否与代码创建相关联。认证模块304可以包括用于识别在系统内注册的用户的机制,诸如通过链接到系统本身内的本地认证机制。此外,认证模块304可以确认用户注册到安全模块154内的其它模块,以便将各种决定和动作与特定的注册用户相关联。
信誉模块306的任务是维护在客户端系统上运行的应用程序的信誉分数。在一些具体实施中,信誉分数的产生可能涉及各种高级启发,其可包括应用程序的性质和谱系以及任何预期或可疑活动的记录。此外,在本发明的实施方案中,信誉分数还将考虑活动监视器302记录的任何开发活动以及与生成信誉分数过程中的开发活动相关的注册用户或用户的身份。
在一些具体实施中,被显示为与由授权编译器应用程序编译的应用程序密切匹配的应用程序的信誉分数可能明显更高。在一些具体实施中,将应用程序与代码创建活动相匹配可以包括比较校验和、文件大小以及用于验证真实文件的其它信息。
此外,在一些具体实施中,基于与被识别为已经将应用程序引入系统的注册用户相关联的信誉分数,应用程序的信誉分数可以明显更高或更低。用户的信誉分数可以基于许多因素,包括用户的先前记录的活动,用户的在与系统相关联的组织内的位置,用户的责任(例如,用户是否被该组织雇用为IT专业人员并被期望开发系统支持工具),系统管理员提供的自定义设置,用户所关联的平台和应用程序的性质等。
值得注意的一个特别因素是,如果用户先前已经与被确定为含有恶意代码的一个或多个分析文件相关联,那么作为结果,该用户的信誉分数和与该用户相关联的其它应用程序的分数可能会较低。类似地,与稍后已经确认为被系统正确认定为安全的应用程序相关联的用户可以具有较高的信誉分数,因为来自该用户的文件已经被证明是可信的。
在一些具体实施中,策略模块307可以提供独立于信誉分数的用于自动将应用程序列入白名单的另一途径。管理员或具有适当凭据的其它用户能够指定一个或多个策略,根据这些策略,与生成专有工具相关联的特定活动可以自动导致所产生的可执行文件被列入白名单。例如,管理员可以指定特定用户、特定计算机系统和平台、用于创建可执行文件的特定应用程序、用于所产生的可执行文件的特定目录,以及生成可执行文件期间的特定时间框架。依据策略生成的任何可执行文件(包括管理员设置的所有参数)都将包括在白名单上。另一个参数可以是使用范围,也就是说,只有在特定的一组指定系统上检测到时,可执行文件才可被列入白名单,而在系统中的其它位置检测到时不被列入白名单。
所述的策略模块307可以独立于信誉模块306起作用,并且应当理解,某些系统可以包括自动白名单策略或信誉分数,但不同时包括这两者。但是,当这两者都在使用时,这些机制之间也可以发生交互,例如,在一些具体实施中,在策略范围之外创建的但包括策略的一个或多个参数的代码(诸如由策略指定的用户使用策略指定的应用程序创建的代码,但是在未指定的时间、在未指定的系统上)可以由于部分匹配而被赋予更高的信誉分数。或者,在一些具体实施中,这样的可执行文件可以被赋予非常低的信誉分数,因为在未批准的时间、在未经批准的机器上创建的可执行文件可能是安全漏洞的征兆。机器学习和其它启发可以允许某些系统从明确提供的策略外推出其它最有可能也可信的活动。
应用程序范围跟踪器模块308可负责对应用程序如何分布在与系统相关联的较大网络内保持跟踪。在一些具体实施中,其它系统上的应用程序范围跟踪器308可以共同通信以确定特定应用程序是在本地使用单个机器部署、在服务器中心内部署、在整个局域网内部署、在客户网站上部署、或全局部署。在一些具体实施中,应用程序的范围可以影响其信誉分数。与有意散播经过验证的应用程序相关联的活动可以作为该应用程序被授权的证据。随着时间的推移,广泛认证的散播可能被视为网络内事实上的授权。
安全模块154可以包括应用程序白名单310,该白名单可以包括范围从局部变化到全局的应用程序,已经为这些应用程序生成了足够高的信誉分数以使其被视为可靠地安全。白名单310可以包括关于肯定地识别应用程序所需的可执行文件和支持文件的各种信息,诸如系统注册数据、文件大小和校验和信息、名称和典型文件路径信息等。在一些具体实施中,应用程序白名单310可以跨系统网络在模块之间共享,或者可以从中央网络位置远程维护并管理。
安全模块154基于由与活动跟踪器302和认证模块304一起工作的信誉模块306生成的分数来自动将应用程序添加到白名单310。在某些情况和条件下,可能会提供各种阈值;在一些实施方案中,可以使用管理员建立的或默认的阈值,并且只要该分数保持,信誉分数超过所建立的阈值的应用程序就可以被自动列入白名单。
安全模块154还可以包括恶意软件干预模块312,该模块可以包括本领域已知的用于清理、隔离、禁用和/或阻止恶意软件的任何工具。在一些具体实施中,恶意软件干预模块312可以在干预特定应用程序的操作之前对照白名单310检查应用程序。白名单310上的应用程序可以自动地免受模块312的干预,或者系统可以在干预白名单应用程序之前通知管理员或最终用户并且要求许可。相比之下,白名单310上未找到的应用程序可以更快速地被恶意软件干预模块312采取行动,或者需要更少的来自用户的警报和许可。在一些具体实施中,信誉分数下降到低于甚至更低阈值的代码可以被完全禁止运行,或者只有在用户明确警告和授权之后才能运行。
图4示出了根据本公开的一些实施方案的用于自动应用程序分析的方法400。应当理解,在已经描述的范围内可以有多种方法,并且下面的方法400仅为了进行示意性的说明而给出。所述的步骤可以由任何合适的系统执行,诸如上述安全模块154。
系统监测代码创建活动(402)。在一些具体实施中,这可能主要涉及识别并监测能够编译代码以生成可执行文件的应用程序。其它具体实施还可以涉及监测被认为与代码创建和修改相关联的编辑器、反汇编器和其它应用程序,以便识别不应该被错误地识别为恶意软件的新的或新修改的应用程序的创建。
当系统检测并分析新的未知应用程序时,如果它与由监测的创建活动生成的应用程序相匹配,则可以通过该活动识别该应用程序(404)。然后它也可以通过与相同活动相关联的注册用户来识别(406)。
系统对照包括在一个或多个已建立的白名单策略中的参数来比较与该应用程序相关联的创建活动(408)。如果代码创建活动匹配所有已建立的参数,则该应用程序被自动列入白名单(410)。如上所述,基于策略的细节、创建参数或用户的后续散播活动,将应用程序列入白名单可以在范围中变化。在一些具体实施中,只有经批准的组内的用户才允许运行可执行文件,而不需要系统进一步审查。
在一些具体实施中,当代码创建发生在任何建立的策略之外时,如果创建活动被分配足够高的信誉分数,则自动列入白名单仍然可以发生。基于创建活动的细节、注册用户的细节、应用程序的声称范围、应用程序的文件与各种记录之间的比较(包括散列和元数据)以及本领域中已知的其它分析因素,应用程序被分配信誉分数(412)。如上所述,信誉分数可能受多种因素影响,包括系统管理员提供的设置。
然后将该信誉分数与阈值进行比较(414),该阈值本身可以根据包括管理员偏好在内的多个因素来设置。如果信誉分数足够高,诸如因为该应用程序由IT中工作的受信任的用户编译,则该应用程序被自动添加到白名单(416)。不与高信誉分数相关联的应用程序可能被进一步分析为潜在恶意软件(418)并且不享有白名单授予的任何程序豁免。
此时,应当注意,如上所述的根据本公开的用于自动应用程序分析的技术可在一定程度上涉及输入数据的处理以及输出数据的生成。该输入数据处理和输出数据生成可在硬件或软件中实施。例如,特定电子部件可以是采用的安全模块或用于实施与如上所述的根据本公开的自动应用程序分析相关联的功能的类似或相关的电路。或者,根据指令进行操作的一个或多个处理器可以实施与如上所述的根据本公开的自动应用程序分析相关联的功能。如果是这种情况,则其在本发明的范围之内,因为此类指令可存储在一个或多个非暂态处理器可读存储介质(例如,磁盘或其它存储介质)上,或经由一个或多个载波中体现的一个或多个信号而传输到一个或多个处理器。
本公开并不限于本文所述的特定实施方案的范围内。实际上,通过前述具体实施方式和附图,除了本文所述的那些内容之外,本公开的其它各种实施方案和修改形式对于本领域的普通技术人员而言将是显而易见的。因此,此类其它实施方案和修改形式旨在落入本公开的范围内。此外,虽然本文针对至少一个特定用途在至少一个特定环境中以至少一种特定具体实施的情形来对本公开进行了描述,但本领域的那些普通技术人员将认识到,本发明的适用性并不局限于此,并且本公开可针对任意数量的用途在任意数量的环境中有利地实施。因此,应根据如本文所述的本公开的全部范围和实质来理解下文所阐述的权利要求。

Claims (20)

1.一种计算机实现的方法,包括:
检测代码创建活动;
检测先前未知的应用程序的存在;
将所检测到的应用程序与所述代码创建活动相关联;以及
基于将所检测到的应用程序与所述代码创建活动相关联来允许所述应用程序运行。
2.根据权利要求1所述的方法,其中允许所述应用程序运行还需要自动将所述应用程序添加到应用程序白名单。
3.根据权利要求2所述的方法,还包括:
检测第二应用程序;
从远程客户端接收所述第二应用程序的作为在白名单上的状态;以及
基于所接收到的状态允许所述第二应用程序运行。
4.根据权利要求2所述的方法,还包括:
确定所述应用程序的范围;以及
将所述应用程序的在所述白名单上的状态发送到所述应用程序的范围内的一个或多个远程客户端。
5.根据权利要求1所述的方法,其中允许所述应用程序运行还基于将所述代码创建活动与和白名单策略相关联的多个参数进行匹配。
6.根据权利要求1所述的方法,还包括:
生成所述应用程序的信誉分数;
其中所述信誉分数基于将所检测到的应用程序与所述代码创建活动相关联,并且
其中允许所述应用程序运行还基于所述应用程序的信誉分数超过预设阈值。
7.根据权利要求1所述的方法,
其中所述代码创建活动正在编译应用程序;并且
其中将所检测到的应用程序与所述代码创建活动相关联包括确定所编译的应用程序与所检测到的应用程序相匹配。
8.至少一种存储计算机指令程序的非暂态处理器可读存储介质,所述非暂态处理器可读存储介质被配置为能够由至少一个处理器读取以指示所述至少一个处理器执行用于执行根据权利要求1所述的方法的计算机方法。
9.一种制品,包括:
至少一种非暂态处理器可读存储介质;以及
存储在所述至少一种介质上的指令;
其中所述指令被配置成能够通过至少一个处理器从所述至少一种介质读取,从而使所述至少一个处理器操作以便:
检测代码创建活动;
检测先前未知的应用程序的存在;
将所检测到的应用程序与所述代码创建活动相关联;
基于将所检测到的应用程序与所述代码创建活动相关联来允许所述应用程序运行。
10.根据权利要求9所述的制品,其中允许所述应用程序运行还需要自动将所述应用程序添加到应用程序白名单。
11.根据权利要求10所述的制品,其中所述至少一个处理器还能够操作以:
检测第二应用程序;
从远程客户端接收所述第二应用程序的作为在白名单上的状态;并且
基于所接收到的状态允许所述第二应用程序运行。
12.根据权利要求10所述的制品,其中所述至少一个处理器还能够操作以:
确定所述应用程序的范围;并且
将所述应用程序的在所述白名单上的状态发送到所述应用程序的范围内的一个或多个远程客户端。
13.根据权利要求9所述的制品,其中允许所述应用程序运行还基于将所述代码创建活动与和白名单策略相关联的多个参数进行匹配。
14.根据权利要求9所述的方法,其中所述至少一个处理器还能够操作以:
生成所述应用程序的信誉分数;
其中所述信誉分数基于将所检测到的应用程序与所述代码创建活动相关联,并且
其中允许所述应用程序运行还基于所述应用程序的信誉分数超过预设阈值。
15.一种系统,包括:
一个或多个处理器,所述一个或多个处理器通信地耦接到网络;其中所述一个或多个处理器被配置为:
检测代码创建活动;
检测先前未知的应用程序的存在;
将所检测到的应用程序与所述代码创建活动相关联;
基于将所检测到的应用程序与所述代码创建活动相关联来允许所述应用程序运行。
16.根据权利要求15所述的系统,其中允许所述应用程序运行还需要自动将所述应用程序添加到应用程序白名单。
17.根据权利要求16所述的系统,其中所述一个或多个处理器还被配置为:
检测第二应用程序;
从远程客户端接收所述第二应用程序的作为在白名单上的状态;并且
基于所接收到的状态允许所述第二应用程序运行。
18.根据权利要求16所述的系统,其中所述一个或多个处理器还被配置为:
确定所述应用程序的范围;并且
将所述应用程序的在所述白名单上的状态发送到所述应用程序的范围内的一个或多个远程客户端。
19.根据权利要求15所述的系统,其中允许所述应用程序运行还基于将所述代码创建活动与和白名单策略相关联的多个参数进行匹配,信誉分数还基于与注册用户相关联的分数。
20.根据权利要求15所述的系统,其中所述一个或多个处理器还被配置为:
生成所述应用程序的信誉分数;
其中所述信誉分数基于将所检测到的应用程序与所述代码创建活动相关联,并且
其中允许所述应用程序运行还基于所述应用程序的信誉分数超过预设阈值。
CN201680060886.6A 2015-10-26 2016-09-27 用于自动应用程序分析的技术 Active CN108351942B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/922952 2015-10-26
US14/922,952 US9858410B2 (en) 2015-10-26 2015-10-26 Techniques for automated application analysis
PCT/US2016/053966 WO2017074632A1 (en) 2015-10-26 2016-09-27 Techniques for automated application analysis

Publications (2)

Publication Number Publication Date
CN108351942A true CN108351942A (zh) 2018-07-31
CN108351942B CN108351942B (zh) 2022-07-01

Family

ID=57121547

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680060886.6A Active CN108351942B (zh) 2015-10-26 2016-09-27 用于自动应用程序分析的技术

Country Status (5)

Country Link
US (1) US9858410B2 (zh)
EP (1) EP3369029B1 (zh)
JP (1) JP6602471B2 (zh)
CN (1) CN108351942B (zh)
WO (1) WO2017074632A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112912840A (zh) * 2019-03-13 2021-06-04 谷歌有限责任公司 调试应用以供由应用交付服务器交付

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060150256A1 (en) * 2004-12-03 2006-07-06 Whitecell Software Inc. A Delaware Corporation Secure system for allowing the execution of authorized computer program code
US20070261112A1 (en) * 2006-05-08 2007-11-08 Electro Guard Corp. Network Security Device
CN101901314A (zh) * 2009-06-19 2010-12-01 卡巴斯基实验室封闭式股份公司 反恶意软件处理中误报的检测和最小化
CN102171657A (zh) * 2008-06-30 2011-08-31 赛门铁克公司 实体信誉评分的简化传送
US8214905B1 (en) * 2011-12-21 2012-07-03 Kaspersky Lab Zao System and method for dynamically allocating computing resources for processing security information
US20130097660A1 (en) * 2011-10-17 2013-04-18 Mcafee, Inc. System and method for whitelisting applications in a mobile network environment
US20130139165A1 (en) * 2011-11-24 2013-05-30 Andrey P. Doukhvalov System and method for distributing processing of computer security tasks
US20140082729A1 (en) * 2012-09-19 2014-03-20 Estsecurity Co., Ltd. System and method for analyzing repackaged application through risk calculation
WO2014130472A1 (en) * 2013-02-25 2014-08-28 Beyondtrust Software, Inc. Systems and methods of risk based rules for application control

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9378373B2 (en) * 2007-09-24 2016-06-28 Symantec Corporation Software publisher trust extension application
US9495538B2 (en) * 2008-09-25 2016-11-15 Symantec Corporation Graduated enforcement of restrictions according to an application's reputation
US8584235B2 (en) * 2011-11-02 2013-11-12 Bitdefender IPR Management Ltd. Fuzzy whitelisting anti-malware systems and methods
CA2874489A1 (en) * 2012-05-09 2013-11-14 SunStone Information Defense Inc. Methods and apparatus for identifying and removing malicious applications

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060150256A1 (en) * 2004-12-03 2006-07-06 Whitecell Software Inc. A Delaware Corporation Secure system for allowing the execution of authorized computer program code
US20070261112A1 (en) * 2006-05-08 2007-11-08 Electro Guard Corp. Network Security Device
CN102171657A (zh) * 2008-06-30 2011-08-31 赛门铁克公司 实体信誉评分的简化传送
CN101901314A (zh) * 2009-06-19 2010-12-01 卡巴斯基实验室封闭式股份公司 反恶意软件处理中误报的检测和最小化
US20130097660A1 (en) * 2011-10-17 2013-04-18 Mcafee, Inc. System and method for whitelisting applications in a mobile network environment
US20130139165A1 (en) * 2011-11-24 2013-05-30 Andrey P. Doukhvalov System and method for distributing processing of computer security tasks
US8214905B1 (en) * 2011-12-21 2012-07-03 Kaspersky Lab Zao System and method for dynamically allocating computing resources for processing security information
US20140082729A1 (en) * 2012-09-19 2014-03-20 Estsecurity Co., Ltd. System and method for analyzing repackaged application through risk calculation
WO2014130472A1 (en) * 2013-02-25 2014-08-28 Beyondtrust Software, Inc. Systems and methods of risk based rules for application control

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112912840A (zh) * 2019-03-13 2021-06-04 谷歌有限责任公司 调试应用以供由应用交付服务器交付

Also Published As

Publication number Publication date
US9858410B2 (en) 2018-01-02
US20170116409A1 (en) 2017-04-27
JP6602471B2 (ja) 2019-11-06
JP2018531470A (ja) 2018-10-25
EP3369029A1 (en) 2018-09-05
CN108351942B (zh) 2022-07-01
EP3369029B1 (en) 2020-12-30
WO2017074632A1 (en) 2017-05-04

Similar Documents

Publication Publication Date Title
US10154066B1 (en) Context-aware compromise assessment
US9401925B1 (en) Systems and methods for detecting security threats based on user profiles
CN109525558B (zh) 数据泄露检测方法、系统、装置及存储介质
CA2895265C (en) Systems and methods for enforcing data-loss-prevention policies using mobile sensors
US11700264B2 (en) Systems and methods for role-based computer security configurations
US20130136263A1 (en) System and method for registering a personal computing device to a service processor
CN111416811B (zh) 越权漏洞检测方法、系统、设备及存储介质
US20170324777A1 (en) Injecting supplemental data into data queries at network end-points
CN108293044A (zh) 用于经由域名服务流量分析来检测恶意软件感染的系统和方法
US10637864B2 (en) Creation of fictitious identities to obfuscate hacking of internal networks
WO2022087510A1 (en) Behavior detection and verification
CN105144653A (zh) 用于预测并保护鱼叉式网络钓鱼目标的技术
JP5936798B2 (ja) ログ分析装置、不正アクセス監査システム、ログ分析プログラム及びログ分析方法
US9122869B1 (en) Systems and methods for detecting client types
Vecchiato et al. The perils of Android security configuration
CN108351942A (zh) 用于自动应用程序分析的技术
CN116226865A (zh) 云原生应用的安全检测方法、装置、服务器、介质及产品
CN115600201A (zh) 一种电网系统软件的用户账户信息安全处理方法
US10447736B1 (en) Systems and methods for providing security in smart buildings
US8615805B1 (en) Systems and methods for determining if a process is a malicious process
US9172719B2 (en) Intermediate trust state
JP2018531470A6 (ja) 自動化されたアプリケーション分析のための技法
Osaji Framework Compliance Assessment Report Version 1.0
US20180217943A1 (en) Automatic Encryption of Failing Drives
CN114021125A (zh) 终端设备异常检测方法、装置、计算设备及存储介质

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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200103

Address after: California, USA

Applicant after: CA,INC.

Address before: California, USA

Applicant before: Symantec Corporation

GR01 Patent grant
GR01 Patent grant