DriverStudio秘笈大公開─Blue Screen分析
當Windows作業系統出現令人恐懼的藍色死亡畫面時,通常稱為Blue Screen,簡稱BSOD(Blue Screen of Death)。對使用者而言,這畫面代表著Windows作業系統的毀損(Crash)、資料的遺失以及工作的停擺;對程式開發者而言,則意味著所開發的程式已在使用者端發生問題,在絕大多數的情況下,唯有核心模式(Kernel Mode)之程式發生錯誤時,才會導致Windows作業系統產生毀損,且這些third-party核心模式之程式大部分是裝置設備驅動程式(Device Driver)。
長久以來,程式開發人員在所面臨的除錯挑戰中,BSOD一直是最困難的一環。一般而言,大致可上歸類為以下兩項因素:

欲得到核心模式的程式運作行為相當困難,且極少有程式工具提供程式開發人員可行的方法以觀察核心模式程式的執行情況;
核心模式的程式寫作、資訊與技術的資源是有限的、且不夠清析,也很難理解,致使程式開發人員經常採取靠土法煉鋼的方式期望可將問題解決。
為了讓程式開發人員可以更了解DriverStudio工具的除錯威力,尤其是可以一向令開發人員感到頭疼的Windows Blue Screen,DriverStudio採用DriverWorks可自動產生出程式碼,並且故意在程式碼中加入一段會造成Windows作業系統當機的程式進行測試,接著展示DriverStudio工具能立即偵測出導致當機的問題所在,停在發生當機之處並開始檢查系統的狀態,DriverStudio能進一步儲存系統當機的傾印檔(Dump File)以提供系統重開機後作為分析之用,最後程式開發人員就可透過DriverStudio工具精確地找出發生Blue Screen的錯誤程式碼所在位置。
1. 從【圖一】的範例可清楚看出,如何透過DriverWorks
程式產生器自動產生一支Windows驅動程式,並在
Unload函數內加入一段會造成Windows作業系統當機的
程式。
程式碼片段:
VOID BSOD::Unload(VOID)
{
t << “Unload called\n”;
int a = 1;
int b = 0;
a/=b;
KDriver::Unload();
}
詳見【圖一】。
2. 將編譯成功的驅動程式以DriverMonitor載入並啟動該驅動程式。
3.當執行卸載(Unload)驅動程式時,Windows作業系統立即Crash,若在系統Crash前事先有啟動Visual SoftICE,則一旦Windows作業系統發生Crash,VisualSoftICE會自動精確地指到程式碼中發生Crash的Unload函數位置,如【圖二】所示。
4. 藉由【圖三】的示範,透過Visual SoftICE繼續往下Step by Step執行驅動程式,Windows作業系統Crash並立即產生DumpFile。
5.若驅動程式執行後發生作業系統Crash的地點在End-User處,可以透過收集作業系統Crash所產生的傾印(Dump)檔,以DriverWorkbench作進一步的分析,找出驅動程式造成作業系統Crash的主要原因,詳見【圖四】。
DriverStudio可以滿足Windows驅動程式開發的每個階段,包含從程式開發、除錯、調校、測試以及最後的部署,善用DriverStudio的強大除錯工具,不但可以迅速的解決驅動程式造成Windows作業系統Crash問題,更能夠加快驅動程式上市的腳步,提升企業之競爭力。—作者為叡揚資訊 企業應用與運作產品部 系統工程師—
深入淺出介紹權限控管技術
政府機關資訊安全採購管理研討會
有鑒於網路病毒、駭客攻擊事件頻傳,造成私人企業經營、與公務單位運作諸多不便,甚有重大損失;「國家資通安全會報技術服務中心」(簡稱技服中心)為了做好政府機關資安宣導推廣工作,特針對資訊安全管理領域相關議題舉辦研討「政府機關資訊安全採購管理研討會」。叡揚資訊企業電子化產品事業處協理黃俊榮應邀針對以『Identity & Access Management資訊安全在應用系統授權管理的解決方案』為題發表演說,以深入淺出的方式將權限控管技術的新知介紹與在場來賓。
技服中心負責推動並執行政府機關資安演習作業,執行重點在於:測試整合資安通報,及防護體系是否運作順暢,期望各單位要做好駭客防護、漏洞修補,並做好單位資安宣導訓練工作;此研討會是由國家資通安全會報技術服務中心主辦,資策會推廣服務處協辦,於93年11月5日假高雄市霖園大飯店 B2國際廳舉行、11月3、12日假台北國際會議中心國際廳舉行,參加對象為業及政府CTO、CIO、高階主管、MIS Manager。
