安全需求-建模归类——By Me
漏洞与Bug并不等同,他们之间的关系基本可以描述为:大部分的Bug影响功能性,并不涉及安全性,也就不构成漏洞;大部分的漏洞来源于Bug,但并不是全部,它们之间只是有一个很大的交集。可以用如下这个图来展示它们的关系:
安全漏洞与BUG的关系说明
我们只有对安全威胁/漏洞的原理了然于心并紧扣公司的核心业务进行研究,才可能对我们的基础安全技术的安全性做出正确的评价,以及更加全面的判断和有效验证我们公司的工程实现的安全性。
安全漏洞是信息系统在生命周期的各个阶段(设计、实现、运维等过程) 中产生的某类问题,这些问题会对系统的安全(机密性、完整性、可用性)产生影响。安全漏洞会在系统生命周期内的各个阶段被引入进来,比如设计阶段引入的一个设计得非常容易被破解的加密算法,实现阶段引入的一个代码缓冲区溢出问题,运维阶段的一个错误的安全配置,这些都有可能最终成为漏洞。
和其他事物一样,安全漏洞具有多方面的属性, 也就可以从多个维度对其进行分类,下面提到的所有分类并不是在数学意义上严格的,也就是说并不保证同一抽象层次、 穷举和互斥,而是极其简化的出于实用为目的分类。基于漏洞成因技术的分类具体说明如下:
编号 |
大类 |
子类型 |
基于漏洞成因技术的描述 |
A. |
设计错误类 |
A-1.协议设计问题 |
协议设计问题是指在协议设计过程中的错误或不严谨导致的问题,从而导致泄密、崩溃、可远程控制、不可用等后果,此问题影响面非常大。实例:WEP协议的协议设计漏洞 |
A-2.算法设计问题 |
算法设计的脆弱性或者某些弱点导致攻击者得到口令HASH后可以非常容易地暴力猜测出等价的明文口令。实例:双椭圆曲线确定性随机比特生成器的问题 |
||
A-3.系统设计问题 |
系统设计上对安全机制的考虑不足导致的在设计阶段就已经引入的安全漏洞。 |
||
B. |
内存破坏类 |
此类漏洞的共同特征是由于某种形式的非预期的内存越界访问(读、写或兼而有之),可控程度较好的情况下可执行攻击者指定的任意指令,其他的大多数情况下会导致拒绝服务或信息泄露。 |
|
C. |
逻辑错误类 |
涉及安全检查的实现逻辑上存在的问题,导致设计的安全机制被绕过。 |
|
D. |
配置错误类 |
系统运维过程中默认不安全的配置状态, 大多涉及访问验证的方面。 |
|
E. |
输入验证类 |
E-1.SQL 注入 |
Web 应用对来自用户的输入数据未做充分检查过滤,就用于构造访问后台数据库的 SQL 命令,导致执行非预期的 SQL 操作,最终导致数据泄露或数据库破坏。 |
E-2.跨站脚本执行 |
Web 应用对来自用户的输入数据未做充分检查过滤,用于构造返回给用户浏览器的回应数据,导致在用户浏览器中执行任意脚本代码。 |
||
E-3.远程或本地文件包含 |
PHP 语言支持在 URL 中包含一个远程服务器上的文件执行其中的代码,这一特性在编码不安全的 Web 应用中很容易被滥用。如果程序员在使用来自客户端的 URL 参数时没有充分地检查过滤,攻击者可以让其包含一个他所控制的服务器上的文件执行其中的代码,导致远程文件包含命令执行。 |
||
E-4.命令注入 |
涉及系统命令调用和执行的函数在接收用户的参数输入时未做检查过滤, 或者攻击者可以通过编码及其他替换手段绕过安全限制注入命令串,导致执行攻击指定的命令。 |
||
E-5.目录遍历 |
涉及系统用于生成访问文件路径用户输入数据时未做检查过滤,并且对最终的文件绝对路径的合法性检查存在问题,导致访问允许位置以外的文件。多见于 CGI 类应用,其他服务类型也可能存在此类漏洞。 |
||
F. |
拒绝服务类 |
拒绝服务 (DoS) 是指攻击者通过禁用或破坏网络、系统或服务来拒绝为特定用户提供服务的一种攻击方式。DoS 攻击包括使系统崩溃或将系统性能降低至无法使用的状态。但是,DoS 也可以只是简单地删除或破坏信息。大多数情况下,执行此类攻击只需简单地运行黑客程序或脚本。 |
安全需求-建模归类——By Me的更多相关文章
- 2013(1)需求工程, 需求开发, 需求分析, 面向对象需求分析, UML,需求建模
案例一 某软件公司拟为物流企业开发一套库存管理系统,该系统的部分需求陈述如下: (1) 库存管理系统主要包括货物入库管理.货物出库管理.仓库管理.统计报表和系统管理等功能. (2) 库存管理系统的用户 ...
- 永远的ace 实验七 团队作业4—团队项目需求建模与系统设计(1)
项目 内容 课程班级博客链接 https://edu.cnblogs.com/campus/xbsf/2018CST/ 这个作业要求链接 https://www.cnblogs.com/nwnu-da ...
- Enterprise Architect 13 : 需求建模 自动命名并计数
如何给模型中的需求元素配置计数器以自动设置新创建元素的名称和别名: Configure -> Settings -> Auto Names and Counters 设置好后的效果图:
- 永远的Ace 团队作业4—团队项目需求建模与系统设计(1)
项目 内容 课程班级博客链接 https://edu.cnblogs.com/campus/xbsf/2018CST/ 这个作业要求链接 https://www.cnblogs.com/nwnu-da ...
- UML基础与Rose建模实训教程
目 录 第1章 初识UML. 1 1.1 初识UML用例图... 1 1.2 初识UML类图... 3 第2章 Rational Rose工具... 6 2.1 安装与配置Rational Ro ...
- UML建模语言入门 -- 用例视图详解 用例视图建模实战
. 作者 :万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/18964835 . 一. 用例视图概述 用例视图表述哪些 ...
- 【转】【UML】使用Visual Studio 2010 Team System中的架构师工具(设计与建模)
Lab 1: 应用程序建模 实验目标 这个实验的目的是展示如何在Visual Studio 2010旗舰版中进行应用程序建模.团队中的架构师会通过建模确定应用程序是否满足客户的需求. 你可以创建不同级 ...
- UML2和建模工具学习总结
软件发展的方向:CS–>BS–>SOA–>BIG DATA 建模的含义: 模型是对现实的简化 从特点视角对系统的一个完整性描述 建模的重要性: 为了更好的理解一个系统 管理复杂度(也 ...
- 【UML 建模】UML建模语言入门 -- 用例视图详解 用例视图建模实战
. 作者 :万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/18964835 . 一. 用例视图概述 用例视图表述哪些 ...
随机推荐
- 让ubuntu下的eclipse支持GBK编码
把Windows下工程导入Linux下Eclipse中,由于以前的工程代码,都是GBK编码,而Ubuntu默认不支持GBK编码,所以,我们要让Ubuntu支持GBK,方法如下: 1.修改/var/li ...
- Angular4学习笔记(一)-环境搭建
下载nodejs 下载地址 在命令行输入:npm -v 如果出现如下画面即安装成功 安装Angular的cli命令行工具 命令:sudo npm install -g @angular/cli 输入n ...
- excel中批量删除公式,保留数值
excel中批量删除公式,保留数值 Sub macro1() Dim sh As Worksheet For Each sh In Sheets sh.UsedRange = sh.UsedRange ...
- mysql delete两种关联删除方式
基本格式: DELETE t1 FROM t1,t2 WHERE t1.id=t2.id 或 DELETE FROM t1 USING t1,t2 WHERE t1.id=t2.id 示例应用: ...
- [UFLDL] Dimensionality Reduction
博客内容取材于:http://www.cnblogs.com/tornadomeet/archive/2012/06/24/2560261.html Deep learning:三十五(用NN实现数据 ...
- [Artoolkit] ARToolKit's SDK Structure on Android
Most applications on Android are developed in Java, and Android provides a rich framework of classes ...
- 如何用Baas快速在腾讯云上开发小程序-系列1:搭建API & WEB WebSocket 服务器
版权声明:本文由贺嘉 原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/221059001487422606 来源:腾云阁 h ...
- [破解] nasca drm file -ver1.00
在使用nasca系统中的下载相应的文件时,默认下载会被Nasca加密,可以通过下面的方式进行免除加密. 首先我们需要了解没有加密系统的默认下载过程: 当下载文件33333333333.pdf时,由于文 ...
- MacTex TexStudio Configuration 配置
在Mac上使用Latex的话主流是安装MacTex,对于IDE的选择有很多,像什么自带的TexShop,或者是TexStudio,Latexian,Texpad,Texmaker等,甚至可以直接使用一 ...
- SparkContext.union 与 RDD.union
RDD.union,和SparkContext.union都可以将多个RDD聚合成一个UnionRDD. 但不同的是,RDD.union在每次操作时,会创建一个新的数据集合,生成新的RDD,新的RDD ...