現今的資訊安全軟體已經相當強大,能夠偵測出大部分可疑檔案。然而,隨著企業對於提升安全性的意識日益增強,駭客也在不斷尋求新的方式來逃避偵測。其中一種技術,是將惡意軟體隱藏在圖片或相片中。
這聽起來有些離奇,但事實上是相當普遍的情況。將惡意軟體嵌入不同格式的圖片,屬於隱寫術(Steganography)的應用之一。隱寫術是一種可以將資料隱藏在檔案中,以避免偵測的技術。ESET研究團隊發現,Worok駭客組織正在使用這種技術,將惡意程式碼隱藏在圖片檔案中,僅通過提取特定的像素資訊來執行載荷。需要注意的是,這種方法通常在已經受到入侵的系統上進行,因為將惡意軟體隱藏在圖片中,更多是為了逃避偵測,而不是進行初始入侵。
將惡意程式碼嵌入圖片中的常見方法有兩個:使用每個像素的最不顯著位元(RGBA值的最低位元)來隱藏一小段訊息;或將內容嵌入圖片的透明通道(表示顏色的不透明度),只使用相對不重要的部分。這樣一來,圖片外觀上基本與正常圖片相同,使得任何差異都難以肉眼察覺。
舉個例子,合法的廣告網路可能會提供從受感染的伺服器發送惡意橫幅的情況。從橫幅中提取出JavaScript程式碼,利用Internet Explorer某些版本中的CVE-2016-0162漏洞,以獲取有關目標的更多資訊。
這兩張圖片可能看起來相同,但其中一張在像素的透明通道中包含惡意程式碼。請注意,右邊的圖片看起來異常且像素化。(來源:ESET研究團隊)
從圖片中提取的惡意載荷可以用於多種目的。在上述的Internet Explorer漏洞案例中,提取的腳本將檢查是否在受監控的機器上運行,例如用於惡意軟體分析的機器。如果不是,它將重定向到一個利用工具的登錄頁面。在成功利用後,最終載荷將用於傳送各種惡意軟體,例如後門程式、銀行木馬、間諜軟體、檔案竊取程式等等。
當你在社交媒體上看到圖片時,你可能擔心其中是否可能含有危險的代碼。然而,需要考慮到上傳到社交媒體網站的圖片通常會被大幅壓縮和修改,因此對於駭客來說,要在其中隱藏完整且可運行的代碼將是非常困難的。如果你比較一張照片在上傳到Instagram之前和之後的外觀,通常會有明顯的質量差異,這一點或許是很明顯的。
最後,從圖片中提取的任何漏洞利用代碼,都依賴於存在的漏洞來執行。如果您的系統已經更新,那麼漏洞就無法生效。因此,時刻保持你的網路保護、應用程式和操作系統更新是一個良好習慣。運行已完全更新的軟體,並使用可靠的安全解決方案,可以避免此類漏洞的風險。