初識CISSP
---
tags: [安全, CISSP]
---
CISSP(Certification for Information System Security Professional)即信息系統(tǒng)安全專業(yè)認(rèn)證
## CISSP十大原則
1、簡單易懂
越復(fù)雜越容易出錯
減少冗余、提高組件重用度。
> 可用性與安全:
> 1.用戶不會閱讀文檔
> 2.與用戶交談以弄清其安全性需求
> 3.認(rèn)識到用戶未必總是正確的
> 4.用戶是懶惰的
2、最小特權(quán)
只授予執(zhí)行操作所必須的最少訪問權(quán),并且對于該訪問權(quán)只準(zhǔn)許使用所需的最少時間。
3、故障安全化
故障是難免的,可以避免的是同故障有關(guān)的安全性問題。
安全與可用性:
例如單點故障會影響所有人的使用,設(shè)計一定的冗余度,當(dāng)一個組件出現(xiàn)故障時,可以無縫切換到備用組件。
4、保護最薄弱環(huán)節(jié)
銀行里的錢比便利店多,但便利店更容易遭到搶劫。
密碼術(shù)不太會是系統(tǒng)最薄弱的部分,如果攻擊者想訪問通過網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù),那么將其中一個端點作為目標(biāo),找到諸如緩沖區(qū)溢出之類的缺陷,然后在數(shù)據(jù)加密之前或解密之后查看數(shù)據(jù)。如果存在可利用的緩沖區(qū)溢出,那么世界上所有的密碼術(shù)都幫不了您。
5、提供縱深防御
使用多重防御策略來管理風(fēng)險,以便在一層防御不夠時,在理想情況下,另一層防御將會阻止完全的破壞。
縱深防御:采取一系列防御,以便在一層防御不能抓住錯誤時,另一層防御將可能抓住它。
> 2011年轟動全國的各大網(wǎng)站數(shù)據(jù)泄漏事件
6、分隔
將系統(tǒng)分成盡可能多的獨立單元,可以對系統(tǒng)造成的損害降到最低。例如潛水艇對不同船艙獨立密封。又例如監(jiān)獄。
標(biāo)準(zhǔn)的UNIX特權(quán)模型,安全性的關(guān)鍵的操作是以“完全訪問或根本不準(zhǔn)訪問”為基礎(chǔ)的。
不要把所有雞蛋都放一個籃子里,比如web服務(wù)、數(shù)據(jù)庫服務(wù)、文件服務(wù)都放一臺服務(wù)器上。
分隔的使用必須適度。
7、總體調(diào)節(jié)
每次訪問一個對象時,都要檢查訪問是否授權(quán),特別是對安全來說很關(guān)鍵的對象。
示例:在一個網(wǎng)站的注冊頁面上,需要輸入Captcha,當(dāng)用戶提交注冊時,先發(fā)請求校驗Captcha的有效性再發(fā)送注冊的用戶信息。但是第二步請求處理時沒有驗證前一次檢查的Captcha結(jié)果,導(dǎo)致可以直接繞過驗證Captcha的請求,直接發(fā)送注冊用戶的請求。
這里雖然做了驗證,但沒有使用驗證的結(jié)果,就等于沒有做驗證。
8、默認(rèn)不信任
直接對象引用、缺乏訪問控制的URL等問題,都是由于默認(rèn)信任導(dǎo)致的。
現(xiàn)成的軟件可以幫助您簡化您的設(shè)計和實現(xiàn),但您怎么知道現(xiàn)成組件是安全的呢?
信任是可以轉(zhuǎn)移的。一旦您信任某個實體,就會暗中將它擴展給實體可能信任的任何人。出于這個原因,可信的程序決不應(yīng)該調(diào)用不可信的程序。
無失敗地重復(fù)使用會增進信任。公眾的監(jiān)督也可增進信任。于是一個常見的誤解是相信”開放源碼“軟件極有可能是安全的,因為源代碼可用性將導(dǎo)致人們執(zhí)行安全性審計。而一些強有力的證據(jù)表明,源代碼可用性沒有為人們審閱源代碼提供強大的動機。
9、保護隱私
用戶通常認(rèn)為隱私是安全性問題。
維護隱私可能經(jīng)常要與可用性做折中。
用戶隱私不是您應(yīng)該考慮的唯一的隱私類型。
避免給出更多不必要的信息。比如Telnet服務(wù),往往會給出操作系統(tǒng)名稱和版本。為什么不對這類信息撒謊呢?比如將Linux機器說成Solaris機器,讓潛在攻擊者白費力氣。如果您正在使用Rijndael作為加密算法,你可以聲明您實際上使用Twofish。這兩種算法被認(rèn)為提供相似級別的密碼安全性,因此不存在任何損害。
10、公開設(shè)計,不要假設(shè)隱藏秘密就是安全
很多人以為用二進制表示的秘密也許能保守秘密,因為要抽取它們太困難了。但要對“秘密”保密實在是太困難了。
某些人擅長對二進制進行逆向工程,這就是軟件復(fù)制保護方案越來越不適用的原因。
供應(yīng)商為阻止人們發(fā)現(xiàn)“解鎖”軟件的秘密所投入的精力越多,軟件破解者在破解軟件上花的力氣也越多。在極大程度上,都是破解者達到目的。
如果軟件都在您自己網(wǎng)絡(luò)的服務(wù)器端運行,您可能會判定您的秘密是安全的。實際上它比隱藏秘密難得多。如果您可以避免它,就不應(yīng)該信任您自己的網(wǎng)絡(luò)。**這就是在他們發(fā)行第一版Quake之前發(fā)生在Id軟件上的事情**。
比如“內(nèi)部人員”的攻擊,濫用訪問權(quán)。
有時人們不需要對軟件進行逆向工程,只要觀察正在運行的軟件,就常常發(fā)現(xiàn)這些秘密。
相信二進制(獲取其他形式的模糊)為您保守秘密的實踐被親切地稱作:“含糊的安全性(security by obscurity)“
這并不意味著它沒有用武之地,而是您應(yīng)該避免將它用作您唯一的防御線。
## 安全設(shè)計原則
最小特權(quán)原則
權(quán)限分離原則
最少共享機制原則
完全中立原則
心理可接受度原則
默認(rèn)故障處理保護原則
經(jīng)濟機制原則
不信任原則
縱深防御原則
保護最薄弱環(huán)節(jié)原則
公開設(shè)計原則
隱私保護原則
攻擊面最小化原則
## 安全編程準(zhǔn)則
驗證輸入、避免緩沖區(qū)溢出、程序內(nèi)部安全、安全調(diào)用組件、程序編寫編譯等;
>了解編碼時禁止使用的風(fēng)險函數(shù);
>了解相關(guān)的安全編碼標(biāo)準(zhǔn)及建議;
>理解常見的代碼安全問題及處置辦法。
## 安全測試方法
模糊測試
滲透測試
靜態(tài)源代碼審核
# 參考文獻
[CISSP十大原則](http://www.doc88.com/p-2971795359567.html)