1. 程式人生 > >AI 安全在阿里業務中的實踐,你瞭解嗎?

AI 安全在阿里業務中的實踐,你瞭解嗎?

開發十年,就只剩下這套架構體系了! >>>   

我們知道,AI 技術將在很長一段時間佔據網際網路技術時代的風口。但是,有程式碼的地方就有缺陷,提到技術很難不講安全,那麼AI會不會碰到安全問題呢?

AI安全

試想一下,未來的某個早晨,當你像往常一樣開啟無人駕駛的汽車車門,報出目的地,然後坐在後座上舒舒服服地瀏覽推送給你的各種新聞,汽車突然失控,在本該停止的紅燈前飛馳而過撞向了正在過馬路的行人,那將是怎樣一場災難。

人工智慧技術給生活帶來便利的同時,其自身的安全問題(AI安全)也不容忽視,AI安全問題可以歸納為內外2方面原因:

  1. 自身缺陷導致的模型出錯:例如,模型結構本身存在缺陷、或者訓練資料和真實場景資料之間的偏差,都可能導致模型預測錯誤。
  2. 外部攻擊導致的模型風險:例如,來自外部的對抗樣本攻擊可誘使演算法識別出現誤判漏判,輸出錯誤結果。

本文,我們會針對第2點的對抗樣本技術結合其在阿里巴巴安全領域中的實際應用給大家做展開介紹。

對抗樣本技術

對抗樣本由 ChristianSzegedy[1]等人提出,他們發現通過深度神經網路訓練得到的模型,在輸入與輸出之間的對映往往不是線性的。這樣就存在一個問題: 在輸入資料中通過故意新增肉眼不易察覺的細微擾動,可以生成對抗樣本,導致AI模型以高置信度給出一個錯誤的輸出。如下圖所示:

目前的對抗樣本根據是否需要指定攻擊的類目可以分為無目標攻擊(non-targeted attack)和目標攻擊(targeted attack)。前者不指定具體類目,只要讓AI識別錯誤即可。後者不僅需要使AI識別錯誤,還需要使AI識別到指定的類別。

生成對抗樣本,最直接的方法是在給定擾動量的範圍內修改樣本,使得修改後的樣本在AI模型上的損失函式最大化(非定向攻擊)或最小化(定向攻擊),這樣就可以把生成對抗樣本的問題歸納為空間搜尋的優化問題。基於不同的優化演算法,學術界提出了很多對抗樣本生成演算法,有興趣的朋友可以自行檢索,此處不具體展開。

對抗樣本應用場景

對抗樣本技術提出後引發了學術界和工業界對於深度學習模型在安全方面的廣泛關注,成為目前深度學習領域最火熱的研究課題之一,新的對抗攻擊方法不斷湧現,應用場景從影象分類擴充套件到目標檢測等。

阿里安全一直以來致力於用技術解決社會問題。為了保障整個生態圈中7億多消費者和千萬商家的資訊保安,AI技術很早就被應用到了阿里安全體系建設中。安全領域一個重要的特點就是存在很強的對抗性,日常防控中,黑灰產會嘗試使用各種對抗樣本攻擊我們部署的AI防控大壩。對此,一方面,阿里安全圖靈實驗室的演算法專家們提出了若干種提升模型安全效能的方法,強化自身堡壘;另一方面,演算法專家們也會以戰養戰,開展針對對抗樣本的攻防研究,利用對抗技術去防禦攻擊者的模型。下面我們結合實際業務,介紹兩種對抗樣本的應用場景:

1.人臉識別

人臉識別技術已經在生活的各個場景普遍應用,手機解鎖要靠臉、移動支付要靠臉,機場安檢要靠臉……一臉走天下的時代逐漸到來。

然而,Bose 和 Aarabi[2]發現通過在原始影象中加入人眼不可區分的微量干擾對人臉識別演算法進行攻擊後,能夠使人臉無法被檢測演算法定位到。如下圖所示,左列為原始影象,檢測演算法可以準確定位,右列為對抗樣本,已經成功繞開了人臉檢測演算法,而在我們肉眼看來兩幅圖畫基本沒有差別。

更進一步,採用對抗樣本攻擊人臉識別系統,還可以使演算法把人臉識別成指定的錯誤類別[3]。下圖第一列為目標類別,第2和第4列為原始樣本,對其加入干擾生成的對抗樣本在第3和第5列,它們均被演算法錯誤識別為第一列目標類別。

2.對抗驗證碼

如同網路通訊的基礎安全設施——防火牆,網際網路業務安全也有其基礎安全設施——圖片驗證碼和簡訊驗證碼。網際網路業務廣泛使用圖形驗證碼用於區分人類和機器的操作行為,使用簡訊驗證碼過濾黑灰產批量賬號及提供二次校驗功能。現在隨著深度學習的門檻越來越低,黑灰產會利用深度學習技術構建模型自動識別驗證碼,突破演算法模型設定的人機識別防線。下圖的文字驗證碼基本都可以被AI模型輕鬆識別。

針對文字驗證碼面臨的挑戰,阿里安全圖靈實驗室的演算法專家們將原始驗證碼替換成增加擾動後的對抗驗證碼。為了增加對抗驗證碼的識別難度,又不影響正常使用者的體驗,演算法專家們又在影象區域和生成方式上進行了組合擴充套件,最終生成的對抗樣驗證碼有效抵禦了黑灰產的批量破解,成為阿里業務安全的一道銅牆鐵壁。採用該組合擴充套件生成的對抗驗證碼如下圖所示:

針對點選式的圖文驗證與行為輔助驗證碼,阿里安全圖靈實驗室的演算法專家們首先在驗證碼中結合了NLP的問答技術,再將全部問答轉換成圖片,最後利用對抗技術生成對抗問答圖片。使用商業的OCR引擎進行對此類對抗問答圖片樣本進行識別測試,和原始樣本的識別率相比,對抗樣本的識別率大幅降低,且並沒有對使用者的體驗帶來很大的影響,由此可見AI結合安全能為業務帶來巨大的價值。

相關推薦

AI 安全阿里業務實踐瞭解

開發十年,就只剩下這套架構體系了! >>>   

網路的「動態路由演算法」瞭解

在計算機網路中,路由器的一個很重要責任就是要在端對端的節點中找出一條最佳路徑出來,通過自己與相鄰節點之間的資訊,來計算出從自己位置到目的節點之間的最佳線路,這種演算法我們可以理解為路由演算法。 路由的模式又主要分為「靜態路由」和「動態路由」。靜態路由協議是由網路管理員手動輸入配置的,適用於小型的不太複雜的網路

爬蟲的IP代理瞭解

我們在做爬蟲的過程中經常會遇到這樣的情況,最初爬蟲正常執行,正常抓取資料,一切看起來都是那麼美好,然而一杯茶的功夫可能就會出現錯誤,比如403 Forbidden,這時候開啟網頁一看,可能會看到“您的IP訪問頻率太高”這樣的提示。出現這種現象的原因是網站採取了一

一鍵清理系統垃圾.bat檔案的誤區瞭解

前幾年在網上出現了一個“一鍵清理系統垃圾檔案.bat”,這個簡單又方便的批處理很快就傳開了。而且到現在還是很紅。很多人都在用這個批處理清理Windows系統垃圾檔案。大多數人覺得方便好用,也不管它的原理是什麼,而一些喜歡搞清楚“為什麼”的朋友也多少了解其中的原理。大家都認為

服務營銷在企業競爭作用知道?有什麽辦法解決?

自動 思維 溝通 定時 桌面 需要 品牌 營銷管理 客服系統 “服務”是任何企業競爭客戶的重中之重,企業的競爭,說白了就是“服務”的競爭。 據了解,在影樓行業,一個新客戶的獲取成本是維護一個老客戶的5倍,企業的服務營銷就如同是一把“雙刃劍”,舞的好不好,關鍵在舞“劍”人有沒

資料庫索引瞭解

索引是對資料庫表中一列或多列的值進行排序的一種結構,使用索引可快速訪問資料庫表中的特定資訊。 當資料庫記錄少的時候索引的用處可能體現不出來,但是當資料庫中有幾十萬條記錄時,就可以體現索引的好處了,建立索引可以有效的提高資料庫的查詢效率。 例如這樣一個查詢:SELECT *FROM p

Android 系統最近幾個版本的更新瞭解

1. 簡介 軟體開發這個行業基本可以認定是技術變化最快的行業,作為軟體開發者為了不被淘汰,需要時刻關注新技術的變化,可以不去實踐新技術但是需要對新技術有一定的巨集觀認識。Android系統每年都會有版本更新,作為Android開發者,怎能不瞭解更新的新特性、新技術,本篇文章

資料中心運維工程師的十大機房管理制度瞭解

機房管理是傳統IDC以及資料中心的運維工程師、運維經理關注的主要工作,運維派收集整理了一些關於機房管理制度建設的條例分享給大家,如果您有更好的經驗,歡迎留言分享,也歡迎投稿到運維派。 一、機房人員日常行為準則 1、必須注意環境衛生。禁止在機房內吃食物、抽菸、隨地吐痰;對於意外或工作過程中弄汙機房地板

分散式鎖的多種實現方式瞭解

為什麼要使用分散式鎖? 在網際網路中很多場景下,我們為了保證資料的一致性,需要保證同一個方法,在同一時間,只能有一個執行緒在執行。這在單機環境中,我們有很多辦法實現,在java.util.concurrent包下,java提供了很多併發相關API,但這些API在分散式場景下

執行緒的來龍去脈瞭解

程序最近有些煩惱,整日愁眉苦臉的,拜訪記憶體的時候也有點心不在焉。 記憶體是個明眼人,開門見山的問道:“程序啊,最近遇到啥問題了?我看你最近情緒有點低落,有啥問題你就直接說出來嘛,我讓大家夥兒來一起幫你想想辦法。” 程序嘆了口氣,說道:“唉,最近不是說 CPU 單核頻率到瓶頸了嗎?人類就用多核芯來彌補單核處理

Nginx 的請求處理流程瞭解

之前我們已經講解了 Nginx 的基礎內容,接下來我們開始介紹 Nginx 的架構基礎。 為什麼我們要討論 Nginx 的架構基礎? 因為 Nginx 執行在企業內網的最外層也就是邊緣節點,那麼他處理的的流量是其他應用伺服器處理流量的數倍,甚至幾個數量級,我們知道任何一種問題在不同的數量級下,他的解決方案是完

Mybatis的幾種傳參方式瞭解

持續原創輸出,點選上方藍字關注我 目錄 前言單個引數多個引數 使用索引【不推薦】使用@Param使用MapPOJO【推薦】 List傳參陣列傳參總結 前言 前幾天恰好面試一個應屆生,問了一個很簡單的問題:你瞭解過Mybatis中有幾種傳參方式嗎?沒想到其他問題回答的很好,唯獨這個問題一知半解,勉強回

IT輪子系列(六)——Excel上傳與解析一套代碼解決所有Excel業務上傳Get到了

tryparse mappath src 個推 列名 import ges bject tab 前言 在日常開發當中,excel的上傳與解析是很常見的。根據業務不同,解析的數據模型也都不一樣。不同的數據模型也就需要不同的校驗邏輯,這往往需要寫多套的代碼進行字段的檢驗,如必填

劃重點丨三大主要雲安全領域知道

挑戰 環境 權限 雲計算 image 最有 限制 國際 相關 面對信息安全的復雜性,制造商們難免不知所措。信息安全的***對制造企業來說後果不堪設想。截至目前也沒有任何跡象表明,信息安全的環境在短時間內會有很大改善或變得更加安全。 因此,越來越多的制造行業開始加強制定企業的

java程式設計的堆與棧瞭解多少?

在JVM中記憶體有這5類 堆(Heap)存放關鍵字new建立的物件和陣列;java堆是jvm記憶體管理中最大的一塊,執行緒共享;當使用new建立物件時,不必指定分配空間的大小,jvm會動態自動分配一塊區域;在程式執行過程中,沒有指向此物件的引用時,此物件就被標記為可被回

如何正確遍歷刪除List的元素

遍歷刪除List中的元素有很多種方法,當運用不當的時候就會產生問題。下面主要看看以下幾種遍歷刪除List中元素的形式:1.通過增強的for迴圈刪除符合條件的多個元素2.通過增強的for迴圈刪除符合條件的一個元素3.通過普通的for刪除刪除符合條件的多個元素4.通過Iterator進行遍歷刪除符合條件的多個元素

java使用Pattern類中和Matcher類進行查詢和替換

前言 無論是哪一門語言,我們總會用到正則表示式來進行字串的查詢和替換。Java中也不為過,我曾經寫過一個網頁---正則表示式線上測試。那時候,我還沒有開始學習Java,不知道Java支援正則表示式,所以我的第一個方案是想辦法將資料傳輸到後臺,然後利用Shell指令碼正則表示

企業資料化轉型大資料分析業務不可缺少的大資料視覺化工具

全球經濟發展進入了數字化轉型時期。每個企業都希望趕上這趟轉型的列車。為什麼大家都如此看重數字化轉型?因為這是一個生存問題,企業必須

Java 異常處理的 20 個最佳實踐知道幾個?

異常處理是 Java 開發中的一個重要部分,是為了處理任何錯誤狀況,比如資源不可訪問,非法輸入,空輸入等等。Java 提供了幾個異常處理特性,以try,catch 和 finally 關鍵字的形式內建於語言自身之中。Java 程式語言也允許建立新的自定義異常,並通過使用 throw 和 throws關鍵字丟擲

根據阿里巴巴職位層級的程式設計水平在什麼位置?(附等級詳細要求)

目前並沒有對程式設計師等級進行明確的劃分,很多時候是參照BAT的程式設計師等級進行判定。 BAT(中國網際網路公司三巨頭) BAT,B指百度、A指阿里巴巴、T指騰訊,是中國網際網路公司百度公司(Baidu)、阿里巴巴集團(Alibaba)、騰訊公司(Tencent)三大網際網路公司首字母的縮寫。 先來一