- 零基礎(chǔ)學(xué)Java項目開發(fā)
- 聚慕課教育研發(fā)中心編著
- 7225字
- 2022-07-28 18:41:31
2.4 接口的安全控制策略
在設(shè)計開放平臺接口過程中,往往會涉及與接口傳輸安全性相關(guān)的問題。本節(jié)對接口加密及簽名等的相關(guān)知識做了總結(jié),以期分享給讀者作為參考。
2.4.1 安全評估
安全評估的基本概念有以下幾點。
1.基本目標(biāo)
安全評估與測試用以實現(xiàn)以下目標(biāo)。
(1)衡量系統(tǒng)和能力開發(fā)進(jìn)展。
(2)為協(xié)助在開發(fā)、生產(chǎn)、運營和維護(hù)系統(tǒng)性能過程中的風(fēng)險管理提供相應(yīng)的知識。
(3)專長就是對系統(tǒng)生命周期在開發(fā)過程中提供系統(tǒng)強(qiáng)度和弱點的初期認(rèn)知。
(4)能夠在部署系統(tǒng)前識別技術(shù)的操作和系統(tǒng)的缺陷,以便及時糾正行為。
(5)安全評估和測試包含廣泛的現(xiàn)行和基于時間點的測試方法,用于確定脆弱性及其相關(guān)風(fēng)險。
2.策略
評估和測試策略的內(nèi)容包括獲取/開發(fā)流程、提供的能力要求及技術(shù)驅(qū)動所需要的能力。
(1)審計需求:符合相關(guān)法律、法規(guī)的要求。
(2)合規(guī):等級保護(hù)、分級保護(hù)。
(3)業(yè)務(wù)驅(qū)動:提升核心競爭力、減少開支和更快速地部署、應(yīng)用新的應(yīng)用功能。組織常更新外包服務(wù)商的監(jiān)控流程及管理與外包的風(fēng)險。
3.安全評估內(nèi)容
(1)確定測試的范圍:評估的網(wǎng)絡(luò)范圍是多少?
(2)是否需要查看用戶的相關(guān)操作,如密碼、文件和日志條目或用戶行為。
(3)評估哪些信息的機(jī)密性、完整性和可用性。
(4)涉及哪些隱私問題。
(5)如何評估流程及評估到什么程度。
4.評估流程
評估流程如圖2-1所示。

圖2-1 評估流程
審計團(tuán)隊可以分為內(nèi)部審計和外部審計。下面對內(nèi)部審計和外部審計的優(yōu)缺點進(jìn)行依次介紹。
1)內(nèi)部審計
優(yōu)點:
(1)熟悉組織的內(nèi)部運轉(zhuǎn)。
(2)工作效率高。
(3)評估工作更加靈活,隨時可開始工作。
(4)可實現(xiàn)持續(xù)改進(jìn)的安全態(tài)勢。
缺點:
(1)手段和技術(shù)受限。
(2)可能存在利益沖突,致使對有些問題不愿意進(jìn)行披露。
2)外部審計
優(yōu)點:
(1)經(jīng)驗豐富。
(2)不了解內(nèi)部組織目標(biāo)和政治,易于保持客觀、中立的主場。
缺點:
(1)成本高。
(2)對系統(tǒng)不了解,需要花費時間去熟悉。
(3)仍然需要處理增加的資源來組織并監(jiān)督其工作。
2.4.2 訪問控制
訪問控制就是將系統(tǒng)中的所有功能標(biāo)識出來,并組織、托管起來,然后提供一個簡單的、唯一的接口。這個接口的一端是應(yīng)用系統(tǒng),另一端是權(quán)限引擎。權(quán)限引擎主要是檢測誰是否對某資源具有實施某個動作(計算)的權(quán)限,返回的結(jié)果有3種:有、沒有、權(quán)限引擎異常。
訪問控制是網(wǎng)絡(luò)安全防范和保護(hù)的主要策略,主要任務(wù)是保證網(wǎng)絡(luò)資源不被非法使用。也可以說,它是保證網(wǎng)絡(luò)安全最重要的核心策略之一。其訪問控制是指按用戶身份及其所歸屬的某項定義組來限制用戶對某些信息項的訪問,或限制對某些控制功能使用的一種技術(shù)。
訪問控制涉及以下3個基本概念。
(1)主體:主體是一個主動的實體,它包括用戶、用戶組、終端、主機(jī)或一個應(yīng)用程序等。主體可以訪問客體。
(2)客體:客體是一個被動的實體,對客體的訪問要受控。它可以是一個字節(jié)、字段、記錄、程序、文件,或者是一個處理器、存儲器、網(wǎng)絡(luò)節(jié)點等。
(3)訪問授權(quán):訪問授權(quán)是指對主體訪問客體的允許。訪問授權(quán)對每一對主體和客體來說是給定的。例如,訪問授權(quán)有讀寫、執(zhí)行,讀寫客體是直接進(jìn)行的,而執(zhí)行是指搜索文件、執(zhí)行文件等。用戶的授權(quán)訪問是由系統(tǒng)的安全策略決定的。
訪問控制的常用技術(shù)控制手段及策略如下。
1)入網(wǎng)訪問控制
(1)權(quán)限控制。
(2)屬性安全控制。
(3)目錄級安全控制。
(4)服務(wù)器安全控制。
2)訪問控制策略
(1)自主訪問控制。
(2)強(qiáng)制訪問控制。
(3)基于角色的訪問控制。
2.4.3 入侵檢測
通過收集和分析網(wǎng)絡(luò)行為、安全日志、審計數(shù)據(jù),檢查網(wǎng)絡(luò)或系統(tǒng)中是否存在違反安全策略的行為和被攻擊的跡象,這種操作稱為入侵檢測(Intrusion Detection)。入侵檢測也是一種安全防護(hù)技術(shù),它提供了對內(nèi)部攻擊、外部攻擊和誤操作的實時保護(hù),提前攔截和響應(yīng)入侵以保護(hù)網(wǎng)絡(luò)系統(tǒng)不受傷害。入侵檢測可以在不影響網(wǎng)絡(luò)性能的情況下對網(wǎng)絡(luò)進(jìn)行監(jiān)測,因此,入侵檢測被認(rèn)為是繼防火墻之后的第二道安全之門。入侵檢測通過執(zhí)行以下任務(wù)來實現(xiàn)。
(1)監(jiān)視、分析用戶及系統(tǒng)活動。
(2)系統(tǒng)構(gòu)造和弱點的審計。
(3)識別反映有攻擊意向的活動模式并向相關(guān)人士報警。
(4)異常行為模式的統(tǒng)計分析。
(5)評估重要系統(tǒng)和數(shù)據(jù)文件的完整性。
(6)操作系統(tǒng)的審計跟蹤管理,并識別用戶違反安全策略的行為。
入侵檢測聯(lián)合防火墻一起幫助系統(tǒng)對付來自外部的網(wǎng)絡(luò)攻擊,擴(kuò)展了系統(tǒng)管理員的安全管理能力(包括安全審計、監(jiān)視、進(jìn)攻識別和響應(yīng)),提高了信息安全結(jié)構(gòu)的完整性。入侵檢測主要從計算機(jī)網(wǎng)絡(luò)系統(tǒng)中的若干關(guān)鍵點收集并分析信息,查看網(wǎng)絡(luò)中是否有違反安全策略的行為和遭到襲擊的跡象。
入侵檢測技術(shù)用于檢測計算機(jī)網(wǎng)絡(luò)中違反安全策略的行為,它是為保證計算機(jī)系統(tǒng)的安全而設(shè)計與配置的一種能夠及時發(fā)現(xiàn)并報告系統(tǒng)中未授權(quán)或異常現(xiàn)象的技術(shù)。入侵檢測技術(shù)依賴于入侵檢測系統(tǒng)。入侵檢測系統(tǒng)所采用的技術(shù)可分為特征檢測和異常檢測兩種。
1.特征檢測
特征檢測(Signature-based Detection)可以將已有的入侵方法檢查出來,但對新的入侵方法無能為力。特征檢測系統(tǒng)的目標(biāo)是檢查主體活動是否符合某些模式,以及如何設(shè)計該模式既能夠檢測“入侵”現(xiàn)象又不會將正常的活動檢測出來。
2.異常檢測
異常檢測(Anomaly Detection)是假設(shè)入侵者活動異常于正常主體的活動。根據(jù)這一假設(shè)建立主體應(yīng)有的正常活動,將當(dāng)前主體的活動狀況與主體應(yīng)有的正常活動相比較,當(dāng)違反其統(tǒng)計規(guī)律時,認(rèn)為該活動可能是“入侵”行為。
2.4.4 動態(tài)口令認(rèn)證
動態(tài)口令認(rèn)證系統(tǒng)是一種采用時間同步技術(shù)的系統(tǒng),它采用了基于時間、事件和密鑰3變量而產(chǎn)生的一次性密碼來代替?zhèn)鹘y(tǒng)的靜態(tài)密碼。
每個動態(tài)密碼卡都有唯一的密鑰,該密鑰同時存放在服務(wù)器端。每次認(rèn)證時,動態(tài)密碼卡與服務(wù)器分別根據(jù)同樣的密鑰、同樣的隨機(jī)參數(shù)(時間、事件)和同樣的算法計算認(rèn)證的動態(tài)密碼,以確保密碼的一致性,從而實現(xiàn)了用戶的認(rèn)證。因每次認(rèn)證時的隨機(jī)參數(shù)不同,所以每次產(chǎn)生的動態(tài)密碼也不同。由于每次計算時參數(shù)的隨機(jī)性保證了每次密碼的不可預(yù)測性,從而在最基本的密碼認(rèn)證這一環(huán)節(jié)保證了系統(tǒng)的安全性。例如,解決因口令欺詐而導(dǎo)致的重大損失、防止惡意入侵者或人為破壞、解決由口令泄密導(dǎo)致的入侵問題等。
隨著信息化進(jìn)程的深入和計算機(jī)技術(shù)的發(fā)展,網(wǎng)絡(luò)化已經(jīng)成為企業(yè)信息化的發(fā)展大趨勢。人們在享受信息化帶來的眾多好處的同時,網(wǎng)絡(luò)安全問題已成為信息時代人類共同面臨的挑戰(zhàn),應(yīng)對網(wǎng)絡(luò)信息安全問題已成為當(dāng)務(wù)之急。為了解決這些安全問題,各種安全機(jī)制、策略和工具等紛紛被研究和應(yīng)用。然而,即使在使用了現(xiàn)有的安全工具和機(jī)制的情況下,網(wǎng)絡(luò)的安全仍然存在很大隱患。
這些安全隱患主要可以歸結(jié)為以下幾點。
(1)每一種安全機(jī)制都有一定的應(yīng)用范圍和應(yīng)用環(huán)境。
(2)安全工具的使用受到人為因素的影響。
(3)系統(tǒng)的后門是傳統(tǒng)安全工具難于考慮到的地方。
(4)黑客的攻擊手段在不斷地更新。
2.4.5 安全審計
信息安全審計主要是指對系統(tǒng)中與安全有關(guān)活動的相關(guān)信息進(jìn)行識別、記錄、存儲和分析。信息安全審計的記錄用于檢查網(wǎng)絡(luò)上發(fā)生了哪些與安全有關(guān)的活動,誰(用戶)對這個活動負(fù)責(zé)。
安全審計(Security Audit)是一個新概念,它是指由專業(yè)審計人員根據(jù)有關(guān)的法律法規(guī)、財產(chǎn)所有者的委托和管理當(dāng)局的授權(quán),對計算機(jī)網(wǎng)絡(luò)環(huán)境下的有關(guān)活動或行為進(jìn)行系統(tǒng)的、獨立的檢查驗證,并做出相應(yīng)評價。安全審計是通過測試公司信息系統(tǒng)對一套確定標(biāo)準(zhǔn)的符合程度來評估其安全性的系統(tǒng)方法。
安全審計涉及4個基本要素:控制目標(biāo)、安全漏洞、控制措施和控制測試。其中,控制目標(biāo)是指企業(yè)根據(jù)具體的計算機(jī)應(yīng)用,結(jié)合單位實際制定出的安全控制要求;安全漏洞是指系統(tǒng)的安全薄弱環(huán)節(jié)、容易被干擾或破壞的地方;控制措施是指企業(yè)為實現(xiàn)其安全控制目標(biāo)所制定的安全控制技術(shù)、配置方法及各種規(guī)范制度;控制測試是指將企業(yè)的各種安全控制措施與預(yù)定的安全標(biāo)準(zhǔn)進(jìn)行一致性比較,確定各項控制措施是否存在、是否得到執(zhí)行、對漏洞的防范是否有效,以評價企業(yè)安全措施的可依賴程度。顯然,安全審計作為一個專門的審計項目,要求審計人員必須具有較強(qiáng)的專業(yè)技術(shù)知識與技能。
2.4.6 防止惡意代碼
惡意代碼是一種程序,它通過把代碼在不被察覺的情況下鑲嵌到另一段程序中,從而達(dá)到破壞被感染計算機(jī)數(shù)據(jù)、運行具有入侵性或破壞性的程序、破壞被感染計算機(jī)數(shù)據(jù)的安全性和完整性的目的。
惡意代碼的危害主要表現(xiàn)在以下幾個方面。
(1)破壞數(shù)據(jù):很多惡意代碼發(fā)作時直接破壞計算機(jī)的重要數(shù)據(jù),所利用的手段有格式化硬盤、改寫文件分配表和目錄區(qū)、刪除重要文件或者用無意義的數(shù)據(jù)覆蓋文件等。
(2)占用磁盤存儲空間:引導(dǎo)型病毒的侵占方式通常是病毒程序本身占據(jù)磁盤引導(dǎo)扇區(qū),被覆蓋扇區(qū)的數(shù)據(jù)將永久性丟失、無法恢復(fù)。文件型的病毒利用一些DOS功能進(jìn)行傳染,檢測出未用空間后把病毒的傳染部分寫進(jìn)去,所以一般不會破壞原數(shù)據(jù),但會非法侵占磁盤空間,文件會不同程度的加長。
(3)搶占系統(tǒng)資源:大部分惡意代碼在動態(tài)下都是常駐內(nèi)存的,必然搶占一部分系統(tǒng)資源,致使一部分軟件不能運行。惡意代碼總是修改一些有關(guān)的中斷地址,在正常中斷過程中加入病毒體,干擾系統(tǒng)運行。
(4)影響計算機(jī)運行速度:惡意代碼不僅占用系統(tǒng)資源、覆蓋存儲空間,還會影響計算機(jī)運行速度。例如,惡意代碼會監(jiān)視計算機(jī)的工作狀態(tài),伺機(jī)傳染激發(fā);還有些惡意代碼會為了保護(hù)自己,對磁盤上的惡意代碼進(jìn)行加密,致使CPU要多執(zhí)行解密和加密進(jìn)程,額外執(zhí)行了上萬條指令。
為了確保系統(tǒng)的安全與運行暢通,現(xiàn)已有多種惡意代碼的防范技術(shù),如惡意代碼分析技術(shù)、誤用檢測技術(shù)、權(quán)限控制技術(shù)和完整性技術(shù)等。惡意代碼分析是一個多步過程,它深入研究惡意軟件結(jié)構(gòu)和功能,有利于對抗措施的發(fā)展。按照分析過程中惡意代碼的執(zhí)行狀態(tài),可以把惡意代碼分析技術(shù)分成靜態(tài)分析技術(shù)和動態(tài)分析技術(shù)兩大類。
1.靜態(tài)分析技術(shù)
靜態(tài)分析技術(shù)是指在不執(zhí)行二進(jìn)制程序的條件下,利用分析工具對惡意代碼的靜態(tài)特征和功能模塊進(jìn)行分析的技術(shù)。該技術(shù)不僅可以找到惡意代碼的特征字符串、特征代碼段等,而且可以得到惡意代碼的功能模塊和各個功能模塊的流程圖。由于惡意代碼從本質(zhì)上是由計算機(jī)指令構(gòu)成的,因此根據(jù)分析過程是否考慮構(gòu)成惡意代碼的計算機(jī)指令語義,可以把靜態(tài)分析技術(shù)分成以下兩種。
(1)基于代碼特征的分析技術(shù)。在基于代碼特征的分析過程中,不考慮惡意代碼的指令意義,而是分析指令的統(tǒng)計特性、代碼的結(jié)構(gòu)特性等。例如在某個特定的惡意代碼中,這些靜態(tài)數(shù)據(jù)會在程序的特定位置出現(xiàn),并且不會隨著程序復(fù)制副本而變化,所以完全可以使用這些靜態(tài)數(shù)據(jù)和其出現(xiàn)的位置作為描述惡意代碼的特征。當(dāng)然有些惡意代碼在設(shè)計過程中,考慮到信息暴露的問題而將靜態(tài)數(shù)據(jù)進(jìn)行拆分,甚至不使用靜態(tài)數(shù)據(jù),這種情況就只能通過語義分析或者動態(tài)跟蹤分析得到具體信息了。
(2)基于代碼語義的分析技術(shù)。基于代碼語義的分析技術(shù)要求考慮構(gòu)成惡意代碼的指令含義,通過理解指令語義建立惡意代碼的流程圖和功能框圖,進(jìn)一步分析惡意代碼的功能結(jié)構(gòu)。因此,在該技術(shù)的分析過程中,首先使用反匯編工具對惡意代碼執(zhí)行體進(jìn)行反匯編,然后通過理解惡意代碼的反匯編程序了解惡意代碼的功能。從理論上講,通過這種技術(shù)可以得到惡意代碼的所有功能特征。但是,基于語義的惡意代碼分析技術(shù)主要還是依靠人工來完成。人工分析的過程中需要花費分析人員的大量時間,對分析人員本身的要求也很高。
采用靜態(tài)分析技術(shù)來分析惡意代碼最大的優(yōu)勢在于,可以避免惡意代碼執(zhí)行過程對分析系統(tǒng)的破壞。但是它本身存在以下兩個缺陷。
(1)由于靜態(tài)分析本身的局限性,導(dǎo)致出現(xiàn)問題的不可判定。
(2)絕大多數(shù)靜態(tài)分析技術(shù)只能識別出已知的病毒或惡意代碼,對多態(tài)變種和加殼病毒則無能為力。無法檢測未知的惡意代碼是靜態(tài)分析技術(shù)的一大缺陷。
2.動態(tài)分析技術(shù)
動態(tài)分析技術(shù)是指在惡意代碼執(zhí)行的情況下,利用程序調(diào)試工具對惡意代碼實施跟蹤和觀察,確定惡意代碼的工作過程,對靜態(tài)分析結(jié)果進(jìn)行驗證。根據(jù)分析過程中是否需要考慮惡意代碼的語義特征,將動態(tài)分析技術(shù)分為以下兩種。
(1)外部觀察技術(shù)。外部觀察技術(shù)是利用系統(tǒng)監(jiān)視工具觀察惡意代碼運行過程中系統(tǒng)環(huán)境的變化,通過分析這些變化判斷惡意代碼功能的一種分析技術(shù)。
通過觀察惡意代碼運行過程中系統(tǒng)文件、系統(tǒng)配置和系統(tǒng)注冊表的變化就可以分析惡意代碼的自啟動實現(xiàn)方法和進(jìn)程隱藏方法:由于惡意代碼作為一段程序在運行過程中通常會對系統(tǒng)造成一定的影響,所以有些惡意代碼為了保證自己的自啟動功能和進(jìn)程隱藏的功能,通常會修改系統(tǒng)注冊表和系統(tǒng)文件,或者會修改系統(tǒng)配置。
通過觀察惡意代碼運行過程中的網(wǎng)絡(luò)活動情況可以了解惡意代碼的網(wǎng)絡(luò)功能。惡意代碼通常會有一些比較特別的網(wǎng)絡(luò)行為,例如:通過網(wǎng)絡(luò)進(jìn)行傳播、繁殖和拒絕服務(wù)攻擊等破壞活動;通過網(wǎng)絡(luò)進(jìn)行詐騙等犯罪活動;通過網(wǎng)絡(luò)將搜集到的機(jī)密信息傳遞給惡意代碼的控制者,或者在本地開啟一些端口、服務(wù)等后門等待惡意代碼控制者對受害主機(jī)的控制訪問。
雖然通過觀察惡意代碼執(zhí)行過程對系統(tǒng)的影響可以得到的信息有限,但是這種分析方法相對簡單且效果明顯,已經(jīng)成為分析惡意代碼的常用手段之一。
(2)跟蹤調(diào)試技術(shù)。跟蹤調(diào)試技術(shù)是通過跟蹤惡意代碼執(zhí)行過程使用的系統(tǒng)函數(shù)和指令特征分析惡意代碼功能的技術(shù)。在實際分析過程中,跟蹤調(diào)試可以采用以下兩種方法。
①單步跟蹤惡意代碼執(zhí)行過程,即監(jiān)視惡意代碼的每一個執(zhí)行步驟,在分析過程中也可以在適當(dāng)?shù)臅r候執(zhí)行惡意代碼的一個片段。這種分析方法可以全面監(jiān)視惡意代碼的執(zhí)行過程,但是分析過程相當(dāng)耗時。
②利用系統(tǒng)hook技術(shù)監(jiān)視惡意代碼執(zhí)行過程中的系統(tǒng)調(diào)用和API使用狀態(tài)來分析惡意代碼的功能,這種方法經(jīng)常用于惡意代碼檢測。
3.誤用檢測技術(shù)
誤用檢測也被稱為基于特征字的檢測。它是目前檢測惡意代碼最常用的技術(shù),主要源于模式匹配的思想。其檢測過程中根據(jù)惡意代碼的執(zhí)行狀態(tài)又分為靜態(tài)檢測和動態(tài)檢測。靜態(tài)檢測是指在脫機(jī)狀態(tài)下對計算機(jī)上存儲的所有代碼進(jìn)行掃描;動態(tài)檢測則是指實時對到達(dá)計算機(jī)的所有數(shù)據(jù)進(jìn)行檢查掃描,并在程序運行過程中對內(nèi)存中的代碼進(jìn)行掃描檢測。
誤用檢測的實現(xiàn)過程為:①根據(jù)已知惡意代碼的特征關(guān)鍵字建立一個惡意代碼特征庫;②對計算機(jī)程序代碼進(jìn)行掃描;③與特征庫中的已知惡意代碼關(guān)鍵字進(jìn)行匹配比較,從而判斷被掃描程序是否感染惡意代碼。
4.權(quán)限控制技術(shù)
惡意代碼要實現(xiàn)入侵、傳播和破壞等,必須具備足夠權(quán)限。首先,惡意代碼只有被運行才能實現(xiàn)其惡意目的,所以惡意代碼進(jìn)入系統(tǒng)后必須具有運行權(quán)限。其次,被運行的惡意代碼如果要修改、破壞其他文件,則它必須具有對該文件的寫權(quán)限,否則會被系統(tǒng)禁止。另外,如果惡意代碼要竊取其他文件信息,它也必須具有對該文件的讀權(quán)限。
權(quán)限控制技術(shù)通過適當(dāng)?shù)乜刂朴嬎銠C(jī)系統(tǒng)中程序的權(quán)限,使程序僅僅具有完成正常任務(wù)的最小權(quán)限。即使該程序中包含惡意代碼,該惡意代碼也不能或不能完全實現(xiàn)其惡意目的。
5.完整性技術(shù)
惡意代碼感染、破壞其他目標(biāo)系統(tǒng)的過程也是破壞這些目標(biāo)完整性的過程。完整性技術(shù)就是通過保證系統(tǒng)資源(特別是系統(tǒng)中重要資源)的完整性不受破壞來阻止惡意代碼對系統(tǒng)資源的感染和破壞。
校驗和法是完整性控制技術(shù)對信息資源實現(xiàn)完整性保護(hù)的一種手段。它主要通過Hash值和循環(huán)冗余碼來實現(xiàn),即首先將為未被惡意代碼感染的系統(tǒng)生成檢測數(shù)據(jù),然后周期性地使用校驗方法檢測文件的改變情況,只要文件內(nèi)部有一個比特發(fā)生了變化,校驗和值就會改變。運用校驗和法檢查惡意代碼有3種方法。
(1)在惡意代碼檢測軟件中設(shè)置校驗和法。為檢測的對象文件計算正常狀態(tài)的校驗和,并將其寫入被查文件中或檢測工具中,而后進(jìn)行比較。
(2)在應(yīng)用程序中嵌入校驗和法。將文件正常狀態(tài)的校驗和寫入文件本身中,每當(dāng)應(yīng)用程序啟動時,比較現(xiàn)行校驗和與原始校驗和,實現(xiàn)應(yīng)用程序的自我檢測功能。
(3)將校驗和程序常駐內(nèi)存。每當(dāng)應(yīng)用程序開始運行時,自動比較檢查應(yīng)用程序內(nèi)部或別的文件中預(yù)留保存的校驗和。
校驗和法能夠檢測未知惡意代碼對目標(biāo)文件的修改,但存在以下兩個缺點。
(1)校驗和法實際上不能檢測目標(biāo)文件是否被惡意代碼感染,它只是查找文件的變化,而且即使發(fā)現(xiàn)文件發(fā)生了變化,既無法將惡意代碼消除,又不能判斷所感染的惡意代碼類型。
(2)校驗和法常被惡意代碼通過多種手段欺騙,使檢測失效,而誤判斷文件沒有發(fā)生改變。
在惡意代碼對抗與反對抗的發(fā)展過程中,還存在其他一些防御惡意代碼的技術(shù)和方法。例如常用的有網(wǎng)絡(luò)隔離技術(shù)和防火墻控制技術(shù),以及基于生物免疫的病毒防范技術(shù)、基于移動代理的惡意代碼檢測技術(shù)等。
2.4.7 接口加密
加密主要分為對稱加密和非對稱加密,下面簡單對它們進(jìn)行介紹。
(1)對稱加密:它的特點是文件加密和解密使用相同的密鑰,即加密密鑰也可以用作解密密鑰。這種方法在密碼學(xué)中稱為對稱加密算法,例如AES。
(2)非對稱加密:它的特點是加密和解密使用的是不同的密鑰,即公鑰加密則私鑰解密,私鑰加密則公鑰解密,例如RSA。
采取非對稱加密的優(yōu)缺點如下。
優(yōu)點:相對于對稱加密,非對稱加密安全性遠(yuǎn)遠(yuǎn)高于對稱加密,能夠保證在數(shù)據(jù)傳輸中數(shù)據(jù)被劫持后不易被破解。
缺點:非對稱加密的密鑰為1024bit時最多只能加密117個字符,而且加解密相對于對稱加密速度會慢。目前接口和App交互數(shù)據(jù)較多時,只能采取分段加密后再拼裝的方式,解密時也需要分段解密,該加密方法不適合當(dāng)前的使用場景。
簽名、驗簽的加密方式:簽名是指數(shù)據(jù)加密時加入數(shù)據(jù)的特性,根據(jù)算法進(jìn)行計算;驗簽是指當(dāng)數(shù)據(jù)解密時,根據(jù)相同的算法重新計算此數(shù)據(jù)的特性,計算后將其與加密時生成的唯一特性進(jìn)行比較,如果相同,證明數(shù)據(jù)是正確的,沒有損壞或篡改。
加密方式還可以采用非對稱加密、對稱加密和簽名組合一起的方式,這是因為簽名用于驗證數(shù)據(jù)是否完整(不可少),而非對稱加密對數(shù)據(jù)內(nèi)容大小有限制且效率沒有對稱加密效率高,但是安全性高。應(yīng)用該組合加密方式的具體流程是:對數(shù)據(jù)先進(jìn)行對稱加密,再進(jìn)行簽名,把數(shù)據(jù)加密的密鑰進(jìn)行非對稱加密;在進(jìn)行數(shù)據(jù)解密時,先進(jìn)行非對稱解密,還原出對數(shù)據(jù)加密的密鑰,再用此密鑰解密加密數(shù)據(jù)。
- Advanced Splunk
- 程序員面試筆試寶典(第3版)
- DevOps with Kubernetes
- 大學(xué)計算機(jī)應(yīng)用基礎(chǔ)實踐教程
- 程序員考試案例梳理、真題透解與強(qiáng)化訓(xùn)練
- 人人都懂設(shè)計模式:從生活中領(lǐng)悟設(shè)計模式(Python實現(xiàn))
- 從Excel到Python:用Python輕松處理Excel數(shù)據(jù)(第2版)
- 數(shù)據(jù)結(jié)構(gòu)習(xí)題解析與實驗指導(dǎo)
- Python從入門到精通
- Deep Learning with R Cookbook
- Elasticsearch Essentials
- Programming Microsoft Dynamics? NAV 2015
- 深入實踐DDD:以DSL驅(qū)動復(fù)雜軟件開發(fā)
- WebStorm Essentials
- Flink入門與實戰(zhàn)