-
无人驾驶车辆智能行为的实施阶段及其测试与评价
资源介绍
6.2规划设计阶段
在规划和设计阶段,容器特定的主要考虑因素是取证。由于容器主要基于操作系统
中已存在的组件构建,因此,在容器化环境中进行取证的工具和技术主要是由现有做法
演变而来。并且容器和镜像的不可变性实际上可以提高取证能力,因为在事件发生过程
中,镜像应该做什么和实际发生的事情之间的界限更加一目了然。例如,如果启动运行
Web服务器的容器突然启动了邮件转发,则很明显,新进程并不是原来创建容器的镜像
中的一部分。在传统的平台上,操作系统和应用之间隔离效果较差,进行这种区分可能
更困难。
熟悉进程、内存和磁盘事件响应活动的组织机构在处理容器时会发现它们大体相似。
不过,还是有些区别要注意。
容器通常使用在主机 OS中虚拟化的分层文件系统。直接检查主机上的路径通常仅会
显示这些层的外边界,而不显示其中的文件和数据。因此,在对容器化环境中的事件作
出响应时,用户应该确定使用的特定存储提供商,并了解如何正确地离线检查其内容。
容器通常使用虚拟化覆盖网络相互连接。这些覆盖网络经常使用封装和加密,让流
量可以安全地通过现有网络进行路由通信。但是,这意味着在调查容器网络上的事件时,
尤其是在进行实时数据包分析时,所使用的工具必须了解这些虚拟化网络,并了解如何
从其中提取嵌入式 IP帧,以便使用现有工具进行分析。
容器内的进程和内存活动很大程度上类似于传统应用中所观察到的活动,只是父进
程不同。例如,容器运行时可能会以嵌套的方式在容器内生成所有进程,在该进程中,
运行时是*进程,每个容器包含一级子进程,每个进程包含二级进程。例如:
├─容器 d─┬───┬───[容器 1─┬─bash]
│ │ │ └─8*[{thread}]]
│ │ ├─容器 2────┬─start.sh─┬─mongod───22*[{mongod}]
│ │ │ │ └─node─┬─4*[{V8 WorkerThread}]
│ │ │ │ └─5*[{node}]
│ │ │ └─8*[{thread}]
│ │ ├─容器 3────┬─mysqld───28*[{mysqld}]
│ │ │ └─8*[{thread}]
6.3实施阶段
在设计完容器技术之后,下一步是对设计原型进行测试,然后再将解决方案投入生产。
请注意,容器技术没有 VM技术所具有的内省能力。