張哲誠教授/逢甲大學資訊工程學系
所有軟體都是人寫出來的,而只要是人寫的程式,就難免可能出現錯誤。有些錯誤只是讓程式當機,但有些錯誤卻可能形成安全漏洞,讓有心人士有機會趁虛而入。一般情況下,當軟體廠商發現漏洞後,就會發布更新來修補它。這也是為什麼手機和電腦經常提醒我們更新系統。可是如果駭客比軟體廠商更早發現這個漏洞呢?這就是所謂的“零時差攻擊”(Zero-day Attack)。
零時差的意思是,當攻擊發生時,廠商可能才剛知道這個漏洞,幾乎沒有時間可以事先準備修補措施。這就像你家的後門門鎖其實早就壞了,但你一直不知道。偏偏小偷比你更早發現,而且已經偷偷利用這個破綻進出。
零時差攻擊之所以特別難防,其中一個原因是,傳統的偵測方式常仰賴已知特徵來辨識攻擊。你可以把它想像成一本記錄犯罪指紋的資料庫:只要找到符合的指紋,就知道可能遇到了哪一種攻擊。可是全新的攻擊從來沒有出現過,也就沒有現成的指紋可以比對。換句話說,當敵人不在通緝名單上時,只靠通緝名單就可能認不出他。更麻煩的是,有些攻擊並不會立刻造成明顯破壞,而是悄悄潛伏在系統裡。等到人們終於察覺異常時,資料可能早已遭到竊取或外洩。
那麼問題來了:面對一個從來沒見過、甚至連名字都不知道的敵人,我們要怎麼把它找出來?

No Comments Yet