上海辰星電子數(shù)據(jù)司法鑒定中心對軟件程序功能檢驗及破壞性程序的鑒定
案例內(nèi)容
【檢索主題詞】
司法鑒定;軟件程序;程序功能檢驗;“solfitmgr.exe”;破壞性程序鑒定
【鑒定機構(gòu)名稱】
上海辰星電子數(shù)據(jù)司法鑒定中心
【鑒定事項】
程序功能檢驗及破壞性程序鑒定
【主辦鑒定人】
高峰;沙晶;郭弘
【鑒定完成日期】
2014-01-13
【法院是否采信】
是
【案情簡介】
2007年6月,中石化某分公司向上海某公司購買輸油管網(wǎng)監(jiān)控系統(tǒng)(SCADA)及相關服務,安裝于天津某地的計算系統(tǒng)中,用于監(jiān)控、遠程操作輸油管網(wǎng)和成品油供應。
2012年7月至2013年7月間,被告人徐某與王某預謀,利用徐某受上海某公司委派至中石化某分公司維護SCADA系統(tǒng)的便利條件,將事先編寫的病毒程序文件植入計算機系統(tǒng)中,破壞SCADA系統(tǒng)的正常運行,再由被告人王某以第三方身份維修SCADA系統(tǒng)為名,向上海某公司索要高額報酬。其間,該病毒文件破壞SCADA系統(tǒng)的數(shù)據(jù)和功能,造成SCADA系統(tǒng)無法運作甚至癱瘓,影響中石化某分公司對輸油管網(wǎng)和成品油供應的管理,中石化某分公司為恢復系統(tǒng)功能另制作了應急系統(tǒng)并額外支出費用人民幣10萬元;上海某公司為恢復SCADA系統(tǒng)的數(shù)據(jù)和功能,派遣員工和聘請專家進行維修,額外支出費用共計人民幣60余萬元。
【鑒定過程】
(一)檢驗環(huán)境
1.檢材1
IP地址為172.20.1.77,在該工作站上發(fā)現(xiàn)涉案程序文件“solfitmgr.exe”,需對其進行程序功能檢驗。
2.檢材2
IP地址為172.20.1.84,該工作站用于遠程連接檢材3,對檢材3被攻擊過程進行監(jiān)控。
3.檢材3
IP地址為172.20.1.17,安裝的操作系統(tǒng)為Solaris,且安裝了SCADA系統(tǒng),需對SCADA系統(tǒng)被攻擊的過程進行檢驗。
(二)涉案數(shù)據(jù)固定保全
1.涉案程序文件的固定保全
根據(jù)委托方的要求,對檢材1中指定的5個涉案文件進行固定保全,這5個涉案文件分別為“excf”、“file”、“se”、“solfitmgr.exe”和“stc”,將上述涉案文件拷貝至目錄“D:case1”下,并計算其MD5校驗碼,具體信息如表1所示。
序號 | 文件名 | 文件存放目錄 | MD5校驗碼 |
1 | excf | C:WindowsSystem32dllcache | D22D739F075C115FAF18E07B7614B90B |
2 | file | C:WindowsSystem32 | 37347892D0A6ED66EFD3431F09A97405 |
3 | se | C:WindowsSystem32dllcache | AA5947F8AB5B4316AFB2234E2F71D195 |
4 | solfitmgr.exe | C:WindowsSystem32 | 6C240B0A334001AD89EEFF13E82AB711 |
5 | stc | C:WindowsSystem32dllcache | 917A02E9A5FB0B23352D2BB65FDB90E6 |
2. 涉案程序文件“solfitmgr.exe”的功能檢驗
在檢驗過程中,使用Process Monitor v3.05對涉案程序文件“solfitmgr.exe”的運行狀況進行監(jiān)控,同時使用Wireshark 1.10.2對網(wǎng)絡請求進行監(jiān)控。
經(jīng)檢驗,涉案程序文件“solfitmgr.exe”在檢材1上作為服務運行,通過監(jiān)控,發(fā)現(xiàn)涉案程序“solfitmgr.exe”在運行的過程中首先對檢材1中的文件“file”進行了讀取。在對文件“file”進行解析后發(fā)現(xiàn)其內(nèi)容為IP地址列表(圖1),而隨后,程序文件“solfitmgr.exe”向文件中所有IP地址都發(fā)起網(wǎng)絡請求。
當程序文件“solfitmgr.exe”向IP地址為“172.20.1.17”(即檢材3)的服務器發(fā)起RSH命令請求后(圖2),在檢材3的操作系統(tǒng)中創(chuàng)建名為“uuadm”的用戶,且檢材3中記錄操作系統(tǒng)用戶的文件“/etc/passwd”中增加了一條相關記錄“uuadm:x:20001:0::/:/bin/sh”(圖3)。
隨后程序文件“solfitmgr.exe”在檢材3中啟用FTP服務,將目錄“/var/cache”的權(quán)限修改為“所有用戶可讀可寫可執(zhí)行”(圖4),并將檢材1中目錄“C:WindowsSystem32
dllcache”下的文件“stc”、 “excf”、 “se”上傳至檢材3中的目錄“/var/cache”下。
3. 服務器涉案程序文件的檢驗
經(jīng)檢驗,檢材3的目錄“/usr/lib”下增加了名為“curt”和“l(fā)ibcon.so”的兩個文件,文件“l(fā)ibcon.so”的內(nèi)容與上傳文件“excf”被解析后的內(nèi)容一致(圖5),文件“curt”的內(nèi)容為“195”。
目錄“/usr/lib”下的文件“l(fā)psched”發(fā)生了改變,經(jīng)計算發(fā)現(xiàn)其文件校驗碼與檢材1所上傳的文件“stc”的校驗碼一致。
檢材3操作系統(tǒng)中的管理打印服務的涉案程序文件“/usr/lib/lp/local/lpsched”也發(fā)生了變化,經(jīng)計算發(fā)現(xiàn)其文件校驗碼與檢材1所上傳的文件“stc”的校驗碼一致。
檢材3的目錄“/usr/dt/lib”下增加了名為“l(fā)ibse”的文件。
經(jīng)過對檢材3的監(jiān)控,發(fā)現(xiàn)檢驗過程中,檢材3的系統(tǒng)中共有5個文件被刪除,具體信息如表2所示。
序號 | 文件名 | MD5校驗碼 |
1 | texcf | D22D739F075C115FAF18E07B7614B90B |
2 | dtstc | 917A02E9A5FB0B23352D2BB65FDB90E6 |
3 | excf | 3DA1CCD4E2A280757D0DCFA86EF70D2D |
4 | se | AA5947F8AB5B4316AFB2234E2F71D195 |
5 | stc | 917A02E9A5FB0B23352D2BB65FDB90E6 |
4. 服務器上主要進程的監(jiān)控
對正常狀態(tài)下檢材3上SCADA系統(tǒng)的主要進程進行監(jiān)控(圖6)。
關閉檢材3上的打印服務后,將文件“l(fā)ibcon.so”的內(nèi)容修改為“5 4800”,將文件“curt”的內(nèi)容改為“4795” (圖7),隨后每隔1秒監(jiān)視文件“curt”的變化。
啟動檢材3系統(tǒng)的打印服務,當文件“curt”的內(nèi)容改變?yōu)椤?800”之后,檢材3上SCADA系統(tǒng)中的關鍵進程“historydbproc”和“eventpv”被終止運行(圖8)。
將檢材3恢復初始狀態(tài)后,重新進行上述檢驗步驟,關閉檢材3上的打印服務后,再次將文件“l(fā)ibcon.so”的內(nèi)容修改為“1041 4900”,將文件“curt”的內(nèi)容改為“4895” (圖9), 隨后每隔1秒監(jiān)視文件“curt”的變化。
啟動檢材3系統(tǒng)的打印服務,當文件“curt”的內(nèi)容改變?yōu)椤?900”之后,檢材3上SCADA系統(tǒng)中的關鍵進程“eventmgr”、“eventpv”和“procmonitor”被終止運行(圖10)。
使用Process Monitor v3.05對程序文件“solfitmgr.exe”運行的整個過程進行監(jiān)控,將監(jiān)控結(jié)果保存為文件“Logfile.PML”,計算其SHA256校驗碼為“C19B88C2D2527FA9B8F44076E727575AB8B758510CD91E9C6609EB437F646794”。
使用Wireshark V1.10.2對程序文件“solfitmgr.exe”運行的整個過程進行抓包,將抓包結(jié)果保存為文件“抓包.pcapng”,計算其SHA256校驗碼為“8BFB15A8C4DD67
6E9318AB080B9124D6D88783CF0F5A1782036B9EA71C0F63AB”。
使用屏幕錄像軟件錄制檢材1上涉案程序文件“solfitmgr.exe”運行的全過程,錄像文件保存為文件“client.avi”。
使用屏幕錄像軟件錄制了檢材1上涉案程序文件“solfitmgr.exe”運行時,檢材2監(jiān)控檢材3的全過程,錄像文件保存為文件“server.avi”。
使用攝像機錄制了檢材1和檢材2工作的全過程,錄像文件保存為文件“All.MTS”。
使用屏幕錄像軟件錄制了檢材2監(jiān)控檢材3上涉案程序文件運行的全過程,錄像文件分別保存為文件“attack1.avi”和“attack2.avi”。
【分析說明】
1.涉案程序文件“solfitmgr.exe”的功能分析
(1)當檢材1的系統(tǒng)時間被調(diào)整至當日2:00之后,涉案程序文件“solfitmgr.exe”會讀取了文件“file”中的IP地址列表,再根據(jù)IP地址列表遠程連接檢材3。
(2)連接上檢材3之后,使用RSH命令遠程為檢材3創(chuàng)建名為“uuadm”的操作系統(tǒng)用戶。
(3)使用RSH命令遠程將檢材3中的目錄“/var/cache”的權(quán)限修改為“所有用戶可讀可寫可執(zhí)行”。
(4)使用名為“uuadm”的用戶通過FTP服務向檢材3中的目錄“/var/cache”成功上傳了3個文件,文件具體信息如表3所示。
序號 | 文件名 | 文件存放目錄 | MD5校驗碼 |
1 | excf | C:WindowsSystem32dllcache | 3DA1CCD4E2A280757D0DCFA86EF70D2D |
2 | se | C:WindowsSystem32dllcache | AA5947F8AB5B4316AFB2234E2F71D195 |
3 | stc | C:WindowsSystem32dllcache | 917A02E9A5FB0B23352D2BB65FDB90E6 |
2.檢材3的監(jiān)控結(jié)果
(1)檢材3上發(fā)生變化的文件的具體信息如表4所示。
序號 | 文件名 | 文件存放目錄 | 文件狀態(tài) | MD5校驗碼 |
1 | lpsched | /usr/lib/lp/local | 被文件“stc”替換 | 917A02E9A5FB0B23352D2BB65FDB90E6 |
2 | lpsched | /usr/lib | 被文件“stc”替換 | 917A02E9A5FB0B23352D2BB65FDB90E6 |
4 | libse | /usr/dt/lib | 新創(chuàng)建文件,與“se”文件一致 | AA5947F8AB5B4316AFB2234E2F71D195 |
5、 | libcon.so | /usr/lib | 新創(chuàng)建文件 | 每次改變 |
6、 | curt | /usr/lib | 新創(chuàng)建文件 | 每次改變 |
(2)經(jīng)檢驗,檢材3上原來的管理打印服務程序文件“l(fā)psched”被上傳文件“stc”所替換。
(3)經(jīng)檢驗,檢材1上傳的文件“se”與檢材3上文件“l(fā)ibse”一致。
(4)經(jīng)檢驗,檢材1上傳的文件“excf”被解析后的內(nèi)容與檢材3上創(chuàng)建的文件“l(fā)ibcon.so”的文件內(nèi)容一致。
(5)管理打印服務程序文件“l(fā)psched”被替換,管理打印服務啟動后,文件“curt”會被改寫,當文件“curt”的內(nèi)容與文件“l(fā)ibcon.so”發(fā)生匹配后,檢材3上SCADA系統(tǒng)中的進程“historydbproc”、“eventmgr”、“eventpv”和“procmonitor”被終止運行。
【鑒定意見】
根據(jù)委托方的要求,本次鑒定對涉案程序文件“solfitmgr.exe”進行了程序功能檢驗,結(jié)論如下:
當檢材1的系統(tǒng)時間被調(diào)整至當日2:00之后,涉案程序文件“solfitmgr.exe”會讀取本地配置文件中的IP地址并連接IP對應的檢材3,然后遠程創(chuàng)建檢材3的系統(tǒng)用戶,并通過創(chuàng)建的用戶使用FTP上傳指定文件“stc”、“excf”和“se”,并在檢材3中新生成了三個文件“l(fā)ibse”、“l(fā)ibcon.so”和“curt”。
其中,上傳文件“stc”替換了檢材3上原來的管理打印服務程序文件“l(fā)psched”,上傳文件“excf”被解析后的內(nèi)容與檢材3新生成的文件“l(fā)ibcon.so”的文件內(nèi)容一致,上傳的文件“se”與檢材3上新生成的文件“l(fā)ibse”一致。
當檢材3管理打印服務啟動后,文件“curt”會被改寫;當文件“curt”的內(nèi)容與文件“l(fā)ibcon.so”發(fā)生匹配后,檢材3上SCADA系統(tǒng)的中的關鍵進程“historydbproc”、“eventmgr”、“eventpv”和“procmonitor”被終止運行,導致檢材3上SCADA系統(tǒng)不能正常運行。
綜上,程序“solfitmgr.exe”屬于破壞性程序。
圖1 文件“file” 的內(nèi)容
圖2 涉案程序“solfitmgr.exe”遠程創(chuàng)建用戶
圖3 檢材3的操作系統(tǒng)中新增用戶
圖4 檢材3的目錄權(quán)限被改寫
圖5 文件“excf”和“l(fā)ibcon.so”的內(nèi)容
圖6 正常狀態(tài)下SCADA系統(tǒng)的主要進程
圖7 修改文件“l(fā)ibcon.so”和文件“curt”的內(nèi)容
圖8 SCADA系統(tǒng)的主要進程被終止運行
圖9 修改文件“l(fā)ibcon.so”和文件“curt”的內(nèi)容
圖10 SCADA系統(tǒng)的主要進程被終止運行