一种基于中央计算平台的渗透测试方法及装置与流程

文档序号:32794443发布日期:2023-01-03 22:00阅读:49来源:国知局

1.本发明涉及车辆渗透测试领域,尤其涉及一种基于中央计算平台的渗透测试方法及装置。


背景技术:

2.渗透测试(penetration test):指尽可能完整地模拟黑客使用的漏洞发现技术和攻击手段,从攻击者的角度对目标网络、系统、主机应用的安全性作深入的非破坏性的探测,发现系统安全防护最脆弱环节的过程。渗透测试的核心是通过最大限度的信息收集和漏洞分析、利用,寻找目标安全防护最薄弱点。实际应用中,由于目标范围广,应用或服务复杂,漏洞检测类型繁多,操作重复性、阶段化程度高等,所以具体实施过程需要渗透测试平台或系统的支撑。
3.但现有的渗透测试平台都存在一定的问题,如自动化执行模式简单,缺乏逻辑控制等问题;另外测试人员在渗透测试过程中缺乏规范性,影响测试结果的准确性。


技术实现要素:

4.针对上述技术问题,本发明提供了一种基于中央计算平台的渗透测试方法及装置,以解决现有技术中存在的部分问题。
5.本发明的第一方面,提供一种基于中央计算平台的渗透测试方法,包括:根据车机硬件及软件的信息评估出车机硬件及软件的安全漏洞,分析可利用的攻击路径,根据所述可利用的攻击路径进行威胁建模;根据所述威胁建模构建渗透测试的流程以及确定渗透测试流程中的测试对象;确定对测试对象实施渗透攻击的攻击入口、攻击工具,构建测试用例库,所述测试用例库可根据测试需求匹配测试用例对车机硬件或软件自动化测试;利用所述测试用例进行测试渗透,获取所述车机硬件或软件的渗透测试数据,根据所述渗透测试数据和所述渗透测试的分析结果确定渗透测试的测试报告。
6.可选地,所述的根据所述威胁建模构建渗透测试的流程,包括:根据渗透测试对象的组件功能需求确定渗透测试需求,根据渗透测试需求确定测试环境、测试工具、测试用例;基于所述测试环境、测试工具、测试用例确定渗透测试的渗透测试流程,所述渗透测试流程包括模拟攻击、漏洞分析与测试报告的生成。
7.可选地,所述的测试用例库可根据测试需求匹配测试用例对车机硬件或软件自动化测试,包括:确定渗透测试任务的内容信息,根据所述内容信息调用渗透测试执行脚本匹配对应车机硬件或软件的测试用例;所述渗透测试任务的内容信息包括评测内容、攻击面、攻击手段。
8.可选地,所述的利用所述测试用例进行测试渗透之前还包括:
根据确定渗透测试流程中的测试对象的渗透测试需求设置渗透测试的渗透测试目标;根据渗透测试环境和所述渗透测试的渗透测试目标,设置渗透测试任务;其中所述渗透测试环境包括网络通信环境及数据交换路径环境。
9.可选地,所述的利用所述测试用例进行测试渗透,包括利用所述测试用例对接口安全、远程控制业务安全、固件升级业务安全进行渗透测试,其中接口安全的对象包括物理接口、4g通信接口、5g通信接口、app移动端接口、云平台主机接口;所述远程控制业务安全的对象包括车端业务安全、手机端业务安全、服务端业务安全;所述固件升级业务安全的对象包括固件包安全、通信安全、身份认证安全。
10.本发明的第二方面,提供一种基于中央计算平台的渗透测试装置,包括:分析建模单元,用于根据车机硬件及软件的信息评估出车机硬件及软件的安全漏洞,分析可利用的攻击路径,根据所述可利用的攻击路径进行威胁建模;流程构建单元,用于根据所述威胁建模构建渗透测试的流程以及确定渗透测试流程中的测试对象;测试库单元,用于确定对测试对象实施渗透攻击的攻击入口、攻击工具,构建测试用例库,所述测试用例库可根据测试需求匹配测试用例对车机硬件或软件自动化测试;测试单元,用于利用所述测试用例进行测试渗透,获取所述车机硬件或软件的渗透测试数据,根据所述渗透测试数据和所述渗透测试的分析结果确定渗透测试的测试报告。
11.可选地,所述流程构建单元包括构建子单元,所述构建子单元用于:根据渗透测试对象的组件功能需求确定渗透测试需求,根据渗透测试需求确定测试环境、测试工具、测试用例;基于所述测试环境、测试工具、测试用例确定渗透测试的渗透测试流程,所述渗透测试流程包括模拟攻击、漏洞分析与测试报告的生成。
12.可选地,所述流程构建模块包括自动化单元,所述自动化单元用于确定渗透测试任务的内容信息,根据所述内容信息调用渗透测试执行脚本匹配对应车机硬件或软件的测试用例;所述渗透测试任务的内容信息包括评测内容、攻击面、攻击手段。
13.可选地,所述测试单元包括任务设置单元,所述任务设置单元,用于根据确定渗透测试流程中的测试对象的渗透测试需求设置渗透测试的渗透测试目标;根据渗透测试环境和所述渗透测试的渗透测试目标,设置渗透测试任务;其中所述渗透测试环境包括网络通信环境及数据交换路径环境。
14.本发明的第三方面,提供一种渗透测试平台,其特征在于,包括:至少一个处理器;以及与所述处理器通信连接的至少一个存储器,其中:所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如本发明实施例的第一方面所述的方法。
15.本发明的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被计算机运行时,执行如本发明实施例的第一方面所述的方法。
16.本发明基于中央计算平台做威胁分析,构建威胁建模确定测试对象,然后针对业务场景的全链路构建测试用例库,利用测试用例进行渗透测试,再根据测试结果形成测试报告;可以实现对整车全场景业务范围涉及的全量ecus测试,强化了针对整车全量功能及
业务的渗透测试针对性,自动化测试及相应的逻辑控制提高了测试的速度与准确性。
附图说明
17.图1为本发明实施例中一种基于中央计算平台的渗透测试方法的流程示意图;图2为本发明实施例中渗透测试流程构建的流程示意图;图3为本发明实施例中一种基于中央计算平台的渗透测试装置的结构示意图。
具体实施方式
18.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
19.中央计算平台是计算机系统硬件与软件的设计和开发的基础。具有一定的标准性和公开性,同时也决定了该计算机系统的硬件与软件的性能。硬件的基础是中央处理器(cpu),软件的基础是操作系统。在车辆的中央计算平台中,集成有多个ecus(电子控制单元,泛指车内的控制器),对应有多种功能与业务,因此可以基于中央计算平台实现平台性的渗透测试,具体如下:请参阅图1所示,本发明提供一种基于中央计算平台的渗透测试方法,包括以下内容:步骤110:根据车机硬件及软件的信息评估出车机硬件及软件的安全漏洞,分析可利用的攻击路径,根据所述可利用的攻击路径进行威胁建模。
20.在车机系统中检测对象包括tsp(telematics service provide)平台、android应用、ios应用、t-box(telematics box)、娱乐系统、蓝牙、无线近场、固件安全、通信协议、ota(over-the-air technology)系统、车内安全系统等;针对前述的硬件、软件进行信息评估。具体可以结合整车厂车型产品的使用场景及功能的实现预期,分析功能实现过程中涉及的网络通信环境及数据交换路径环境,识别通信过程中潜在的入侵、泄露风险。
21.对于此分析,可以借助内部漏洞信息数据库、历史固件版本、内部检测规则等作为参考,通过以往发生的漏洞信息判断车辆的是否会发生类似问题,基于经验判断如果被攻击,受攻击的路径是哪些,从而更好地根据攻击路径进行威胁建模。所述威胁建模是一种基于工程和风险的方法,用于识别、评估和管理安全威胁,旨在开发和部署符合企业组织安全和风险目标的更好产品。
22.例如,在内部漏洞信息数据库存在有车端身份认证安全漏洞攻击的事件,则可以基于该攻击的事件的信息获取对于车端身份认证安全攻击的完整攻击路径。在得知车辆使用场景及功能的实现预期后,可以构建基于中央计算平台的威胁建模,以便于实施渗透测试与测试用例选择。
23.步骤120:根据所述威胁建模构建渗透测试的流程以及确定渗透测试流程中的测试对象。
24.漏洞攻击主要涉及三个方面,获取数据、破坏业务运营以及实施终端控制。相应地,在做渗透测试时也从三个方向进行:攻击入口、整车远程控制业务安全、整车固件升级
业务安全。
25.容易被攻击的接口涉及物理接口、4g通信接口、5g通信接口、app移动端接口、云平台主机接口等接口;通常前述攻击入口为漏洞攻击的流程起始。整车远程控制业务安全涉及车端业务逻辑安全、手机端业务逻辑安全、服务端安全。
26.其中车端业务逻辑安全涉及车端身份认证安全性测试、车端命令执行安全性测试、车端远程车控逻辑测试、车端远程命令重放攻击测试;手机端业务逻辑安全涉及手机端身份认证安全测试、手机端通信安全测试;服务端安全涉及链路保密性安全测试、api接口权限控制验证及模糊测试、远程控车身份认证安全性测试、远程控车应用测试、远程控车密钥安全测试。
27.针对整车固件升级业务安全的渗透测试涉及通信安全及身份认证机制检查与固件包安全测试。固件包安全测试有固件包加密防护测试、固件包完整性校验安全测试、版本降级测试、版本回滚测试、升级包加密测试、中间人攻击测试。通信安全及身份认证机制检查有链路保密性安全测试、安全通信协议测试及逆向验证、车端身份认证安全测试。
28.在一实施例中,确定了上述渗透测试流程中的测试对象后,可以根据使用场景及功能的实现预期、攻击路径实现建渗透测试的流程创建。例如手机端,应用场景包含多种,涉及网络通信协议、android应用等,其中一个测试流程从5g通信接口开始,以此至车端身份认证安全性测试、车端命令执行安全性测试、车端远程车控逻辑测试、车端远程命令重放攻击,形成一个测试渗透测试流程。作为参考,中央计算平台可完成的功能、使用场景可以构建不同渗透测试流程。
29.步骤130:确定对测试对象实施渗透攻击的攻击入口、攻击工具,构建测试用例库,所述测试用例库可根据测试需求匹配测试用例对车机硬件或软件自动化测试。
30.不同的测试环境、测试需求需要确定不同的攻击入口攻击工具,使用不同的测试用例,采用不同的测试方法。在完成步骤120后,形成完整的渗透测试的流程后,构建测试用例。
31.示例性地,根据攻击入口、攻击面、内部脆弱点、攻击手段、攻击影响面进行测试用例构建。攻击入口如上述物理接口、网络接口外,还涉及终端web、网络通讯接口。通过攻击入口确定攻击面,识别种类。例如,设备固件、本地存储数据、操作系统、网络服务、终端web服务、设备间通信、设备与云端通信、设备与app通信、云服务、服务逻辑、业务逻辑、app资深弱点、固件升级、操作系统升级、应用程序升级等。上述攻击面存在以下多种问题,包括多个内部脆弱点:调试接口未关闭、服务接口未限制、web漏洞、不安全认证、通信未加密、通信完整性、业务逻辑漏洞、app未加密保护、不安全升级流程、升级未加密等。相应地,对于上述内部脆弱点可以采用的攻击手段有:固件导出、数据导出、恶意代码注入、文件访问与篡改、重放、劫持、篡改、监听、伪造、恶意指令、数据窃取、恶意指令注入。前述攻击手段影响面包括窃取数据、破坏业务运营、实施终端控制。
32.对于测试用例,则可利用任务脚本调用,具体实现过程中可以多线程执行,通过分布式任务队列为渗透测试业务执行提供分布式部署和并发执行能力;提供测试工具接口,同时深度集成外部渗透测试工具或系统,提高任务脚本编写效率等。
33.所述测试用例,可结合威胁建模的测评内容在国家漏洞库、行业漏洞库内常见及最新更新的漏洞,设计自动、人工固件代码逆向程序,形成对应逆向的测试实施用例。
34.步骤140:利用所述测试用例进行测试渗透,获取所述车机硬件或软件的渗透测试数据,根据所述渗透测试数据和所述渗透测试的分析结果确定渗透测试的测试报告。
35.按照渗透测试用例完成对中央计算平台的渗透测试,获得渗透测试过程中的渗透测试数据和渗透测试结果。按照渗透测试结果中的渗透测试任务的完成状态,分析渗透测试问题;将已完成的渗透测试任务所使用的渗透测试数据作为攻击成果,保存至内部漏洞信息数据库,方便下一次渗透测试的参考。
36.较佳地,通过漏洞后台爬取收集到渗透测试的分析结果与渗透测试数据后,可以制作复现的视频进行成果展示。例如评测内容包括与车内系统安全有关的网关、传感器、ecus、车载以太网、can网络、蜂窝、wifi、蓝牙等,制作的测试报告显示车内系统安全的内容:漏洞信息、攻击路径、使用的测试用例、是否有补丁等内容,便于研发人员开发补丁包。
37.本发明基于中央计算平台做威胁分析,构建威胁建模确定测试对象,然后针对业务场景的全链路构建测试用例库,利用测试用例进行渗透测试,再根据测试结果形成测试报告;可以实现对整车全场景业务范围涉及的全量ecus测试,强化了针对整车全量功能及业务的渗透测试针对性,自动化测试及相应的逻辑控制提高了测试的速度与准确性。进一步地,在上述步骤120中,所述的根据所述威胁建模构建渗透测试的流程,包括以下步骤:步骤121:根据渗透测试对象的组件功能需求确定渗透测试需求,根据渗透测试需求确定测试环境、测试工具、测试用例。
38.示例性地,根据测试系统的渗透测试环境和测试系统的测试期望,设置渗透测试任务;将渗透测试任务按照渗透测试任务的结果需求确定渗透测试需求,从而再确定测试环境、测试工具、测试用例。例如某项渗透测试需要测试某app加密保护,则需要在中央计算平台的运行环境和测试的安全性期望进行信息收集,然后基于收集信息指定渗透测试任务,任务明确后则可以选定适用的测试环境、测试工具、测试用例。
39.步骤122:基于所述测试环境、测试工具、测试用例确定渗透测试的渗透测试流程,所述渗透测试流程包括模拟攻击、漏洞分析与测试报告的生成。
40.根据前期的分析、评估,通过静态代码扫描工具、动态代码测试工具、网络流量分析工具、漏洞扫描器、漏洞挖掘工具、硬件调试器、软件调试器、覆盖率统计测试工具等进行渗透测试,不同的测试环境、测试用例需要配合不同的测试工具,因此可以编辑相应的脚本对应管理测试环境、测试工具、测试用例,实现自动化处理渗透测试工作。
41.进一步地,所述的利用所述测试用例进行测试渗透之前还包括以下步骤中:根据确定渗透测试流程中的测试对象的渗透测试需求设置渗透测试的渗透测试目标;根据渗透测试环境和所述渗透测试的渗透测试目标,设置渗透测试任务;其中所述渗透测试环境包括网络通信环境及数据交换路径环境。
42.在该步骤中每个测试对象的会有不同的测试需求,比如某个ecus执行多个业务功能,则需要针对多个业务功能分别进行渗透测试。然后根据渗透测试的业务环境设置具体的渗透测试任务;基于此可以在中央计算平台上实现完整的渗透测试,各测试之间也不再独立进行。
43.示例性地,前述步骤130中,所述的测试用例库可根据测试需求匹配测试用例对车机硬件或软件自动化测试,包括:
确定渗透测试任务的内容信息,根据所述内容信息调用渗透测试执行脚本匹配对应车机硬件或软件的测试用例;所述渗透测试任务的内容信息包括评测内容、攻击面、攻击手段。
44.例如,假设目标地址192 .168 .232 .165,该服务器开放了http服务(80端口)、smb服务(445端口),http服务运行了某一个应用系统(例如oa系统),该系统存在web应用中常见的sql注入等安全漏洞。确定了上述渗透测试任务的信息内容,确定测试任务类型、测试工具,利用渗透测试执行脚本调用具体的渗透测试用例进行渗透测试。
45.利用所述测试用例进行测试渗透,包括利用所述测试用例对接口安全、远程控制业务安全、固件升级业务安全进行渗透测试,其中接口安全的对象包括物理接口、4g通信接口、5g通信接口、app移动端接口、云平台主机接口;所述远程控制业务安全的对象包括车端业务安全、手机端业务安全、服务端业务安全;所述固件升级业务安全的对象包括固件包安全、通信安全、身份认证安全。
46.如图3所示,本发明还提供一种基于中央计算平台的渗透测试装置,包括:分析建模单元31,用于根据车机硬件及软件的信息评估出车机硬件及软件的安全漏洞,分析可利用的攻击路径,根据所述可利用的攻击路径进行威胁建模;流程构建单元32,用于根据所述威胁建模构建渗透测试的流程以及确定渗透测试流程中的测试对象;测试库单元33,用于确定对测试对象实施渗透攻击的攻击入口、攻击工具,构建测试用例库,所述测试用例库可根据测试需求匹配测试用例对车机硬件或软件自动化测试;测试单元34,用于利用所述测试用例进行测试渗透,获取所述车机硬件或软件的渗透测试数据,根据所述渗透测试数据和所述渗透测试的分析结果确定渗透测试的测试报告。
47.所述流程构建单元32包括构建子单元,所述构建子单元用于:根据渗透测试对象的组件功能需求确定渗透测试需求,根据渗透测试需求确定测试环境、测试工具、测试用例;基于所述测试环境、测试工具、测试用例确定渗透测试的渗透测试流程,所述渗透测试流程包括模拟攻击、漏洞分析与测试报告的生成。
48.所述流程构建模块32还包括自动化单元,所述自动化单元用于确定渗透测试任务的内容信息,根据所述内容信息调用渗透测试执行脚本匹配对应车机硬件或软件的测试用例;所述渗透测试任务的内容信息包括评测内容、攻击面、攻击手段。
49.所述测试单元34包括任务设置单元,所述任务设置单元,用于根据确定渗透测试流程中的测试对象的渗透测试需求设置渗透测试的渗透测试目标;根据渗透测试环境和所述渗透测试的渗透测试目标,设置渗透测试任务;其中所述渗透测试环境包括网络通信环境及数据交换路径环境。
50.本发明还提供一种渗透测试平台,包括:至少一个处理器;以及与所述处理器通信连接的至少一个存储器,其中:所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行上述基于中央计算平台的渗透测试方法。
51.本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现上述基于中央计算平台的渗透测试方法。
52.可以理解,计算机可读存储介质可以包括:能够携带计算机程序的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器 (rom ,read-only memory)、随机存取存储器(ram,random access memory)、以及软件分发介质等。计算机程序包括计算机程序代码。计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读存储介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、以及软件分发介质等。
53.在本发明的某些实施方式中,装置可以包括控制器,控制器是一个单片机芯片,集成了处理器、存储器,通信模块等。处理器可以是指控制器包含的处理器。处理器可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
54.流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明地优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
55.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各实例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
56.以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1