產(chǎn)品思考:如何做好產(chǎn)品的安全防范工作
近 2 年,企業(yè)信息安全炒得很熱,一直覺得這是做安全產(chǎn)品公司的事,離我比較遠(yuǎn)。但最近的一件事,改變了我的看法,促使我去思考:如何從產(chǎn)品設(shè)計(jì)上做好安全工作,保護(hù)客戶利益。
女友是做外貿(mào)的,公司用的 CRM 系統(tǒng)是業(yè)內(nèi)的一家新興公司的 Saas 產(chǎn)品。上個(gè)月,她一同事的賬號被盜,盜號的人給客戶發(fā)了一封詐騙郵件。結(jié)果,客戶把 3 萬多美金的貨款打到騙子那里了,錢反正是沒追回來。
類似的事情不是第一次發(fā)生,之前她們的一客戶還收到過釣魚郵件,同樣是客戶把貨款打到騙子那里。騙子只不過用的是個(gè)老掉牙的方法,用一個(gè)跟她們公司郵箱相仿的地址給客戶發(fā)了銀行帳戶信息??蛻魶]仔細(xì)看,以為是公司的郵箱,結(jié)果就中招了。
像上面的事情,最后的結(jié)局是兩敗俱傷:客戶被騙了錢,不信任公司,公司也因此丟了客戶。被騙以后,老板又沒辦法,你做外貿(mào),總不能不用郵箱吧。同行之間一交流發(fā)現(xiàn),大家都有碰到。好吧,次數(shù)多了,就習(xí)慣了。反應(yīng)給軟件提供方,他們也不重視,銷售說是你自己沒有注意安全,泄露了密碼。一聽,挺在理,沒辦法,擰著大腿還是得認(rèn)倒霉。
聽到上面的事,第一感覺就是可惜:一方面是公司客戶的損失,另一方面是客戶的流失。早期創(chuàng)過業(yè),明白這對公司的影響。作為產(chǎn)品人,是可以采取一些技術(shù)手段,提高產(chǎn)品安全,減少此類事情的發(fā)生。雖然這些努力難以被后驗(yàn)量化,但是有價(jià)值的。如果等到事發(fā)之后再彌補(bǔ),那時(shí)候就是一個(gè)大坑了。
信息安全本應(yīng)是產(chǎn)品最基本的要求,在產(chǎn)品初期就該開始注意,尤其是企業(yè)產(chǎn)品,關(guān)系到客戶的利益得失。很多的初創(chuàng)公司往往因?yàn)槊τ诋a(chǎn)品初期的完善,對此不夠重視。
金融公司里有嚴(yán)格風(fēng)控系統(tǒng),時(shí)刻監(jiān)控用戶的操作行為。初創(chuàng)公司不像大公司有足夠資源來做這些事情,但至少可以做安全防護(hù)模塊,并將其獨(dú)立出來,還可以服務(wù)多個(gè)產(chǎn)品。設(shè)計(jì)的核心就是判斷的客戶的行為是否異常,然后給出相應(yīng)的預(yù)警提示??梢詮哪男┓矫嫦率帜??
我的構(gòu)思是:類似風(fēng)控系統(tǒng),建立一個(gè)模型,針對用戶的每一步操作行為行為進(jìn)行動態(tài)打分。每一步操作的打分都不是孤立的,具有連貫性,都會基于歷史的操作來進(jìn)行判定。一旦觸發(fā)了相應(yīng)的閥值,系統(tǒng)就采取相應(yīng)的保護(hù)機(jī)制。像這樣,設(shè)定一個(gè)風(fēng)險(xiǎn)指數(shù),從 0 到 1。系統(tǒng)對每一次賬號的完整過程(從登錄到活躍)進(jìn)行評估,達(dá)到相應(yīng)級別,系統(tǒng)采取相應(yīng)的保護(hù)措施,比如,
賬號登錄
用戶風(fēng)險(xiǎn)指數(shù)基于的行為軌跡來判定,有兩個(gè)階段:賬號登錄和賬號操作。針對不同階段,權(quán)衡不同因子,最終得出一個(gè)打分。下面是我的思路:
登錄是安全保護(hù)的第一道防線,這個(gè)階段就可以攔截大量的異常操作。
- 登錄失敗次數(shù)。記錄賬號短時(shí)間內(nèi)登錄失敗的次數(shù),防止別人通過大量的測試來獲取你的密碼,這也是最基本的保護(hù)。比如,有的密碼輸入錯(cuò)誤次數(shù)達(dá)到 3 次以上后,就會加驗(yàn)證碼。有的輸入密碼錯(cuò)誤次數(shù)達(dá)到閥值后,限制一時(shí)間內(nèi)才能的再試。
- IP地址。一般用做判斷登錄地點(diǎn)是否為常在城市。另一方面用做輔助信息來做一些異常判斷,做進(jìn)一步限制。比如發(fā)現(xiàn)在某個(gè)IP存在頻繁的指令行為,可以限制該IP的上賬號活動。
- 使用設(shè)備。輔助信息,識別異常操作信號。
- 登錄時(shí)間。記錄用戶的活躍情況,畫出用戶的工作時(shí)間分布圖,幫助識別異常操作。比如用戶一般都是工作時(shí)間登錄,突然某一天出現(xiàn)凌晨 2:00 登錄的現(xiàn)象,用戶在些之前并沒有登錄連續(xù)活躍的記錄,這時(shí)候就有一定的可疑性。
- 登錄及活躍地點(diǎn)。輔助信息,識別用戶的異常行為,可畫出用戶活動范圍圖,減少對異常情況的誤判?,F(xiàn)在有第三方IP地址庫的公司,提供定位服務(wù)。所以即使是用PC,在不借助GPS和基站定位的情況下,也能精確地定位到你在某一棟樓里。
上面所列的判別因子都是相互影響,彼此之間會影響,需要權(quán)衡不同的因子,排除干擾,最后做出評定。
之前出差去過幾次柳州,每次去柳州用百度云盤時(shí),都會收到郵件,異常登錄提醒。雖說是異地,但我一直用的是自己的手機(jī),第一次提示還能理解,次數(shù)多了對用戶就是干擾。
小試牛刀,假想一個(gè)場景:
小A 是做外貿(mào)的,很少出差。突然有一天,系統(tǒng)后臺收到他的賬號在長沙登錄的請求,而在前一分鐘,他的活躍地址還是在深圳。如果是你來設(shè)計(jì)安全規(guī)則,你會不會懷疑賬號被盜,要求進(jìn)行二級驗(yàn)證嗎?
真實(shí)的情況可能是,小A 的公司在長沙有一辦事處,他的一同事B 正好在那里出差。當(dāng)時(shí)需要小A 來協(xié)助查找一信息,小A 正好要出去,就直接把賬號密碼給了同事B。同事B 登錄用的是自己的電腦,小A 3天前在這臺電腦上登錄過。
賬號操作
雖然登錄階段已有預(yù)防,但成功登錄也并不意味賬號是處于安全狀態(tài)的。在條件成熟的情況下,即使有驗(yàn)證,騙子也能突破第一道防線。
給你發(fā)個(gè)引誘短信,你被騙點(diǎn)了鏈接,嘗試登錄,結(jié)果就泄露了帳號和密碼。更糟的是,你還下載安裝了病毒軟件。當(dāng)你手機(jī)接到驗(yàn)證碼時(shí),木馬直接把驗(yàn)證碼通過網(wǎng)絡(luò)或短信轉(zhuǎn)發(fā)到騙子那里。
賬號通過之后,想要判定賬號異常情況難度就大一些,但這不意味著就沒有可努力的空間了。可以從一些短時(shí)間內(nèi)可疑行為,結(jié)合網(wǎng)絡(luò)的環(huán)境來評估。
可疑行為。以外貿(mào)軟件為例,比如說:
- 大量的下載,導(dǎo)出文件。
- 大量的轉(zhuǎn)發(fā)郵件。
- 大量的發(fā)送郵件。
其它敏感操作,如:
- 發(fā)送帶有付款賬號的郵件。
- 發(fā)送之后立即刪除等
每個(gè)賬號的安全評估也不是孤立的。不僅要留意獨(dú)立賬戶的安全,還要關(guān)注不同賬號之間關(guān)聯(lián)判斷。
舉一個(gè)例子:
一伙詐騙團(tuán)隊(duì)發(fā)現(xiàn)某一產(chǎn)品的漏洞,破解多家企業(yè)用戶的賬號密碼,借助非法手段通過了二級驗(yàn)證。但后臺系統(tǒng)識別出來這種異常,同一IP上的出現(xiàn)多家企業(yè)賬戶登錄,操作時(shí)間是在可疑的凌晨時(shí)段,三家企業(yè)分別在 3 個(gè)不同城市,但操作地點(diǎn)卻在同一個(gè)地方,使用的設(shè)備也是從來沒有用過的。系統(tǒng)可以直接對其IP進(jìn)行封鎖。在一定時(shí)間段時(shí)限制使用該IP訪問產(chǎn)品。
腦洞時(shí)間
有安全防護(hù),就會有誤判,設(shè)計(jì)的時(shí)候不光要考慮安全,還要考慮好怎么盡可能減少誤判的可能,以免給用戶增加不必要的麻煩。這個(gè)設(shè)計(jì)過程實(shí)際上就是在建模,
- 通過規(guī)則的建立來模擬出用戶的操作習(xí)慣。
- 判斷賬號的操作行為是否符合規(guī)則。
- 然后做出相應(yīng)保護(hù)策略。
要想設(shè)計(jì)出穩(wěn)定可靠又優(yōu)雅的安全模塊,需要持續(xù)不斷地完善和優(yōu)化上面的規(guī)則。但每個(gè)用戶的習(xí)慣又都會不一樣,如果這些優(yōu)化工作都需要人來做,就要背后做規(guī)則的人去不停地學(xué)習(xí)用戶習(xí)慣的判斷,這個(gè)工作量是十分龐大的,而這恰巧是人工智能所擅長的事情。
興許,未來有一家利用人工智能專注于安全,基本用戶操作行為進(jìn)行分析的公司。那些做產(chǎn)品的公司愿意的話,只要把用戶的所有操作行為開放給上面第三方公司,第三方公司就能對用戶的操作進(jìn)行動態(tài)安全評估,得到反饋的公司根據(jù)結(jié)果再做出相應(yīng)的保護(hù)策略。
所以有條件的話,不妨現(xiàn)在做一些埋點(diǎn)工作,把用戶關(guān)鍵的操作行為都記錄下來。
作者:lei,公眾號:monster_talks。
本文由 @lei 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載。
寫的很好