thedini/maritime-ot-security

GitHub: thedini/maritime-ot-security

这是一个海事OT安全教育课程,教授CAN总线和NMEA 2000协议的安全分析与攻击防御实践。

Stars: 1 | Forks: 0

# 海事OT安全课程 **OpenBridge:海事运营技术安全** 一门为期14周的课程,使用开源的OpenBridge平台教授海事网络安全。 ## 概览 本课程提供海事运营技术(OT)安全的实践操作经验。学生将学习CAN总线和NMEA 2000协议,构建低成本硬件接口(约50美元),分析船舶网络流量,实施攻击场景,并开发异常检测系统。 ## 课程结构 ``` maritime-ot-security/ ├── class/ # Weekly lecture content │ ├── class_00_introduction/ │ ├── class_01_can_protocol/ │ └── ... ├── labs/ # Hands-on lab exercises │ ├── lab_01_network_recon/ │ ├── lab_02_can_decode/ │ └── ... ├── images/ # Diagrams and figures ├── templates/ # Build templates ├── syllabus.md # Course syllabus ├── build.py # Build script for PDF/HTML └── README.md # This file ``` ## 内容格式 所有内容均以Markdown编写,包含: - 用于元数据的YAML前置数据 - 用于讲师注释的HTML注释(``) - 位于文档末尾的参考式链接 ### 构建内容 ``` # 安装 dependencies pip install pypandoc gitpython # 构建 all formats python build.py class/ output/ false # 构建网站 python build.py class/ output/ true ``` ## 硬件要求 | 组件 | 成本 | |------------------|-------| | Teensy 4.0/4.1 | $25 | | MCP2515 CAN模块 | $5 | | TJA1050 收发器 | $3 | | 面包板 + 导线 | $10 | | **总计** | **约$43** | ## 软件要求 - 安装了Teensyduino的Arduino IDE - Python 3.x (numpy, pandas, scikit-learn, pytorch) - can-utils (Linux) - OpenBridge 固件 ## 学习成果 完成课程后,学生将能够: 1. 解释CAN总线协议漏洞及其对海事领域的影响 2. 解码和构造NMEA 2000 PGN消息 3. 构建并编程一个基于Teensy的CAN接口 4. 对海事CAN网络进行侦察 5. 执行并检测欺骗、重放和DoS攻击 6. 实现基于频率和基于熵的异常检测 7. 将机器学习技术应用于入侵检测 8. 分析时钟偏移以进行设备指纹识别 9. 为船舶网络设计纵深防御架构 ## NICE框架对齐 - **网络防御分析师 (PR-CDA-001)**:网络流量分析 - **安全架构师 (SP-ARC-001)**:安全架构设计 - **漏洞评估分析师 (PR-VAM-001)**:漏洞分析 ## 许可证 本作品依据知识共享署名-相同方式共享 4.0 国际许可协议(CC BY-SA 4.0)进行许可。 ## 贡献 欢迎贡献!请提交包含改进或修正的拉取请求。 ## 作者 Constantine Macris 罗德岛大学 cmacris@uri.edu
标签:Arduino开发, can-utils工具, CAN总线协议, NMEA 2000协议, OpenBridge平台, Python编程, 低成本硬件, 协议漏洞分析, 培训课程, 安全教育, 实践操作, 工业控制系统, 异常检测系统, 攻击场景模拟, 海事网络安全, 硬件接口构建, 网络流量分析, 船舶网络, 运营技术安全, 逆向工具