isecwire/iec62443-audit

GitHub: isecwire/iec62443-audit

面向工业控制系统的 IEC 62443 安全等级评估与合规性检查工具,支持系统及组件标准的差距分析与跨标准映射。

Stars: 0 | Forks: 0

# iec62443-audit v1.0.0 [![CI](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/ae4148e218095137.svg)](https://github.com/isecwire/iec62443-audit/actions/workflows/ci.yml) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE) [![Python](https://img.shields.io/badge/python-3.9%2B-blue.svg)](https://www.python.org/) 面向工业控制系统的专业 IEC 62443 安全等级评估工具。 稳定的生产环境版本。 针对 IEC 62443-3-3(系统)和 IEC 62443-4-2(组件)标准的 ICS/SCADA 系统全面评估,包含跨标准合规性映射、差距分析、行动计划生成、多区域支持以及可选的交互式 TUI。 ## 什么是 IEC 62443? IEC 62443 是工业自动化和控制系统(IACS)安全的国际标准系列。本工具涵盖: - **IEC 62443-3-3**:系统安全要求和安全等级(51 个 SR) - **IEC 62443-4-2**:组件级安全要求(60+ 个 CR) 两者均围绕七个基本要求(FR)进行组织: | FR | 名称 | 缩写 | |----|------|--------------| | FR1 | Identification and Authentication Control | IAC | | FR2 | Use Control | UC | | FR3 | System Integrity | SI | | FR4 | Data Confidentiality | DC | | FR5 | Restricted Data Flow | RDF | | FR6 | Timely Response to Events | TRE | | FR7 | Resource Availability | RA | ### 安全等级(SL) - **SL 1** -- 防护无意或偶然的违规 - **SL 2** -- 防护利用简单手段进行的故意违规 - **SL 3** -- 防护利用复杂手段进行的故意违规 - **SL 4** -- 防护利用复杂手段及扩展资源进行的故意违规 ## 功能特性 - 带有 Rich 格式化输出的交互式 CLI 评估 - IEC 62443-3-3(系统)和 IEC 62443-4-2(组件)标准 - 跨标准映射:NIST CSF, ISO 27001, CIS Controls v8 - 法规映射:EU CRA, NIS2 指令, GDPR - 蜘蛛图/雷达图和差距热力图(ASCII) - 包含工作量估算和时间表的补救行动计划 - 支持站点级聚合的多区域/管道评估 - 证据收集和成熟度跟踪 - 基于风险的加权合规性评分 - 导出:JSON, HTML, CSV, Markdown - 从 CSV 导入以进行批量评估 - 可选的 Textual TUI,提供完整的交互体验 ## 截图 ### CLI 模式 ![CLI assessment results](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/727fee8e40095143.svg) ### 交互式 TUI ![TUI assessment screen](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/30ca48a74a095150.svg) ## 安装 ``` pip install -e . ``` 包含可选的 TUI 支持: ``` pip install -e ".[tui]" ``` ## 使用方法 ### 运行交互式评估 ``` # IEC 62443-3-3 系统评估(默认) iec62443-audit assess --target 2 --output my-plant # IEC 62443-4-2 组件评估 iec62443-audit assess --standard iec62443-4-2 --target 3 --output plc-assessment # 生成行动计划 iec62443-audit assess --target 2 --output my-plant --action-plan # 导出为 CSV iec62443-audit assess --target 2 --output my-plant --format csv ``` ### 启动 TUI(交互式终端界面) ``` # 全交互式 TUI iec62443-audit --tui # 在 TUI 中加载现有评估 iec62443-audit --tui assess --load assessment.json ``` TUI 提供: - 带有项目设置的欢迎界面 - 带有颜色编码完成状态的 FR 侧边栏 - SR 评估,包含描述、SL 等级、证据输入 - 仪表盘,包含蜘蛛图、合规性条形图、差距摘要 - 可按优先级排序的行动计划视图 - 键盘导航:Tab、Enter、n/p、Ctrl+S、Ctrl+E、q ### 生成报告 ``` # 包含所有可视化的控制台摘要 iec62443-audit report assessment.json --gaps --spider --heatmap # 跨标准合规性映射 iec62443-audit report assessment.json --mapping # 生成行动计划 iec62443-audit report assessment.json --action-plan # 导出为不同格式 iec62443-audit report assessment.json --format csv iec62443-audit report assessment.json --format markdown iec62443-audit report assessment.json --html report.html ``` ### 比较评估 ``` iec62443-audit compare baseline.json current.json ``` ### 导出合规性矩阵 ``` # 完整的 IEC 62443 -> NIST/ISO/CIS/CRA/NIS2 映射 iec62443-audit matrix # 从特定评估进行映射 iec62443-audit matrix --input assessment.json ``` ### 从 CSV 导入 ``` # 批量导入(CSV 必须包含 SR_ID、SL_Achieved 列) iec62443-audit import ratings.csv --target 2 --name "Plant Alpha" ``` ## 示例输出 ``` Foundational Requirements -- Water Treatment Plant Zone A FR Name Status SL-T Compliance Gaps FR1 Identification and Authentication (IAC) SL-1 [XX] 2 =========........... 69% 4 FR2 Use Control (UC) SL-1 [XX] 2 ========............ 58% 5 FR3 System Integrity (SI) SL-1 [XX] 2 =========........... 67% 3 FR4 Data Confidentiality (DC) SL-0 [XX] 2 =====............... 33% 2 FR5 Restricted Data Flow (RDF) SL-1 [XX] 2 =======............. 50% 2 FR6 Timely Response to Events (TRE) SL-1 [!!] 2 =======............. 50% 1 FR7 Resource Availability (RA) SL-1 [XX] 2 ===========......... 75% 2 Gap Analysis Heatmap Each cell = one SR. Color intensity = gap severity. IAC ???????????? ? 69% (4 gaps) UC ???????? ???? ? 58% (5 gaps) SI ????????? ?? 67% (3 gaps) DC ??? 33% (2 gaps) RDF ???? ? 50% (2 gaps) TRE ?? ? 50% (1 gaps) RA ?????????????? ?? 75% (2 gaps) ``` ## 跨标准映射 该工具将每个 IEC 62443 SR 映射到: | 标准 | 示例映射 | |----------|-----------------| | NIST CSF | PR.AC-1, DE.CM-4, RC.RP-1, 等等 | | ISO 27001:2022 | A.9.2.1, A.12.4.1, A.14.1.2, 等等 | | CIS Controls v8 | CIS 5.1, CIS 8.2, CIS 12.2, 等等 | | EU CRA | Annex I Part I requirements | | NIS2 | Art. 21(2) measures | | GDPR | Art. 32 security, Art. 5 accountability | ## 项目结构 ``` iec62443_audit/ __init__.py Version metadata __main__.py Entry point for python -m cli.py Argparse CLI with full subcommand suite requirements.py IEC 62443-3-3 FR and SR data definitions assessor.py Interactive assessment engine (Rich) scoring.py SL calculation, gap analysis, weighted scoring report.py Console, JSON, and HTML report generation display.py Rich CLI output: tables, charts, heatmaps action_plan.py Remediation action plan generator zones.py Multi-zone/conduit assessment evidence.py Evidence collection and tracking maturity.py Implementation maturity model standards/ __init__.py iec62443_4_2.py IEC 62443-4-2 component requirements mapping.py Cross-standard mapping (NIST, ISO, CIS, CRA, NIS2) tui/ __init__.py TUI launcher and dependency check app.py Main Textual App class screens.py Assessment, dashboard, action plan screens widgets.py Custom widgets (spider chart, progress bars, etc.) templates/ report.html Jinja2 HTML report template tests/ test_requirements.py FR/SR data validation tests test_scoring.py Scoring, gap analysis, comparison tests test_report.py JSON/HTML export tests ``` ## FAQ ### 什么是 IEC 62443? **IEC 62443** 是工业自动化和控制系统的国际网络安全标准。它定义了**如何保护**工厂、发电厂、水处理设施或任何工业运营的安全。 ### 谁需要它以及为什么? - **发电厂运营商、水务公司、工厂** —— 他们不会购买没有 IEC 62443 认证的设备 - **保险公司** —— 对符合 IEC 62443 的运营提供较低的保费 - **欧盟监管机构** —— 根据 NIS2 指令,越来越多的法律要求 - **企业采购** —— 大公司在 RFP(建议书请求)中要求它 ### 什么是 NIST CSF 和 ISO 27001? **NIST CSF**(网络安全框架)= 美国政府的网络安全指南。**ISO 27001** = 信息安全管理的国际标准。它们与 IEC 62443 有重叠 —— 不同的客户要求不同的标准,但要求是相似的。我们的工具将 IEC 62443 要求映射到 NIST 和 ISO 27001,因此一次评估即可覆盖多种合规需求。 ### 如何使用? ``` iec62443-audit assess --standard iec62443-3-3 --target-sl 3 # interactive assessment iec62443-audit report --input assessment.json --format html # generate PDF-ready report iec62443-audit compare old.json new.json # track progress over time ``` ## 许可证 MIT -- Copyright (c) 2026 isecwire GmbH
标签:CIS Controls, EU CRA, Homebrew安装, ICS, IEC 62443, ISO 27001, NIST CSF, NTLM Relay, PKINIT, Python, SCADA, Streamlit, TUI, 反取证, 哈希传递, 多区域安全, 子域名枚举, 安全等级, 安全评估, 工业控制系统, 工控安全, 差距分析, 数据保密性, 无后门, 系统安全, 组件安全, 网络安全, 访问控制, 逆向工具, 隐私保护