软件安全设计(威胁建模实现)

目录

一、实验目的

二、实验软硬件要求

三、实验预习

四、实验内容(实验步骤、测试数据等)

实验步骤

确定安全目标

创建在线学习系统概况图

分解在线学习系统

确定威胁

威胁评估

确定威胁缓解计划或策略

验证和记录威胁


一、实验目的

熟悉软件安全需求分析方法,掌握软件安全分析技术。

二、实验软硬件要求

1、操作系统:windows 7/8/10等

2、安装Threat Modeling Tool 2016

三、实验预习

《软件安全技术》教材第7章

四、实验内容(实验步骤、测试数据等)

1. 目标:完成基于Threat Modeling Tool 2016的在线学习系统威胁建模过程。

2. 步骤:

(1) 安装Threat Modeling Tool 2016;

(2) 打开软件,根据前期的在线学习系统安全需求分析结果,构建软件流程图以及软件安全边界。

(3) 根据软件流程以及安全边界,生成威胁建模报告

3、实验报告。

实验步骤

  1. 确定安全目标

对于基于web的在线学习系统,其中需要保护的对象主要包括:

用户信息(学习者信息、教师信息、管理员信息)、资源信息(在线课程)、用户和管理密码、业务逻辑等。

图 1 在线学习系统业务流程图

  1. 创建在线学习系统概况图

在业务流程图的基础上,根据web服务的数据处理过程,构建的数据流图

图 2 在线学习系统数据流图

  1. 分解在线学习系统

图中用方框圈出了边界,虚线表示程序的出入点。

图 3 在线学习系统分解

  1. 确定威胁

有了在线学习系统的图形化表示,包括安全边界和信任边界,就可以开始确定在线学习系统的所有威胁了。这里采用工具threating modeling tool生成分析安全威胁报告来创建威胁列表,展示部分内容。

威胁类型

安全威胁

资料披露

SQL 数据库的数据保护不当可能使攻击者读取非公开的信息

欺骗

SQL 数据库可能被攻击者欺骗,这可能导致错误的数据传递到登录进程

人类用户可能被攻击者欺骗,这可能导致未经授权访问请求进程

特权提升

请求过程可以模拟人类用户的上下文,以获得额外的特权

请求过程可以模拟 Web 服务的上下文,以获得额外的特权

篡改

如果允许登录进程访问内存,比如共享内存或指针,或者允许登录进程控制 Web 服务的执行(例如,传回一个函数指针)然后登录进程可以篡改 Web 服务

经过验证/未验证的数据流可能被攻击者篡改。这可能导致针对请求进程的分布式拒绝服务攻击攻击,或针对请求进程的特权攻击升级,或由请求进程披露信息。未能验证输入是否符合预期是大量可利用问题的根本原因。

抵赖

声称它没有从信任边界另一边的进程接收数据

分布式拒绝服务攻击

数据流登录请求可能中断

表 1威胁列表

  1. 威胁评估

可以采用概率x影响因子排序法对上一步中确定的威胁进行排序,本文中的学习系统规模较小,进行省略操作。

  1. 确定威胁缓解计划或策略

1)Spoofing(欺骗)——做好鉴权,考虑使用标准身份验证机制来标识源数据存储区,考虑使用标准身份验证机制来标识外部实体;
2)Tampering(篡改)——保证完整性,考虑所有路径及其处理数据的方式,使用经批准的列表输入验证方法验证所有输入的正确性,考虑一下登入进程函数是否可以使用较少的内存访问,比如传递数据而不是指针。复制所提供的数据,然后验证它;
3)Repudiation(抵赖)——加强可追溯,设置使用日志记录或审计来记录接收数据的源、时间和摘要;
4)Information Disclosure(信息泄露)——加密,检查授权设置,对数据库存储用户密码进行散列计算存储;
5)Denial of Service(拒绝服务)——保证可用性,外部代理中断在信任边界上以任一方向流动的数据,升级服务器容量;
6)Elevation of Privileges(特权提升)——加强权限控制,多重认证;

  1. 验证和记录威胁

最终完成对本次威胁建模的验证,以及文档的记录和保存。

  • 8
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Java安全威胁建模文档是一种用于描述和分析Java应用程序的安全威胁的文档。它的目的是找出可能存在的安全风险和漏洞,以便在开发过程中进行修复和防范。 Java安全威胁建模文档通常包含以下几个部分: 1. 应用程序概述:包括应用程序的功能、架构和使用的技术等基本信息。 2. 威胁分析:通过分析应用程序的各个组件、功能和交互过程,识别可能存在的安全威胁。常见的安全威胁包括身份验证和访问控制问题、数据泄露、跨站脚本攻击(XSS)、跨站请求伪造(CSRF)等。 3. 风险评估:对每个识别出的安全威胁进行评估,确定其潜在风险程度。评估可以考虑威胁发生的可能性、对系统的影响程度以及防范措施的成本等因素。 4. 安全建议:根据风险评估的结果,提出相应的安全建议和措施,以减少或消除威胁。这些建议可以包括改进身份验证机制、修复漏洞、加强访问控制或加密等。 5. 安全措施实施:根据建议,对安全措施进行具体的实施,并记录相关的配置和设置。 通过Java安全威胁建模文档,开发团队可以全面了解应用程序的安全状况,并制定相应的安全策略和计划。这有助于提高应用程序的安全性,减少潜在的安全风险和漏洞。同时,该文档也可以作为应用程序安全审计和漏洞扫描的参考依据,帮助进行安全性评估和测试。 总体而言,Java安全威胁建模文档是一项十分重要和有效的安全性管理工具,可帮助开发人员在设计和开发过程中更好地识别和解决安全威胁。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王陈锋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值