ddsec00/Network-Threat-Intelligence-Center-NTIC-

GitHub: ddsec00/Network-Threat-Intelligence-Center-NTIC-

NTIC 是一款基于原始套接字的企业级网络入侵检测系统,搭配实时 SOC 仪表板,为安全分析师提供网络流量监控与威胁识别能力。

Stars: 0 | Forks: 0

# 🛡️ 网络威胁情报中心 (NTIC):高级 NIDS 与威胁运营中心 ![Python](https://img.shields.io/badge/python-3.8%2B-blue?style=for-the-badge) ![Flask](https://img.shields.io/badge/flask-RESTful-green?style=for-the-badge) ![Chart.js](https://img.shields.io/badge/Chart.js-Data_Viz-FF6384?style=for-the-badge) ![Status](https://img.shields.io/badge/status-Active_Development-success?style=for-the-badge) **网络威胁情报中心 (NTIC)** 是一个先进且定制的网络入侵检测系统 (NIDS),旨在为企业提供针对本地网络流量的企业级可见性。搭配最先进的安全运营中心 (SOC) 仪表板,该工具赋能安全分析师实时监控遥测数据、截获原始网络数据包,并识别恶意的侦察和入侵尝试。 ## 📖 详细目录 1. [执行摘要](#-executive-summary) 2. [威胁检测能力 (IDS 引擎)](#-threat-detection-capabilities-ids-engine) - [SYN Flood 攻击检测](#syn-flood-attack-detection) - [端口扫描侦察追踪](#port-scan-reconnaissance-tracking) - [有状态 TCP 追踪](#stateful-tcp-tracking) 3. [安全运营中心 (SOC) UI](#-security-operations-center-soc-ui) 4. [平台架构](#-platform-architecture) 5. [前置条件与环境](#-prerequisites--environment) 6. [部署与安装](#-deployment--installation) 7. [高级使用指南](#-advanced-usage-guide) 8. [代码库结构](#-codebase-structure) 9. [法律与道德免责声明](#-legal--ethical-disclaimer) ## 🔭 执行摘要 在威胁潜伏于网络基础设施最低层的当今环境中,标准的端点保护已不再足够。**网络威胁情报中心 (NTIC)** 通过直接驻留在网络接口卡 (NIC) 上弥补了这一差距,它绕过高级操作系统抽象层,直接分析原始的以太网帧和 IP 数据包。 通过利用原始套接字,后端嗅探器解析数据包头(IPv4、TCP、UDP、ICMP),追踪连接状态,并应用基于启发式的威胁特征来揭露隐蔽的攻击,例如激进的端口扫描或拒绝服务 (DoS) 尝试。这些洞察结果会即时传输至一个采用毛玻璃效果且高度响应的 Web 仪表板,以供取证分析。 ## ⚡ 威胁检测能力 (IDS 引擎) 该工具的核心是一个强大且量身定制的启发式引擎。与仅依赖静态特征的传统工具不同,该系统会在滑动时间窗口内分析行为模式。 ### SYN Flood 攻击检测 SYN Flood 是一种拒绝服务 (DoS) 攻击,攻击者向目标系统连续发送大量 SYN 请求,试图消耗足够的服务器资源,使系统无法对合法流量做出响应。 - **工作原理:** 引擎会追踪没有相应 ACK 标志的入站 TCP SYN 数据包。 - **阈值:** 如果单个源 IP 在 5 秒的滑动窗口内发起了超过 20 个独特的半开握手,引擎将触发 `SYN_FLOOD` 严重警报。 - **缓解上下文:** 安全团队可以立即隔离 SOC 仪表板中高亮的作恶源 IP。 ### 端口扫描侦察追踪 在攻击者尝试突破系统之前,他们会系统地扫描网络以识别开放的门(端口)。 - **工作原理:** 该工具监控来自外部源 IP 的入站流量,追踪被作为目标的端口。 - **阈值:** 如果源 IP 在 30 秒窗口内尝试连接 10 个或更多独特的端口,并且独特端口与总尝试次数的比率超过 80%,系统将生成 `PORT_SCAN` 警报。 - **精确度:** 此逻辑会积极过滤掉“嘈杂”但合法的应用程序,仅关注异常的顺序或随机端口扫描技术。 ### 有状态 TCP 追踪 除了识别威胁之外,该工具还能映射活动网络连接的状态: - 识别并追踪标准握手进程(`SYN_SENT` → `SYN_ACK_RECEIVED` → `ESTABLISHED`)。 - 使分析师能够区分已完成、合法的数据传输与在欺骗攻击中常见的伪造/被遗弃的握手。 ### 额外的协议遥测 - **DNS 渗透 / 拦截:** 解析 UDP 端口 53 流量以提取明文 DNS 查询,赋能分析师发现连接到未知或恶意域名的行为。 - **ICMP 监控:** 追踪 ping 扫描和网络发现模式。 ## 🖥️ 安全运营中心 (SOC) UI 基于 Web 的仪表板将原始的控制台日志转化为可操作的企业级威胁情报平台。 - **实时 KPI 遥测:** 动画计数器会立即统计总警报数、严重威胁数、可疑警告数和已处理的数据包数。 - **实时流量可视化:** 集成 `Chart.js` 渲染每秒数据包数 (PPS) 的滑动时间序列图,将流量动态拆分为 TCP 和 UDP 趋势线。 - **威胁事件圆环图:** 提供正常流量与已识别异常情况的快速视觉细分。 - **最活跃主机矩阵:** 动态对网络上最活跃的 IP 地址进行排名,并根据流量体积分配视觉严重性条。 - **深度取证过滤:** 详情选项卡提供完整的、可搜索的已解析事件登记表。分析师可以按严重性(高/中/低)、协议(TCP/UDP/ICMP)过滤威胁,或对特定可疑 IP 进行字符串匹配。 ## 🏗️ 平台架构 该平台采用生产者-消费者模型运行,以实现最佳性能: 1. **核心嗅探器 (`main.py`):** 在 root/管理员权限下运行,直接绑定到活动网络接口。它将原始的十六进制字节解析为人类可读的数据结构,根据启发式引擎对其进行验证,并通过 HTTP POST 请求将 JSON payload 分发给前端。 2. **遥测 API (`dashboard.py`):** 一个轻量级的 Flask 框架,充当中间数据代理。它将网络的实时状态存储在内存中。 3. **Web 应用程序 (`index.html` & `dashboard.js`):** 一个异步 JavaScript 应用程序,以 1 秒为间隔轮询 Flask API,确保浏览器 UI 原生地反映网络状态变化,而无需重新加载页面。 ## ⚙️ 前置条件与环境 **系统要求:** - **支持的操作系统:** 需要 Linux / Unix 系统才能进行混杂模式的原始套接字绑定。 - **Python 版本:** 3.8 或更高版本。 - **权限:** 必须具有 `sudo` (root) 访问权限才能成功执行嗅探器。 **必需的 Python 包:** - `Flask`:用于 API 和 Dashboard 路由。 - `requests`:用于处理来自嗅探器的内部 HTTP POST 操作。 - `netifaces`:用于动态检测主机的本地 IP 地址和子网。 ## 🚀 部署与安装 ### 步骤 1:克隆代码库 从 GitHub 拉取该情报工具的最新版本: ``` git clone https://github.com/ddsec00/Network-Threat-Intelligence-Center-NTIC-.git cd Local-Network-Intelligence-Tool ``` ### 步骤 2:安装依赖项 确保你拥有所需的 Python 模块: ``` pip install -r requirements.txt # 或者:pip install flask requests netifaces ``` ## 🛠️ 高级使用指南 要运行该情报平台,必须同时初始化两个独立的终端会话。 ### 1. 初始化接口与 API 服务器 在你的第一个终端窗口中,启动 Flask Web 服务器: ``` cd src python3 dashboard.py ``` *SOC 仪表板现已上线,可通过以下地址访问:[http://127.0.0.1:5000](http://127.0.0.1:5000)* ### 2. 启动数据包捕获引擎 在你的第二个终端窗口中,启动嗅探器组件。**需要 Root 权限:** ``` cd src sudo python3 main.py ``` ### 协议隔离标志 如果你希望通过针对特定的传输层协议来优化性能并减少噪音,你可以使用内置的终端参数: - **仅**监控 TCP 数据包: sudo python3 main.py --tcp - **仅**监控 UDP 数据包: sudo python3 main.py --udp ## 📁 代码库结构 ``` Local-Network-Intelligence-Tool/ ├── README.md # Extensive project documentation ├── requirements.txt # Python dependency list └── src/ # Source code directory ├── main.py # Core NIDS, raw sockets, heuristic threat engine ├── parser.py # Byte-level dissection for Eth/IP/TCP/UDP/ICMP ├── sniffer.py # Raw socket initialization logic ├── dashboard.py # Flask REST API and web routing ├── traffic.log # Persistent storage for raw text-based logs ├── templates/ │ └── index.html # HTML5 SOC Interface scaffold └── static/ ├── style.css # Glassmorphism, animations, dark-theme styling └── dashboard.js # Asynchronous DOM rendering and Chart.js integrations ``` ## ⚠️ 法律与道德免责声明 本**网络威胁情报中心 (NTIC)** 的开发严格用于学术、管理和防御性安全分析目的。 数据包嗅探涉及拦截通过网络接口的原始网络流量。这些流量可能包含未加密的高度敏感数据,包括身份验证凭据或个人信息。 - **明确授权:** 你必须拥有明确的、书面的授权,才能监控部署此工具的网络段。 - **责任:** 在未经授权的网络上拦截流量可能违反州和联邦的隐私及通信法律(例如《窃听法》)。作者对此不承担任何责任,并且不对因使用本软件而引起的任何滥用、损害或法律后果负责。运行此应用程序即表示你同意这些条款。
标签:Flask, 入侵检测系统, 威胁情报, 安全数据湖, 安全运营中心, 开发者工具, 插件系统, 数据可视化, 网络安全, 网络映射, 网络流量分析, 自定义脚本, 逆向工具, 隐私保护