什麼,原來駭客也愛 AI 人工智慧?
駭客們用 AI 來在網路與軟體上進行攻防,這種看似只會在科幻小說中出現的情節,如今,正在生活中真實上演。現在甚至出現了 DLFuzz[1] 這個新的名詞。在 DLFuzz 中,白帽駭客可以透過深度學習演算法來為產品進行滲透測試,其架構如下圖 1 所示。該滲透測試方法採用 DNN 的架構與 mutation algorithm(pseudocode 如下圖 2),在文中並有實驗進行測試。這篇論文於西元 2018 年出版,作者甚至聲稱其表現優於 DeepXPlore[2] ,一種使用傳統機器學習方式做滲透測試的框架。
圖 1 DLFuzz 架構
圖 2 Mutation algorithm 的 pseudocode
而在實務面,將機器學習與人工智慧用於滲透測試的新技術,也開始受到關注。知名資安媒體 SecBuzzer 分別發布了以 AI 進行白箱與黑箱測試的方法[3][4]。在白箱測試方法中,使用的技術,主要是 Gradient descent,如下圖 3 所示;而對抗攻擊所使用的則是關於影像辨識雜訊的技術,利用機器學習的實現,重點在於深度,且測試後修正的準確率較高,優勢在於其算法能在極少詢問(Query)次數內,有效率地生產 AI 對抗例,藉此提升自己的優勢。至於黑箱測試方法則偏重於替代網路(Substitute Network)、ZOO 以及 NES[5] gradient estimation 等技術相關的防禦,目的在於預測 gradient 以生成對抗例。其中,用來模擬的替代網路可以使替代模型的決策邊界盡可能趨近受害模型,可能會使用 MNIST 與 CIFAR-10 等模型來訓練(見下圖 4); ZOO 的原理則是以 Loss function 改寫白箱測試的 C&W attack 損失函數,其實驗結果如下圖 5。而 NES 則是用來做梯度預估,並會有類似 reinforcement learning 的學習過程。
圖 3 Gradient descent
圖 4 替代網路模型
圖 5 ZOO training model
所有的測試方式都有其長處與短處,然而,運用機器學習的方式來進行測試,可以較為準確的預測可能的弱點,並有節省人力之可能。然而,所謂「這世界上不存在沒有 bug 的程式」,除了透過 AI 發現的漏洞以外,或許,駭客們還是有可能發現新型態的漏洞。而從攻擊者的角度看起來,由於可能利用機器學習的方式尋找可以濫用的資安漏洞、變造圖片或影像(像是 deepfake 就是很好的例子)以影響特定族群聲浪,所以運用 AI 製造攻擊例,在解決這個問題上,或有其重要性。
撰文 | 郭彥伶
資料來源
[1] Jianmin Guo, Yu Jiang, Yue Zhao, DLFuzz: Differential Fuzzing Testing of Deep Learning Systems. ESEC/FEC: August 2018, 739-743.
[2] Kexin Pei, Yinzhi Cao, Junfeng Yang, DeepXplore: Automated Whitebox Testing of Deep Learning Systems. Communications of the ACM: November 2019, 137-145.
[3] 軟體測試方法/AI攻擊例白箱檢測技術解謎
[4] 軟體檢測方法/AI攻擊例黑箱檢測技術解謎
[5] Andrew Ilyas, Logan Engstrom, Anish Athalye, Black-box Adversarial Attacks with Limited Queries and Information. ArXiv, April 2018.
留言
張貼留言