眾所周知安全領(lǐng)域的主要工作攻防對(duì)抗蝠咆,黑客采取各種技術(shù)偽造數(shù)據(jù)達(dá)到高仿真模擬實(shí)現(xiàn)系統(tǒng)攻入,在這里數(shù)據(jù)偽造以及偽造的真實(shí)程度是一個(gè)黑客所面臨的主要工作拘荡。那我們就來講講時(shí)下流行的幾種數(shù)據(jù)防偽造措施勿锅。
數(shù)據(jù)防偽造,基于防御的模式可以分為主動(dòng)和被動(dòng)模式:主動(dòng)模式主要是蜜罐方式皆警,也就是說防御者也設(shè)置一個(gè)偽造的數(shù)據(jù)作為“坑”等待攻擊者來踩拦宣,而隨著這種方式的大量利用,攻擊者也變得更加的謹(jǐn)慎信姓,會(huì)校驗(yàn)各個(gè)參數(shù)的有效性鸵隧,進(jìn)而規(guī)避開蜜罐數(shù)據(jù),不過雖然是可以這樣做意推,但是時(shí)下主流防偽造里面還是會(huì)設(shè)置大量的蜜罐參數(shù)來處理豆瘫;被動(dòng)模式形式就多樣一些,可以分為:客戶端基因識(shí)別菊值、用戶歷史行為識(shí)別及用戶實(shí)時(shí)行為識(shí)別三類外驱,我們接下來重點(diǎn)介紹著三類。
客戶端基因識(shí)別
有一個(gè)很重要的信息可以明確識(shí)別客戶端腻窒,那就是userAgent(UA)略步,User Agent我們簡稱UA,顧名思義是指用戶代理定页,是代表用戶行為的軟件所提供的一個(gè)標(biāo)識(shí)自己身份的標(biāo)識(shí)符趟薄,包含了用戶正在使用的設(shè)備以及軟件的一些數(shù)據(jù)信息(例如操作系統(tǒng)及版本、CPU類型典徊、瀏覽器及版本杭煎、瀏覽器渲染引擎恩够、瀏覽器語言、瀏覽器插件等)羡铲》渫埃基于用戶代理的訪問,網(wǎng)站才能夠針對(duì)不同的用戶也切,進(jìn)行個(gè)性化的定制扑媚,開發(fā)出更豐富的動(dòng)態(tài)網(wǎng)站,帶給用戶更好的體驗(yàn)雷恃。同時(shí)UA在控制搜索引擎爬蟲爬取網(wǎng)站服務(wù)器資源也有著關(guān)鍵作用疆股。我們看下一個(gè)標(biāo)準(zhǔn)UA的含義。
用戶代理應(yīng)用是Mozilla的5版倒槐,或一類和它兼容的軟件旬痹。
操作系統(tǒng)是OS X版本10.2.2(是在Mac上運(yùn)行)。
客戶端是Chrome版本51.0.2704.84讨越。
客戶端基于Safari版本537.36两残。
負(fù)責(zé)該設(shè)備上的顯示內(nèi)容引擎applewebkit版本537.36。
不同UA中反應(yīng)了瀏覽器版本把跨、顯示內(nèi)容的引擎版本以及硬件型號(hào)人弓,它可以反映出這個(gè)瀏覽器的JS解析引擎、操作系統(tǒng)及硬件平臺(tái)着逐,以UA中的JS解析引擎和瀏覽器版本為例可以通過大數(shù)據(jù)結(jié)合深度學(xué)習(xí)算法分析出它們之間的擬合關(guān)系票从。例如可以量化如下幾類參數(shù)(js執(zhí)行性能、頁面渲染負(fù)荷滨嘱、瀏覽器版本)峰鄙,一個(gè)典型的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如下:
三個(gè)參數(shù)從輸入層輸入,結(jié)果隱層數(shù)據(jù)處理太雨,可以得出他們之間的對(duì)應(yīng)關(guān)聯(lián)關(guān)系吟榴,這樣計(jì)算出來的關(guān)聯(lián)關(guān)系是比較穩(wěn)固且可信任的,進(jìn)而可以識(shí)別真實(shí)場景下用戶提交過來的UA信息中的可信任程度囊扳。
用戶歷史行為識(shí)別
這類的實(shí)現(xiàn)思路和客戶端基因識(shí)別很類似吩翻,也就是找出用戶歷史行為數(shù)據(jù)之間的關(guān)聯(lián),由于單數(shù)據(jù)的防御能力非常有限锥咸,那么就應(yīng)該糅合大量的因素?cái)?shù)據(jù)來進(jìn)行共同防偽狭瞎,可以這么理解,單個(gè)數(shù)據(jù)很好偽造搏予,而多數(shù)據(jù)之間的關(guān)聯(lián)關(guān)系很難偽造熊锭,這些數(shù)據(jù)可以包含如下:UA、IP信息、歷史瀏覽記錄碗殷、用戶硬件指紋精绎、驗(yàn)證口令、COOKIES等等锌妻,把這些數(shù)據(jù)之間的關(guān)聯(lián)關(guān)系建立起來也可以做到有效防偽代乃。
用戶實(shí)時(shí)行為識(shí)別
用戶實(shí)時(shí)行為識(shí)別是防偽里面的最高境界,這種模式是通過設(shè)計(jì)一個(gè)交互組件仿粹,用戶主動(dòng)點(diǎn)擊搁吓,系統(tǒng)通過探測用戶的點(diǎn)擊等各種實(shí)時(shí)行為來判斷是否存在偽造。而這個(gè)模式的發(fā)展也簡歷了兩個(gè)階段吭历。
第一階段:通過復(fù)雜的圖文點(diǎn)擊堕仔、拖動(dòng)條拖動(dòng)、圖像拖動(dòng)匹配等方式來實(shí)現(xiàn)毒涧,這種方式相比圖文填寫的方式上效率有一定的提升贮预,但是仍然存在大量的正常用戶都需要通過這種方式來驗(yàn)證贝室,加大了正常用戶的識(shí)別成本契讲。
第二階段:通過鼠標(biāo)點(diǎn)擊探測,例如google的NOCaptcha項(xiàng)目就是這種方式滑频,它只需要將數(shù)據(jù)點(diǎn)擊一個(gè)checkBox就可以高效識(shí)別是否人機(jī)捡偏。
這類模式筆者通過查訪材料分析來看包括但不限于如下一些因素來進(jìn)行是否偽造的判斷:鼠標(biāo)移動(dòng)軌跡、鍵盤點(diǎn)擊次數(shù)峡迷、鼠標(biāo)點(diǎn)擊次數(shù)银伟、UA、插件绘搞、屏幕大小彤避、執(zhí)行時(shí)間、時(shí)區(qū)等等夯辖。
這些數(shù)據(jù)可以收集到后端可以通過邏輯回歸琉预、dbscan聚類以及神經(jīng)網(wǎng)絡(luò)等相關(guān)算法進(jìn)行處理,區(qū)分出人機(jī)行為的邊界點(diǎn)蒿褂,有效識(shí)別機(jī)器的偽造行為圆米。