軟件設計師——信息安全方面的知識總結

一、安全基礎技術

1. 對稱加密

對稱加密又稱爲私鑰加密,其採用了對稱密碼編碼技術,對稱加密的特點是文件加密和解密使用相同的密鑰,即加密密鑰也可以用作解密密鑰。對稱加密算法的優點是使用簡單、加密解密快捷高效。其缺點是加密強度不高、密鑰分發困難。

2. 非對稱加密

非對稱加密又稱爲公鑰加密,該技術中所使用的加密與解密密鑰是不同的。在非對稱加密體系中,密鑰是成對出現的,一對密鑰包括一個公鑰和一個私鑰。如果用公開密鑰對數據進行加密,只有用對應的私有密鑰才能解密;如果用私有密鑰對數據進行加密,那麼只有用對應的公開密鑰才能解密。非對稱加密算法的優點是,解決了對稱密鑰加密強度不高及密鑰分發困難的問題:其缺點是,加密速度極慢,比對稱加密慢千倍,甚至數千倍。所以非對稱加密算法通常只對極小的數據量進行加密,比如對信息摘要進行加密,或用於加密對稱密鑰來解決對稱密鑰分發困難的這個問題。
針對對稱加密與非對稱加密的特點,在實際應用中,大多是採用結合這兩種加密算法一起使用來進行操作的。

3. Hash函數和信息摘要

Hash函數又稱爲雜湊函數、散列函數,它提供了這樣的一種計算過程:輸入一個長度不固定的字符串,返回一串定長的字符串(又稱爲Hash值),單向Hash函數用於產生信息摘要。

信息摘要簡要地描述了一份較長的信息或文件,它可以被看做是一份長文件的“數字指紋”,信息摘要可以用於創建數字簽名。對於特定的文件而言,信息摘要是唯一的,而且不同的文件必將產生不同的信息摘要。常見的信息摘要算法包括MD5(產生一個128位的輸出,輸入是以512位的分 組進行處理的)和SHA(安全散列算法,也是按512位的分組進行處理,產生一個160位的輸出)。它們可以用來保護數據的完整性。

4. 數字簽名

(數字簽名Digital Signature) 技術是不對稱加密算法的典型應用。數字簽名的應用過程是數據源發送方使用自己的私鑰對數據校驗和或其他與數據內容有關的變量進行加密處理,完成對數據的合法“簽名";數據接收方則利用對方的公鑰來解讀收到的“數字簽名”,並將解讀結果用於對數據完整性的檢驗,以確認簽名的合法性。數字簽名技術是在網絡系統虛擬環境中確認身份的重要技術,完全可以代替現實過程中的“親筆簽字”,在技術和法律上有保證,可見數字簽名是對簽名真實性的保護。

5. 數字證書

  數字證書是由權威機構CA 證書授權Certificatce Authority)中心發行的, 能提供在Internet上進行身份驗證的一種權威性電子 文檔,人們可以在因特網交往中用它來證明自己的身份和識別對方的身份。
   數字證書包含版本、序列號、簽名算法標識符、簽發人姓名、有效期、主體名和主體公鑰信息等並附有CA的簽名,用戶獲取網站的數字證書後通過驗證CA的簽名和確認數字證書的有效性,從而驗證網站的真僞。    在用戶與網站進行安全通信時,用戶發送數據時使用網站的公鑰(從數字證書中獲得)加密,收到數據時使用網站的公鑰驗證網站的數字簽名,網站利用自身的私鑰對發送的消息簽名和對收到的消息解密。

二、網絡安全知識

1. 網絡安全協議

互聯網自上個世紀提出,至今不過區區幾十年,但其發展速度之迅猛,讓人始料不及。原本只 作爲資源共享而提出的互聯網絡,目前已是各類應用的基礎平臺。在此環境下,網絡安全提到了一 個前所未有的高度來看待。在軟件設計師考試中,要求考生熟悉常見安全協議的工作層次,以及基本特性,他們的工作層次關係如 “安全協議層次圖” 所示。

在這裏插入圖片描述
安全協議層次圖

(1)PGP協議

PGP(Pretty Good Privacy)是一個基於RSA公鑰加密體系的郵件加密協議。可以用它對郵件保密以防止非授權者閱讀,它還能對郵件加上數字簽名從而使收信人可以確信郵件發送者。除此之外PGP還可用於文件存儲的加密。

PGP承認兩種不同的證書格式:PGP證書和X.509證書。

(2)SSL協議

SSL工作於傳輸層以上(跨越了多個網絡層次),用於在Internet上傳送機密文件。SSL協議由SSL記錄協議、SSL握手協議和SSL警報協議組成。

SSL握手協議被用來在客戶與服務器真正傳輸應用層數據之前建立安全機制,當客戶與服務器第 一次通信時,雙方通過握手協議在版本號、密鑰交換算法、數據加密算法和Hash算法上達成一致,然後互相驗證對方身份,最後使用協商好的密鑰交換算法產生一個只有雙方知道的祕密信息,客戶和服務器各自根據該祕密信息產生數據加密算法和Hash算法參數。

SSL記錄協議根據SSL握手協議協商的參數,對應用層送來的數據進行加密、壓縮、計算消息鑑 別碼,然後經網絡傳輸層發送給對方。

SSL警報協議用來在客戶和服務器之間傳遞SSL出錯信息。

SSL協議是一個保證計算機通信安全的協議,對通信對話過程進行安全保護,其實現過程主要經過如下幾個階段:

1> 接通階段:客戶機通過網絡向服務器打招呼,服務器迴應;

2> 密碼交換階段:客戶機與服務器之間交換雙方認可的密碼,一般選用RSA密碼算法,也有的 選用Diffie-Hellmanf和Fortezza-KEA密碼算法;

3> 會談密碼階段:客戶機器與服務器間產生彼此交談的會談密碼;

4> 檢驗階段:客戶機檢驗服務器取得的密碼;

5> 客戶認證階段:服務器驗證客戶機的可信度;

6> 結束階段:客戶機與服務器之間相互交換結束的信息。

發送時信息用對稱密鑰加密,對稱密鑰用不對稱算法加密,再把兩個包綁在一起傳送過去。接 收的過程與發送正好相反,先打開有對稱密鑰的加密包,再用對稱密鑰解密。因此,SSL協議也可用 於安全電子郵件。

(3)SET協議

SET(Secure Electronic Transaction,安全電子交易)協議向基於信用卡進行電子化交易的應用提供了實現安全措施的規則。它是由Visa國際組織和MasterCard組織共同制定的一個能保證通過開放網絡(包括Internet)進行安全資金支付的技術標準。SET在保留對客戶信用卡認證的前提下,又增加了對商家身份的認證。由於設計較爲合理,得到了諸如微軟公司、IBM公司、Netscape公司等大公司的支持,已成爲實際上的工業技術標準。

(4)IPSec 協 議

IPSec工作於網絡層。它有兩種加密方式:第一種,是將原IP數據包進行整體加密(包括IP包頭),然後產生新的IP包進行傳送;第二種,是將原IP數據包中的數據取出來,加密,然後通過原IP包頭信息產生新的IP頭。區別在於一個是整體加密,另一個是數據加密。

(5)TLS協議

安全傳輸層協議(TLS)用於在兩個通信應用程序之間提供保密性和數據完整性。

該協議由兩層組成: TLS 記錄協議(TLS Record)和 TLS 握手協議(TLS Handshake)。較低的層爲 TLS 記錄協議,位於某個可靠的傳輸協議(例如 TCP)上面。 TLS 記錄協議提供的連接安全性具有兩個基本特性:

私有――對稱加密用以數據加密(DES 、RC4 等)。對稱加密所產生的密鑰對每個連接都是唯一的,且此密鑰基於另一個協議(如握手協議)協商。記錄協議也可以不加密使用。

可靠――信息傳輸包括使用密鑰的 MAC 進行信息完整性檢查。安全哈希功能( SHA、MD5 等)用於 MAC 計算。記錄協議在沒有 MAC 的情況下也能操作,但一般只能用於這種模式,即有另一個協議正在使用記錄協議傳輸協商安全參數。

2. 網絡攻擊

網絡攻擊的主要手段包括口令入侵、放置特洛伊本馬程序、拒絕服務(DOS) 攻擊、端口掃描、網絡監聽、欺騙攻擊和電子郵件攻擊等。

  • (1)口令入侵

口令入侵是指使用實些合法用戶的賬號和口令登錄到目的主機,然後再實施攻擊
活動。

  • (2)放置特洛伊本馬程序

特洛伊木馬(Tojas)程序常被僞裝成工具程序或遊戲,一且用戶打開了帶有特洛伊木馬程序的郵件附件或從網上直接下載,或執行了這些程序之後,當用戶連接到互聯網上時,這個程序就會向黑客通知用戶的IP地址及被預先設定的端口。

  • (3) 拒絕服務(DoS) 攻擊

拒絕服務(DoS) 攻擊目的是使計算機或網絡無法提供正常的服務。最常見的拒絕服務攻擊有網絡帶寬攻擊和連通性攻擊。帶寬攻擊指以極大的通信量衝擊網絡,使得所有可用網絡資源都被消耗殆盡,最後導致合法的用戶請求無法通過。連通性攻擊是指用大量的連接請求衝擊計算機,使得所有可用的操作系統資源都被消耗殆盡,最終計算機無法再處理合法用戶的請求。

  • (4)端口掃描

端口掃描就是利用Soket編程與目標主機的菜些端口建立TCP連接、進行傳輸協議的驗證等,從而偵知目標主機的掃描端口是否處於激活狀態、主機提供了哪些服務、提供的服務中是否含有某些缺陷等。

  • (5)網絡監聽

網絡監聽是主機的一種工作模式, 在這種模式下,主機可以接收到本網段在同一條物理通道上傳輸的所有信息。使用網絡監聽工具可輕而易舉地截取包括口令和賬號在內的信息資料。

  • (6) 欺騙攻擊

欺騙攻擊是攻擊者創造一個易於誤解的上下文環境, 以誘使受攻擊者進入並且做出缺乏安全考慮的決策。IP欺騙是欺騙攻擊的一種, IP 欺騙實現的過程是:使得被信在的主機喪失工作能力,同時採樣目標主機發出的TCP序列號,猜測出它的數據序列號。然後,僞裝成被信任的主機,同時建立起與目標主機基於地址驗證的應用連接。如果成功,黑客可以使用一種簡單的命令放置一個系統後門,以進行非授權操作。

  • ARP欺騙攻擊
    ARP攻擊(ARP欺騙)是欺騙攻擊的一種,通過僞造IP地址和MAC地址,能夠在網絡中產生大量的ARP通信量使網絡阻塞,如果僞造網關的IP地址和MAC地址對,則所有發往網關的IP包將因爲MAC地址錯誤而無法到達網關(ARP攻擊一般會將MAC地址改爲發起ARP攻擊的主機地址),造成無法跨網段通信。

3. 入侵檢測

入侵檢測技術是爲保證計算機系統的安全而設計與配置的一種能夠及時發現並報告系統中未授權或異常現象的技術,是一種用於檢測計算機網絡中違反安全策略行爲的技術。違反安全策略的行爲有:入侵—非法用戶的違規行爲;濫用—用戶的違規行爲。

入侵檢測系統所採用的技術可分爲特徵檢測與異常檢測兩種。

(1)特徵檢測。特徵檢測也稱爲誤用檢測,假設入侵者活動可以用一種模式來表示,系統的目標是檢測主體活動是否符合這些模式。它可以將已有的入侵方法檢查出來,但對新的入侵方法無能爲力。其難點在於如何設計模式既能夠表達“入侵”現象又不會將正常的活動包含進來。

(2)異常檢測。假設是入侵者活動異常於正常主體的活動。根據這一理念建立主體正常活動的“活動簡檔”,將當前主體的活動狀況與“活動簡檔”相比較,當違反其統計規律時,認爲該活動可能是“入侵”行爲。異常檢測的難題在於如何建立“活動簡檔”以及如何設計統計算法,從而 不把正常的操作作爲“入侵”或忽略真正的“入侵”行爲。

4. 防火牆

防火牆是網絡安全的第一道門戶, 可以實現內部網(信任網絡)和外部不可信任網絡之間,或者是內部網不同網絡安全區城之間的隔離與訪問控制,保證網絡系統及網絡服務的可用性。狹義的防火牆是指安裝了防火牆的軟件或路由器系統,面廣義的防火填還包括整個網絡的安全策略和安全行爲。
根據防大牆組建動構的不同,可以分爲屏蔽路由器、雙穴主機、屏蔽主機防火牆、屏子網防火牆4種基本結構:以及些變體,下面則洋細地說明了它們的優缺點與應用場合。
(1)包過濾型防火牆。它工作於網絡層對進出內部網絡的所有信息進行分析,並按用定的安全策略對進出內部網絡的信息進行限制,這種防火牆的優點是處可速度快費用低,對用戶透明。其缺點是維護比較困難,只能阻止少部分IP欺騙,不支持有效的用戶認證,日誌功能有限,過濾規則增加會大大降低吞吐量,無法對信息提供全面控制。
(2)雙宿網關防火牆。它由一臺至少裝有兩塊網卡的堡壘主機作爲防火牆,位於內外網絡之間,分別與內外網絡相離,實現物理上的隔開。它有兩種服務方式: -種是用戶直接登錄到雙宿主機上;另一種是在雙宿主機上運行代理服務器。其安全性比屏蔽路由器高。入侵者一旦得到雙穴主機的訪問權, 內部網絡就會被入侵,因此需具有強大的身份認證系統,纔可以阻擋來自外部的不可信網絡的非法入侵。
(3)屏蔽主機防火牆。它是由包過濾型防火牆和雙宿網關防火牆組合形成的一種防火牆,強迫所有的外部主機與一個堡壘主機相連接,而不讓它們直接與內部主機相連接。這種防火牆的優點是實現了網絡層安全(包過濾)和應用層安全(代理),因此安全等級比屏蔽路由器要高。其缺點是堡壘主機可能被繞過,堡壘主機與其他內部主機間沒有任何保護網絡安全的東西存在,一旦被攻破,內網就將暴露。
(4)屏蔽子網防火牆。它用了兩個屏蔽路由器和一個堡壘主機,也稱爲“單DMZ防火牆結構”。這種防火牆的優點在於定義了“非軍事區(DMZ)”網絡後,支持網絡層和應用層安全功能,在黑客攻破第一道防火牆, 進入DMZ區後,只能對DMZ區進行破壞,無法影響到內部網絡,所以這也是目前最安全的防火牆系統。

5. VPN

虛擬專用網(VPN)是企業網在因特網等公共網絡上的延伸,它通過一個私有的通道在公共網絡上創建一個安全的私有連接。因此,從本質上說VPN是一個虛信道,它可用來連接兩個專用網,通過可靠的加密技術方法保證其安全性,並且是作爲一個公共網絡的一部分存在的。實現VPN的關鍵技術主要有隧道技術、加解密技術、密鑰管理技術和身份認證技術。下圖是一個VPN構成的原理示意圖。

VPN構成原理示意圖

隧道技術是VPN關鍵技術之一(此外還包括加解密技術、密鑰管理技術和身份認證技術),它 是一種數據封裝協議,也就是將一種協議封裝在另一種協議中傳輸,從而實現被封裝協議對封裝協 議的透明性。根據其工作的層次可以分爲以下兩類。

二層隧道技術:包括PPP基礎上的PPTP(點到點隧道協議)和L2F(二層轉發協議)、L2TP(二層隧道協議);

三層隧道技術:主要代表是IPSec(IP層安全協議,它是IPv4和IPv6的安全標準)、移動IP協議 和虛擬隧道協議(VTP)。

6. 漏洞掃描

漏洞掃描系統是一種自動檢測目標主機安全弱點的程序,漏洞掃描系統的原理是根據系統漏洞庫對系統可能存在的漏洞進行一一驗證。黑 客利用漏洞掃描系統可以發現目標主機的安全漏洞從而有針對性的對系統發起攻擊:系統管理員利用漏洞掃描系統可以查找系統中存在的漏洞並進行修補從而提高系統的可靠性。漏洞掃描系統不能用於發現網絡入侵者,用於檢測網絡入侵者的系統稱爲入侵檢測系統。

三、計算機病毒與木馬

1. 病毒與木馬的概念

在計算機中,惡意代碼主要分兩類,即病毒與木馬。

病毒:一段可執行的程序代碼,通過對其他程序進行修改,可以感染這些程序,使其含有該病 毒程序的一個複製。

計算機病毒的生命週期包括4個階段:潛伏期(不做任何事,等待激活事件,並非所有病毒都有 該階段),繁殖階段(也就是傳染階段,開始複製複本),觸發階段(也就是開始執行破壞性工作 的階段),執行階段(功能完成)。

木馬:實質上是一個網絡客戶端/服務器程序(C/S),是一種基於遠程控制的黑客工具。其主要特徵包括:

不需要服務端用戶的允許就能夠獲得系統的使用權; 程序體積十分小,執行時不會佔太多的資源;執行時很難停止它的活動,並且不會在系統中顯示出來;
一次啓動後就會自動加載在系統的啓動區,在每次啓動時能夠自動運行; 一次執行後會通過更換文件名之類的方法來隱藏自己;
實現服務端用戶無法顯示執行的動作
木馬通常由服務器端和客戶端組成,服務器端將運行在被控制的主機中,而客戶端則是攻擊者 用來遠程控制的主要工具。

2. 病毒的分類

每種病毒都有 自己的名稱,從名稱通常可以判斷出該病毒的類型。

(1)系統病毒。

系統病毒的前綴爲Win32、 PE、 Win95、 W32、 w95等。這些病毒的一般共 有的特性是可以感染Windows操作系統的*.exe 和*.dl1 文件,並通過這些文件進行傳播。

(2)蠕蟲病毒。

蠕蟲病毒的前綴是Worm。這種病毒的共有特性是通過網絡或系統漏洞進行傳播,很大部分的蠕蟲病毒都有向外發送帶毒郵件,阻塞網絡的特性。比如,衝擊波(阻塞網絡)、小郵差(髮帶毒郵件)等。

(3)木馬病毒、黑客病毒。

木馬病毒其前綴是Trojan, 黑客病毒前綴名一般爲 Hack. QQ消息尾巴木馬:Trojan.QQ3344,還有大家可能遇見比較多的針對網絡遊戲的木馬病毒如Trojan.Lmir:PSW.60.

(4)腳本病毒。

腳本病毒的前綴是: Scripte. 腳本病毒的共有特性是使用腳本語言編寫,通過網頁進行的傳播的病毒,如紅色代碼(Scipt.Redleo… 腳本病毒還會有VBS、JS (表明是何種腳本編寫的)等前綴,如歡樂時光(VBS Happyim十四日(sotrgte.c)等。

(5)宏病毒。

宏病毒也是腳本病毒的一種, 由於它的特殊性,因此在這裏單獨算成類。宏病毒的前綴是Macto.第二前綴是Word, Excel 其中之一, 如Macro Word. WiteSre.美麗莎(Macro.Melissa).

(6)後門病毒。

後門病毒的前級是Backdor.該類病毒的共有特性是通過網絡傳播,給系統開後門。給用戶計算機帶來安全隱患。

(7)病毒種植程序病毒。

這類病毒的共有特性是運行時會從體內釋放出一個或幾個新的病毒到系統目錄下,由釋放出來的新病毒產生破壞,如冰河播種者(rperingHe2.2C)、 MSN射手(Dropper. WormSmibag)等。

(8)破壞性程序病毒。

破壞性程序病毒的前綴是Harm.這類病毒的共有特性是本身具有好看的圖標來誘感用戶點擊,當用戶點擊這類病毒時,病毒便會直接對用戶計算機產生破壞,如格式化C盤(Harm formatC.f、殺手命令(Harm.CommandKiller) 等。

(9)玩笑病毒。

玩笑病毒的前綴是Joke,也稱惡作劇病毒。這類病毒的共有特性是本身具有好看的圖標來誘感用戶點擊,當用戶點擊這類病毒時,病毒會做出各種破壞操作來嚇唬用戶,其實病毒並沒有對用戶計算機進行任何破壞,如女鬼(Joke.Girl ghost)病毒。

(10)捆綁機病毒。

捆綁機病毒的前綴是Binder.這類病毒的共有特性是病毒作者會使用特定的捆綁程序將病毒與些應用程序如QQ、 IE捆綁起來,表面上看是一個正常的文件。當用戶運行這些捆終病毒時,會表面上運行這些應用程序,然後隱藏運行捆綁在一起的病毒, 從而給用戶造成危害,如據綁QQ0 (indreQssQQBin).系統殺手(Binder kly等。


原文鏈接:軟件設計師筆記之信息安全知識

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章