用AI攻擊AI?對抗性機器學習的威脅與防禦
越來越多的企業組織開始應用人工智慧(Artificial Intelligence,縮寫AI)和機器學習(Machine Learning,縮寫ML)項目,保護這些項目變得日益重要。 IBM和Morning Consult共同進行的一項調查顯示,在7,500多家受訪跨國企業中,35%的企業已經在使用AI,比去年增加了13%,另有42%的企業在研究可行性。然而近20%的公司表示在保護AI系統的資料方面有困難,這減慢了採用AI的步伐。
保護AI和ML系統面臨重大挑戰,有些挑戰並不是AI技術本身造成的。比方說,AI和ML系統需要數據,如果數據包含敏感或隱私訊息,就會成為攻擊者的目標。機器學習模型在網路空間環境下存在受到對抗性攻擊的潛在風險, 可能成為防禦體系中最為薄弱的環節, 從而危害整個系統的安全。
什麼是對抗性機器學習
對抗性機器學習不是一種機器學習,而是攻擊者用來攻擊ML系統的一系列手段。對抗性機器學習利用了ML模型的漏洞和特殊性來實施攻擊。例如,對抗性機器學習可用於使ML交易演算法做出錯誤的交易決策,使欺詐性操作更難被發現,並提供錯誤的操作建議,以及操縱基於情緒分析的報告。
對抗性機器學習攻擊分為中毒攻擊、逃避攻擊、提取攻擊和推理攻擊等四種方式。
1.中毒攻擊
在中毒攻擊中,攻擊者操縱訓練資料集。例如,故意讓資料集有偏差,讓機器以錯誤的方式學習。例如,你家裝有基於AI的安全攝影機。攻擊者可能每天凌晨3點經過你家,讓他的狗穿過草坪,從而觸發安全系統。最終,你關閉凌晨3點觸發的這些警報,以免被狗狗吵醒。那個遛狗的人實際上在提供訓練數據,讓安全系統知道每天凌晨3點發生的事是無害的。當系統被訓練忽略凌晨3點發生的任何事情後,攻擊者就趁機發動攻擊。
2. 逃避攻擊
在逃避攻擊中,模型已經過訓練,但攻擊者可以稍微改變輸入以實施攻擊。一個例子是停車標誌——當攻擊者貼上讓車標籤後,機器解釋為讓車標誌,而不是停車標誌。在上面遛狗範例中,竊賊可以穿上狗服闖入你家。逃避攻擊就像是機器的視錯覺。
3. 提取攻擊
在提取攻擊中,攻擊者獲得AI系統的副本。有時只需觀察模型的輸入和輸出,就可以提取模型,並試探模型,觀察其反應。如果可以多次試探模型,就能教導自己的模型有同樣的行為方式。
例如在2019年,Proofpoint的電子郵件保護系統曝出漏洞,產生的郵件標頭附有一個分數,顯示了郵件是垃圾郵件的可能性有多大。攻擊者使用這些分數,就可以建立模仿的垃圾郵件偵測引擎,以產生逃避偵測的垃圾郵件。
如果一家公司使用商業AI產品,攻擊者也可以透過購買或使用服務,獲得模型的副本。例如,攻擊者可以使用一些平台,針對防毒引擎測試其惡意軟體。在上面遛狗的例子中,攻擊者可以弄一副望遠鏡觀察安全攝影機是什麼品牌,然後買同一品牌的攝像頭,弄清楚如何繞過防禦。
4. 推理攻擊
在推理攻擊中,攻擊者搞清楚用於訓練系統的資料集,然後利用資料中的漏洞或偏差實施攻擊。如果能搞清楚訓練數據,就可以使用常識或高明的手法來利用它。仍以遛狗的例子為例,攻擊者可能會監視房子,以便摸清楚附近路人車輛狀況。當攻擊者註意到每天凌晨3點有遛狗者經過,安全系統會忽略遛狗者,就有可能利用這個漏洞實施攻擊。
將來,攻擊者也可能同樣利用智慧化的機器學習技術來攻擊正規的機器學習應用。例如,一種新型AI生成式對抗系統。這種系統常用於創建深度偽造(deep fake)內容,即高度逼真的照片或視頻,讓人誤以為真。攻擊者常常將它們用於網路詐騙,但也可以運用同樣的原理來產生無法偵測出來的惡意軟體。
在生成式對抗網路中,一方稱為判別器,另一方稱為生成器,它們互相攻擊。例如,防毒AI可能嘗試找出某個物件是不是惡意軟體。產生惡意軟體的AI可能會嘗試創建第一個系統無法揪出來的惡意軟體。透過兩個系統的反覆對抗,最終結果可能是產生幾乎不可能被發現的惡意軟體。
如何防禦對抗性愛機器學習
網路空間中廣泛存在的對抗使得機器學習的應用面臨嚴峻挑戰,為了防禦對抗性機器學習攻擊的威脅,安全研究人員已經開始了對抗性機器學習的安全研究,提高機器學習演算法在實際應用中的穩健性,保障機器學習相關演算法的應用安全。
研究機構Gartner建議,如果企業有AI和ML系統需要保護,應採取針對性的安全措施。首先,為了保護AI模型的完整性,企業應採用可信賴AI的原則,並對模型進行驗證檢查;其次,為了保護AI訓練資料的完整性,應使用資料中毒檢測技術;此外,許多傳統安全措施也可以被應用到AI系統保護。例如,保護資料不被存取或破壞的解決方還可以保護訓練資料集不被竄改。
MITRE公司以標準化的ATT&CK對抗性策略和技術框架而聞名,它也為AI系統創建了一套名為對抗性機器學習威脅矩陣(Adversarial Machine Learning Threat Matrix )的攻擊框架,該框架後目前被稱為人工智慧系統的對抗性威脅環境(Adversarial Threat Landscape for Artificial-Intelligence Systems,縮寫ATLAS),涵蓋攻擊ML系統的12個階段。
此外,一些廠商已開始發布安全工具,幫助使用者保護AI系統並防禦對抗性機器學習。微軟在2021年5月發表了Counterfit,這款開源自動化工具用於對AI系統進行安全測試。 Counterfit起初是專門針對單一AI模型編寫的攻擊腳本庫,後來變成了一款通用自動化工具,用於大規模攻擊多個AI系統。此工具可用於使MITRE的ATLAS攻擊框架中的技術自動化,但也可用於AI開發階段,提早發現漏洞,以免漏洞進入生產環境。
IBM也有一款名為Adversarial Robustness Toolbox的開源對抗性機器學習防禦工具,它現在是Linux基金會旗下的一個專案。該計畫支援所有流行的ML框架,包括39個攻擊模組,分為逃避、中毒、提取和推理四大類。
針對機器學習在網路空間防禦中可能遭受的攻擊,企業也應該儘早引入機器學習攻擊者模型,目的是科學評估其在特定威脅場景下的安全屬性。同時組織應充分了解對抗性機器學習演算法如何在測試階段發動規避攻擊、在訓練階段發動投毒攻擊、在機器學習全階段發動隱私竊取的常見方法,設計並部署在網路空間實際對抗環境中,能夠有效強化機器學習模型安全性的防禦方法。
參考連結:
https://www.csoonline.com/article/3664748/adversarial-machine-learning-explained-how-attackers-disrupt-ai -and-ml-systems.html
以上是用AI攻擊AI?對抗性機器學習的威脅與防禦的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

使用C 中的chrono庫可以讓你更加精確地控制時間和時間間隔,讓我們來探討一下這個庫的魅力所在吧。 C 的chrono庫是標準庫的一部分,它提供了一種現代化的方式來處理時間和時間間隔。對於那些曾經飽受time.h和ctime折磨的程序員來說,chrono無疑是一個福音。它不僅提高了代碼的可讀性和可維護性,還提供了更高的精度和靈活性。讓我們從基礎開始,chrono庫主要包括以下幾個關鍵組件:std::chrono::system_clock:表示系統時鐘,用於獲取當前時間。 std::chron

DMA在C 中是指DirectMemoryAccess,直接內存訪問技術,允許硬件設備直接與內存進行數據傳輸,不需要CPU干預。 1)DMA操作高度依賴於硬件設備和驅動程序,實現方式因係統而異。 2)直接訪問內存可能帶來安全風險,需確保代碼的正確性和安全性。 3)DMA可提高性能,但使用不當可能導致系統性能下降。通過實踐和學習,可以掌握DMA的使用技巧,在高速數據傳輸和實時信號處理等場景中發揮其最大效能。

C 在實時操作系統(RTOS)編程中表現出色,提供了高效的執行效率和精確的時間管理。 1)C 通過直接操作硬件資源和高效的內存管理滿足RTOS的需求。 2)利用面向對象特性,C 可以設計靈活的任務調度系統。 3)C 支持高效的中斷處理,但需避免動態內存分配和異常處理以保證實時性。 4)模板編程和內聯函數有助於性能優化。 5)實際應用中,C 可用於實現高效的日誌系統。

在C 中測量線程性能可以使用標準庫中的計時工具、性能分析工具和自定義計時器。 1.使用庫測量執行時間。 2.使用gprof進行性能分析,步驟包括編譯時添加-pg選項、運行程序生成gmon.out文件、生成性能報告。 3.使用Valgrind的Callgrind模塊進行更詳細的分析,步驟包括運行程序生成callgrind.out文件、使用kcachegrind查看結果。 4.自定義計時器可靈活測量特定代碼段的執行時間。這些方法幫助全面了解線程性能,並優化代碼。

在C 中處理高DPI顯示可以通過以下步驟實現:1)理解DPI和縮放,使用操作系統API獲取DPI信息並調整圖形輸出;2)處理跨平台兼容性,使用如SDL或Qt的跨平台圖形庫;3)進行性能優化,通過緩存、硬件加速和動態調整細節級別來提升性能;4)解決常見問題,如模糊文本和界面元素過小,通過正確應用DPI縮放來解決。

交易所內置量化工具包括:1. Binance(幣安):提供Binance Futures量化模塊,低手續費,支持AI輔助交易。 2. OKX(歐易):支持多賬戶管理和智能訂單路由,提供機構級風控。獨立量化策略平台有:3. 3Commas:拖拽式策略生成器,適用於多平台對沖套利。 4. Quadency:專業級算法策略庫,支持自定義風險閾值。 5. Pionex:內置16 預設策略,低交易手續費。垂直領域工具包括:6. Cryptohopper:雲端量化平台,支持150 技術指標。 7. Bitsgap:

在MySQL中,添加字段使用ALTERTABLEtable_nameADDCOLUMNnew_columnVARCHAR(255)AFTERexisting_column,刪除字段使用ALTERTABLEtable_nameDROPCOLUMNcolumn_to_drop。添加字段時,需指定位置以優化查詢性能和數據結構;刪除字段前需確認操作不可逆;使用在線DDL、備份數據、測試環境和低負載時間段修改表結構是性能優化和最佳實踐。

C 中使用字符串流的主要步驟和注意事項如下:1.創建輸出字符串流並轉換數據,如將整數轉換為字符串。 2.應用於復雜數據結構的序列化,如將vector轉換為字符串。 3.注意性能問題,避免在處理大量數據時頻繁使用字符串流,可考慮使用std::string的append方法。 4.注意內存管理,避免頻繁創建和銷毀字符串流對象,可以重用或使用std::stringstream。
