信息安全:软件认证,知识点梳理

如果开发过Geely2.0BaseTec的小伙伴,对于VBT(VerificationBlockTable)应该不陌生。什么是VBT呢?它的作用是什么呢?搞软件开发的小伙伴应该清楚,软件程序分为多个部分,eg:Bootloader、Application、Calibration等。当编译器(Compiler)编译程序时,由于程序的不连续性,会使得每个部分包含多个DataBlock。为了记录这些DataBlock的location(包括数据块的起始地址和长度)以及hashvalues信息,设计了VBT,示意如下:

所以,VBT就像一个清单(manifest),用于记录每个DataBlock的location和hashvalues,以便于快速验证每个数据块的数据完整性。

(一)VBT的生成阶段

VBT在哪个阶段生成呢?这里需要说明一下,大家在解读需求的时候,可能注意到:每个DataBlock的hashvalues生成是针对原始数据(RawData),而不是经过压缩(Compression)或者加密(Encryption)处理后的数据。所以,当软件开发完成后,对原始的每个DataBlock进行Hash计算,之后将每个DataBlock信息存入VBT,如下所示:

(二)VBT格式

既然VBT用于记录每个DataBlock的信息,是以怎样的格式记录信息呢?格式如下所示:

VBTFormatIdentifier:表示选用的Hash算法,eg:0x00表示SHA256;

NumberofDataBlocks:数据块个数;

StartAddress:数据块起始地址;

Length:数据块长度;

HashValue:数据块对应的Hash值。

(三)VBT对齐问题

VBT一般存储在Flash空间,而Flash的擦除和写操作都有最小限制。所以,这就会涉及到内存对齐(Align)的问题。由于内存对齐问题,VBT存储的信息不足最小对齐空间时,可以对剩余空间进行填充(Padding),示意如下所示:

2、Roothash加密与验证

如上,我们已经知道,VBT会存储每个DataBlock的hashvalues。这样,虽然可以快速验证每个DataBlock的完整性,但是,有一个前提:VBT记录的信息是完整且有效的。只有VBT记录的信息是完整的、有效的,再进行每个DataBlock的完整性验证才是有意义的。所以,需要先对VBT也进行一次hash计算(eg:使用SHA256计算),生成的hashvalues称为RootHashValues。

(二)如何加密和验证RootHashValues

为了确保VBT的数据完整性,使用Hash算法(eg:SHA256)计算出RootHashValues。同时,为了确保RootHashValues不被外部截获,信任中心(TrustCentre)通过私钥(PrivateKey),使用非对称加密算法(eg:RSA-2048,适用于小数据加密)对RootHashValues进行加密处理,生成对应的签名信息(SignatureInfo),当ECU收到签名信息以后,使用PrivateKey配对的PublicKey对签名信息进行解密,得到RootHashValues#1,同时,对刷写进ECU的VBT内容进行hash计算(eg:使用同样的SHA256算法),算出RootHashValues#2,通过对比RootHashValues#1与RootHashValues#2即可知道VBT的完整性,如果VBT完整,即可进行后续的DataBlock完整性验证,示意如下所示:

3、软件验签

(一)验签次数

4、ESS(ECUSoftwareStruct)

ESS(ECUSoftwareStruct),如字面意思:ECU的软件结构,主要用于存储ECU的软件块信息,以便于Bootloader可以快速查找每个软件块信息。在Geely2.0的规范中,ESS并没有做强制性的细节描述(除了包含一些必要的约束信息,其它信息可以自行定义),在实现上,供应商(Supplier)具有一定的自由度。

ESS的定义示例,如下所示:

(二)本文的LogicalBlock与DataBlock关系

一个LogicalBlock可以包含多个DataBlock,示意如下:

提示:如上的LogicalBlock不要与芯片手册中的LogicalSector混淆。

THE END
1.连锁传递的威胁——从软件供应链视角看网络安全[内部报告公开]此后阿里云安团队在10月22日监测到npm官方仓库ua-parser-js官方账号疑似遭遇劫持。这些事件连同2020年末,SolarWinds 旗下的Orion基础设施管理平台的源码遭到攻击者篡改,导致数百家关键机构遭遇入侵,引发了对软件供应链安全的高度关注。 此篇报告是由安天CERT在2017年9月编写的《连锁传递的威胁——从软件供应链视角看网络...https://card.weibo.com/article/m/show/id/2309634696681349251807
2.软件测试面试时常考的几道面试题数据和数据库完整性测试;功能测试;用户界面测试;性能评测;负载测试;强度测试;容量测试;安全性和访问控制测试;故障转移和恢复测试;配置测试;安装测试;加密测试;可用性测试;版本验证测试;文档测试在软件测试各个阶段通常完成什么工作?各个阶段的结果文件是什么?包括什么内容? https://www.itcast.cn/news/20190318/14230046904.shtml
3.保密+完整+可用+安全,规避代码安全「马奇诺防线」,构建软件供应链...还有软件漏洞和开源及第三方组件风险,据统计,国内有 90% 以上公司都使用了第三方开源代码,这个数字还在逐年增高。这些开源代码本身可能存在安全问题。 数据来源:漏洞知识库(CVE)&中国国家信息安全漏洞共享平台(CNVD) 传统软件安全主要关注软件运行过程中的安全,一般是在软件发布、交付前后对软件应用的安全进行测试和评估...https://xie.infoq.cn/article/923728f1d3b2472aca196e65d
1.存在隐私不合规行为,这13款App要注意,社会万象国家计算机病毒应急处理中心依据《网络安全法》《个人信息保护法》《App违法违规收集使用个人信息行为认定方法》等法律法规及相关国家标准要求,近期通过互联网监测发现13款移动App存在隐私不合规行为,涉及电商等领域。 1、在App首次运行时未通过弹窗等明显方式提示用户阅读隐私政策等收集使用规则、未声明App运营者的基本情况...https://www.lh168.net/portal.php?mod=view&aid=31462
2.网络安全e起学这17款APP有风险!看看你的手机里有没有!快看看你手机里有没有这些APP? 图源:工业和信息化部 工业和信息化部依据《个人信息保护法》《网络安全法》《电信条例》《电信和互联网用户个人信息保护规定》等法律法规,持续整治APP侵害用户权益的违规行为。近期,工业和信息化部组织第三方检测机构进行抽查,共发现17款APP及SDK存在侵害用户权益行为,现予以通报。上述...https://www.thepaper.cn/newsDetail_forward_28488396
3.朝鲜黑客创建经过安全验证的恶意软件攻击macOS系统Jamf 发现的 6 个恶意应用程序中有 5 个具有用合法的开发人员 ID 签名,并且恶意软件已通过公证,这意味着这些应用程序被苹果的自动化系统扫描并被认为安全。 经过安全签名、带有木马的扫雷游戏 Jamf 还发现了两款基于 Golang 和 Python 变体的应用,两者都向一个已知的与朝鲜有关联的域 "mbupdate.linkpc[.]net...https://www.51cto.com/article/801601.html
4.网络安全论文3000字(精选10篇)计算机技术更新速度越来越快,对计算机网络安全技术也提出了更多的挑战,加上人们对于计算机网络使用的范围和频率越来越高,因此做好计算机网络安全技术研究非常重要。计算机网络安全包括四个方面,信息安全、运行安全、物理安全和软件安全,也可以分为两大方面信息安全和控制安全。信息安全主要是指计算机网络中所有的存储信息和...https://mip.ruiwen.com/lunwen/1260841.html
5.GitHubakiritsu/cslearning容器是一个轻量级的、可执行的软件包,包含运行应用所需的一切:代码、运行时环境、库、环境变量和配置文件。 跨平台兼容性:Docker 容器可以在任何支持Docker的操作系统上运行,包括Linux、Windows和macOS。这消除了常见的“在我的机器上运行正常”的问题。 隔离性:每个Docker容器都在自己的隔离环境中运行。这提高了安全...https://github.com/akiritsu/cs-learning-map
6.钢铁行业工业互联网安全解决方案上海宝信软件股份有限公司 网络行业应用篇/工业互联网安全 1 概述 1.1背景 伴随着互联网信息技术、工业自动化技术的革命性突破和全球经济一体化的发展,工业互联网应运而生,并迅速成为热门技术,已经成为钢铁行业不断研究和持续探索的热点课题。经过近几年的发展,钢铁工业互联网的推广普及已经成为工业经济发展提供了更多的...http://www.aii-alliance.org/index.php/index/c156/n1593.html
7.思科网络技术学院教程(第6版):网络简介第1章“探索网络”:介绍网络的概念并概述各种不同的网络。探讨网络对我们的工作、学习和娱乐方式的影响,讨论新的网络趋势,如视频、云计算和BYOD,以及如何确保支持这些趋势的网络健壮、可靠而安全。 第2章“配置网络操作系统”:简要地介绍大多数思科设备使用的操作系统—Cisco IOS。描述IOS的基本用途和功能以及访问IOS...https://www.epubit.com/bookDetails?id=N15003
8.VPN安全风险须知为VPN 添加其他安全功能 可以针对 VPN 漏洞添加其他安全防护,例如采用防病毒软件、多因素身份验证和设备身份验证支持。但是,这样做会增加 IT 主管的工作量,并且需要持续维护,而且每个工具价格都很贵。对于 IT 团队来说,管理多种工具并确保这些工具能协同运作不但困难而且耗时。 https://www.splashtop.cn/cn/blog/vpn-security-risks
9.软件开发安全性问题都有哪些(软件的安全性包括哪些)软件开发中的安全性问题是多方面的,包括以下方面: 1. 输入验证: 不充分的输入验证可能导致恶意用户通过输入恶意数据来攻击应用程序。开发人员应确保输入数据被正确验证和过滤,以防止跨站点脚本(XSS)和SQL注入等攻击。 2. 身份验证和授权: 软件应用程序需要有效的身份验证和授权机制,以确保只有授权用户可以访问和执行特...https://www.zbj.com/zx/wz/5103515
10.用手机验证器让你的Origin帐号更安全软件资讯技巧应用1如何开启验证器 现在的游戏帐号或者是游戏平台帐号的安全防护措施已经越来越多,而手机验证器就是其中之一。像暴雪、盛大、Steam等这样的平台都有自己的专属手机验证软件,而EA旗下的Origin却没有,那么要怎么才能开启Origin的手机验证呢? 首先说一下为什么要开启Origin的手机验证。经常玩Origin平台游戏的玩家都知道,我们...https://soft.zol.com.cn/569/5691617_all.html
11.美国CISA云安全技术参考架构(第二版)全文翻译云技术经过多年发展,衍生出了各种_aaS服务,包括桌面即服务(DaaS)、安全即服务(SECaaS)、人工智能即服务(AIaaS)、容器即服务(CaaS)、灾难恢复即服务(DRaaS)、物联网即服务(IOTaaS)、位置即服务(LaaS)、监控即服务(MaaS)、统一通信即服务(UCaaS)和工作空间即服务(WaaS)等,这一名单仍在不断更新。这些新增的服务...https://www.secrss.com/articles/53867
12.针对准备安装时发生的错误的10个经过验证的修复方法更新或重新安装 Mac 操作系统 (macOS) 是维护系统性能和安全性的一项重要任务。 然而,有时 Mac 用户可能会遇到类似“准备安装时发生错误在 Mac 上更新或安装操作系统时。 在本文中,我们将讨论导致此错误的可能原因,并提供 10 种有效的解决方案来修复它。 https://www.apeaksoft.com/zh-CN/fix/an-error-occurred-while-preparing-the-installation.html
13.汽车基础软件信息安全关键技术基础软件自身安全的要求。为保证上述功能的安全实现不被绕过,基础软件还需保证自身的安全, 如不存在公开漏洞、安全启动等。 产品开发阶段 软件安全需要基于完整的安全分析进行设计,从硬件的安全信任根开始,保证每层的程序调用都是基于经过验证的,包括程序完整性的验证,访问权限的验证,参数合理性验证等。 软件实现过程是...https://www.eet-china.com/mp/a197140.html
14.离开华数,奔向未来的广电青年人!流媒体网4、智能软件定义安全验证平台 (1)基于Openstack的软件定义入侵检测系统 (2)基于Opendaylight的软件定义防火墙系统 (3)终端云端协同的智能蜜罐(Honeypot)系统 (4)基于Openstack的软件定义无线网络安全系统 (5)智能软件定义安全协同防护平台 5、NB-IoT开源平台 ...https://lmtw.com/mzw/content/detail/id/175825/keyword_id/155
15.云技术解决方案:芯片设计验证和软件安全新思科技将设计、存储和安全推向新高度 云服务提供商需要极速、节能的芯片来支持数据中心。随着越来越多的企业将关键任务应用迁移到云上,数据隐私和软件安全受到越来越多的关注。新思科技的技术带来生产效率、可扩展性、安全性和灵活性,可以在云中设计和验证芯片,并将软件应用迁移到云中。https://www.synopsys.com/zh-cn/cloud.html
16.如何识别和应对未受信任的企业级开发者风险常见问题这一事件提醒我们,在选择企业级开发者的产品时,应关注其安全性和响应速度。 拓展知识: 1、零信任安全模型 零信任安全模型是一种新的网络安全理念,强调不信任任何内部或外部的用户和设备,所有访问请求都需要经过严格的验证和授权。通过实施零信任安全模型,可以有效降低未受信任的企业级开发者带来的风险。 2、开源软件的...https://www.xiaoyuxitong.com/cjwt/164055.html
17.手机丢了要怎么办双重认证是一种更为安全的验证方式,即使手机丢失,也可以防止他人轻易进入你的账户。可以在重要账号(如Apple ID、微信、支付宝等)上开启双重认证,确保账户安全。 3、及时更新软件和系统 及时更新软件和系统可以避免手机存在漏洞,避免被黑客攻击的可能性。同时,及时更新还可以提升手机的性能和体验感。 https://www.jy135.com/shouji/253805.html