要全面地認識一個安全問題,我們有很多種辦法,但首先要理解安全問題的組成屬性。前人通過無數實踐,最後将安全的屬性總結為安全三要素,簡稱CIA。
安全三要素是安全的基本組成元素,分别是機密性(Confidentiality)、完整性(Integrity)、可用性(Availability)。機密性要求保護數據内容不能洩露,加密是實現機密性要求的常見手段。
舉一個例子,存放一個文件,加入文件不是放在抽屜裡,而是放在一個透明的玻璃盒子裡,那麼雖然外人無法直接取得文件,但因為玻璃盒子是透明的,文件内容可能還是會被人看到,所以不符合機密性要求。但是如果給文件增加一個封面,掩蓋了文件内容,那麼也就起到了隐藏的效果,從而滿足了機密性要求。可見,我們在選擇安全方案時,需要靈活變通,因地制宜,沒有一成不變的方案。
完整性則要求保護數據内容是完整、沒有被複改的。常見的保證一緻性的技術手段是數字簽名。
傳說清朝康熙皇帝的遺诏,寫的是“傳位十四子”,被當時還是四阿哥的胤鎮寡改了遺诏,變成了“傳位于四子”。姑且不論傳說的真實性,在故事中,對這份遺诏的保護顯然沒有達到完整性要求。如果在當時有數字簽名等技術,遺诏就很難被算改。從這個故事中也可以看出數據的完整性、一緻性的重要意義。
可用性要求保護資源是“随需而得”。
假設一個停車場裡有100個車位,在正常情況下,可以停100輛車。但是在某一天,有個壞人搬了100塊大石頭,把每個車位都占用了,停車場無法再提供正常服務。在安全領域中這種攻擊叫做拒絕服務攻擊,簡稱DoS(Denial of Service)。拒絕服務攻擊破壞的是安全的可用性。
1.2、安全評估一個安全評估的過程,可以簡單地分為4個階段:資産等級劃分、威脅分析、風險分析、确認解決方案。
1. 資産等級劃分資産等級劃分是所有工作的基礎,這項工作能夠幫助我們明确目标是什麼,要保護什麼。前面提到安全三要素時,機密性和完整性都是與數據相關的,在可用性的定義裡。“資源”這個概念描述的範圍比數據要更加廣闊,但很多時候,資源的可用性也可以理解為數據的可用性。在互聯網的基礎設施已經比較完善的今天,互聯網的核心其實是由用戶數據驅動的一用戶産生業務,業務産生數據。互聯網公司除了擁有一些固定資産,如服務器等死物外,最核心的價值就是其擁有的用戶數據,所以一互聯網安全的核心問題,是數據安全的問題。所以在對互聯網公司擁有的資産進行等級劃分,就是對數據做等級劃分。有的公司最關心的是客戶數據,有的公司最關心的是員工資料信息,根據各自業務的不同,側重點也不同。做資産等級劃分的過程,需要與各個業務部門的負責人一一溝通,了解公司最重要的資産是什麼,他們最看重的數據是什麼。了解公司的業務,公司所擁有的數據,以及不同數據的重要程度,為後續的安全評估過程指明方向。
2. 威脅分析在安全領域裡,我們把可能造成危害的來源稱為威脅(Threat),而把可能會出現的損失稱為風險(Risk)。風險一定是和損失聯系在一起的。什麼是威脅分析?威脅分析就是把所有的威脅都找出來。一般是采用頭腦風暴法。當然,也有一些比較科學的方法,比如使用一個模型,幫助我們去想,在哪些方面有可能會存在威脅,這個過程能夠避免遺漏,這就是威脅建模。介紹一種由微軟提出的威脅建模的方法STRIDE模型
威脅 |
定義 |
對應的安全屬性 |
Spoofing(僞裝) |
冒充他人身份 |
認證 |
Tampering(慕改) |
修改數據或代碼 |
完整性 |
Repudiation(抵賴) |
否認做過的事情 |
不可抵賴性 |
InformationDisclosure(信息洩露) |
機密信息洩露 |
機密性 |
Denial of Service(拒絕服務) |
拒絕服務 |
可用性 |
Elevation of Privilege(提升權限) |
未經授權獲得許可 |
授權 |
影響風險高低的因素,除了造成損失的大小外,還需要考慮到發生的可能性。
如何更科學地衡量風險呢?再介紹一個DREAD模型,它也是由微軟提出的。DREAD 也是幾個單詞的首字母縮寫,它指導我們應該從哪些方面去判斷一個威脅的風險程度。
等級 |
高(3) |
中(2) |
低(1) |
Damage Potential ( 破壞潛力 ) |
獲取完全驗證權限:執行管理員操作:非法上傳文件 |
洩露敏感信息 |
洩露其他信息 |
Reproducibilty(再現性 ) |
攻擊者可以随意再次攻擊 |
攻擊者可以重複攻擊,但有時間限制 |
攻擊者很難重複攻擊 |
Exploitability( 可利用性 ) |
初學者在短期内能掌握攻擊方法 |
熟練的攻擊者才能完成這次攻擊 |
漏洞利用條件非常苛刻 |
Affected users(受影響的用戶) |
所有用戶,默認配置,關鍵用戶 |
部分用戶,非默認配置 |
極少數用戶,匿名用戶 |
Discoverability(可發現性) |
漏洞很顯眼,攻擊條件很容易獲得 |
發現該漏洞極其困難需要深入挖掘漏洞 |
發現漏洞及其困難 |
高危:12~15分中危:8一11分低危:0一7分
4. 确認解決方案安全評估的産出物,就是安全解決方案。解決方案一定要有針對性,這種針對性是由資産等級劃分、威脅分析、風險分析等階段的結果給出的。
作為安全工程師,要想的就是如何通過簡單而有效的方案,解決遇到的安全問題。安全方案必須能夠有效抵抗威脅,但同時不能過多幹涉正常的業務流程,在性能上也不能拖後腿。
呢麼一份好的安全方案對用戶應該是透明的,盡可能地不要改變用戶的使用習慣。
1.2、一般流程
回到頂部
2、安全工具(漏洞掃描器)2.1、AppScanAppScan是IBM公司出品的一個領先的 Web 應用安全測試工具,曾以 Watchfire AppScan 的名稱享譽業界。AppScan 可自動化Web應用的安全漏洞評估工作,能掃描和檢測所有常見的Web 應用安全漏洞,例如,SQL注入(SQL injection)、跨站點腳本攻擊(cross-site scripting)、緩沖區溢出(buffer overflow)及最新的Flash/Flex 應用和Web 2.0應用暴露等方面的安全漏洞掃描。
1. 使用步驟第一步:打開AppScan中文版,新建掃描,擁有web應用程序、web服務、外部客戶機等三種基礎掃描方式;
第二步:掃描配置向導,輸入項目入口訪問鍊接;
第三步:登錄方式記錄,可通過自動方式,預先設置正确的用戶名密碼;
第四步:設置掃描策略,提供缺省值、侵入式、基礎結構、應用程序、第三方等選擇,默認為缺省值;
配置測試和優化,建議默認快速即可;
第五步:完成掃描引導配置,軟件提供全自動、半自動、手動等幾種選項,默認全自動就好;
點擊完成後,選擇自動保存掃描過程後進行自動掃面;
第六步:最後等待AppScan10掃描完成,查看掃描結果即可。
2.2、AcunetixAcunetix 是一個自動化的 Web 應用程序安全測試工具,是通過檢查 SQL 注入,跨站點腳本(XSS)和其他可利用漏洞等來審核您的 Web 應用程序。一般來說,Acunetix 能夠掃描任何通過網絡浏覽器訪問并使用 HTTP/HTTPS 協議的網站或 web 應用程序。
1.使用步驟第一步:添加 需要檢測的網站(漏洞掃描.)
然後點擊是的,進行漏洞掃描
這裡可以選擇:掃描類型
第二步:查看掃描的結果(包含:漏洞信息,網站結構,活動.)
第三步:查看漏洞的信息.(漏洞類型,鍊接的位置,修複方案等.)
第四步:生成報告
第五步:點擊報告.
回到頂部
3、其他3.1、關于工具的問題漏洞掃描器可以快速幫助我們發現漏洞,例如,SQL注入漏洞(SQLinjection)、跨站點腳本攻擊(cross-site scripting)、緩沖區溢出(buffer overflow)。一款優秀的漏洞掃描器會使滲透測試變得很輕松,但對于一些漏洞,自動化軟件是無法識别的。所以,在進行漏掃(漏洞掃描的簡稱)時,必須要與人工滲透相結合。
結論是:漏洞掃描也屬于信息探測的一種,掃描器可以幫助我們發現非常多的問題,但是整個測試的執行過程不是交由工具去完成。
3.2、銀彈理論在解決安全問題的過程中,不可能一勞永逸,也就是說“沒有銀彈”。安全是一個持續的過程。自從互聯網有了安全問題以來,攻擊和防禦技術就在不斷碰撞和對抗的過程中得到發展。從微觀上來說,在某一時期可能某一方占了上風:但是從宏觀上來看,某一時期的攻擊或防禦技術,都不可能永遠有效,永遠用下去。這是因為防禦技術在發展的同時,攻擊技術也在不斷發展,兩者是互相促進的辯證關系。以不變的防禦手段對抗不斷發展的攻擊技術,就犯了刻舟求劍的錯誤。在安全的領域中,沒有銀彈。
3.3、原理加強原理學習,對常見的漏洞原理以及複現的學習掌握。雖說網絡上有很多的國内外大神們開發的各類小工具,但是不清楚原理的人就好比一個沒有武功但是得到了一把絕世神兵。對于這把武器的使用與掌握就處于一種能用但不好用的境界。而且也隻能去處理一些簡單易發現的問題。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!