skip to main |
skip to sidebar
http://darkranger.no-ip.org/files/dr.htm
這是一支用 Python 撰寫、將三個常見的 Unix 搜尋指令:locate、find、grep 整合在一起的工具,其實靈感是來自於 Windows 的檔案搜尋功能……Windows 的檔案搜尋結合了索引式、非索引式的檔案搜尋,並且還可以搜尋內文。 DR 在 Linux 命令列底下做事情時,常常覺得若可以把上述三種功能的指令單純化會方便得多,於是就寫了這麼一支工具。之所以用 Python 是因為 DR 認為 Python 的控制性應該比 shell script 好,未來擴充功能會比較方便,並且也可以藉此順便學新語言……
這個工具原本是想在去年年底寫出來的,原因之一是 DR 赫然發現自製區在 2009 年竟然完全沒有新的專案(撇開不值得丟出來的),但無奈實在沒空,時至最近才有空研究怎麼寫。
附帶一提:DR 在入伍前有很多事務要處理,網站大概只會再更新個一兩次,所以不要期待近期內會看到什麼新文章……
最近兩週 DR 又稍微研究了一下隨身碟防毒的相關工具與方案,首先是 gaptx 的 usbprotector(勿跟 Wow! USB Protector 搞混),不過這工具不太 OK……然後是知名防毒軟體廠商 Panda Security 的 USB Vaccine(疫苗),這個工具就比較有趣,首先它兼具系統和隨身碟的免疫方法,系統的部份由於 DR 先前就整理過可行的免疫方法(針對 Autorun),詳情可參考此文章,因此該工具對於系統的免疫功能就暫不研究。DR 有興趣的是:它怎麼做到對於隨身碟本身的免疫?於是就安裝了 Panda USB Vaccine,然後插入一支隨身碟給它用用看。只見它在隨身碟裡放入一個隱藏的 autorun.inf - 這乍看之下跟網路上流傳的那些腦殘方法相差無幾,然而 DR 馬上發現這個檔案無法被開啟、被刪除、或者重新命名,無論是用 explorer、命令行介面還是其它工具皆無法,意指這個 autorun.inf 完全無法被 Windows 讀取,這就非常有趣了。接下來 DR 免不其然的要確認:這個狀況是否完全針對 Windows,還是其它作業系統也是如此?於是把隨身碟拿到 Linux 底下開啟,有趣的是這個 autorun.inf 在 Linux 底下要殺要剮非常容易,還可以直接打開來看裡頭有什麼,但也發現檔案本身並無任何異狀。究竟為何在不同作業系統有不同的存取狀況?又是如何辦到的?這時 DR 回想起來 Panda USB Vaccine 在安裝時有詢問是否選擇 NTFS 支援(beta),而當時是沒有勾選的,於是 DR 便把隨身碟從 FAT 格式化為 NTFS,再執行看看,果然它就沒有辦法進行免疫動作了。這顯示 Panda USB Vaccine 的免疫功能是從檔案系統層著手的,DR 在網路上的進一步搜尋也更說明了這點,雖然這並未解釋為何在不同作業系統(更精確的講是不同的檔案系統驅動)有不同狀況,並且既然 Linux 不受影響,那麼一個延伸問題是:這個方案算是合理使用,或者其實是鑽 Windows 的設計缺失?若先不討論這些技術議題,就防治評價而言,建立完全無法讀取的 autorun.inf 算是蠻有效的防禦方案,因為既然無法開啟,那麼裡頭就算塞了 Autorun 指令也無法被 Windows 執行,並且除非更動檔案系統,否則病毒也沒有能力去覆蓋它。
那、那跟 DR 自製的 Removable Malware Removal 有什麼關係?由於 r-m-removal 預設是逢隱藏 autorun.inf 必刪,而 DR 評估了一下,既然有這樣「防毒式」的 autorun.inf 存在, 那麼程式有必要加些判定讓使用者能夠分辨是否具有威脅(何況這種 autorun.inf 還砍不掉)。於是 DR 在 1.6 版加了一段簡單的開檔程式,成功開啟就刪除,而無法開啟就屬於防毒式的 autorun.inf,再回報給使用者。不過 r-m-removal v1.6 並不只是改了上述部份而已,還有以下改進:1. 移除逢隱藏 *.inf 檔案必刪的規則,現在只處理隱藏 autorun.inf,這樣比較符合現實狀況。2. 檔案掃描現在會將目錄直接排除,避免一些擁有「副檔名」的目錄被當成檔案來處理。3. 發現一些無用的程式碼順勢清理掉。基本上 v1.6 並不屬於安全性更新,而是功能更新,v1.5 並無可能導致病毒被放行的規則紕漏。任何建議歡迎提供給 DR。
http://darkranger.no-ip.org/files/dr.htm好久沒寫程式了……r-m-removal v1.3 的更新主要是針對最近 DR 發現的新品種惡意程式,這類惡意程式完全不經過 autorun(因此也就沒有任何 autorun 感染的特徵),而是將自己的執行檔偽裝成正常目錄來吸引使用者點擊。其感染模式如下:先將受感染磁碟(除了系統碟外)中的所有目錄設為隱藏,再丟入和原先目錄相同名稱的惡意檔案,惡意執行檔的外觀圖示和 Windows 目錄圖示完全相同,並且該惡意檔案在被點擊後還會「幫」使用者開啟原先的目錄以製造正常假象。r-m-removal 仍舊不負責整個系統的清除,但 v1.3 版會檢查磁碟中的隱藏目錄和可執行檔,並比較兩者名稱,若名稱相同則刪除該執行檔,這是針對目前已知的偽裝方式所做的處理。
