軟體安全與資訊戰爭(發表於中央日報)
據路透今年(1999)一月廿一日報導,美國柯林頓總統已向國會要求廿八億美元
的經費用來未來的恐怖戰略武器–網路攻擊與生化武器。這些新興的
威脅如同神經毒氣及細菌攻擊的恐怖小說與網路上身的電影情節,對一般
人而言並不陌生,但卻即將在現實生活中發生。上述預算若經審核通過,
在公元二千年的會計年度就要開始執行。我們若得以幸免於Y2K的千禧
年危機,下一波危害更烈的人為資訊蠱毒或許才是末世戰亂爆發的引線。
資訊蠱毒引爆世紀危機
資訊武器是資訊戰爭中攻擊的原動力,包括電腦病毒、網路蠕虫、軟體
木馬、系統暗門、邏輯引線、晶片嵌入、微型機械、矽晶噬菌、電子干擾
、及電磁脈沖等,而攻擊的目標包含敵方的資訊、資訊相關處理程序、與
資訊系統。就如同生化武器是用以摧毀現實體制中的神經主宰著人類,資
訊武器則用來破壞資訊系統的根本–電磁資料。人為的資訊蠱虫將以各種
可能方式侵噬電磁資料:如具增殖能力的電腦病毒,就像生物病毒之於活
體,可以依附在有用的程式上,越是活躍的宿主,破壞力越強。網路蠕虫
藉網路之助得以廣伸觸角。軟體木馬必須善於偽裝,以獲取青睞進入城門
,伺機屠城。很不幸的因為網際網路的便捷及通用瀏覽器的盛行,在人們
的好奇下,病毒或藉蜘網,或跟著電子郵件到處散布,或伴隨在電影明星
形象(螢幕保護程式)掩飾保護之下入城,開始布放系統暗門及邏輯炸彈
引線。這些都屬於資訊戰爭的軟體武器。
資訊戰爭中的硬體武器,有利用晶片嵌入額外功能電路,在特定電子訊
號觸發下,將發射無線訊號。據傳在波灣戰爭中美軍就使用此手法,精確
取得伊拉克基地據點。微型機械及矽晶噬菌則是以電腦硬體為破壞目標,
就像培養吞噬化學合成物的細菌原理,咸信專事破壞矽晶的菌種將可能被
研發利用。
倘若上帝主宰著現實世界的時鐘,電腦世界裡又由誰來扮演上帝的角色
?時序是掌控現代電腦計算能力最重要的觀念,是資訊世界的時間參考點
﹔時序錯亂意味著程式邏輯將分不清楚現在、過去及未來。記憶體是電腦
計算的狀態暫存區,記錄著資訊世界的運算及資訊搬遷足跡,狀態溢位將
造成空間的混亂。時空失序將可能是實體毀滅的先兆,電腦時空的錯亂又
將造成怎樣的災難呢?上帝在時間年曆上開了人類玩笑,不管用如何的置
閏手法都湊不齊剛好整數天的一年,歷經多次的年曆改革,使得日夜節氣
運轉上得以較為同步協調,以調和現實世界時空的順序。電腦時空裡的一
顆定時炸彈–Y2K,究竟是人為疏失抑或是上帝的嚴肅安排,以展示電
腦時空失調的狀況?我認為這不算是人為疏失,而是軟體的毀壞。
時空失序促成軟體毀壞
或許是令人驚奇的觀感。硬體會隨著時間腐朽,空虛的軟體也會隨著時
間的演化而毀朽。時間是最好的武器,時間的進展將帶動需求的變遷,引
發過去制訂之規格不符,造成設計不周延,實作與設計將因此不相容或有
些許差異。Y2K危機只是軟體因衰老引發之慢性病即將發作,時間引起
的狀態溢位引發電腦時空的慢性失序,同樣也能運用資訊武器在瞬間達成
。
第一波戰爭的武器是短兵相接的刀與劍,其目標是人類,藉由毀損人類
肉體以達控制實體世界的目的。第二波戰爭中運用的是槍炮等可以引起大
規模傷害的武器。第三波戰爭的目的是破壞一切與資訊相關的系統,藉由
毀害資料以達劫奪資訊系統所控制的實體,如使銀行帳目不正確、工廠生
產設備停頓、病人維生設備失靈、交通秩序大亂、飛機失事、核電溫控異
常等。資料所依附的軀殼是軟體系統,如同槍炮是利用彈藥的瞬間爆炸力
破壞人類藉以隱蔽的建築防護體,資訊武器則是設法破壞資料軀殼。
第三波戰爭鎖定資訊戰
我們可將其分為四步驟:軟體缺陷利用、邏輯失控、劫奪控制、引爆瞬
間殺掉大量資料。軟體缺陷利用中最常見的就是狀態溢位。如何產生狀
態溢位?藉由惡意溢寫資料而產生溢位。這種狀態溢寫攻擊原理與程式堆
疊息息相關,堆疊是程式用來存放上一層呼叫者資料包括返回位址的暫存
區,並用來當作局部變數記憶區。程式常見的錯誤發生在返回位址被覆寫
成一個不合法的位址,程式因此失控跳到非原先安排的程式碼,所執行的
指令將不可預期。通常遇到的結局是得到非法指令或記憶段錯誤的訊息,
更糟的是系統當機。上述狀況是在非有意程式設計錯誤(有臭虫)下所導
致。這是「邏輯失控」。但倘若是有意的情形下將有何後果?假設(一)返
回位址覆寫成一個合法的位址﹔(二)上述位址存放有意安排之程式碼。
此情形下所執行的指令將可預期。又假使所安排之程式碼是惡意的,則有
心人可藉此執行任意程式,完成「劫奪控制」系統的目的。此攻擊法最惡
名昭彰的案例就是一九八八年網際蠕虫(Internet Worm)事件,它利用
fingerd程式不檢查局部變數記憶體使用上限的缺失,取得超權限使用者的
權力,以此執行任意命令並複製自己,再以此方法不斷入侵其他機器,同
時也能輕易瞬間引爆系統。
軟體危機意識開始於一九九○年初,當時是擔心軟體生產力及品質的低
落,將使軟體產業界衰亡,而世紀末將臨的除了電腦時空失序的最大挑戰
外,人為資訊蠱虫的不斷演化、資訊武器的精進,都將是軟體發展及資訊
系統的最大威脅。