欢迎光临散文网 会员登陆 & 注册

初识CISSP

2023-03-08 20:19 作者:bili_15178572865  | 我要投稿

---

tags: [安全, CISSP]

---


CISSP(Certification for Information System Security Professional)即信息系统安全专业认证


## CISSP十大原则

1、简单易懂

越复杂越容易出错

减少冗余、提高组件重用度。


> 可用性与安全:

> 1.用户不会阅读文档

> 2.与用户交谈以弄清其安全性需求

> 3.认识到用户未必总是正确的

> 4.用户是懒惰的


2、最小特权

只授予执行操作所必须的最少访问权,并且对于该访问权只准许使用所需的最少时间。


3、故障安全化

故障是难免的,可以避免的是同故障有关的安全性问题。

安全与可用性:

例如单点故障会影响所有人的使用,设计一定的冗余度,当一个组件出现故障时,可以无缝切换到备用组件。


4、保护最薄弱环节

银行里的钱比便利店多,但便利店更容易遭到抢劫。

密码术不太会是系统最薄弱的部分,如果攻击者想访问通过网络传输的数据,那么将其中一个端点作为目标,找到诸如缓冲区溢出之类的缺陷,然后在数据加密之前或解密之后查看数据。如果存在可利用的缓冲区溢出,那么世界上所有的密码术都帮不了您。


5、提供纵深防御

使用多重防御策略来管理风险,以便在一层防御不够时,在理想情况下,另一层防御将会阻止完全的破坏。

纵深防御:采取一系列防御,以便在一层防御不能抓住错误时,另一层防御将可能抓住它。


> 2011年轰动全国的各大网站数据泄漏事件


6、分隔

将系统分成尽可能多的独立单元,可以对系统造成的损害降到最低。例如潜水艇对不同船舱独立密封。又例如监狱。

标准的UNIX特权模型,安全性的关键的操作是以“完全访问或根本不准访问”为基础的。

不要把所有鸡蛋都放一个篮子里,比如web服务、数据库服务、文件服务都放一台服务器上。

分隔的使用必须适度。


7、总体调节

每次访问一个对象时,都要检查访问是否授权,特别是对安全来说很关键的对象。


示例:在一个网站的注册页面上,需要输入Captcha,当用户提交注册时,先发请求校验Captcha的有效性再发送注册的用户信息。但是第二步请求处理时没有验证前一次检查的Captcha结果,导致可以直接绕过验证Captcha的请求,直接发送注册用户的请求。

这里虽然做了验证,但没有使用验证的结果,就等于没有做验证。


8、默认不信任

直接对象引用、缺乏访问控制的URL等问题,都是由于默认信任导致的。

现成的软件可以帮助您简化您的设计和实现,但您怎么知道现成组件是安全的呢?


信任是可以转移的。一旦您信任某个实体,就会暗中将它扩展给实体可能信任的任何人。出于这个原因,可信的程序决不应该调用不可信的程序。


无失败地重复使用会增进信任。公众的监督也可增进信任。于是一个常见的误解是相信”开放源码“软件极有可能是安全的,因为源代码可用性将导致人们执行安全性审计。而一些强有力的证据表明,源代码可用性没有为人们审阅源代码提供强大的动机。


9、保护隐私

用户通常认为隐私是安全性问题。

维护隐私可能经常要与可用性做折中。

用户隐私不是您应该考虑的唯一的隐私类型。

避免给出更多不必要的信息。比如Telnet服务,往往会给出操作系统名称和版本。为什么不对这类信息撒谎呢?比如将Linux机器说成Solaris机器,让潜在攻击者白费力气。如果您正在使用Rijndael作为加密算法,你可以声明您实际上使用Twofish。这两种算法被认为提供相似级别的密码安全性,因此不存在任何损害。


10、公开设计,不要假设隐藏秘密就是安全

很多人以为用二进制表示的秘密也许能保守秘密,因为要抽取它们太困难了。但要对“秘密”保密实在是太困难了。

某些人擅长对二进制进行逆向工程,这就是软件复制保护方案越来越不适用的原因。

供应商为阻止人们发现“解锁”软件的秘密所投入的精力越多,软件破解者在破解软件上花的力气也越多。在极大程度上,都是破解者达到目的。


如果软件都在您自己网络的服务器端运行,您可能会判定您的秘密是安全的。实际上它比隐藏秘密难得多。如果您可以避免它,就不应该信任您自己的网络。**这就是在他们发行第一版Quake之前发生在Id软件上的事情**。


比如“内部人员”的攻击,滥用访问权。

有时人们不需要对软件进行逆向工程,只要观察正在运行的软件,就常常发现这些秘密。


相信二进制(获取其他形式的模糊)为您保守秘密的实践被亲切地称作:“含糊的安全性(security by obscurity)“

这并不意味着它没有用武之地,而是您应该避免将它用作您唯一的防御线。


## 安全设计原则

最小特权原则

权限分离原则

最少共享机制原则

完全中立原则

心理可接受度原则

默认故障处理保护原则

经济机制原则

不信任原则

纵深防御原则

保护最薄弱环节原则

公开设计原则

隐私保护原则

攻击面最小化原则


## 安全编程准则

验证输入、避免缓冲区溢出、程序内部安全、安全调用组件、程序编写编译等;


>了解编码时禁止使用的风险函数;

>了解相关的安全编码标准及建议;

>理解常见的代码安全问题及处置办法。


## 安全测试方法

模糊测试

渗透测试

静态源代码审核


# 参考文献

[CISSP十大原则](http://www.doc88.com/p-2971795359567.html)


初识CISSP的评论 (共 条)

分享到微博请遵守国家法律