第十一章-OAV代碼分析與使用配置_第1頁(yè)
第十一章-OAV代碼分析與使用配置_第2頁(yè)
第十一章-OAV代碼分析與使用配置_第3頁(yè)
第十一章-OAV代碼分析與使用配置_第4頁(yè)
第十一章-OAV代碼分析與使用配置_第5頁(yè)
已閱讀5頁(yè),還剩28頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

本章學(xué)習(xí)目標(biāo)了解殺毒引擎的框架駕馭OAV運(yùn)用方法OAV簡(jiǎn)介OAV(OpenAntiVirus)項(xiàng)目(://)是在2000年8月30日由德國(guó)開(kāi)源愛(ài)好者發(fā)起,旨在為開(kāi)源社區(qū)的反病毒開(kāi)發(fā)者供應(yīng)一個(gè)溝通和項(xiàng)目管理的資源平臺(tái)。該項(xiàng)目具有明確的路途圖:為網(wǎng)絡(luò)(郵件服務(wù)器、internet網(wǎng)關(guān)、文件服務(wù)器等)終端用戶和企業(yè)客戶供應(yīng)病毒防護(hù)的開(kāi)源解決方案。為網(wǎng)絡(luò)終端用戶和企業(yè)客戶供應(yīng)計(jì)算機(jī)和網(wǎng)絡(luò)平安的開(kāi)源解決方案。研發(fā)開(kāi)源的掃描引擎,從而使將來(lái)的平安需求不再依靠于商業(yè)供應(yīng)商。通過(guò)開(kāi)源系統(tǒng)和軟件產(chǎn)品,為系統(tǒng)管理員供應(yīng)系統(tǒng)復(fù)原實(shí)力。建立網(wǎng)站,供應(yīng)最新的病毒和平安信息。建立How-To項(xiàng)目供應(yīng)相關(guān)信息和白皮書(shū),用戶和系統(tǒng)管理員可以通過(guò)該項(xiàng)目供應(yīng)的信息,利用開(kāi)源平安解決方案,從而確定反病毒策略。項(xiàng)目組成:ScannerDaemon,VirusHammer和PatternFinder是符合GPL規(guī)范的病毒掃描器的一個(gè)簡(jiǎn)潔而基礎(chǔ)的實(shí)現(xiàn),用Java語(yǔ)言寫(xiě)成。squid-vscan可以利用SquidHttp-Proxy掃描網(wǎng)絡(luò)流量,從而偵測(cè)病毒。samba-vsan利用samba服務(wù)器供應(yīng)on-access病毒掃描。最新的SUSELinux已經(jīng)包含了該工具。此外,很多開(kāi)源愛(ài)好者還開(kāi)發(fā)了很多小工具,具體狀況參見(jiàn):///projects.phpScannerDaemon架構(gòu)ScannerDaemon基本上可以分為如下幾個(gè)模塊:掃描引擎模塊掃描配置模塊病毒簽名文件解析模塊文件系統(tǒng)支持模塊(掃描目標(biāo)文件/文件夾時(shí)所須要)Main-class類主要包括兩個(gè)重要的類:RequestHandlerScannerDaemon掃描配置模塊該模塊(源代碼的組織結(jié)構(gòu)看,可歸入到掃描引擎模塊中,這里單獨(dú)拿出來(lái)分析)。該模塊主要包括兩個(gè)類:WriteableScanConfiguration這個(gè)類放了一些掃描引擎的屬性名。DefaultScanConfiguration該類是默認(rèn)的屬性配置類,其構(gòu)造函數(shù)就是對(duì)掃描引擎的屬性賦以默認(rèn)值。病毒簽名模塊這個(gè)模塊中涉及到的類/接口包括CredoFile類、CredoEntry類、PositionFoundEvent類、PositionFoundListener接口、StringFoundListener類、StringsParser類、WildcardPattern類、StringFinder類等,其中StringsParser類、WildcardPattern類和StringFinder類尤為重要。病毒簽名文件首先看看病毒簽名文件究竟是什么形式。下載VirusSignatures-latest.zip,然后解壓縮,可以看到里面包括clamav.strings和clamav2.strings兩個(gè)子文件,這兩個(gè)子文件可以用notepad文本工具打開(kāi)。摘取clamav2.strings文件中的一段內(nèi)容如下(一行):Oror-fam(Clam)[1*0*3*0*3]=495243*56697275*53455859330F5455*4B617A61*536E617073686F摘取clamav.strings文件中的一段內(nèi)容如下(一行):Eicar-Test-Signature[32]=58354F2150254041505B345C505A58353428505E2937434329377D2445494341522D5354414E4441從這段代碼大致可以認(rèn)為,Oror-fam(Clam)、VBS.Kristen等為病毒名稱,[1*0*3*0*3]=495243*56697275*53455859330F5455*4B617A61*536E617073686F等字串為該病毒的一段特征模式串。CredoFile類該類只是把一般文件包裝成jar格式輸入流CredoEntry類依據(jù)(病毒簽名文件)的介紹,病毒簽名文件.credo文件是一個(gè)jarpackage,這個(gè)package里的每一個(gè)文件就用一個(gè)credoEntry類實(shí)例來(lái)表示。這個(gè)類特別簡(jiǎn)潔,此處不做進(jìn)一步分析。CredoParser類這個(gè)類的作用是:在指定的書(shū)目下查找.credo文件,供StringsParser類解析.credo文件的具體內(nèi)容。StringsParser類這個(gè)類具體完成對(duì).strings文件的解析。WildcardPattern類這個(gè)類是用來(lái)處理不包含“*”字符的模式串,即模式串具有統(tǒng)一的形式,無(wú)須用“*”字符分隔開(kāi),例如(5.StringsParser類)節(jié)中文本行2和3中“=”后面的模式串。該類是病毒簽名模塊中的一個(gè)重要類。StringFinder類這個(gè)類是病毒簽名模塊中的核心類,該類具體保存了各種病毒的名稱和特征串,并給每個(gè)相應(yīng)的病毒加上了一個(gè)偵聽(tīng)器。掃描引擎模塊這個(gè)模塊是ScannerDaemon的中心模塊,先簡(jiǎn)潔看看對(duì)幾個(gè)與事務(wù)偵聽(tīng)器有關(guān)的類/接口,然后按著掃描的整個(gè)過(guò)程逐個(gè)對(duì)相關(guān)類分析。主要包括PositionFoundEvent類、PositionFoundListener接口和StringFoundListener類。MatchArray類這個(gè)類包括兩方面的功能。第一,依據(jù)病毒簽名文件,建立模式串hash表,在ScanEngine類的初始化函數(shù)中,調(diào)用函數(shù)loadCredoFiles(scanConfiguration),這個(gè)函數(shù)經(jīng)過(guò)層層調(diào)用,最終調(diào)用MatchArray類的addString函數(shù)建立hash表。其次,通過(guò)調(diào)用createCensor函數(shù)返回MatchArrayCensor類實(shí)例,而MatchArrayCensor類供應(yīng)對(duì)文件的掃描。文件系統(tǒng)支持模塊文件系統(tǒng)支持模塊主要包括VfsEnty類、FileVfsEntry類、VfsContainerFactory接口、ScanEngine類和容器類等。VfsEntry類這是個(gè)抽象類,表示一個(gè)文件/文件夾節(jié)點(diǎn)。FileVfsEntry類該類是VfsEntry抽象類的子類。該類實(shí)現(xiàn)了VfsEntry中為定義的抽象函數(shù)。測(cè)試實(shí)例test1.txt(不含病毒):It'sagoodday!test2.txt(含Eicar-Test-Signature病毒):X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*test3.txt(含W32.GriYo病毒):CodedbyGriYo29AW32.GriYotest4.txt(不含病毒):29ACodedbyGriYoW32.GriYotest5.txt(含Eicar-Test-Signature和W32.GriYo病毒):X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*CodedbyGriYo29AW32.GriYotest6.zip(含含Eicar-Test-Signature和W32.GriYo病毒):包含test2.txt和test3.txt兩個(gè)子文件test7.zip(不含任何病毒):包含test1.txt和test4.txt兩個(gè)子文件1.對(duì)不含病毒模式串文件的測(cè)試測(cè)試文件名為test1.txt(放在項(xiàng)目文件夾下),內(nèi)容為:It'sagoodday!客戶端和服務(wù)器建立telnet連接后,輸入scantest1.txt就會(huì)在客戶端吩咐行窗口中輸出:OK表明未發(fā)覺(jué)任何病毒。2.對(duì)第一類模式串的測(cè)試測(cè)試文件名為test2.txt(放在項(xiàng)目文件夾下),內(nèi)容為:X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*其中X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDA是Eicar-Test-Signature[32]病毒的模式串58354F2150254041505B345C505A58353428505E2937434329377D2445494341522D5354414E4441翻譯后得到的字符串(每?jī)蓚€(gè)16進(jìn)制碼翻譯成一個(gè)ascii字符,例如58—X,35—5),運(yùn)行ScannerDaemon,然后客戶端連接telnetlocalhost8127之后輸入scantest2.txt,就會(huì)輸出Found‘Eicar-Test-Signature’in‘test2.txt’。說(shuō)明匹配成功。3.對(duì)第三類模式串的測(cè)試測(cè)試文件名為test3.txt(放在項(xiàng)目文件夾下),內(nèi)容為:CodedbyGriYo29AW32.GriYo其中CodedbyGriYo和29A是W32.GriYo病毒的兩個(gè)依次子串436F64656420627920477269596F和323941的ascii碼翻譯串,同樣測(cè)試后,客戶端會(huì)輸出:Found‘W32.GriYo(Clam)’in‘test3.txt’。說(shuō)明匹配成功。為了說(shuō)明第三類模式串必需按模式字串的依次得到匹配,另測(cè)試文件test4.txt,內(nèi)容為:29ACodedbyGriYoW32.GriYo運(yùn)行后,客戶端輸出:OK。說(shuō)明子串依次變更后,匹配未成功。4.對(duì)含多個(gè)病毒模式的文件的測(cè)試測(cè)試文件名為test5.txt,內(nèi)容如下:X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*CodedbyGriYo29AW32.GriYo輸出為:Found‘Eicar-Test-Signature’in‘test5.txt’。說(shuō)明掃描并未發(fā)覺(jué)W32.GriYo病毒。5.對(duì)含多個(gè)病毒的zip壓縮包的測(cè)試測(cè)試的壓縮包文件為test6.zip,包含test2.txt和test3.txt兩個(gè)子文件。其中test2.txt含有Eicar-Test-Signature病毒,test3.txt含有W32.GriYo病毒,掃描的輸出結(jié)果是:FOUND'W32.GriYo(Clam)'in'test6.zip>>zip:test3.txt'說(shuō)明只發(fā)覺(jué)了一個(gè)病毒。6.對(duì)不含任何病毒的zip壓縮包的測(cè)試測(cè)試的壓縮包文件為test7.zip,包含test1.txt和test4.txt兩個(gè)子文件,不含任何病毒,掃描后,客戶端的輸出為:OK表明未發(fā)覺(jué)任何病毒。ScannerDaemon配置在%ScannerDaemonDir%書(shū)目下建立credo書(shū)目和temp書(shū)目,把VirusSignatures-latest.zip解壓縮得到的VirusSignatures.credo文件放到credo書(shū)目下,temp書(shū)目為掃描壓縮包文件所必需。用wordpad(或notepad)工具打開(kāi)ScannerDperties文件,要使該文件中的配置信息起作用,只要去掉屬性名前的“#”(以“#”字符開(kāi)頭表示注釋行)字符便可。ScannerDaemon運(yùn)用說(shuō)明服務(wù)器端啟動(dòng)ScannerDaemon1)啟動(dòng)吩咐說(shuō)明 啟動(dòng)ScannerDaemon時(shí)可以接受的參數(shù)列表為: –nosignature:表示病毒簽名文件無(wú)需檢查簽名(VirusSignatures-latest.zip中的病毒簽名文件是沒(méi)有簽名的,所以運(yùn)行ScannerDaemon必需加上此參數(shù)) –configfilefilename:指定配置文件,為指定該參數(shù),默認(rèn)的配置文件為%ScannerDaemonDir%\ScannerDperties。–name_of_propertyvalue_of_property:指定屬性名和屬性值。 使吩咐行的當(dāng)前工作書(shū)目進(jìn)入%ScannerDaemonDir%,一般只要運(yùn)行 java–jarScannerDaemon.jar–nosignature便可依據(jù)默認(rèn)配置啟動(dòng)ScannerDaemon。 假如執(zhí)行 java–jarScannerDaemon.jar–nosignature–configfileconfigure.txt表示將依據(jù)configure.txt文件配置啟動(dòng)ScannerDaemon。 java–jarScannerDaemon.jar–nosignature–engine.tempdirectorytempfile表示臨時(shí)文件夾名為tempfile。2)配置屬性的優(yōu)先級(jí)總共有多種方法配置ScannerDaemon的方法:默認(rèn)屬性,在吩咐行參數(shù)中指定某個(gè)屬性的值,默認(rèn)配置文件,自定義配置文件。各種配置方式的優(yōu)先級(jí)關(guān)系如下:吩咐行指定屬性>自定義配置文件>默認(rèn)配置文件>默認(rèn)屬性。2.客戶端連接ScannerDaemon服務(wù)器的端口是8127,在客戶端telnet連接到服務(wù)器端的8127端口,便可執(zhí)行客戶端的

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論