Michelangelo – 塗鴉而非藝術

Fridrink Skulason

B85506043 賴勝華

B85506050 江至軒

在最近幾週許多關於此病毒的報導在英國傳開來,這促使了下列的分析。

米開朗基羅病毒在很多地方就像紐西蘭病毒(Stone)。它不僅對紐西蘭病毒簡單改寫 此病毒的大部分都被重寫 但全面的結構和大量的程式碼仍然相同,所以此病毒被歸類為紐西蘭家族。明顯的作者檢查過紐西蘭病毒,並且嘗試把關於此病毒最嚴重的問題部分加以改善,譬如說它沒有辦法正確的感染超過360 Kbytes的磁片。

此病毒的來源並不確定,但好像是在澳洲出現的並且以傳播到歐洲。現在在英國和北歐特別的流行。

Operation

當電腦從感染的媒體開機時,病毒獲得控制權。它藉由減少40h13h處的數目在記憶體建立2K Bytes得空,並把自己拷貝到該區域。因為是從感染的軟碟片開機,在掛上Int 13h之後,病毒會檢查是否它已經存在於系統中。

如果是病毒會讀取MBS並檢查是否已受感染。就如同紐西蘭病毒它是藉由比較MBS的前4Bytes和自己本身第1Byte來完成的,如果發現不相符會試著去感染MBS

Master Boot In Section

病毒將原來的MBS存在Track 0Head 0Sector 7。硬碟分割表本身(MBS最後的66 Bytes)被拷貝到病毒碼的尾端(被寫入在Track 0Head 0Sector 1)。在感染硬碟之後,病毒僅把控制權交還給原來的MBS

Activation

如果電腦是從硬碟開機或是MBS已受到感染,病毒會檢查現在的日期如果電導有即時時鐘的配備。如果現在的日期是三月六的倍數,病毒將會有系統的把感染磁碟上的磁碟給破壞。

[Michelangelo Buonarroti – 義大利文藝復興時的藝術家 是由一個病毒研究者(非病毒作者本身所命名)。這是因為米開朗基羅在1475年的36號出生,病毒發作日期和這個藝術家的生日關係並不大 很可能病毒作者有別的原因選擇三月六的倍數作為Trigger date]

Destruction

病毒先破壞在Track 0的資料再破壞Track 1。在360 K的磁片上它會破壞第0和第1磁面的的19磁區,但其他類型的磁片會破壞每一磁軌的前14個磁區。

在有硬碟的電腦上破壞更為嚴重,它會把整個硬碟搞亂,強迫使用者重新 格式化在由備份還原所有的資料。在硬碟上病毒會破壞第0123磁面每一磁軌的前17個磁區。

破壞並不是格式化而是藉由把存在記憶體位置5000h0000h的所有東西(這可能是一堆0 Byte)覆寫來達到。

Int 13h Servicing Routine

病毒只會在使用者存取A槽且裝置馬達未運作時用Int 13h影響系統。原來的啟動磁區被讀入記憶體,並用和檢查MBS相同的方法來檢查是否感染。如果尚未感染,病毒試著去感染它。將會檢查媒體描述位元(Offset 15h)是否含有0FDh – 代表了360 K磁片。如果有啟動磁區會被存到Track 0Head 1Sector 3 – 根目錄最後的一個磁區。

米開朗基羅和紐西蘭主要的不同是對高密度磁片的處理。如果媒體位元沒有包含0FDh,病毒將會把原來啟動磁區寫入Track 0Head 1Sector 14 – 機制的把紐西蘭病毒造成的問體避免掉。

Detection

下面的辨識碼將會在感染硬碟的MBS以及各種密度感染磁片的啟動磁區中發現。

BE00 7C33 FFFC F3A4

2EFF 2E03 7C33 C08E

Disinfection

解除米開朗病毒相當的直覺。當硬碟運作時病毒也可以被移除,但對磁片的消毒工作需要乾淨的環境。硬碟必須是不受病毒感染的。