malware analysis - basic and concept

41
惡意程式分析—基礎知識 1

Upload: julia-yu-chin-cheng

Post on 18-Jul-2015

45 views

Category:

Data & Analytics


4 download

TRANSCRIPT

Page 1: Malware Analysis - Basic and Concept

惡意程式分析—基礎知識

1

Page 2: Malware Analysis - Basic and Concept

大綱

系統處理程序之用途說明

登錄檔說明之功用說明

惡意程式判斷—基本檢查

惡意程式判斷—工具使用

識別移除惡意程式注意事項

Page 3: Malware Analysis - Basic and Concept

Kaspersky Labs 6ht Annual Partner Conference ·Turkey, June 2-6 2004Kaspersky Labs 6th Annual Partner Conference · Turkey, 2-6 June 2004

系統處理程序之用途說明

目的

了解電腦系統中,各類處理程序的名稱、位置及對應之服務

3

Page 4: Malware Analysis - Basic and Concept

「Windows工作管理員」,管理執行程序,了解每個執行序使用資源狀況

按下“Ctrl+Alt+Delete”鍵,跳出「Windows工作管理員」視窗

檢視選擇欄位 (檢視每個執行序,資源使用狀況)(CPU使用率、記憶體使用量、使用者名稱)

Page 5: Malware Analysis - Basic and Concept

Windows系統中處理程序分類

1.系統服務程序 svchost.exe、spoolsv.exe、csrss.exe、lsass.exe、

smss.exe、winlogon.exe、services.exe(系統服務程序不可亂砍,系統可能會毀壞)

2. 一般程序 explorer.exe、rundll32.exe、ctfmon.exe、

conime.exe

3. 應用軟體處理程序 iexplore.exe 其他: Office word, excel, Adobe…

Page 6: Malware Analysis - Basic and Concept

1.系統服務程序(svchost.exe)

合法svchost.exe檔,路徑在C:\WINDOWS\System32\

負責啟動微軟Windows系統服務,包括Logical Disk Manager、RPC、Automatic Updates、DHCP Client等。系統服務多半是由載入動態連結程式庫(DLL)啟動,而svchost.exe負責載入相對應DLL檔來啟動服務。

說明:Windows XP下svchost.exe不會超過5個執行序,大致有netsvcs、LocalService、NetworkService、HTTPFilter及imgsvc等5類,若超過的話,很有可能是惡意程式所偽裝

Page 7: Malware Analysis - Basic and Concept

1.系統服務程序(svchost.exe)

Page 8: Malware Analysis - Basic and Concept

1.系統服務程序( spoolsv.exe )

路徑位置為“C:WINDOWS\System32\”

本程序是系統服務中“Print Spooler”服務所對應的執行檔,其主要工作是將檔案載入記憶體中,以待稍後列印,就是專門負責管理緩衝區中,佇列之本地及網路列印作業,使用者若任意加以停用,可能會造成原本的列印作業無法正常運作

Page 9: Malware Analysis - Basic and Concept

1.系統服務程序( spoolsv.exe )

spoolsv.exe常被惡意程式所灌滿,導致無法列印

Page 10: Malware Analysis - Basic and Concept

1.系統服務程序( spoolsv.exe )

Page 11: Malware Analysis - Basic and Concept

1.系統服務程序 (csrss.exe)

路徑放置 C:WINDOWS\System32\

屬於Win32子系統程序,主要作用在於啟動或刪除執行緒及16位元之DOS虛擬環境

Page 12: Malware Analysis - Basic and Concept

1.系統服務程序 (lsass.exe)

路徑放置 C:WINDOWS\System32\

此服務程序負責,IP安全管理、帳號驗證、安全儲存等服務,都是透過lsass.exe執行檔來啟動,例如: IPSEC Service、 Net Logon、 NT LM Security Support Provider、 Protected Storage與Security Accounts Manager等。

Page 13: Malware Analysis - Basic and Concept

1.系統服務程序 (smss.exe )

路徑放置 C:WINDOWS\System32\

連線對話管理子系統,專門負責啟動用戶之連線對話。

System Restore Service

由 svchost.exe所啟動

Page 14: Malware Analysis - Basic and Concept

1.系統服務程序 (winlogon.exe)

路徑放置 C:WINDOWS\System32\

負責用戶登錄狀態之更換,例如系統歡迎畫面、登入、登出及工作站鎖定等狀態顯示的切換。它會將使用者的認證操作要求,傳送給負責身分認證之DLL檔,然後再接收DLL檔的指示,進行狀態切換。

Page 15: Malware Analysis - Basic and Concept

1.系統服務程序 (services.exe)

路徑放置 C:WINDOWS\System32\

專門啟動Event Log及Plug and Play,這2個系統服務的執行檔

Page 16: Malware Analysis - Basic and Concept

2.一般服務程序 (explorer.exe)

路徑放置 C:\WINDOWS\

資源管理器,它是使用者與系統核心之間的介面-shell,使用者必須透過它,才能以桌面及工作列上的圖示,存取並管理電腦中的各項資源

Page 17: Malware Analysis - Basic and Concept

2.一般服務程序

rundll32.exe

路徑放置 C:\WINDOWS\System32\

負責執行DLL內建函式的執行檔

ctfmon.exe

路徑放置 C:\WINDOWS\System32\

啟動微軟入法之執行檔

conime.exe

路徑放置C:\WINDOWS\System32

輸入法設定檔控制台

Page 18: Malware Analysis - Basic and Concept

3.應用軟體處理程序

應用軟體的執行檔,多屬於一般程序,但是仍有一些應用程式,例如防毒軟體,會同時啟動屬於系統服務程序及一般程序的執行檔。

常見的應用軟體程序:

iexplore.exe: IE瀏覽器的執行程序。

注意1 : 開機之後若沒有執行IE,但是卻在Windows工作管理員視窗中發現該程序檔,必定為惡意程式。C:\Program Files\Internet Explorer

注意2: iexplorer.exe,為惡意程式

Page 19: Malware Analysis - Basic and Concept

Kaspersky Labs 6ht Annual Partner Conference ·Turkey, June 2-6 2004Kaspersky Labs 6th Annual Partner Conference · Turkey, 2-6 June 2004

登錄檔說明之功用說明

19

Page 20: Malware Analysis - Basic and Concept

開啟登錄檔編輯視窗

Page 21: Malware Analysis - Basic and Concept

惡意程式常修改分類

一、Auto-start Registry Locations

Autostart Registry Locations: 當使用者登入系統時,在這個機碼(key)下的的程式或Script會被自動執行起來

二、Folder Autostart Locations

三、File AutoStart Locations

Page 22: Malware Analysis - Basic and Concept

HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run\

HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run\

HKLM\Software\Microsoft\Windows\CurrentVersion\Run\

HKCU\Software\Microsoft\Windows\CurrentVersion\Run\

HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce\

HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce\

HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce\Setup\

HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnceEx\

HKLM\Software\Microsoft\Windows\CurrentVersion\RunServices\

HKLM\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce\

HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows\load\

HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows\run

HKLM\Software\Policies\Microsoft\Windows\System\Scripts\

HKCU\Software\Policies\Microsoft\Windows\System\Scripts

1. : 當使用者登入系統,在這個機碼(key)下的的程式或Script會被自動執行

Page 23: Malware Analysis - Basic and Concept

2. 當IE啟動時,一定會被載入工具列

HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects\

3.每次啟動CMD.exe時,在這個機碼下的命令會被執行

HKLM\Software\Microsoft\Command Processor \AutoRun\

HKCU\Software\Microsoft\Command Processor\AutoRun\

Page 24: Malware Analysis - Basic and Concept

4. 當執行特定種類檔案時,惡意程式會一併被執行

預設值為:“%1” %*

惡意程式將會改成malware :“%1” %*

HKLM\Software\Classes\exefile\shell\open\command\

HKEY_CLASSES_ROOT\vbsfile\shell\open\command\(Visual Basic Script檔(.vbs))

HKEY_CLASSES_ROOT\vbefile\shell\open\command(編碼過的Visual Basic Script檔(.vbe))

Page 25: Malware Analysis - Basic and Concept

5. 在這機碼下的CLSID會對應到HKLM\Software\Classes\CLSID\{GUID}\InProcServer

每當IE啟動時,它們會被IE載入:

HKLM\Software\Microsoft\Windows\CurrentVersion\ShellServiceObjectDelayLoad\

HKCU\Software\Microsoft\Windows\CurrentVersion\ShellServiceObjectDelayLoad\

Page 26: Malware Analysis - Basic and Concept

6.可以自訂不同的使用者介面:

HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System\Shell\

7.包含被允許的Shell Extensions表列:

HKLM\Software\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved\

8. 當使用者登入系統時,在這個機碼裡的DLLs會被Windows-based應用程式載入

HKLM\Software\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLLs

Page 27: Malware Analysis - Basic and Concept

9. 當Windows NT會執行標準的GINA DLL (MSGina.d)。當GinaDLL機碼存在時,在這機碼下面的DLL會被Winlogon在載入。

HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\GinaDLL\

10.更改原來的SHell(explorer.exe)且在這機碼下的執行檔會被Userinit.exe啟動

HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Shell

HKCU\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Shell

Page 28: Malware Analysis - Basic and Concept

11. 在這機碼下的程式會在System Mode被啟動

HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\System

12. 可以定義系統所使用的工作管理員

HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\TaskMan

13. 當使用者登入系統時,在這機碼下的程式會被Winlogon執行。預設是Userinit.exe

HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\UserInit

Page 29: Malware Analysis - Basic and Concept

14.這機碼下的DLLs會接收和處理由Winlogon產生的事件(event)

HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify\

15. 當系統啟動時,在這個機碼裡的程式會被執行

HKLM\System\CurrentControlSet\Control\Session Manager\BootExecute

16.在這機碼下的服務,大部份會以LocalSystem的權限啟動

HKLM\System\CurrentControlSet\Services\

Page 30: Malware Analysis - Basic and Concept

17.微軟使用這個機碼來設定已經安裝的視窗元件(Windows component)

HKLM\Software\Microsoft\Active Setup\Installed Components\

18.記錄現行使用者(Current User)的啟動目錄(「開始」功能表=>程式集=>啟動,亦即,%USERPROFILE%\「開始」功能表\程式集\啟動)

HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\Startup

HKLM\Software\Microsoft\Windows\CurrentVersion\explorer\User Shell Folders\Common Startup

Page 31: Malware Analysis - Basic and Concept

19. 這機碼下的子機碼記載每個程式的路徑和完整的執行路徑名稱

HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths\

20. 這是用來檢查應用程式的問題,但惡意程式會利用它,以達到執行的目的

HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\

21.在這機碼下COM Objects會記錄執行的命令。預設值是shell32.dll:

HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\ShellExecuteHooks\

Page 32: Malware Analysis - Basic and Concept

二、Folder Autostart Locations

%USERPROFILE%\「開始」功能表\程式集\啟動

%ALLUSERSPROFILE%\「開始」功能表\程式集\啟動

%SystemRoot\Tasks (排程工作的目錄)

Page 33: Malware Analysis - Basic and Concept

三、File AutoStart Locations

在%SystemRoot%目錄內。某些人會使用的一個技巧,就是在C:\目錄底下產生一個同樣取名為explorer.exe。 當Windows在開機時,並未指定explorer.exe應該在哪個目錄底下,所以,開機時會從根目錄開始尋找該檔案來執行

%SystemDrive%\autoexec.bat

%SystemDrive%\config.sys

Page 34: Malware Analysis - Basic and Concept

wininit.ini: 是Windows在開機時用來預先載入某些應用程式的方法。舉例說明:[boot]shell=explorer.exe virusfile.exe

winstart.bat

win.ini: 是載入系統設定,例如驅動程式、桌布畫面等等。舉例說明:[Windows]load=virusfile.exerun=virusfile.exe

Page 35: Malware Analysis - Basic and Concept

Kaspersky Labs 6ht Annual Partner Conference ·Turkey, June 2-6 2004Kaspersky Labs 6th Annual Partner Conference · Turkey, 2-6 June 2004

惡意程式判斷—基本檢查

36

Page 36: Malware Analysis - Basic and Concept

第一招:檢查合法及惡意程序

執行程序之正確拼法、大小寫、路徑位置檢查

Page 37: Malware Analysis - Basic and Concept

第二招:檢查惡意程式最常更改的機碼位置

(資料來源: F-Secure 2007)

HKLM\Software\Microsoft\Windows\CurrentVersio

n\Run,佔了總數的 39.8%

Page 38: Malware Analysis - Basic and Concept

Kaspersky Labs 6ht Annual Partner Conference ·Turkey, June 2-6 2004Kaspersky Labs 6th Annual Partner Conference · Turkey, 2-6 June 2004

識別及移除惡意程式注意事項

39

Page 39: Malware Analysis - Basic and Concept

注意事項

1. 防毒軟體有更新過新的病毒碼就先使用新的病毒碼再掃過一遍

2. 關閉系統還原功能

步驟:

開始

控制台

系統

系統還原

關閉所有磁碟上的系統還原

Page 40: Malware Analysis - Basic and Concept

注意事項 (Cont.)

3. 在「安全模式」可以刪除病毒及綁架程式,但無法刪除在Boot Mode(出現Logo時)就載入啟動的惡意程式

4.儘量不要馬上刪容易引起當機的系統程式,如:

winlogon.exe,

svchost.exe

explorer.exe,

lsass.exe,

services.exe。

若是萬一被注入DLL Injection請使用Live CD光碟開機後再去刪DLL檔案

Page 41: Malware Analysis - Basic and Concept

注意事項 (Cont.)

惡意程式清除成功是指「開機後沒再出現」,也就是Disable惡意程式的行為使其不能運作,而不是一定要刪除中毒的所有檔案。