CN110869931A - 电子系统漏洞评估 - Google Patents

电子系统漏洞评估 Download PDF

Info

Publication number
CN110869931A
CN110869931A CN201880041337.3A CN201880041337A CN110869931A CN 110869931 A CN110869931 A CN 110869931A CN 201880041337 A CN201880041337 A CN 201880041337A CN 110869931 A CN110869931 A CN 110869931A
Authority
CN
China
Prior art keywords
version
computer program
vulnerability
format
scanning
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
CN201880041337.3A
Other languages
English (en)
Inventor
J·E·奈斯达特
M·梅利亚克
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.)
ARM Ltd
Arm IP Ltd
Original Assignee
ARM Ltd
Arm IP Ltd
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 ARM Ltd, Arm IP Ltd filed Critical ARM Ltd
Publication of CN110869931A publication Critical patent/CN110869931A/zh
Pending legal-status Critical Current

Links

Images

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/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/54Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by adding security routines or objects to programs
    • 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
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • 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
    • 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
    • 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/034Test or assess a computer or a system
    • 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/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2101Auditing as a secondary aspect
    • 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/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2139Recurrent verification

Abstract

用于评估电子设备的系统中的漏洞的方法和装置,包括确定以可用的格式安装的计算机程序的版本的有区别的特点,以区分该版本与至少一个另外的版本;识别在由该有区别的版本使用的代码或数据中的导致对恶意活动的漏洞的缺陷的指示;维持有区别的特点与指示之间的映射;扫描系统是否存在有区别的版本;确定易受攻击的部分被该有区别的版本使用;以及作为响应,根据映射用漏洞指示符指示电子设备易受恶意活动的攻击;指派与已安装实例相关联的风险值;以及发出识别漏洞并指示与已安装实例相关联的风险值的警报信号。进一步控制扫描,以防止敏感代码和数据暴露。

Description

电子系统漏洞评估
技术领域
本技术涉及用于操作系统电子系统以评估一个或多个系统设备或逻辑组件(诸如软件和固件)对恶意代码的漏洞的装置和方法。
背景技术
一般公认的是,所有电子设备和逻辑组件都具有对恶意代码(诸如病毒、蠕虫、特洛伊木马等)的一定程度的漏洞。在软件或硬件组件的生存期内,经常会发现新的漏洞,例如,当它们被恶意者发现并利用时,或者当它们被与系统安全性相关的人员发现时。对于电子系统的开发人员来说,一项挑战是检测此类新发现的漏洞影响已安装的系统的潜能,评估其对设备、组件或更广泛的系统的潜在影响,并设计防止或缓解此类影响的手段。
发明内容
在各种实施方式中,本技术中的第一方法提供了一种用于评估电子设备的系统中的电子设备的漏洞的机器实现的方法,该方法包括:确定以可用的格式安装的计算机程序的至少一个版本的有区别的特点,以区分该格式的计算机程序的所述至少一个版本与该格式的计算机程序的至少一个另外的版本;识别在由计算机程序的所述至少一个版本使用的代码和数据中的至少一者的一部分中的导致对恶意活动的漏洞的缺陷的至少一个指示;维持计算机程序的所述至少一个版本与所述至少一个指示之间的映射;扫描系统是否存在电子设备的系统中的计算机程序的所述至少一个版本的有区别的特点;确定被计算机程序的所述至少一个版本使用的代码和数据中的至少一者的所述部分;响应于确定电子设备具有计算机程序的所述至少一个版本的至少一个已安装实例,根据映射用至少一个漏洞指示符指示电子设备易受恶意活动攻击;为所述至少一个漏洞指示符指派与已安装实例相关联的风险值;以及发出识别该漏洞并指示与已安装实例相关联的风险值的警报信号。
在各种实施方式中,本技术中的第二方法提供了一种用于电子设备的系统中的本地电子设备的机器实现的漏洞检测方法,包括:确定以可用的形式安装在至少一个本地电子设备上的某格式的计算机程序的至少一个版本的有区别的特点,以区分该格式的计算机程序的至少一个版本与该格式的计算机程序的至少一个另外的版本;进行以下中的至少一项:在远程设备处生成代码和数据中的至少一者的一部分中的导致对恶意活动的漏洞的缺陷的至少一个指示,以及在本地设备处接收代码和数据中的至少一者的一部分中的导致对恶意活动的漏洞的缺陷的至少一个指示;确定该部分被至少一个版本使用;维持所述计算机程序的所述至少一个版本与所述至少一个指示之间的映射;创建包括有区别的特点和指示的第一扫描规则;确定扫描仪的信任级别;创建包括信任级别的第二扫描规则;将第一和第二扫描规则存储在本地设备和远程设备中的至少一个中;根据所存储的第一扫描规则仅扫描根据第二扫描规则中的信任级别可用的本地设备上的存储装置的部分,以检测其上处于已安装状态和将要安装状态中的至少一个状态的至少一个可用计算机程序中有区别的特点的实例,扫描动作由本地设备和远程设备中的至少一个执行;以及响应于根据第一扫描规则的有区别的特点确定电子设备具有计算机程序的至少一个版本的已安装实例,根据该指示发出指示电子设备易受恶意活动攻击的警报信号。
附图说明
现在将参考附图仅以示例的方式描述所公开的技术的实施方式,其中:
图1示出了根据本技术的一种实施方式的操作方法;
图2示出了根据本技术的实施方式的另一种操作方法;
图3示出了根据本技术的实施方式的系统的组件(其可以包括硬件、软件和固件实体的任意组合)。
图4示出了在链接的(linked-in)库实体中发现的漏洞的示例;
图5示出了本技术的第一变体的现实世界示例;以及
图6示出了本技术的第二变体的现实世界示例。
具体实施方式
在典型的现代系统环境中,通常会将许多种类的电子设备联网以搜集、处理、存储和分析数据。常常在地理上分布广泛的这些设备典型地通过可以是有线或无线的通信介质用固件或软件进行初始配置以及随后的更新。
近年来,物联网(IoT)的现象得到发展,从而使以前孤立且缺乏本地处理能力的设备被提供有连接性和本地处理功能。在IoT环境中,不同类型的设备(传感器、致动器等)可以嵌入常规的电器(诸如空调设备、冰箱、加热器等)中,并且可以通过互联网与许多协作的设备和系统连接。在这样的环境中,恶意者可以利用软件和固件中的漏洞来获取利润或造成伤害。
现在参考图1,示出了根据本技术的实施方式的操作方法100。该处理开始于开始(START)步骤102,并且在步骤104处,找到程序或数据实体的版本的有区别的特点。程序实体可以包括例如链接库、远程可调用过程等。数据实体可以包括例如密码密钥串,恶意活动造成的密码密钥串的损坏在许多方面都会是破坏性的。特点可以像命名程序或数据实体的版本的文字常量字符串一样简单,或者它可以是许多可能的更复杂特点中的任何一个,诸如代码中的水印。有区别的特点可以是例如正则表达式,或者也可以包含“无关”元素。因此,例如,特点模式可以包括代码或数据中的多个实体(诸如字节或其它位模式),而不必是连续的。此外,有区别的特点可以包括离散的模式,它们彼此之间的接近度可以包括区分性的识别特征。
在步骤106处,识别程序或数据实体的至少一个版本中的漏洞(例如,通过参考已知漏洞的数据库,诸如通用漏洞和暴露储存库CVE),并且在步骤108处,将版本的有区别的特点与识别出的漏洞相关联。如本领域技术人员将清楚的那样,这些步骤不一定按此顺序执行-它们可以不同地排序,并且实际上,在一些系统中,步骤可以并行执行。在步骤110处,扫描系统以定位包含有区别的特点的任何系统实体-在测试步骤112处的肯定结果指示系统实体中的至少一个实体使用了与识别出的漏洞相关联的程序或数据实体的版本。有区别的特点可以附加地覆盖一系列版本,使得可以扫描并检测若干易受攻击的实体。
如果在测试步骤112处没有发现有区别的特点,那么处理的这个实例在结束(END)步骤120处完成,并且处理被释放以返回到开始步骤102以继续进行另外的迭代。
如果在测试步骤112处发现有区别的特点,那么在可选的测试步骤114处,可以确定程序或数据实体的版本的已安装实例是否使用了程序或数据实体的易受攻击的部分。
如果测试步骤114的结果是否定的,那么无需采取进一步的动作,处理的这个实例在结束步骤120处完成,并且处理被释放以返回到开始步骤102以继续进行另外的迭代。
如果测试步骤114的结果为肯定,指示程序或数据实体的易受攻击的部分被该程序或数据实体的版本的已安装实例使用,那么在步骤116处,指派与识别出的漏洞相关联的风险值。风险值可以例如从通用漏洞评分系统(CVSS)得出。在步骤118处,发出警报,使得可以采取适当的动作,通常是通过操作者动作或通过自动化校正或缓解处理。然后,处理的这个实例在结束步骤120处完成,并且处理被释放以返回到开始步骤102以进行另外的迭代。
现在参考图2,示出了根据本技术的一个实施方式的另一种操作方法200。该技术的这一方面解决了对访问控制进行精炼的要求。如本领域技术人员将认识到的那样,有必要部署所有可能的手段来保护敏感数据资产,诸如个人可识别信息、密码密钥等。此类数据资产可能包含在与需要扫描是否存在漏洞的程序和数据实体相同的存储介质中,因此可能有必要控制扫描以确保在该处理中不会暴露敏感数据资产。
考虑到这一需要,操作方法200在开始步骤202处开始,并且在步骤204处通过识别有区别的特点来区分程序或数据实体的版本。程序实体可以包括例如链接库、远程可调用的过程等。数据实体可以包括例如密码密钥串,恶意活动造成的密码密钥串的损坏在许多方面都会是破坏性的。特点可以像命名程序或数据实体的版本的文字常量字符串一样简单,或者它可以是许多可能的更复杂特点中的任何一个,诸如代码中的水印。有区别的特点可以附加地覆盖一系列版本,使得可以扫描并检测若干易受攻击的实体。在步骤206处,接收或生成漏洞指示符。通常,漏洞指示符是基于对代码或数据中的缺陷的报告在中央位置生成的,该缺陷提供了被恶意倾向者利用的攻击面。众所周知的CVE储存库提供了此类漏洞指示符。在测试步骤208处,确定在步骤204所区分的代码或数据实体的版本是否使用了代码或数据实体的易受攻击的部分。
如果测试步骤208的结果是否定的,那么不需要进一步的动作,处理的这个实例在结束步骤226处完成,并且处理被释放以返回到开始步骤202以进行另外的迭代。
如果测试步骤208的结果是肯定的,那么在步骤210处,将漏洞指示符映射到程序或数据实体的版本。映射通常存储在可以是任何类型的存储介质上,以供本技术的方法的至少一个实例使用。在步骤212处,使用程序或数据实体的版本及其到漏洞指示符的映射来创建第一扫描规则。在步骤214处,确定要赋予扫描器的信任级别,并且在步骤216处,根据信任级别创建第二扫描规则。出于保护敏感数据位置的上述需求,这个第二扫描规则是必需的。扫描规则可以例如从设备配置(诸如设备中的存储结构或其固件)中导出。一个示例可以是设备的存储器保护配置,或者是确定存储装置的某个部分的可访问性的某个其它规则。第一和第二扫描规则在218处被存储,使得它们可以在本技术的方法的至少一个实例中使用。在步骤220处,根据存储的扫描规则来扫描系统,以检测是否存在程序或数据实体的版本的至少一个实例。根据第二扫描规则从扫描中筛选敏感数据位置。
如果在测试步骤222处在系统中未找到该版本的实例,那么不需要进一步的动作,处理的这个实例在结束步骤226处完成,并且处理被释放以返回到开始步骤202以进行另外的迭代。如果测试步骤222的结果是肯定的(即,找到该版本的实例),那么在步骤224处发出警报,以便可以采取适当的动作,通常是通过操作者动作或通过自动化校正或缓解处理。然后,处理的这个实例在结束步骤226处完成,并且处理被释放以返回到开始步骤202以进行另外的迭代。
现在参考图3和4,示出了根据本技术的现实世界实施方式的示例性IoT系统环境的简化表示,其中字母引用用于以下文本(在文本中以粗体类型显示)中。示例性环境包括由IoT设备使用的代码库和操作系统代码元素,但是对于本领域的技术人员将清楚的是,本技术不限于这种环境。
转到图3,当开发人员为IoT设备(I)创建软件或固件实体(H)时,通常所使用的代码的70-90%包括第三方库和可能的嵌入式操作系统(OS)代码。在这些库中经常发现新的安全漏洞,开发人员必须确保这些库保持最新。而且,如果在发行设备之后发现漏洞,那么必须用修复该漏洞的最新版本的第三方库对固件进行适配、测试和重建。在发行新固件之后,IoT设备的所有者或操作者必须部署新固件更新,这通常需要进行现场测试,以确保更新后的固件不会“破坏”部署。
在发行设备之后,通常会在相当长的时间(可能是多年)内发现第三方库中的新漏洞(如图3的储存库(A)中所示的存储的),并且系统的操作者必须对任何已部署的设备是否会受到新发现的漏洞的影响执行漏洞评估。
因为现实世界系统通常具有许多设备,这些设备可能已经在不同时间部署,所以同一系统中的不同设备可能已经安装了不同的软件和固件版本。常常,随着固件的原始开发人员的发展,设备制造商和操作者都已经失去了部署的一些方面的信息,甚至可能不知道任何特定设备是否易受攻击。
而且,即使已知存在漏洞,但由于资源短缺,IT组织也倾向于以他们认为特定问题并非“紧急”为由而推迟安装补丁。出于这些原因,CSO可以审核系统以评估已部署的设备网络的风险级别。在IoT环境中,所部署的设备数量之多和种类之多会加剧这一困难。
在IoT示例中(但不限于这种环境),一旦公开披露了新漏洞,攻击者通常就开始探测连接的IoT设备并试图使其受到损害。但是,在典型的当前系统环境中,开发人员、制造商、操作者和CSO可能常常努力理解其IoT设备是否易受攻击。在图3和4所示的示例中,INV_SSL 1.1由于极易受到Heartbleed利用的攻击而被记录在通用漏洞和暴露(CVE)储存库(A)中。在图4中,经由从网络摄像头逻辑V1.1(Webcam logic V1.1)的链接,通过本技术将INV_SSL 1.1检测为由INV_网络摄像头固件1.1安装和使用。
常常,在连接的设备操作数年之后,组织不能维护所有使用的固件映像的最新目录,并且没有所有设备的目录以及每个设备上运行的固件版本的映射。
此外,组织可以将固件视为秘密,并且不准备与外部漏洞扫描服务(K)共享固件。为应对这种情况,可以在设备(I)本身中预先包含漏洞扫描引擎(E),并暴露远程触发漏洞扫描的选项。在这种模式下,预先授权的漏洞扫描IoT服务(L)将请求签名生成器(C)生成新的漏洞签名、将新的漏洞签名发送到指定的设备(I)、向其发送漏洞签名的列表(D),以及让设备本身使用其固件本身的扫描引擎(E)执行扫描并将结果报告给扫描服务(L)。在一个实施方式中,设备将仅扫描存储有固件代码片段的设备存储装置,而避免扫描数据片段以避免将敏感数据或密钥暴露给服务。设备本身上的本地扫描在图3中示为变体1。
变体2(也在图3中示出)允许由设备管理服务进行扫描。如果设备管理服务(K)具有现有设备(G)及其固件(F)的目录,那么在发现新漏洞时,中央服务(诸如云服务)可以生成(C)更新后的漏洞签名(D)并在固件储存库中的固件上执行扫描引擎(E)以发现漏洞,以便它可以报告哪些现有设备受到了影响并要求校正动作(诸如打补丁)。
此外,可以将这种技术与固件更新能力集成,以便当开发人员发布新的固件版本以用于分发时,该技术可以自动扫描新漏洞并发出警报,从而有可能在将其分发给设备之前将结果报告给上载新固件的开发人员或报告给接收它的OEM。
管理服务可以在设备目录(G)中将受影响的设备标记为易受攻击,并使用这个标记来例如限制设备的使用。例如,可以避免在易受攻击的设备上发送敏感数据或避免对易受攻击的设备执行动作,直到用新固件更新该设备并去除易受攻击状况为止。
可以生成漏洞指示符以使得能够检测易受攻击的库已链接到固件二进制文件中的情况。自然,即使使用了易受攻击的库,当不使用具体的易受攻击的功能或易受攻击的配置时,有时链接固件也不会受到影响。因此,不可能自动核实固件中漏洞的可利用性,但是尽管如此,最佳实践仍然是标记对易受攻击的库的任何使用,以便任何被利用的可能性被暴露并可以被补救或缓解。
在适用于上述两种变体的一个可能的实施方式中,库签名生成工具(C)可以如下操作:
·建立由嵌入式固件开发人员所使用的流行的第三方库的列表–这个列表需要或者手动或者通过某些智能技术定期填充和更新。
·在计划的基础上(例如,每周或每月)从通用漏洞和暴露(CVE)数据库获得新漏洞签名的列表–这种数据库由(A)表示。
·从对应的供应商获得第三方库的经编译的版本,或者从开源代码储存库拉取并使用任何众所周知的工具链和处理器体系架构(B1,B2)来构建它们。
·在每个库的每个版本之间进行二进制比较,并识别一个或多个字节序列,该一个或多个字节序列将目标库与所有其它分开,并将目标库版本与所有其它版本区分开。区分可以包括在代码或数据映像的不依赖于位置的部分中找到模式,以便搜索可以是不依赖于链接的。例如,这可以通过以下方式实现:用参考重定位表逆转的链接处理复制映像,从而克服任何重定位对模式匹配处理的影响。
·输出产生的漏洞指示符或签名的列表(D)。
例如,可以在储存库(诸如GITHUB)上获得最常用的项目,并自动编译最新版本,以确定在链接的映像中使用的库。然后,智能系统可以将包括的文件映射到相关的源代码,然后在被调查的系统中查找相似的文件。可以在最常用的项目、被调查的系统对此类项目的使用与CVE数据库之间建立关联。
当签名生成工具产生其输出之后,扫描引擎(E)需要执行以下逻辑:
·接收预先生成的漏洞签名(D)的集合以及固件映像(H)。
·执行固件二进制扫描,从而输出匹配的库及其版本的列表。
·在CVE数据库(A)中查找每个库版本的已知的漏洞的列表、其CVE-id、描述和严重性。
现在将参考图5描述上面提到的第一变体(变体1),其中本地扫描服务在本地设备上执行扫描:
1.扫描服务从签名生成源接收(1)新漏洞签名,该签名先前已由上述漏洞签名生成器生成。
2.扫描服务接收(2)要扫描的设备的列表。该列表可以由用户直接提供,或者可以从设备目录或清单中提取(如果这些可用的话)。
3.然后,扫描服务在设备的列表上循环,并对每个设备执行以下操作:
a.如果知道设备已经具有哪个版本的签名,那么它可以可选地从处理的先前执行中产生(3)签名的子集,以减少通过网络传送到设备的签名的尺寸。
b.将签名的完整列表或子集增量(delta)发送(4)到设备上的终端安全性(EndPointSecurity)模块以进行扫描。
4.终端安全性模块将增量与设备上的现有签名信息合并(5),或将现有签名替换为接收到的新版本。
5.设备上的终端安全性模块调用(6)本地漏洞扫描引擎以扫描固件。
6.漏洞扫描引擎在(7)处的输出是匹配的易受攻击的库或漏洞的列表。
7.终端安全性模块向扫描服务发出(8)匹配的库的输出列表。
8.在接收到来自所有设备的扫描输出之后,扫描服务构造(9)数据的集合(可能以报告的形式),其具有诸如受影响设备的列表和数量以及按每种漏洞或每种严重程度有多少设备受影响(例如,有10%的设备具有严重漏洞,有20%的设备具有中等漏洞)之类的信息。可以使用某些排名系统(诸如CVSS)对漏洞进行排名,如用于生成签名的原始漏洞数据库中所指示的。
9.然后,系统或者向操作者或者向自动化系统适当地发出(10)警报(可能以报告的形式),用于校正或缓解任何漏洞。
现在转向图6,在第二个变体(变体2)的实施方式中,扫描由管理服务组件执行而不是在本地设备上执行的。在这个变体中,扫描服务:
1.从签名生成源接收(1)先前由漏洞签名生成器生成的新的漏洞签名(如上所述)。
2.从固件目录接收(2)要扫描的固件版本和文件的列表。
3.在固件映像的列表上循环,对于每个映像执行以下操作:
a.使用签名和固件映像调用(3)漏洞扫描引擎。
b.从漏洞扫描引擎接收(4)检测到的漏洞或易受攻击的库的列表。
4.按漏洞id或漏洞严重性(如由匹配的漏洞的严重性等级所指示的)对匹配的固件映像进行分组(5)。需要使用针对严重性的排名系统–例如,由CVSS描述的系统。
5.提取(6)当前具有固件的易受攻击版本的设备的列表,并可选地更新设备目录,将设备标记(7)为易受攻击。
6.按漏洞或严重性对受影响的设备的列表进行分组(8)。
7.产生(9)报告,该报告具有已找到的易受攻击的设备的原始列表,或者具有按漏洞id或漏洞严重性分组的易受攻击的设备8.递送(10)所获取的数据,可能以报告的形式。
然后,系统或者向操作者或者向自动化系统适当地发出警报,以校正或缓解任何漏洞。易受攻击的设备可以被中立化(neutralized),例如通过使其访问完全被撤消。在一种替代方案中,可以限制它们的使用,例如通过不允许它们触发敏感动作或接收敏感信息。
两个变体(变体1和变体2)都可以被进一步精炼以结合上述保护措施,以确保在扫描处理期间不会暴露敏感数据。在这两个变体中,确定有区别的特点可以包括找到版本指示符的明文实例、版本指示符的编码或对于所述版本和一系列版本中的至少一个唯一的符号序列中的至少一个。缺陷的指示可以包括可利用的程序数据构造(例如,堆栈)的指示。代码或数据可以包括面向对象的系统中的至少一个对象、过程式代码环境中的本地代码过程或远程调用的过程、用于定义存储器的一部分的数据定义或密码密钥结构。维护映射可以包括在本地或远程的易失性或非易失性存储装置中维护映射。
在具有根据信任级别的扫描控制的方法中,信任级别可以包括例如访问控制层次结构中的访问控制级别、存储器特权密钥或高于用户许可级别的管理员许可级别。以可用的形式安装的格式可以是已编译的对象、已编译并链接的对象或已编译、链接并加载的对象的格式。本地电子设备可以是例如物联网设备,而远程设备可以是例如物联网部署设备或物联网管理服务器设备。
本技术的方法还可以响应于发出警报信号而引起自动化缓解动作的执行,诸如将易受攻击的电子设备隔离而不与电子设备的系统的其余部分通信。
如本领域技术人员将认识到的,本技术可以被实施为系统、方法或计算机程序产品。因而,本技术可以采取完全硬件实施例、完全软件实施例或组合软件和硬件的实施例的形式。因此,所描述的组件可以包括分立的硬件设备、设备的核心元件、软件或固件实体,或混合的硬件/软件/固件实体。
此外,本技术可以采取在计算机可读介质中实施的计算机程序产品的形式,该计算机可读介质具有在其上实施的计算机可读程序代码。计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读介质可以是例如但不限于电子、磁性、光学、电磁、红外或半导体系统、装置或设备,或前述的任何合适的组合。
可以以一种或多种编程语言的任意组合来编写用于执行本技术的操作的计算机程序代码,所述一种或多种编程语言包括面向对象的编程语言和常规的过程编程语言。
例如,用于执行本技术的操作的程序代码可以包括诸如C之类的(解释或编译的)常规编程语言中的源代码、目标代码或可执行代码,或者汇编代码、用于设置或控制ASIC(专用集成电路)或FPGA(现场可编程门阵列)的代码,或用于诸如VerilogTM或VHDL(超高速集成电路硬件描述语言)之类的硬件描述语言的代码。
程序代码可以完全在用户计算机上执行、部分地在用户计算机上执行并且部分地在远程计算机上执行,或者完全在远程计算机或服务器上执行。在后一种场景中,远程计算机可以通过任何类型的网络连接到用户的计算机。代码组件可以被实施为过程、方法等,并且可以包括子组件,该子组件可以采取在从原生指令集的直接机器指令到高级的编译或解释的语言构造的任何抽象级别上的指令或指令序列的形式。
本领域技术人员还将清楚的是,根据本技术的实施例的逻辑方法的全部或部分可以适当地在包括执行该方法的步骤的逻辑元件的逻辑装置中实施,并且这种逻辑元件可以包括例如可编程逻辑阵列或专用集成电路中的诸如逻辑门之类的组件。这种逻辑布置还可以在使能元件中实施,以使用例如虚拟硬件描述符语言在这种阵列或电路中临时或永久地建立逻辑结构,所述虚拟硬件描述符语言可以使用固定或可传输的载体介质来存储和传输。
在一个替代方案中,本技术的实施例可以以计算机实现的部署服务的方法的形式来实现,该方法包括部署计算机程序代码的步骤,该计算机程序代码可操作以在部署到计算机基础设施或网络中并在其上执行时使计算机系统或网络执行该方法的所有步骤。
在另一个替代方案中,本技术的实施例可以以其上具有功能数据的数据载体的形式来实现,该功能数据包括功能计算机数据结构,该功能计算机数据结构在被加载到计算机系统或网络中并由此在其上进行操作时使计算机系统能够执行该方法的所有步骤。
在另一个替代方案中,本技术提供了具有逻辑组件的库签名生成设备,其适于生成用于评估电子设备的系统中的电子设备的漏洞的漏洞指示符或签名的列表,该库签名生成设备包括:接收逻辑,用于接收以可用的格式安装的计算机程序的至少一个版本的有区别的特点,以区分该格式的计算机程序的所述至少一个版本与该格式的计算机程序的至少一个另外的版本;识别逻辑,用于识别在由计算机程序的所述至少一个版本使用的代码和数据中的至少一者的一部分中的导致对恶意活动的漏洞的缺陷的至少一个指示;映射逻辑,用于在计算机程序的所述至少一个版本和所述至少一个指示之间进行映射;以及输出逻辑,用于输出生成的漏洞指示符或签名的列表。
库签名设备可以执行生成用于评估电子设备的系统中的电子设备的漏洞的漏洞指示符或签名的机器实现的方法,该方法包括:接收以可用的格式安装的计算机程序的至少一个版本的有区别的特点,以区分该格式的计算机程序的所述至少一个版本与该格式的计算机程序的至少一个另外的版本;识别在由计算机程序的所述至少一个版本使用的代码和数据中的至少一者的一部分中的导致对恶意活动的漏洞的缺陷的至少一个指示;在计算机程序的所述至少一个版本和所述至少一个指示之间进行映射;以及输出生成的漏洞指示符或签名的列表。
在另一个替代方案中,具有逻辑组件的扫描设备适于接收漏洞指示符或签名的列表,以用于评估电子设备的系统中的电子设备的漏洞,该扫描设备包括:扫描逻辑,用于扫描系统是否存在以可用的格式安装的计算机程序的至少一个版本的有区别的特点,以区分该格式的计算机程序的所述至少一个版本与该格式的计算机程序的至少一个另外的版本;确定逻辑,用于确定代码和数据中的至少一者的部分被计算机程序的所述至少一个版本使用;以及响应逻辑,用于确定电子设备具有所述计算机程序的所述至少一个版本的至少一个已安装实例;指示符逻辑,用于用至少一个漏洞指示符指示电子设备易受所述恶意活动的攻击;以及输出逻辑,用于将警报输出到或者操作者或者自动化系统。
扫描设备可以执行生成用于评估电子设备的系统中的电子设备的漏洞的数据的集合的机器实现的方法,该方法包括扫描系统是否存在以可用的格式安装的计算机程序的至少一个版本的有区别的特点,以区分该格式的计算机程序的所述至少一个版本与该格式的计算机程序的至少一个另外的版本;确定代码和数据中的至少一者的部分被计算机程序的所述至少一个版本使用;以及确定电子设备具有所述计算机程序的所述至少一个版本的至少一个已安装实例;用至少一个漏洞指示符指示电子设备易受恶意活动的攻击;以及将警报输出到或者操作者或者自动化系统。
对于本领域的技术人员将显而易见的是,在不脱离本技术的范围的情况下,可以对前述示例性实施例进行许多改进和修改。

Claims (20)

1.一种用于评估电子设备的系统中的电子设备的漏洞的机器实现的方法,包括:
确定以可用的格式安装的计算机程序的至少一个版本的有区别的特点,以区分该格式的计算机程序的所述至少一个版本与该格式的计算机程序的至少一个另外的版本;
识别在由计算机程序的所述至少一个版本使用的代码和数据中的至少一者的部分中的导致对恶意活动的漏洞的缺陷的至少一个指示;
维持计算机程序的所述至少一个版本与所述至少一个指示之间的映射;
扫描所述系统是否存在所述电子设备的系统中的计算机程序的所述至少一个版本的所述有区别的特点;
确定被所述计算机程序的所述至少一个版本使用的代码和数据中的至少一者的所述部分;
响应于确定电子设备具有所述计算机程序的所述至少一个版本的至少一个已安装实例,根据所述映射用至少一个漏洞指示符指示所述电子设备易受所述恶意活动攻击;
为所述至少一个漏洞指示符指派与所述已安装实例相关联的风险值;以及
发出识别到所述漏洞并指示与所述已安装实例相关联的所述风险值的警报信号。
2.一种用于电子设备的系统中的本地电子设备的机器实现的漏洞检测方法,包括:
确定以可用的形式安装在至少一个本地电子设备上的某格式的计算机程序的至少一个版本的有区别的特点,以区分该格式的所述计算机程序的所述至少一个版本与该格式的所述计算机程序的至少一个另外的版本;
以下中的至少一项:在远程设备处生成在代码和数据中的至少一者的部分中的导致对恶意活动的漏洞的缺陷的至少一个指示,以及在所述本地设备处接收在代码和数据中的至少一者的部分中的导致对恶意活动的漏洞的缺陷的至少一个指示;
确定所述部分被所述至少一个版本使用;
维持所述计算机程序的所述至少一个版本与所述至少一个指示之间的映射;
创建包括所述有区别的特点和所述指示的第一扫描规则;
确定扫描仪的信任级别;
创建包括所述信任级别的第二扫描规则;
将所述第一扫描规则和所述第二扫描规则存储在所述本地设备和远程设备中的至少一个中;
根据存储的所述第一扫描规则仅扫描根据所述第二扫描规则中的所述信任级别可用的所述本地设备上的存储装置的部分,以检测其上的处于已安装状态和将要安装状态中的至少一个状态的至少一个可用的计算机程序中的所述有区别的特点的实例,扫描动作由所述本地设备和所述远程设备中的至少一个执行;以及
响应于根据所述第一扫描规则的所述有区别的特点确定所述电子设备具有所述计算机程序的所述至少一个版本的已安装实例,根据所述指示发出指示所述电子设备易受所述恶意活动攻击的警报信号。
3.如权利要求1或权利要求2所述的方法,所述确定有区别的特点包括找到版本指示符的明文实例、版本指示符的编码和对于所述版本和一系列版本中的至少一个唯一的符号序列中的至少一个。
4.如前述权利要求中任一项所述的方法,所述缺陷的指示包括可利用的程序数据构造的指示。
5.如权利要求4所述的方法,所述可利用的程序数据构造包括堆栈。
6.如前述权利要求中任一项所述的方法,所述代码和数据中的至少一者包括对象、本地代码过程、远程调用的过程、用于定义存储器的一部分的数据定义和密码密钥结构中的至少一个。
7.如前述权利要求中任一项所述的方法,所述维持映射包括在本地易失性存储装置、本地非易失性存储装置、远程易失性存储装置和远程非易失性存储装置中的至少一个中维持映射。
8.如从属于权利要求2时的权利要求3至7中任一项所述的方法,所述信任级别包括访问控制层次结构中的访问控制级别、存储器特权密钥和高于用户许可级别的管理员许可级别中的一个。
9.如前述权利要求中任一项所述的方法,以可用的形式安装的所述格式包括已编译的对象格式、已编译并链接的对象格式和已编译、链接并加载的对象格式中的至少一个。
10.如从属于权利要求2时的权利要求3至9中任一项所述的方法,所述本地电子设备包括物联网设备。
11.如从属于权利要求2时的权利要求3至10中任一项所述的方法,所述远程电子设备包括物联网部署设备和物联网管理服务器设备中的至少一个。
12.如前述权利要求中任一项所述的方法,还包括响应于所述警报信号而执行自动化缓解动作。
13.如权利要求12所述的方法,所述执行自动化缓解动作包括将所述电子设备隔离而不与所述电子设备的系统的其余部分通信。
14.如前述权利要求中任一项所述的方法,其中所述扫描还包括逆转对所述代码和数据中的至少一者的重定位效果。
15.一种具有逻辑组件的电子设备,适于执行如权利要求1和权利要求2中至少一项所述的方法。
16.一种计算机程序,包括计算机程序代码,当所述计算机程序代码在合适的处理器上执行时,执行如权利要求1和权利要求2中至少一项所述的方法。
17.一种具有逻辑组件的库签名生成设备,适于生成用于评估电子设备的系统中的电子设备的漏洞的漏洞指示符或签名的列表,所述库签名生成设备包括:接收逻辑,用于接收以可用的格式安装的计算机程序的至少一个版本的有区别的特点,以区分该格式的计算机程序的所述至少一个版本与该格式的计算机程序的至少一个另外的版本;识别逻辑,用于识别在由计算机程序的所述至少一个版本使用的代码和数据中的至少一者的部分中的导致对恶意活动的漏洞的缺陷的至少一个指示;映射逻辑,用于在计算机程序的所述至少一个版本和所述至少一个指示之间进行映射;以及输出逻辑,用于输出生成的漏洞指示符或签名的列表。
18.一种生成用于评估电子设备的系统中的电子设备的漏洞的漏洞指示符或签名的机器实现的方法,所述方法包括:接收以可用的格式安装的计算机程序的至少一个版本的有区别的特点,以区分该格式的计算机程序的所述至少一个版本与该格式的计算机程序的至少一个另外的版本;识别在由计算机程序的所述至少一个版本使用的代码和数据中的至少一者的部分中的导致对恶意活动的漏洞的缺陷的至少一个指示;在计算机程序的所述至少一个版本和所述至少一个指示之间进行映射;以及输出生成的漏洞指示符或签名的列表。
19.一种具有逻辑组件的扫描设备,适于接收用于评估电子设备的系统中的电子设备的漏洞的漏洞指示符或签名的列表,所述扫描设备包括:扫描逻辑,用于扫描系统是否存在以可用的格式安装的计算机程序的至少一个版本的有区别的特点,以区分该格式的计算机程序的所述至少一个版本与该格式的计算机程序的至少一个另外的版本;确定逻辑,用于确定代码和数据中的至少一者的部分被计算机程序的所述至少一个版本使用;以及响应逻辑,用于确定电子设备具有所述计算机程序的所述至少一个版本的至少一个已安装实例,指示符逻辑,用于用至少一个漏洞指示符指示电子设备易受所述恶意活动的攻击;以及输出逻辑,用于将警报输出到操作者或者自动化系统。
20.一种机器实现的方法,所述方法生成用于评估电子设备的系统中的电子设备的漏洞的数据的集合,所述方法包括:扫描系统是否存在以可用的格式安装的计算机程序的至少一个版本的有区别的特点,以区分该格式的计算机程序的所述至少一个版本与该格式的计算机程序的至少一个另外的版本;确定代码和数据中的至少一者的部分被计算机程序的所述至少一个版本使用;以及确定电子设备具有所述计算机程序的所述至少一个版本的至少一个已安装实例,用至少一个漏洞指示符指示电子设备易受所述恶意活动的攻击;以及将警报输出到操作者或者自动化系统。
CN201880041337.3A 2017-06-20 2018-06-18 电子系统漏洞评估 Pending CN110869931A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1709841.9A GB2563618B (en) 2017-06-20 2017-06-20 Electronic system vulnerability assessment
GB1709841.9 2017-06-20
PCT/GB2018/051683 WO2018234770A1 (en) 2017-06-20 2018-06-18 EVALUATION OF VULNERABILITY OF ELECTRONIC SYSTEM

Publications (1)

Publication Number Publication Date
CN110869931A true CN110869931A (zh) 2020-03-06

Family

ID=59462230

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880041337.3A Pending CN110869931A (zh) 2017-06-20 2018-06-18 电子系统漏洞评估

Country Status (5)

Country Link
US (1) US20200117808A1 (zh)
KR (1) KR20200017414A (zh)
CN (1) CN110869931A (zh)
GB (1) GB2563618B (zh)
WO (1) WO2018234770A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020026228A1 (en) * 2018-08-01 2020-02-06 Vdoo Connected Trust Ltd. Firmware verification
US11025660B2 (en) * 2018-12-03 2021-06-01 ThreatWatch Inc. Impact-detection of vulnerabilities
US11100233B2 (en) * 2019-06-26 2021-08-24 International Business Machines Corporation Optimizing operating system vulnerability analysis
CN110659502B (zh) * 2019-09-05 2021-09-28 中国科学院软件研究所 一种基于文本信息关联关系分析的项目版本检测方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1577272A (zh) * 2003-07-16 2005-02-09 微软公司 易受攻击文件的自动检测和修复
US7424746B1 (en) * 2001-11-30 2008-09-09 Mcafee, Inc. Intrusion detection and vulnerability assessment system, method and computer program product
CN103065095A (zh) * 2013-01-29 2013-04-24 四川大学 一种基于指纹识别技术的web漏洞扫描方法和漏洞扫描器
CN104077531A (zh) * 2014-06-05 2014-10-01 中标软件有限公司 基于开放漏洞评估语言的系统漏洞评估方法、装置和系统
CN104363236A (zh) * 2014-11-21 2015-02-18 西安邮电大学 一种自动化漏洞验证的方法
US20170098087A1 (en) * 2015-10-06 2017-04-06 Assured Enterprises, Inc. Method and system for identification of security vulnerabilities

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8347386B2 (en) * 2008-10-21 2013-01-01 Lookout, Inc. System and method for server-coupled malware prevention
US8397301B2 (en) * 2009-11-18 2013-03-12 Lookout, Inc. System and method for identifying and assessing vulnerabilities on a mobile communication device
US9626509B1 (en) * 2013-03-13 2017-04-18 Fireeye, Inc. Malicious content analysis with multi-version application support within single operating environment
US10789366B2 (en) * 2013-06-24 2020-09-29 Nippon Telegraph And Telephone Corporation Security information management system and security information management method
US9591003B2 (en) * 2013-08-28 2017-03-07 Amazon Technologies, Inc. Dynamic application security verification
US10019569B2 (en) * 2014-06-27 2018-07-10 Qualcomm Incorporated Dynamic patching for diversity-based software security
WO2016009356A1 (en) * 2014-07-14 2016-01-21 Iota Security Inc. System, method and apparatus for detecting vulnerabilities in electronic devices
WO2016193831A1 (en) * 2015-06-04 2016-12-08 Accenture Global Services Limited Process categorization for computer security
US9886582B2 (en) * 2015-08-31 2018-02-06 Accenture Global Sevices Limited Contextualization of threat data

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7424746B1 (en) * 2001-11-30 2008-09-09 Mcafee, Inc. Intrusion detection and vulnerability assessment system, method and computer program product
CN1577272A (zh) * 2003-07-16 2005-02-09 微软公司 易受攻击文件的自动检测和修复
CN103065095A (zh) * 2013-01-29 2013-04-24 四川大学 一种基于指纹识别技术的web漏洞扫描方法和漏洞扫描器
CN104077531A (zh) * 2014-06-05 2014-10-01 中标软件有限公司 基于开放漏洞评估语言的系统漏洞评估方法、装置和系统
CN104363236A (zh) * 2014-11-21 2015-02-18 西安邮电大学 一种自动化漏洞验证的方法
US20170098087A1 (en) * 2015-10-06 2017-04-06 Assured Enterprises, Inc. Method and system for identification of security vulnerabilities

Also Published As

Publication number Publication date
US20200117808A1 (en) 2020-04-16
GB2563618B (en) 2020-09-16
GB201709841D0 (en) 2017-08-02
WO2018234770A1 (en) 2018-12-27
GB2563618A (en) 2018-12-26
KR20200017414A (ko) 2020-02-18

Similar Documents

Publication Publication Date Title
EP3036645B1 (en) Method and system for dynamic and comprehensive vulnerability management
CN110869931A (zh) 电子系统漏洞评估
US7308712B2 (en) Automated computer vulnerability resolution system
US11520901B2 (en) Detecting firmware vulnerabilities
CN111488578A (zh) 现代应用程序的连续漏洞管理
Zheng et al. DroidRay: a security evaluation system for customized android firmwares
US11861006B2 (en) High-confidence malware severity classification of reference file set
US8566949B2 (en) Software component, software component management method, and software component management system
EP3236354A1 (en) System analysis and management
WO2011112474A2 (en) Clean store for operating system and software recovery
AU2010364976A1 (en) Repairing corrupt software
CN104517054A (zh) 一种检测恶意apk的方法、装置、客户端和服务器
Taylor et al. Defending against package typosquatting
US20190294803A1 (en) Evaluation device, security product evaluation method, and computer readable medium
CN105528543A (zh) 远程杀毒的方法、客户端、控制台及系统
CN105791250B (zh) 应用程序检测方法及装置
US20230185921A1 (en) Prioritizing vulnerabilities
Dempsey et al. Automation support for security control assessments
US11157611B2 (en) Binary image stack cookie protection
CN106407815A (zh) 漏洞检测方法及装置
US11093615B2 (en) Method and computer with protection against cybercriminal threats
US8943595B2 (en) Granular virus detection
Gokkaya et al. Software supply chain: review of attacks, risk assessment strategies and security controls
JP6884652B2 (ja) ホワイトリスト管理システムおよびホワイトリスト管理方法
US20220277080A1 (en) Method and system for automatically checking non-compliance of device firmware

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
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20200306