CN104685510B - 识别应用程序是否是恶意程序的方法、***及存储介质 - Google Patents

识别应用程序是否是恶意程序的方法、***及存储介质 Download PDF

Info

Publication number
CN104685510B
CN104685510B CN201380050539.1A CN201380050539A CN104685510B CN 104685510 B CN104685510 B CN 104685510B CN 201380050539 A CN201380050539 A CN 201380050539A CN 104685510 B CN104685510 B CN 104685510B
Authority
CN
China
Prior art keywords
application program
user interface
interface layout
program
doubtful
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.)
Active
Application number
CN201380050539.1A
Other languages
English (en)
Other versions
CN104685510A (zh
Inventor
O·特立普
R·绍兹曼
R·海
D·卡尔曼
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN104685510A publication Critical patent/CN104685510A/zh
Application granted granted Critical
Publication of CN104685510B publication Critical patent/CN104685510B/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/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/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
    • G06F21/561Virus type analysis
    • 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/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities

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)
  • Virology (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

确定第一应用程序是恶意程序。第一应用程序可能被提供以在处理***上安装。可以通过由处理器执行的静态分析扫描第一应用程序,以确定第一应用程序的用户界面布局疑似处理***上安装的第二应用程的用户界面布局。如果第一应用程序的用户界面布局疑似处理***上安装的第二应用程的用户界面布局,则可以生成表明第一应用程序是恶意程序的警报。

Description

识别应用程序是否是恶意程序的方法、***及存储介质
技术领域
本发明涉及识别应用程序是否属于恶意程序。
背景技术
网络钓鱼攻击通常由伪装成电子通信中的可信实体的恶意方实施。启动网络钓鱼攻击一个典型方式,是在用户的处理***中安装恶意应用程序。恶意应用程序,可以通过即时消息、电子邮件传送到处理***,或通过用户访问的恶意网站或受感染的网站传送到处理***。例如,某通信可能被发送给用户,这种通信可能声称是来自流行的社交网站、拍卖网站、金融机构、在线支付处理器、信息技术管理员,等等。这样的通信会提供一个指向恶意的统一资源***(URL)的超链接,向用户指引该URL,用户则可能相信选择该URL是安全的。
在被请求加载URL时,Web浏览器可能允许让恶意应用程序安装在处理URL访问请求的web浏览器外部的用户的处理***(例如移动设备)上。这可以通过触发一个该URL所标识的隐式意图(implicit Intent)而完成。这就使恶意应用程序能对用与浏览器的图形界面(GUI)基本相同的图形界面发出的URL请求作出响应。真正的浏览器和恶意应用程序之间的过渡平滑,无辜的用户因此很可能察觉不到这种过渡。例如,恶意程序可以伪装成用户的银行网站。用户于是可能向恶意应用程序输入帐户的详细资料,诸如用户名和密码,恶意应用程序可以保留这些信息。然后,恶意用户就可以用这些的详细信息来访问用户的帐户。
因此,现有技术需要解决上述问题。
发明内容
说明书中公开的一个或多个实施例涉及对恶意应用程序的识别。
一方面,本发明提供一种用于识别第一应用程序是否是恶意程序的方法,该方法包括:检测第一应用程序正在被提供用于在处理***上安装;通过由处理器执行的静态分析扫描第一应用程序,以确定第一应用程序的用户界面布局是否疑似处理***上安装的第二应用程序的用户界面布局;当第一应用程序的用户界面布局疑似处理***上安装的第二应用程序的用户界面布局时,产生指示第一应用程序是恶意程序的警报。
另一方面,本发明提供一种用于识别第一应用程序是否是恶意程序的***,包含:处理器,被配置用于启动包含以下的可执行的操作:检测第一应用程序正在被提供用于在处理***上安装;通过由处理器执行的静态分析扫描第一应用程序,以确定第一应用程序的用户界面布局是否疑似处理***上安装的第二应用程序的用户界面布局;当第一应用程序的用户界面布局疑似处理***上安装的第二应用程序的用户界面布局时,产生指示第一应用程序是恶意程序的警报。
另一方面,本发明提供一种用于识别第一应用程序是否是恶意程序的计算机程序产品,包含:处理电路可读的、且存储由处理电路执行的、用于实施本发明方法步骤的指令的计算机可读存储介质。
另一方面,本发明提供一种计算机可读存储介质上储存的、可加载到数字计算的内存中的计算机程序,包含软件代码部分,用于当所述计算机程序在计算机上运行时,执行本发明方法的步骤
一个实施例可以包括一种识别第一应用程序是否是恶意程序的方法。该方法可以包括检测第一应用程序正在被提供用于在处理***上安装。该方法也可以包括通过由处理器执行的静态分析扫描第一应用程序,以确定第一应用程序的用户界面布局是否疑似处理***上安装的第二应用程序的用户界面布局。该方法还可以包括当第一应用程序的用户界面布局疑似处理***上安装的第二应用程序的用户界面布局时,产生指示第一应用程序是恶意程序的警报。
另一个实施例可以包括一种识别第一应用程序是否是恶意程序的方法。该方法可以包括检测第一应用程序正在被提供用于在处理***上安装。该方法也可以包括通过由处理器执行的静态分析扫描第一应用程序,以确定第一应用程序的用户界面布局是否疑似处理***上安装的第二应用程序的用户界面布局。该方法还可以包括响应于静态分析不能确定第一应用程序的用户界面布局是否疑似第二应用的用户界面布局,在第一应用程序被处理系 统执行期间,执行对第一应用程序的运行时分析,运行时分析包括确定第一应用程序的用户界面布局是否疑似第二应用的用户界面布局,并且响应于运行时分析指示第一应用程序的用户界面布局疑似第二应用的用户界面布局,产生指示第一应用程序是恶意程序的警报。
另一个实施例可以包括一种包含被配置用于启动可执行的操作的处理器的处理***。可执行的操作可以包括检测第一应用程序正在被提供用于在处理***上安装。可执行的操作也可以包括通过由处理器执行的静态分析扫描第一应用程序,以确定第一应用程序的用户界面布局是否疑似处理***上安装的第二应用程序的用户界面布局。可执行的操作还可以包括当第一应用程序的用户界面布局疑似处理***上安装的第二应用程序的用户界面布局时,产生指示第一应用程序是恶意程序的警报。
另一个实施例可包括用于识别第一应用程序是否是恶意程序的计算机程序产品。该计算机程序产品包含存储了程序代码的计算机可读存储介质,程序代码被执行时,配置一个处理器来执行可执行的操作。可执行的操作可以包括检测第一应用程序正在被提供用于在处理***上安装。可执行的操作也可以包括通过由处理器执行的静态分析扫描第一应用程序,以确定第一应用程序的用户界面布局是否疑似处理***上安装的第二应用程序的用户界面布局。可执行的操作还可以包括当第一应用程序的用户界面布局疑似处理***上安装的第二应用程序的用户界面布局时,产生指示第一应用程序是恶意程序的警报
附图说明
现在将仅仅通过举例,参照下面的附图中例示的优选实施例,说明本发明。附图中:
图1是表示按照本发明一个优选实施例、在其中验证一个应用程序的处理***的框图;
图2是表示按照本发明一个优选实施例、验证一个应用程序的处理***的框图;
图3是表示按照本发明一个优选实施例、识别一个第一应用是否是恶意应用程序的方法的一个流程图;
图4是表示按照本发明一个优选实施例、识别一个第一应用程序是否是恶意应用程序的方法的另一个流程图。
具体实施方式
所属技术领域的技术人员知道,本发明的各个方面可以实现为***、方法或计算机程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、驻留软件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“***”。此外,在一些实施例中,本发明的各个方面还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质上具有—例如储存—计算机可读的程序代码。
可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘驱动器(HDD)、固态驱动器(SSD)、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、数字多功能光盘(DVD)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网 (LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。Java和所有基于Java的商标和标志都是Oracle公司和/或其子公司的商标或注册商标。
下面将参照根据本发明实施例的方法、装置(***)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些计算机程序指令在通过计算机或其它可编程数据处理装置的处理器、或其它设备执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其它可编程数据处理装置、或其他设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品(article of manufacture)。
计算机程序指令也可以被加载到计算机、其它可编程数据处理装置或其他设备,以使一系列的操作步骤在计算机、其他可编程装置或其他设备上执行,以产生计算机实现的过程,使得在计算机或其他可编程装置执行的指令提供实现在流程图和/或框图的方框中规定的功能/行为的指令。
为了说明的简明和清晰,附图中所示的元素不一定是按比例绘制的。例如,为了清晰,一些元素的尺寸可能相对于其他元素被夸大。此外,在认为适当的地方,附图中重复地使用附图标记,以指示对应的、类似的之类的特征。
本说明书中描述的方案,涉及验证一个应用程序,以确定该应用程序是否是恶意应用程序。当一个应用程序被安装到一个处理***(例如,移动设备)上时,可以对应用程序进行静态分析,以确定应用程序是否是一个被配置为恶意钓取用户的私密信息—如用户标识符(ID)、密码等—的钓鱼应用程序(phishing application)。钓鱼应用程序可能试图通过注册访问一个或多个敏感的(例如含有用户的私密信息)过程间通信(inter-processcommunications),例如涉及统一资源标识符(URI)(例如统一资源***(URL))的过程间通信,而钓取用户的私密信息。钓鱼应用程序也可能试图模拟Web浏览器,以便获取私人信息,向恶意实体(malicious entity)提供这种信息。
如果静态分析确定该应用程序是一个钓鱼的应用,静态分析能生成一个警报,以及/或者禁用(disable)该应用程序的操作。如果静态分析不能确定该应用程序是否是钓鱼应用程序,可以提供进一步的运行时分析(runtime analysis)以进行这种确定。如果运行时分析确定该应用程序是一个钓鱼应用程序,运行时分析能生成一个警报,以及/或者禁用该应用程序的操作。
图1是表示按照本说明书中公开的一个实施例、在其中验证一个第一应用程序105的处理***100的框图。第一应用程序105可以是从从应用程序源115提供给处理***110的,用于在处理***110上安装。在一种方案(arrangement)中,应用程序源115可以是提供给处理***110的一种—例如提供给在处理***110上执行的一个电子通信客户端的—电子通信(electronic communication)(例如,即时消息或电子邮件(e-mail))。应用程序源115可以向处理***110提供第一应用程序105。例如,在打开电子通信时,电子通信可能试图启动在处理***110上安装第一应用程序105,或者向用户呈现一个控件(control),通过该控件,应用程序源115诱导用户选择启动在处理***110上安装第一应用程序105。当用户选择该控件时,能启动在处理***110上安装第一应用程序105的企图。在另一种安排中,应用程序源115可能是一个恶意的或受感染的网站,以例如诱导用户进行选择的超链接的形式,显示在电子通信中,如果用户访问该网站或者从该网站下载内容,就启动第一应用程序105的安装。另外,恶意用户试图用第一应用程序感染处理***110的方式可能有许多,在这个方面,本发明各方案不受局限。
当第一应用程序105被提供给处理***110用于安装时,无论在第一应用程序105的安装前、安装过程中或是安装后,可以由处理***110执行一个安全应用程序(securityapplication)120来启动一个静态分析模块125去进行对第一应用程序105的静态分析,以便确定第一应用是否是恶意的。例如,安全应用程序120能够确定第一应用程序105是否包含恶意代码,诸如恶意软件root kit之类,并且能阻止第一应用程序105的安装,或者阻止根盒的安装,或者—在第一应用程序105和/或root kit已经安装在处理***110上的情况下—删除安装的第一应用程序105和/或root kit。第一应用程序105可能不包含静态分析模块125可识别的root kit或诸如此类的恶意代码,不过仍然可能是恶意程序。
静态分析模块125可以扫描第一应用程序105,以确定第一应用程序105是否包含一个用户界面(UI)。如果是这样的话,静态分析模块125可以扫描第一应用程序的UI的 布局(layout),以确定第一应用程序105是否疑似安装在处理***上的一个第二应用程序130——如Web浏览器——的UI的布局。例如,静态分析模块125可以扫描第一应用程序105的声明(declaration)、声明文件(manifest file)或可扩展标记语言(XML)文档,以确定第一应用程序105的UI布局配置,并扫描第二应用程序130的声明、声明文件或可扩展标记语言文档,以确定第二应用程序130的UI布局配置,然后比较这些扫描的结果。如果第一应用程序105的UI布局疑似第二应用程序130的UI布局,这可能表明,第一应用程序105为了钓取用户的私密数据而在试图仿效第二应用程序130。
如果静态分析模块125确定第一应用程序的UI布局疑似第二应用程序130界面布局(例如,这种特性之间非常相似),安全应用程序120可以将第一应用程序105登记为可能是不安全的程序。此外,安全应用程序120可以阻止第一应用程序105和/或生成警报,表示第一应用程序105是一个恶意应用程序(或可能是不安全的)。警报可以例如通过弹出信息或文字气球的形式被呈现给用户,以及/或者被传送到处理***110。
在某些情况下,静态分析模块125可能无法完全验证第一应用程序105。换句话说,静态分析可能不能确定第一应用程序105的UI布局就是疑似第二应用程序130的UI布局。这可能是由于以下情形,即,第一应用程序105的有些UI组件或全部UI组件,是根据只能在运行时获得的和/或存储在后台数据存储器(例如数据库)中的数据值而动态建立的。第一应用程序105可能有运行时UI布局(runtime UI layout),其布局配置在第一应用程序105被安装时是未知的。在这种情况下,静态分析模块125可以提供额外的输出数据。例如,静态分析模块125可以确定第一应用程序105的可能的UI运行时布局的数目——如果这样的信息是可获得的,并作为额外的输出数据加以指明。如果第一应用程序105可能有额外的UI运行时布局,但是这种额外的UI运行时布局的总数是未知的,则附加的输出数据可以指明这一点。
静态分析模块125也可以根据对第一应用程序105的扫描,确定由第一应用程序105监控或订阅的(subscribed to)过程间通信。静态分析模块125可以提供进一步的、表示这样的过程间通信的输出数据。
静态分析模块125提供的输出数据,可以被安全应用程序120检索并暂时或永久地存储到机器可读的存储器。这样的输出数据可以提供给安全应用程序120的运行时分析模块135或处理***110的其他部件。
如果静态分析模块125不能完全验证第一应用程序105,安全应用程序120可以允许处理***110安装和/或执行第一应用程序105。在这方面,第一应用程序105可以在安装到处理***110之前或之后,被静态分析模块12扫描后。事实上,一方面,如果静态分析模块125确定第一应用程序105是恶意的,安全应用程序120可以阻止第一应用程序被安装到处理***110,不过,本发明的各方案在这方面没有限制。
尽管如此,安全应用程序120能在第一应用程序105执行时对第一应用程序105进行运行时分析。例如,安全应用程序120可以启动运行时分析模块135来确定第一应用程序105在执行过程中所提供的UI布局是否疑似第二应用程序130的UI布局。如果运行时分析模块135指出第一应用程序105的用户界面的布局疑似第二应用程序130的用户界面的布局,则如前文所述的那样,安全应用程序120可以生成一个警报,指示第一应用程序105是恶意的。
此外,在第一应用程序105被安装到处理***110以及被处理***110执行时,由静态分析模块125提供的输出数据可以被运行分析模块135处理,以进行对第一应用程序105的运行时扫描。例如,在运行时,可以由运行分析模块135监视第二应用程序130和第一应用程序105之间的过程间通信。这样的过程间通信可以根据由静态分析模块125进行的对第一应用程序150的静态分析的相关输出数据而确定。
当第一应用程序105提供一个具有静态分析时静态分析模块125不知道的配置的运行时UI布局、并且第一应用程序105试图或者请求回应第二应用程序130处理一个URI的邀请时,可以在第二应用程序130内装入该目标URI,并记录其UI布局属性(layoutproperties)。此外,还可以加载第一应用程序105,因此可以扫描它的UI布局属性。基于第一应用程序105和第二应用程序130的的UI布局属性,能够确定第一应用程序105是否是恶意的。例如,如果第一应用程序105的当前UI布局疑似第二应用程序130的UI布局(例如,第二应用程序130的当前UI布局属性与第一应用程序105的UI布局属性之间的非常相似),则可以确定第一应用程序105可能是不安全的。因此,可以由安全应用程序120生成一个警报,表示第一应用程序105是恶意的。此外,安全应用程序120还可以阻止第一应用程序105存储或传送从处理***110收到的用户输入中收到的信息。然而,如果第一应用程序105的当前UI布局不疑似第二应用程序130的UI布局,处理***可以将第一应用程序105的当前UI布局登记为从“钓鱼”的角度来看是无害的,虽然不必完全证明该应用程序就是安全的。
这里,关于第一应用程序105所支持的其它UI布局的额外信息(如果能得到的话)是相关的。如果第一应用程序105提供已知数目的在运行时可能的UI布局,则在运行时,第一应用程序105可以扫描第一应用程序105的UI布局,以便在这种UI布局被第一应用程序105实施时,实时地比较这种UI布局与第二应用程序130的UI布局。例如,运行时分析模块135可以确定第一应用程序105提供的当前UI布局不疑似第二应用程序130提供的UI布局。然而,第一应用程序105可以例如响应于检测到一个过程间通信而提供下一个UI布局,响应于这样的过程间通信,运行时分析模块135可以比较第一应用程序105的该下一个UI布局与第二应用程序130提供的UI布局。如果这些UI布局之间是疑似的,安全应用程序120可以产生一个警报。
处理***可以在将第一应用程序105和第二应用程序130的UI布局进行比较时,跟踪与第二应用程序130的UI布局相比、第一应用程序105的不同UI布局的总数。如果没有第一应用程序105的UI布局疑似(例如非常类似于)第二应用程序130的UI布局,在被扫描的第一应用程序105的UI布局的个数等于第一应用程序105的UI布局的已知总数105时,可以认定第一应用程序105是安全的。否则,当前会话(session)可以恢复正常,但是一般来说不认定第一应用程序105是安全的,这是因为,可能还有第一应用程序105的其它UI布局尚未与Web浏览器比较。
此外,无论是静态分析模块125和/或运行时分析模块135都可以被配置得能确定第一应用程序105是否被配置得试图或请求访问至少一个包含私人信息的过程间通信。当第一应用程序105被配置得试图或请求访问至少一个包含私人信息的过程间通信,安全应用程序120可以确定第一应用程序105是恶意的,并产生相应的警报。
第一应用程序105的UI布局与第二应用程序130的UI布局的比较,可以以任何适当的方式进行,包括使用自定义(custom)代码/工具和/或使用现有技术中已知的工具。例如,在处理***110使用AndroidTM操作***的情况下,AndroidTM的Robotium测试框架,可以被用来比较第一和第二应用程序105、130的的UI布局属性。Android是谷歌公司的商标。
过程间通信可包括—例如在androidTM操作***中—意图对象(intent objects)的传递。这里所使用的术语“意图对象”指这样一种被动(passive)数据结构,其包含(holding)一个要执行的操作的抽象描述,或一个已经发生并正在被宣布的事件的描述。意图对象提供一种在某操作***环境中执行的不同应用程序之间通信的手段。一方面,意图对象可以是隐式的(implicit)意图对象。隐式的意图对象是不指定某个应当作用于该意图对象的目标组件的名字的意图对象。另一方面,意图对象可以是显式的(explicit)意图对象。显式的意图对象是具体指定某个应当作用于该意图对象的目标组件的名字的意图对象。在操作***中,过程间通信可以包括通过应用程序调用其他应用程序的URI协议而交换的消息。这样的消息可以包含消息内容。iOS是思科公司在美国和其他国家的商标或注册商标。
本文中所使用的术语“疑似”,指的是至少两个完全相同的UI布局之间的相似程度,或者用户只看一眼尚不能识别这些UI布局的差异性的相似程度。例如,当第一应用程序105的UI布局疑似第二应用程序130界面布局时,用户可能不能意识到第一应用程序的UI布局105并不直接对应于(directly correspond to)第二应用程序130的UI布局—即使用户以前可能查看过第二应用程序130UI布局。换句话说,第一应用程序105的UI布局可能混淆地类似于第二应用程序130的UI布局。
本文中所使用的术语“实时”(real time),指的是用户或***感觉对某过程或要作出的决定的充分直接的处理响应(processing responsiveness)程度,或使处理器能够跟上外部过程的处理响应程度。
图2是根据说明书中公开的一个实施例、图1的处理***110的示例性实现。处理***110被配置用于识别恶意应用程序。处理***110可以是、计算机、移动计算机、笔记本电脑、平板电脑、智能手机、个人数字助理、游戏设备、器具,或被配置得能执行应用程序任何其他处理***。
处理***110可以包括至少一个处理器205,通过***总线215或其它合适的电路耦合到存储器元件210。因此,处理***110可在存储器元件210内存储程序代码。处理器205可以执行通过***总线215从存储器单元210获取的程序代码。应该理解,处理***110可以以包括处理器和存储器、能够执行本说明书中描述的功能和/或操作的任何形式的***实现。
存储器元件210可以包括一个或多个物理存储设备,例如本地存储器220和一个或多个大容量存储设备225。本地存储器220是程序代码的实际执行过程中普遍使用的RAM或其他非持久性存储装置。大容量储存装置225可以实现为硬盘驱动器(HDD)、固态硬盘(SSD)或其他持久性数据存储装置。处理***110还可以包括一个或多个高速缓存存储器(未予示出),其提供至少一些程序代码的临时存储,以减少在执行过程中必须从检索存储装置225检索程序代码的次数。
输入/输出(I/O)设备,诸如有键盘230、显示器和/或触摸屏235和/或指向装置240。I/O设备可以直接地或通过中间的I/O控制器耦合到处理***110。例如,显示器/触摸屏235可以通过图形处理单元耦合到处理***110(GPU),后者可以是处理器205的一个组件或是一个独立的装置。一个或多个网络适配器245也可以通过中间的私有或公共网络耦合到到其他***、计算机***、远程打印机和/或远程存储设备。调制解调器、电缆调制解调器、以太网卡都是可用于处理***110的不同类型的网络适配器245的例子。
如图2所示,存储元件210可以存储处理***110的组件,即安全应用程序120、第二应用程序130和第一应用程序105。安全应用程序120和第二应用程序130是以可执行程序代码的形式实现的,可以由处理***110(例如通过处理器205)执行,因此,可以认为是处理***110的一部分。第一应用程序105可以由处理***110进行处理,但是,在安装之前,不必认为是处理***110的一部分。例如,第一应用程序105可以暂时存储在存储器元件210中,同时由处理器205进行处理,但是不需要安装在处理***110的操作***中—尽管如上所述,这是可以的。
安全应用程序120可以由处理***110(例如通过处理器205)执行,以实现本文描述的由安全应用程序120执行的操作和功能,包括静态分析模块125和运行时分析模块135。此外,第二应用程序130可以是一个Web浏览器,虽然这并非必要。
图3是按照本说明书内公开的另一个实施例的、确定第一应用程序是否是恶意程序的方法300的流程图。在步骤302,检测到被提供用于在处理***上安装的第一应用程序。第一应用程序可以从用户访问的网站(web site)接收,在电子通信中接收,或从电子通信中—通过URL(例如URL)—指示的网站接收。
在步骤304,通过处理器执行的静态分析,可以扫描第一应用程序,以确定第一应用程序的UI布局是否疑似安装在处理***上的第二应用程序的UI布局。在第一应用程序被安装到处理***之前、之时或之后,或在第一应用程序没有被安装到处理***的情况下,均可以进行静态分析。
在判定框306,可以确定第一应用程序的UI布局是否疑似安装在处理***上的第二应用程序的UI布局。如果是,则在步骤308可以生成一个警告,指出第一应用程序是恶意程序。
如果第一应用程序的UI布局不疑似第二应用程序的UI布局,则在步骤310,可以在处理***执行第一应用程序期间,对第一应用程序进行运行时分析。运行时分析可以包括确定第一应用程序的UI布局是否疑似第二应用程序的UI布局。在步骤312,响应于运行时分析指示第一应用程序的UI布局疑似第二应用程序的UI布局,可以生成一个警告,指出第一应用程序是恶意程序。在步骤314,可以阻止第一应用程序存储或传送从处理***收到的用户输入中收到的信息。
在一个方案中,执行运行时分析可以包括确定是否第一应用程序在运行时试图、或请求访问至少一个含有私人信息的过程间通信。如果第一应用程序在运行时试图、或请求访问至少一个含有私人信息的过程间通信,则可以确定,第一应用程序是恶意的。
执行运行时分析还可以包括,确定在第一应用程序运行时,第一应用程序当前的UI布局是否疑似第二应用程序的UI布局。如果在第一应用程序运行时,第一应用程序当前的UI布局不疑似第二应用程序的UI布局,则可以确定第一应用程序的下一个UI布局是否疑似第二应用程序的UI布局。
例如,通过由处理器执行的静态分析扫描第一应用程序、以确定第一应用程序的UI布局是否疑似安装在处理***上的第二应用程序的UI布局可以包括:确定第一应用程序的可能的UI布局的总数。在这样的方案中,方法300可以进一步包括,响应于静态分析不能确定第一应用程序的UI布局是否疑似第二应用程序的UI布局,在第一应用程序被执行时,执行第一应用程序运行时分析,以识别由第一应用程序实现的每个UI布局,并确定是否由第一应用程序实现的每个UI布局是否疑似第二应用程序的UI布局。方法300还可包括,响应于运行时分析表明由运行时分析检测到的第一应用程序的UI布局的总数等于由静态分析确定的可能的UI布局的总数,而第一应用程序的每个UI布局都不疑似安装在处理***上的第二应用程序的UI布局,则确定第一应用程序是安全的
图4是表示按照说明书中公开的另一个实施例的确定第一应用程序是否属于恶意程序的方法400的另一个流程图。在步骤402,检测到被提供用于在处理***上安装的第一应 用程序。第一应用程序可以从用户访问的网站接收,在电子通信中接收,或从电子通信中—通过URL—指示的网站接收。
在步骤404中,通过处理器执行的静态分析,可以扫描第一应用程序,以确定第一应用程序是否是恶意程序。在决策框406,可以判断静态分析是否不能确定第一应用程序是否是恶意的。如果是,在步骤408,在处理***执行第一应用程序期间,可以对第一应用程序进行运行时分析,以确定第一应用程序是否是恶意程序。在步骤410,响应于运行时分析指示第一应用程序是恶意程序,可以生成一个指出第一应用程序是恶意程序的警报。回到决策框406,如果该判断确定静态分析并非不能确定第一应用程序是否是恶意的,则在步骤412,可以根据静态分析指出第一应用程序是个恶意程序。
在一个方案中,执行运行时分析可以包括确定是否第一应用程序在运行时试图、或请求访问至少一个含有私人信息的过程间通信。如果第一应用程序在运行时试图、或请求访问至少一个含有私人信息的过程间通信,则可以确定,第一应用程序是恶意的。在另一种方案中,执行运行时分析可以包括确定,在第一应用程序运行时,第一应用程序当前的UI布局是否疑似第二应用程序的UI布局。如果第一应用程序当前的UI布局疑似第二应用程序的UI布局,则能确定,第一应用程序是恶意的。
说明书中用同样的附图标记来指示同样的对象。附图中的流程图和框图显示了根据本发明的多个实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
本文中所使用的术语仅用于描述具体实施例,而非限定本发明。本文中所用的“一”、“一个”、“该”、“所述”等单数形式的表述,旨在包括复数形式,上下文中另有明确指示的除外。还要明白,说明书中所用的“包括”、“包含”、“含有”等词 语,说明的是存在指明的特征、整数、步骤、操作、元素和/或组件,但不排除存在一个或多个其它的特征、整数、步骤、操作、元素、组件和/或其组合。
说明书中所说的“一个实施例”、“实施例”或类似的语言,意味着与该实施例相关地描述的某个特定特征、结构,或特点,包含于说明书中公开的至少一个实施例中。因此,说明书中出现的短语“一个实施例”、“实施例”或类似的语言,一般都指相同的实施例,但也不一定。
说明书中所用的用语“多”、“多个”,被定义为两个或两个以上。用语“另一个”则被定义为至少一个第二个或更多的。术语“耦合”被定义为直接地、没有任何居间元素地连接,或者间接地、具有一个或多个居间元素地连接,另有说明的除外。两个元素也可以是机械地偶合,电气地偶合,或者通过通信信道、通路、网络或***可通信地耦合。用语“和/或”指的是并包括一个或多个相关列举项目的任何一个或所有可能的组合。还要明白,尽管序数词“第一”、“第二”等可用于描述各种元素,这些元素不应受到这些序数词的限定,因为这些序数词只用于区分一个元素与另一个元素,除非上下文中另有规定或上下文另有相反指示。
用语“如果”可以解释为“当…时”或“响应于确定…”或“响应于检测到…”,具体可依上下文而定。同样,用于“如果确定”或者“如果检测到[规定的条件或事件]”可以解释为“当确定…时”或“响应于确定…”或“当在检测到[规定的条件或事件]时”或“响应于检测到[规定的条件或事件]”,具体可依上下文而定。
附后的权利要求的所有手段或步骤加上功能要素的相应的结构、材料、操作以及等价物,旨在包括与具体限定的其它权利要求中的要素组合地执行功能的任何结构、材料或操作。对说明书中公开的实施例的描述,是示例性的和说明性的,而不是穷尽性的,也不是对发明的形式的限定。在不背离本发明各实施例的范围和精神的情况下,许多修改和变通对于所属技术领域的技术人员来说都是显而易见的。被选用并描述的实施例旨在以最好的方式解释本发明的原理和实际应用,使本领域其他普通技术人员能够理解,经过各种修改,各实施例的发明方案适合于预期的特定用途。

Claims (17)

1.一种用于识别第一应用程序是否是恶意程序的方法,该方法包括:
检测第一应用程序正在被提供用于在处理***上安装;
通过由处理器执行的静态分析扫描第一应用程序,以确定第一应用程序的用户界面布局是否疑似处理***上安装的第二应用程序的用户界面布局;
所述通过由处理器执行的静态分析扫描第一应用程序以确定第一应用程序的用户界面布局是否疑似处理***上安装的第二应用程序的用户界面布局包括:
确定第一应用程序可能的用户布局的总数;
并且,该方法进一步包括:
响应于静态分析不能确定第一应用程序的用户界面布局是否疑似第二应用的用户界面布局,当第一应用程序被执行时,对第一应用程序进行运行时分析,以识别第一应用程序实现的每个用户界面布局,并确定第一应用程序实现的每个用户界面布局是否疑似第二应用程序的用户界面布局;和
响应于运行时分析表明由运行时分析检测的第一应用程序的用户界面布局的总数等于由静态分析确定的可能的用户界面布局的总数,并且第一应用程序的每个用户界面布局并不疑似处理***上安装的第二应用程序的用户界面布局,确定第一应用程序是安全的。
2.按照权利要求1的方法,进一步包括:
响应于静态分析不能确定第一应用程序的用户界面布局是否疑似第二应用的用户界面布局:
在第一应用程序被处理***执行期间,执行对第一应用程序的运行时分析,运行时分析包括确定第一应用程序的用户界面布局是否疑似第二应用的用户界面布局;
响应于运行时分析指示第一应用程序的用户界面布局疑似第二应用的用户界面布局,产生指示第一应用程序是恶意程序的警报。
3.按照权利要求2的方法,还包括:
响应于运行时分析指示第一应用程序的用户界面布局疑似第二应用的用户界面布局,阻止第一应用程序存储或传送从处理***收到的用户输入中收到的信息。
4.按照权利要求2或3的方法,其中,所述执行对第一应用程序的运行时分析还包括:
确定第一应用程序在运行时试图、或请求访问至少一个含有私人信息的过程间通信;和
当第一应用程序在运行时试图、或请求访问至少一个含有私人信息的过程间通信,确定第一应用程序是恶意程序。
5.按照权利要求2的方法,其中,所述执行对第一应用程序的运行时分析以确定第一应用程序的用户界面布局疑似第二应用程序的用户界面布局包括:
在第一应用程序运行时,确定第一应用程序的当前用户界面布局是否疑似第二应用程序的用户界面布局;
当第一应用程序的当前用户界面布局不疑似第二应用程序的用户界面布局时:
在第一应用程序运行时,确定第一应用程序的下一个用户界面布局是否疑似第二应用程序的用户界面布局。
6.按照权利要求1的方法,其中,所述通过处理器执行的静态分析扫描第一应用程序进一步包括:
确定第一应用程序被配置得试图、或请求访问至少一个含有私人信息的过程间通信;和
当第一应用程序被配置得试图、或请求访问至少一个含有私人信息的过程间通信时,确定第一应用程序是恶意的。
7.按照权利要求1的方法,该方法包括:
检测到第一应用程序被提供用于在处理***上安装;
通过处理器执行的静态分析扫描第一应用程序,以确定第一应用程序是否是恶意的;
响应于静态分析不能确定第一应用程序是否是恶意的:
在第一应用程序被处理***执行期间,执行对第一应用程序的运行时分析,以确定第一应用程序是否是恶意的;和
响应于运行时分析指示第一应用程序是恶意的,产生指示第一应用程序是恶意程序的警报。
8.按照权利要求7的方法,其中,所述执行对第一应用程序的运行时分析还包括:
确定第一应用程序在运行时试图、或请求访问至少一个含有私人信息的过程间通信;和
当第一应用程序在运行时试图、或请求访问至少一个含有私人信息的过程间通信时,确定第一应用程序是恶意的;
当第一应用程序在运行时尝试,或请求,访问至少一个过程间通信,包含私人信息,确定第一应用程序是恶意的。
9.按照权利要求7的方法,其中,所述执行对第一应用程序的运行时分析还包括:
在第一应用程序运行时,确定第一应用程序的当前用户界面布局是否疑似第二应用程序的用户界面布局;和
当第一应用程序的当前用户界面的布局疑似第二应用程序的用户界面布局时,确定第一应用程序是恶意的。
10.一种用于识别第一应用程序是否是恶意程序的处理***,包含:
处理器,
耦合至该处理器的计算机可读存储器,该存储器包含指令,该指令被该处理器运行时可执行下列操作:
检测第一应用程序正在被提供用于在处理***上安装;
通过由处理器执行的静态分析扫描第一应用程序,以确定第一应用程序的用户界面布局是否疑似处理***上安装的第二应用程序的用户界面布局;
所述通过由处理器执行的静态分析扫描第一应用程序以确定第一应用程序的用户界面布局是否疑似处理***上安装的第二应用程序的用户界面布局包括:
确定第一应用程序可能的用户布局的总数;
处理器进一步被配置用于启动包含以下的可执行的操作:
响应于静态分析不能确定第一应用程序的用户界面布局是否疑似第二应用的用户界面布局,当第一应用程序被执行时,对第一应用程序进行运行时分析,以识别第一应用程序实现的每个用户界面布局,并确定第一应用程序实现的每个用户界面布局是否疑似第二应用程序的用户界面布局;和
响应于运行时分析表明由运行时分析检测的第一应用程序的用户界面布局的总数等于由静态分析确定的可能的用户界面布局的总数,并且第一应用程序的每个用户界面布局并不疑似处理***上安装的第二应用程序的用户界面布局,确定第一应用程序是安全的。
11.按照权利要求10的处理***,其中,所述操作进一步包括:
响应于静态分析不能确定第一应用程序的用户界面布局是否疑似第二应用的用户界面布局:
在第一应用程序被处理***执行期间,执行对第一应用程序的运行时分析,运行时分析包括确定第一应用程序的用户界面布局是否疑似第二应用的用户界面布局;
响应于运行时分析指示第一应用程序的用户界面布局疑似第二应用的用户界面布局,产生指示第一应用程序是恶意程序的警报。
12.按照权利要求11的处理***,其中,所述操作进一步包括:
响应于运行时分析指示第一应用程序的用户界面布局疑似第二应用的用户界面布局,阻止第一应用程序存储或传送从处理***收到的用户输入中收到的信息。
13.按照权利要求11或12的处理***,其中,所述执行对第一应用程序的运行时分析还包括:
确定第一应用程序在运行时试图、或请求访问至少一个含有私人信息的过程间通信;和
当第一应用程序在运行时试图、或请求访问至少一个含有私人信息的过程间通信,确定第一应用程序是恶意程序。
14.按照权利要求11的处理***,其中,所述执行对第一应用程序的运行时分析以确定第一应用程序的用户界面布局疑似第二应用程序的用户界面布局包括:
在第一应用程序运行时,确定第一应用程序的当前用户界面布局是否疑似第二应用程序的用户界面布局;
当第一应用程序的当前用户界面布局不疑似第二应用程序的用户界面布局时:
在第一应用程序运行时,确定第一应用程序的下一个用户界面布局是否疑似第二应用程序的用户界面布局。
15.按照权利要求10的处理***,其中,所述通过处理器执行的静态分析扫描第一应用程序进一步包括:
确定第一应用程序被配置得试图、或请求访问至少一个含有私人信息的过程间通信;和
当第一应用程序被配置得试图、或请求访问至少一个含有私人信息的过程间通信时,确定第一应用程序是恶意的。
16.一种用于识别第一应用程序是否是恶意程序的***,包含:
被配置为执行按照权利要求1至9的任何之一的方法的程序模块。
17.一种用于识别第一应用程序是否是恶意程序的计算机可读存储介质,该计算机可读存储介质包含程序指令,所述程序指令可由处理器运行以执行按照权利要求1至9的任何之一的方法。
CN201380050539.1A 2012-09-28 2013-09-20 识别应用程序是否是恶意程序的方法、***及存储介质 Active CN104685510B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/631,077 US8869274B2 (en) 2012-09-28 2012-09-28 Identifying whether an application is malicious
US13/631,077 2012-09-28
PCT/IB2013/058691 WO2014049499A2 (en) 2012-09-28 2013-09-20 Identifying whether an application is malicious

Publications (2)

Publication Number Publication Date
CN104685510A CN104685510A (zh) 2015-06-03
CN104685510B true CN104685510B (zh) 2017-12-19

Family

ID=50386610

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380050539.1A Active CN104685510B (zh) 2012-09-28 2013-09-20 识别应用程序是否是恶意程序的方法、***及存储介质

Country Status (5)

Country Link
US (5) US8869274B2 (zh)
JP (1) JP6223458B2 (zh)
CN (1) CN104685510B (zh)
GB (1) GB2519882B (zh)
WO (1) WO2014049499A2 (zh)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8869274B2 (en) 2012-09-28 2014-10-21 International Business Machines Corporation Identifying whether an application is malicious
US9794106B1 (en) * 2013-03-04 2017-10-17 Google Inc. Detecting application store ranking spam
CN103577757B (zh) * 2013-11-15 2017-05-24 北京奇虎科技有限公司 病毒防御方法和装置
KR101755612B1 (ko) * 2014-04-30 2017-07-26 주식회사 수산아이앤티 브라우저 종류를 이용한 공유 단말 검출 방법 및 그 장치
US20160253501A1 (en) * 2015-02-26 2016-09-01 Dell Products, Lp Method for Detecting a Unified Extensible Firmware Interface Protocol Reload Attack and System Therefor
US9514025B2 (en) * 2015-04-15 2016-12-06 International Business Machines Corporation Modeling memory use of applications
US9495633B2 (en) * 2015-04-16 2016-11-15 Cylance, Inc. Recurrent neural networks for malware analysis
KR102130744B1 (ko) 2015-07-21 2020-07-06 삼성전자주식회사 전자 장치 및 이의 제어 방법
WO2017135249A1 (ja) * 2016-02-05 2017-08-10 株式会社ラック アイコン診断装置、アイコン診断方法およびプログラム
US10025701B2 (en) * 2016-05-16 2018-07-17 Google Llc Application pre-release report
US10496820B2 (en) 2016-08-23 2019-12-03 Microsoft Technology Licensing, Llc Application behavior information
CN106778096A (zh) * 2016-12-28 2017-05-31 努比亚技术有限公司 一种应用程序的伪装方法及移动终端
CN108418776B (zh) * 2017-02-09 2021-08-20 上海诺基亚贝尔股份有限公司 用于提供安全业务的方法和设备
US10990975B2 (en) * 2017-11-08 2021-04-27 Paypal, Inc. Detecting malware by monitoring client-side memory stacks
US11368477B2 (en) * 2019-05-13 2022-06-21 Securitymetrics, Inc. Webpage integrity monitoring
US11489830B2 (en) 2020-01-09 2022-11-01 Kyndryl, Inc. Source authentication of website content
CN112052454B (zh) * 2020-10-12 2022-04-15 腾讯科技(深圳)有限公司 应用的病毒查杀方法、装置、设备及计算机存储介质
CN112286736B (zh) * 2020-12-25 2021-06-22 北京邮电大学 对被可疑应用感染的设备进行恢复的方法及相关设备
US11528289B2 (en) * 2021-02-26 2022-12-13 At&T Intellectual Property I, L.P. Security mechanisms for content delivery networks
US11941121B2 (en) * 2021-12-28 2024-03-26 Uab 360 It Systems and methods for detecting malware using static and dynamic malware models
US11928218B2 (en) * 2022-04-21 2024-03-12 Dell Products, L.P. (BIOS) enforced application blocklist system and method

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101919219A (zh) * 2007-09-19 2010-12-15 阿尔卡特朗讯美国公司 防止钓鱼攻击的方法和装置
CN102314561A (zh) * 2010-07-01 2012-01-11 电子科技大学 基于api hook的恶意代码自动分析方法和***
CN102682235A (zh) * 2011-01-20 2012-09-19 微软公司 可执行程序的信誉检查

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060123478A1 (en) * 2004-12-02 2006-06-08 Microsoft Corporation Phishing detection, prevention, and notification
US8763071B2 (en) 2008-07-24 2014-06-24 Zscaler, Inc. Systems and methods for mobile application security classification and enforcement
US9781148B2 (en) 2008-10-21 2017-10-03 Lookout, Inc. Methods and systems for sharing risk responses between collections of mobile communications devices
US9235704B2 (en) * 2008-10-21 2016-01-12 Lookout, Inc. System and method for a scanning API
CN101788982B (zh) * 2009-01-22 2013-03-06 国际商业机器公司 在未修改浏览器上保护Web应用的跨域交互的方法和***
JP2010262609A (ja) 2009-04-28 2010-11-18 Fourteenforty Research Institute Inc 効率的なマルウェアの動的解析手法
US8370934B2 (en) 2009-06-25 2013-02-05 Check Point Software Technologies Ltd. Methods for detecting malicious programs using a multilayered heuristics approach
US8650653B2 (en) 2009-12-24 2014-02-11 Intel Corporation Trusted graphics rendering for safer browsing on mobile devices
US8707048B2 (en) 2009-12-24 2014-04-22 Ebay Inc. Dynamic pattern insertion layer
EP2609538B1 (en) 2010-08-25 2016-10-19 Lookout Inc. System and method for server-coupled malware prevention
US9215548B2 (en) 2010-09-22 2015-12-15 Ncc Group Security Services, Inc. Methods and systems for rating privacy risk of applications for smart phones and other mobile platforms
WO2012046406A1 (ja) * 2010-10-04 2012-04-12 パナソニック株式会社 情報処理装置およびアプリケーション不正連携防止方法
US9134996B2 (en) 2011-04-28 2015-09-15 F-Secure Corporation Updating anti-virus software
US9158919B2 (en) * 2011-06-13 2015-10-13 Microsoft Technology Licensing, Llc Threat level assessment of applications
US9781151B1 (en) 2011-10-11 2017-10-03 Symantec Corporation Techniques for identifying malicious downloadable applications
US8595841B2 (en) 2011-11-09 2013-11-26 Kaprica Security, Inc. System and method for bidirectional trust between downloaded applications and mobile devices including a secure charger and malware scanner
US8869274B2 (en) 2012-09-28 2014-10-21 International Business Machines Corporation Identifying whether an application is malicious
US9710752B2 (en) 2014-09-11 2017-07-18 Qualcomm Incorporated Methods and systems for aggregated multi-application behavioral analysis of mobile device behaviors

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101919219A (zh) * 2007-09-19 2010-12-15 阿尔卡特朗讯美国公司 防止钓鱼攻击的方法和装置
CN102314561A (zh) * 2010-07-01 2012-01-11 电子科技大学 基于api hook的恶意代码自动分析方法和***
CN102682235A (zh) * 2011-01-20 2012-09-19 微软公司 可执行程序的信誉检查

Also Published As

Publication number Publication date
JP6223458B2 (ja) 2017-11-01
WO2014049499A3 (en) 2014-05-22
US11188645B2 (en) 2021-11-30
GB201501410D0 (en) 2015-03-11
US20190095619A1 (en) 2019-03-28
JP2015530673A (ja) 2015-10-15
US20140096248A1 (en) 2014-04-03
US10169580B2 (en) 2019-01-01
WO2014049499A2 (en) 2014-04-03
US10599843B2 (en) 2020-03-24
US20200097654A1 (en) 2020-03-26
CN104685510A (zh) 2015-06-03
US8990940B2 (en) 2015-03-24
US8869274B2 (en) 2014-10-21
US20140096240A1 (en) 2014-04-03
GB2519882A (en) 2015-05-06
GB2519882B (en) 2015-10-21
US20150007322A1 (en) 2015-01-01

Similar Documents

Publication Publication Date Title
CN104685510B (zh) 识别应用程序是否是恶意程序的方法、***及存储介质
JP6068506B2 (ja) オンライン不正行為の検出の動的採点集計のシステムおよび方法
CN105320883B (zh) 文件安全加载实现方法及装置
Mishra et al. SMS phishing and mitigation approaches
US9934310B2 (en) Determining repeat website users via browser uniqueness tracking
US20130031627A1 (en) Method and System for Preventing Phishing Attacks
CN104063673B (zh) 一种在浏览器中进行信息输入的方法和浏览器装置
CN104135467B (zh) 识别恶意网站的方法及装置
WO2019144548A1 (zh) 安全测试方法、装置、计算机设备和存储介质
CN108769070A (zh) 一种越权漏洞检测方法及装置
US11005877B2 (en) Persistent cross-site scripting vulnerability detection
CN107944278A (zh) 一种内核漏洞检测方法及装置
CN104573486B (zh) 漏洞检测方法和装置
Shah et al. Evaluating effectiveness of mobile browser security warnings
US9098623B2 (en) Static analysis of validator routines
CN115935370A (zh) 漏洞修复优先级的分类方法、装置、设备及存储介质
CN104301300A (zh) 一种检测网络钓鱼欺诈风险的方法、客户端和***
CN105530260B (zh) 一种用于网站的安全性标识信息的设置方法和装置
US11777959B2 (en) Digital security violation system
EP4160454A1 (en) Computer-implemented systems and methods for application identification and authentication
CN117370176A (zh) 应用安全测试方法、装置、计算机设备和存储介质
CN109218284A (zh) Xss漏洞检测方法及装置、计算机设备及可读介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant