你是否曾經在社群媒體或通訊軟體中收到一張來路不明的圖片?也許你只是點開看了一眼,結果手機突然卡頓、彈出異常訊息,甚至個人資料外洩。這並不是都市傳說,而是真實存在的**「圖片攻擊」(Image-based Exploit)手法。駭客早已學會如何將惡意程式碼藏在一張看似無害的圖片中,讓受害者在「點擊查看」的瞬間就中招**。
本文將深入解析這種攻擊的原理、歷史案例以及防範方法。
圖片攻擊的核心,在於將惡意程式碼隱藏於圖片的二進位資料中,並利用作業系統或應用程式解析圖片時的漏洞來觸發攻擊。常見手法包括:
許多圖片處理程式(如 Android 的 libjpeg
, libpng
, Skia
,或 iOS 的 ImageIO
)在解析特定格式時存在緩衝區溢位(Buffer Overflow)或記憶體破壞(Memory Corruption)漏洞。駭客可透過製作一張精心構造的圖片來觸發這些漏洞。
案例:CVE-2016-5195(Dirty COW) + ImageMagick 漏洞(ImageTragick)
圖片表面看起來正常,實際上其中某些像素值或 metadata 區段藏有惡意程式碼。當圖片被某些軟體(如自動圖片轉檔服務、預覽器)處理時,就會執行這段程式碼。
例如 .jpg.exe
或 .png.scr
,駭客讓圖片看起來是正常圖片,實際上是一個可執行檔。某些 Android 應用或瀏覽器可能因判斷不嚴謹而被誘騙執行這類檔案。
駭客通常透過以下方式傳遞帶毒圖片:
一旦圖片被「打開」、預覽,甚至只是下載到相簿中,只要作業系統或 APP 自動觸發圖片解析,就可能導致惡意代碼執行。
2019 年,安全研究人員發現 Android 中使用的 Skia 圖像處理庫在解析 WebP 格式圖片時,存在緩衝區溢位漏洞。駭客能將惡意程式碼嵌入 .webp
檔案,使用者只需在 Messenger 點開圖片預覽,就會觸發程式執行,甚至可以遠端執行任意程式。
在這個「萬物皆可攻擊」的時代,圖片已經不再只是視覺資訊的載體,更可能成為攻擊者手中的利刃。理解圖片攻擊的技術原理與防禦策略,是所有使用者與開發者的基本功。