TBOX信息安全系列6设计篇-系统数据安全方案

先讲系统安全为什么是"地基":

第5篇讲了硬件安全------但硬件只是第一道门。攻击者一旦进了系统(哪怕是通过合法接口),他面对的就是操作系统本身。如果系统没有访问控制,拿到 root 就等于拿到一切。系统安全就是管住"进入系统之后"的一切。


1、系统账号管控:先砍掉"多余的入口"

系统安全的第一件事,跟硬件安全一样------砍接口。只不过这次砍的是"账号":

TBOX项目的做法:

  • 除 root 外,所有系统账号通过修改命令解释器,使其均无法进行登录操作

  • 为什么不能直接删?因为系统账户(如daemon、nobody等)要为各组件模块运行提供权限控制,删了会导致服务起不来

  • 所以做法是"锁住"而不是"删除"------把 shell 改掉,让这些账号无法登录,但服务还能跑

对比第5篇的接口管控逻辑 :硬件砍调试口、系统砍登录账号,思路完全一致------最小化暴露面。

2、SELinux:系统访问控制的"主战场"

账号管住了,接下来是更细粒度的控制------进程能访问什么文件。这就轮到 SELinux 出场。

2.1 先理解概念

SELinux(安全增强型Linux)的核心思想:给每个进程和文件都打上一个安全上下文标签,通过标签实现主体(进程)对客体(文件)的访问控制。

  • DAC(自主访问控制):传统的 rwx 权限,root 可以绕过
  • MAC(强制访问控制):SELinux 的策略,root 也不能绕过------这是 SELinux 最大的价值

SELinux 有两种模式:

  • Permissive(宽容模式):违规操作只记录日志,不阻止------调试阶段用
  • Enforcing(强制模式):违规操作直接拒绝------量产必须用

2.2 标签体系:TBOX项目的五类标签

TBOX项目的SELinux方案定义了五类标签,把进程和文件分得清清楚楚:

标签 类型 权限设计
业务进程标签 进程 拥有全部业务标签,支持读写、链接、挂载所有文件
第三方进程标签 进程 拥有与业务进程的通信权限 + 对第三方/共享文件的全部权限
业务文件标签 文件 本身不具备任何权限,用于限制其他权限者访问;仅业务进程拥有完全权限,第三方进程无权访问
第三方文件标签 文件 本身无权限;业务进程和第三方进程都有权限
共享文件标签 文件 本身无权限;业务/第三方进程共享

设计要点:

  1. 业务文件只给业务进程------第三方应用碰不到你的核心数据
  2. 标签本身"零权限"------文件标签只是"身份",权限全在策略规则里定义
  3. root 也被管------SELinux的MAC模式下,root访问业务文件也要过策略

2.3 策略文件怎么组织

TBOX项目的SELinux策略(脱敏)按功能拆分:

策略文件 作用
业务进程策略文件 拥有业务进程标签的访问控制策略
业务文件策略文件 业务文件的访问权限策略
第三方策略文件 第三方应用的访问控制策略
宽容模式控制文件 设置宽容模式的控制策略

2.4 启动脚本改造(关键细节)

为了让SELinux真正生效,启动脚本必须改造:

复制代码
# 改造前:直接运行
sh /oemapp/sirun_start.sh &

# 改造后:指定安全上下文运行
runcon u:r:业务进程标签:s0 sh /oemapp/sirun_start.sh &

为什么必须改? 如果不用 runcon 指定标签,脚本会以默认的 shell 标签运行------而 shell 标签的策略无法控制 shell 命令直接访问 /oemdata 目录。改造成本极低,但决定了SELinux能否管住你的业务。

2.5 AVC日志:排错的"眼睛"

SELinux拒绝访问时会记录 AVC(Access Vector Cache)日志,这是排错的关键:

复制代码
apps_init.sh (u:r:shell:s0) 对于 u:object_r:业务文件标签:s0 的文件(certManager)
没有 execute 权限

排错三步法:

  1. 看 AVC 日志,确认谁(进程标签)访问什么(文件标签)被拒
  2. 判断是"策略写错"还是"确实不该访问"
  3. 该放行的加策略,不该放行的保持拒绝(同时把日志重导向到业务目录,方便回溯)

03 系统安全日志与安全事件

系统安全不只是"管住访问",还要"看得见异常"。TBOX项目的做法:

日志三层:

  1. SELinux层:记录非授权访问(AVC日志)
  2. 应用层:各功能业务模块记录业务操作及失败日志
  3. 系统层:记录安全启动、root登录等系统安全日志 + 系统异常行为(存储不足、内存占用异常)

安全事件上报:检测到安全事件后,调用 IDS 接口传递安全事件信息,有完整的错误码体系(脱敏):

  • 证书校验失败(双向认证失败)
  • 消息完整性校验失败(AES128-CMAC 指令验签失败)
  • 车控非授权访问
  • 蓝牙关键指令校验失败
  • 敏感信息非法读取(如经纬度文件读取)

这套错误码体系的价值 :安全事件不是"发现了就完",而是要上报、记录、可追溯------这也是 GB 44495 要求的"安全日志留存"的落地实现。


04 应用安全:代码级防护

系统安全还包括应用代码本身。TBOX项目的做法:

  • 静态分析工具:按 MISRA C: 2023 标准对代码进行扫描
  • 扫描结果在软件单元测试报告中展示和证明------这是给客户评审的证据链

MISRA C 是汽车行业C代码的"军规",尤其适合TBOX这类跑在安全芯片/MCU上的代码。静态分析 + 单元测试报告 = 可追溯的代码安全证据。

05 数据分类分级:先分清楚,再谈保护

数据安全的第一步不是加密,而是分类分级------你连哪些数据是敏感的都不知道,怎么保护?

某合资品牌《数据分类分级及安全要求》规范(脱敏)提供了完整框架:

5.1 法规依据

数据安全不是拍脑袋,而是有法可依:

  • 《数据安全法》
  • 《个人信息保护法》
  • 《汽车数据安全管理若干规定(试行)》
  • GB 44495-2024《汽车整车信息安全技术要求》

5.2 分类分级:C1 vs C2

级别 定义 典型数据 保护要求
C1 一般个人信息 联系方式、账户信息、车辆基础配置 告知+同意、基础安全保护、加密传输
C2 敏感个人信息 行踪轨迹、音频、车内视频图像、生物识别特征 告知+单独同意 、显著标识、加密存储+访问控制、终止收集按钮

TBOX里最典型的数据就是C2------行踪轨迹(定位数据)!所以TBOX的定位数据必须加密存储、访问控制、单独同意采集------这就是第5篇里"位置数据 AES-128-CBC 加密"的法规来源。

5.3 数据采集的合规要求(C2重点)

采集敏感个人信息(C2)的要求远严于C1:

要求 说明
告知 隐私政策完整告知收集目的、方式、类型;敏感信息显著标识(加粗/高亮)
单独同意 C2采集前必须征得用户单独同意,不使用"好的""我知道了"等默认同意
状态提示 持续收集语音/定位等敏感信息时,设置显示面板图标或提示灯
终止收集 提供终止收集按钮(默认关闭),用户选择停止后麦克风/摄像头同步关闭
权限管理 触发式申请权限,申请前明确告知目的;未告知且未授权不应自启动应用
第三方SDK 隐私政策中告知SDK名称、机构、收集信息类型、目的、第三方隐私政策链接
重新同意 处理目的变化/同意期限届满后,重新征得用户同意

对TBOX的含义 :如果你的TBOX采集定位、音频(车内通话)等数据,这些合规要求必须落到产品设计里------不是法务的事,是产品/开发的事。


6、数据存储加密:敏感数据不能裸奔

分类分级之后,就是"分级保护"。TBOX项目的存储加密实践:

加密清单:

数据 加密方式
日志中的定位数据 AES-128-CBC (PKCS7填充)加密本地存储
国标实时数据(含定位) AES-128-CBC 加密本地存储
证书/私钥 私钥存安全芯片不可读区域,永不离开安全芯片
设备证书/签名证书 保存在HSM
CA根证书链 存放于TEE
PKI平台账号密码 混淆方式管控

注意分层 :定位数据用 AES-128-CBC(软件加密,够用);私钥用安全芯片不可读区域 (硬件保护,最安全);证书链分层存放(根证书在TEE,业务证书在HSM)。不同敏感度的数据,用不同强度的保护------这就是"分级保护"的实践。


7、系统数据安全方案总结

需求(法规/客户规范) 对应解决方案
系统账户管理(客户需求4.3.2/4.3.3) 除root外全部锁定登录
访问控制(GB 44495 7.2.9区域隔离) SELinux标签体系(业务/第三方隔离)
日志留存(GB 44495 7.1.2.3,≥6个月) 三层日志+安全事件错误码上报
敏感数据防泄露(GB 44495 7.4.2) 定位数据AES-128-CBC加密
密钥安全(GB 44495 7.4.1) 私钥存安全芯片不可读区域
个人信息保护(《个保法》) C1/C2分级+单独同意+终止收集
代码安全(客户需求12.3) MISRA C:2023静态扫描

8、给TBOX工程师的5条实战建议

  1. 系统安全 = 账号管控 + 访问控制 + 日志监控 三件套,缺一不可
  2. SELinux别只开Permissive:调试用宽容模式,量产必须Enforcing------这是客户评审红线
  3. 标签体系要"最小权限":业务文件只给业务进程,第三方碰不到核心数据;文件标签本身零权限
  4. 数据先分级再保护:定位/音频/视频/生物特征都是C2敏感数据,加密+访问控制+单独同意缺一不可
  5. 安全事件要能上报:建立错误码体系,安全事件→IDS上报→可追溯------这是GB 44495"日志留存"的落地
相关推荐
for_ever_love__1 小时前
LangChain 效果评测:没有评测,优化就是在瞎调
人工智能·学习·langchain·rag·评估·langsmith·评测指标
得物技术1 小时前
动态规则的 Agent 实践:用确定性工程驾驭 LLM 的资产智能验收
人工智能·后端·llm
投资者内参1 小时前
高通CEO安蒙重磅发声:有AI厂商要求2028年在手机上跑千亿参数大模型,AI竞争从模型向终端延伸,手机换机潮将至,最看好智能眼镜
人工智能
水圈模拟1 小时前
从"数字花瓶"到"数字实验场"
人工智能·架构
狄龙1 小时前
UMI 式数据工作流:仿真采集 → 数据处理 → 训练使用(五)
人工智能
Solara1 小时前
库连续 35 天只写自己的日记:第 36 天的外采,进得了索引,进不了版本库
人工智能·程序员·ai编程
码农小旋风1 小时前
AI模型训练技术详解
人工智能
vivo互联网技术1 小时前
SSR-Merge:把 LoRA 合并从"参数算术"变成"信号路由" | ICML 2026
人工智能·算法·计算机视觉
Martina_03211 小时前
一张地图怎么生成可编辑3D地形?用6步检查高度图、道路约束与Mesh导出
图像处理·人工智能·平面·3d·ai·自然语言处理·游戏策划