概述
01_《计算机安全原理与实践》概述部分随笔
前言
本章讨论的是一些通识性的知识,主要围绕的是贯穿信息安全行业的三个基本问题,这里引用原文:
”Q1.我们需要保护什么样的资产?
Q2.这些资产是如何受到威胁的?
Q3.我们应当做些什么来应对这些威胁?“
举个例子来理解这三个问题:假定我们的目标是个网站,那么网页中的数据、服务器资源、后台用户数据等等一系列资源都是我们想要保护的资产(Q1)。那么从web安全的角度上,敌手(adversary)会从中间件到搭建平台,从CMS到操作系统详尽的对站点进行信息收集寻找漏洞加以利用进行入侵,敌手的攻击以及潜在的漏洞都是站点中资产所受的威胁(Q2)。从管理人员角度,他们则会思考如何预防入侵,如何在入侵发生后使得资源损失最小化(Q3)。
1.计算机安全的概念
1.1 定义&CIA三元组
原著选段:
The NIST Internal/Interagency Report NISTIR 7298 defines the term computer security as follows:
“ Measures and controls that ensure confidentiality, integrity, and availability of information system assets including hardware, software, firmware, and information being processed, stored, and communicated.”
计算机安全定义如下:保障信息系统资产的机密性confidentiality,、完整性 integrity、可用性availability的方法和一些控制方式;这些信息系统资产包括软件、硬件 以及 要进行处理、储存和交换的信息。
计算机安全定义中的机密性confidentiality,、完整性 integrity、可用性availability构成了CIA三元组,这三个指标体现的是保障计算机数据安全和服务安全的基本目标。
1.1.1 机密性
原文:Preserving authorized restrictions on information access and disclosure, including means for protecting personal privacy and proprietary information. 保留对信息获取和披露的授权限制,包括保护个人隐私和专有信息的手段。 抛去书面化表达,其想表达的就是“非授权者不得访问”,对于信息的访问建立在授权之上,只有当实体取得一定权限后才能访问数据资产。
**机密性={ 数据机密性, 隐私性}**这个定义又将机密性拆分成了两个角度:
1.数据机密性从数据出发,其表达的是确保机密数据不被非授权个人获取。
2.隐私性从个人出发,其表达的是只有数据所有者本人才能决定自己的数据能被谁获取。
机密性缺失的一个例子:某司宣传部由于工作疏忽,将有全部同事个人隐私信息的文档公布在公司网站首页导致信息泄露。
1.1.2 完整性
原文:Guarding against improper information modification or destruction, including ensuring information nonrepudiation and authenticity。防止对信息的不正当修改获破坏,其中包括保证信息的抗抵赖性和真实性
(注:抗抵赖性:通俗的说,就是A给B发送了数据且B收到了数据的情况下,A不能否认自己发送数据这一事实,B也不能否认自己收到数据这一事实。真实性:一种能够被信任的表示真实情况的属性,最简单的例子:QQ登录时不仅仅采用账号密码验证真实性,也可以采用短信验证码的形式验证真实信)
完整性={数据完整性,系统完整性}
**数据完整性:**通俗而言,保证数据不被非法篡改
系统完整性:通俗而言,保证程序能够执行预期功能
完整性缺失的一个例子:中间人修改汇款信息将“转账给A”修改成“转账给B”
1.1.3 可用性
原文:Ensuring timely and reliable access to and use of information.保证及时可靠的访问和使用信息
顾名思义,保证系统资源能够被用户可靠且及时的使用。
针对可用性最常见的攻击例子时拒绝服务攻击(DoS),以SYN FLOOD为例,其原理是发送大量的SYN数据报而不回应ACK数据报从而使得服务器处于TCP半开状态,从而耗尽其资源最终使得服务器瘫痪。
【说明:除了以上提到的常见指标外还有一个常见指标:可说明性:要求实体动作能够被唯一的追踪,其作用可简述为当安全事件发生,相关责任人的行为能够被记录方便取证追责】
1.2 影响级别
(管理相关,简要介绍)
FIPS 199将安全性缺失的影响级别分成三级:低,中,高。
原文:
Low: The loss could be expected to have a limited adverse effect on organizational operations, organizational assets, or individuals.
Moderate: The loss could be expected to have a serious adverse effect on organizational operations, organizational assets, or individuals.
High: The loss could be expected to have a severe or catastrophic adverse effect on organizational operations, organizational assets, or individuals
译读原文,总结以下三条:
低级别影响:对公司运作、资产以及个人影响有限;
中等级别影响:对公司运作、资产以及个人影响严重;
高级别影响:对公司运作、资产以及个人产生灾难性影响;
1.3 资产&脆弱性&计算机安全术语
1.3.1 资产(asset)
资产是用户或者管理员希望保护的对象,其大致可分为硬件、软件、数据、通信设施及网络四类
1.硬件:计算机系统以及其他用于数据存储、处理和通信的设备;
2.软件:操作系统、系统实用程序、应用程序;
3.数据:文件、数据库以及口令等;
4.通信设施和网络:网络中的通信设备,如链路交换机,集线器,路由器等
1.3.2脆弱性(vulnerability)
1.系统资源可能被恶意损坏,以至于做出不当操作或运行结果不符合预期;(针对完整性)
2.系统资源可能被泄露;(针对机密性)
3.系统资源可能不可用;(针对可用性)
1.3.2计算机安全术语
RFC 2828 给出了一系列的计算机安全术语,下面通俗的解释这些术语:
**Adversary (threat agent)敌手:**攻击发起方或意图发起攻击的实体;
**Attack攻击:**意在摧毁信源或对数据进行危害的所有有害行为;
**Countermeasure对策:**设备或技术,其可以削弱危害;
**Risk风险:**潜在的威胁发展成威胁的可能程度;
Security Policy安全策略:提供安全服务的一套标准;
Threat威胁:可利用漏洞
针对以上介绍的一些列名词,给出如下安全模型:
对于攻击,可分为主动攻击和被动攻击
主动攻击:试图改变系统资源或影响系统运行;
被动攻击:试图获取和利用信息,不影响运行;
1.4 威胁后果、攻击 和 资产
1.4.1 攻击和威胁后果
明确:攻击导致后果,下图为RFC 4949给出的威胁后果以及攻击的对照表
1.4.2 威胁和资产
1.5信息收集树
攻击树和攻击面收集和建立,可以为日后渗透测试打下基础,本节不按照原书进行理论的整理和理解,而是根据本人学习信息收集的习惯,以思维导图的形式提供(思路来源:小迪安全)关于web渗透的学习笔记近期也在整理,如果有需要可以一起交流互相学习
【说明:原书中安全功能需求和基本安全设计原则偏规约化,不在这里重复占用篇幅】
1.6 复习题&课后习题
【管理类型习题不赘述】
1.1给出计算机安全的定义
保障信息系统资产的机密性confidentiality,、完整性 integrity、可用性availability的方法和一些控制方式;这些信息系统资产包括软件、硬件 以及 要进行处理、储存和交换的信息。
1.2被动安全威胁和主动安全威胁的区别
被动威胁:与窃听或监控信息的传输有关(电子邮件,文件传输,C/S模式的信息交换都是可以监控的对象),不影响系统资源;主动威胁:包括修改通信数据以达到对计算机系统的非授权访问。有时影响系统资源。
1.3列举并简要定义主动攻击和别动攻击
被动攻击:信息披露和流量分析
主动攻击:冒充,重放,篡改,拒绝服务
1.4 略
1.5 解释攻击树和攻击面的不同
攻击面:包含可以利用的和能够挖掘的系统漏洞(脆弱性);原文是vulnerabilities 这里引申翻译成漏洞
攻击树:是一个分支化,层次化的数据结构用以代表用以探索安全漏洞的潜在技术;
课后习题1.5
考虑如下资源访问允许代码
DWORD dwRet = IsAccessAllowed(…) ;
if (dwRet == ERROR_ACCESS_DENIED) {
// Secure check Failed.
// inform that access is denied.
} else {
//Security check is OK
}
a)解释伪代码设计中存在的安全缺陷
答:该程序违反了安全设置缺省原则;程序的访问应当基于允许而并非是拒绝;
假设 IsAccessAllowed(…) 失效,例如出现系统内存不足的情况,测试者可以执行一些特权任务,因为此时系统会返回一个报错 ERROR NOT ENOUGH MEMORY 渗透测试人员可以根据这项报错尝试寻找突破口进行攻击测试。
b)重新设计代码
DWORD dwRet = IsAccessAllowed(…);
if (dwRet == NO_ERROR) {
// Secure check OK.
// Perform task.
} else {
// Security check failed.
// Inform user that access is denied.
}
最后
以上就是受伤故事为你收集整理的01_《计算机安全原理与实践》概述随笔01_《计算机安全原理与实践》概述部分随笔的全部内容,希望文章能够帮你解决01_《计算机安全原理与实践》概述随笔01_《计算机安全原理与实践》概述部分随笔所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复