pragyamishra18052005-ai/insider-threat-behavioral-intelligence-system

GitHub: pragyamishra18052005-ai/insider-threat-behavioral-intelligence-system

基于 PostgreSQL 触发器和视图的内部威胁检测系统,可实时标记非工作时间的高敏感数据访问并按风险等级分类员工。

Stars: 0 | Forks: 0

# 内部威胁行为情报系统 基于 PostgreSQL 的内部威胁检测系统,具备基于触发器的实时告警和风险看板视图 ## 快速开始 本仓库包含可用于重建数据库的纯 SQL 文件: - 使用 [schema.sql](./schema.sql) 创建所有表、自动标记触发器和风险看板视图。 - 使用 [data.sql](./data.sql) 为表填充包含 15 名员工的样本数据集。 - 查看 [queries.sql](./queries.sql) 获取分析查询、事务演示和实时触发器验证。**重要提示:此文件包含事务块(BEGIN/COMMIT/ROLLBACK)和实时 INSERT 操作。请谨慎使用。** # 📗 目录 - [📖 关于本项目](#about-project) - [🛠 构建工具](#built-with) - [技术栈](#tech-stack) - [核心功能](#key-features) - [🚀 架构图](#schema-diagram) - [💻 快速开始](#getting-started) - [配置](#setup) - [前置条件](#prerequisites) - [安装](#install) - [用法](#usage) - [🧪 检测逻辑](#detection-logic) - [👥 作者](#author) - [🔭 未来功能](#future-features) - [🤝 贡献](#contributing) - [⭐️ 显示您的支持](#support) - [❓ 常见问题](#faq) - [📝 许可证](#license) # 📖 [内部威胁行为智能系统] ## 🛠 构建工具 ### 技术栈
数据库
后端(实时连接的看板)
  • Node.js / Express
### 核心功能 - **[规范化的 4 表架构:employees、login_logs、access_logs、flagged_alerts]** - **[实时触发器自动标记非工作时间、高敏感度的下载/删除事件]** - **[employee_risk_dashboard 视图将员工分为低 / 中 / 高风险]** - **[连接、聚合和窗口函数:RANK、LAG、NTILE]** - **[CTE、链式 CTE 和事务控制:COMMIT、ROLLBACK、SAVEPOINT]** - **[通过全新的实时插入操作进行了端到端验证 — 不仅仅是原始种子数据]**

(回到顶部)

## 🚀 架构图 ![insider_threat_schema_diagram](https://raw.githubusercontent.com/pragyamishra18052005-ai/insider-threat-behavioral-intelligence-system/main/schema_diagram.svg)

(回到顶部)

## 💻 快速开始 要在本地启动并运行项目副本,请按照以下步骤操作。 ### 前置条件 要运行此项目,您需要: ``` Install PostgreSQL ``` ### 配置 将此仓库克隆到您指定的文件夹中: ``` cd my-folder git clone https://github.com//insider-threat-behavioral-intelligence-system.git ``` ### 安装 创建数据库并加载架构和样本数据: ``` createdb insider_threat_db psql -d insider_threat_db -f schema.sql psql -d insider_threat_db -f data.sql ``` ### 用法 运行分析查询: ``` psql -d insider_threat_db -f queries.sql ```

(回到顶部)

## 🧪 检测逻辑 `trg_flag_suspicious_access` 触发器会在每次向 `access_logs` 插入数据后触发。只要满足以下条件,它就会在 `flagged_alerts` 中生成一条高严重性告警: - 资源的 `sensitivity_level` 为 `High`,**并且** - `action` 是 `download` 或 `delete`,**并且** - 访问发生在上午 8 点之前或晚上 8 点之后。 无需任何手动审查步骤 — 只要记录了高风险访问,就会自动生成告警。

(回到顶部)

## 👥 作者 👤 **Pragya Mishra Prashasti (Maggie)** - B.Tech CSE(数据分析与商业智能),Dronacharya College of Engineering - 作为 Infosys Springboard Virtual Internship 7.0 的一部分开发

(回到顶部)

## 🔭 未来功能 - [ ] **[直接从 employee_risk_dashboard 读取数据的实时 HTML 风险看板]** - [ ] **[可配置的工作时间窗口和敏感度阈值]** - [ ] **[针对新增高严重性 flagged_alerts 行的电子邮件/Slack 告警]**

(回到顶部)

## ❓ 常见问题 - **为什么使用触发器而不是定时的批处理任务?** - 触发器在插入时立即触发,因此可疑访问会被实时标记,而不是等到下一次定时扫描。 - **为什么使用视图而不是物化表来划分风险等级?** - `employee_risk_dashboard` 是一个普通视图,因此它始终反映 `access_logs` 和 `flagged_alerts` 的当前状态,无需刷新任务。

(回到顶部)

## 📝 许可证 本项目采用 [MIT](./LICENSE) 许可。

(回到顶部)

标签:MITM代理, PostgreSQL, SQL触发器, 内部威胁检测, 多线程, 数据库, 测试用例, 风险监控