上月底國泰航空披露,半年來遭黑客入侵,九百四十萬乘客資料外洩。國泰向立法會提交文件,稱黑客的惡意程式「前所未知」,又說攻擊「既精密又先進」。我好奇有幾「先進精密」和「前所未知」,忍不住請教幾位資訊保安界朋友。有人說,這次攻擊類別是所謂APT,即「高級長期威脅」(advanced persistent threat)。但APT有高低之分,幾位朋友不約而同表示:根據國泰公布的資料,即使是APT也不見得很厲害,因為很多資料外洩的公司,受到的攻擊亦大同小異。有位朋友幽默地說:「咩叫『前所未知』?除非係指超級匪夷所思嘅外星攻擊啦,否則咪頂多係『0day攻擊』。」
讓我稍為解釋:APT不一定要出動「0day攻擊」,只有厲害的APT才用,例如2010年的電腦蠕蟲Stuxnet,便罕有地同時攻擊四個0day漏洞。所謂0day漏洞(zero-day vulnerability),指那些已被黑客發現並利用,但官方尚未引入修補程式(patch)的漏洞。除了發現漏洞的黑客外,其他人(包括軟件發行公司)根本不知漏洞的存在,所以對被入侵的公司來說,一切「0day攻擊」自然都「前所未知」,本來沒什麼稀奇。
有位朋友挑通眼眉,發現國泰是說「惡意軟件識別碼前所未知」,立即搖頭:「咁仲低級!」一般市民不知道何謂「惡意軟件識別碼」,更不明白「前所未知」含義,恐怕以為又是外星襲擊。友人解釋,「惡意軟件識別碼」的術語叫 IOC(indicator of compromise),隨便找隻0day病毒,把程式碼搬上搬落,IOC便會不同,更有種常見軟件叫「程式碼混淆器」(obfuscater),能自動執行這些動作,令你每次放同一隻病毒時,程式碼都有少許變化,於是每次的識別碼也會「前所未知」。所謂「前所未知」,真是當堂嚇一跳,然後得啖笑。
還有個行內半公開的笑話:國泰某前資訊保安高層,曾出席一會議,在台上直指國泰的電腦保安做得差,在場人士聽了都面面相覷。建議國泰不要賣弄語言偽術了。堂堂大公司,既無法適時堵塞漏洞,更沒有及早公布問題,這樣的管理手段,才是公眾「前所未知」。