亚洲国产精品乱码一区二区,美景房屋2免费观看,哎呀哎呀在线观看视频高清国语,从镜子里看我是怎么C哭你

Article / 文章中心

模仿黑產(chǎn)破解12306驗(yàn)證碼,驗(yàn)證碼產(chǎn)品的未來(lái)是?

發(fā)布時(shí)間:2022-11-11 點(diǎn)擊數(shù):3447

驗(yàn)證碼,人類與機(jī)器不平等的對(duì)抗

在AI的新時(shí)代背景下,破解一款驗(yàn)證碼的成本正變的越來(lái)越低。

很多時(shí)候,看似復(fù)雜的谷歌街景、12306驗(yàn)證碼、讓人望而卻步的百萬(wàn)圖庫(kù),實(shí)際并不復(fù)雜:

  • 12306驗(yàn)證碼有多少種問(wèn)題呢?——其實(shí)只有100種。

  • 他的數(shù)百萬(wàn)圖庫(kù)需要多少樣本可以訓(xùn)練識(shí)別?——只需要5萬(wàn)張。

  • 需要花費(fèi)多少標(biāo)記成本呢?——只需要500塊。

  • 破解花費(fèi)了多少時(shí)間?——作者一周的零碎時(shí)間。

  • 模型需要多少計(jì)算力?——GTX1070上訓(xùn)練20分鐘。

  • 識(shí)別速度呢?——接口雖然慢其實(shí)只是部署在2核2G的云機(jī)器上而已。

 

言而總之,現(xiàn)在的人機(jī)識(shí)別的對(duì)抗已經(jīng)不再是人力對(duì)抗人力,圖像的識(shí)別也已經(jīng)不再像傳統(tǒng)驗(yàn)證碼識(shí)別一樣,需要人工去耐心地分析每一種特征然后做切割和字庫(kù)。如今端到端的CNN模型完美的解決了純圖像分類問(wèn)題。字符型驗(yàn)證碼,也不再需要二值預(yù)處理分割等復(fù)雜操作,一個(gè)4層的仿alexnet的網(wǎng)絡(luò)模型就可以輕松達(dá)到90+的準(zhǔn)確率。

 

目前的驗(yàn)證碼行業(yè),業(yè)界多數(shù)還圍繞在誰(shuí)更難看,更復(fù)雜的發(fā)展方向上。有的漸漸步入“反人類深淵”,比如蘋(píng)果app商店的。

640?wx_fmt=png

 

也有的取自自然場(chǎng)景防止爆破,比如谷歌的街景路牌:

640?wx_fmt=jpeg

 

然而,黑產(chǎn)的破解方案只考慮結(jié)果,經(jīng)過(guò)作者的簡(jiǎn)單統(tǒng)計(jì),谷歌驗(yàn)證碼出現(xiàn)街景問(wèn)題的概率高達(dá)40%,出現(xiàn)汽車或者道路的概率為30%。壞人只需要做出一個(gè)路牌定位器,然后通過(guò)無(wú)限刷新驗(yàn)證碼,就可以只驗(yàn)證路牌類的問(wèn)題,從而無(wú)視其余復(fù)雜的自然場(chǎng)景。那么,研發(fā)一個(gè)路牌定位器需要多少資源?筆者采用fast-rcnn算法,僅需要500張粗糙標(biāo)注的樣本,30分鐘訓(xùn)練便有了上圖的定位效果。

 

12306驗(yàn)證碼是如何破解的呢?

回到12306驗(yàn)證碼,要解決這款驗(yàn)證碼,本質(zhì)上是一個(gè) 分類問(wèn)題。

640?wx_fmt=gif 640?wx_fmt=gif

640?wx_fmt=png

 

文本的分類:

 

將下圖中的問(wèn)題部分200*30的區(qū)域截取處理,利用某開(kāi)放的OCR接口去識(shí)別,會(huì)有80%的識(shí)別準(zhǔn)確率。這個(gè)成功率并不樂(lè)觀,因此我們自己做了一個(gè)問(wèn)題識(shí)別器。假如將全部OCR結(jié)果直接投入Alex-net中,會(huì)存在大量的錯(cuò)誤數(shù)據(jù),得到的分類器成功率將低于10%,效果很差。但是依據(jù)概率清洗,統(tǒng)計(jì)完OCR識(shí)別結(jié)果的圖片,把出現(xiàn)頻率高的認(rèn)為是一個(gè)標(biāo)簽,就會(huì)發(fā)現(xiàn)在5萬(wàn)張圖片中,平均每個(gè)問(wèn)題的出現(xiàn)率為1%。去除出現(xiàn)頻率特別低的樣本數(shù)據(jù)后(比如口哨偶爾會(huì)識(shí)別成口肖,出現(xiàn)頻率低則去除該樣本),重新訓(xùn)練識(shí)別成功率則高達(dá)99%,扭曲的問(wèn)題文本形同虛設(shè)。

640?wx_fmt=jpeg

 

12306驗(yàn)證碼基礎(chǔ)版本會(huì)出現(xiàn)的問(wèn)題如下:

 

 

['日歷', '薯?xiàng)l', '口哨', '蜥蜴', '蒸籠', '護(hù)腕', '印章', '蜜蜂', '文具盒', '綠豆', '菠蘿', '鈴鐺', '剪紙', '耳塞', '手掌印', '鑼', '儀表盤(pán)', '紅棗', '金字塔', '電線', '老虎', '', '辣椒醬', '掛鐘', '雙面膠', '啤酒', '蠟燭', '雨靴', '毛線', '茶幾', '茶盅', '檔案袋', '盤(pán)子', '獅子', '訂書(shū)機(jī)', '籃球', '國(guó)結(jié)', '開(kāi)瓶器', '打字機(jī)', '熱水袋', '海鷗', '電子秤', '排風(fēng)機(jī)', '風(fēng)鈴', '棉棒', '鞭炮', '龍舟', '電飯煲', '鍋鏟', '珊瑚', '螞蟻', '紅豆', '海苔', '鐘表', '卷尺', '冰箱', '蒼蠅拍', '燭臺(tái)', '藥片', '調(diào)色板', '創(chuàng)可貼', '沙包', '話梅', '本子', '安全帽', '海報(bào)', '刺繡', '牌坊', '網(wǎng)球拍', '路燈', '航母', '高壓鍋', '黑板', '拖把', '錦旗', '公交卡', '紅酒', '跑步機(jī)', '櫻桃', '沙拉', '漏斗']

 

圖像的分類:

 

方法仍然是把標(biāo)記好的圖片投入VGG-16層的模型中,初期得到的識(shí)別結(jié)果較差,因?yàn)闃?biāo)記數(shù)據(jù)并不會(huì)完全正確,事實(shí)上現(xiàn)在的通用模型已經(jīng)十分完善,訓(xùn)練的結(jié)果非常依賴數(shù)據(jù)清洗的效果。

 

然而,有沒(méi)有得到高精度區(qū)分標(biāo)記正確與否的樣本集的辦法呢?答案在于網(wǎng)站。

 

絕大多數(shù)網(wǎng)站, 都會(huì)在登錄頁(yè)面存在驗(yàn)證碼,而用戶常識(shí)登錄時(shí),會(huì)首先校驗(yàn)驗(yàn)證碼是否正確,其次是賬號(hào)密碼,因此就是自己生產(chǎn)一堆隨機(jī)賬號(hào)密碼,去撞登錄網(wǎng)頁(yè),發(fā)現(xiàn)驗(yàn)證碼校驗(yàn)通過(guò)了,但是賬號(hào)密碼錯(cuò)誤,就可以有效篩選出正確的標(biāo)記數(shù)據(jù)。

 

同樣的思路,如果我用現(xiàn)在已經(jīng)達(dá)到95%的識(shí)別模型去重復(fù)這個(gè)樣本標(biāo)記的行為,將得到的就會(huì)是遠(yuǎn)比現(xiàn)在5W樣本集多的多的樣本量,可預(yù)期將得到的準(zhǔn)確率會(huì)更高,當(dāng)然會(huì)有同學(xué)說(shuō),那樣你的模型將局限在這類問(wèn)題下,而不能成功適應(yīng)他新的圖像,一旦更新不就失效了嗎?

 

是的,但是解決實(shí)際問(wèn)題的時(shí)候,一些小tips就能解決這樣問(wèn)題,

 

問(wèn):如何應(yīng)對(duì)驗(yàn)證碼圖片的更新迭代?

答:只識(shí)別模型能識(shí)別的驗(yàn)證碼,在高并發(fā)刷新下即使只能識(shí)別5%的問(wèn)題,實(shí)際應(yīng)用也是100%。

問(wèn):如何讓模型自己學(xué)習(xí)沒(méi)遇到過(guò)的圖像?

答:將非模型可識(shí)別的問(wèn)題和圖片標(biāo)記為 _  交付人工打碼,將打碼結(jié)果重新訓(xùn)練模型。

問(wèn):上面的問(wèn)題有沒(méi)有高級(jí)點(diǎn)的解決辦法?

答:撞驗(yàn)證碼庫(kù),新出現(xiàn)的問(wèn)題隨機(jī)性標(biāo)注,8個(gè)格子隨機(jī)撞約有2%的成功率,學(xué)會(huì)一個(gè)新物體也只需要500張樣本,撞10W次即可。

問(wèn):能不能別這么流氓?

答:不能,因?yàn)槊鎸?duì)實(shí)際問(wèn)題與巨大利潤(rùn),壞人就是這么流氓。

  •  

 

驗(yàn)證碼場(chǎng)景的對(duì)抗該何去何從?

在驗(yàn)證碼這類場(chǎng)景的人機(jī)對(duì)抗是十分不平等的,壞人哪怕在識(shí)別上做到5%的識(shí)別,也能通過(guò)撞的手法當(dāng)成100%,固定類型的驗(yàn)證碼圖像又能夠被低價(jià)打碼獲取到樣本,即使是谷歌那樣自然背景缺乏更新迭代也難逃黑手,持續(xù)的在圖像方面糾纏就會(huì)走向12306和蘋(píng)果那樣影響用戶體驗(yàn)的產(chǎn)品。

 

面對(duì)惡意的抗?fàn)帲瑯右莆諏?duì)手的思維,或許實(shí)驗(yàn)室中圖像識(shí)別率達(dá)不到90%以上就是失敗的模型,但是放在黑產(chǎn)中5%就是一個(gè)能賺錢(qián)的模型。

 

或許并不該用破解率去作為唯一指標(biāo),面對(duì)新時(shí)代的黑產(chǎn),更應(yīng)該用黑產(chǎn)的角度來(lái)反思現(xiàn)在的方向,從對(duì)抗的角度除了識(shí)別率,更多去牽制黑產(chǎn)需要?jiǎng)佑玫馁Y源成本,破解率,識(shí)別速度,打碼成本,訓(xùn)練成本,更新迭代的速度,后臺(tái)策略更新的速度,來(lái)綜合衡量一個(gè)驗(yàn)證碼產(chǎn)品。

 

體系化以成本為評(píng)估的驗(yàn)證系統(tǒng)

 

例如谷歌的驗(yàn)證碼,時(shí)不時(shí)會(huì)彈出4*4個(gè)格子的汽車道路識(shí)別,意味著壞人要做16次的CNN分類,然而在校驗(yàn)的過(guò)程中,他會(huì)充滿互動(dòng),識(shí)別出若干后還會(huì)隨機(jī)彈出若干要求繼續(xù)識(shí)別,這樣即使最終能被破解,壞人所需要的計(jì)算力成本時(shí)間交互成本就遠(yuǎn)遠(yuǎn)大于普通驗(yàn)證碼。并且后臺(tái)還有更多瀏覽器行為,設(shè)備指紋,IP等普通用戶看不到的屬性在綜合形成人機(jī)識(shí)別的體系。

 

就像我們的VTT驗(yàn)證碼新物體新邏輯問(wèn)題快速迭代半小時(shí)快速上線,而即使壞人要采用fastrcnn等算法進(jìn)行目標(biāo)定位破解,則需要數(shù)十倍的標(biāo)注成本以及多倍人力不斷跟隨迭代,而不再是傳統(tǒng)字符驗(yàn)證碼幾分幾厘的標(biāo)注成本,自動(dòng)化破解無(wú)需人力調(diào)參。而壞人在破解過(guò)程中用到的ip資源設(shè)備指紋等,又有其他策略進(jìn)行對(duì)抗,因此驗(yàn)證碼將不再只是一張驗(yàn)證碼圖片而是一套人機(jī)驗(yàn)證系統(tǒng),一套的圍繞著影響壞人成本的人機(jī)識(shí)別體系。

 

在這種體系下我們看到的驗(yàn)證碼將會(huì)是最可愛(ài)可親的情切的圖片,一鍵的點(diǎn)擊,通過(guò)無(wú)數(shù)只有真人具備的特征才能通過(guò)這道驗(yàn)證。

640?wx_fmt=png

 

也會(huì)看到利用機(jī)器學(xué)習(xí)在理解人類邏輯的薄弱點(diǎn)而推出的

 

基于邏輯語(yǔ)義的VTT(Visual Turing Test)驗(yàn)證碼

 

VTT驗(yàn)證碼需要用戶根據(jù)題目,選出圖中一個(gè)或者多個(gè)答案物體,通過(guò)點(diǎn)擊、拖動(dòng)、連接等方式選中區(qū)域提交給后臺(tái)判斷。在保證體驗(yàn)依舊簡(jiǎn)單無(wú)需輸入的基礎(chǔ)上,實(shí)現(xiàn)了良好的對(duì)抗效果。VTT的圖片由后臺(tái)3D渲染隨機(jī)產(chǎn)生,保證圖片不會(huì)重復(fù),語(yǔ)義也可以根據(jù)題目中的圖片中的物件屬性組合產(chǎn)生,多種多樣的變化可以有效阻擋惡意。

640?wx_fmt=png

 

640?wx_fmt=png

 

或許要不了多久,壞人依舊誘惑于高額利潤(rùn)最終突破我們的驗(yàn)證碼,而我們也將不斷從紅藍(lán)對(duì)抗中,越戰(zhàn)越強(qiáng)。