Michelangelo – 塗鴉而非藝術
Fridrink Skulason
B85506043
賴勝華B85506050
江至軒在最近幾週許多關於此病毒的報導在英國傳開來,這促使了下列的分析。
米開朗基羅病毒在很多地方就像紐西蘭病毒
(Stone)。它不僅對紐西蘭病毒簡單改寫 – 此病毒的大部分都被重寫 – 但全面的結構和大量的程式碼仍然相同,所以此病毒被歸類為紐西蘭家族。明顯的作者檢查過紐西蘭病毒,並且嘗試把關於此病毒最嚴重的問題部分加以改善,譬如說它沒有辦法正確的感染超過360 Kbytes的磁片。此病毒的來源並不確定,但好像是在澳洲出現的並且以傳播到歐洲。現在在英國和北歐特別的流行。
Operation
當電腦從感染的媒體開機時,病毒獲得控制權。它藉由減少
40h:13h處的數目在記憶體建立2K Bytes得空”洞”,並把自己拷貝到該區域。因為是從感染的軟碟片開機,在掛上Int 13h之後,病毒會檢查是否它已經存在於系統中。如果是病毒會讀取
MBS並檢查是否已受感染。就如同紐西蘭病毒它是藉由比較MBS的前4Bytes和自己本身第1個Byte來完成的,如果發現不相符會試著去感染MBS。Master Boot In Section
病毒將原來的
MBS存在Track 0,Head 0,Sector 7。硬碟分割表本身(MBS最後的66 Bytes)被拷貝到病毒碼的尾端(被寫入在Track 0,Head 0,Sector 1)。在感染硬碟之後,病毒僅把控制權交還給原來的MBS。Activation
如果電腦是從硬碟開機或是
MBS已受到感染,病毒會檢查現在的日期—如果電導有即時時鐘的配備。如果現在的日期是三月六的倍數,病毒將會有系統的把感染磁碟上的磁碟給破壞。[Michelangelo Buonarroti –
義大利文藝復興時的藝術家 – 是由一個病毒研究者(非病毒作者本身所命名)。這是因為米開朗基羅在1475年的3月6號出生,病毒發作日期和這個藝術家的生日關係並不大 – 很可能病毒作者有別的原因選擇三月六的倍數作為Trigger date。]Destruction
病毒先破壞在
Track 0的資料再破壞Track 1。在360 K的磁片上它會破壞第0和第1磁面的的1到9磁區,但其他類型的磁片會破壞每一磁軌的前14個磁區。在有硬碟的電腦上破壞更為嚴重,它會把整個硬碟搞亂,強迫使用者重新
格式化在由備份還原所有的資料。在硬碟上病毒會破壞第0,1,2,3磁面每一磁軌的前17個磁區。破壞並不是格式化而是藉由把存在記憶體位置
5000h:0000h的所有東西(這可能是一堆0 Byte)覆寫來達到。Int 13h Servicing Routine
病毒只會在使用者存取
A槽且裝置馬達未運作時用Int 13h影響系統。原來的啟動磁區被讀入記憶體,並用和檢查MBS相同的方法來檢查是否感染。如果尚未感染,病毒試著去感染它。將會檢查媒體描述位元(Offset 15h)是否含有0FDh – 代表了360 K磁片。如果有啟動磁區會被存到Track 0,Head 1,Sector 3 – 根目錄最後的一個磁區。米開朗基羅和紐西蘭主要的不同是對高密度磁片的處理。如果媒體位元沒有包含
0FDh,病毒將會把原來啟動磁區寫入Track 0,Head 1,Sector 14 – 機制的把紐西蘭病毒造成的問體避免掉。Detection
下面的辨識碼將會在感染硬碟的
MBS以及各種密度感染磁片的啟動磁區中發現。BE00 7C33 FFFC F3A4
2EFF 2E03 7C33 C08E
Disinfection
解除米開朗病毒相當的直覺。當硬碟運作時病毒也可以被移除,但對磁片的消毒工作需要乾淨的環境。硬碟必須是不受病毒感染的。