OAV軟件分析與使用_第1頁
OAV軟件分析與使用_第2頁
OAV軟件分析與使用_第3頁
OAV軟件分析與使用_第4頁
OAV軟件分析與使用_第5頁
已閱讀5頁,還剩42頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

OAV軟件分析與使用劉功申上海交通大學(xué)信息安全工程學(xué)院本章學(xué)習目標了解OAV引擎的框架了解OAV的核心代碼掌握OAV使用方法本章內(nèi)容OAV項目介紹OAV基本框架ScannerDaemon測試與使用VirusHammer使用PatternFinder的使用章節(jié)實驗1OAV項目簡介OAV(OpenAntiVirus)項目(http://)是在2000年8月30日由德國開源愛好者發(fā)起,旨在為開源社區(qū)的反病毒開發(fā)者提供一個交流和項目管理的資源平臺。該項目具有明確的路線圖:為網(wǎng)絡(luò)(郵件服務(wù)器、internet網(wǎng)關(guān)、文件服務(wù)器等)終端用戶和企業(yè)客戶提供病毒防護的開源解決方案。為網(wǎng)絡(luò)終端用戶和企業(yè)客戶提供計算機和網(wǎng)絡(luò)安全的開源解決方案。研發(fā)開源的掃描引擎,從而使未來的安全需求不再依賴于商業(yè)提供商。通過開源系統(tǒng)和軟件產(chǎn)品,為系統(tǒng)管理員提供系統(tǒng)恢復(fù)能力。建立網(wǎng)站,提供最新的病毒和安全信息。建立How-To項目提供相關(guān)信息和白皮書,用戶和系統(tǒng)管理員可以通過該項目提供的信息,利用開源安全解決方案,從而確定反病毒策略。項目組成:ScannerDaemon,VirusHammer和PatternFinder是符合GPL規(guī)范的病毒掃描器的一個簡單而基礎(chǔ)的實現(xiàn),用Java語言寫成。ScannerDaemon:病毒掃描軟件。VirusHammer:具有用戶界面的病毒掃描軟件。PatternFinder:查找商業(yè)殺毒軟件所使用的病毒特征串的工具。squid-vscan可以利用SquidHttp-Proxy掃描網(wǎng)絡(luò)流量,從而偵測病毒。samba-vsan利用samba服務(wù)器提供on-access病毒掃描。最新的SUSELinux已經(jīng)包含了該工具。此外,很多開源愛好者還開發(fā)了很多小工具,詳細情況參見http:///projects.php2ScannerDaemon架構(gòu)ScannerDaemon基本上可以分為如下幾個模塊:掃描引擎模塊掃描配置模塊病毒簽名文件解析模塊文件系統(tǒng)支持模塊(掃描目標文件/文件夾時所需要)Main-class類主要包括兩個重要的類:RequestHandlerScannerDaemon掃描配置模塊該模塊(源代碼的組織結(jié)構(gòu)看,可歸入到掃描引擎模塊中,這里單獨拿出來分析)。該模塊主要包括兩個類:WriteableScanConfiguration這個類放了一些掃描引擎的屬性名。DefaultScanConfiguration

該類是默認的屬性配置類,其構(gòu)造函數(shù)就是對掃描引擎的屬性賦以默認值。病毒簽名模塊這個模塊中涉及到的類/接口包括CredoFile類、CredoEntry類、PositionFoundEvent類、PositionFoundListener接口、StringFoundListener類、StringsParser類、WildcardPattern類、StringFinder類等,其中StringsParser類、WildcardPattern類和StringFinder類尤為重要。病毒簽名文件首先看看病毒簽名文件到底是什么形式。下載VirusSignatures-latest.zip,然后解壓縮,可以看到里面包括clamav.strings和clamav2.strings兩個子文件,這兩個子文件可以用notepad文本工具打開。摘取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從這段代碼大致可以認為,Oror-fam(Clam)、VBS.Kristen等為病毒名稱,[1*0*3*0*3]=495243*56697275*53455859330F5455*4B617A61*536E617073686F等字串為該病毒的一段特征模式串。CredoFile類該類只是把普通文件包裝成jar格式輸入流CredoEntry類根據(jù)(病毒簽名文件)的介紹,病毒簽名文件.credo文件是一個jarpackage,這個package里的每一個文件就用一個credoEntry類實例來表示。這個類十分簡單,此處不做進一步分析。CredoParser類這個類的作用是:在指定的目錄下查找.credo文件,供StringsParser類解析.credo文件的具體內(nèi)容。StringsParser類這個類具體完成對.strings文件的解析。WildcardPattern類這個類是用來處理不包含“*”字符的模式串,即模式串具有統(tǒng)一的形式,無須用“*”字符分隔開,例如(5.StringsParser類)節(jié)中文本行2和3中“=”后面的模式串。該類是病毒簽名模塊中的一個重要類。StringFinder類這個類是病毒簽名模塊中的核心類,該類具體保存了各種病毒的名稱和特征串,并給每個相應(yīng)的病毒加上了一個偵聽器。掃描引擎模塊這個模塊是ScannerDaemon的中心模塊,先簡單看看對幾個與事件偵聽器有關(guān)的類/接口,然后按著掃描的整個過程逐個對相關(guān)類分析。主要包括PositionFoundEvent類、PositionFoundListener接口和StringFoundListener類。MatchArray類這個類包括兩方面的功能。第一,根據(jù)病毒簽名文件,建立模式串hash表,在ScanEngine類的初始化函數(shù)中,調(diào)用函數(shù)loadCredoFiles(scanConfiguration),這個函數(shù)經(jīng)過層層調(diào)用,最終調(diào)用MatchArray類的addString函數(shù)建立hash表。第二,通過調(diào)用createCensor函數(shù)返回MatchArrayCensor類實例,而MatchArrayCensor類提供對文件的掃描。文件系統(tǒng)支持模塊文件系統(tǒng)支持模塊主要包括VfsEnty類、FileVfsEntry類、VfsContainerFactory接口、ScanEngine類和容器類等。VfsEntry類這是個抽象類,表示一個文件/文件夾節(jié)點。FileVfsEntry類該類是VfsEntry抽象類的子類。該類實現(xiàn)了VfsEntry中為定義的抽象函數(shù)。3ScannerDaemon測試和使用測試樣例: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兩個子文件test7.zip(不含任何病毒):包含test1.txt和test4.txt兩個子文件1.對不含病毒模式串文件的測試測試文件名為test1.txt(放在項目文件夾下),內(nèi)容為:It'sagoodday!客戶端和服務(wù)器建立telnet連接后,輸入scantest1.txt就會在客戶端命令行窗口中輸出:OK表明未發(fā)現(xiàn)任何病毒。2.對第一類模式串的測試(注意關(guān)閉殺毒軟件)測試文件名為test2.txt(放在項目文件夾下),內(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翻譯后得到的字符串(每兩個16進制碼翻譯成一個ascii字符,例如58—X,35—5),運行ScannerDaemon,然后客戶端連接telnetlocalhost8127之后輸入scantest2.txt,就會輸出Found‘Eicar-Test-Signature’in‘test2.txt’。說明匹配成功。3.對第三類模式串的測試測試文件名為test3.txt(放在項目文件夾下),內(nèi)容為:CodedbyGriYo29AW32.GriYo其中CodedbyGriYo和29A是W32.GriYo病毒的兩個順序子串436F64656420627920477269596F和323941的ascii碼翻譯串,同樣測試后,客戶端會輸出:Found‘W32.GriYo(Clam)’in‘test3.txt’。說明匹配成功。為了說明第三類模式串必須按模式字串的順序得到匹配,另測試文件test4.txt,內(nèi)容為:29ACodedbyGriYoW32.GriYo運行后,客戶端輸出:OK。說明子串順序改變后,匹配未成功。4.對含多個病毒模式的文件的測試測試文件名為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’。說明掃描并未發(fā)現(xiàn)W32.GriYo病毒。5.對含多個病毒的zip壓縮包的測試測試的壓縮包文件為test6.zip,包含test2.txt和test3.txt兩個子文件。其中test2.txt含有Eicar-Test-Signature病毒,test3.txt含有W32.GriYo病毒,掃描的輸出結(jié)果是:FOUND'W32.GriYo(Clam)'in'test6.zip>>zip:test3.txt'說明只發(fā)現(xiàn)了一個病毒。6.對不含任何病毒的zip壓縮包的測試測試的壓縮包文件為test7.zip,包含test1.txt和test4.txt兩個子文件,不含任何病毒,掃描后,客戶端的輸出為:OK表明未發(fā)現(xiàn)任何病毒。ScannerDaemon配置在%ScannerDaemonDir%目錄下建立credo目錄和temp目錄,把VirusSignatures-latest.zip解壓縮得到的VirusSignatures.credo文件放到credo目錄下,temp目錄為掃描壓縮包文件所必須。用wordpad(或notepad)工具打開ScannerDperties文件,要使該文件中的配置信息起作用,只要去掉屬性名前的“#”(以“#”字符開頭表示注釋行)字符便可。ScannerDaemon使用說明服務(wù)器端啟動ScannerDaemon1)啟動命令說明 啟動ScannerDaemon時可以接受的參數(shù)列表為:

–nosignature:表示病毒簽名文件無需檢查簽名(VirusSignatures-latest.zip中的病毒簽名文件是沒有簽名的,所以運行ScannerDaemon必須加上此參數(shù))

–configfilefilename:指定配置文件,為指定該參數(shù),默認的配置文件為%ScannerDaemonDir%\ScannerDperties。–name_of_property

value_of_property:指定屬性名和屬性值。 使命令行的當前工作目錄進入%ScannerDaemonDir%,一般只要運行

java–jarScannerDaemon.jar–nosignature便可按照默認配置啟動ScannerDaemon。 如果執(zhí)行

java–jarScannerDaemon.jar–nosignature–configfile

configure.txt表示將按照configure.txt文件配置啟動ScannerDaemon。

java–jarScannerDaemon.jar–nosignature–engine.tempdirectory

tempfile表示臨時文件夾名為tempfile。2)配置屬性的優(yōu)先級總共有多種方法配置ScannerDaemon的方法:默認屬性,在命令行參數(shù)中指定某個屬性的值,默認配置文件,自定義配置文件。各種配置方式的優(yōu)先級關(guān)系如下:命令行指定屬性>自定義配置文件>默認配置文件>默認屬性。2.客戶端連接ScannerDaemon服務(wù)器的端口是8127,在客戶端telnet連接到服務(wù)器端的8127端口,便可執(zhí)行客戶端的掃描命令。telnetserver_ip8127客戶端可以執(zhí)行的命令(命令大小寫不敏感)包括:scanfilename

這個命令掃描目標文件,文件名可以是文件或者目錄,也可以是ScannerDaemon支持的各種壓縮包,如zip,tar,gzip等,對于某些壓縮包,需要服務(wù)器端環(huán)境的支持,例如tar包,需要服務(wù)器端環(huán)境的支持。如果待掃描的文件中含有某病毒,則在客戶端就會輸出相應(yīng)的信息。如下圖:

如果掃描之后未發(fā)現(xiàn)任何病毒,則輸出:OK。commandshutdown該命令關(guān)閉服務(wù)器。另外,filter和post命令在0.6.0版本的源代碼中被注釋掉了。4VirusHammer的使用VirusHammer是一個不用借助其他任何工具的獨立的病毒掃描工具。它具有良好的用戶界面,可以直接將文件或文件夾添加到掃描目標中,然后進行掃描,并且支持同時掃描多個目錄和文件。運行環(huán)境VirusHammer可以即可以在Linux上運行,也可以Vindows上運行。接下來的實驗環(huán)境如下:Linux操作系統(tǒng):LinuxFedora9Windows操作系統(tǒng):WindowsXPSP2Java環(huán)境:JDK1.6(最好支持serv

溫馨提示

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

最新文檔

評論

0/150

提交評論