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, 反取证, 安全评估, 暗色界面, 网络隔离, 自定义脚本, 身份与访问管理