信息时代的安全威胁
? ? ? ?? ?60、70年代,?“黑客”一詞仍極富褒義,從事黑客活動意味著對計算機網絡的最大潛力進行智力上的自由探索,所謂的“黑客”文化也隨之產生了。然后并非所有的人都能恪守“黑客”文化的信條專注于技術的探索,惡意的計算機網絡破壞者、信息系統的竊密者隨后層出不窮。
一、關于黑客
白帽子:創新者、設計新系統、打破常規、精研技術、勇于創新沒有最好,只有更好。代表人物:MS? ——Bill?Gates、GNU? ——R.Stallman、Linux? ——Linus。
灰帽子:破解者、破解已有系統發現問題/漏洞、突破極限/禁制、展現自我,計算機為人民服務。代表人物:漏洞發現-——Flashsky、軟件破解——?0?Day、工具提供——?Glacier
黑帽子:破壞者、隨意使用資源、惡意破壞,散播蠕蟲病毒,商業間諜。人不為己,天誅地滅。代表人物:入侵者——K.米特尼、CIH 陳盈豪、攻擊Yahoo者——匿名。
?腳本小子(?script?kiddie?)指那些完全沒有或僅有一一點點黑客技巧而只是按照指示或運行某種駭客程序來達到破解目的人。腳本小子是利用他人所編輯的程序來發起網絡攻擊的網絡鬧事者。他們通常不懂得攻擊對象的設計和攻擊程序的原理,不能自己調試系統發現漏洞。他們冒充黑客,而實際的計算機知識遠遠不如黑帽黑客。
二、網絡攻擊的分類
一:被動攻擊
被動攻擊是對信息的保密性進行攻擊,竊取信息的來源以及數據,對信息加以查看。主要的攻擊方式有竊聽,嗅探等。對被動攻擊采取的防范措施應該是阻止而不是檢測。比如進行數據加密。
二:主動攻擊
主動攻擊是指攻擊信息來源的真實性,數據傳輸的完整性以及系統服務的可用性。對截取的信息進行修改,添加或刪除等操作。主要的攻擊方式有欺騙,重放,假冒,拒絕服務和消息篡改等方式,對主動攻擊采取的防范措施為數據檢測,防火墻等。
三:內部人員攻擊
內部人員攻擊指有的人授權在信息安全處理系統物理范圍內或有直接訪問內部安全信息處理系統的權限,可進行攻擊
四:物理臨近攻擊
指未授權者在物理上臨近網絡,系統或設備,目的為修改,收集信息或拒絕為用戶服務
五:分布攻擊
指在硬件或軟件在開發出來以后和被安裝之前,或當其從一個地方轉移到另一個地方之前,可進行攻擊(修改軟硬件)
?
三、攻擊原理
(1)攻擊網絡寬帶資源
(2)攻擊系統資源
(3)攻擊應用資源
(4)攻擊防護原理
從 tcp/udp 協議棧原理介紹網絡攻擊防護原理:
四、幾類常見的攻擊
(1)CSRF攻擊與防御
? ? ? ? ?CSRF全名是Cross Site Request Forgery,翻譯過來,即跨站請求偽造。
? ? ? ? ?①驗證碼:http是無狀態的,即不會區分哪個用戶、哪個請求,不會記錄請求狀態。所以才會有session、cookie用以區分用戶和校驗身份。這一步通過了,請求 就認為是合法的了。所以說我們只要拿到了這個身份憑證(session、cookie)。
? ? ? ? ?②Refer Check(添加Referer識別):如果一個請求來自域www.a.com,那么服務器驗證客戶端的請求來源時,HTTP請求頭的Referer字段值就是www.a.com。這一步需要服務端來實現。問題在于,服務器不是什么時候都能取到Referer,甚至一些情況下是不發送Referer的。
? ? ? ? ? ③Anti CSRF Token(添加token驗證):CSRF 的本質是所有被偽造攻擊的請求的參數都是可被猜測到的。那我們在請求參數里加上隨機生成的token,攻擊成本將瞬間擴大。token必須滿足不可預測,假如我們隨機產生的token是一個8位數字,那攻擊者暴力破解是分分鐘的事。token必須同時滿足保密性和隨機性。
(2)sql注入攻擊與預防
? ? ? ?Sql 注入攻擊是通過將惡意的 Sql 查詢或添加語句插入到應用的輸入參數中,再在后臺 Sql 服務器上解析執行進行的攻擊,它目前黑客對數據庫進行攻擊的最常用手段之一。當我們訪問動態網頁時, Web 服務器會向數據訪問層發起 Sql 查詢請求,如果權限驗證通過就會執行 Sql 語句。這種網站內部直接發送的Sql請求一般不會有危險,但實際情況是很多時候需要結合用戶的輸入數據動態構造 Sql 語句,如果用戶輸入的數據被構造成惡意 Sql 代碼,Web 應用又未對動態構造的 Sql 語句使用的參數進行審查,則會帶來意想不到的危險。
? ? ? ?Sql 注入帶來的威脅主要有如下幾種方式:
? ? ? ? ?1. 猜測數據庫名,備份數據庫;
? ? ? ? ?2. 猜解字段名稱;
? ? ? ? ?3. 遍歷系統的目錄結構,分析結構并發現WEB虛擬目錄,植入木馬;
? ? ? ? ?4. 查詢當前用戶的數據庫權限;
? ? ? ? ?5. 設置新的數據庫帳戶提權得到數據庫管理員賬戶權限;
? ? ? ? ?6. 利用存儲過程獲取操作系統管理員賬戶;
? ? ? ? ?7. 客戶端腳本攻擊:通過正常的輸入提交方式將惡意腳本提交到數據庫中,當其他用戶瀏覽此內容時就會受到惡意腳本的攻擊;
? ? ? ? ?8. 客戶端腳本攻擊:通過SQL注入方式將惡意腳本提交到數據庫中,直接使用SQL語法UPDATE數據庫,并將注入SQL經過“HEX編碼”,然后通過exec執行“動態”SQL的特性運行腳本。
? ? 防御sql注入攻擊
? ? ? 1.永遠不要信任客戶端提交的數據,一定要對客戶端提交的數據進行校驗,校驗可以考慮數據類型,字符長度或者正則表達式等方式。
? ? ? 2.對客戶端提交的數據進行轉義,例如將" ' "轉義為" ' "。
? ? ? 3.采用預編譯綁定變量的SQL語句而不是直接拼接SQL語句。
? ? ? 4.避免在生產環境中,直接輸出錯誤信息,因為這些錯誤信息有可能被攻擊者利用。
? ? ? 5.嚴格執行數據庫賬號權限管理。
? ? ? 6.對用戶敏感信息特別是密碼做嚴格加密處理。
?
(3)XSS攻擊與防御
? ? ? ? ?XSS攻擊的全稱是跨站腳本攻擊(Cross Site Scripting),為不跟層疊樣式表(Cascading Style Sheets,CSS)的縮寫混淆,故將跨站腳本攻擊縮寫為XSS。跨站腳本攻擊也就是在網站里嵌入惡意腳本程序,當用戶打開網站時,竊取Cookie,盜取信息。通過URI參數傳遞和表單提交參數的方式進行攻擊。
? ? ? ? 防御方式有以下兩種:
? ? ? ? ?1.繼承HttpServletRequestWrapper,然后重寫(@Override)getParameter()、getHeader()等等方法。
? ? ? ? ?2.文件上傳不走HttpServletRequestWrapper,需要繼承CommonsMultipartResolver,重寫方法。
(4)DDos攻擊與防御
? ? ? ? ?DDos(Distributed Denial of Service),即分布式拒絕服務攻擊,DDos攻擊是基于Dos發展來的。什么是Dos呢?首先簡單介紹一下Dos,Dos就是利用信任的客戶端向服務端頻繁發送請求,從而達到服務器處理不過來,請求超時。所以Dos其實就是一對一的,在郵件設施還不太好的情況是有效的,對于性能極佳的服務器壓根不管用了,所以就有了DDos,分布式拒絕服務攻擊。
? ? ? ? ?DDos攻擊過程是分布式的,首先黑客可能會通過程序控制大量的計算機,然后通過這個計算機群在同一個時間,發送大量的請求到目標服務器,從而達到服務器處理不過來,請求超時的情況。
?
? ? ? ? DDos的防御主要有以下方面:
? ? ? ? ? ?1.設置高性能設備
? ? ? ? ? ?2.帶寬得保證
? ? ? ? ? ?3.不要忘記升級
? ? ? ? ? ?4.異常流量的清洗
? ? ? ? ? ?5.考慮把網站做成靜態頁面
? ? ? ? ? ?6.分布式集群防御
?
?
?
?
總結
- 上一篇: 系统集成项目管理工程师2021年报名时间
- 下一篇: 中心透视投影和鱼眼投影的区别(Centr