<ul id="qxxfc"><fieldset id="qxxfc"><tr id="qxxfc"></tr></fieldset></ul>


      ?原創(chuàng)文章,轉(zhuǎn)載請(qǐng)標(biāo)明出處!https://www.cnblogs.com/boycelee/p/11363611.html
      <https://www.cnblogs.com/boycelee/p/11363611.html>
      ?
      隨著機(jī)器學(xué)習(xí)與圖像識(shí)別技術(shù)的發(fā)展,第一代、第二代驗(yàn)證碼已經(jīng)失去了安全驗(yàn)證的作用。為了增加識(shí)別難度,網(wǎng)站暴力升級(jí)圖片驗(yàn)證碼,嚴(yán)重破壞了用戶體驗(yàn)。第三代驗(yàn)證碼的誕生解決了這一痛點(diǎn),第三代驗(yàn)證碼已經(jīng)不再是狹義上的驗(yàn)證碼,它通過多場(chǎng)景多維度進(jìn)行數(shù)據(jù)收集,為網(wǎng)站提供立體式安全保障。
      ?
      聲明
      ??本文內(nèi)容僅限于研究,不涉及各安全廠商具體源碼與風(fēng)控策略。維護(hù)網(wǎng)絡(luò)安全,人人有責(zé)。 ? ? ? ?
      背景
      前段時(shí)間分析了市面上一些安全廠商的第三代驗(yàn)證碼協(xié)議,以下內(nèi)容不針對(duì)任何廠商,僅聊聊自己對(duì)第三代驗(yàn)證碼的理解。 ?
      驗(yàn)證碼劃代
      (一)第一代驗(yàn)證碼 定義:主要利用簡(jiǎn)單知識(shí)構(gòu)建驗(yàn)證碼。如中文、英文、數(shù)字等。 ??? (二)第二代驗(yàn)證碼
      定義:以第一代驗(yàn)證碼為基礎(chǔ),以創(chuàng)新交互方式的思想構(gòu)建驗(yàn)證碼。如看題選字、看圖選物等。 ? ??? (三)第三代驗(yàn)證碼
      定義:多場(chǎng)景多維度收集數(shù)據(jù)信息,為網(wǎng)站提供立體式安全防護(hù)。 ???
      第一第二代驗(yàn)證碼退出歷史舞臺(tái)的原因
      以下是我總結(jié)的兩點(diǎn)原因 (1)隨著機(jī)器學(xué)習(xí)與圖像是被技術(shù)的發(fā)展,第一代、第二代驗(yàn)證碼已經(jīng)失去了安全驗(yàn)證的作用;
      (2)為了增加識(shí)別難度,網(wǎng)站暴力升級(jí)圖片驗(yàn)證碼,嚴(yán)重破壞用戶體驗(yàn)。 舉個(gè)例子 ????
      以上類型驗(yàn)證碼我們通過肉眼識(shí)別準(zhǔn)確率大約為30%,但我們拿到圖片打碼平臺(tái)(魔鏡)上用訓(xùn)練后發(fā)現(xiàn)準(zhǔn)確率能超過90%。機(jī)器能做得比人好,其實(shí)這已經(jīng)失去的驗(yàn)證碼的意義。
      第三代驗(yàn)證碼“很簡(jiǎn)單”

      ????最近常常會(huì)有人問我,研究的第三代驗(yàn)證碼是不是就是滑塊驗(yàn)證碼?不就是把滑塊滑動(dòng)到指定位置嗎?這有什么難的??這讓我想起,在還沒加入Qunar前,小王子在InfoQ上的分享。有人問他,機(jī)票價(jià)格為什么不能做成一張巨大的哈希表?有必要設(shè)計(jì)得這么復(fù)雜嗎?從產(chǎn)品的角度來(lái)說,無(wú)論是Qunar機(jī)票報(bào)價(jià)還是第三代驗(yàn)證碼都是非常成功的,因?yàn)閮?yōu)秀的產(chǎn)品就是讓普通用戶覺得“很簡(jiǎn)單”。
      ?
      第三代驗(yàn)證碼網(wǎng)上方案可行嗎
      在google或百度上搜索,就會(huì)發(fā)現(xiàn)很多文章分享如何通過機(jī)器模擬人的行為進(jìn)行滑動(dòng)驗(yàn)證碼、點(diǎn)選驗(yàn)證碼校驗(yàn)。解決方案無(wú)非就是一下兩種形式:
      (1)Selenium + Headless (2)chrome插件模擬點(diǎn)擊 注:
      ????Selenium是一種用于Web應(yīng)用程序測(cè)試工具。使用Selenium能夠模擬真正用戶操作瀏覽器的行為,例如模擬鼠標(biāo)操作、模擬鍵盤操作等。
      ????PhantomJS是一個(gè)”無(wú)界面"(headless)瀏覽器,它會(huì)把網(wǎng)站加載到內(nèi)存并執(zhí)行頁(yè)面上的JavaScript,因?yàn)椴粫?huì)展示圖形界面,所以運(yùn)行起來(lái)比完整的瀏覽器更高效。
      ?
      ????可行嗎?我覺得在用戶層面上是可行的,無(wú)非就是用戶怎么操作,機(jī)器就怎么操作。但是一旦請(qǐng)求數(shù)達(dá)到某個(gè)閾值后,滑塊就再也無(wú)法成功。這是什么原因?qū)е碌哪??下面我們?lái)分析分析。
      ?
      第三代驗(yàn)證碼是什么?
      以下是我對(duì)第三代驗(yàn)證碼的概括 (一)立體防護(hù) 第三代驗(yàn)證碼,已經(jīng)不再是狹義上的驗(yàn)證碼。多場(chǎng)景多維度進(jìn)行數(shù)據(jù)收集,給網(wǎng)站提供立體的安全保障。 (二)無(wú)感驗(yàn)證
      以無(wú)感、無(wú)知識(shí)的形式存在,極大提升用戶體驗(yàn)。 (三)數(shù)據(jù)分析 利用機(jī)器學(xué)習(xí)對(duì)機(jī)器信息、行為數(shù)據(jù)等進(jìn)行高維度地分析。 ? 第三代驗(yàn)證碼構(gòu)成
      以下是我總結(jié)的第三代驗(yàn)證碼構(gòu)成 (一)驗(yàn)證碼圖片 ?? ??1)圖片還原 ?? ??2)圖片識(shí)別 (二)人機(jī)識(shí)別 ?? ??3)生物行為特征 ??
      ??4)設(shè)備環(huán)境信息監(jiān)測(cè)(設(shè)備指紋) (三)平臺(tái)安全 ?? ??5)代碼混淆?(定時(shí)混淆) ?? ??6)加密算法?(高頻率定時(shí)更新) ??
      ??7)??瀏覽器多點(diǎn)存儲(chǔ)技術(shù)(惡意行為標(biāo)識(shí)) (四)風(fēng)控模型 ?? ??8)風(fēng)險(xiǎn)決策?(基本行為校驗(yàn)、參數(shù)校驗(yàn)) (五)行為驗(yàn)證 ??
      ??9)驗(yàn)證碼(無(wú)感、滑塊、點(diǎn)選等) (六)反爬策略 (七)大數(shù)據(jù)風(fēng)險(xiǎn)庫(kù) ?
      第三代驗(yàn)證碼分析流程

      (一)圖片還原
      ??????分析的第一步,圖片被打亂,如何還原? ??圖片還原思路: ????(1)切割圖片,記錄位置,最后找出規(guī)律 ????(2)通過前序請(qǐng)求返回值
      ????(3)其他特殊方式,如圖片名稱、圖片lbs、固定數(shù)組等 ? ? ? ? ? ?? ?
      (二)滑塊識(shí)別
      ???????分析第二步,缺口識(shí)別。(是否下發(fā)原圖,視具體廠商而定) ? ?滑塊識(shí)別思路:
      ????(1)暴力遍歷(原背景圖與缺口背景圖相“與”,單片區(qū)域中存在大面積不同,返回坐標(biāo))
      ????(2)邊緣檢測(cè)?(①提取單片邊緣并構(gòu)造二維矩陣②對(duì)圖像進(jìn)行處理凸顯拼圖在背景圖中邊緣③沿軌跡相與) ????(3)機(jī)器學(xué)習(xí)(給圖片打標(biāo),訓(xùn)練模型) ?
      ? ? ? ? ? ? ? ? ??? ???? ? ? ? ? ? ? ? ?
      (三)行為模擬
      ????????分析第三步,行為模擬(滑塊、點(diǎn)選、刮圖等)。 ? ??行為模擬思路: ????(1)低級(jí)數(shù)據(jù)偽造-自定義算法:
      ????????????Ⅰ、?先快后慢 ????????Ⅱ、臨近卡槽動(dòng)作模擬 ????(2)高級(jí)數(shù)據(jù)偽造-自定義算法:
      ????????????Ⅰ、?收集人工滑動(dòng)軌跡?? ???????? ??Ⅱ、根據(jù)數(shù)據(jù)擬合模型,用模型構(gòu)造軌跡 ? ? ??
      (四)JS混淆

      ????分析第四步,生物行為模擬之后,坐標(biāo)如何發(fā)送?以什么格式發(fā)送?要想知道答案就需要去了解其協(xié)議。分享淘寶的平展控制流混淆JS(3萬(wàn)行),讓大家感受下被JS支配的恐懼。
      https://g.alicdn.com/AWSC/uab/118.js?d=22
      <https://g.alicdn.com/AWSC/uab/118.js?d=22> ? ? ?? ? ? ? ? ?? ????(1)為什么混淆? ? ?
      ? ?JS代碼是透明且公開的,如果被輕易了解其中信息即可模擬請(qǐng)求,并與服務(wù)器通信。要想解決這一問題,就必須要使用混淆和加密來(lái)解決代碼安全隱患。
      ????(2)保護(hù)機(jī)制與原理? ????? Ⅰ、使JS代碼不可分析,防止動(dòng)態(tài)跟蹤調(diào)試 ????? Ⅱ、定期高頻率混淆JS代碼
      ??????Ⅲ、定期高頻率修改加密算法 ????(3)如何進(jìn)行JS混淆? ?????Ⅰ、正則替換。成本低、效果差
      ?????Ⅱ、語(yǔ)法樹混淆。成本高、更靈活、更安全 ? ????(4)常見混淆哪幾種形式? ? ? ?Ⅰ、明文字符加密。對(duì)常量、變量以及函數(shù)名進(jìn)行替換 ? ?
      ?Ⅱ、控制流混淆。將代碼塊進(jìn)行拆分,打亂函數(shù)執(zhí)行流程,隨機(jī)插入垃圾代碼。
      (五)瀏覽器多點(diǎn)存儲(chǔ)技術(shù)

      ????分析第五步,在調(diào)試過程中,可能會(huì)出現(xiàn)異常狀況(驗(yàn)證碼驗(yàn)證失敗、驗(yàn)證碼類型變更、網(wǎng)站拒絕訪問等等)。不要懷疑,你的異常行為已經(jīng)導(dǎo)致該機(jī)器被定位。這時(shí)候想到的第一件事,應(yīng)該是刪除cookie,但是刪除cookie之后,問題還是沒得到解決,這是什么原因呢?定位數(shù)據(jù)具備以下特征。
      ????(1)多點(diǎn)存儲(chǔ) ????????Cookie、SessionStorage、LocalStorage多點(diǎn)存儲(chǔ)同一數(shù)據(jù) ????(2)難刪除
      ????????多點(diǎn)存儲(chǔ),分別存儲(chǔ)于瀏覽器、用戶本地。難以一次刪除所有數(shù)據(jù) ????(3)防篡改
      ????????防篡改機(jī)制,通過防篡改簽名,內(nèi)容和簽名對(duì)應(yīng)。服務(wù)端校驗(yàn)數(shù)據(jù)是否被篡改 ????(4)可重生
      ????????多點(diǎn)存儲(chǔ),任一存儲(chǔ)點(diǎn)存在數(shù)據(jù),每次訪問數(shù)據(jù)重新植入所有存儲(chǔ)點(diǎn)
      (六)設(shè)備指紋
      ????分析第六步,在分析JS的過程中會(huì)發(fā)現(xiàn),瀏覽器還收集了其他的信息。那么這些信息是什么呢?其實(shí)收集的是設(shè)備信息,用戶生成設(shè)備指紋。 ?
      ????(1)設(shè)備指紋是什么? ????????基于設(shè)備與運(yùn)行環(huán)境等多維度收集信息,為設(shè)備單獨(dú)生成的唯一識(shí)別碼 ? ????(2)為什么收集設(shè)備指紋?
      ????????需要對(duì)用戶上網(wǎng)的設(shè)備的軟硬件信息進(jìn)行收集,為用戶生成網(wǎng)絡(luò)唯一身份標(biāo)識(shí)。若用戶存在惡意行為,能夠精準(zhǔn)鑒別用戶身份,進(jìn)行精確打擊。 ?
      ?????(3)指紋收集角度? ????????Ⅰ、硬件信息 ????? ? Ⅱ、軟件信息 ????????Ⅲ、軟件環(huán)境信息 ????????Ⅳ、服務(wù)器下發(fā)信息
      ? ????(4)收集什么信息?
      ????????Ⅰ、設(shè)備與瀏覽器基本信息?(系統(tǒng)、內(nèi)存、顯卡、瀏覽器版本、瀏覽器當(dāng)前語(yǔ)言、屏幕顏色深度、屏幕分辨率、瀏覽器插件等)
      ????????Ⅱ、服務(wù)器存儲(chǔ)本地的特性數(shù)據(jù)(前序請(qǐng)求數(shù)據(jù)、最新混淆HTML元素信息等)
      ????????Ⅲ、瀏覽器或硬件設(shè)備在特性環(huán)境下的信息?(canvas圖片渲染)
      ????????Ⅳ、瀏覽器個(gè)人設(shè)置與信息?(瀏覽器屏幕占比、顯示設(shè)置、是否開啟控制臺(tái)等)
      (七)無(wú)感驗(yàn)證
      ????分析第七步,無(wú)感驗(yàn)證。多場(chǎng)景多維度收集用戶信息,由風(fēng)控系統(tǒng)判定用戶等級(jí)以及是否啟用進(jìn)一步的行為校驗(yàn)。 ? ? ????? ? ?? ?
      (八)風(fēng)險(xiǎn)決策
      ????分析第八步,第三代驗(yàn)證碼風(fēng)控系統(tǒng)通過風(fēng)險(xiǎn)決策。結(jié)合參數(shù)校驗(yàn)、行為校驗(yàn)、網(wǎng)絡(luò)探測(cè)、風(fēng)險(xiǎn)庫(kù)、風(fēng)險(xiǎn)識(shí)別等步驟,最終對(duì)當(dāng)前用戶做出等級(jí)判定。 ? ? ? ?
      ? ? ? ? ?? ? 總結(jié)
      ????第三代驗(yàn)證碼是無(wú)感知、立體式驗(yàn)證碼。而我們普通用戶所看到的滑動(dòng)或點(diǎn)選等形式的行為校驗(yàn),只不過是風(fēng)控系統(tǒng)無(wú)法準(zhǔn)確判別時(shí),進(jìn)一步收集用戶信息的一種方式。第三代驗(yàn)證碼看似簡(jiǎn)單,實(shí)則暗藏玄機(jī)。
      ? ?? 最后 ????關(guān)于驗(yàn)證碼,懂得不多,做得很少。歡迎批評(píng)與指教。 ? ? ?原創(chuàng)文章,轉(zhuǎn)載請(qǐng)標(biāo)明出處!
      https://www.cnblogs.com/boycelee/p/11363611.html
      <https://www.cnblogs.com/boycelee/p/11363611.html> ? ? ? ? ? ?

      友情鏈接
      ioDraw流程圖
      API參考文檔
      OK工具箱
      云服務(wù)器優(yōu)惠
      阿里云優(yōu)惠券
      騰訊云優(yōu)惠券
      京東云優(yōu)惠券
      站點(diǎn)信息
      問題反饋
      郵箱:[email protected]
      QQ群:637538335
      關(guān)注微信

        <ul id="qxxfc"><fieldset id="qxxfc"><tr id="qxxfc"></tr></fieldset></ul>
          俺也来俺也去俺也射 | 特级西西444www大胆无码春色 | 夜夜躁狠狠燥 | 污污网站在线观看 | 丁香五月婷婷综合激情 | 性欧美视频 | 色婷婷五 | 国产靠逼片 | 大鸡巴操我 | 娇妻被老外调教1—8 |