Virus Worm

virus
virus is a piece of code that adds itself to other programs, including operating systems. It cannot run independently and it requires that its host program be run to activate it.
電腦病毒是一段程式,能把自身加到其他程式包括作業系統上。它不能獨立運行,需要由它的宿主程序的運行來啟動它
worm
電腦蠕蟲可以獨立運行,並能把自己的所有功能整個包裝起來傳播到其它的電腦上
by Eugene H. Spafford

virus vs worm
worm與virus相似,是一種能夠自我複製的電腦程式
差異如下
virus
需要寄主才可執行(會複製自己並傳播到其他作業系統)
比較需要user去觸發(傳播期間一般會隱蔽自己,由特定的條件觸發,並開始產生破壞)
傳播方式,主要是透過可攜式儲存媒體
影響:會直接破壞被感染系統,可能會損毀或修改目標電腦的檔案
worm
不一定要寄主即可執行(不需要附在別的程式內)
可以主動的去做攻擊(可能不用使用者介入操作也能自我複製或執行)
傳播方式,主要是透過網路
影響:未必會直接破壞被感染的系統,但會讓網路執行效率大幅降低,或是浪費頻寬

惡意的worm可根據其目的分成2類:
一種是面對大規模電腦使用網路發動拒絕服務的電腦蠕蟲
另一種是針對個人用戶的以執行大量垃圾代碼的電腦蠕蟲

散播方式
步驟1,WORM通常會透過網路媒介主動尋找目標,媒介包括區域網路,電子郵件,即時通訊軟體,…等
步驟2,一但找到目標後會試圖透過系統的漏洞進行感染並寄宿在系統內
步驟3,不斷重覆步驟1到步驟2
防止方法
修補系統漏洞,防止被WORM感染
使用含最新病毒碼的防毒軟體,保護系統不被感染
開啟防火牆,減少可能被入侵的服務
偵測異常網路行為,包括描掃網路,大量相同封包送至不同系統
使用含最新特徵碼的IDS或IPS保護網路

virus history
the first virus was discovered in 1981
ps:
the senior most virus,”eik cloner”
worm history
the first worm is morris
作者是Mr. Robert T. Morris

………..

characteristics of virus

傳播性
病毒一般會自動利用25電子郵件埠傳播,利用物件為微軟作業系統捆綁的Outlook的某個漏洞。將病毒自動複製並群發給儲存的通訊錄名單成員。郵件標題較為吸引人點擊,大多利用社會工程學如「我愛妳」這樣家人朋友之間親密的話語,以降低人的警戒性。如果病毒製作者再應用指令碼漏洞,將病毒直接嵌入郵件中,那麼使用者一點郵件標題開啟郵件就會中病毒。

隱蔽性
最大的病毒不過1MB,一般的病毒僅在 1KB左右,這樣除了傳播快速之外,隱蔽性也極強。
部分病毒使用「無行程」技術或插入到某個系統必要的關鍵行程當中(工作管理員中的處理程式內,無法關閉的就是了),所以在任務管理器中找不到它的單獨執行行程。
而病毒自身一旦執行後,就會自己修改自己的檔名並隱藏在某個使用者不常去的系統資料夾中,這樣的資料夾通常有上千個系統檔案,如果憑手工尋找很難找到病毒。
而病毒在執行前的偽裝技術也不得不值得我們關注,將病毒和一個吸引人的檔案捆綁合併成一個檔案,那麼執行正常吸引他的檔案時,病毒也在我們的作業系統中悄悄的執行了。

感染性
某些病毒具有感染性,比如感染中毒使用者電腦上的可執行檔案,如exe、bat、scr、com格式,透過這種方法達到自我複製,對自己生存保護的目的。
通常也可以利用網路共享的漏洞,複製並傳播給鄰近的電腦使用者群,使鄰里透過路由器上網的電腦或網咖的電腦的多台電腦的程式全部受到感染。

潛伏性
部分病毒有一定的「潛伏期」,在特定的日子,如某個節日或者星期幾按時爆發。
ex:
1999年破壞BIOS的CIH病毒就在每年的4月26日爆發。如同生物病毒一樣,這使電腦病毒可以在爆發之前,以最大幅度散播開去。

可激發性
根據病毒作者的「需求」,設定觸發病毒攻擊的「玄機」。
ex:
CIH病毒的製作者陳盈豪曾打算設計的病毒,就是「精心」為簡體中文Windows系統所設計的。病毒執行後會主動檢測中毒者作業系統的語言,如果發現作業系統語言為簡體中文,病毒就會自動對電腦發起攻擊,而語言不是簡體中文版本的Windows,那麼你即使執行了病毒,病毒也不會對你的電腦發起攻擊或者破壞。

表現性
病毒執行後,如果按照作者的設計,會有一定的表現特徵,如CPU佔用率 100%,在使用者無任何操作下讀寫硬碟或其他磁碟資料,藍屏死機,滑鼠; 右鍵無法使用等。
但這樣明顯的表現特徵,反倒幫助被感染病毒者發現自己已經感染病毒並對清除病毒很有幫助,隱蔽性就不存在了。

破壞性
某些威力強大的病毒,執行後直接格式化使用者的硬碟資料,更為厲害一些可以破壞引導扇區以及BIOS,已經在硬體環境造成了相當大的破壞。

ps:通常表現兩種以上所述的特徵就可以認定該程式是病毒。

…….

working of virus:
1 infection phase
2 attack phase

why people create computer viruses
研究
攻擊
賺錢

symptoms of virus attack
電腦突然當掉或停住
IE停住,CPU吃到百分之百,可是因為惡意程式在做填入記憶體動作

ps:
virus hoaxes(惡作據病毒)
hoaxes are false alarms claiming reports about a non-existing virus

……………………………………………………………………………………………………………………

modes of virus infection

infect system方法:
loads itself into memory and checks for excutables on the disk
appends malicious code to a legitimate program without the user’s permission or knowledge
since the user is unaware of the replacement , user launches the infected program
as a result of the infected program being executed,other programs get infected as well

virus spreads有以下3種
infected file:a virus can infect other file,ex:word files
file sharing services:a virus can take advantage of file servers to infect file from then on
floppies and other storage mediums:when infected disks are inserted into a clean system,it will also become infected

…………………………………………………………………………….

life cycle of virus
1
design(創造期) 病毒被設計出來
2
replication(潛伏感染期) 複製
在潛伏期中,計算機病毒會不斷地繁殖與傳染。
一個完美的計算機病毒擁有很長的潛伏期,如此一來計算機病毒就有更多的時間去傳播到更多的地方,一旦發作將會造成更大的危害。
ex:米開朗基羅病毒,在每年三月六日發作前,有整整一年的潛伏期。
3
lanuch(發作期) 開始執行
當一切條件形成之後,計算機病毒於是就開始破壞的行動。
有些計算機病毒會在某些特定的日期發作,有些則自己有個倒數計時裝置來決定發病的時間。
ps: 雖然有些計算機病毒發作時並沒有破壞動作,但是它們仍然會佔據一些系統資源,從而降低系統運作的效率。
4
detection(發現期) 被偵測到
一旦計算機病毒發作,也就是它被發現的時期。
5
incorporation(同化期) 開發病毒碼
在這一階段,殺毒軟件開發人員修改他們的軟件,使之能夠檢測到這種新計算機病毒。
時間的長短依賴於開發者的情況和計算機病毒類型。
6
elimination(根除期)
如果有相應防範功能的軟件能夠檢測及控制這些計算機病毒,並且使用了這些軟件,那麼這些計算機病毒就有可能被根除。
ps:目前無人敢宣稱某一計算機病毒已經完全絕跡,但是有些計算機病毒已經很明顯地的被完全制止了

life cycle of worm
1
target selection
選擇目標,利用掃描或其他方式做探測
2
exploitation
選好目標後利用目標系統的漏洞進行感染
3
infection
感染目標後,執行WORM作者所要求的動作
4
propagation
被感染目標成為攻擊者開始重覆步驟1
by IDRP,2002

……………………………………………………………………………………………………………………………..

type of virus
依感染什麼分為:
 system sector or boot virus:寫入開機磁區
file virus:寫入檔案
macro virus:利用軟體本身所提供的巨集能力來設計病毒
source code virus:常出現在網站上,會插入code進php的include檔中,…等
network virus:常出現,會scan network,…等
依感染方式分為
stealth virus:隱藏自己
polymorphic virus:變化自己
cavity virus:把原檔案內容吃掉在放入他自己,使檔案大小一樣
tunneling virus:建立通道
camouflage virus:隱藏在某個地方
依形成方式分為
shell virus
add-on
intrusive virus
依how the viral code infects the target system
direct or transient virus
terminate and stay resident virus

system sector virus
boot virues use all of the common viral techniques to infect and hide themselves
ps:system sectors are often targets for viruses

File Infector Virus:
通常寄生在可執行檔中, ex:COM,EXE,…
當這些檔案被執行時, 病毒的程式就跟著被執行
可在分成以下兩種 :
Non-memory Resident Virus(非常駐型病毒) :
寄生在COM,EXE,SYS的檔案中,當這些中毒的程式被執行時,就會嘗試地去傳染給別的檔案。
Memory Resident Virus(常駐型病毒) :
寄生在記憶體中, 只要任何執行檔被執行, 它就對其進行感染的動作 
refer
http://www.trend.com.tw/corporate/security/virusprimer_1.htm

stealth virus
evade anti-virus software by intercepting its requests to the operating system
掃毒時,病毒將正常檔案交給anti- virus software,讓病毒自己沒被掃到

polymorphic virus
使用 polymorphic code的virus
可在每次感染後變更其實際型式(特徵),同時又保持相同的基本手法。
常用的技巧就是在每次感染期間會加密其程式碼,透過每次變化加密金鑰而變更其實際檔案構造。
此病毒具有變更其特徵的能力來躲過antivirus program,,所以無法被一般的signature-based antivirus program偵測到未知的變化

metamorphic virus
使用 metamorphic code的virus
除了像polymorphic會改變特徵外,連行為也會跟著改變 
ex:simile,zmist
ps:mistfall is the first virus to use the technique called “code integration”

cavity virus
the virus overwrites a part of the host file that is filled with a constant,without increasing the length of the file,but preserving its functionality
ps:the most popular virus family is the CIH virus

…..

spare infector virus
virus只在特定時間點被wake up
可減少被偵測到的機會

companion virus
更改副檔名,讓同樣檔名提高優先執行順序
ex:在相同檔名下,副檔名.com會比.exe先被開啟

file extension virus
改變副檔名,讓user誤以為不是執行檔

self-modification
evade signatures anti-virus software
方法有:
simple self-modification
encryption with a variable key
polymorphic code:modify their code for each replication in order to avoid detection
metamorphic code:the code can reprogram itself


…………………………………………………………………………………………………………………………………………………………………………

famous viruses and worms
i love you virus
melissa virus
js.spth
klez
slammer worm
mydoom.b:

latest virus:
w32/vulgar
w32/hllp.zori.c@m
w32/feebs.gen@mm

win32.autorun.ah
w32/virut: 感染exe,scr
w32/divvi
worm.symbos.lasco.a:使用藍芽
disk killer
bad boy
happy box
java.strangebrew
montecarlo family
php.neworld: 感染include
w32/wboy.a
exebug.d
w32/voterai.worm.e
w32/lecivio.worm
w32/lurka.a
w32/vora.worm!p2p

Melissa
時間:1999年3月
感染平台:windows
a microsoft word macro virus
攻擊Microsoft Word的全球模板Normail.dot,所有新建立的檔案都被感染
感染的電腦會
將自己寄給所有outlook上的前50個user

ILOVEYOU
或稱VBS/Loveletter或Love Bug worm
時間:2000年5月
感染平台:windows
使用VBScript和社交工程概念
感染的電腦會
將自己寄給所有outlook上的user
偷聽使用者密碼並mail給攻擊者

sadmind
中譯:悲傷心情蠕蟲
時間:2001年5月
感染平台:SUN上Solaris,IIS
ps:相關說明在SUN上Solaris(資訊安全告示區00191),及(MS00-078)

codered
中譯:紅色警戒
時間:2001年7月
感染平台:windows 2000 server
攻擊Microsoft IIS的Index Server ISAPI Extension漏洞
ps:相關說明在MS01-033
特徵:試圖從80port呼叫irq.dll

nimda
中譯:娜妲蠕蟲
時間:2001年9月
特色:多點攻擊最佳代表(透過網芳,電郵,iis感染)
使用unicode directory traversal vulnerability攻擊iis server
ps:相關說明在MS01-044
ps:會利用了 coderedII,sadmind留下的後面

Klez
時間:2001年10月
a memory-resident mass-mailing worm
感染的電腦會
將自己寄給所有outlook上的user

SQL slammer
中譯:藍寶石蠕蟲
時間:2003 年1月
攻擊Microsoft SQL Server與MSDE的漏洞
ps:詳情公佈於MSDE described in MS02-039與MS02-061
ps:spread of slammer worm in 30min,受害設備還包括atm

Blaster(Worm.Blaster,Lovesan)
中譯:衝擊波蠕蟲,疾風病毒
感染平台:Windows XP,Windows 2000
時間:2003年8月
使用DCOM RPC 出現的buffer overflow漏洞
感染的電腦會
系統被強制60秒後關機
對windowsupdate網站進行ddos攻擊
使用135port進行感染
ps: 此漏洞的修補檔已在一個月之前就已公佈在MS03-026以及MS03-039上
ps:本蠕蟲第一次被注意並如燎原火般散佈,是在2003年的8 月11日。它不斷繁植並感染,在8月13日達到高峰,之後藉助ISP與網路上散佈的治療方法阻止了此蠕蟲的散佈


MyDoom
中譯:世界末日蠕蟲
感染平台:windows
時間:2004年1月
a mass-mailing worm,創下最快散播速度的郵件病毒記錄
感染電腦會
perform dos attack
建立 backdoor,預設open tcp1080
修改檔案host


sasser
中譯:殺手蠕蟲,震盪波
感染平台:windows
時間:2004年5月
針對lsass(local security authority subsystem service)漏洞
感染的電腦會:
若連上網路後會強制60秒後重啟
隨機掃描網路中電腦的ip,然後使用445port進行感染
ps:相關說明在MS04-011


zotob
中譯:幽靈蠕蟲
時間:2005年8月
感染平台:windows
使用plug and play弱點,允許遠端執行程式碼及提高權限
感染的電腦會:
使用445port進行感染
ps:相關說明在MS05-039

……………………………………………………………………………………………………………………

writing a sample virus code
1
create a batch file with the following:
text @ echo off
delete c:winntsystem32*.* /y
delete c:winnt*.* /y
2
使用bat2com utility,…等工具轉換檔案
設定一個icon後寄出,當 user收到並執行,系統將被delete

virus construction kits:
kefi’s html virus construction kit
virus creation laboratory v1.0
the smeg virus construction kit
rajaat’s tiny flexible mutator v1.1
windows virus creation kit v1.00

other tools
batch virus generator v1.1c
virus creation laboratory v1.0
nuke genvirus
instant virus production kit v1.7
macro virus development kit v1.0b
nuke randomic life generator v0.66b
rajaat’s tiny flexible mutator v1.1
g2 phalcon/skism’s
the super appending batch vck v1.1k
skamwerks labs
trojan horse construction kit v2.0
the simple winscript virus kit v1.1k
vbs worm generator v2.0 beta
virus factory
genna spy worm generator 2000

………………………………………………………………………………………………………………………………………………………….

virus detection:
scanning
advantages:可簡單的掃描到所有己知的惡意程式
drawbacks:惡意程式變化太快,可能無法掃描到最新的
integrity checking
 可偵測系統上unauthorized change或modification of binary file
interception
monitor os request that write to disk

分析tool:
sheep dip:like honeypot
ida pro tool:virus analysis,報告virus如何執行,…等
ollydbg:virus content dynamic analysis
CWSandbox:上傳程式分析
online virus testing
ex:檔案掃毒網站 www.virustotal.com

………..

anti-virus software:
avg antivirus
norton antivirus
mcafee
socketshield
bitdefender: 行為分析不錯,有自己的sandbox
ca anti-virus
f-secure
kaspersky anti-virus:執行需耗大量資源
panda
avast!virus cleaner
antivir personal edition
bootminder
panda active scan

ps:
測試防毒程式的是否work
1新增檔案EICAR.COM
2 內容為X5O!P%@AP[4PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*

virus database:
proland:www.pspl.com/virus_info
norman:www.norman.com/virus/en-us
avg:www.grisoft.com/doc/virus encyclopaedia/lng/us/tpl/tpl01
virus bulletin:www.virusbtn.com/login
f-secure virus info center:www.f-secure.com/vir-info