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, 中间人攻击, 入侵检测系统, 可疑登录检测, 威胁分类, 安全仪表盘, 安全插件, 安全数据湖, 实时聊天, 异常检测, 恶意软件分析, 教育演示, 文件访问监控, 模拟仿真, 毕业设计, 消息篡改, 网络安全, 网络安全审计, 网络流量分析, 自动化攻击, 莱文斯坦距离, 设备指纹, 隐私保护