人工智能黑暗面

責任編輯:zsheng

2018-11-06 11:52:07

摘自:大數(shù)據(jù)文摘

機器學習是現(xiàn)在大家都打了雞血想用或者在用的技術。

機器學習是現(xiàn)在大家都打了雞血想用或者在用的技術。

但是,你以為只有好人能用它嗎?Too young too simple!

接下來,我將揭秘AI技術黑暗的一面——犯罪份子和人工智能的孽緣。

當計算科學發(fā)展的不夠完善,還沒能解決啟發(fā)式問題的時候,很多安全問題都是利用規(guī)則來解決的,這些規(guī)則都是“死”的。

那時候沒人覺得計算機能夠破解密碼、讀出來驗證碼內(nèi)容或者掌握馬路交通的規(guī)律。但是現(xiàn)在,人工智能發(fā)展極快,老掉牙的基于規(guī)則的安全保障系統(tǒng)輕而易舉的就被AI秒成渣。

驗證碼和AI的不解情緣

當我們上網(wǎng)的時候,最煩的就是驗證碼,它老是來讓你填。這是計算機在確定你卻是是個“大活人”,而不是一個程序在惡意攻擊訪問它。

這樣做是因為咱們?nèi)祟愑脩敉ㄟ^鼠標鍵盤訪問某個網(wǎng)站或資源的這個操作,計算機都能用一段程序來同樣做到。

比如說,當你連續(xù)三次在登陸Facebook的時候輸錯密碼,網(wǎng)站肯定會跳出來一個驗證碼來確定你是個活人而不是惡意暴力破解密碼的程序(當然了,我會首先想到梯子被踹了)。Facebook還有很多公司的服務器都是這種安全措施,而這種安全措施都是用驗證碼的,比如常見的驗證碼長成這樣:

多年以來,驗證碼都能有效的區(qū)分惡意攻擊代碼還有人類用戶。但是現(xiàn)在聰明AI時代到來了,驗證碼在它面前仿佛就是送分題。

CNN(卷積神經(jīng)網(wǎng)絡)就是一個很簡單的技術來破解驗證碼,只要你能給他大量的驗證碼學習數(shù)據(jù)集。每張驗證碼都有一個特定的目標,識別文字或者識別物體之類的。

但是,這些問題在CNN面前都將形同虛設。上述說的只是一個簡單的栗子,沒太多的技術術語,只要知道簡單的神經(jīng)網(wǎng)絡的原理就能看懂。

既然驗證碼的保護都不起作用了,暴力破解的威脅就更可怕了。你也許會說,我看到過更難的那種驗證碼,就是從一堆圖片里找出個公交車或者找出路牌兒之類的那種(你肯定沒少上Youtube!) 。但其實,它們對于AI來說也不難,你肯定聽說過谷歌大法的目標檢測有多偉大,雖然谷歌僅僅把它作為搜索引擎的一個基礎功能來用。

GAN和密碼的那些事

注:GAN = Generative Adversarial Networks,讀音:干!翻譯是對抗生成網(wǎng)絡。

咱們的密碼一般不會設的特別奇怪,長這樣的畢竟是少類: 5f2#V0”P?oz3(幾乎就是異類了)。

差不多咱們的密碼都長成這樣:kronebourg1664,名字加數(shù)字大小寫什么好記還好輸入。

當然了,也有少部分不怕死的這么設密碼:password(肯定老被盜)。

對于猜到第一種密碼,我天,太難了,不論是對人腦來說還是對一塊GTX 1080 GPU來說都太難猜中了(GTX 1080是一塊英偉達家的GPU,不只是能用來玩游戲,現(xiàn)在更多人用來跑深度學習工程)。

但是其他的密碼嘛,相對來說就容易一些了。所以我們怎么猜這些密碼呢?最簡單的方法就是翻一本厚厚的字典,然后將每個單詞都當成密碼去試。這種情況下如果你也就能猜中用“password”當密碼的童鞋了。

什么?你真的拿“password”當密碼?哥們兒,英語不錯呀,你怎么不試試拼音“mima”當密碼?趕緊換一個靠譜的吧……

現(xiàn)在,來點高科技的,用AI來猜你的密碼。你以為AI還會翻字典?當然不是,神經(jīng)網(wǎng)絡會自己產(chǎn)生一大堆密碼候選項。我們就用這堆候選來攻破你的密碼。很玄幻?讀一讀PassGAN這篇文章吧,下面這個圖講了這堆候選項是怎么產(chǎn)生的。

就算你對神經(jīng)網(wǎng)絡很熟,這篇論文可能看起來也不是那么輕松。 這不是簡單的通過輸入來預測結果,它是先從數(shù)據(jù)里面學習數(shù)據(jù)的特點,然后讓生成器生成一些具有類似特點的樣本出來的特殊網(wǎng)絡結構。

專業(yè)上叫Generative Adversarial Network(對抗生成網(wǎng)絡,一般簡寫成GAN,提出GAN的就是那個寫深度學習花書的大神古德菲洛)。GAN里面包括了兩個神經(jīng)網(wǎng)絡,一個生成器和一個檢查器。

檢查器用于檢驗輸入的數(shù)據(jù)是否合理,生成器用于來回折騰演化自己讓生成的數(shù)據(jù)能在檢查器眼皮子底下蒙混過關。

譯者注:這里有個鏈接,我覺得可以不加,因為就是在一個門戶里搜了一下神經(jīng)網(wǎng)絡關鍵詞的結果,毫無營養(yǎng)……然后那個啥,GAN的解釋我沒用原文,因為太枯燥了怕別人看不懂,我就結合自己的認識寫了一個,如果翻譯的不好的話再聯(lián)系我翻譯這句。

為了使用PassGAN,我們要有一個不知道哪兒來的真實的密碼數(shù)據(jù)集(也許是某東某訊某度泄漏的?)。從這個數(shù)據(jù)集里起碼能知道人們真正使用的數(shù)據(jù)集大概長成什么樣。一般就是有一些大寫字母,一些日期,一些隨機的數(shù)字,一些名字之類的。

然后呢,我們要用到一個噪聲產(chǎn)生器,就是生成一些隨機數(shù)用的。噪聲產(chǎn)生器和密碼數(shù)據(jù)集就是咱們神經(jīng)網(wǎng)絡模型的輸入了。

網(wǎng)絡的輸出就是二分類值,也就是說在有監(jiān)督訓練的時候,網(wǎng)絡模型會被告訴說這個密碼是真實的還是假的。

在每次神經(jīng)網(wǎng)絡前向傳遞的時候,網(wǎng)絡的輸出都會跟真實的標簽值進行比較,然后帶著這個誤差值反向傳遞回去迭代修改網(wǎng)絡的權重。生成器也會跟著模型的訓練而成長,因為隨著網(wǎng)絡模型變化,生成器根據(jù)噪聲所產(chǎn)生的結果也越接近真實的密碼。

當生成器訓練完畢之后,之后我們再輸入一個噪聲,網(wǎng)絡就能輸出一個特別真實的密碼。所以我們只要讓PassGAN運行幾個小時,就能得到一堆密碼候選項了。

AI和網(wǎng)絡釣魚的那些事兒

釣魚是很常見的黑客技術。你肯定收到過一些看著不太對勁的郵件,自稱是銀行、移動聯(lián)通或者微博的人。然后郵件里面還給你一個鏈接,跳到一個能讓你中毒的網(wǎng)頁。

想做這樣一個釣魚郵件,你只要照著Facebook或者什么其他大公司的郵件樣式外觀和語言仿造一封即可。然后又見里面說你的軟件得更新,或者點開看看這里有什么驚喜,或者讓你填寫登陸信息等。

簡單粗暴還老套。不論你寫了什么,結果都會被發(fā)送到不法分子的服務器上。先不說這個,AI是怎么跟釣魚勾搭上的?

機器學習里面有個利器叫爬蟲,它能通過爬取目標網(wǎng)站的各種信息來改進釣魚技術。通過爬蟲保存下來的數(shù)據(jù),黑客們能夠學習到這些網(wǎng)站的外觀,還有文字書寫的風格,然后據(jù)此產(chǎn)出大量的假郵件然后大規(guī)模發(fā)送。但是有郵件不知道往哪兒發(fā)也是個問題。所以聰明的黑客還能通過前面咱們說的GAN技術來猜測郵件地址,這就增加了讓人上當?shù)臋C會。

有的童鞋可能說了,現(xiàn)在我們用的郵箱里面都有反釣魚的安全措施~安全的很。但悲劇的是,現(xiàn)在的機器學習已經(jīng)知道怎么產(chǎn)生能夠通過釣魚檢查的釣魚郵件了!

訓練集是這樣嬸兒的,一大堆郵件,一些郵件是被反釣魚攔住的,還有一些是能成功發(fā)送的。然后我們就能據(jù)此訓練處一個神經(jīng)網(wǎng)絡模型,來知道釣魚算法是怎么檢測的。在不久的將來,釣魚郵件也許都是這種反釣魚巨網(wǎng)下的“漏網(wǎng)之魚”。

咳咳,總結一下

好消息是,目前只有三種被AI攻克的安全領域。壞消息是,還有巨多的場景正面臨著AI黑客的威脅,比如詐騙廣告等。但是我相信AI在合法的領域中應用所帶來的好處要遠大于不法之徒將它們用于作惡上的壞處。

其實,挺諷刺的,現(xiàn)在有很多將人工智能用于偵破犯罪活動的案例,從街頭的巡查到網(wǎng)絡詐騙都有所設計。最后總結一下:

1.如果你覺的自己的密碼能讓GAN給猜到的話,趕緊換個密碼吧,比如wenzhaizhenshuai就很不錯(因為沒人覺得文摘菌帥,所以GAN學不到這個信息)。

2.別點開不知道誰發(fā)給你的鏈接,除非你十分確定發(fā)郵件的人沒問題;

3.千萬別用AI做惡呀!

鏈接已復制,快去分享吧

企業(yè)網(wǎng)版權所有?2010-2024 京ICP備09108050號-6京公網(wǎng)安備 11010502049343號