sinchana864/AI-Based-Cyber-Security-Intrusion-Detection-System
GitHub: sinchana864/AI-Based-Cyber-Security-Intrusion-Detection-System
基于实时聊天应用的入侵检测演示系统,用于教学展示中间人攻击原理及多种安全威胁的模拟检测。
Stars: 0 | Forks: 0
# SecureChat IDS - 入侵检测系统
一个用于 CSE 毕业设计项目的综合实时聊天应用程序,演示中间人 (Man-in-the-Middle) 攻击和入侵检测。
## 功能
### 认证与注册
- **Clerk 认证**:支持邮箱/密码和 Google OAuth
- **完整用户资料**:姓名、出生日期、性别、电话、位置、照片上传
- **安全注册流程**:用户必须在访问仪表板前完成个人资料填写
### 实时聊天
- **实时消息**:基于 Socket.io 的实时通信
- **多活跃用户**:可与多达 5 位活跃用户聊天
- **媒体支持**:摄像头访问、视频通话、语音笔记
- **消息篡改检测**:针对被修改消息的视觉警报
### 安全仪表板
四个综合模拟模块:
1. **未授权文件访问**
- 模拟检测未授权的设备访问
- 针对图库、文档、视频和文件文件夹的警报
- 电话号码掩码以保护隐私
2. **可疑登录**
- 跨多个位置的登录活动监控
- IP 地址追踪
- 设备指纹识别
- 标记可疑尝试
3. **恶意软件行为分析**
- 实时系统扫描模拟
- 终端风格的活动日志
- 威胁检测与分类
- 严重警报系统
4. **网络异常**
- 中间人 (Man-in-the-Middle) 攻击检测
- 网络路径可视化
- 源到目的路由分析
- 识别受损节点
### MITM 攻击模拟
- **消息拦截**:后端实时拦截消息
- **智能修改**:多种攻击模式(数字更改、词语替换等)
- **Levenshtein Distance 算法**:计算消息相似度百分比
- **视觉警报**:显示原始消息与修改后消息的红色警报
- **攻击路径可视化**:展示受损的通信路径
- **切换控制**:可启用/禁用黑客模式
## 技术栈
### 前端
- **React 18** 与 TypeScript
- **Vite** 用于极速开发
- **Tailwind CSS** 用于现代样式设计
- **Clerk** 用于认证
- **Socket.io Client** 用于实时通信
- **Lucide React** 用于图标
- **React Router** 用于导航
### 后端
- **Node.js** 与 Express
- **Socket.io** 用于 WebSocket 通信
- **MongoDB Atlas** 用于数据存储
### 数据库 Schema
- `user_profiles`:完整用户信息
- `chat_messages`:带有篡改检测的消息
- `security_logs`:安全事件追踪
## 设置说明
### 前置条件
- 已安装 Node.js 18+
- MongoDB Atlas 账户(或 MongoDB 连接 URI)
- Clerk 账户
### 环境变量
在项目根目录创建 `.env`:
```
VITE_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key
VITE_API_URL=http://localhost:3001/api
VITE_SOCKET_SERVER_URL=http://localhost:3001
```
在 server 目录创建 `.env`:
```
PORT=3001
FRONTEND_URL=http://localhost:5173
MONGODB_URI=your_mongodb_atlas_connection_string
```
### 安装
1. 安装前端依赖:
```
npm install
```
2. 安装服务器依赖:
```
cd server
npm install
2. Install server dependencies:
```powershell
cd server; npm install
cd ..
```
```
cd server
npm start
```
2. 在新终端中,启动前端:
3. 启动后端服务器:
```
cd server; npm start
```
npm run dev
```
3. Open http://localhost:5173 in your browser
### 测试 MITM Attack
1. Sign up and complete registration
2. Open two browser windows/tabs
3. Sign in with different accounts in each
4. In one window, enable "HACKER MODE" from the sidebar
5. Send a message from the other window
6. Watch the message get intercepted and modified
7. Observe the security alert with similarity analysis
## 部署
### Backend (Render)
1. Create a new Web Service on Render
2. Connect your GitHub repository
3. Set build command: `cd server && npm install`
4. Set start command: `cd server && npm start`
5. Add environment variables
### Frontend (Vercel/Netlify)
1. Connect your repository
2. Set build command: `npm run build`
3. Set output directory: `dist`
4. Add environment variables
## 安全特性
- **Database security**: Use MongoDB access controls and network rules in Atlas
- **Authentication**: Clerk handles secure auth tokens
- **XSS Protection**: React's built-in escaping
- **CORS Configuration**: Restricted origins
- **Input Validation**: All user inputs sanitized
## Project Structure
```
securechat-ids/
├── src/
│ ├── components/
│ │ ├── auth/ # 认证页面
│ │ └── dashboard/ # 主应用和安全模块
│ ├── context/ # React context providers
│ ├── lib/
│ ├── types/ # TypeScript 定义
│ ├── utils/ # 辅助函数
│ └── main.tsx # 应用入口
├── server/
│ ├── index.js # Socket.io 服务器
│ └── package.json # 服务器依赖
└── README.md
│ ├── lib/ # API & Socket.io 客户端
## 许可证
仅用于教育目的的学术项目。
```
```
标签:Clerk, CSE, DAST, IP追踪, MITM, MITM代理, OAuth, React, Socket.io, Syscalls, TypeScript, 中间人攻击, 入侵检测系统, 可疑登录检测, 威胁分类, 安全仪表盘, 安全插件, 安全数据湖, 实时聊天, 异常检测, 恶意软件分析, 教育演示, 文件访问监控, 模拟仿真, 毕业设计, 消息篡改, 网络安全, 网络安全审计, 网络流量分析, 自动化攻击, 莱文斯坦距离, 设备指纹, 隐私保护