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编程, 低成本硬件, 协议漏洞分析, 培训课程, 安全教育, 实践操作, 工业控制系统, 异常检测系统, 攻击场景模拟, 海事网络安全, 硬件接口构建, 网络流量分析, 船舶网络, 运营技术安全, 逆向工具