• <abbr id="6g8ag"></abbr>
  • <pre id="6g8ag"><cite id="6g8ag"></cite></pre>
  • <td id="6g8ag"><optgroup id="6g8ag"></optgroup></td>
  • <rt id="6g8ag"></rt>
  • <rt id="6g8ag"><table id="6g8ag"></table></rt>
  • 欧美XXXX做受欧美88BBW,无码人妻精品中文字幕免费,成人欧美一区在线视频在线观看 ,国产真实自在自线免费精品,色花堂国产精品首页第一页,一级成人欧美一区在线观看,亚洲av日韩综合一区二区三区,无码成人AV在线一区二区
    關于昂楷 視頻
    關于昂楷
    技術揭秘 | AI安全之模型序列化后門攻擊
    發布時間:2024.08.20  /  作者:昂楷科技
    什么是序列化后門攻擊
    在網絡安全的世界里,“后門攻擊”是個耳熟能詳的詞匯,那它究竟意味著什么呢?
    想象一下,你購買了一套高級的智能門鎖,但賣家偷偷藏了一把備用鑰匙,等你安裝好后,他們就可以輕松地進入你的家——這就是后門攻擊的核心思想。攻擊者通過在正常軟件中嵌入惡意代碼,讓用戶在不知情的情況下打開了自家的大門。
    GitHub作為全球最大的開源代碼托管平臺,承載著數以萬計的項目,是后門攻擊的重災區。而對于AI模型,也有一個類似的托管平臺——Hugging Face,這里同樣托管著海量的模型,供開發者免費下載使用。那么,AI模型是否也會遭遇同樣的后門攻擊呢?
    答案是肯定的。就像惡意代碼可以悄悄潛入軟件一樣,惡意AI模型也能以同樣的方式侵入我們的系統。今天,我們就來揭開序列化后門攻擊的秘密面紗。
    AI模型的后門攻擊有很多種,我們今天只講序列化后門攻擊。
    首先,我們需要了解AI模型是如何保存和加載的。簡單來說,AI模型通過序列化技術進行存儲,這意味著將模型的狀態轉化為一種易于保存的形式。你可以把它想象成拆解一個樂高模型的過程:將完整的模型拆分成一個個小零件,然后小心地裝進一個盒子里,并附上組裝說明書。這就是序列化的過程。當你的朋友收到這個樂高模型包裹后,他們會按照說明書上的步驟,將這些零件重新組合起來,恢復成原來的模型。這個過程就是反序列化。
    現在,想象一下,你在郵寄包裹時悄悄塞入了一個可以遠程控制的小攝像頭,并在組裝說明書中加入了這樣一行字:“組裝完成后,請按下按鈕開啟攝像頭。”雖然這對組裝樂高沒有任何幫助,但卻讓你有了窺視朋友的能力。這個攝像頭就是所謂的后門,而模型后門攻擊的目標就是讓你的朋友遵照說明,無意中啟動這個攝像頭。
    序列化后門攻擊的實現
    AI模型可以以多種格式存儲,但在眾多存儲格式中,有三種特別值得關注,因為它們面臨著較高的序列化攻擊風險:Pickle及其變種、SavedModel以及H5格式。
    01 Pickle序列化后門
    Pickle是Python的內置模塊,實現了對一個Python對象結構的二進制序列化和反序列化。它的序列化漏洞由來已久,其官方文檔開頭便有對其風險的警告:

    添加圖片注釋,不超過 140 字(可選)

    Pickle模塊的風險在于反序列化時,__reduce__方法會被調用。這就意味著,只要在序列化之前重寫__reduce__方法,并在里面嵌入執行操作系統命令的邏輯,就能在加載模型時觸發這些命令,實現遠程代碼執行(RCE)攻擊。例如,假設你加載了一個被惡意修改過的模型,其中的__reduce__方法被重寫為執行“cat /etc/passwd”命令:

    添加圖片注釋,不超過 140 字(可選)

    只是簡單地調用了Pickle.load,在反序列化時便執行了命令。
    在與AI相關的框架中,Numpy和PyTorch的save函數都是使用的Pickle模塊,因此也可以使用同樣的方式來加載后門。
    02 SavedModel序列化后門
    SavedModel是TensorFlow提供的一種模型存儲格式,它不僅保存了模型的所有參數,還包括了完整的計算圖。盡管大多數TensorFlow操作專注于機器學習計算,但涉及文件操作的功能如io.read_file和io.write_file卻為攻擊者打開了序列化攻擊的大門。
    io.read_file可以被濫用去讀取系統中的敏感文件,而io.write_file的風險更大,因為它可以用來寫入任意文件。以Linux系統為例,攻擊者可以利用它往用戶的家目錄.ssh/authorized_keys文件中寫入SSH公鑰,從而實現免密碼登錄操作系統。此外,還可以往cron文件中添加計劃任務,自動下載惡意程序并在后臺執行。
    那么,如何讓這些文件讀寫操作得以執行呢?這里的關鍵是利用TensorFlow的call函數。在TensorFlow中,無法直接在加載模型時執行反序列化攻擊,而是在調用模型時才能觸發。每當模型被調用時,都會執行一次call函數,而 build 函數則會在call函數首次執行時被調用一次。因此,只需將文件相關的操作寫入call或build函數中,就可以在加載模型時實現文件的讀寫。
    以下是一個在call函數里面實現了“io.read_file('/etc/passwd')”操作的模型加載和調用過程的例子:

    添加圖片注釋,不超過 140 字(可選)

    在調用模型時進行預測時,io.read_file被執行了,且并不會影響predict的效果。
    03 H5序列化后門
    Keras是少數幾個原生支持將模型序列化為HDF5格式的機器學習框架之一。HDF5作為一種在學術界和研究領域廣泛流行的通用數據序列化格式,通常被認為是安全的。然而,Keras的Lambda層卻為攻擊者打開了一扇后門。
    Lambda層的設計初衷是為了在數據傳遞給機器學習模型之前進行預處理或后處理操作。然而,它允許執行任意代碼的特點,卻成為了潛在的攻擊點。攻擊者可以利用Lambda層來執行操作系統命令,從而實現遠程代碼執行(RCE)攻擊。
    以下模型在Lambda層實現了“os.system('cat /etc/passwd')”操作,加載模型:

    添加圖片注釋,不超過 140 字(可選)

    模型在加載時執行了Lambda層的命令。
    序列化后門攻擊的檢測
    說完了模型后門植入的方法,接下來我們來看看如何檢測這些潛在的威脅。幸運得是,現在已經有一些開源的掃描工具可以幫助我們評估模型的安全性。例如,Protect AI的ModelScan工具就是其中之一。讓我們一起探索這款工具在檢測上述三種序列化后門方面的表現吧!
    1. 檢測pickle模型:

    添加圖片注釋,不超過 140 字(可選)

    檢測結果為嚴重風險,描述信息為使用來自模塊“posix”的不安全運算符“system”。
    2. 檢測SavedModel模型:

    添加圖片注釋,不超過 140 字(可選)

    檢測結果為高風險,描述信息為使用模塊“Tensorflow”中不安全的運算符“ReadFile”。
    3. 檢測H5模型:

    添加圖片注釋,不超過 140 字(可選)

    檢測結果為中風險,描述信息為使用模塊“Keras”中不安全的運算符“Lambda”。此處只能檢測存在Lambda層,沒辦法檢測到具體的操作了。
    使用工具進行檢測只是保障模型安全的一個方面,更重要的是始終保持警惕,只使用來自可信來源的模型。畢竟,預防勝于治療,確保模型的安全性從源頭抓起才是王道。
    關于昂楷磐石研究院
    昂楷科技磐石研究院作為專注于技術研究的核心部門,多年來深耕數據安全領域,緊跟數據安全發展的前沿趨勢,匯聚了一支技術實力雄厚的專業團隊。隨著人工智能技術的迅猛發展,我們積極投身于AI安全領域的探索,致力于深入研究AI攻擊與防御技術,為推動AI安全的發展貢獻力量。
    展望未來,我們將不斷強化自身的技術實力,為AI安全領域帶來創新性的解決方案。我們的安全產品將逐步推出AI領域的專業能力,實現對AI攻擊的有效檢測、監測與防御,為用戶提供全方位的安全保障。


    即刻免費體驗昂楷安全防護
    服務通道
    主站蜘蛛池模板: 亚洲国模一区二区三区视频| av中文在线| 亚洲精品无码久久久久sm| 国产av国片精品| 欧美乱妇高清免费96欧美乱妇高清| 99视频精品3| 亚洲成女人综合图区| 97久久精品人人澡人人爽| 青青操国产| 日韩人妻无码精品系列| 亚洲伊人网站| 亚洲中文字幕播放| 1精品啪国产在线观看免费牛牛| 亚洲国产A∨无码影院| 日韩精品免费一区二区夜夜嗨| 丰满少妇高潮在线播放不卡| 亚洲日韩一区| 美女黄频视频大全免费的国内| 91福利电影| 国精产品一二三区精华液| 午夜67194| 国产VA在线观看| 国模少妇无码一区二区三区| 欧美三级在线| 五月天激情婷婷婷久久| 一本大道久久久久精| 欧美最新精品videossexohd| 亚洲视频免费| 成人区人妻精品一区二区| 偷拍亚洲一区二区三区| 日韩电影精品| 亚洲精品成人a?v| 女人天堂av| 亚洲精品成人av无码A| 日本丰满少妇| 亚洲日本在线一区| 成熟老妇女视频| 亚洲国产日韩伦中文字幕| 亚洲成人免费在线| 色综合五月激情综合色一区| 久久婷婷成人综合色综合|