天天看點

《白帽子講WEB安全》學習筆記之第1章 我的安全世界觀第1章 我的安全世界觀

現在中國乃至全世界的黑客或者說是駭客已經進入了“黑暗時代”,因為網際網路存在這大量的利益。

web安全是資訊安全領域的一個重要的分支,但是中國目前對web安全的重視程度遠遠不足。

為什麼要攻擊Web應用,我認為主要有以下幾個原因:

q  web應用無處不在。

q  相比較與作業系統等的安全防禦能力,攻破web更容易一些。

q  攻擊web可以來無影去無蹤,具有匿名性。

q  編寫web應用的人的水準和安全意識良莠不齊,漏洞很多。

q  Web應用安全技術不成熟。

q  最重要的是攻擊web應用會獲得金錢的等利益。

web的攻擊與防禦手段是在交替的發展。

研究安全的人多了,世界就不再安全了。

書中多次提到“安全的本質是信任問題”,但是我認為安全的本質是權限問題。

安全技術是在攻與防中得到提升的。

書中隻要講解了安全的基本三要素,但是安全不止是三要素。

可用性(Availability):得到授權的實體在需要時可通路資源和服務。可用性是指無論何時,隻要使用者需要,資訊系統必須是可用的,也就是說資訊系統不能拒絕服務。網絡最基本的功能是向使用者提供所需的資訊和通信服務,而使用者的通信要求是随機的,多方面的(話音、資料、文字和圖像等),有時還要求時效性。網絡必須随時滿足使用者通信的要求。攻擊者通常采用占用資源的手段阻礙授權者的工作。可以使用通路控制機制,阻止非授權使用者進入網絡,進而保證網絡系統的可用性。增強可用性還包括如何有效地避免因各種災害(戰争、地震等)造成的系統失效。

完整性(Integrity):資訊不被偶然或蓄意地删除、修改、僞造、亂序、重放、插入等破壞的特性。隻有得到允許的人才能修改實體或程序,并且能夠判别出實體或程序是否已被篡改。即資訊的内容不能為未授權的第三方修改。資訊在存儲或傳輸時不被修改、破壞,不出現資訊包的丢失、亂序等。

可靠性(Reliability):可靠性是指系統在規定條件下和規定時間内、完成規定功能的機率。可靠性是網絡安全最基本的要求之一,網絡不可靠,事故不斷,也就談不上網絡的安全。目前,對于網絡可靠性的研究基本上偏重于硬體可靠性方面。研制高可靠性元器件裝置,采取合理的備援備份措施仍是最基本的可靠性對策,然而,有許多故障和事故,則與軟體可靠性、人員可靠性和環境可靠性有關。

保密性(Confidentiality):保密性是指確定資訊不暴露給未授權的實體或程序。即資訊的内容不會被未授權的第三方所知。這裡所指的資訊不但包括國家秘密,而且包括各種社會團體、企業組織的工作秘密及商業秘密,個人的秘密和個人私密(如浏覽習慣、購物習慣)。防止資訊失竊和洩露的保障技術稱為保密技術。

不可抵賴性(Non-Repudiation):也稱作不可否認性。不可抵賴性是面向通信雙方(人、實體或程序)資訊真實同一的安全要求,它包括收、發雙方均不可抵賴。一是源發證明,它提供給資訊接收者以證據,這将使發送者謊稱未發送過這些資訊或者否認它的内容的企圖不能得逞;二是傳遞證明,它提供給資訊發送者以證明這将使接收者謊稱未接收過這些資訊或者否認它的内容的企圖不能得逞。

價值越高需要的安全等級越高。資産等級的劃分依據——資源的價值。

在生産實踐中對于網際網路而言資料的價值是最高的。

分析現有的制度或防禦措施,找出可能會造成威脅的漏洞。

對找到的漏洞,按其發生機率、危害程度等進行排序,表示其優先級。

安全方案的設計依據是安全的評估,而不是沒有調研的想象。

安全與成本需要達到一個平衡。需要說明的是這裡的成本不僅僅是指金錢,還有業務的效率,業務的邏輯等。

一個好的安全方案,應符合使用者的使用習慣,應人性化、智能化、高效簡單。

安全就像接口設計一樣,隻給使用者需要的。是以“白名單”模式更加好一些。

安全最為重要的是安全意識.安全意識比任何安全防範更加有用。

還有就是最小擷取原則,在此之前,我寫判斷使用者是否存在的SQL代碼時,一般為“select* from admin where name=‘qiang’ andpassword=‘123456’”。這是不安全的,我以後要寫為“select count(*)from admin where name=‘qiang’ andpassword=‘123456’”

含義:一、在各個層面,各個不同方面實施安全,避免出現疏漏,不同安全方案需要互相配合,構成一個整體;二、安全方案需要治本。

對于富文本的xss防禦,我目前可以實作的處理方式是使用"白名單".但是白名單還是會出現一些較為嚴重的漏洞.是以我還需要繼續關注富文本的XSS攻擊。

該原則主要應用與“注入”場景。

對于不可預測的使用,我之前也有過思考.我在使用獵豹浏覽器的時候發現,百度的廣告被過濾了.是以我認真的看了一下,發現,原來百度的廣告都是寫在一個Id=content_right的div之中,這就給浏覽器過濾的機會了。應該把這個div的屬性id或其他的屬性随機化,讓浏覽器無法知道它的确切位置。

我是非常贊成,安全是一種平衡藝術的說法,因為我們需要做到的是安全與成本的平衡。

本文轉自 夢朝思夕 51CTO部落格,原文連結:http://blog.51cto.com/qiangmzsx/1859544