趙灼輝
【摘 要】文中分析了當前AutoCAD計算機病毒的類型和特點,并從預防和查殺的角度提出了相應的防范策略,通過實踐,取得了較好的效果,具有一定的借鑒意義。
【關鍵詞】CAD;病毒;防范;策略;措施
隨著互聯(lián)網(wǎng)和信息技術的發(fā)展,計算機在社會生活各個領域的運用不斷深入。隨之而來的計算機病毒感染和攻擊的事件也屢見不鮮,嚴重地干擾了人類正常的社會生活,就連AutoCAD這樣的專業(yè)繪圖軟件也無法幸免,由于設計圖紙是重要的技術文件,是指導工程施工管理的依據(jù),其對計算機病毒攻擊防范的要求也顯得尤為重要。
1 感染AutoCAD病毒的主要癥狀
計算機感染AutoCAD病毒的主要癥狀是在放置圖形文件(如: *.DWG文件)的文件夾里出現(xiàn)假扮成不同形式的自動運行程序文件,當啟動AutoCAD軟件時,系統(tǒng)會自動運行該程序文件,出現(xiàn)各種影響計算機及軟件使用的問題,主要表現(xiàn)如下:
1.1 輕度癥狀:出現(xiàn)可疑提示,如:命令提示行出現(xiàn)亂碼或各種爛七八糟的非軟件提示;個別命令失效,如:“分解explode”,“視圖縮放zoom”等命令失效,并定義一個新的命令BRUST……;保存文件時,不出現(xiàn)對話框,顯示輸入路徑,各種鍵盤失靈,如:按下鼠標中鍵后老是變成顯示右鍵菜單,而不是“移動pan”命令;
1.2 中度癥狀:運行速度降低,系統(tǒng)崩潰,經(jīng)常出現(xiàn)“死機”現(xiàn)象,詭異退出……
1.3 重度癥狀:更改和共享圖形文件數(shù)據(jù),篡改硬盤和注冊表等。
是何種病毒感染了AutoCAD呢?
2 常見的AutoCAD病毒
嵌入圖形文件的VBA宏病毒和打開圖形文件時就自動運行的AutoLISP是能夠感染AutoCAD的兩種主要病毒。
2.1 VBA宏病毒
自AutoCAD2000起AutoCAD就含有VBA,從而使得VBA對象嵌入圖形文件成為可能。一旦VBA宏成為圖形文件的組成部分,則當圖形文件加載時它就處于活躍狀態(tài)。如果該圖形文件被共享,宏就有可能感染任意一臺宏處于活躍狀態(tài)的計算機。VBA宏病毒能夠更改圖形文件的數(shù)據(jù),進入硬盤和注冊表,甚至能夠訪問Windows API。
2.2 基于AutoLISP的病毒
AutoLISP的病毒是基于AutoCAD軟件的內(nèi)嵌腳本語言——AutoLISP語言寫成程序文件,通常通過在打開圖形文件時就自動運行的AutoLISP文件發(fā)作。這類啟動項AutoLISP文件包括:
(1)acad20xxdoc.lsp:它是歐特克公司提供的打開圖形文件時就運行的文件;
(2)acad20xx.lsp:它是歐特克公司提供的啟動AutoCAD程序時就運行的文件;
(3)acaddoc.lsp:它是用戶建立的打開圖形文件時就運行的文件;
(4)acad.lsp:它是啟動AutoCAD程序時就運行的原始文件;
通常感染AutoLISP宏病毒是通過以下這些基本途徑。典型情況是,收到包含圖形文件和其中一種啟動項AutoLISP文件的.zip文件或文檔,而當解壓到文件夾并運行其中的圖形文件時,文件中所包含的AutoLISP文件也同時被加載,這就足以激活病毒。一旦病毒文件加載,病毒文件就會執(zhí)行。
不要小視AutoLISP文件的能量。它不但是極強的AutoCAD編程語言,而且能夠執(zhí)行AutoCAD命令、VBA宏運行、采用startapp方式執(zhí)行Windows、用apps生成、修改、刪除所在計算機中的文件、對Windows注冊表有完全訪問權限。
我們常見的CAD馬威爾蠕蟲病毒(ACAD/Medre.A Malware)就是一種假扮成ACAD.FAS文件的基于autoLISP語言的程序。當用戶從一個包含這個文件的文件夾打開一個DWG文件時,馬威爾病毒會自動通過電子郵箱發(fā)送此DWG文件的復制品(通過SMTP協(xié)議)。
3 如何避免感染病毒
策略一:防患于未然
(1)最好的控制是預防,養(yǎng)成好的計算機使用習慣可以減少感染這類病毒的可能
目前,大多數(shù)主流殺毒軟件都能檢測出“AutoCAD病毒”并將它們加以隔離,所以我們建議用戶應經(jīng)常更新病毒庫,采用主流防病毒解決方案軟件進行完全病毒掃描,及時探測病毒,查看他們的系統(tǒng)是否已被感染并進行隔離和清除。
(2)不要盲目解壓未經(jīng)檢查的壓縮文檔
AutoLISP基于的病毒通常隨同其他文件侵入系統(tǒng)。在解壓收到壓縮文檔(.zip, .rar 等等)至網(wǎng)絡或本機硬盤之前務必要檢測其內(nèi)容。要特別留意含有可執(zhí)行文件(.exe)或AutoLISP、ObjectARX文件(.arxAutoLISP文件)和VBA文件的壓縮文檔。
(3)禁止在未檢測前運行未知的AutoLISP 文件或 VBA 宏
目前有許多有用的VBA和AutoLISP文件可供用戶和程序員下載和共享。其中的大多數(shù)也許是好的,但如果不了解文件來源,則不能假定它是安全的。VBA和AutoLISP文件是強有力的可運行語言,它們不僅僅能夠影響當前圖形文件。除非完全了解文件出處和作者,在使用文件前花時間對其加以檢測是值得的。
策略二:狹路相逢勇者勝
(1)允許AutoCAD執(zhí)行宏病毒保護
預估到宏所導致的潛在問題,AutoCAD軟件很早就包含了在打開圖形文件或項目文件時對嵌入宏的警告。在警告對話框中,可在宏運行之前對其禁用。警告對話框默認情況下是嵌入在 AutoCAD 中的。如果該對話框因其他原因被禁用,可這樣恢復:運行VBARUN命令,選擇 Options 按鈕,選中“Enable macro virus protection”。此設置將保存于當前配置文件中。
(2)免疫方法
通過對病毒代碼的分析,病毒的工作原理是利用了AutoCAD會自動加載acaddoc.lsp文件的特性,通過讀取AutoCAD安裝目錄下support目錄下的acad.mnl和acaddoc.lsp文件的內(nèi)容來判斷電腦是否已感染病毒的,其判斷方法為讀取這2個文件中倒數(shù)第2行從第8個字符開始的7個字符是否為“acadapq”來進行判斷,若是則表示已感染,不是表示未感染。既然如此,就可以通過欺騙病毒來達到免疫的目的。
已感染病毒的電腦的acad.mnl文件和acaddoc.lsp文件的最后2行代碼如下:
…………
(load “acadapq”)
(princ)
可以修改如下:
…………
(eval “acadapq”)
(princ)
這樣修改以后,病毒運行時仍會判斷上述2個文件的倒數(shù)第2行從第8個字符開始的7個字符為“acadapq”,并以為電腦已感染病毒,但此時病毒程序acadapq.lsp其實已無法加載,從而實現(xiàn)了免疫。
(3)清除方法
免疫畢竟是被動的,我們可以利用acad.mnl文件先于acaddoc.lsp文件加載的特性,通過在acad.mnl文件中加入病毒清除代碼實現(xiàn)病毒的清除:(可以將以下代碼復制粘貼到acad.nml文件中);
以下為ACAD病毒免疫及清除代碼,對名為“acadapq.lsp”的病毒有效:
(setq virus_exl(findfile"c:\\boot.dat"))
(ifvirus_exl(vl-file-delete"c:\\boot.dat"))
(setq curdwg(getvar"dwgname"));獲得當前打開dwg文件名稱
(setq dwgpath(findfile curdwg));獲得包含當前打開dwg文件文件名的完全路徑
(setq dwgdir(substr dwgpath l(-(strlen dwgpath)(strlen curdwg))));獲得當前打開dwg文件所在目錄
(setq virus_ex2(findfile(strcat dwgdir"acaddoc.lsp")))
(if virus_ex2;dwg文件所在目錄下發(fā)現(xiàn)acaddoc.lsp文件,清除之
(progn
(alert(strcat"在“"dwgdir"”目錄下發(fā)現(xiàn)acaddoc.lsp文件,該文件通常\n是病毒,點擊“確定[OK]”直接刪除該文件。"))
(vl-file-delete(strcat dwgdir"acaddoc.lsp"))
)
;;else(dwg文件所在目錄下沒有發(fā)現(xiàn)acaddoc.lsp文件)
(princ"\n當前打開的圖形文件所在目錄下未發(fā)現(xiàn)CAD病毒?。躰)
)
(prmc)
(eval"acadapq")
(princ)
把以上代碼添加到acad.mnl文件的最后面,刪除support目錄下的病毒文件acadapq.lsp:這樣就可以自動刪除當前打開的dwg文件所在目錄下的acaddoc.lsp文件了,從而實現(xiàn)了清除病毒的目的。
采取上面這些方法,經(jīng)過一年多的實踐,我電腦基本沒再受到AutoCAD病毒的侵擾。在互聯(lián)網(wǎng)時代,計算機病毒防范將是一個永恒的話題,及時關注和學習相關的知識,多動腦,勤動手,才能讓自己輕松避免病毒侵入AutoCAD 工作環(huán)境。
【參考文獻】
[1]百度文庫常見AutoCAD病毒(acad.fas、acad.lsp)清除方法[Z].http://wenku.baidu.com/view/a964fcb569dc5022aaea00a6.html.
[2]豆丁網(wǎng),常見AutoCAD病毒?[Z]. http://www.docin.com/p-252690993.html.
[責任編輯:湯靜]