版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
任务6.4T-BOX应用漏洞分析项目六:T-BOX和TSP安全任务6.4:T-BOX应用漏洞分析【任务导入】车辆的安全问题涉及整个汽车产业链企业,上下游任何企业的产品缺陷都将导致严重的安全隐患。而T-BOX是实现汽车车联网的一个关键环节,具备车辆信息采集、车辆信息检测及信息交互、车辆远程控制、安全监测和报警、远程诊断、边缘计算等多种离线和在线的应用功能的载体,它的安全检测是检测中的重要一环。鸿泉HQT-401TBOX存在安全漏洞导致MQTT服务器地址泄露,身份验证不足致使攻击者可以访问甚至篡改车队的控制数据和状态数据。同学们思考一下,T-BOX有哪些安全漏洞?如何对T-BOX进行安全测试?【学习目标】素质目标激发学生的探索精神;激发学生的创新精神和实践能力;通过案例讲授,培养学生的逻辑思维能力。知识目标能总结T-BOX安全测试的内容及其安全测试指标[K92];能说出re.findall()、re.search()、re.match()3个函数的区别[K93]。能力目标能完成T-BOX的固件提取与分析[A63];能完成敏感信息检测代码[A64]。【知识准备】T-BOX安全测试内容根据2020年电信终端产业协会发布的《车载TBOX信息安全技术要求》,TBOX有硬件安全、操作系统安全、软件安全、数据安全、通信安全五个方面的安全要求,安全威胁和目标见REF_Ref23998\h表6-4-1。表6-4-SEQ表6-4-\*ARABIC1TBOX信息安全威胁和目标信息安全要求安全威胁安全目标硬件安全芯片内系统程序、终端参数、安全数据、用户数据、系统配置、安全配置被篡改或非法获取,芯片被拆解攻击和被而已代码直接访问加密芯片接口、内网接口等,密钥被物理攻击的方式获取在硬件芯片保证数据运算和存储的安全性,能够抵抗拆解攻击和针对密钥的非侵入式和半侵入式物理攻击,确保芯片内部系统程序、终端参数、安全数据、用户数据不被篡改或非法获取。操作系统安全操作系统文件和系统数据被窃取或篡改,系统中保存的用户敏感数据被窃取或篡改,操作系统的运行被非授权干扰或中断能够进行安全启动、安全升级以及诊断远程异常问题,能够保证符合车载TBOX应用场景的身份认证管理机制,保证操作系统文件和系统数据的保密性和完整性。软件安全应用软件被恶意篡改导致的恶意代码和恶意行为,已安装的应用软件源代码敏感数据被非授权访问,暴露组件被攻击调用,应用软件的启动、升级和退出过程被非授权干扰或中断保证运行可信来源的软件,具备抵抗逆向分析、反编译、重放攻击、篡改、非授权访问等安全威胁,暴露组件能够抵抗攻击调用,保证应用启动、升级和退出时的安全。数据安全收集的数据被拦截或篡改,数据在传输过程中被窃取或篡改,恶意数据在传输环节被注入,在数据被用户删除后未彻底清除或未设置防恢复保护,导致数据被窃取作为攻击样本保证其对用户数据、总线数据的收集、加工、转移、删除过程的安全性,确保用户数据不被非法访问、获取和篡改。通信安全总线数据和私有协议被非授权的攻击者读取,车载TBOX与TSP间通信被嗅探或攻击,使通信数据被窃取或篡改对内通信保证车载TBOX与车内总线间的通信安全,防止非授权的攻击者对总线数据和私有协议进行读取,保证TBOX不向内部ECU发送伪造、重放等攻击方式的指令,不非法占用内部总线资源,保证内部数据的保密性和完整性。对外通信保证车载TBOX与TSP间蜂窝移动通信的安全,保证通信连接具有必要的认证、加密和完整性校验手段,可以对抗嗅探、中间人攻击、重放等多种针对通信的安全威胁,保证数据的保密性完整性和通信质量。根据安全目标,T-BOX的网络安全测试可包含网络接口和通信协议测试、数据加密和管理测试、身份验证和访问控制测试、防火墙和入侵检测系统测试。网络接口和通信协议测试BOX通过多种网络接口进行通信,网络安全测试需要评估它的各种接口的安全性,测试通过外部网络、通信协议、通信接口三方面进行,可进行外部渗透测试、协议分析、无线安全测试等,如REF_Ref24335\h图6-4-1所示。图6-4-SEQ图6-4-\*ARABIC1网络接口和通信协议测试数据加密和管理测试由于T-BOX需要处理大量敏感信息,确保数据在存储和传输过程中得到适当保护是非常重要的。对于T-BOX内的敏感信息,需要测试其在储存和传输过程中的安全性,可进行加密测试、数据完整性测试、密钥测试等,如REF_Ref24358\h图6-4-2所示。图6-4-SEQ图6-4-\*ARABIC2数据加密和管理测试身份验证和访问控制为了防止未授权访问,T-Box必须实施强有力的身份验证和访问控制机制。通过对身份验证和访问控制测试,确保只有授权用户才能访问T-Box中的数据,如REF_Ref24377\h图6-4-3所示。图6-4-SEQ图6-4-\*ARABIC3身份验证和访问控制防火墙和入侵检测系统检查T-Box是否配置了适当的防火墙和入侵检测系统,以及这些系统的有效性,如REF_Ref24393\h图6-4-4所示。图6-4-SEQ图6-4-\*ARABIC4防火墙和入侵检测系统安全测试指标在实际进行测试时,由于保密等多种因素难以直接获得T-Box固件的加密算法,因此需要从别的维度评价密码算法的安全程度。良好的密码算法应具备高度随机性和熵、加密结果均匀分布、抗已知攻击等特性。高度的随机性和熵具有高度的随机性和熵的密码算法无法通过统计分析来预测密钥或明文。熵:衡量系统中随机性或不确定性的度量。它表示信息的不可预测性。当系统中的熵值越大时,代表系统中的各个事件发生的概率越平均。计算公式:H(X)=−∑P(Xi)log2P(Xi),其中P(Xi)指的在指定事件空间内发生事件Xi的概率。加密结果均匀分布加密的结果均匀分布在可能的密文空间中,使得无法通过统计进行破解。加密结果均匀分布又称为抗统计分析(ResistancetoStatisticalAnalysis)是指加密算法设计中,使其难以通过统计方法来破解的一种安全特性。这种特性确保了加密算法在面对试图通过分析密文的统计特征来推断明文或密钥的攻击时,仍能保持其安全性。加密算法在设计时,通常通过混淆和扩散(ConfusionandDiffusion)使得加密算法具备这些性质,如REF_Ref24413\h图6-4-5所示。图6-4-SEQ图6-4-\*ARABIC5抗统计分析混淆:通过复杂的代换使得密文与密钥之间的关系尽可能复杂,防止攻击者通过分析密文和明文之间的关系来推断密钥。扩散:通过使明文的每一位影响到密文的许多位,使得单个明文的改变会影响到密文的许多部分,从而使得统计分析变得更加困难。抗已知攻击设计良好的算法应能抵御选择明文攻击(CPA)和选择密文攻击(CCA),确保攻击者即使拥有某些明文和对应的密文,也无法轻易推导出密钥或其他明文。抗已知攻击(ResistancetoKnownAttacks):密码学中一个重要的概念,它指的是设计加密算法时,必须确保其能够抵御已知的、常见的攻击方式。常见的攻击方式包括暴力破解攻击、已知明文攻击、选择明文攻击、选择密文攻击、差分密码分析、线性密码分析六种,如REF_Ref24439\h图6-4-6所示。图6-4-SEQ图6-4-\*ARABIC6常见的攻击方式常见安全漏洞T-BOX固件篡改和逆向固件是T-BOX的核心,包含了设备的操作系统和应用程序代码。T-BOX的固件存在被篡改和逆向的风险,故在发布固件前会对固件进行加密。同时,对固件进行签名可以保证T-BOX固件的完整性和不可否认性。T-BOX固件本身的安全漏洞也是T-BOX安全检测中重要的一环,对T-BOX的固件安全进行分析测试时,关注加密算法和密钥的安全。固件的安全测试有固件信息分析,固件信息分析的目的是识别固件中的潜在安全漏洞和不安全的配置,其步骤为固件提取与解析、固件安全扫描、版本对比,如REF_Ref24455\h图6-4-7所示。图6-4-SEQ图6-4-\*ARABIC7固件信息分析步骤栈溢出栈溢出(StackOverflow):当程序向栈(Stack)内存区域写入数据时,超过了栈的实际存储容量,导致数据溢出到相邻的内存空间。这种情况通常由于缺乏适当的边界检查而发生。造成栈溢出的原因有三个,分别是缓冲区溢出、递归调用过深、错误的指针操作,如REF_Ref24475\h图6-4-8所示。图6-4-SEQ图6-4-\*ARABIC8栈溢出的原因栈溢出可能会导致执行恶意代码、拒绝服务、数据泄露等后果,如REF_Ref24491\h图6-4-9所示。图6-4-SEQ图6-4-\*ARABIC9栈溢出的后果正则表达式在T-Box的渗透测试中,敏感信息检测是其的一个测试重点。检测敏感信息是否未经加密保存在T-Box的内部储存中。通常的做法是进行系统的全盘扫描后提取文件内容,然后对文件内容进行敏感信息的正则匹配。常见的敏感信息包括身份证号码、邮箱、手机号码、IP地址、MAC地址、URL等。正则表达式(RegularExpression,简称regex或RegExp):是一种用于匹配字符串中字符组合的工具。它是一种非常强大的文本处理工具,可以用来搜索、匹配、替换字符串中的特定模式。在编程语言中,正则表达式被广泛应用于文本处理、数据验证、字符串操作等场景,使用正则表达式。字面量字符直接表示该字符本身,如abc匹配连续序列”abc“字符串。特殊字符正则表达式中有8类特殊字符,其使用方法见REF_Ref24054\h表6-4-2。表6-4-SEQ表6-4-\*ARABIC2特殊字符使用方法类别使用方法特殊字符-‘.’匹配任意单个字符,除了换行符。特殊字符-‘^’匹配字符串的开头。特殊字符-‘$’匹配字符串的结尾。特殊字符-‘*’匹配前面的元素
0
次或多次。特殊字符-‘+’匹配前面的元素
1
次或多次。特殊字符-‘?’匹配前面的元素
0
次或
1
次(即可选项)。特殊字符-‘[]’定义一个字符集,匹配其中的任意一个字符。特殊字符-‘|’表示“或”操作,用来匹配两个或多个模式之一。字符类正则表达式中有6类字符,其使用方法见REF_Ref24073\h表6-4-3。表6-4-SEQ表6-4-\*ARABIC3字符类使用方法类别使用方法字符-‘[abc]’字符集,匹配方括号内的任意一个字符,如[abc]匹配"a"、"b"或"c"。字符-‘[^abc]’否定字符集,匹配除了方括号内的任意一个字符。字符-‘\d’匹配任意数字,等同于[0-9]。字符-‘\D’匹配任意非数字字符,等同于[^0-9]。字符-‘\w’匹配任意字母、数字或下划线,等同于[A-Za-z0-9_]。字符-‘\W’匹配任意非字母、数字或下划线的字符。量词正则表达式中有3个量词表达,其使用方法见REF_Ref24096\h表6-4-4。表6-4-SEQ表6-4-\*ARABIC4量词使用方法类别使用方法量词-‘{n}’确定的量词,匹配确定的n次。量词-‘{n,}’至少出现n次。量词-‘{n,m}’至少出现n次,最多m次。分组与捕获正则表达式中有两个符号用于分组与捕获,其使用方法见REF_Ref24119\h表6-4-5。表6-4-SEQ表6-4-\*ARABIC5分组与捕获的使用方法类别使用方法分组与捕获-‘()’圆括号,用于创建一个分组并捕获匹配的文本,以便后续引用。分组与捕获-‘(?:)’非捕获组,用于创建一个分组但不捕获匹配的文本。贪婪与懒惰模式默认情况下,量词是贪婪的,会尽可能地匹配字符。例如,a*会匹配尽可能多的"a"。在量词后面添加?使其变为懒惰模式,尽可能少地匹配字符。例如,a*?会匹配尽可能少的"a"。正则表达式函数re.findall()函数re.findall()是Python中re(正则表达式)模块提供的一个函数,用于找出字符串中所有与正则表达式模式相匹配的子串,函数的参数说明见REF_Ref24158\h表6-4-6。这个函数会返回一个列表,其中包含所有非重叠的匹配项;如果没有任何匹配项,返回一个空列表。re.findall(pattern,string,flags=0)表6-4-SEQ表6-4-\*ARABIC6re.findall()参数说明参数使用方法pattern要匹配的正则表达式模式。string需要在其中搜索匹配项的字符串。Flags(可选)修改正则表达式行为的标志位。例如,re.IGNORECASE或re.DOTALL。找到字符串text中所有的数字序列,并将它们作为列表返回。importre#简单的正则表达式,匹配字符串中的所有数字pattern=r'\d+'#待搜索的字符串text="Thereare123apples,456oranges,and789bananas."#使用findall查找所有匹配项matches=re.findall(pattern,text)print(matches)#输出:['123','456','789']re.search()函数re.search()是Python中re(正则表达式)模块提供的一个函数,用于在字符串中搜索与正则表达式模式相匹配的第一个位置,函数的参数说明见REF_Ref24201\h表6-4-7。如果找到匹配项,该函数返回一个匹配对象;如果没有找到匹配项,则返回None。re.search(pattern,string,flags=0)表6-4-SEQ表6-4-\*ARABIC7re.search()函数参数说明参数使用方法pattern要匹配的正则表达式模式。string需要在其中搜索匹配项的字符串。Flags(可选)修改正则表达式行为的标志位,如re.IGNORECASE忽略大小写。在字符串text中搜索与电子邮件地址模式匹配的第一个实例,如果找到匹配项,将打印出来。importre#正则表达式模式,匹配电子邮件地址pattern=r'\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b'#待搜索的字符串text="Pleasecontactusatcontact@formoreinfo."#使用re.search()搜索匹配项match=re.search(pattern,text)ifmatch:print("Matchfound:",match.group())#输出找到的匹配项else:print("Nomatchfound.")re.match()函数re.match()是Pythonre模块中的一个函数,它用于检查字符串是否从开始就符合正则表达式的模式,函数的参数说明见REF_Ref24233\h表6-4-8。如果字符串从起始位置就符合整个正则表达式模式,re.match()会返回一个匹配对象;如果不符合,它会返回None。re.match(pattern,string,flags=0)表6-4-SEQ表6-4-\*ARABIC8re.match()函数参数说明参数使用方法pattern要匹配的正则表达式模式。string需要在其中搜索匹配项的字符串。Flags(可选)修改正则表达式行为的标志位,如re.IGNORECASE忽略大小写。检查email字符串是否从起始位置就完全符合电子邮件的正则表达式模式。importre#正则表达式模式,检查字符串是否为一个有效的电子邮件地址pattern=r'^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[A-Z|a-z]{2,}$'#测试字符串email="example@"#使用re.match()检查电子邮件地址是否有效match=re.match(pattern,email)ifmatch:print("有效的电子邮件地址")else:print("无效的电子邮件地址")【任务实施】T-BOX的固件提取与分析任务概述该任务主要是实现获取T-BOX固件以及对固件进行熵值检测。实验环境准备软件及依赖准备安装Binwalk。执行以下命令解压Binwalk,如REF_Ref22590\h图6-4-10所示。pythonsetup.pyinstall图6-4-SEQ图6-4-\*ARABIC10安装Binkwalk安装Python的pyqtgraph和matplotlib库,输入以下命令,执行结果如REF_Ref24625\h图6-4-10所示。pipinstallpyqtgraphmatplotlib图6-4-SEQ图6-4-\*ARABIC11执行安装pyqtgraph和matplotlib库注意:若第一次安装则会先下载,安装依赖需要确保网络正常。安装成功后输入以下指令查看pyqtgraph和matplotlib版本,如REF_Ref24929\h图6-4-11所示。piplist图6-4-SEQ图6-4-\*ARABIC12查找依赖文档准备Binwalk用户手册T-BOX固件提取对固件进行解压提取,使用以下命令对固件的内容进行查看,提取结果如REF_Ref24900\h图6-4-12所示。pythonbinwalk<文件路径>图6-4-SEQ图6-4-\*ARABIC13固件提取获取的固件内容及对应的解析见REF_Ref24276\h表6-4-9。关注固件的版本,确保其为最新版本,比对历史固件版本分析是否修复已知的漏洞。表6-4-SEQ表6-4-\*ARABIC9固件内容解析DECIMAL十进制HEXDECIMAL十六进制DESCRIPTION描述350x23来自Unix系统的gzip压缩数据,最后修改时间:2023年5月15日03:44:4862239890x5EF875MySQLMISAM索引文件版本是9262200930x190163DMySQLISAM索引文件版本4677977800x40A8314gzip压缩数据,在ASCII编码格式下,包含6370字节的额外数据,有注释,来自MacOS系统,最后修改时间:2083年12月9日22:02:44(虚假日期)869861900x52F4DCE未压缩的AdobeFlashSWF文件,版本65,文件大小(包括头部)269422109字节3331887390x13DC0E83MySQLISAM压缩数据文件版本是113369830820x1415F42ACiscoIOS实验性微码4099833270x186FD95Fgzip压缩数据,在ASCII编码格式下,包含21938字节的额外数据,最后修改时间:2074年12月23日19:57:54(虚假日期)T-BOX固件熵值检测输入以下命令对固件的熵值进行计算。熵值为1以上加密的结果才算是较好的加密,如REF_Ref24971\h图6-4-13和REF_Ref25027\h图6-4-14所示,本T-BOX的固件文件的熵值为0.99878,该加密算法属于较容易被攻击的算法。pythonbinwalk-E<文件路径>图6-4-SEQ图6-4-\*ARABIC14固件熵值检测图6-4-SEQ图6-4-\*ARABIC15熵值分布图敏感信息检测任务概述对课程提供的含敏感信息文件进行扫描,检测邮箱、身份证号码、电话号码等三类敏感信息。编写敏感信息检测程序导入库函数输入以下代码,导入正则表达式模块re和json库。importreimportjson待匹配文本待匹配的json文本。text="""[//输入待匹配文本信息]"""格式变换将json文本转换为Python格式。data=json.loads(text)定义正则表达式定义匹配邮箱、身份证号码、电话号码的正则表达式。#匹配邮箱的正则表达式email_regex=r'\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b'#匹配身份证号码的正则表达式id_card_regex=r'\b\d{1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 项目五 西方古代服饰之美
- AI助力构建更高效的医疗信息服务体系
- 行政法与行政诉讼法原理与实务
- 2025年江苏广播电视编辑记者、播音员主持人资格考试(广播电视基础知识)模拟试题
- 2025年度四川省综合评标专家库评标专家考试(交通类)训练题及答案
- 2023年上海高中学业水平等级性考试物理试卷真题(含答案详解)
- 2025年四川高考历史真题(纯答案版)
- 彩色包装盒生产技术提升改造项目可行性研究报告模板-拿地立项申报
- 2025-2030年折叠试验仪企业ESG实践与创新战略分析研究报告
- 改锥批发行业商业模式创新分析报告
- 2026中级社工《综合能力》模拟试卷2
- 2026年海南事业单位招聘考试题目及答案
- 卫生院动火管理制度
- 2026年医疗器械法规合规考试题库
- 煤矿四新技术培训
- 《增材制造工艺制订与实施》课件-点阵(晶格)打印技术
- 汽车直播主播因素对消费者购买意愿因素研究
- 2025广西农村合作金融机构秋季新员工招聘390人笔试历年题库附答案解析(夺冠)
- 2025-2026年度威海热电集团有限公司校园招聘(24人)考试笔试备考题库及答案解析
- 广州辅警笔试题库及答案
- 医院医用耗材入库出库管理流程
评论
0/150
提交评论