马跃强 陈怀源 张雄杰
(绿盟科技集团股份有限公司 北京 100089)
车联网技术持续演进.早期的车联网是指利用无线射频识别技术,对车辆的属性信息进行读取和利用,并根据不同功能需求对车辆的运行状态进行监管和提供服务的系统.随着车联网技术与产业的发展,汽车产业不断向网络化和智能化转变.以高速移动的车辆为感知对象,搭载智能传感器、无线通信、云平台、手机APP等技术,实现了车-人、车-车、车-路、车-云等之间的信息交互与共享的系统,为人们日常出行提供便捷服务,也为政府相关部门建立智能交通体系奠定基础.
车联网在发展过程中面临系列安全问题,网络黑客入侵,不断渗透和远程操控,导致非法启动、刹车失灵、窃取用户隐私、盗取财物等安全问题.
据报道,2015年国内某安全机构向特斯拉提交的漏洞报告中指出,可以利用数字射频处理技术,伪造钥匙发出的原始射频信号,绕过车内无钥匙检测启动系统,启动车辆;2016年国内知名互联网公司对某品牌车辆T-Box进行破解,篡改通信协议指令,实现对车辆的本地控制和远程操控;2018年,英国一盗贼利用平板电脑获取特斯拉密匙射频信号,成功打开车门并盗走财物;2019年7月,有匿名黑客向福布斯宣称,只需按1个按钮就可以关闭约2.5万辆小汽车的发动机.
根据《车联网网络安全白皮书(2020年)》显示,2019年因信息安全问题导致的汽车安全事件占比达57%;针对整车企业、车联网信息服务提供商等相关企业和平台的恶意攻击达到280万余次.
随着智能汽车的发展,越来越多的车载终端、路基设施、移动终端等海量实体需要进行可信的快速认证以及敏感数据保护,并已成为当下车联网安全必须要解决的迫切问题.
为此,2021年9月15日,工信部发布了《关于加强车联网网络安全和数据安全工作的通知》,提出智能网联汽车生产企业要采取有效技术保护措施,实现对车载终端、云平台、移动终端等实体之间身份认证和签名,防范数据泄露、毁损、丢失、篡改,要求各部门企业落实安全主体责任,采取管理和技术措施,及时发现并解决安全隐患.
2022年3月7日,工信部发布《车联网网络安全和数据安全标准体系建设指南》,指导车联网相关标准的制定,加快建立健全车联网网络安全和数据安全保障体系,为车联网产业安全健康发展提供支撑.
车联网主要由感知层、传输层、应用层3层构成.感知层通过智能传感器、定位技术、路基设备等对行驶车辆进行实时感知,包括驾驶状况、车辆位置信息、周围环境、道路环境以及与其他车辆、行人、障碍物的安全距离等,为车联网提供全面的实时终端信息.传输层作为感知终端和平台之间数据传输的通道,源源不断地将感知终端数据传输到平台,提供传输服务,实现应用层与感知层的信息交互.应用层为用户和交通部门提供服务,如出行规划、车辆安全监测、事故预警、娱乐、资讯、救援、远程遥控等智能化服务.针对这3层架构对应每层的安全技术,国内外进行了相应的研究.
感知层主要有车载诊断系统OBD、车载T-BOX、车载信息娱乐系统IVI、车载智能传感器以及路基设施等[1].Wang等人[2]设计了一种智能传感器攻击检测算法.该算法是在系统中增加1个镜像传感器,利用传感器与镜像传感器之间的差别来检测攻击.Moiz等人[3]研究出一种车载信息娱乐系统IVI漏洞静态检测工具,该工具可以对IVI系统的固件进行漏洞检测.Khan等人[4]提出了一种基于神经网络的威胁入侵检测模型,对车载T-BOX进行威胁入侵检测.
以上都是基于对车载终端存在的漏洞以及面临的攻击进行的检测研究,未从海量车载终端、路基设施、移动终端等实体接入车联网的快速身份认证及彼此间数据交互时敏感数据的保护进行研究.
传输层主要有车载网络和车际网络,车载网络包括CAN,LIN,MOST等总线传输方式.车际网络主要有LTE-V2X和DSRC-V2X等通信方式,如3G/4G/5G、WiFi、蓝牙、RFID等.
针对CAN总线的安全风险,Lenard等人[5]设计了一种混合不同消息签名的方法MixCAN,对CAN总线通信进行验证,但是实时性达不到要求.Zhang等人[6]提出了一种基于PKI体系的多重身份验证和密钥协商方案,保障OTA系统的安全性.在OTA升级的过程中应采用CA认证机制,可通过数字签名和认证机制确保升级包的完整性和合法性,但是车载终端算力受限,无法承载CA证书,存在OTA升级过程缓慢等问题.Sutrala等人[7]利用非对称加密算法设计了一种身份认证机制,可以实现车-车以及车-路之间的身份认证,具有一定的参考价值,但是无法实现对海量终端进行快速认证与管理.
应用层主要包括云平台和移动APP应用.云平台作为智能汽车提供各种应用服务的底座,是车联网安全体系中的重要节点,其安全包括云基础设施安全、容器安全、平台安全、数据安全等.移动APP应用作为人车交互的窗口,存在被植入恶意代码、获取个人隐私的风险.针对车联网云平台和APP应用的安全技术研究,国内许多学者进行了大量的研究与实践:任飞等人[8]提出一种分级架构的车联网平台防护方案,利用可信计算、安全芯片、通信链路加密等技术,实现对车与人、车与路、车与车、车与平台的无缝融合,全面保障从车载终端、通信链路以及云平台之间的可信安全,但是难以落地应用;于明明等人[9]对车联网APP应用进行漏洞研究,并给出防护策略;高夕冉等人[10]提出基于对称加密算法DES的软加密机制和加密机设备结合的方式,实现对车联网云平台与车载终端、移动APP、路基设施之间的认证和加密.
通过对大量文献的研究发现,这些文献对车联网都有一定的研究,但面对海量的车载终端、路基设备、移动终端等实体接入车联网时的身份认证、密钥管理等缺乏应用研究.车联网是以高速移动的车辆为主要感知对象,且车载感知终端、路基设施等设备普遍算力有限,而传统以CA证书为中心的PKI认证体系其优势显然不适用于车联网.这就需要一种能够对海量实体进行快速身份认证且又能实时监测安全状态的感知平台,这也是当下最为迫切的需求.
在真实的物理世界里人与人的身份认证是通过身份证解决的.在互联网空间中,系统与系统、系统与人之间的身份认证是通过PKI公钥体系实现的.但在万物互联的车联网,需要对海量密钥进行管理的同时还需要对感知终端进行认证,显然基于PKI公钥体系的CA证书下沉到感知设备中,存在计算复杂、算力有限、认证速度慢、实时性低等问题.
组合公钥体制(combined public key cryptosystem, CPK)是一种基于标识身份的公钥密码体制.CPK与PKI公钥体制相比,以椭圆曲线离散对数难题为基础所构建的组合公钥CPK密钥管理具有发证量大,很小的密钥矩阵就可以产生数量巨大的密钥对;不需要第三方CA认证机构;而且不需要在线的数据库支持;离线就能够进行身份认证等特点[11],但是存在共谋攻击问题.从用户私钥的生成矩阵可以看出,只要攻击者收集到一定数量的私钥,列出方程组,当方程组达到满秩时即可求解出系统私钥,这就是对CPK的共谋攻击.
针对这一问题,本文采用严格的硬件保护措施进行保护,把用户私钥、系统公钥全部写入硬件设备内加密保护,对加密、签名算法加以改进,在加密结果和签名结果中不暴露ECC曲线上点的任何信息,除原有的私钥运算需要在硬件设备内执行外,所有用户公钥计算、公钥加密和公钥验签都在硬件设备内执行.通过这些保护措施,使攻击者根本拿不到实施共谋攻击的私钥,使量子计算机根本找不到并行计算时所需要的判决条件.这样即解决了CPK组合公钥的共谋攻击问题,同时也可以利用其优点.
CPK有如下优点[12]:
1)轻量化.CPK采用SM2密码算法,SM2相比于SM9是轻量级算法,计算速度快,内存要求低,安全性高,可敏捷加载于终端设备.
2)本地化.本地化CPK是无证书标识鉴别体系,比PKI CA轻中心化,可支持离线的点对点直接鉴别.
3)无限化.CPK采用组合架构实现了标识替代公钥,以64 KB公钥矩阵实现了1048的公钥管理,非常适用于物联网场景.
4)低延时.相比PKI CA省去了证书的验证,提升了时效性.
5)轻中心.密钥一次性分发,密钥使用无需中心.
CPK组合公钥与PKI体系模式[13]对比结果如表1所示:
表1 CPK和PKI体系模式对比
本文提出一种以CPK组合公钥的车联网安全监测感知平台.基于大数据安全态势感知、应急协作、数据合理共享等机制,研究车联网安全态势感知、监测、预警、响应等于一体的监管大脑,集人、车、路、网、云等终端及车联网云平台的运行、状态、网络等数据采集、身份认证、数据加解密、安全监测、分析、响应处置为一体的大数据安全决策分析平台.平台具备主动探测、流量分析等安全感知能力,支持提供应用站点安全、僵木蠕、入侵行为攻击、恶意文件等安全检测.以全流量分析为核心,通过安全决策与算法分析、行为分析、威胁建模、威胁推理、脆弱性分析、攻击检测、可视化等技术,实现车联网从态势感知、决策研判、安全预警、应急联动处置的闭环.最终实现对感知终端(包括车载终端和路基设施)、云平台、移动APP等之间的身份认证、签名、加密,同时对感知终端、云平台以及APP应用进行实时监测、感知、预警.
车联网安全监测感知平台整体架构设计如图1所示:
图1 车联网安全监测感知平台架构
2.2.1 车联网基础组件
车联网基础组件主要以车载感知终端、车联网云平台、路基设施以及用户移动APP为主要对象.
在T-BOX,IVI,ECU,OBD等车载终端、路基感知终端、移动设备的通信模组上嵌入SDK、云平台以及云平台基础设施部署SDK网关,以硬件形式保护CPK的私钥不被泄露.SDK和探针主要实现日志采集、流量采集以及基于CPK组合公钥机制的身份认证、加解密等功能,同时将采集的数据通过无线网络传到车联网安全监测感知平台的基础设施层,进行数据预处理.
2.2.2 大数据基础设施层
大数据基础设施层基于大数据基础构架,对海量数据泛化、处理、存储、访问、计算等进行处理.利用大数据处理分析处理技术,如hadoop,Spark,kafka,Elasticsearch等大数据技术,对SDK以及探针设备采集的流量和日志数据进行预处理、整合、分布式存储、数据解析等底层处理.同时支持API接口能力,向其他经过token验证的平台发送数据.
2.2.3 安全数据分析
安全数据分析主要利用关联分析、行为分析、UEBA分析、机器学习、攻击链分析、威胁建模等安全建模技术,对大数据基础设施层预处理完的流量和日志数据进行建模分析.对T-BOX,IVI,OBD等车载终端、路基感知终端以及管理平台、移动互联网手机APP等对象的资产、脆弱性、威胁进行建模画像分析.对用户账户配置权限变化、用户密码修改、软件安装、硬件变化等进行感知.对感知终端以及平台的弱口令账户检测,在终端初始运行时,对主机中的账户与密码进行校验检查,在客户授权许可范围内,检测账户与密码的脆弱性,当用户修改密码时,实时检测修改后的密码是否符合口令强度等.基于FLINK流式处理算法对终端以及云平台进行流式处理和聚合处理,并进行攻击识别,识别出危险进程、可疑行为、挖矿程序查杀等一系列攻击.
2.2.4 安全服务功能
安全服务功能主要为车联网云平台侧、终端感知侧安全监测以及基于CPK组合公钥为感知终端之间、感知终端与云平台之间、移动APP与感知终端、云平台之间提供身份认证,加密,解密等功能.
2.2.4.1 车联网云平台和感知终端安全监测
主要包括入侵检测子系统、异常流量子系统、用户行为子系统以及固件分析等,为车联网云平台、感知终端提供威胁入侵检测、异常流量分析、用户行为分析3项监测服务.
1)威胁入侵检测.实时检测网络通信、缓冲溢出、扫描攻击、DoS/DDoS、SQL注入、蠕虫病毒、木马、间谍软件等攻击行为.提供对设备后门、跨站请求伪造、SQL注入、任意文件下载、任意文件创建、任意文件删除、任意文件读取、命令执行、弱密码、拒绝服务、数据库发现、文件上传、远程文件、权限提升、信息泄露、登录绕过、目录穿越、解析错误、越权访问、跨站脚本、路径泄露、代码执行、远程密码修改、目录遍历、中间人攻击、缓冲区溢出、XML注入、本地文件包含、安全模式绕过、备份文件发现、URL重定向、代码泄露、DNS劫持等威胁检测.支持DGA、僵尸网络、隐蔽信道、WebShell场景的检测,对失陷资产进行判定并提供失陷资产的判定依据,包括但不限于失陷资产概要信息、攻击结果、攻击链分布阶段、失陷资产的攻击过程及过程判定.
2)异常流量分析.通过对SDK和探针设备采集的网络流量进行分析,判断终端是否发生网络攻击行为.技术上采用统计学和机器学习方法进行分析,基于统计学的异常流量检测,算法会在前期收集和整理大量正常流量数据,通过对历史流量数据进行统计分析,并设置初始阈值,然后对当前网络流量数据进行计算,通过与初始阈值进行对比,判断当前网络是否发生异常.如果当前网络流量数据某一统计信息超出相应阈值,则代表出现异常流量.常用的网络流量特征有字节数、数据包数、五元组(协议,源IP地址,目的IP地址,目的端口,目的IP地址)等.基于机器学习的异常流量检测建立模型.不同的网络流量特征,如字节数、平均包大小、分组数量、最大分组长度、流持续时间、到达时间间隔等均可以作为建模对象.可以采用贝叶斯网络、支持向量机等机器学习算法发现异常流量.如攻击特征、流量上下文、关联的告警日志及流量日志以及pcap包下载,并可快速扩展该失陷资产的全部攻击事件以及该失陷资产攻击者发起的攻击、该失陷资产的同类型威胁事件.
3)用户行为分析.利用机器学习引擎,以模糊推理算法、KCORE算法、聚类算法、决策树算法、DBSCAN密度聚类算法、Kmeans聚类算法、协同过滤算法、孤立森林算法等机器学习算法为支撑,利用对多源数据的自适应迭代学习,实现对感知终端行为及用户行为的基线构建,进一步利用构建的行为基线,进行异常行为的检测及分析[14-15].
融合车联网专用协议脆弱性分析、车联网异常通信检测、嵌入式设备漏洞检测等车联网安全检测技术,对车联网感知终端进行固件分析.基于多维度特征关联的终端设备漏洞精准、批量发现机制,通过对固件代码重塑关联,建立精确的漏洞扫描模型.在此基础上,全面利用数值、结构及语义特征,基于数值-结构、语义-结构双层关联模型的漏洞函数关联方法,实现感知终端设备的同源漏洞发现.
2.2.4.2 密钥管理中心
密钥管理中心主要为车联网云平台、感知终端、路基设施以及移动APP之间提供身份认证和数据加密传输等功能,实现流程如下:
1)私钥分发
① 发送注册请求和标识身份信息;
② 云平台验证申请信息,验证成功后返回注册成功信息,并允许申请私钥;
③ 发送私钥申请和标识身份信息;
④ 发送私钥申请信息;
⑤ 生成密钥分发申请表并签名;
⑥ 验证申请合法性,生成私钥并加密分发;
⑦ 返回私钥信息;
⑧ 将私钥分发给车载终端、路基设施或移动APP.私钥存储于通信模组的芯片内和SDK网关内,保护私钥不被攻击者拿到.如图2所示:
图2 私钥分发流程图
2)身份认证
① 车载终端或路基设施或移动APP,对摘要信息进行Hash,利用私钥对摘要信息加密,并把加密的摘要信息发送给云平台;
② 云平台根据公钥矩阵和车载终端或路基设施或移动APP的标识,计算出对应的公钥,进行验证,并返回验证结果,如图3所示:
图3 身份认证及加解密流程图
车载终端、路基设施以及移动APP之间的相互身份认证同理.
3)数据加解密
① 车载终端或路基设施或移动APP,根据云平台标识以及公钥矩阵,计算出云平台的公钥,用公钥对原文进行加密,然后用密文形式发送给平台;
② 云平台利用自己的私钥进行解密,并返回解密结果.
车载终端、路基设施以及移动APP之间的数据加解密同理.
2.2.5 综合展示
综合展示主要包括环境、安全威胁、安全事件、运行状态、统计分析以及运维响应等功能.实现对资产识别、资产画像和安全事件进行态势呈现优化,同时新增终端告警、脆弱性展现、预警响应、安全基线配置、策略下发、运维响应数据、API非法访问等多维度态势呈现以及统计分析结果呈现.
基于车联网安全态势平台对感知终端及车联网云平台提供风险计算、预警及安全响应、风险监控的能力,结合威胁情报库,为用户提供安全风险预警功能.基于资产管理、漏洞管理、事件/流量监控的信息结合外部威胁情报,进行风险计算,精确分析对网络的影响,只对可能存在问题的资产进行预警.平台基于应急响应模块产生安全响应,查询安全策略及时调动资源降低风险.针对预判环节产生的预警、重点事件及运维事件,利用一系列威胁处置手段如加固和隔离、漏洞以及补丁管理、转移攻击、事故隔离、设计/模式变更、欺骗手段等为用户提供安全事件封堵、隔离、加固、风险转移等应急响应功能.
通过对CPK组合公钥的原理进行研究,其具有轻量化、无证书、延时低以及多密钥等特点,比较适合用在车联网领域,为海量车载终端、路基设施、移动APP以及云平台提供身份认证、数据加解密以及密钥管理等功能.因此,本文提出一种基于CPK组合公钥的车联网安全监测感知平台,在实现车-车,车-云,车-人,车-路之间身份认证、数据加密的同时,对车载终端、路基设施、移动APP以及云平台进行安全监测感知,为今后车联网安全实践提供理论参考依据.