CN114896473A - 车用操作系统的漏洞数据检索方法及相关装置 - Google Patents
车用操作系统的漏洞数据检索方法及相关装置 Download PDFInfo
- Publication number
- CN114896473A CN114896473A CN202210673362.1A CN202210673362A CN114896473A CN 114896473 A CN114896473 A CN 114896473A CN 202210673362 A CN202210673362 A CN 202210673362A CN 114896473 A CN114896473 A CN 114896473A
- Authority
- CN
- China
- Prior art keywords
- data
- vulnerability
- characteristic value
- operating system
- compared
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及智能网联汽车技术领域,提供了一种车用操作系统的漏洞数据检索方法及相关装置,所述方法包括:获取车用操作系统的漏洞数据;将漏洞数据按照预设地址总线宽度划分成N个数据段,得到N个数据段对应在漏洞数据的位置序号,其中,N为不小于1的正整数;根据多个数据段的数值以及每个数据段的位置序号,计算漏洞数据的特征值;根据漏洞数据的特征值,从目标文件中检索与特征值对应的目标数据,目标文件为待处理漏洞的车用操作系统的系统文件。本发明按照数据段的数值及数据段在漏洞数据中的位置序号,计算漏洞数据的特征值,再根据计算出的特征值进行数据检索,避免了数据检索时对每个字符进行逐一比对,从而提高了检索效率。
Description
技术领域
本发明涉及智能网联汽车技术领域,具体而言,涉及一种车用操作系统的漏洞数据检索方法及相关装置。
背景技术
智能网联汽车是智能车与车联网的有机联合,即搭载了先进的车载传感器、控制器、执行器等装置,并融合现代通信与网络技术,实现车与人、车、路、后台等智能信息交换共享,实现安全、舒适、节能和高效行驶,并最终可替代人来操作的新一代汽车。
智能网联汽车车用操作系统是运行于智能网联汽车上的程序集合,管理硬件资源,提供软件平台和界面接口,为上层应用提供基础服务。车用操作系统从与整车正常运行是否相关的角度,分为车控操作系统和车载操作系统。
目前,操作系统的开源厂商定期会在官网公布用于修复漏洞的补丁代码的细节信息,其他厂商根据补丁代码的细节信息开发漏洞扫描器来扫描车用操作系统上是否存在已发现的漏洞。通常,漏洞扫描器需要在车用操作系统的二进制代码文件中对补丁代码进行检索,以定位漏洞补丁代码的位置。现有的检索技术在遍历二进制代码文件时,需要对补丁代码中的每个字符进行逐一比对,因而检索效率极低。
发明内容
本发明的目的在于提供了一种车用操作系统的漏洞数据检索方法及相关装置,其能够提高数据检索的效率。
为了实现上述目的,本发明实施例采用的技术方案如下:
第一方面,本发明实施例提供了一种车用操作系统的漏洞数据检索方法,所述方法包括:获取车用操作系统的漏洞数据;将所述漏洞数据按照预设地址总线宽度划分成N个数据段,得到N个所述数据段对应在所述漏洞数据的位置序号,其中,所述N为不小于1的正整数;根据所述N个数据段的数值以及每个所述数据段的位置序号,计算所述漏洞数据的特征值;根据所述漏洞数据的特征值,从目标文件中检索与所述特征值对应的目标数据,所述目标文件为待处理漏洞的车用操作系统的系统文件。
进一步地,所述根据所述N个数据段的数值以及每个所述数据段的位置序号,计算所述漏洞数据的特征值的步骤包括:
对所有所述数据段的数值求和,得到第一结果;
根据所述N与每一所述数据段的位置序号,确定每一所述数据段的处理系数,所述处理系数用于表征每一所述数据段与所述N的位置关系;
按照每一所述数据段的处理系数,对每一所述数据段的数值进行处理,得到每一所述数据段的数值的处理结果;
对所有数据段的数值的处理结果求和,得到第二结果;
将所述第一结果和所述第二结果进行组合,得到所述漏洞数据的特征值。
进一步地,所述将所述第一结果和所述第二结果进行组合,得到所述漏洞数据的特征值采用的公式为:
R=(low_32_bit(R1)<<32)||(low_32_bit(R2)),R为所述特征值,low_32_bit为取低32bit的函数,<<为左移运算符,||为或运算符;R1为第一结果,i为数据段的位置序号,Segi为第i个数据段的数值;R2为第二结果,N为数据段的总段数。
进一步地,所述将所述第一结果和所述第二结果进行组合,得到所述漏洞数据的特征值步骤还包括:
计算所述第一结果的MD5值;
计算所述第二结果的MD5值;
将所述第一结果的MD5值和所述第二结果的MD5值合并,得到所述漏洞数据的特征值。
进一步地,所述漏洞数据的特征值为一个,所述从目标文件中检索与所述特征值对应的目标数据的步骤包括:
依次从所述目标文件中读取与所述漏洞数据的数据长度相同的第一待比对数据;
计算所述第一待比对数据的特征值;
若所述第一待比对数据的特征值与所述漏洞数据的特征值相同,则判定所述目标文件中存在目标数据,其中,所述目标数据为所述第一待比对数据。
进一步地,所述漏洞数据包括第一样本数据和第二样本数据,所述漏洞数据的特征值包括第一样本数据的第一特征值和第二样本数据的第二特征值,所述从目标文件中检索与所述特征值对应的目标数据的步骤还包括:
依次从所述目标文件中读取与所述第一样本数据的数据长度相同的第一待比对数据;
计算所述第一待比对数据的特征值;
若所述第一待比对数据的特征值与所述第一特征值相同,则在距离所述第一待比对数据预设偏移位置处读取与所述第二样本数据的数据长度相等的第二待比对数据;
计算所述第二待比对数据的特征值;
若所述第二待比对数据的特征值与所述第二特征值相同,则将所述第一待比对数据作为所述目标数据。
进一步地,所述方法应用于智能网联汽车,所述智能网联汽车与服务器通信连接,所述方法还包括:
若从所述目标文件中检索到所述目标数据,则获取所述待处理漏洞的车用操作系统的版本号;
将所述漏洞数据、所述目标文件及所述版本号发送至所述服务器,以提示所述智能网联汽车的车用操作系统存在漏洞。
第二方面,本发明实施例提供了一种车用操作系统的漏洞数据检索装置,所述装置包括:获取模块,用于获取车用操作系统的漏洞数据;划分模块,用于将所述漏洞数据按照预设地址总线宽度划分成N个数据段,得到N个所述数据段对应在所述漏洞数据的位置序号,其中,所述N为不小于1的正整数;计算模块,用于根据所述N个数据段的数值以及每个所述数据段的位置序号,计算所述漏洞数据的特征值;检索模块,用于根据所述漏洞数据的特征值,从目标文件中检索与所述特征值对应的目标数据,所述目标文件为待处理漏洞的车用操作系统的系统文件。
第三方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述第一方面中的车用操作系统的漏洞数据检索方法。
第四方面,本发明实施例还提供了一种车用操作系统的漏洞数据检索系统,所述车用操作系统的漏洞数据检索系统包括服务器及与所述服务器通信连接的智能网联汽车,所述智能网联汽车用于从所述服务器获取所述车用操作系统的漏洞数据,并执行如上述第一方面中的车用操作系统的漏洞数据检索方法。
相对于现有技术,本发明实施例提供的一种车用操作系统的漏洞数据检索方法及相关装置,在需要对待处理漏洞的车用操作系统的系统文件进行漏洞检索时,将获取车用操作系统的漏洞数据进行切分,得到N个数据段对应在漏洞数据的位置序号,根据N每一数据段及每一数据段的位置序号,计算漏洞数据的特征值,根据特征值,在目标文件中检索与特征值对应的目标数据,本发明实施例按照数据段的数值及数据段在漏洞数据中的位置序号,计算漏洞数据的特征值,再根据计算出的特征值进行数据检索,避免了数据检索时对每个字符进行逐一比对,从而提高了检索效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施例提供的车用操作系统的漏洞数据检索系统的示例图。
图2示出了本发明实施例提供的智能网联汽车的方框示意图。
图3示出了本发明实施例提供的一种车用操作系统的漏洞数据检索方法的流程示例图一。
图4示出了本发明实施例提供的一种车用操作系统的漏洞数据检索方法的流程示例图二。
图5示出了本发明实施例提供一种处理系数计算的示例图。
图6示出了本发明实施例提供另一种处理系数计算的示例图。
图7示出了本发明实施例提供的一种车用操作系统的漏洞数据检索方法的流程示例图三。
图8示出了本发明实施例提供的第一待比对数据读取的示例图。
图9示出了本发明实施例提供的一种车用操作系统的漏洞数据检索方法的流程示例图四。
图10示出了本发明实施例提供的第二待对比数据与第一待对比数据之间的偏移示例图。
图11示出了本发明实施例提供的一种检索出目标文件中所有的目标数据的流程示例图。
图12示出了本发明实施例提供的一种车用操作系统的漏洞数据检索方法的流程示例图五。
图13示出了本发明实施例提供的车用操作系统的漏洞数据检索装置100的方框示意图。
图标:10-智能网联汽车;11-处理器;12-存储器;13-总线;20-服务器;100-车用操作系统的漏洞数据检索装置;110-获取模块;120-划分模块;130-计算模块;140-检索模块。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本发明的描述中,需要说明的是,若出现术语“上”、“下”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
需要说明的是,在不冲突的情况下,本发明的实施例中的特征可以相互结合。
请参照图1,图1示出了本发明实施例提供的车用操作系统的漏洞数据检索系统的示例图,图1中,智能网联汽车10和服务器20通信连接,智能网联汽车10上存储有正在运行的车用操作系统的系统文件,车用操作系统的开发者会定期地公布新发现漏洞的漏洞数据,一些针对车用操作系统的漏洞检测工具,也会根据公布的漏洞数据更新漏洞检测工具,运行该漏洞检测工具,就可以检测出智能网联汽车10上运行的车用操作系统是否存在最新发现的漏洞,对于特定漏洞而言,其检测方式为:获取该特定漏洞的漏洞数据,将漏洞数据按照预设地址总线宽度划分成N个数据段,根据N个数据段的数值以及每个数据段的位置序号,计算该漏洞数据的特征值,根据特定漏洞数据的特征值,从车用操作系统的系统文件中的目标文件中检索与特征值对应的目标数据,若检索到,则判定该车用操作系统存在该特定漏洞,否则,判定该车用操作系统不存在该特定漏洞。
在判定该车用操作系统存在该特定漏洞时,为了及时通知到车用操作系统的提供商及时进行漏洞修复,智能网联汽车10可以向车用操作系统的提供商预先指定的服务器20发送漏洞数据、系统文件及对应的车用操作系统的版本号,以使车用操作系统的提供商及时针对该漏洞进行漏洞修复。
智能网联汽车10是指车联网与智能车的有机联合,是搭载先进的车载传感器、控制器、执行器等装置,并融合现代通信与网络技术,实现车与人、路、后台等智能信息交换共享,实现安全、舒适、节能、高效行驶,并最终可替代人来操作的新一代汽车。
需要说明的是,智能网联汽车10也可以用汽车上的车载终端代替,车载终端为车辆监控管理系统的前端设备,也叫做车辆调度监控TCU终端(Transmission Control Unit,TCU),车载终端集成定位、通信、汽车行驶记录仪等多项功能,具有强大的业务调度功能和数据处理能力,支持电话本呼叫、文字信息语音播报,具有安防报警、剪线报警及远程安全断油、断电安全保护功能。
服务器20为实体的计算机设备,也可以为实现与实体的计算机设备具有相同功能的虚拟机,还可以是云端服务器。
在图1的基础上,本发明实施例还提供了图1中智能网联汽车10的方框示意图,请参照图2,图2示出了本申请实施例提供的智能网联汽车10的方框示意图。智能网联汽车10包括处理器11、存储器12及总线13,处理器11通过总线13与存储器12连接。
存储器12用于存储程序,例如本发明实施例中的车用操作系统的漏洞数据检索装置100,车用操作系统的漏洞数据检索装置100包括至少一个可以软件或固件(firmware)的形式存储于存储器12中的软件功能模块,处理器11在接收到执行指令后,执行所述程序以实现本发明实施例揭示的车用操作系统的漏洞数据检索方法。
存储器12可能包括高速随机存取存储器(Random Access Memory,RAM),也可能还包括非易失存储器(non-volatile memory,NVM),上述实施例中的预设地址总线宽度为存储器12一次可以传输数据的最大位宽。
处理器11可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器11中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器11可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、微控制单元(Microcontroller Unit,MCU)、复杂可编程逻辑器件(Complex Programmable LogicDevice,CPLD)、现场可编程门阵列(Field Programmable Gate Array,FPGA)、嵌入式ARM等芯片。
在图1和图2的基础上,本实施例还提供了一种车用操作系统的漏洞数据检索方法,该方法可以应用于图1和图2中的智能网联汽车10,请参照图3,图3示出了本发明实施例提供的一种车用操作系统的漏洞数据检索方法的流程示例图一,该方法包括以下步骤:
步骤S100,获取车用操作系统的漏洞数据。
在本实施例中,车用操作系统可以存在多个漏洞,不同漏洞的漏洞数据是不同的,多个漏洞的漏洞数据可以存在于同一个系统文件中或者不同的系统文件中,本步骤中的漏洞数据可以是车用操作系统中的任一漏洞的漏洞数据,待处理漏洞的车用操作系统中与存在该漏洞数据的系统文件同名的系统文件为目标文件,例如,漏洞数据a存在于系统文件123.txt中,则待处理漏洞的车用操作系统中名为123.txt的系统文件为目标文件。
在本实施例中,漏洞数据可以是一段文本或者一段源代码或者一段可执行代码。当漏洞数据是文本或者源代码是,该序列是由多个字符组成的字符数据序列,当漏洞数据是可执行代码时,该序列是由0和1组成的二进制数据序列。
在本实施例中,漏洞数据包括一个或者多个序列,当包括多个序列时,作为一种具体实施方式,多个序列中的一个序列为主序列,其余的序列为从序列,每一从序列和主序列之间的距离均不同,例如,主序列为预设函数的函数名,从序列为该预设函数的参数和/或该预设函数中位于预设代码行的代码。
步骤S101,将漏洞数据按照预设地址总线宽度划分成N个数据段,得到N个数据段对应在漏洞数据的位置序号,其中,N为不小于1的正整数。
在本实施例中,预设地址总线宽度可以根据实际硬件环境进行设置,在进行检索时,可以充分利用智能网联汽车的硬件性能,一次性从目标文件中读取预设地址总线宽度的待比对数据,提高待比对数据的读取效率。例如,地址总线的宽度为32,即智能网联汽车10一次最大读取32个bit,预设地址总线宽度可以设置为32bit,当按照硬件的地址总线的宽度设置预设地址总线宽度时,可以充分利用智能网联汽车的硬件的读取性能,提高检索时数据读取的速度,从而进一步加快检索速度,当然也可以将预设地址总线宽度设置为地址总线的宽度的预设倍数,或者根据自己的需要将预设地址总线宽度设置为其他值。
在本实施例中,每一数据段对应在漏洞数据的位置序号可以从小到大编号,也可以从大到小编号,本实施例对此不予限定。例如,漏洞数据划分为4段,按照从小到大进行编号,从0开始编号,其编号分别为0、1、2、3,当然,也可以从1开始编号。
步骤S102,根据N个数据段的数值以及每个数据段的位置序号,计算漏洞数据的特征值。
在本实施例中,漏洞数据的特征值用于唯一表征该漏洞数据,不同的漏洞数据,其特征值也一定不相同,特征值可以、但不限于哈希值、MD5值等。本实施例在计算特征值时,不但利用了每一数据段的数值,同时还利用了每一数据段的位置序号,由此,保证了漏洞数据与其特征值之间的一一对应关系,从而保证了检索结果的准确性。
步骤S103,根据漏洞数据的特征值,从目标文件中检索与特征值对应的目标数据,目标文件为待处理漏洞的车用操作系统的系统文件。
在本实施例中,目标文件可以是文本文件,也可以是二进制文件,二进制文件通常指包含ASCII及扩展ASCII字符中编写的数据或程序指令(Program instructions)的文件,例如,可执行和可链接格式ELF(Executable and Linkable Format,ELF)文件。
在本实施例中,目标文件可以包括一个目标数据,即目标数据在目标文件出现一次,也可以包括多个目标数据,即目标数据在目标文件中出现多次,用户可以根据需要确定需要检索的目标数据的最大个数。
在本实施例中,在检索与漏洞数据相同的目标数据时,作为一种具体实施方式,可以按照数据段的长度为步长,每次从目标文件中读取与漏洞数据长度相同的比对数据,判断比对数据是否与漏洞数据相同,直至完成整个目标文件的检索,最终可以找到目标文件中的所有目标数据。
本实施例提供的上述方法,将漏洞数据进行分段,并按照数据段对应在漏洞数据的位置序号,计算漏洞数据的特征值,再根据漏洞数据的特征值进行数据检索,避免了数据检索时对每个字符进行逐一比对,从而提高了检索效率,同时,由于计算漏洞数据的特征值时既考虑了每一数据段的数值,又考虑了每一数据段在漏洞数据中的位置,保证了漏洞数据和其特征值的一一对应关系,最终使得检索结果更准确。
在图3的基础上,本实施例还提供了一种计算漏洞数据的特征值的具体实现方式,请参照图4,图4示出了本发明实施例提供的一种车用操作系统的漏洞数据检索方法的流程示例图二,步骤S102包括以下子步骤:
子步骤S1021,对所有数据段的数值求和,得到第一结果。
在本实施例中,由于所有数据段的位数相同,均为预设地址总线宽度,因此,对所有数据段的数值求和,即是将所有数据段的对应bit位进行相加,相加时可能存在进位,也可能不存在进位,当不存在进位时,相加得到的和即是第一结果,当存在进位时,为了方便后续根据特征值进行比对,取求和计算得到的低预设地址总线宽度的bit位作为第一结果。
子步骤S1022,根据N与每一数据段的位置序号,确定每一数据段的处理系数,处理系数用于表征每一数据段与N的位置关系。
在本实施例中,处理系数可以根据每一数据段与N的位置关系进行相加、相减、加权相加或者加权相减得到。例如,每一数据段的处理系数=N-每一数据段的位置序号。请参照图5,图5示出了本发明实施例提供一种处理系数计算的示例图,图5中,漏洞数据划分为8个数据段,每一个数据段为32bit,段1~段8的位置序号分别为0~7(图5中只标识出段1和段8的编号,其余段的编号进行了省略),则段1~段8的处理系数分别为:8~1。
需要说明的是,作为另一种具体实现方式,也可以利用每一数据段的位置序号作为每一数据段的处理系数,或者将每一数据段的位置序号乘以预设权重得到每一数据段的处理系数,请参照图6,图6示出了本发明实施例提供另一种处理系数计算的示例图,图6中,漏洞数据切分为8个数据段,每一个数据段为32bit,段1~段8的编号分别为1~8(图5中只标识出段1和段8的编号,其余段的编号进行了省略),则段1~段8的处理系数分别为:1~8。
在本实施例中,由于每一数据段的位置序号是唯一的,每一数据段的处理系数均与每一数据段的位置序号相关联,即使任一数据段的数据出现错误,也很难出现利用错误的数据段计算出漏洞数据的特征值与利用正确的数据段计算出漏洞数据的特征值一致的情况,由此,保证了漏洞数据的特征值计算结果的可靠性。
子步骤S1023,按照每一数据段的处理系数,对每一数据段的数值进行处理,得到每一数据段的数值的处理结果。
在本实施例中,按照每一数据段的处理系数,对每一数据段的数值进行处理的方式,可以是将每一数据段的处理系数和每一数据段的数值进行乘、或者除、或者加、或者减等运算处理,得到每一数据段的数值的处理结果。
子步骤S1024,对所有数据段的数值的处理结果求和,得到第二结果。
在本实施例中,同第一结果一样,也可以对所有数据段的处理结果求和计算后,可以取该和的低32bit作为第二结果。
子步骤S1025,将第一结果和第二结果进行组合,得到漏洞数据的特征值。
在本实施例中,第一结果和第二结果的组合方式,可以是将两者拼接在一起得到的特征值,例如,将第一结果作为特征值的高32bit,将第二结果作为特征值的低32bit,得到特征值。作为一种具体实施方式,第一结果和第二结果进行组合,得到漏洞数据的特征值采用的公式为:
R=(low_32_bit(R1)<<32)||(low_32_bit(R2)),R为特征值,low_32_bit为取低32bit的函数,<<为左移运算符,||为或运算符;R1为第一结果,i为数据段的位置序号,Segi为第i个数据段的数值;R2为第二结果,N为数据段的总段数。
需要说明的是,组合方式也可以是将第一结果和第二结果分别利用哈希函数进行哈希处理,再将各自得到的哈希结果的低32bit合并在一起得到特征值,例如,将第一结果的哈希结果的低32bit作为特征值的高32bit,将第二结果的哈希结果的低32bit作为特征值的低32bit,此时的特征值也称为哈希值。
需要说明的是,组合方式还可以是将第一结果和第二结果分别进行MD5处理,再将各自得到的MD5结果的低32bit合并在一起得到特征值,此时的特征值也称为MD5值,具体实现步骤为:
首先,计算第一结果的MD5值。
其次,计算第二结果的MD5值。
第三,将第一结果的MD5值和第二结果的MD5值合并,得到漏洞数据的特征值。
本实施例提供的上述方法,通过确定第一结果和第二结果,既可以保证漏洞数据的特征值的准确性,又可以并行计算第一结果和第二结果,保证了漏洞数据的特征值的计算效率。
在图3的基础上,本实施例还提供了一种在目标文件中检索与漏洞数据相同的目标数据的具体实现方式,请参照图7,图7示出了本发明实施例提供的一种车用操作系统的漏洞数据检索方法的流程示例图三,步骤S103包括以下子步骤:
子步骤S103-10,依次从目标文件中读取与漏洞数据的数据长度相同的第一待比对数据。
在本实施例中,在读取第一待比对数据时,每次移动预设地址总线宽度。请参照图8,图8示出了本发明实施例提供的第一待比对数据读取的示例图,图8中,第一次读取的第一待比对数据是从目标文件的头的位置开始,读取与漏洞数据的数据长度相同的数据,第二次读取的第一待比对数据是从目标文件的头的位置偏移预设地址总线宽度的位置开始,读取与漏洞数据的数据长度相同的数据,第三次读取的第一待比对数据是从第二次读取的第一待比对数据的起始位置偏移预设地址总线宽度的位置开始,后续每次读第一待比对数据均与之类似,此处不再赘述。
子步骤S103-11,计算第一待比对数据的特征值。
在本实施例中,第一待比对数据的特征值的计算方式与漏洞数据的计算方式相同,可以通过上述步骤S101和S102或者S102的子步骤实现。
子步骤S103-12,若第一待比对数据的特征值与漏洞数据的特征值相同,则判定目标文件中存在目标数据,其中,目标数据为第一待比对数据。
在本实施例中,每次从目标文件中读取一个数据块长度的第一待比对数据,按照本实施例中公开的漏洞数据的特征值的计算方式计算第一待比对数据的特征值,将两个特征值进行对比,若一致,则第一待比对数据为目标数据,即目标文件中存在目标数据,否则,继续后续检索,直至将目标文件遍历一遍。
需要说明的是,目标文件中可以存在多个目标数据,在找到第一个目标数据之后,也可以继续后续检索,直至检索到目标文件中所有目标数据,或者直至检索到预设个数的目标数据。
在本实施例中,漏洞数据可以为多个,每一漏洞数据均有对应的特征值,若目标文件中存在所有漏洞数据的特征值时,为了判断目标文件中是否存在目标数据,本发明实施例在图3的基础上还提供了一种漏洞数据为多个时的具体实现方式,请参照图9,图9示出了本发明实施例提供的一种车用操作系统的漏洞数据检索方法的流程示例图四,步骤S103还包括以下子步骤:
子步骤S103-20,依次从目标文件中读取与第一样本数据的数据长度相同的第一待比对数据。
在本实施例中,漏洞数据可以由两部分数据确定,例如,一部分数据表征漏洞数据对应的函数的名称,另一部分数据表征漏洞数据对应的该函数的实现代码,这两部分数据之间的偏移位置是不会变化的,分别用第一样本数据和第二样本数据表示这两部分数据,并按照上述计算特征值的方式分别计算第一样本数据的第一特征值和第二样本数据的第二特征值。
子步骤S103-21,计算第一待比对数据的特征值。
子步骤S103-22,若第一待比对数据的特征值与第一特征值相同,则在距离第一待比对数据预设偏移位置处读取与第二样本数据的数据长度相等的第二待比对数据。
子步骤S103-23,计算第二待比对数据的特征值。
子步骤S103-24,若第二待比对数据的特征值与第二特征值相同,则将第一待比对数据作为目标数据。
在本实施例中,首先从目标文件中读取第一待比对数据,并计算第一待比对数据的特征值,将第一待比对数据的特征值与第一特征值进行比较,若两者一致,则在目标文件中距离第一待比对数据预设偏移位置处读取第二待比对数据,并计算第二待比对数据的特征值,将第二待比对数据的特征值与第二特征进行比较,若两者一致,则判定第一待比对数据为目标数据,否则,按照子步骤S103-10的方式继续读取下一个第一待对比数据,重复上述比较的过程,直至遍历完该目标文件。
需要说明的是,与漏洞数据为一个的情况类似,漏洞数据为多个时,目标文件中也可以存在多个目标数据,在找到第一个目标数据之后,也可以按照子步骤S103-20~子步骤S103-24继续后续检索,直至检索到目标文件中所有目标数据,或者直至检索到预设个数的目标数据。
在本实施例中,第二待比对数据可以是一个,也可以为多个,请参照图10,图10示出了本发明实施例提供的第二待比对数据与第一待比对数据之间的偏移示例图,图10中,第二待比对数据为一个时,预设偏移位置为第二待比对数据相对于第一待比对数据的位置,该位置也即是第二样本数据相对于第一样本数据的位置,第二待比对数据为两个时,第二样本数据也为两个:第二样本数据1和第二样本数据2,分别与第二待比对数据1和第二待比对数据2对应,预设偏移位置包括第二待比对数据1相对于第一待比对数据的位置和第二待比对数据2相对于第一待比对数据。
在本实施例中,第二样本数据为多个时,每一第二样本数据的特征值与其对应的第二待比对数据的特征值均一致时,将第一待比对数据作为目标数据,存在任一第二样本数据的特征值与其对应的第二待比对数据的特征值不一致,则第一待比对数据不能作为目标数据。
在本实施例中,作为一种检索出目标文件中所有的目标数据的具体实现方式,以目标文件为二进制文件、漏洞数据为两个:第一样本数据和第二样本数据,均为32字节、硬件的地址总线的宽度为32bit为例进行说明,其处理过程如下:
(1)将目标文件读入内存。
(2)从内存中目标文件的头部读取32字节数据(即第一待比对数据)。
(3)将第一待比对数据均分为8个数据段,每个数据段为32bit位,计算8个数据段的和,取该和的低32bit,再将其转化为十六进制,作为第一待比对数据的特征值的前4个字节(即第一结果)。
(4)将段数减去每一数据段在第一待比对数据中的编号,得到每一数据段的处理系数,再将每一数据段按照对应的处理系数进行处理,计算8个数据段的处理结果相加,取该和的低32bit,再将其转化为十六进制,作为第一待比对数据的特征值的后4个字节(即第二结果)。
(5)根据第一结果和第二结果得到第一待比对数据的特征值。
(6)判断第一待比对数据的特征值是否与第一样本数据的特征值一致,若一致,则读取相对第一待比对数据的偏移0x50位置处的第二待比对数据;若不一致,则按照4字节步长,读取下一个第一待比对数据(删除第一待比对数据的前4字节数据,从第一待比对数据的后4字节数据开始读取32字节数据,将读取的32字节数据作为新的第一待比对数据),转至(3)继续执行,直至达到目标文件的尾部。
(7)计算第二待比对数据的特征值。
(8)判断第二待比对数据的特征值是否与第二样本数据的特征值一致,若一致,则记录此时第一待比对数据的地址(找到一个目标数据,此时第一待比对数据为目标数据);若不一致,则按照4字节步长,读取下一个第一待比对数据(删除第一待比对数据的前4字节数据,从第一待比对数据的后4字节数据开始读取32字节数据,将读取的32字节数据作为新的第一待比对数据),转至(3)继续执行,直至达到目标文件的尾部。
(9)所有记录的第一待比对数据的地址即为所有目标数据的地址。
为了更清晰地描述上述处理过程,本发明实施例还提供了上述处理过程的流程示例图,请参照图11,图11示出了本发明实施例提供的一种检索出目标文件中所有的目标数据的流程示例图。需要说明的是,第一样本数据的第一特征值和第二样本数据的特征值可以是预先计算得到的,也可以是使用时计算得到的,本发明实施例对此不予限定。
在本实施例中,在检测到目标数据时,意味着待处理漏洞的车用操作系统存在漏洞数据对应的漏洞,为了及时地通知车用操作系统的提供商,本发明实施例还提供了一种提示车用操作系统存在漏洞的具体实现方式,请参照图12,图12示出了本发明实施例提供的一种车用操作系统的漏洞数据检索方法的流程示例图五,该方法包括以下步骤:
步骤S104,若从目标文件中检索到目标数据,则获取待处理漏洞的车用操作系统的版本号。
在本实施例中,可以通过待处理漏洞的车用操作系统提供的接口函数获取其版本号。待处理漏洞的车用操作系统为当前检测的智能网联汽车10的车用操作系统。
步骤S105,将漏洞数据、目标文件及版本号发送至服务器,以提示智能网联汽车的车用操作系统存在漏洞。
在本实施例中,服务器可以为智能网联汽车10的车用操作系统的提供商指定的服务器,该服务器可以将接收不同的智能网联汽车10反馈的漏洞数据、目标文件及版本号进行分析处理,以便及时给出一个较为全面的补丁包,修复所有新发现的漏洞。
为了执行上述实施例及各个可能的实施方式中车用操作系统的漏洞数据检索方法的相应步骤,下面给出一种车用操作系统的漏洞数据检索装置100的实现方式。请参照图13,图13示出了本发明实施例提供的车用操作系统的漏洞数据检索装置100的方框示意图。需要说明的是,本实施例所提供的车用操作系统的漏洞数据检索装置100,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及指出。
车用操作系统的漏洞数据检索装置100包括获取模块110、划分模块120、计算模块130及检索模块140。
获取模块110,用于获取车用操作系统的漏洞数据。
划分模块120,用于将漏洞数据按照预设地址总线宽度划分成N个数据段,得到N个所述据段对应在漏洞数据的位置序号,其中,所述为不小于1的正整数。
计算模块130,用于根据N个数据段的数值以及每个数据段的位置序号,计算漏洞数据的特征值。
具体地,计算模块130具体用于:对所有数据段的数值求和,得到第一结果;根据N与每一数据段的位置序号,确定每一数据段的处理系数,处理系数用于表征每一数据段与N的位置关系;按照每一数据段的处理系数,对每一数据段的数值进行处理,得到每一数据段的数值的处理结果;对所有数据段的数值的处理结果求和,得到第二结果;将第一结果和第二结果进行组合,得到漏洞数据的特征值。
具体地,计算模块130在用于将第一结果和第二结果进行组合,得到漏洞数据的特征值采用的公式为:
R=(low_32_bit(R1)<<32)||(low_32_bit(R2)),R为特征值,low_32_bit为取低32bit的函数,<<为左移运算符,||为或运算符;R1为第一结果,i为数据段的位置序号,Segi为第i个数据段的数值;R2为第二结果,N为数据段的总段数。
具体地,计算模块130在用于将第一结果和第二结果进行组合,得到漏洞数据的特征值时,具体还用于:计算第一结果的MD5值;计算第二结果的MD5值;将第一结果的MD5值和第二结果的MD5值合并,得到漏洞数据的特征值。
检索模块140,用于根据漏洞数据的特征值,从目标文件中检索与特征值对应的目标数据,目标文件为待处理漏洞的车用操作系统的系统文件。
具体地,漏洞数据的特征值为一个,检索模块140具体用于:依次从目标文件中读取与漏洞数据的数据长度相同的第一待比对数据;计算第一待比对数据的特征值;若第一待比对数据的特征值与漏洞数据的特征值相同,则判定目标文件中存在目标数据,其中,目标数据为第一待比对数据。
具体地,漏洞数据包括第一样本数据和第二样本数据,漏洞数据的特征值包括第一样本数据的第一特征值和第二样本数据的第二特征值,检索模块140在用于从目标文件中检索与特征值对应的目标数据时,具体还用于:依次从目标文件中读取与第一样本数据的数据长度相同的第一待比对数据;计算第一待比对数据的特征值;若第一待比对数据的特征值与第一特征值相同,则在距离第一待比对数据预设偏移位置处读取与第二样本数据的数据长度相等的第二待比对数据;计算第二待比对数据的特征值;若第二待比对数据的特征值与第二特征值相同,则将第一待比对数据作为目标数据。
具体地,车用操作系统的漏洞数据检索装置还应用于智能网联汽车10,智能网联汽车10与服务器通信连接,检索模块140还用于:若从目标文件中检索到目标数据,则获取待处理漏洞的车用操作系统的版本号;将漏洞数据、目标文件及版本号发送至服务器,以提示智能网联汽车10的车用操作系统存在漏洞。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器11执行时实现上述实施例揭示的车用操作系统的漏洞数据检索方法。
综上所述,本发明实施例提供了一种车用操作系统的漏洞数据检索方法及相关装置,所述方法包括:获取车用操作系统的漏洞数据;将漏洞数据按照预设地址总线宽度划分成N个数据段,得到N个数据段对应在漏洞数据的位置序号,其中,N为不小于1的正整数;根据N个数据段的数值以及每个数据段的位置序号,计算漏洞数据的特征值;根据漏洞数据的特征值,从目标文件中检索与特征值对应的目标数据,目标文件为待处理漏洞的车用操作系统的系统文件。相对于现有技术,本发明实施例按照数据段的数值及数据段在漏洞数据中的位置序号,计算漏洞数据的特征值,再根据计算出的特征值进行数据检索,避免了数据检索时对每个字符进行逐一比对,从而提高了检索效率。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种车用操作系统的漏洞数据检索方法,其特征在于,所述方法包括:
获取车用操作系统的漏洞数据;
将所述漏洞数据按照预设地址总线宽度划分成N个数据段,得到N个所述数据段对应在所述漏洞数据的位置序号,其中,所述N为不小于1的正整数;
根据所述N个数据段的数值以及每个所述数据段的位置序号,计算所述漏洞数据的特征值;
根据所述漏洞数据的特征值,从目标文件中检索与所述特征值对应的目标数据,所述目标文件为待处理漏洞的车用操作系统的系统文件。
2.如权利要求1所述的方法,其特征在于,所述根据所述N个数据段的数值以及每个所述数据段的位置序号,计算所述漏洞数据的特征值的步骤包括:
对所有所述数据段的数值求和,得到第一结果;
根据所述N与每一所述数据段的位置序号,确定每一所述数据段的处理系数,所述处理系数用于表征每一所述数据段与所述N的位置关系;
按照每一所述数据段的处理系数,对每一所述数据段的数值进行处理,得到每一所述数据段的数值的处理结果;
对所有数据段的数值的处理结果求和,得到第二结果;
将所述第一结果和所述第二结果进行组合,得到所述漏洞数据的特征值。
4.如权利要求2所述的方法,其特征在于,所述将所述第一结果和所述第二结果进行组合,得到所述漏洞数据的特征值步骤还包括:
计算所述第一结果的MD5值;
计算所述第二结果的MD5值;
将所述第一结果的MD5值和所述第二结果的MD5值合并,得到所述漏洞数据的特征值。
5.如权利要求1所述的方法,其特征在于,所述漏洞数据的特征值为一个,所述从目标文件中检索与所述特征值对应的目标数据的步骤包括:
依次从所述目标文件中读取与所述漏洞数据的数据长度相同的第一待比对数据;
计算所述第一待比对数据的特征值;
若所述第一待比对数据的特征值与所述漏洞数据的特征值相同,则判定所述目标文件中存在目标数据,其中,所述目标数据为所述第一待比对数据。
6.如权利要求1所述的方法,其特征在于,所述漏洞数据包括第一样本数据和第二样本数据,所述漏洞数据的特征值包括第一样本数据的第一特征值和第二样本数据的第二特征值,所述从目标文件中检索与所述特征值对应的目标数据的步骤还包括:
依次从所述目标文件中读取与所述第一样本数据的数据长度相同的第一待比对数据;
计算所述第一待比对数据的特征值;
若所述第一待比对数据的特征值与所述第一特征值相同,则在距离所述第一待比对数据预设偏移位置处读取与所述第二样本数据的数据长度相等的第二待比对数据;
计算所述第二待比对数据的特征值;
若所述第二待比对数据的特征值与所述第二特征值相同,则将所述第一待比对数据作为所述目标数据。
7.如权利要求1所述的方法,其特征在于,所述方法应用于智能网联汽车,所述智能网联汽车与服务器通信连接,所述方法还包括:
若从所述目标文件中检索到所述目标数据,则获取所述待处理漏洞的车用操作系统的版本号;
将所述漏洞数据、所述目标文件及所述版本号发送至所述服务器,以提示所述智能网联汽车的车用操作系统存在漏洞。
8.一种车用操作系统的漏洞数据检索装置,其特征在于,所述装置包括:
获取模块,用于获取车用操作系统的漏洞数据;
划分模块,用于将所述漏洞数据按照预设地址总线宽度划分成N个数据段,得到N个所述数据段对应在所述漏洞数据的位置序号,其中,所述N为不小于1的正整数;
计算模块,用于根据所述N个数据段的数值以及每个所述数据段的位置序号,计算所述漏洞数据的特征值;
检索模块,用于根据所述漏洞数据的特征值,从目标文件中检索与所述特征值对应的目标数据,所述目标文件为待处理漏洞的车用操作系统的系统文件。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-7中任一项所述的车用操作系统的漏洞数据检索方法。
10.一种车用操作系统的漏洞数据检索系统,其特征在于,所述车用操作系统的漏洞数据检索系统包括服务器及与所述服务器通信连接的智能网联汽车,所述智能网联汽车用于从所述服务器获取所述车用操作系统的漏洞数据,并执行如权利要求1-7中任一项所述的车用操作系统的漏洞数据检索方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210673362.1A CN114896473A (zh) | 2022-06-14 | 2022-06-14 | 车用操作系统的漏洞数据检索方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210673362.1A CN114896473A (zh) | 2022-06-14 | 2022-06-14 | 车用操作系统的漏洞数据检索方法及相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114896473A true CN114896473A (zh) | 2022-08-12 |
Family
ID=82729197
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210673362.1A Pending CN114896473A (zh) | 2022-06-14 | 2022-06-14 | 车用操作系统的漏洞数据检索方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114896473A (zh) |
-
2022
- 2022-06-14 CN CN202210673362.1A patent/CN114896473A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3584658B1 (en) | Method, system, device, and computer readable storage medium for diagnosing vehicle | |
CN108829560B (zh) | 数据监控方法、装置、计算机设备及存储介质 | |
CN109814524B (zh) | 一种车辆诊断方法、装置及系统 | |
US20200211302A1 (en) | Control device for multi-driver compatibility and implementation method | |
CN110928497B (zh) | 一种元数据处理方法、装置、设备及可读存储介质 | |
CN110825073A (zh) | 发动机远程标定系统及方法 | |
CN113934758A (zh) | 车辆故障修复方法、装置、车载终端、服务器及存储介质 | |
CN112306041A (zh) | 车辆的配置信息写入方法、装置及电子设备 | |
CN113037850A (zh) | 一种应用程序升级方法、装置、电子设备及存储介质 | |
CN110263223B (zh) | 一种数据类型转化方法、装置、设备及介质 | |
CN107844520A (zh) | 电子装置、车辆数据导入方法及存储介质 | |
CN114896473A (zh) | 车用操作系统的漏洞数据检索方法及相关装置 | |
CN111351669B (zh) | 故障诊断方法和装置、存储介质和车辆 | |
CN111290364A (zh) | 监测车辆的电子控制装置的使用量的方法 | |
CN112712610B (zh) | 车辆诊断日志处理方法、装置、终端设备及可读存储介质 | |
CN113655776B (zh) | 车辆检测方法、装置、电子设备及存储介质 | |
CN111414299B (zh) | 基于hdparm的SSD扩展信息获取方法和装置 | |
CN114879630A (zh) | 车辆故障诊断方法、装置、设备及可读存储介质 | |
CN112181538B (zh) | 诊断流程执行方法、装置、设备及存储介质 | |
CN114756585A (zh) | 车辆数据获取方法、装置、电子设备及存储介质 | |
CN114168108A (zh) | 代码合并方法、装置、电子设备和计算机可读存储介质 | |
CN113342430A (zh) | 故障码的处理方法、装置、终端设备及可读存储介质 | |
CN112445816A (zh) | 车辆诊断数据引用方法、装置、终端设备及存储介质 | |
CN111861625A (zh) | 一种异常订单确定方法及装置 | |
CN110825406A (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 |