Balraj7860/SpecialTopicInCyberSecurity_Project
GitHub: Balraj7860/SpecialTopicInCyberSecurity_Project
一个教育性质的云安全评估实验室,通过前后对比验证身份、机密和网络暴露控制对三层云应用攻击面的影响。
Stars: 0 | Forks: 0
# SecureWallet 云安全评估
对一个三层云应用进行的证据驱动的安全评估,
重点关注身份、机密和网络暴露面。
## 执行摘要
云应用的暴露往往源于配置选择,而非复杂的软件缺陷。本项目旨在调查最小权限身份、托管机密和受限网络访问是否能有效减小三层应用的攻击面。
该应用提供了一个受控的实验室环境,用于将故意设计的不安全基线与强化后的设计进行对比。每项控制措施都将通过可重现的测试和文档化的证据进行评估,而不仅仅依赖于配置截图。
## 安全问题
## 评估范围
| 包含 | 排除 |
| --- | --- |
| 前端、API 和数据库的信任边界 | 生产规模的负载测试 |
| 应用身份和权限 | 多云对比 |
| 机密存储和检索 | 高级恶意软件检测 |
| 网络入口和层间访问 | 真实的个人或财务数据 |
| 控制措施前后的验证 | 针对外部系统的攻击 |
## 架构
```
flowchart LR
User["User browser"] --> Frontend["Frontend layer"]
Frontend --> Backend["Application / API layer"]
Backend --> Database["Database layer"]
Backend --> Secrets["Managed secrets service"]
Backend --> Identity["Cloud role / managed identity"]
```
预期的信任边界:
- 前端是唯一预期的公共应用入口。
- API 仅接受来自已批准来源的流量。
- 数据库仅接受来自应用层的流量。
- 应用程序通过具有作用域的云身份检索所需的机密。
有关各层职责,请参阅[架构说明](docs/architecture.md)。
## 调查方法
对于每个控制领域,评估遵循相同的工作流程:
1. 定义预期的安全行为。
2. 重现并记录不安全的基线。
3. 解释风险和可能的影响。
4. 应用针对性的安全控制。
5. 重复原始测试。
6. 记录结果、限制和建议的后续行动。
## 控制验证计划
| 测试 | 基线风险 | 控制措施 | 预期验证证据 | 状态 |
| --- | --- | --- | --- | --- |
| 机密存储 | 凭据存储在本地配置中 | 将机密迁移到托管服务 | 配置差异以及在没有本地机密的情况下应用测试成功 | 已计划 |
| 应用权限 | 应用身份拥有广泛权限 | 应用最小权限角色 | 必要操作成功;不相关的机密访问失败 | 已计划 |
| 数据库暴露 | 数据库可从不受信任的网络访问 | 将数据库入口限制为 API 层 | 外部连接失败;API 到数据库的连接成功 | 已计划 |
| 后端暴露 | 不必要的服务可被访问 | 关闭未使用的端口并限制来源 | 暴露前后的测试对比 | 已计划 |
完整的评估计划位于 [docs/security-plan.md](docs/security-plan.md)。
证据将整理在 [`evidence/`](evidence/README.md) 下。
## 当前观察结果
当前的应用程序仅适合作为故意设计的不安全实验室基线:
- 演示凭据直接存储在应用程序代码中。
- 身份验证状态是全局的,不适合并发用户。
- 密码以明文形式进行比较。
- 演示 API 返回合成的个人和类似财务的字段。
- 持久化、云身份、托管机密和边界控制尚未实现。
这些观察结果并不作为已完成的云发现结果呈现。它们定义了评估必须解决和验证的起始条件。
## 仓库映射
| 路径 | 用途 |
| --- | --- |
| [`frontend/`](frontend/) | React 用户界面 |
| [`backend/`](backend/) | Express API 和故意设计的不安全基线 |
| [`database/`](database/) | 数据库设计说明 |
| [`infrastructure/`](infrastructure/) | 云和网络控制说明 |
| [`docs/`](docs/) | 研究问题、架构和安全计划 |
| [`evidence/`](evidence/) | 脱敏后的前后测试证据 |
## 运行本地实验室
要求:Node.js 和 npm。
```
cd backend
npm install
npm start
```
在第二个终端中:
```
cd frontend
npm install
npm start
```
默认的本地前端可在 `http://localhost:3000` 访问;API 使用端口 `5001`。
## 证据标准
- 仅使用您被授权测试的合成数据和系统。
- 遮盖账户标识符和敏感配置值。
- 切勿提交真实的凭据、token、私钥或云导出数据。
- 保留足够的上下文,以便其他分析师能够重现测试。
- 说明限制和不确定的结果,而不是夸大发现。
## 计划交付物
- 基线攻击面和信任边界评估
- 前后的 IAM 和机密管理验证
- 前后的网络暴露验证
- 包含风险、证据、补救措施和重测结果的按优先级排序的发现
- 面向技术和非技术读者的最终评估摘要
## 免责声明
本仓库是一个教育性质的网络安全实验室。它是故意不完整的,并未针对生产用途进行设计或批准。
标签:MITM代理, StruQ, 反取证, 安全评估, 暗色界面, 网络隔离, 自定义脚本, 身份与访问管理