CN112035154A - 一种修复车载终端内核的方法、装置和电子设备 - Google Patents

一种修复车载终端内核的方法、装置和电子设备 Download PDF

Info

Publication number
CN112035154A
CN112035154A CN202010813765.2A CN202010813765A CN112035154A CN 112035154 A CN112035154 A CN 112035154A CN 202010813765 A CN202010813765 A CN 202010813765A CN 112035154 A CN112035154 A CN 112035154A
Authority
CN
China
Prior art keywords
kernel
repair
vehicle
mounted terminal
program
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
CN202010813765.2A
Other languages
English (en)
Other versions
CN112035154B (zh
Inventor
陈凯
章赟杰
莫阿神
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.)
Shanghai Finshine Technology Co ltd
Original Assignee
Shanghai Finshine Technology Co 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 Shanghai Finshine Technology Co ltd filed Critical Shanghai Finshine Technology Co ltd
Priority to CN202010813765.2A priority Critical patent/CN112035154B/zh
Publication of CN112035154A publication Critical patent/CN112035154A/zh
Application granted granted Critical
Publication of CN112035154B publication Critical patent/CN112035154B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • 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
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)

Abstract

本说明书实施例提供一种通过车载终端中的安全探针获取车载终端内核程序的版本信息,判断是否有漏洞,若是,则采集补丁在云端虚拟执行静态修复任务,利用修复前后的程序生成二进制指纹信息,利用补丁涉及的函数生成可执行的动态修复模块,向安全探针下发所述二进制指纹信息,利用二进制指纹信息验证车载终端内核程序的修复状态,若内核程序未修复,则利用动态修复模块进行动态修复。二进制的形式使得指纹能够在车载终端的二进制系统中进行验证,不受采集源代码的限制,灵活性高,由于二进制指纹信息能够反映修复后的程序特征,因此可以直接验证内核是否完成修复,而不是利用版本间接推断是否有漏洞,因此准确率高。

Description

一种修复车载终端内核的方法、装置和电子设备
技术领域
本申请涉及互联网领域,尤其涉及一种修复车载终端内核的方法、装置和电子设备。
背景技术
车载终端是车辆监控管理系统的前端设备,一般隐秘地安装在各种车辆内,车载终端设备主要由车载视频服务器、LCD触摸屏、通话手柄、汽车防盗器等各种外接设备组成,具有在线监控、调度管理、系统管理等功能,是汽车的重要组成部分。
车联网即“汽车移动物联网技术”,是指装载在车辆上的电子标签通过无线射频等识别技术,实现在信息网络平台上对车辆的属性信息进行提取和有效利用,对车辆的运行状态进行有效的监管并提供综合服务。简单来说,它就是车辆内部信息与外界交互的一种理念与技术。车联网作为信息化发展的重要一环,需要相应的安全防护技术,内核动态安全修复因其灵活、可靠的安全修复方式,在车联网安全领域有着重要作用。
车载终端中安装的内核程序有时会存在漏洞,内核安全修复,指操作系统内核或模块在使用过程中发现安全缺陷时,由特定开发者开发补丁包,更新系统代码或安装在系统中,以完成安全修复。通常情况下对漏洞的修复是,平台不断的对内核程序进行测试分析,发现哪些版本的内核程序有漏洞,继而为安装该版本的车载终端下发补丁,进行漏洞修复。
然而,这种方式实质上只能判断原始版本是否有漏洞,往往会产生重复下发补丁的情况,灵活性差。
对现有技术进行分析发现,其之所以只能根据版本信息判断是否有漏洞,是因为平台无法得到该车载终端中内核程序的当前源代码,因此,没有办法分析该源代码是否完成修复。
发明内容
本说明书实施例提供一种修复车载终端内核的方法、装置和电子设备,用以内核修复方法的灵活性。
本说明书实施例提供一种修复车载终端内核的方法,包括:
通过车载终端中的安全探针获取所述车载终端内核程序的版本信息;
根据所述内核程序的版本信息判断所述内核程序是否有漏洞,若是,则采集补丁在云端虚拟执行静态修复任务,利用修复前后的程序生成二进制指纹信息,利用补丁涉及的函数生成可执行的动态修复模块,所述二进制指纹信息为用于验证内核是否完成修复的数字摘要;
向所述安全探针下发所述二进制指纹信息,利用所述二进制指纹信息验证所述车载终端内核程序的修复状态,若所述内核程序未修复,则利用所述动态修复模块进行动态修复。
可选地,还包括:
在车载终端中部署安全探针,所述车载终端通过所述安全探针与平台进行会话链接。
可选地,所述利用修复前后的程序生成二进制指纹信息,包括:
验证所述静态修复任务是否完成;
若完成,则分别编译修复前后的程序得到对应的可执行程序;
根据修复前后源代码对应的可执行程序的差异特征生成二进制指纹信息;
所述利用所述二进制指纹信息验证所述车载终端内核程序的修复状态,包括:
以动态验证的方式验证所述车载终端内核程序是否具有所述二进制指纹信息的差异特征。
可选地,所述采集补丁在云端虚拟执行静态修复任务,包括:
根据所述版本信息在云端重构所述车载终端的内核程序;
采集所述版本信息对应的补丁,在云端对于重构的所述内核程序进行修复。
可选地,所述利用所述动态修复模块进行动态修复,包括:
在内核程序的扩展模块存储空间安装所述动态修复模块,当运行所述内核程序时,将所述动态修复模块加载到内核中。
可选地,还包括:
在进行动态修复后,利用所述二进制指纹信息验证是否完成对所述车载终端内核程序的动态修复;
将对所述车载终端内核程序的动态修复情况上报至平台。
可选地,所述利用补丁涉及的函数生成可执行的动态修复模块,包括:
将进行修复时所使用的补丁对应的函数进行提取和编译,生成可执行的动态修复模块。
可选地,所述安全探针在监测到车载终端的系统内核程序版本更新后提取当前的版本信息并将所述版本信息发送至平台。
可选地,还包括:查询漏洞信息库监测是否有新发漏洞的内核版本;
所述根据所述内核程序的版本信息判断所述内核程序是否有漏洞,包括:
根据新发漏洞的内核版本判断所述当前的内核版本的程序是否有漏洞。
本说明书实施例提供一种修复车载终端内核的装置,包括:
探针模块,通过车载终端中的安全探针获取所述车载终端内核程序的版本信息;
虚拟修复模块,根据所述内核程序的版本信息判断所述内核程序是否有漏洞,若是,则采集补丁在云端虚拟执行静态修复任务,利用修复前后的程序生成二进制指纹信息,利用补丁涉及的函数生成可执行的动态修复模块,所述二进制指纹信息为用于验证内核是否完成修复的数字摘要;
验证修复模块,向所述安全探针下发所述二进制指纹信息,利用所述二进制指纹信息验证所述车载终端内核程序的修复状态,若所述内核程序未修复,则利用所述动态修复模块进行动态修复。
本说明书实施例还提供一种电子设备,其中,该电子设备包括:
处理器;以及,
存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行上述任一项方法。
本说明书实施例还提供一种计算机可读存储介质,其中,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被处理器执行时,实现上述任一项方法。
本说明书实施例提供的各种技术方案通过车载终端中的安全探针获取车载终端内核程序的版本信息,判断是否有漏洞,若是,则采集补丁在云端虚拟执行静态修复任务,利用修复前后的程序生成二进制指纹信息,利用补丁涉及的函数生成可执行的动态修复模块,向安全探针下发所述二进制指纹信息,利用二进制指纹信息验证车载终端内核程序的修复状态,若内核程序未修复,则利用动态修复模块进行动态修复。二进制的形式使得指纹能够在车载终端的二进制系统中进行验证,不受采集源代码的限制,灵活性高,由于该方案在云端虚拟执行静态修复任务,因而可以利用修复前后的程序,生成能够用于验证程序是否已修复的二进制指纹信息,由于二进制指纹信息能够反映修复后的程序特征,因此可以直接验证内核是否完成修复,而不是利用版本间接推断是否有漏洞,因此准确率高。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本说明书实施例提供的一种修复车载终端内核的系统的结构示意图;
图2为本说明书实施例提供的一种修复车载终端内核的方法的原理示意图;
图3为本说明书实施例提供的一种修复车载终端内核的方法的原理示意图;
图4为本说明书实施例提供的一种修复车载终端内核的装置的结构示意图;
图5为本说明书实施例提供的一种电子设备的结构示意图;
图6为本说明书实施例提供的一种计算机可读介质的原理示意图。
具体实施方式
现在将参考附图更全面地描述本发明的示例性实施例。然而,示例性实施例能够以多种形式实施,且不应被理解为本发明仅限于在此阐述的实施例。相反,提供这些示例性实施例能够使得本发明更加全面和完整,更加便于将发明构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的元件、组件或部分,因而将省略对它们的重复描述。
在符合本发明的技术构思的前提下,在某个特定的实施例中描述的特征、结构、特性或其他细节不排除可以以合适的方式结合在一个或更多其他的实施例中。
在对于具体实施例的描述中,本发明描述的特征、结构、特性或其他细节是为了使本领域的技术人员对实施例进行充分理解。但是,并不排除本领域技术人员可以实践本发明的技术方案而没有特定特征、结构、特性或其他细节的一个或更多。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
术语“和/或”或者“及/或”包括相关联的列出项目中的任一个或多者的所有组合。
图1为本说明书实施例提供的一种修复车载终端内核的系统的结构示意图,该系统包括:
平台101和车载终端102,车载终端102中安装有安全探针1020;
平台101通过车载终端102中的安全探针1020获取车载终端102内核程序的版本信息;
根据所述内核程序的版本信息判断所述内核程序是否有漏洞,若是,则采集补丁在云端虚拟执行静态修复任务;
利用修复前后的程序生成二进制指纹信息,所述二进制指纹信息为用于验证内核是否完成修复的数字摘要;
利用补丁涉及的函数生成可执行的动态修复模块;
向安全探针1020下发所述二进制指纹信息;
安全探针1020利用所述二进制指纹信息验证所述车载终端内核程序的修复状态,若所述内核程序未修复,则利用所述动态修复模块进行动态修复。
该系统通过车载终端中的安全探针获取车载终端内核程序的版本信息,判断是否有漏洞,若是,则采集补丁在云端虚拟执行静态修复任务,利用修复前后的程序生成二进制指纹信息,利用补丁涉及的函数生成可执行的动态修复模块,向安全探针下发所述二进制指纹信息,利用二进制指纹信息验证车载终端内核程序的修复状态,若内核程序未修复,则利用动态修复模块进行动态修复。二进制的形式使得指纹能够在车载终端的二进制系统中进行验证,不受采集源代码的限制,灵活性高,由于该方案在云端虚拟执行静态修复任务,因而可以利用修复前后的程序,生成能够用于验证程序是否已修复的二进制指纹信息,由于二进制指纹信息能够反映修复后的程序特征,因此可以直接验证内核是否完成修复,而不是利用版本间接推断是否有漏洞,因此准确率高。
我们用图2对其进行详细论述。
图2为本说明书实施例提供的一种修复车载终端内核的方法的原理示意图,该方法可以包括:
S201:通过车载终端中的安全探针获取所述车载终端内核程序的版本信息。
其中,安全探针是安装在车载终端中,与平台进行通信会话的程序,安全探针中可以部署通信模块,文件下载模块,验证修复模块和上报模块。
其中,验证修复模块用于验证内核的修复状态,并在内核处于未修复状态时对其进行修复;上报模块用于上报从车载终端中得到的信息,比如,版本信息,或者是修复状态信息。
在本说明书实施例中,该方法还可以包括:
在车载终端中部署安全探针,所述车载终端通过所述安全探针与平台进行会话链接。
在本说明书实施例中,所述安全探针在监测到车载终端的系统内核程序版本更新后提取当前的版本信息并将所述版本信息发送至平台。
这样,每当内核更新后,平台都会判断其是否存在漏洞风险。
具体的,可以是,云端收到版本信息后,通过定期查询漏洞信息库监控对应内核有无安全漏洞风险。
S202:根据所述内核程序的版本信息判断所述内核程序是否有漏洞,若是,则采集补丁在云端虚拟执行静态修复任务,利用修复前后的程序生成二进制指纹信息,利用补丁涉及的函数生成可执行的动态修复模块,所述二进制指纹信息为用于验证内核是否完成修复的数字摘要。
其中,静态修复任务为对源码进行修复的任务,与之相对的是动态修复任务,是直接对二进制的可执行程序进行的修复。
在本说明书实施例中,还可以包括:查询漏洞信息库监测是否有新发漏洞的内核版本;
所述根据所述内核程序的版本信息判断所述内核程序是否有漏洞,可以包括:
根据新发漏洞的内核版本判断所述当前的内核版本的程序是否有漏洞。
云端在发现内核漏洞后可以先查询漏洞详情信息,然后采集对应源码补丁,便可以在云端模拟或再现对车载终端内核程序的修复过程。
因此,在本说明书实施例中,所述采集补丁在云端虚拟执行静态修复任务,可以包括:
根据所述版本信息在云端重构所述车载终端的内核程序;
采集所述版本信息对应的补丁,在云端对于重构的所述内核程序进行修复。
这里的重构的内核程序,是相对于车载终端中的内核程序而言的,由于这一步不是在车载终端进行修复,因此,需要在云端重新构建内核程序,作为修复对象。
修复后,云端会产生修复后的程序,如果车载终端中的内核程序与其相同,或者是具有相同的特征,就能够证明车载终端内核程序实际上是已经被修复过的,反之,则说明该没有被修复,为了得到一种用于验证车载终端的内核程序是否已被修复的工具,我们想到利用修复前后的程序的差异特征来生成指纹,而且是二进制指纹。
在本说明书实施例中,所述利用修复前后的程序生成二进制指纹信息,可以包括:
验证所述静态修复任务是否完成;
若完成,则分别编译修复前后的程序得到对应的可执行程序;
根据修复前后源代码对应的可执行程序的差异特征生成二进制指纹信息。
其中,修复前后的程序的差异特征可以是补丁特征。
在本说明书实施例中,所述利用补丁涉及的函数生成可执行的动态修复模块,可以包括:
将进行修复时所使用的补丁对应的函数进行提取和编译,生成可执行的动态修复模块。
其中,动态修复模块是可执行的修复后程序,之所以称作动态,是因为后续可以不直接对内核进行修复,而是在使用时以扩展的形式进行加载动态修复模块。
然后,平台可以推送修复通知,使安全探针下载二进制指纹信息和动态修复模块。
S203:向所述安全探针下发所述二进制指纹信息,利用所述二进制指纹信息验证所述车载终端内核程序的修复状态,若所述内核程序未修复,则利用所述动态修复模块进行动态修复。
通过车载终端中的安全探针获取车载终端内核程序的版本信息,判断是否有漏洞,若是,则采集补丁在云端虚拟执行静态修复任务,利用修复前后的程序生成二进制指纹信息,利用补丁涉及的函数生成可执行的动态修复模块,向安全探针下发所述二进制指纹信息,利用二进制指纹信息验证车载终端内核程序的修复状态,若内核程序未修复,则利用动态修复模块进行动态修复。二进制的形式使得指纹能够在车载终端的二进制系统中进行验证,不受采集源代码的限制,灵活性高,由于二进制指纹信息能够反映修复后的程序特征,因此可以直接验证内核是否完成修复,而不是利用版本间接推断是否有漏洞,因此准确率高。
在本说明书实施例中,所述利用所述二进制指纹信息验证所述车载终端内核程序的修复状态,可以包括:
以动态验证的方式验证所述车载终端内核程序是否具有所述二进制指纹信息的差异特征。
其中,动态验证的方式是对二进制指纹信息和二进制系统中的内核程序进行对比。
在本说明书实施例中,所述利用所述动态修复模块进行动态修复,可以包括:
在内核程序的扩展模块存储空间安装所述动态修复模块,当运行所述内核程序时,将所述动态修复模块加载到内核中。
这样,能够动态地修复部分内核或其中的缺陷函数;在系统内核或模块发现安全漏洞需要修复时,将用于修复缺陷的函数制作成内核动态修复模块,动态安装在系统中;在不需要重启系统或者插拔模块、不中断业务的前提下修复安全缺陷。
对于将整个内核程序修复,下发内核程序源码的方式,其实需要推送整个系统内核源码,需要较大的宽带资源,而且需要重启整个系统才能完成修复。
而通过上述实施例的方法,以加载动态修复模块的方式,模块本身不会被编译到内核中,当需要时就可以被动态的加载到内核中去,一旦模块被加载到内核中,那么它就和内核中的其他部分共同实现内核功能。这种方式不需要重启系统,能够实现在线修复,这对于对实时性要求高的车载终端来讲,极为重要。
在本说明书实施例中,还可以包括:
在进行动态修复后,利用所述二进制指纹信息验证是否完成对所述车载终端内核程序的动态修复;
将对所述车载终端内核程序的动态修复情况上报至平台。
此外,该平台能够持续监控并生成动态修复模块,以批量自动化方式运行,节约了大量人工维护成本,提高了修复效率;内核安全修复过程中在不需要重启系统或者插拔模块、不中断业务的前提下快速修复安全缺陷,保证了车载终端系统的稳定性和可用性;使用二进制指纹信息进行验证,减少了漏洞验证需要的时间,也保证了运行状态下车载终端系统漏洞验证的准确性。
图3为本说明书实施例提供的一种修复车载终端内核的方法的原理示意图,该方法可以包括:预装探针,漏洞监控,补丁生成,修复,查看及各环节。
其中,预装探针可以是:在车载终端中安装安全探针,安全探针连接到平台,保持会话。
其中,漏洞监控可以是:安全探针将内核版本上报至平台,平台进行内核漏洞监控。
其中,补丁(动态修复模块)生成可以包括:获取版本对应的漏洞信息,采集补丁,利用不定进行修复和编译,对比修复前后的程序,生成二进制指纹,生成可执行的动态修复模块。
其中,修复环节可以包括:下载二进制指纹信息和动态修复模块,利用二进制指纹信息对比内核程序,判断是否以修复,若未修复,则安装动态修复模块进行修复,继而二次验证修复状态,上报修复情况。
这样,用户便可以使用预制账号登陆平台,查看内核修复情况。
图4为本说明书实施例提供的一种修复车载终端内核的装置的结构示意图,该装置可以包括:
探针模块401,通过车载终端中的安全探针获取所述车载终端内核程序的版本信息;
虚拟修复模块402,根据所述内核程序的版本信息判断所述内核程序是否有漏洞,若是,则采集补丁在云端虚拟执行静态修复任务,利用修复前后的程序生成二进制指纹信息,利用补丁涉及的函数生成可执行的动态修复模块,所述二进制指纹信息为用于验证内核是否完成修复的数字摘要;
验证修复模块403,向所述安全探针下发所述二进制指纹信息,利用所述二进制指纹信息验证所述车载终端内核程序的修复状态,若所述内核程序未修复,则利用所述动态修复模块进行动态修复。
二进制指纹信息指使用补丁对应的源代码改动的文件及函数信息。进行哈希运算,生成能够代表补丁特征的二进制摘要文件,可判断二进制系统是否具有补丁特征。利用修复前后源代码可以分析补丁修复的文件及完整函数,用于哈希运算,由于“指纹”代表了补丁改动特征,因此只要目标二进制系统函数存在补丁修复改动,故可以用于确认补丁修复情况。
可选地,探针模块401,还用于:
在车载终端中部署安全探针,所述车载终端通过所述安全探针与平台进行会话链接。
在本说明书实施例中,所述利用修复前后的程序生成二进制指纹信息,可以包括:
验证所述静态修复任务是否完成;
若完成,则分别编译修复前后的程序得到对应的可执行程序;
根据修复前后源代码对应的可执行程序的差异特征生成二进制指纹信息;
所述利用所述二进制指纹信息验证所述车载终端内核程序的修复状态,可以包括:
以动态验证的方式验证所述车载终端内核程序是否具有所述二进制指纹信息的差异特征。
在本说明书实施例中,所述采集补丁在云端虚拟执行静态修复任务,可以包括:
根据所述版本信息在云端重构所述车载终端的内核程序;
采集所述版本信息对应的补丁,在云端对于重构的所述内核程序进行修复。
在本说明书实施例中,所述利用所述动态修复模块进行动态修复,可以包括:
在内核程序的扩展模块存储空间安装所述动态修复模块,当运行所述内核程序时,将所述动态修复模块加载到内核中。
在本说明书实施例中,验证修复模块403还用于:
在进行动态修复后,利用所述二进制指纹信息验证是否完成对所述车载终端内核程序的动态修复;
将对所述车载终端内核程序的动态修复情况上报至平台。
在本说明书实施例中,所述利用补丁涉及的函数生成可执行的动态修复模块,可以包括:
将进行修复时所使用的补丁对应的函数进行提取和编译,生成可执行的动态修复模块。
在本说明书实施例中,所述安全探针在监测到车载终端的系统内核程序版本更新后提取当前的版本信息并将所述版本信息发送至平台。
在本说明书实施例中,虚拟修复模块402,还用于:查询漏洞信息库监测是否有新发漏洞的内核版本;
所述根据所述内核程序的版本信息判断所述内核程序是否有漏洞,可以包括:
根据新发漏洞的内核版本判断所述当前的内核版本的程序是否有漏洞。
该装置通过车载终端中的安全探针获取车载终端内核程序的版本信息,判断是否有漏洞,若是,则采集补丁在云端虚拟执行静态修复任务,利用修复前后的程序生成二进制指纹信息,利用补丁涉及的函数生成可执行的动态修复模块,向安全探针下发所述二进制指纹信息,利用二进制指纹信息验证车载终端内核程序的修复状态,若内核程序未修复,则利用动态修复模块进行动态修复。二进制的形式使得指纹能够在车载终端的二进制系统中进行验证,不受采集源代码的限制,灵活性高,由于二进制指纹信息能够反映修复后的程序特征,因此可以直接验证内核是否完成修复,而不是利用版本间接推断是否有漏洞,因此准确率高。
基于同一发明构思,本说明书实施例还提供一种电子设备。
下面描述本发明的电子设备实施例,该电子设备可以视为对于上述本发明的方法和装置实施例的具体实体实施方式。对于本发明电子设备实施例中描述的细节,应视为对于上述方法或装置实施例的补充;对于在本发明电子设备实施例中未披露的细节,可以参照上述方法或装置实施例来实现。
图5为本说明书实施例提供的一种电子设备的结构示意图。下面参照图5来描述根据本发明该实施例的电子设备500。图5显示的电子设备500仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图5所示,电子设备500以通用计算设备的形式表现。电子设备500的组件可以包括但不限于:至少一个处理单元510、至少一个存储单元520、连接不同系统组件(包括存储单元520和处理单元510)的总线530、显示单元540等。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元510执行,使得所述处理单元510执行本说明书上述处理方法部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元510可以执行如图2所示的步骤。
所述存储单元520可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)5201和/或高速缓存存储单元5202,还可以进一步包括只读存储单元(ROM)5203。
所述存储单元520还可以包括具有一组(至少一个)程序模块5205的程序/实用工具5204,这样的程序模块5205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线530可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备500也可以与一个或多个外部设备400(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备500交互的设备通信,和/或与使得该电子设备500能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口550进行。并且,电子设备500还可以通过网络适配器560与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器560可以通过总线530与电子设备500的其它模块通信。应当明白,尽管图5中未示出,可以结合电子设备500使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,本发明描述的示例性实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个计算机可读的存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、或者网络设备等)执行根据本发明的上述方法。当所述计算机程序被一个数据处理设备执行时,使得该计算机可读介质能够实现本发明的上述方法,即:如图2所示的方法。
图6为本说明书实施例提供的一种计算机可读介质的原理示意图。
实现图2所示方法的计算机程序可以存储于一个或多个计算机可读介质上。计算机可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
综上所述,本发明可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)等通用数据处理设备来实现根据本发明实施例中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,本发明不与任何特定计算机、虚拟装置或者电子设备固有相关,各种通用装置也可以实现本发明。以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (12)

1.一种修复车载终端内核的方法,其特征在于,包括:
通过车载终端中的安全探针获取所述车载终端内核程序的版本信息;
根据所述内核程序的版本信息判断所述内核程序是否有漏洞,若是,则采集补丁在云端虚拟执行静态修复任务,利用修复前后的程序生成二进制指纹信息,利用补丁涉及的函数生成可执行的动态修复模块,所述二进制指纹信息为用于验证内核是否完成修复的数字摘要;
向所述安全探针下发所述二进制指纹信息,利用所述二进制指纹信息验证所述车载终端内核程序的修复状态,若所述内核程序未修复,则利用所述动态修复模块进行动态修复。
2.根据权利要求1所述的方法,其特征在于,还包括:
在车载终端中部署安全探针,所述车载终端通过所述安全探针与平台进行会话链接。
3.根据权利要求1所述的方法,其特征在于,所述利用修复前后的程序生成二进制指纹信息,包括:
验证所述静态修复任务是否完成;
若完成,则分别编译修复前后的程序得到对应的可执行程序;
根据修复前后源代码对应的可执行程序的差异特征生成二进制指纹信息;
所述利用所述二进制指纹信息验证所述车载终端内核程序的修复状态,包括:
以动态验证的方式验证所述车载终端内核程序是否具有所述二进制指纹信息的差异特征。
4.根据权利要求1所述的方法,其特征在于,所述采集补丁在云端虚拟执行静态修复任务,包括:
根据所述版本信息在云端重构所述车载终端的内核程序;
采集所述版本信息对应的补丁,在云端对于重构的所述内核程序进行修复。
5.根据权利要求1所述的方法,其特征在于,所述利用所述动态修复模块进行动态修复,包括:
在内核程序的扩展模块存储空间安装所述动态修复模块,当运行所述内核程序时,将所述动态修复模块加载到内核中。
6.根据权利要求1所述的方法,其特征在于,还包括:
在进行动态修复后,利用所述二进制指纹信息验证是否完成对所述车载终端内核程序的动态修复;
将对所述车载终端内核程序的动态修复情况上报至平台。
7.根据权利要求1所述的方法,其特征在于,所述利用补丁涉及的函数生成可执行的动态修复模块,包括:
将进行修复时所使用的补丁对应的函数进行提取和编译,生成可执行的动态修复模块。
8.根据权利要求1所述的方法,其特征在于,所述安全探针在监测到车载终端的系统内核程序版本更新后提取当前的版本信息并将所述版本信息发送至平台。
9.根据权利要求8所述的方法,其特征在于,还包括:查询漏洞信息库监测是否有新发漏洞的内核版本;
所述根据所述内核程序的版本信息判断所述内核程序是否有漏洞,包括:
根据新发漏洞的内核版本判断所述当前的内核版本的程序是否有漏洞。
10.一种修复车载终端内核的装置,其特征在于,包括:
探针模块,通过车载终端中的安全探针获取所述车载终端内核程序的版本信息;
虚拟修复模块,根据所述内核程序的版本信息判断所述内核程序是否有漏洞,若是,则采集补丁在云端虚拟执行静态修复任务,利用修复前后的程序生成二进制指纹信息,利用补丁涉及的函数生成可执行的动态修复模块,所述二进制指纹信息为用于验证内核是否完成修复的数字摘要;
验证修复模块,向所述安全探针下发所述二进制指纹信息,利用所述二进制指纹信息验证所述车载终端内核程序的修复状态,若所述内核程序未修复,则利用所述动态修复模块进行动态修复。
11.一种电子设备,其中,该电子设备包括:
处理器;以及,
存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行根据权利要求1-9中任一项所述的方法。
12.一种计算机可读存储介质,其中,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被处理器执行时,实现权利要求1-9中任一项所述的方法。
CN202010813765.2A 2020-08-13 2020-08-13 一种修复车载终端内核的方法、装置和电子设备 Active CN112035154B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010813765.2A CN112035154B (zh) 2020-08-13 2020-08-13 一种修复车载终端内核的方法、装置和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010813765.2A CN112035154B (zh) 2020-08-13 2020-08-13 一种修复车载终端内核的方法、装置和电子设备

Publications (2)

Publication Number Publication Date
CN112035154A true CN112035154A (zh) 2020-12-04
CN112035154B CN112035154B (zh) 2023-12-01

Family

ID=73577230

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010813765.2A Active CN112035154B (zh) 2020-08-13 2020-08-13 一种修复车载终端内核的方法、装置和电子设备

Country Status (1)

Country Link
CN (1) CN112035154B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101185063A (zh) * 2005-04-18 2008-05-21 纽约市哥伦比亚大学理事会 用于使用“蜜罐”检测和阻止攻击的系统和方法
US20100049343A1 (en) * 2008-08-25 2010-02-25 International Business Machines Corporation Non-intrusive acoustic monitoring for equipment diagnostic and fault reporting
CN106293507A (zh) * 2015-06-26 2017-01-04 三星电子株式会社 具有外部存储器的电子设备及操作电子设备的方法
US20170124497A1 (en) * 2015-10-28 2017-05-04 Fractal Industries, Inc. System for automated capture and analysis of business information for reliable business venture outcome prediction
CN106937531A (zh) * 2014-06-14 2017-07-07 奇跃公司 用于产生虚拟和增强现实的方法和系统
CN109492406A (zh) * 2018-11-15 2019-03-19 百度在线网络技术(北京)有限公司 监测内核漏洞攻击的方法、装置和系统
CN110113333A (zh) * 2019-04-30 2019-08-09 中国人民解放军战略支援部队信息工程大学 一种tcp/ip协议指纹动态化处理方法及装置
CN110348218A (zh) * 2019-06-06 2019-10-18 国家计算机网络与信息安全管理中心 一种基于车载终端系统的漏洞测试方法及装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101185063A (zh) * 2005-04-18 2008-05-21 纽约市哥伦比亚大学理事会 用于使用“蜜罐”检测和阻止攻击的系统和方法
US20100049343A1 (en) * 2008-08-25 2010-02-25 International Business Machines Corporation Non-intrusive acoustic monitoring for equipment diagnostic and fault reporting
CN106937531A (zh) * 2014-06-14 2017-07-07 奇跃公司 用于产生虚拟和增强现实的方法和系统
CN106293507A (zh) * 2015-06-26 2017-01-04 三星电子株式会社 具有外部存储器的电子设备及操作电子设备的方法
US20170124497A1 (en) * 2015-10-28 2017-05-04 Fractal Industries, Inc. System for automated capture and analysis of business information for reliable business venture outcome prediction
CN109492406A (zh) * 2018-11-15 2019-03-19 百度在线网络技术(北京)有限公司 监测内核漏洞攻击的方法、装置和系统
CN110113333A (zh) * 2019-04-30 2019-08-09 中国人民解放军战略支援部队信息工程大学 一种tcp/ip协议指纹动态化处理方法及装置
CN110348218A (zh) * 2019-06-06 2019-10-18 国家计算机网络与信息安全管理中心 一种基于车载终端系统的漏洞测试方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
J. WANG 等: "Design and implementation of a trusted remote remediation framework for vehicle software", 《PROCEEDINGS OF THE 29TH CHINESE CONTROL CONFERENCE》, pages 4151 - 4156 *
张煜龙 等: "基于自适应热补丁的Android内核漏洞生态修复方案", 《中国教育网络》, no. 10, pages 40 - 44 *

Also Published As

Publication number Publication date
CN112035154B (zh) 2023-12-01

Similar Documents

Publication Publication Date Title
CN112019401B (zh) 一种车联网应用安全测试方法、装置、系统和电子设备
CN109409096B (zh) 内核漏洞修复方法、装置、服务器及系统
US8091066B2 (en) Automated multi-platform build and test environment for software application development
US20160026547A1 (en) Generating predictive diagnostics via package update manager
US7069474B2 (en) System and method for assessing compatibility risk
CN107437029A (zh) 漏洞修复方法、漏洞修复装置及服务器
CN107896244B (zh) 一种版本文件的分发方法、客户端及服务器
US20130047036A1 (en) Self validating applications
CN105302716A (zh) 合流开发模式下的测试方法、装置
CN111045944A (zh) 回归测试方法、装置、系统及计算机可读存储介质
CN106357670A (zh) 基于模拟器的安卓应用服务端Web漏洞检测方法
CN108228190B (zh) 持续集成和交付方法、系统、设备及计算机可读存储介质
CN113760339A (zh) 漏洞修复方法和装置
CN111158729A (zh) 系统升级方法、装置、设备及存储介质
CN112035154B (zh) 一种修复车载终端内核的方法、装置和电子设备
CN114253600B (zh) 一种基于影子系统的特征对比方法、装置和电子设备
CN115827024A (zh) 车载程序的更新方法及系统
CN111949273B (zh) 一种基于iOS系统的文件提取方法及装置
CN114328067A (zh) 基于国产cpu和操作系统的终端设备检修方法及系统
CN111752735A (zh) 一种sdk异常排查方法及装置、计算机可读存储介质
CN114048131B (zh) 一种基于fuzzing测试需校验流量的方法、装置及设备
CN115032971B (zh) 一种车辆诊断设备的更新方法、装置及服务器
CN112732320B (zh) 软件开发过程的持续集成方法、装置、电子设备及介质
CN115629966A (zh) 基于生态认证测试的升级验证方法、装置、设备及介质
CN113377400A (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