CN105431859A - 指示恶意软件的信号标记 - Google Patents

指示恶意软件的信号标记 Download PDF

Info

Publication number
CN105431859A
CN105431859A CN201380078666.2A CN201380078666A CN105431859A CN 105431859 A CN105431859 A CN 105431859A CN 201380078666 A CN201380078666 A CN 201380078666A CN 105431859 A CN105431859 A CN 105431859A
Authority
CN
China
Prior art keywords
mark
malware
rule
computing equipment
signal
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.)
Pending
Application number
CN201380078666.2A
Other languages
English (en)
Inventor
弗兰克·C·赫聚
塞娅尔·P·卡马尼
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.)
Antite Software Co., Ltd.
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of CN105431859A publication Critical patent/CN105431859A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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/1416Event detection, e.g. attack signature detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • 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
    • G06F21/562Static detection
    • G06F21/563Static detection by source code analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • 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

Abstract

本发明提供的示例实施例涉及产生指示恶意软件的信号标记。对已知的恶意软件的应用程序代码和已知的干净应用程序代码进行代码分析以产生标记。指示恶意软件的信号标记基于所述标记的分组而被产生。

Description

指示恶意软件的信号标记
背景技术
服务提供商和制造商面临的挑战是例如通过向用户提供应用程序,以提供质量和价值给消费者。计算机系统和个人计算机一直是恶意软件或恶意软件程序的目标。此外,恶意软件开发者已经开始开发诸如智能手机的移动设备的恶意软件。
附图说明
下面的详细说明参照附图,附图中:
图1和图2为根据各个示例的、能够产生指示恶意软件的信号标记的计算设备的框图;
图3为根据一个示例的、用于根据指示恶意软件的标记的分组来产生成组信号标记的方法的流程图;
图4为根据一个示例的、能够被用来确定未知应用程序是否包括恶意软件的、用于产生信号标记恶意软件可能性数据库的方法的流程图;和
图5为根据一个示例的、能够根据标记的分组来产生指示恶意软件的信号标记的计算设备的框图。
具体实施方式
恶意软件攻击正在被向着诸如智能手机和平板电脑的移动设备编写。移动恶意软件正在上升,并且威胁要从消费者那里偷钱。应用程序商店或市场,例如专有的商店和可替代的交易市场,正在变得广为流行,并已成为移动恶意软件攻击的目标。移动恶意软件检测已被证明是一个难以实现并且具有挑战性的目标。除了其它挑战的原因,恶意软件应用程序可以很容易地改变它们的签名以欺骗并绕过使用签名的病毒扫描程序的检测。此外,对应用程序进行动态分析是昂贵且费时的。因此,在最终用户的设备上安装恶意软件期间,或当恶意软件正被在应用市场上提供时,检测恶意软件可能是富有挑战性的。
因此,本发明公开的各个实施例涉及用于帮助检测恶意软件应用程序的、用于产生信号标记的方法。该方法提供了低成本和低计算能力的益处,以及提供在安装时,从良性应用程序快速检测恶意软件应用程序。
静态分析引擎可以被用来对可能被存储在一个特定市场或多个市场上的二进制文件进行字节代码分析以产生标记。在某些示例中,标记是致使规则被激发的、应用程序的成组原始数据。二进制文件可以被配置来运行于一个特定类型的操作系统或多个类型的操作系统中。操作系统的示例包括安卓、视窗、IOS和赛班等。二进制文件可以包括已知是清洁的部分,以及已知具有恶意软件的部分。字节代码分析的结果可以通过启发式评估过程被运行,以产生可被用来把未知应用程序分类为是恶意软件或是良性的信号标记。因此,在一些示例中,信号标记是可以被作为离散条目记录在恶意软件可能性数据库中的已处理项目。这样,信号标记可以在恶意软件判定处理中,被用于根据对被与从未知应用程序产生的标记比较的信号标记的贝叶斯分析,来确定未知应用程序是否包括恶意软件。
图1和图2为根据各个示例的、能够产生指示恶意软件的信号标记的计算设备的框图。计算设备100a和100b包括可以被用于产生信号标记的组件,信号标记可以被用于确定应用程序代码或应用程序二进制文件是否包括恶意软件。各个计算设备100a和100b可以是笔记本计算机,台式计算机,平板计算设备,无线设备,服务器,工作站,或任何其它计算设备。在一些示例中,计算设备100可以连接到包括已知包括恶意软件或不包括恶意软件的一组或多组应用程序代码的一个或多个数据库。此外,应用程序代码可以是二进制的形式或另一种形式的形式(例如,作为书面语言,可扩展标记语言(XML)等)。
计算设备100可以包括静态代码分析模块110和信号产生模块112。计算设备100还可以包括输出模块114、规则116、预处理模块118、至少一个处理器130、存储器132和输入/输出接口134。此外,计算设备100b可以包括和/或使用一个或多个输入设备140或输出设备142。在一个示例中,存储器132可以存储器132中存储模块110-114和118的指令方面,并且处理器130可以执行指令。
静态代码分析模块110可以被用于根据分别对第一组已知恶意软件应用程序代码和第二组已知干净应用程序代码进行的静态代码分析,确定第一组标记和第二组标记。如上所述,应用程序代码可以是二进制文件的形式。在一个示例中,二进制文件可以是安卓二进制文件(例如,APK文件)的形式。这些文件可以被解压缩并通过dex2jar实用工具运行以将APK压缩中的一个或多个.dex文件转换为.jar文件。结果可以包括二进制XML文件。可以使用另一个工具来把二进制XML转换为可读XML格式。这是一个实施方式的具体示例。应当指出的是,其它示例实施方式可以被用于不同的应用程序和/或操作系统的特定的工具和框架。在一些示例中,预处理模块118可以被用来把二进制文件转换为其可以被标记化的形式。
标记化是用于把文本流分解成被称为标记的单词,短语,符号,或其它有意义的元素的过程。标记的列表可以成为信号产生模块112所作的进一步处理的输入。在一些示例中,标记可以被标明为与恶意软件二进制文件/代码相关联或者与良性或干净二进制文件/代码相关联。可以把信息附加到各个标记上,或者标记也可以被以另一种方式监测,例如,通过把标记分成组,以其它数据结构列出标记等。
产生的标记可以根据规则116。在一些示例中,规则可以包括模糊处理容忍规则。模糊处理是一种通常被应用于代码,以使程序更耐逆向工程的技术。恶意软件和非恶意软件都使用模糊处理,恶意软件用来隐藏其恶意软件的性质,以及非恶意软件(例如用来防止知识产权被逆向工程)。模糊处理容忍规则可以是不管程序是否被有意地模糊处理,都起作用的经过深思熟虑的规则。
在一个示例中,污点分析可以被使用。污点分析试图找出那些被“污染”的变量并跟踪这些变量到可能被视为“污水坑”的可能的脆弱函数。如果被污染的变量在没有首先被消毒的情况下,被传递到污水坑,那么它可以被标记。
在与收费欺诈相关的恶意软件的具体示例中,恶意软件会调用函数来发送文本消息到目的地址和有效载荷。恶意软件程序将需要把相关参数提供给方法。为了隐藏其意图,恶意软件可以把加密用于各种地址,并使用过于复杂的调用关系图(例如,A调用B,B调用C,C调用D,而D调用发送文本消息的函数)。在这种情况下的模糊处理容忍规则会把污点放在加密字符串常量上和并把污水坑放在目的地址上。如果调用图简单,没有被模糊处理或被有目的的模糊处理复杂化,那么这将起作用。
用于产生标记的规则的其它示例包括与清单XML相关的规则(例如,与安卓清单XML文件相关联的规则),结构规则,例如,检查程序的抽象语法树中的元素的结构关系和关系类型(例如,A调用B,A是B的子类,C是D的方法中使用的类型等)的规则,表征规则(例如,根据结构关系或结构性质对函数应用技术属性;技术属性可以涉及例如数据流的入口点,直通,污水坑等),数据流规则(例如,污点分析),控制流规则(例如,一类匹配经历特定的调用图的代码的模式的分析),语义规则(例如,使用某些应用程序编程接口(API))等。当规则被满足或击中,可以产生规则的标记。在一个示例中,标记可以被与每个应用程序相关联。在另一示例中,标记可以被与已知恶意软件应用程序相关联,或者与已知干净应用程序相关联。
规则可以是为特定语言,操作系统,设备或设备组等高度定制的。例如,在能够进行收费欺诈的设备中,对应用程序的服务组件中的发送文本消息功能的调用可以被认为是为了金钱利益而不经用户的同意,发送诸如短消息服务(SMS)消息的溢价文本消息的收费欺诈恶意软件的重要指标。
另一示例是引导设备。在诸如安卓的基于LINUX的操作系统的情况下,应用程序可以被认为是访问被限制到其自身进程空间的LINUX进程。引导设备来获得特权访问通常需要使用诸如su,chmod,chown等的LINUX命令。检测这些命令的存在可以在应用程序的可疑性上升起标志。这些可以被认为是特权访问指标。
另一示例是权限模型的滥用。在一些示例中,操作系统可能要求应用程序在安装过程中请求访问系统服务的用户权限。恶意软件应用程序往往从信任的用户那里要求可能会危及用户隐私和/或安全性的系统资源的权限。示例可能是特定于操作系统的类型的,并且可以包括呼叫特权,接入位置权限,访问联系人,呼出呼叫的处理,读取通话记录,读取日历,读取外部存储,记录音频,使用其它外围设备(例如,摄像机)或输入/输出接口134等。
此外,一示例包括被安装为服务的应用程序。这些应用程序可以在这种情况下利用系统意图。当收到意图(例如,引导完成)时,应用程序可以在后台静静地开始恶意服务,以在未经用户同意或知晓的情况下,收获用户数据或与集中控制和命令服务器通信。注册作为服务运行的事件的应用程序可以被进一步审查的规则作为目标。
此外,规则可以把对诸如从服务组件检索诸如设备ID、位置信息(例如,小区信息,定位系统信息等)和SIM卡的序列号等的电话特定信息的API的敏感API的调用作为目标。
另一示例包括使用反射和/或动态加载可执行文件。运行时动态加载二进制文件的Java反射能力可能被恶意软件滥用,以从中央命令和控制服务器下载指令和恶意的二进制文件。诸如对将有利于使用动态特性的load(),loadClass(),loadLibrary(),forName()和getMethod()的调用的、创建子进程的操作系统API和/或JAVAAPI的调用可能指示恶意软件。
此外,另一示例包括侵犯隐私权。诸如把敏感信息写入到外部存储(例如,通过对getExternalStorage()的写入调用)或以Log.w()写入到系统日志的、对敏感信息的访问和/或不当处理可以被认为是应用程序对用户信息的疏忽和/或滥用的标志,并且可以由规则标志以产生标记。
这些特征中的任何一个特征的存在可能不足以把应用程序分类为恶意软件,但是这些特征中的多个特征的以某一密度的同时存在和/或这些特征的搭配可以被用于对应用程序进行启发式评估,以把应用程序分类为恶意软件或良性。机器学习可以被用来根据规则产生的多组标记来创建信号标记。此外,一个或多个信号标记可以根据特征/标记的密度和/或搭配被分组。在一些示例中,分组可以基于在某一代码段、函数等内的这些特征的量。
信号产生模块112可以处理标记以产生根据标记的分组来指示恶意软件的成组信号标记。信号标记可以根据贝叶斯分类被用于恶意软件判定处理中。贝叶斯分类是一种可以被用来最小化误分类的概率的方法。也可以使用最小化误分类的概率的其它类型的分类训练,诸如文本分类。在垃圾信息过滤中,贝叶斯垃圾信息过滤被用来计算邮件是或不是垃圾邮件的概率。可以使用相似的方法来确定是否由于一个或多个标记的存在,而存在恶意软件。
训练集可以是与每个应用程序,以及各个应用程序是否包括恶意软件或是良性的相关的标记。两个或多个标记的分组可以被用来产生信号标记。例如,训练可以注意到某些标记是每个应用程序公有的,因此不指示恶意软件,但是多个标记的组合可以被用来检测恶意软件(例如,因为组合存在于多个恶意软件应用程序代码中,但是不存在于良性应用程序代码中)。在一个示例中,训练可以进一步基于一个或多个规则或准则。例如,如果多个恶意软件应用程序中的标记的数量超过阈值,那么成组的标记可以被用来产生信号标记。此外,信号标记产生可以进一步被通过不与多于第二阈值数量的良性应用程序相关,而进一步限定。因此,训练允许信号标记数据库表示真实的、离散的和/或非相关的应用程序性质。在一个示例中,真实的性质是表示应用程序的方面的性质。在另一示例中,离散的性质是不需要被进一步拆散,因而除非因特别的原因,不需要归纳多个性质的一种性质。非相关的性质表示每个信号标记可以是与其它信号标记线性独立的。因此,如果多个信号标记被用于应用程序的特定贝叶斯分析中,那么应用程序的真实的方面不需要被过分地考虑(例如,表示应用程序的相同真实的方面的信号标记不需要被分别考虑)。
在一个示例中,比起非移动或良性的移动应用程序,恶意软件可能倾向于包括高百分比的每行代码发现。此外,除了指纹恶意软件利用的语义问题的高密度外,恶意软件应用程序通常被很差地编码和/或包括可以被用来产生远程攻击的高百分比的控制流和数据流安全漏洞。因此,在一些示例中,分组可以基于空取消引用、资源泄漏、死代码、路径操作、查询字符串注入、命令注入、资源注入、较差的风格、不良做法和拒绝服务中的至少一个或至少两个。其中的一些,例如死代码和具有较差的风格,可能是被有意地嵌入以分散逆向工程和/或入侵检测努力。其它的,例如路径操作和资源注入,可以被作为安全漏洞留下以允许设备的远程控制和攻击。此外,不良做法的存在,例如调用可能产生服务攻击的拒绝或收集系统信息以进行进一步攻击的System.exit(),System.gc()和Thread.sleep(),可以是分组的部分。
也可以使用其它分组。此外,分组可以基于可以由专门的恶意软件规则标记的某些应用程序特征的存在和恶意软件应用程序之间的相关。此外,在恶意软件应用程序中,特征的发现通常不是孤立的,但被成群的发现表明高概率的恶意意图。在一个示例中,因为恶意软件应用程序检索多个类型的设备特定的数据,所以恶意软件应用程序可以被确定。例如,恶意软件将检索诸如设备ID、SIM卡的标识符和行号等的、所有设备特定的属性。如上所述,信令恶意软件的分组可以基于机器学习技术。
输出模块114可以把信号标记输出给信号标记恶意软件可能性数据库。数据库可以由计算设备100或其它设备用来分析未知应用程序,其中修饰语,未知,指示应用程序是否包括恶意软件或是良性的是未知的。可以利用规则组合(例如,用于产生标记的规则)对未知应用程序运行静态分析。恶意软件可能性数据库和来自未知应用程序的信号标记可以被送入贝叶斯分类技术,以作出未知应用程序是否包括恶意软件的判决。
适于检索和执行指令的处理器130,例如中央处理单元(CPU)或微处理器,和/或电子电路可以被配置来执行本发明所述的模块110、112、114和118中的任一模块的功能。在某些情况下,指令和/或其它信息,例如规则116,可以被包括在存储器132或其它存储器中。输入/输出接口134可以额外地由计算设备100b提供。例如,输入设备140,例如键盘、传感器、触摸接口、鼠标、通信接口和麦克风等,可以被用来从围绕计算设备100b的环境接收输入。此外,输出设备142,例如显示器,可以被用来呈现信息给用户。输出设备的示例包括扬声器、显示装置、放大器等。此外,在某些实施方式中,某些部件可以被用来实现本发明所述的其它部件的功能。
模块110、112、114、118中的每个模块都可以包括,例如包括用于实现本发明所述的功能性的电子电路的硬件设备。除此之外或作为替代,每个模块110、112、114、118都可被实现为被编码在计算设备100的机器可读存储介质上并且可由处理器130执行的一系列指令。应该注意到,在一些实施例中,一些模块被实现为硬件设备,而其它模块则被实现为可执行指令。
图3为根据一个示例的用于根据指示恶意软件的标记的分组来产生成组信号标记的方法的流程图。尽管下面参照计算设备100说明方法300的执行,但是可以使用执行方法300的其它合适的部件(例如,计算设备500)。此外,用于执行方法300的部件可以被在多个设备间展开。方法300可以被实现为被存储在诸如存储介质520的机器可读存储介质上的可执行指令和/或电子电路的形式。
在302处,计算设备100可以根据规则,对第一组已知恶意软件应用程序代码(例如,使用应用程序的二进制文件)和第二组已知干净应用程序代码(例如,利用应用程序的二进制文件)进行代码分析以产生标记。在二进制文件的情况下,二进制文件可以被如本发明所述地预处理。此外,如上所述,规则可以包括模糊处理容忍规则。
在304处,可以确定指示恶意软件的成组标记。组可以被根据对标记及其与干净或恶意软件代码的关联的机器学习处理来确定。例如,主要自两者产生的标记可能指示标记不需要被用在恶意软件分析中,而更多地是在恶意软件包含代码中产生的标记则可能被认为是更多地指示恶意软件。在一些示例中,得分或其它评估可以被与各个标记相关联,以确定该特定标记指示恶意软件的可能性。
在306处,计算设备100根据指示恶意软件的标记的分组,产生成组信号标记。在一些示例中,信号标记基于机器学习。机器学习可以基于与恶意软件有关的应用程序和已知是良性的应用程序的训练集。在其它示例中,可以使用其它机器语言工具。如上所述,在一些示例中,分组可以包括话费欺诈、引导、滥用权限、作为服务安装的应用程序、敏感数据检索、使用反射、使用动态加载和侵犯隐私中的至少一个或至少两个。其它分组可以基于其它类型的恶意软件。分组也可以基于产生的一个或多个标记的群集或密度。
在一个示例中,话费欺诈可能包括使用发送文本消息功能。此外,引导可以包括获得对执行应用程序的计算设备的特权访问。再者,滥用权限可以包括请求高于特定阈值的权限。此外,敏感数据检索可以包括调用API以检索设备特定的信息。另外,拒绝可以包括使用功能来下载更多指令(例如,从服务器)。信号标记可以被存储在其它位置,并且可以由其它设备或计算设备用来处理应用程序二进制文件或代码,以确定应用程序二进制文件或代码是否包括恶意软件。
图4为根据一个示例的、能够被用来确定未知应用程序是否包括恶意软件的、用于产生信号标记恶意软件可能性数据库的方法的流程图。尽管下面参照计算设备500说明方法400的执行,但是可以使用执行方法400的其它合适的部件(例如,计算设备100)。此外,用于执行方法400的部件可以被在多个设备间展开。方法400可以被实现为被存储在诸如存储介质520的机器可读存储介质上的可执行指令和/或电子电路的形式。
在402处,从数据库检索标记。标记可以被利用代码的静态分析产生。标记还可以与恶意软件应用程序或干净应用程序二进制文件或代码相关联。静态分析可以基于模糊处理容忍规则。标记还可以根据特定的应用程序被分组。在一些示例中,标记可以被附加到发现这些标记的特定应用程序上。在一些示例中,产生标记的时间量也可以被算入,并与标记一起记录。此外,标记与良性的应用程序和/或受恶意软件困扰的应用程序相关联的次数可以被算入并存储到与标记有关的数据结构中。
在404处,计算设备500可以对标记进行训练以产生孤立地指示存在恶意软件的信号标记。信号标记可以基于标记的分组。在一个示例中,标记中的每个标记都可以被根据标记与恶意软件相关联的次数和标记与良性的应用程序相关联的次数,而给予得分。得分能够表示标记有多少可能指示恶意软件。训练可以被用来确定标记的哪些组合更可能指示恶意软件。
信号标记恶意软件可能性数据库可以被根据信号标记产生。信号标记恶意软件可能性数据库可以在处理应用程序的计算设备不知道应用程序是否是恶意软件的情况下,被用来确定恶意软件是否被包括在应用程序中。
在406处,计算设备或另一计算设备可以被用来把信号标记与未知应用程序的标记进行比较,以确定此应用程序是否包括恶意软件。在一个示例中,这可以通过对信号标记进行贝叶斯分类和与通过经由标记化过程处理未知应用程序而产生的标记进行比较来完成。
在一个示例中,贝叶斯分类通过把标记的使用与恶意软件和非恶意软件应用程序相关,而起作用。然后,贝叶斯推断被用来计算应用程序是或不是恶意软件的概率。在一些示例中,该方法可以与对从已知垃圾信息和非垃圾信息邮件产生的标记起作用的朴素贝叶斯垃圾信息过滤相似。
图5为根据一个示例的、能够根据标记的分组来产生指示恶意软件的信号标记的计算设备的框图。计算设备500包括例如处理器510和包括用于产生指示恶意软件的信号标记的指令522、524的机器可读存储介质520。计算设备500可以是例如服务器、桌上型个人计算机,工作站,笔记本电脑,平板计算设备,便携式阅读设备,无线电子邮件设备,手机,或任何其它计算设备。
处理器510可以是至少一个中央处理单元(CPU),至少一个基于半导体的微处理器,至少一个图形处理单元(GPU),其它适于检索和执行存储在机器可读存储介质520中的指令的硬件设备,或者其组合。例如,处理器510可以包括芯片上的多个核,跨多个芯片的多个核,跨多个设备(例如,如果计算设备500包括多个节点设备)的多个核,或其组合。处理器510可以读取、解码并执行指令522、524以实现方法300和/或400。作为检索和执行指令的替代或者附加于检索和执行指令,处理器510可以包括:包括用于执行指令522、524的功能的若干电子部件的至少一个集成电路(IC),其它控制逻辑,其它电子电路,或其组合。
机器可读存储介质520可以是任何包含或存储可执行指令的电子的、磁的、光的或其它物理存储设备。因此,机器可读存储介质可以是,例如随机存取存储器(RAM)、电可擦除可编程只读存储器(EEPROM)、存储驱动器、紧致盘只读存储器(CD-ROM)等等。如此,机器可读存储介质可以是非暂时性的。如在本发明中详细说明地,机器可读存储介质520可以被以用于产生信号标记恶意软件数据库的一系列可执行指令编码。
如进一步在图1-4中所述地,代码分析指令522可以被用来根据诸如模糊处理容忍规则的规则526,对第一组已知恶意软件代码和第二组已知干净代码进行静态代码分析以产生标记。在一些示例中,在进行分析之前,代码可以被从二进制文件预处理。此外,如上所述,静态代码分析可以包括数据流源、结构规则、清单XML、语义分析和控制流中的至少两个。这些可以基于用于产生关于各个类型的分析的标记的规则。
信号标记产生指令524可以被执行来根据标记的分组,产生指示恶意软件的成组信号标记。分组可以基于贝叶斯分类训练。信号标记可以由设备用来确定另一应用程序是否包括恶意软件。

Claims (15)

1.一种计算设备,包括:
存储器和至少一个用于执行多个模块的处理器,所述多个模块包括:
静态代码分析模块,用于根据分别对第一组已知恶意软件应用程序代码和第二组已知干净应用程序代码进行的静态代码分析,确定第一组标记和第二组标记;和
信号产生模块,用于根据所述标记的分组产生指示恶意软件的成组信号标记。
2.根据权利要求1所述的计算设备,其中该已知恶意软件应用程序代码为已知恶意软件二进制文件的形式,并且该已知干净应用程序代码为已知干净二进制文件的形式。
3.根据权利要求2所述的计算设备,其中所述标记是根据包括模糊处理容忍规则的规则产生的。
4.根据权利要求3所述的计算设备,其中如果所述规则中的一个规则是击中相应的各个二进制文件,那么产生相应的第一组标记和相应的第二组标记。
5.根据权利要求1所述的计算设备,其中所述成组信号标记基于机器学习。
6.根据权利要求1所述的计算设备,其中所述分组基于空取消引用、资源泄漏、死代码、路径操作、查询字符串注入、命令注入、资源注入和拒绝服务中的至少两个。
7.根据权利要求1所述的计算设备,进一步包括:
用于把所述信号标记输出给信号标记恶意软件可能性数据库的输出模块。
8.一种方法,包括:
根据规则对第一组已知恶意软件应用程序代码和第二组已知干净应用程序代码进行代码分析,以产生标记;
确定成组指示恶意软件的所述标记;和
根据指示恶意软件的所述标记的分组,产生成组信号标记。
9.根据权利要求8所述的方法,其中所述成组信号标记基于机器学习。
10.根据权利要求8所述的方法,其中所述规则包括模糊处理容忍规则。
11.根据权利要求8所述的方法,其中所述分组包括下列中的至少两个:
话费欺诈、引导、滥用权限、作为服务安装的应用程序、敏感数据检索、使用反射、使用动态加载和侵犯隐私。
12.根据权利要求11所述的方法,其中所述话费欺诈包括使用发送文本消息功能,其中所述引导包括获得对设备的特权访问,其中所述滥用权限包括请求高于特定阈值的权限,并且所述敏感数据检索包括调用应用程序接口以检索设备特定的信息。
13.根据权利要求11所述的方法,其中所述使用反射包括使用用于下载指令的功能。
14.一种非暂时性计算机可读存储介质,该存储介质存储指令,所述指令如果被计算设备的至少一个处理器执行,则致使该计算设备:
根据模糊处理容忍规则对第一组已知恶意软件二进制文件和第二组已知干净二进制文件进行静态代码分析,以产生标记;并且
根据基于机器学习的所述标记的分组,产生指示恶意软件的成组信号标记。
15.根据权利要求14所述的非暂时性计算机可读存储介质,其中所述静态代码分析进一步包括数据流源、结构规则、清单可扩展标记语言、语义分析和控制流中的至少两个。
CN201380078666.2A 2013-07-31 2013-07-31 指示恶意软件的信号标记 Pending CN105431859A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2013/052983 WO2015016901A1 (en) 2013-07-31 2013-07-31 Signal tokens indicative of malware

Publications (1)

Publication Number Publication Date
CN105431859A true CN105431859A (zh) 2016-03-23

Family

ID=52432260

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201380078666.2A Pending CN105431859A (zh) 2013-07-31 2013-07-31 指示恶意软件的信号标记
CN201380076192.8A Expired - Fee Related CN105229661B (zh) 2013-07-31 2013-08-27 基于信号标记确定恶意软件的方法、计算设备及存储介质

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201380076192.8A Expired - Fee Related CN105229661B (zh) 2013-07-31 2013-08-27 基于信号标记确定恶意软件的方法、计算设备及存储介质

Country Status (4)

Country Link
US (1) US10986103B2 (zh)
EP (2) EP3028203A4 (zh)
CN (2) CN105431859A (zh)
WO (2) WO2015016901A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107622200A (zh) * 2016-07-14 2018-01-23 腾讯科技(深圳)有限公司 应用程序的安全性检测方法及装置
CN110162963A (zh) * 2019-04-26 2019-08-23 肖银皓 一种识别过权应用程序的方法

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9953171B2 (en) * 2014-09-22 2018-04-24 Infosys Limited System and method for tokenization of data for privacy
US10599844B2 (en) * 2015-05-12 2020-03-24 Webroot, Inc. Automatic threat detection of executable files based on static data analysis
US9838405B1 (en) * 2015-11-20 2017-12-05 Symantec Corporation Systems and methods for determining types of malware infections on computing devices
US10354069B2 (en) * 2016-09-02 2019-07-16 Bae Systems Information And Electronic Systems Integration Inc. Automated reverse engineering
US10891380B1 (en) * 2017-03-21 2021-01-12 Mcafee, Llc Framework to quantify deviations in app permissions using application description
CN107958043B (zh) * 2017-11-24 2021-04-27 合肥中科加点智能科技有限公司 一种电网工程预算清单自动生成方法
CN108989350B (zh) * 2018-08-31 2021-03-19 北京梆梆安全科技有限公司 一种检测拒绝服务漏洞的方法、装置及设备
US11620379B1 (en) * 2018-09-30 2023-04-04 Mandiant, Inc. Methods and apparatus for detecting and preventing obfuscated cyberattacks using machine learning techniques
US11641406B2 (en) * 2018-10-17 2023-05-02 Servicenow, Inc. Identifying applications with machine learning
EP3906508B1 (en) * 2018-12-31 2024-03-13 Intel Corporation Securing systems employing artificial intelligence
CN112395602B (zh) * 2019-08-15 2022-09-30 奇安信安全技术(珠海)有限公司 静态安全特征数据库的处理方法、装置及系统
CN112817877B (zh) * 2021-04-19 2021-07-13 腾讯科技(深圳)有限公司 异常脚本检测方法、装置、计算机设备和存储介质
US11916971B2 (en) * 2022-02-01 2024-02-27 Capital One Services, Llc Updating security rule sets using repository switching

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030065926A1 (en) * 2001-07-30 2003-04-03 Schultz Matthew G. System and methods for detection of new malicious executables
CN101017458A (zh) * 2007-03-02 2007-08-15 北京邮电大学 基于源代码静态分析的软件安全代码分析器及其检测方法
CN101753570A (zh) * 2008-12-18 2010-06-23 赛门铁克公司 用于检测恶意软件的方法和系统
CN102105884A (zh) * 2008-06-20 2011-06-22 赛门铁克公司 流式恶意软件定义更新
US20130097706A1 (en) * 2011-09-16 2013-04-18 Veracode, Inc. Automated behavioral and static analysis using an instrumented sandbox and machine learning classification for mobile security
CN103177215A (zh) * 2013-03-05 2013-06-26 四川电力科学研究院 基于软件控制流特征的计算机恶意软件检测新方法

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7284274B1 (en) * 2001-01-18 2007-10-16 Cigital, Inc. System and method for identifying and eliminating vulnerabilities in computer software applications
US7370360B2 (en) 2002-05-13 2008-05-06 International Business Machines Corporation Computer immune system and method for detecting unwanted code in a P-code or partially compiled native-code program executing within a virtual machine
US7624449B1 (en) * 2004-01-22 2009-11-24 Symantec Corporation Countering polymorphic malicious computer code through code optimization
WO2006113722A2 (en) * 2005-04-18 2006-10-26 The Regents Of The University Of California High-performance context-free parser for polymorphic malware detection
EP1934742A4 (en) * 2005-08-25 2009-08-19 Fortify Software Inc DEVICE AND METHOD FOR ANALYZING AND COMPLEMENTING A PROGRAM FOR PROVIDING SAFETY
US20070094734A1 (en) * 2005-09-29 2007-04-26 Mangione-Smith William H Malware mutation detector
US20070107057A1 (en) * 2005-11-10 2007-05-10 Docomo Communications Laboratories Usa, Inc. Method and apparatus for detecting and preventing unsafe behavior of javascript programs
US7882187B2 (en) 2006-10-12 2011-02-01 Watchguard Technologies, Inc. Method and system for detecting undesired email containing image-based messages
EP2092424B1 (en) * 2006-10-19 2015-12-30 Checkmarx Ltd. Locating security vulnerabilities in source code
US20080141376A1 (en) 2006-10-24 2008-06-12 Pc Tools Technology Pty Ltd. Determining maliciousness of software
US8176554B1 (en) * 2008-05-30 2012-05-08 Symantec Corporation Malware detection through symbol whitelisting
US9177144B2 (en) 2008-10-30 2015-11-03 Mcafee, Inc. Structural recognition of malicious code patterns
US9087195B2 (en) 2009-07-10 2015-07-21 Kaspersky Lab Zao Systems and methods for detecting obfuscated malware
US20110041179A1 (en) * 2009-08-11 2011-02-17 F-Secure Oyj Malware detection
US8719939B2 (en) * 2009-12-31 2014-05-06 Mcafee, Inc. Malware detection via reputation system
CN101814053B (zh) * 2010-03-29 2013-03-13 中国人民解放军信息工程大学 一种基于功能模型的二进制代码漏洞发现方法
US9213838B2 (en) * 2011-05-13 2015-12-15 Mcafee Ireland Holdings Limited Systems and methods of processing data associated with detection and/or handling of malware
US9449175B2 (en) * 2010-06-03 2016-09-20 Nokia Technologies Oy Method and apparatus for analyzing and detecting malicious software
JP5569935B2 (ja) * 2010-07-23 2014-08-13 日本電信電話株式会社 ソフトウェア検出方法及び装置及びプログラム
US8578348B2 (en) * 2010-09-02 2013-11-05 Code Value Ltd. System and method of cost oriented software profiling
US9100425B2 (en) * 2010-12-01 2015-08-04 Cisco Technology, Inc. Method and apparatus for detecting malicious software using generic signatures
US8521667B2 (en) * 2010-12-15 2013-08-27 Microsoft Corporation Detection and categorization of malicious URLs
US8756693B2 (en) 2011-04-05 2014-06-17 The United States Of America As Represented By The Secretary Of The Air Force Malware target recognition
US8997233B2 (en) * 2011-04-13 2015-03-31 Microsoft Technology Licensing, Llc Detecting script-based malware using emulation and heuristics
US9047441B2 (en) 2011-05-24 2015-06-02 Palo Alto Networks, Inc. Malware analysis system
US9158919B2 (en) * 2011-06-13 2015-10-13 Microsoft Technology Licensing, Llc Threat level assessment of applications
WO2013063474A1 (en) 2011-10-28 2013-05-02 Scargo, Inc. Security policy deployment and enforcement system for the detection and control of polymorphic and targeted malware
US9317408B2 (en) * 2011-12-15 2016-04-19 The Mathworks, Inc. System and method for systematic error injection in generated code
EP2690450B1 (en) * 2012-07-27 2014-07-09 ABB Technology AG A device for measuring the direct component of alternating current
TWI461952B (zh) * 2012-12-26 2014-11-21 Univ Nat Taiwan Science Tech 惡意程式偵測方法與系統
CN105122727A (zh) * 2013-01-11 2015-12-02 Db网络公司 用于检测并减轻对结构化数据存储系统的威胁的系统和方法
US9495542B2 (en) * 2013-02-28 2016-11-15 Trustees Of Boston University Software inspection system
US10713358B2 (en) * 2013-03-15 2020-07-14 Fireeye, Inc. System and method to extract and utilize disassembly features to classify software intent

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030065926A1 (en) * 2001-07-30 2003-04-03 Schultz Matthew G. System and methods for detection of new malicious executables
CN101017458A (zh) * 2007-03-02 2007-08-15 北京邮电大学 基于源代码静态分析的软件安全代码分析器及其检测方法
CN102105884A (zh) * 2008-06-20 2011-06-22 赛门铁克公司 流式恶意软件定义更新
CN101753570A (zh) * 2008-12-18 2010-06-23 赛门铁克公司 用于检测恶意软件的方法和系统
US20130097706A1 (en) * 2011-09-16 2013-04-18 Veracode, Inc. Automated behavioral and static analysis using an instrumented sandbox and machine learning classification for mobile security
CN103177215A (zh) * 2013-03-05 2013-06-26 四川电力科学研究院 基于软件控制流特征的计算机恶意软件检测新方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
赵钢 等: "基于模糊规则集的入侵检测模块-网络与信息安全事件处理", 《第二十一次全国计算机安全学术交流会论文》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107622200A (zh) * 2016-07-14 2018-01-23 腾讯科技(深圳)有限公司 应用程序的安全性检测方法及装置
CN110162963A (zh) * 2019-04-26 2019-08-23 肖银皓 一种识别过权应用程序的方法

Also Published As

Publication number Publication date
CN105229661B (zh) 2018-10-09
CN105229661A (zh) 2016-01-06
EP3028211A1 (en) 2016-06-08
EP3028203A1 (en) 2016-06-08
US20160156646A1 (en) 2016-06-02
EP3028211A4 (en) 2017-05-10
US10986103B2 (en) 2021-04-20
WO2015016901A1 (en) 2015-02-05
EP3028203A4 (en) 2017-03-29
WO2015016952A1 (en) 2015-02-05

Similar Documents

Publication Publication Date Title
CN105431859A (zh) 指示恶意软件的信号标记
US9798981B2 (en) Determining malware based on signal tokens
CN107659570A (zh) 基于机器学习与动静态分析的Webshell检测方法及系统
Liu et al. Cyber vulnerability intelligence for internet of things binary
Yu et al. Revisiting the description-to-behavior fidelity in android applications
CN110225029B (zh) 注入攻击检测方法、装置、服务器及存储介质
Zhu et al. Android malware detection based on multi-head squeeze-and-excitation residual network
WO2021135919A1 (zh) 基于机器学习的sql语句安全检测方法、装置、设备及介质
US20200159925A1 (en) Automated malware analysis that automatically clusters sandbox reports of similar malware samples
Kasim An ensemble classification-based approach to detect attack level of SQL injections
CN111159697B (zh) 一种密钥检测方法、装置及电子设备
CN111586695B (zh) 短信识别方法及相关设备
Li et al. Stan: Towards describing bytecodes of smart contract
Thiyagarajan et al. Improved real‐time permission based malware detection and clustering approach using model independent pruning
CN110858247A (zh) 安卓恶意应用检测方法、系统、设备及存储介质
CN112817877B (zh) 异常脚本检测方法、装置、计算机设备和存储介质
Shahriar et al. Content provider leakage vulnerability detection in Android applications
CN113971284B (zh) 基于JavaScript的恶意网页检测方法、设备及计算机可读存储介质
CN105631336A (zh) 检测移动装置上的恶意文件的系统及方法
Canbay et al. Detection of mobile applications leaking sensitive data
CN114285587A (zh) 域名鉴别方法和装置、域名分类模型的获取方法和装置
Aliero et al. Detection of structure query language injection vulnerability in web driven database application
CN106020923A (zh) SELinux策略的编译方法及系统
US20220237289A1 (en) Automated malware classification with human-readable explanations
Bo et al. Tom: A threat operating model for early warning of cyber security threats

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20161110

Address after: American Texas

Applicant after: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP

Address before: American Texas

Applicant before: Hewlett-Packard Development Company, Limited Liability Partnership

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20180613

Address after: American California

Applicant after: Antite Software Co., Ltd.

Address before: American Texas

Applicant before: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP

WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20160323