CN107873095A - 使用数字证书的恶意软件检测 - Google Patents

使用数字证书的恶意软件检测 Download PDF

Info

Publication number
CN107873095A
CN107873095A CN201680037871.8A CN201680037871A CN107873095A CN 107873095 A CN107873095 A CN 107873095A CN 201680037871 A CN201680037871 A CN 201680037871A CN 107873095 A CN107873095 A CN 107873095A
Authority
CN
China
Prior art keywords
digital certificate
data
analysis
code
certificate
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
CN201680037871.8A
Other languages
English (en)
Other versions
CN107873095B (zh
Inventor
J.R.斯普尔洛克
R.维努戈帕兰
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.)
McAfee LLC
Original Assignee
McAfee LLC
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 McAfee LLC filed Critical McAfee LLC
Publication of CN107873095A publication Critical patent/CN107873095A/zh
Application granted granted Critical
Publication of CN107873095B publication Critical patent/CN107873095B/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
    • G06F21/562Static detection
    • G06F21/563Static detection by source code 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/567Computer malware detection or handling, e.g. anti-virus arrangements using dedicated hardware

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Virology (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Storage Device Security (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

本文中所描述的特定实施例提供了一种电子设备,其可以被配置成分析与数字证书有关的数据,并为所述数字证书分配声誉,其中所述声誉包括所述数据是否正当的指示。对所述数据的分析可以包括确定用于所述数字证书的代码签名是否与用于所述数字证书的二进制代码相匹配,所述数字证书是否是通过修改可移植可执行文件头而嫁接到所述数据的,或者所述数字证书和与不同数据相关联的另一可信数字证书相同。

Description

使用数字证书的恶意软件检测
对相关申请的交叉引用
本申请要求对2015年6月27日提交的题为“MALWARE DETECTION USING A DIGITALCERTIFICATE(使用数字证书的恶意软件检测)”的美国非临时(发明)专利申请号14/752,874的权益和优先权,其被整体地通过引用并入本文。
技术领域
本公开内容一般涉及信息安全领域,并且更具体地涉及使用数字证书的恶意软件检测。
背景技术
网络安全领域在当今社会已变得日益重要。互联网已经使全世界不同的计算机网络能够互联。特别地,互联网提供用于在经由各种类型的客户端设备连接到不同计算机网络的不同用户之间交换数据的介质。虽然互联网的使用已经转变了企业和个人通信,但它也被用作恶意操作者获取对计算机和计算机网络的未授权访问以及有意地或无意地披露敏感信息的工具。
感染主机计算机的恶意的软件(“恶意软件”)可能能够执行任何数量的恶意动作,诸如从与该主机计算机相关联的企业或个人窃取敏感信息、传播到其它主机计算机和/或协助分布式拒绝服务攻击、从该主机计算机发送出垃圾邮件或恶意邮件等。因此,保护计算机和计算机网络免受恶意软件和设备的恶意和无意利用仍然存在重大的管理挑战。
附图说明
为了提供对本公开内容及其特征和优点的更完整的理解,结合附图对下面的描述进行参考,其中相同的附图标记表示相同的部分,在附图中:
图1是根据本公开内容的实施例的用于使用数字证书的恶意软件检测的通信系统的简化框图;
图2A是根据本公开内容的实施例的用于使用数字证书的恶意软件检测的通信系统的简化框图;
图2B是根据本公开内容的实施例的用于使用数字证书的恶意软件检测的通信系统的简化框图;
图3是图示出根据实施例的可以与通信系统相关联的潜在操作的简化流程图;
图4是图示出根据实施例的按点对点配置进行布置的示例计算系统的框图;
图5是与本公开内容的示例ARM生态系统片上系统(SOC)相关联的简化框图;以及
图6是图示出根据实施例的示例处理器核心的框图。
附图中的各图不一定按比例绘制,因为它们的尺寸可以在不脱离本公开内容的范围的情况下显著地变化。
具体实施方式
示例实施例
图1是根据本公开内容的实施例的用于使用数字证书的恶意软件检测的通信系统100的简化框图。如图1所示,通信系统100的实施例可以包括电子设备102、云服务104和服务器106。电子设备102可以包括存储器108、处理器110、数字证书验证模块112以及一个或多个文件114a-114c。每个文件114a-114c可以分别包括数字证书116a-116c。云服务104和服务器106可以各自包括网络数字证书验证模块118。电子设备102、云服务104和服务器106可以使用网络126进行通信。
恶意设备120可能试图向电子设备102引入或感染恶意文件122。恶意文件122可以包括不正当的数字证书124,以试图隐藏恶意文件124的真实身份或目的。恶意设备120可以使用网络126与电子设备102通信,或者可以(例如,通过通用串行总线(USB)型连接)物理地连接到电子设备102。
恶意文件122可以是感染主机计算机(例如,电子设备102)以执行任何数量的恶意动作的恶意软件或恶意的软件,所述恶意动作诸如从与该主机计算机相关联的企业或个人窃取敏感信息、传播到其它主机计算机和/或协助分布式拒绝服务攻击、从主机计算机发送出垃圾邮件或恶意邮件等。
可以将数字证书验证模块112配置成识别不正当的数字证书124,并且可以将恶意文件122识别为恶意软件。例如,可以将数字证书验证模块112配置成分析每个文件114a-114c及其数字证书116a-116c,以确定数字证书是否不正当。结合关于每个文件114a-114c和每个数字证书116a-116c的元数据,可以识别不正当的或恶意的数字证书。在具体的示例中,数字证书验证模块112可以分析每个数字证书116a-116c,并且确定每个数字证书116a-115c中的代码签名(例如,认证码(Authenticode)®)是否与二进制代码匹配。代码签名是对可执行文件和脚本进行数字签名以确认软件作者并试图保证自从通过使用密码散列函数对所述代码进行签名以来所述代码未被更改或讹误的过程。密码散列函数可以通过指示是否已经对数字证书进行了任何改变来提供对数字证书的完整性的验证。
图1的元件可以通过使用任何合适的连接(有线或无线)的一个或多个接口彼此耦合,这为网络(例如,网络126)通信提供了可行路径。此外,图1的这些元件中的任何一个或多个可以基于特定的配置需要进行组合或从架构中移除。通信系统100可以包括能够进行用于在网络中传输或接收分组的传输控制协议/互联网协议(TCP/IP)通信的配置。通信系统100a和100b还可以在适当的情况下并且基于特定的需要与用户数据报协议/IP(UDP/IP)或任何其它合适的协议结合地进行操作。
为了例示通信系统100的某些示例技术的目的,重要的是理解可能穿越网络环境的通信。以下基本信息可以被视为可以适当地解释本公开内容的基础。
当前的恶意软件检测系统和方法经常忽视或不分析具有数字证书的文件。这是因为证书验证应用一般信任,通知系统该文件是可信的,并且可以执行该文件。一些恶意软件检测系统和安全产品使用数字证书产生的信任知识来绕过使用数字证书检查文件。因此,绕过当前恶意软件检测系统和安全产品的一种常见方式是将数字证书嫁接到恶意文件。例如,可以修改可移植可执行(PE)头中的目录结构,并以恶意文件的数字证书或数字签名看起来有效的方式将数字证书写入恶意文件。所需要的是用以分析数字证书的有效性并确定数字证书是否不正当的系统和方法。
如图1中概述的用于使用数字证书的恶意软件检测的通信系统可以解决这些问题(以及其它问题)。可以将通信系统100配置成分析用于文件(例如,文件114a-114c)的数字证书(例如,数字证书116a-166c),并且确定所述文件是否具有可能指示该文件是恶意的不正当的数字证书。例如,数字认证模块112可以分析文件并确定该文件是否具有通过修改PE头和目录而嫁接上的畸形的证书。确定这点的一种方式是使用认证码验证,其中不正当的数字证书将使认证码验证失败(例如,假的散列)。此外,如果证书共享已知数字证书的指纹或文件散列对系统是唯一的,则可以识别不正当的数字证书。使用包含与可信证书相同的指纹但具有无效的认证码的证书的数字签名是不正当的数字证书的指示,并且是恶意软件使用被盗证书或者证书已被修改(例如,通过寄生感染)的强有力的指示。在寄生感染的情况下,可以通过检查文件是否在Windows文件保护或操作系统中合法应用的其它注册下来消除微小错误。在示例中,可以通过使用网络数字证书验证模块118进行更深入的分析来识别已知证书的指纹。例如,可以使用公共密钥或拇指指纹来识别已知的数字证书。在另一示例中,可以对网络数字证书验证模块118进行查询以确定指纹是否与另一数字证书相同。网络数字证书验证模块118也可以用于通过使用大批量样本的网络分析技术来确定证书的信任。
转向图1的基础设施,示出了根据示例实施例的通信系统100。一般地,通信系统100可以以任何类型或拓扑的网络来实现。网络126表示用于接收并传输通过通信系统100传播的信息分组的互连通信路径的一系列点或节点。网络126提供节点之间的通信接口,并且可以被配置为任何局域网(LAN)、虚拟局域网(VLAN)、广域网(WAN)、无线局域网(WLAN)、城域网(MAN)、内联网、外联网、虚拟专用网络(VPN)以及促进网络环境中的通信的任何其它适当的架构或系统,或其任何合适的组合,包括有线和/或无线通信。
在通信系统100中,可以根据任何合适的通信消息传递协议来发送和接收包含分组、帧、信号、数据等的网络业务量。合适的通信消息传递协议可以包括多层方案,诸如开放系统互连(OSI)模型或其任何派生或变体(例如,传输控制协议/互联网协议(TCP/IP)、用户数据报协议/IP(UDP/IP))。此外,也可以在通信系统100中提供通过蜂窝网络的无线电信号通信。可以提供合适的接口和基础设施以使得能够实现与蜂窝网络的通信。
如本文中所使用的术语“分组”是指可以在分组交换网络上的源节点与目的地节点之间路由的数据单元。分组包括源网络地址和目的地网络地址。这些网络地址可以是TCP/IP消息传递协议中的互联网协议(IP)地址。如本文中所使用的术语“数据”是指任何类型的二进制、数值、语音、视频、文本或脚本数据,或任何类型的源或目标代码,或可以在电子设备和/或网络中从一点传送到另一点的以任何适当的格式的任何其它合适的信息。此外,消息、请求、响应和查询是网络业务量的形式,并且因此可以包括分组、帧、信号、数据等。
在示例实现方式中,电子设备102、云服务104和服务器106是网络元件,这是意指它们涵盖网络器具、服务器、路由器、交换机、网关、网桥、负载平衡器、处理器、模块或可操作来在网络环境中交换信息的任何其它合适的设备、组件、元件或对象。网络元件可以包括促进其操作的任何合适的硬件、软件、组件、模块或对象,以及用于在网络环境中接收、传输和/或以其它方式传送数据或信息的合适的接口。这可能包括适当的算法和允许数据或信息的有效交换的通信协议。
关于与通信系统100相关联的内部结构,电子设备102、云服务104和服务器106可以包括用于存储要在本文中概述的操作中使用的信息的存储器元件(例如,存储器108)。电子设备102、云服务104和服务器106可以在适当的情况下并且基于特定的需要将信息保存在任何合适的存储器元件(例如,随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、专用集成电路(ASIC)等)、软件、硬件、固件或任何其它合适的组件、设备、元件或对象中。本文中所讨论的存储器项目中的任何应当被解释为涵盖在广义术语“存储器元件”内。此外,在通信系统100中使用、跟踪、发送或接收的信息可以在任何数据库、寄存器、队列、表、高速缓存、控制列表或其它存储结构中来提供,所有这些存储结构都可以在任何合适的时间框架中进行引用。任何这样的存储选项也可以被包括在如本文中所使用的广义术语“存储器元件”内。
在某些示例实现方式中,本文中概述的功能可以通过在一个或多个有形介质中编码的逻辑(例如,在ASIC中提供的嵌入式逻辑、数字信号处理器(DSP)指令、要由处理器或其它类似机器执行的软件(潜在地包含目标代码和源代码)等)来实现,所述有形介质可以包含非暂时性计算机可读介质。在这些实例中的一些实例中,存储器元件可以存储供本文中描述的操作使用的数据。这包括能够存储被执行以实行本文中描述的活动的软件、逻辑、代码或处理器指令的存储器元件。
在示例实现方式中,通信系统100的网络元件(诸如电子设备102、云服务104和服务器106)可以包括软件模块(例如,数字证书验证模块112和网络数字证书验证模块118),以实现或促进如本文中所概述的操作。这些模块可以以任何适当的方式进行合适地组合,这可以基于特定的配置和/或供应需求。在示例实施例中,这样的操作可以由硬件实行、在这些元件之外来实现、或包括在某其它网络设备中以实现预期的功能性。此外,模块可以实现为软件、硬件、固件或其任何合适的组合。这些元件还可以包括可以与其它网络元件协调以便实现如本文中概述的操作的软件(或往复式软件)。
此外,电子设备102、云服务104和服务器106可以包括可以执行软件或算法以实行如本文中所讨论的活动的处理器(例如,处理器110)。处理器可以执行与用来实现本文中详述的操作的数据相关联的任何类型的指令。在一个示例中,处理器可以将元件或制品(例如,数据)从一个状态或事物转换到另一状态或事物。在另一示例中,可以用固定逻辑或可编程逻辑(例如,由处理器执行的软件/计算机指令)来实现本文中概述的活动,并且本文中所标识的元件可以是某种类型的可编程处理器、可编程数字逻辑(例如,现场可编程门阵列(FPGA)、EPROM、EEPROM)或包括数字逻辑、软件、代码、电子指令或其任何合适组合的ASIC。本文中描述的潜在的处理元件、模块和机器中的任何应当被解释为涵盖在广义术语“处理器”内。
电子设备102可以是网络元件,并且包括例如台式计算机、膝上型计算机、移动设备、个人数字助理、智能手机、平板或其它类似的设备。云服务104被配置成向电子设备102提供云服务。一般地,可以将云服务定义为在网络(诸如互联网)上作为服务交付的计算资源的使用。通常,在云基础设施中提供计算、存储和网络资源,从而有效地将工作负载从本地网络转移到云网络。服务器106可以是诸如服务器或虚拟服务器的网络元件,并且可以与希望经由某网络(例如,网络126)在通信系统100中发起通信的客户端、客户、端点或终端用户相关联。术语“服务器”包含用于服务于客户端的请求和/或在通信系统100内代表客户端执行某计算任务的设备。尽管数字证书验证模块112在图1中被表示为位于电子设备102中,但这仅是为了例示的目的。数字证书验证模块112可以以任何合适的配置组合或分离。此外,数字证书验证模块112可以与可由电子设备102(诸如云服务104或服务器106)访问的另一网络集成或分布在其中。
转向图2A,图2A是未被表征的文件128的框图。未被表征的文件128可能是可信文件、良性文件或恶意文件。未被表征的文件128可以包括可选映像头130、区段头134和区段136。可选映像头130可以包括证书表132。可选映像头130可以向未被表征的文件128的装载程序提供信息。证书表132可以指示该文件是否包括一个或多个数字证书。区段头134可以识别区段136中的内容或数据。区段136包括与未被表征的文件128有关的数据,诸如未被表征的文件128的有效负荷。因为未被表征的文件128不包括数字证书,所以对于大部分恶意软件检测系统和安全产品而言,如果未被表征的文件128是恶意的,则可以相对容易地将未被表征的文件128识别为恶意的。
转向图2B,图2B是具有数字证书的已数字签名的文件138的框图。如果已数字签名的文件138是恶意文件,则与未被表征的文件128不同,一些恶意软件检测系统和安全产品将不会将已数字签名的文件138识别为恶意文件。已数字签名的文件138可以包括可选映像头130、区段头134和区段136。区段136可以包括证书表140。证书表140可以包括内容信息142、证书144和签名者信息146。证书144可以包括用于已数字签名的文件138的任何数字证书。例如,证书144被例示为包括用于发布者/时间戳148的证书X509证书。签名者信息146包括用于证书144中的每个数字证书的签名者信息。例如,签名者信息146被例示为包括用于发布者/时间戳148的证书X509证书的数字证书签名者信息150。数字证书签名者信息150可以包括计数器签名152。
可以将数字证书验证模块112(或网络数字证书验证模块118)配置成分析已数字签名的文件138并确定已数字签名的文件138是否是恶意的。例如,数字证书验证模块112可以分析证书表132以确定安全目录条目是否已经以将会指示恶意文件的方式进行设置了。此外,数字证书验证模块112可以分析区段头134并确定区段大小是否已被修改。如果它们被修改,则已数字签名的文件138可能是恶意的。此外,数字证书验证模块112可以分析内容信息142并确定认证码是否已被修改为匹配用于已知恶意软件文件的认证码。还可以将数字证书验证模块112配置成分析证书表140并确定证书是否是从另一合法文件添加的。此外,数字证书验证模块112可以分析用于发布者/时间戳的证书X509证书148,以确定证书细节是否已被修改,这将指示恶意活动。此外,数字证书验证模块112可以分析数字证书签名者信息150中的计数器签名152,以确定计数器签名152是否包括任何未认证的属性,这可能指示恶意活动。
转向图3,图3是图示出根据实施例的可以与使用数字证书的恶意软件检测相关联的流程300的可能操作的示例流程图。在实施例中,流程300的一个或多个操作可以由数字证书验证模块112和网络数字证书验证模块118来执行。在302处,分析与文件相关联的数字证书。在304处,系统确定数字证书是否是正当的。为了确定数字证书是否是正当的,系统可以分析文件和文件中与数字证书有关的数据。例如,系统可以确定用于数字证书的代码签名是否与用于数字证书的二进制代码匹配、数字证书是否是通过修改可移植可执行文件头而嫁接到数据的、数字证书是否和与不同数据相关联的另一可信数字证书相同或具有相同的指纹等。如果数字证书是不正当的(例如,如果用于数字证书的代码签名与用于数字证书的二进制代码匹配,如果数字证书是通过修改可移植可执行文件头而嫁接到数据的,如果数字证书和与不同数据相关联的另一可信数字证书相同或具有相同的指纹等),那么可以如在306中将文件归类为不可信的。如果数字证书是正当的,那么系统如在310中确定数字证书是否是可信的。例如,与数字证书有关的数据可能是正当的,但数字证书本身可能是不可信的(例如,已知与恶意软件相关联的数字证书等)。如果数字证书是不可信的,那么可以如在306中将文件归类为不可信的。如果数字证书是可信的,那么可以如在308中将文件归类为可信的。
转向图4,图4图示出根据实施例的以点对点(PtP)配置布置的计算系统400。特别地,图4示出其中处理器、存储器和输入/输出设备通过数个点对点接口互连的系统。一般地,通信系统100的网络元件中的一个或多个可以以与计算系统400相同或类似的方式进行配置。
如图4所示,系统400可以包括几个处理器,为了清楚起见仅示出其中的两个处理器470和480。虽然示出了两个处理器470和480,但是将要理解的是,系统400的实施例也可以仅包括一个这样的处理器。处理器470和480可以各自包括一组核心(即处理器核心474A和474B,以及处理器核心484A和484B),以执行程序的多个线程。可以将核心配置成以类似于以上参考图1-3所讨论的方式来执行指令代码。每个处理器470、480可以包括至少一个共享高速缓存471、481。共享高速缓存471、481可以存储由处理器470、480的一个或多个组件(诸如处理器核心474和484)利用的数据(例如,指令)。
处理器470和480还可以各自包括集成存储器控制器逻辑(MC)472和482,以与存储器元件432和434通信。存储器元件432和/或434可以存储由处理器470和480使用的各种数据。在替换实施例中,存储器控制器逻辑472和482可以是与处理器470和480分离的分立逻辑。
处理器470和480可以是任何类型的处理器,并且可以分别使用点对点接口电路478和488经由点对点(PtP)接口450交换数据。处理器470和480可以各自使用点对点接口电路476、486、494和498经由单独的点对点接口452和454与芯片集490交换数据。芯片集490还可以使用可以是PtP接口电路的接口电路492经由高性能图形接口439与高性能图形电路438交换数据。在替换实施例中,可以将图4中图示出的PtP链路中的任何或全部实现为多点分支总线而不是PtP链路。
芯片集490可以经由接口电路496与总线420通信。总线420可以具有通过其进行通信的一个或多个设备,诸如总线桥418和I/O设备416。经由总线410,总线桥418可以与其它设备通信,所述其它设备诸如键盘/鼠标412(或诸如触摸屏、轨迹球等的其它输入设备)、通信设备426(诸如调制解调器、网络接口设备或可以通过计算机网络460通信的其它类型的通信设备)、音频I/O设备414和/或数据存储设备428。数据存储设备428可以存储代码430,其可以由处理器470和/或480来执行。在替换实施例中,总线架构中的任何部分可以用一个或多个PtP链路来实现。
图4中所描绘的计算机系统是可以用来实现本文中所讨论的各种实施例的计算系统的实施例的示意性图示。将认识到的是,可以将图4中所描绘的系统的各种组件以片上系统(SoC)架构或以任何其它合适的配置进行组合。例如,可以将本文中所公开的实施例并入到包括诸如智能蜂窝电话、平板计算机、个人数字助理、便携式游戏设备等的移动设备的系统中。将认识到的是,在至少一些实施例中,这些移动设备可以设有SoC架构。
转向图5,图5是与本公开内容的示例ARM生态系统SOC 500相关联的简化框图。本公开内容的至少一个示例实现方式可以包括使用本文中所讨论的数字证书特征来确定恶意软件检测和ARM组件。例如,图5的示例可以与任何ARM核心(例如,A-9、A-15等)相关联。此外,架构可以是任何类型的平板、智能手机(包含Android™手机、iPhones™)、iPad™、谷歌Nexus™、Microsoft Surface™、个人计算机、服务器、视频处理组件、膝上型计算机(包含任何类型的笔记本)、超级本™系统、任何类型的触摸使能输入设备等的一部分。
在图5的这个示例中,ARM生态系统SOC 500可以包括多个核心506-507、L2高速缓存控制508、总线接口单元509、L2高速缓存510、图形处理单元(GPU)515、互连502、视频编解码器520以及可以与耦合到LCD的移动行业处理器接口(MIPI)/高清晰度多媒体接口(HDMI)链路相关联的液晶显示器(LCD)I/F 525。
ARM生态系统SOC 500还可以包括订户身份模块(SIM)I/F 530、引导只读存储器(ROM)535、同步动态随机存取存储器(SDRAM)控制器540、闪存控制器545、串行外围接口(SPI)主设备550、合适的功率控制555、动态RAM(DRAM)560和闪存565。此外,一个或多个示例实施例包括一个或多个通信能力、接口和特征,诸如Bluetooth™ 570、3G调制解调器575、全球定位系统(GPS)580和802.11 Wi-Fi 585的实例。
在操作中,图5的示例可以提供处理能力以及相对低的功耗,以使得能够实现各种类型的计算(例如,移动计算、高端数字家庭、服务器、无线基础设施等)。此外,这样的架构可以使得能够实现任何数量的软件应用(例如,Android™、Adobe® Flash® Player、Java平台标准版(Java SE)、JavaFX、Linux、Microsoft Windows Embedded、塞班和乌班图等)。在至少一个示例实施例中,核心处理器可以利用所耦合的低等待时间二级高速缓存来实现无序超标量流水线。
转向图6,图6图示出根据实施例的处理器核心600。处理器核心600可以是用于任何类型的处理器(诸如微处理器、嵌入式处理器、数字信号处理器(DSP)、网络处理器或用以执行代码的其它设备)的核心。尽管在图6中仅图示出一个处理器核心600,但是处理器可以替换地包括不止一个的图6中所图示的处理器核心600。例如,处理器核心600表示参考图4的处理器470和480示出和描述的处理器核心474a、474b、474a、474b的一个示例实施例。处理器核心600可以是单线程核心,或者对于至少一个实施例而言,处理器核心600可以是多线程的,因为它可以每个核心包括不止一个的硬件线程上下文(或“逻辑处理器”)。
图6还图示出根据实施例的耦合到处理器核心600的存储器602。存储器602可以是本领域技术人员已知的或以其它方式可用的各种各样的存储器(包括存储器层次结构中的各层)中的任何。存储器602可以包括代码604,其可以是要由处理器核心600执行的一个或多个指令。处理器核心600可以遵循由代码604指示的指令的程序序列。每个指令进入前端逻辑606并由一个或多个解码器608处理。解码器可以作为其输出生成预定义格式的微操作(诸如固定宽度的微操作),或者可以生成反映原始代码指令的其它指令、微指令或控制信号。前端逻辑606还包括寄存器重命名逻辑610和调度逻辑612,其一般分派资源并对对应于指令的操作进行排队以用于执行。
处理器核心600还可以包括具有一组执行单元616-1至616-N的执行逻辑614。一些实施例可以包括专用于特定功能或功能集合的多个执行单元。其它实施例可以仅包括一个执行单元或可以实行特定功能的一个执行单元。执行逻辑614实行由代码指令指定的操作。
在完成由代码指令指定的操作的执行之后,后端逻辑618可以使代码604的指令引退。在一个实施例中,处理器核心600允许无序执行,但是要求指令的有序引退。引退逻辑620可以采取各种各样的已知形式(例如,重排序缓冲器等等)。以此方式,处理器核心600在代码604的执行期间至少在由解码器生成的输出、由寄存器重命名逻辑610利用的硬件寄存器和表格以及由执行逻辑614修改的任何寄存器(未示出)方面变换。
虽然未在图6中图示出,但是处理器可以包括与处理器核心600一起的芯片上的其它元件,其中的至少一些在本文中参考图4示出和描述。例如,如图4中所示,处理器可以包括存储器控制逻辑连同处理器核心600。处理器可以包括I/O控制逻辑,和/或可以包括与存储器控制逻辑集成的I/O控制逻辑。
要注意,在本文中提供的示例的情况下,可以在两个、三个或更多个网络元件方面描述交互。然而,这么做仅是为了清楚和示例的目的。在某些情况下,通过仅参考有限数量的网络元件可能更易于描述给定的流程集的功能中的一个或多个。应领会到,通信系统100a和100b以及其教导可容易地缩放,并且可以适应大量的组件以及更复杂/精密的布置和配置。相应地,所提供的示例不应限制范围或者抑制如潜在地适用于其它架构的混合的通信系统100a和100b的宽泛教导。
还重要的是要注意,前述流程图(即图3)中的操作仅图示出可以由通信系统100或在通信系统100内执行的可能关联场景和模式中的一些。这些操作中的一些可以在适当的情况下被删除或移除,或者这些操作可以被相当大地修改或改变而不脱离本公开的范围。此外,数个这些操作已经被描述为与一个或多个附加操作并发或并行执行。然而,可以相当大地更改这些操作的定时。已经提供了前述操作流用于示例和讨论的目的。由通信系统100提供大量的灵活性,在于可以提供任何合适的布置、年表、配置和定时机制而不脱离本公开的教导。
虽然已经参考特定布置和配置详细地描述了本公开,但是可以显著地改变这些示例配置和布置而不脱离本公开的范围。此外,可以基于特定需要和实施方式来对某些组件进行组合、分离、消除或添加。附加地,虽然已经参考促进通信过程的特定元件和操作图示出了通信系统100,但是这些元件和操作可以被实现通信系统100的意图功能的任何合适的架构、协议和/或过程所更换。
本领域技术人员可以确定许多其它的改变、替换、变化、变更和修改,并且本公开旨在涵盖落入所附权利要求的范围内的所有这些改变、替换、变化、变更和修改。为了协助美国专利商标局(USPTO)以及附加地在本申请上发布的任何专利的任何读者来解释本文所附的权利要求,申请人希望指出申请人:(a)不意图所附权利要求中的任何援引35 U.S.C.第112章节第六(6)段,如其在本申请申请日时存在的那样,除非在特定权利要求中具体地使用词语“用于…的部件”或“用于…的步骤”;以及(b)不意图通过说明书中的任何陈述以未在所附权利要求中以其它方式反映的任何方式来限制本公开。
其它注解和示例
示例C1是具有一个或多个指令的至少一种机器可读介质,所述指令在由至少一个处理器执行时引起所述至少一个处理器分析与数字证书有关的数据以及为数字证书分配声誉,其中所述声誉包括与数字证书有关的数据是否正当的指示。
在示例C2中,示例C1的主题可以可选地包括,其中对与数字证书有关的数据的分析包括确定用于数字证书的代码签名是否与用于数字证书的二进制代码相匹配。
在示例C3中,示例C1-C2中的任何一个的主题可以可选地包括,其中所述代码签名是认证码。
在示例C4中,示例C1-C3中的任何一个的主题可以可选地包括,其中对与数字证书有关的数据的分析包括确定数字证书是否是通过修改可移植可执行文件头而嫁接到数据的。
在示例C5中,示例C1-C4中的任何一个的主题可以可选地包括,其中对与数字证书有关的数据的分析包括确定数字证书和与不同数据相关联的另一可信数字证书相同。
在示例C6中,示例C1-C5中的任何一个的主题可以可选地包括,其中如果对与数字证书有关的数据的分析指示所述数据是不正当的,则将数字证书归类为不可信。
在示例A1中,一种装置可以包括数字证书验证模块,其被配置成识别包括数字证书及与所述数字证书有关的数据的文件,分析与所述数字证书有关的数据,以及为所述文件分配声誉,其中所述声誉包括与所述数字证书有关的数据是否正当的指示。
在示例A2中,示例A1的主题可以可选地包括,其中对与数字证书有关的数据的分析包括确定用于数字证书的代码签名是否与用于数字证书的二进制代码相匹配。
在示例A3中,示例A1-A2中的任何一个的主题可以可选地包括,其中所述代码签名是认证码。
在示例A4中,示例A1-A3中的任何一个的主题可以可选地包括,其中对数据的分析包括确定是否是通过修改可移植可执行文件头而嫁接到数据的。
在示例A5中,示例A1-A4中的任何一个的主题可以可选地包括,其中对与数字证书有关的数据的分析包括确定数字证书和与不同数据相关联的另一可信数字证书相同。
在示例A6中,示例A1-A5中的任何一个的主题可以可选地包括,其中如果对与数字证书有关的数据的分析指示所述数据是不正当的,则将文件归类为不可信。
示例M1是一种方法,其包括分析与数字证书有关的数据,以及为数字证书分配声誉,其中所述声誉包括与数字证书有关的数据是否正当的指示。
在示例M2中,示例M1的主题可以可选地包括,其中对数据的分析包括确定用于数字证书的代码签名是否与用于数字证书的二进制代码相匹配。
在示例M3中,示例M1-M2中的任何一个的主题可以可选地包括,其中所述代码签名是认证码。
在示例M4中,示例M1-M3中的任何一个的主题可以可选地包括,其中对数据的分析包括确定数字证书是否是通过修改可移植可执行文件头而嫁接到数据的。
在示例M5中,示例M1-M4中的任何一个的主题可以可选地包括,其中对数据的分析包括确定数字证书和与不同数据相关联的另一可信数字证书相同。
示例S1是一种用于使用数字证书的恶意软件检测的系统,所述系统包括数字证书验证模块,其被配置成识别与数字证书有关的数据,分析与数字证书有关的数据,以及为数字证书分配声誉,其中所述声誉包括所述数据是否正当的指示。
在示例S2中,示例S1的主题可以可选地包括,其中对数据的分析包括确定用于数字证书的代码签名是否与用于数字证书的二进制代码相匹配。
在示例S3中,示例S1和S2中的任何一个的主题可以可选地包括,其中对数据的分析包括确定数字证书是否是通过修改可移植可执行文件头而嫁接到数据的。
示例X1是一种机器可读存储介质,其包括机器可读指令以实施如示例M1-M7中的任何一个所述的方法或实现如示例A1-A8中的任何一个所述的装置。示例Y1是包括用于执行示例方法M1-M7中的任何的部件的装置。在示例Y2中,示例Y1的主题可以可选地包括用于执行所述方法的、包括处理器和存储器的部件。在示例Y3中,示例Y2的主题可以可选地包括包含机器可读指令的存储器。

Claims (20)

1.包括一个或多个指令的至少一种机器可读介质,所述指令当由至少一个处理器执行时引起所述至少一个处理器:
分析与数字证书有关的数据;以及
为所述数字证书分配声誉,其中所述声誉包括与所述数字证书有关的数据是否正当的指示。
2.根据权利要求1所述的至少一种机器可读介质,其中对所述数据的分析包括确定用于所述数字证书的代码签名是否与用于所述数字证书的二进制代码相匹配。
3.根据权利要求1和2中的任一项所述的至少一种机器可读介质,其中所述代码签名是认证码。
4.根据权利要求1-3中的任一项所述的至少一种机器可读介质,其中对所述数据的分析包括确定所述数字证书是否是通过修改可移植可执行文件头而嫁接到所述数据的。
5.根据权利要求1-4中的任一项所述的至少一种机器可读介质,其中对所述数据的分析包括确定所述数字证书和与不同数据相关联的另一可信数字证书相同。
6.根据权利要求1-5中的任一项所述的至少一种机器可读介质,其中如果对与所述数字证书有关的数据的所述分析指示与所述数字证书有关的数据是不正当的,则将文件归类为不可信。
7.一种装置,包括:
数字证书验证模块,其被配置成:
识别包括数字证书及与所述数字证书有关的数据的文件;
分析与所述数字证书有关的数据;以及
为所述文件分配声誉,其中所述声誉包括与所述数字证书有关的数据是否正当的指示。
8.根据权利要求7所述装置,其中对与所述数字证书有关的数据的分析包括确定用于所述数字证书的代码签名是否与用于所述数字证书的二进制代码相匹配。
9.根据权利要求7和8中的任一项所述的装置,其中所述代码签名是认证码。
10.根据权利要求7-9中的任一项所述的装置,其中对与所述数字证书有关的数据的分析包括确定是否是通过修改可移植可执行文件头而嫁接到所述数据的。
11.根据权利要求7-10中的任一项所述的装置,其中对与所述数字证书有关的数据的分析包括确定所述数字证书是否和与不同数据相关联的另一可信数字证书相同。
12.根据权利要求7-11中的任一项所述的装置,其中如果对与所述数字证书有关的数据的所述分析指示所述数据是不正当的,则将所述文件归类为不可信。
13.一种方法,包括:
分析与数字证书有关的数据;以及
为所述数字证书分配声誉,其中所述声誉包括与所述数字证书有关的数据是否正当的指示。
14.根据权利要求13所述的方法,其中对所述数据的分析包括确定用于所述数字证书的代码签名是否与用于所述数字证书的二进制代码相匹配。
15.根据权利要求13和14中的任一项所述的方法,其中所述代码签名是认证码。
16.根据权利要求13-15中的任一项所述的方法,其中对所述数据的分析包括确定所述数字证书是否是通过修改可移植可执行文件头而嫁接到所述数据的。
17.根据权利要求13-16中的任一项所述的方法,其中对所述数据的分析包括确定所述数字证书和与不同数据相关联的另一可信数字证书相同。
18.一种用于使用数字证书的恶意软件检测的系统,所述系统包括:
数字证书验证模块,其被配置成:
识别与数字证书有关的数据;
分析与所述数字证书有关的数据;以及
为所述数字证书分配声誉,其中所述声誉包括与所述数字证书有关的数据是否正当的指示。
19.根据权利要求18所述的系统,其中对所述数据的分析包括确定用于所述数字证书的代码签名是否与用于所述数字证书的二进制代码相匹配。
20.根据权利要求18和19中的任一项所述的系统,其中对所述数据的分析包括确定所述数字证书是否是通过修改可移植可执行文件头而嫁接到所述数据的。
CN201680037871.8A 2015-06-27 2016-05-26 使用数字证书的恶意软件检测 Active CN107873095B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/752,874 US10642976B2 (en) 2015-06-27 2015-06-27 Malware detection using a digital certificate
US14/752874 2015-06-27
PCT/US2016/034218 WO2017003598A1 (en) 2015-06-27 2016-05-26 Malware detection using a digital certificate

Publications (2)

Publication Number Publication Date
CN107873095A true CN107873095A (zh) 2018-04-03
CN107873095B CN107873095B (zh) 2021-08-31

Family

ID=57602481

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680037871.8A Active CN107873095B (zh) 2015-06-27 2016-05-26 使用数字证书的恶意软件检测

Country Status (5)

Country Link
US (2) US10642976B2 (zh)
EP (1) EP3314512A4 (zh)
JP (1) JP2018520437A (zh)
CN (1) CN107873095B (zh)
WO (1) WO2017003598A1 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9672342B2 (en) * 2014-05-05 2017-06-06 Analog Devices, Inc. System and device binding metadata with hardware intrinsic properties
US10432409B2 (en) 2014-05-05 2019-10-01 Analog Devices, Inc. Authentication system and device including physical unclonable function and threshold cryptography
US10642976B2 (en) 2015-06-27 2020-05-05 Mcafee, Llc Malware detection using a digital certificate
US10425235B2 (en) 2017-06-02 2019-09-24 Analog Devices, Inc. Device and system with global tamper resistance
US10958452B2 (en) 2017-06-06 2021-03-23 Analog Devices, Inc. System and device including reconfigurable physical unclonable functions and threshold cryptography
CN108599959B (zh) * 2018-04-28 2021-08-24 深圳Tcl数字技术有限公司 授权证书校验方法、装置及可读存储介质、应用设备
RU2708353C1 (ru) * 2018-12-28 2019-12-05 Акционерное общество "Лаборатория Касперского" Система и способ стойкой к атакам проверки ЭЦП файлов
RU2706873C1 (ru) * 2018-12-28 2019-11-21 Акционерное общество "Лаборатория Касперского" Система и способ проверки ЭЦП файла
US11245710B2 (en) * 2020-03-05 2022-02-08 Cloudflare, Inc. Determining an origin server is potentially compromised
CN113407386B (zh) * 2021-05-13 2022-08-23 福建升腾资讯有限公司 一种模拟测试居民证件的装置
US12039088B2 (en) 2021-06-29 2024-07-16 Hewlett Packard Enterprise Development Lp Signing files based on file security credentials
CN116401147B (zh) * 2023-02-08 2024-05-03 深圳开源互联网安全技术有限公司 一种函数库引用版本检测方法、设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1350258A (zh) * 2001-12-03 2002-05-22 上海电子商务安全证书管理中心有限公司 电子签名的校验方法及装置
US20060100010A1 (en) * 2002-07-05 2006-05-11 Cyberscan Technology, Inc. Secure game download
US20060184798A1 (en) * 2005-02-17 2006-08-17 Yaldwyn Ben F Post-signing modification of software
CN101017544A (zh) * 2007-02-15 2007-08-15 江苏国盾科技实业有限责任公司 含电子印章数字证书的合体印章签署认证方法
CN101145906A (zh) * 2006-09-13 2008-03-19 北京邦天科技有限公司 对单向网络中的接收终端进行合法性认证的方法及系统
CN104283846A (zh) * 2013-07-03 2015-01-14 中国移动通信集团公司 诊断终端应用被篡改的方法、系统及服务器

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6367012B1 (en) * 1996-12-06 2002-04-02 Microsoft Corporation Embedding certifications in executable files for network transmission
US5892904A (en) * 1996-12-06 1999-04-06 Microsoft Corporation Code certification for network transmission
US6073142A (en) 1997-06-23 2000-06-06 Park City Group Automated post office based rule analysis of e-mail messages and other data objects for controlled distribution in network environments
US6272631B1 (en) * 1997-06-30 2001-08-07 Microsoft Corporation Protected storage of core data secrets
US5987610A (en) 1998-02-12 1999-11-16 Ameritech Corporation Computer virus screening methods and systems
US7685425B1 (en) 1999-03-31 2010-03-23 British Telecommunications Public Limited Company Server computer for guaranteeing files integrity
US6460050B1 (en) 1999-12-22 2002-10-01 Mark Raymond Pace Distributed content identification system
US6928550B1 (en) 2000-01-06 2005-08-09 International Business Machines Corporation Method and system for generating and using a virus free file certificate
US6901519B1 (en) 2000-06-22 2005-05-31 Infobahn, Inc. E-mail virus protection system and method
US7921302B2 (en) * 2003-03-10 2011-04-05 Igt Universal game download methods and system for legacy gaming machines
US8397072B2 (en) * 2005-05-20 2013-03-12 Rovi Solutions Corporation Computer-implemented method and system for embedding ancillary information into the header of a digitally signed executable
GB2439574A (en) * 2006-06-29 2008-01-02 Symbian Software Ltd Detecting revoked certificates for downloaded software
US9917844B2 (en) * 2006-12-17 2018-03-13 Fortinet, Inc. Detection of undesired computer files using digital certificates
JP2010535372A (ja) 2007-07-31 2010-11-18 ロヴィ・ソリューションズ・コーポレーション 補助情報をデジタル署名付きコンテンツに埋め込み認証する、コンピュータにより実施される方法およびシステム
US20090064134A1 (en) * 2007-08-30 2009-03-05 Citrix Systems,Inc. Systems and methods for creating and executing files
US8245296B2 (en) 2008-05-23 2012-08-14 Verizon Patent And Licensing Inc. Malware detection device
US10459711B2 (en) * 2008-08-12 2019-10-29 Adobe Inc. Updating applications using migration signatures
GB2463467B (en) 2008-09-11 2013-03-06 F Secure Oyj Malware detection method and apparatus
US8484739B1 (en) 2008-12-15 2013-07-09 Symantec Corporation Techniques for securely performing reputation based analysis using virtualization
US8181251B2 (en) * 2008-12-18 2012-05-15 Symantec Corporation Methods and systems for detecting malware
US9602499B2 (en) * 2009-04-07 2017-03-21 F-Secure Corporation Authenticating a node in a communication network
US8621591B2 (en) * 2010-10-19 2013-12-31 Symantec Corporation Software signing certificate reputation model
US8499150B1 (en) 2010-11-11 2013-07-30 Symantec Corporation Selectively trusting signed files
US8938809B2 (en) * 2011-06-24 2015-01-20 Google Technology Holdings LLC Retrieval of data across multiple partitions of a storage device using digital signatures
US8650649B1 (en) * 2011-08-22 2014-02-11 Symantec Corporation Systems and methods for determining whether to evaluate the trustworthiness of digitally signed files based on signer reputation
JP2013062650A (ja) * 2011-09-13 2013-04-04 Mitsubishi Electric Corp データ検証装置、データ検証装置のデータ検証方法、データ検証プログラムおよびデータ検証システム
US8650638B2 (en) * 2011-10-18 2014-02-11 Mcafee, Inc. System and method for detecting a file embedded in an arbitrary location and determining the reputation of the file
US8776242B2 (en) 2011-11-29 2014-07-08 Raytheon Company Providing a malware analysis using a secure malware detection process
US9589129B2 (en) * 2012-06-05 2017-03-07 Lookout, Inc. Determining source of side-loaded software
US9667616B2 (en) 2013-01-08 2017-05-30 Mitsubishi Electric Corporation Authentication processing apparatus, authentication processing system, authentication processing method and authentication processing program
US8966659B2 (en) * 2013-03-14 2015-02-24 Microsoft Technology Licensing, Llc Automatic fraudulent digital certificate detection
US9058504B1 (en) 2013-05-21 2015-06-16 Malwarebytes Corporation Anti-malware digital-signature verification
US9338012B1 (en) * 2013-10-04 2016-05-10 Symantec Corporation Systems and methods for identifying code signing certificate misuse
GB2534556B (en) * 2015-01-21 2019-12-25 F Secure Corp Preventing misuse of code signing certificates
US9479338B2 (en) * 2015-03-17 2016-10-25 Digicert, Inc. Method and system for certificate discovery and ranking certificate authorities
US10642976B2 (en) 2015-06-27 2020-05-05 Mcafee, Llc Malware detection using a digital certificate

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1350258A (zh) * 2001-12-03 2002-05-22 上海电子商务安全证书管理中心有限公司 电子签名的校验方法及装置
US20060100010A1 (en) * 2002-07-05 2006-05-11 Cyberscan Technology, Inc. Secure game download
US20060184798A1 (en) * 2005-02-17 2006-08-17 Yaldwyn Ben F Post-signing modification of software
CN101145906A (zh) * 2006-09-13 2008-03-19 北京邦天科技有限公司 对单向网络中的接收终端进行合法性认证的方法及系统
CN101017544A (zh) * 2007-02-15 2007-08-15 江苏国盾科技实业有限责任公司 含电子印章数字证书的合体印章签署认证方法
CN104283846A (zh) * 2013-07-03 2015-01-14 中国移动通信集团公司 诊断终端应用被篡改的方法、系统及服务器

Also Published As

Publication number Publication date
EP3314512A1 (en) 2018-05-02
WO2017003598A1 (en) 2017-01-05
US10642976B2 (en) 2020-05-05
JP2018520437A (ja) 2018-07-26
US20160378983A1 (en) 2016-12-29
US11379583B2 (en) 2022-07-05
US20200272733A1 (en) 2020-08-27
EP3314512A4 (en) 2018-12-26
CN107873095B (zh) 2021-08-31

Similar Documents

Publication Publication Date Title
CN107873095A (zh) 使用数字证书的恶意软件检测
CN106796638B (zh) 使用飞地认证进行数据验证
CN107980123B (zh) 敏感数据的保护
CN107431694B (zh) 加密密钥取回
CN107430662B (zh) 识别进程的恶意运行
CN107409120B (zh) 检测恶意外设的装置、方法及系统
CN107851157A (zh) 恶意软件的检测
CN107683478A (zh) 缓解恶意软件的系统和方法
CN107873129A (zh) 用于不受管理的设备的安全服务
CN108093652A (zh) 应用的模拟
CN107430663A (zh) 确定用于进程的信誉
US20160180092A1 (en) Portable secure storage
US11032266B2 (en) Determining the reputation of a digital certificate
CN107960126A (zh) 基于分析事件的漏洞利用检测
CN106575336A (zh) 对敏感代码恶意调用的检测与抑制
CN107889551B (zh) 用于识别恶意软件的异常检测
CN108064384A (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
GR01 Patent grant
GR01 Patent grant