它始於一個被囚禁的暴君、一個理髮和一個紋身的僕人。至少,希羅多德是這麼說的。
通常被引用為圖像隱碼術的第一個例子,將一條資訊隱藏在另一條資訊中,一位名叫希斯提埃烏斯的流亡國王想要發動一場反抗對手的叛亂。他的解決方案是剃光頭並在僕人的頭上紋上一條資訊。當頭髮重新長出來時,隱藏的資訊很容易透過敵人的領土傳遞。
Histiaeus 進行了第一次成功的隱寫攻擊。他利用隱藏在眾目睽睽之下的資料來傷害敵人。我一直很喜歡這個故事。它展示了隱藏資料的簡單方法如何產生災難性的後果——在這種情況下,是一場毀滅性的反抗。
現代基於圖像隱碼術的攻擊 通常將惡意軟體隱藏在無害的圖像檔案中,從而在威脅參與者的感染鏈中創建了一個至關重要的環節,就像Histiaeus的隱藏資訊是他攻擊鏈中的第一個環節一樣。
圖像隱碼術還用於從受害者的機器中提取資料。例如,攻擊者在存取公司網路後需要將資料發送到家中。基於隱寫法的惡意軟體實現了這一目標。
在圖像中隱藏惡意軟體有多難?作為概念驗證,嘗試一下並製作一個影片來演示我的隱寫圖像攻擊之旅會很有趣。值得慶幸的是,不需要頭皮紋身!
創建圖像隱寫惡意軟體有多容易?
這些攻擊可能看起來很複雜,但軟體使將資料嵌入圖像變得輕而易舉。免費和可用的圖像隱碼術程式,如 1-2 圖像隱碼術、OpenStego 和 QuickStego,都是現成的和使用者友好的。
使用這些工具,只需幾行代碼即可在幾分鐘內創建和提取惡意軟體。下圖所示的代碼演示了我如何使用 judyb Python 庫來隱藏和顯示圖像中的資料。

使用簡單的 Python 模組,您也可以將資訊隱藏在圖像中並將其發送到您想要的任何位置。圖像隱碼術很有趣。您可以使用它向朋友傳遞秘密消息,但攻擊者可以傳播惡意軟體並感染網路。
為什麼它有效率?
在圖像中隱藏惡意軟體很容易,但很難檢測到。
攻擊者在位/像素級別嵌入資料,因此大多數反惡意軟體掃描工具幾乎不可能檢測到惡意負載。有害圖像很容易繞過大多數即時反惡意軟體檢測方法。
如何防止速記攻擊 - 深度檔案無毒化
由於基於檢測的方法無效,我們需要另一種方法來檢測隱藏在圖像中的惡意代碼。
幸運的是,有一種強大的方法稱為 CDR(檔案無毒化),用於分解檔以刪除 有害資料。CDR 也稱為資料清理,是一種零信任安全解決方案,它假定所有檔都是惡意的。它解構檔並刪除與檔內的檔案類型標準不匹配的可執行內容和元素。最後,它重建檔,確保安全內容的完全可用性。
更強大的 CDR 版本稱為 Deep CDR,它透過查看配置檔、元資料和圖元中的有害內容來進一步檢查圖像。
Deep CDR 使用递归消毒来消除威胁。如果攻击者在 PDF 中嵌入了该图片,Deep CDR 会扫描 PDF 中的每个对象并进行消毒。

它還會刪除任何結構化元資料,這有助於保護隱私和安全。攻擊者可以將特洛伊木馬隱藏在元資料中。從圖像檔案中剝離元資料可防止此攻擊媒介。
在像素級別,我們的程式會刪除可能包含部分有效載荷的未使用資料。它會向這些圖元添加隨機雜訊,從而破壞有效負載執行有害代碼的能力。
我們還可以優化位圖資料。壓縮演算法在不影響圖像品質的情況下刪除隱藏惡意資料的未使用資料。
如下圖所示,圖像品質保持不變。

如果您喜歡學習圖像隱碼術,並對更多網路安全主題感興趣,請註冊我們的郵件清單。
擔心組織的網路安全?聯繫 OPSWAT 今天的安全專家!