產品思考:如何做好產品的安全防范工作

lei
5 評論 14899 瀏覽 70 收藏 11 分鐘

近 2 年,企業信息安全炒得很熱,一直覺得這是做安全產品公司的事,離我比較遠。但最近的一件事,改變了我的看法,促使我去思考:如何從產品設計上做好安全工作,保護客戶利益。

女友是做外貿的,公司用的 CRM 系統是業內的一家新興公司的 Saas 產品。上個月,她一同事的賬號被盜,盜號的人給客戶發了一封詐騙郵件。結果,客戶把 3 萬多美金的貨款打到騙子那里了,錢反正是沒追回來。

類似的事情不是第一次發生,之前她們的一客戶還收到過釣魚郵件,同樣是客戶把貨款打到騙子那里。騙子只不過用的是個老掉牙的方法,用一個跟她們公司郵箱相仿的地址給客戶發了銀行帳戶信息??蛻魶]仔細看,以為是公司的郵箱,結果就中招了。

像上面的事情,最后的結局是兩敗俱傷:客戶被騙了錢,不信任公司,公司也因此丟了客戶。被騙以后,老板又沒辦法,你做外貿,總不能不用郵箱吧。同行之間一交流發現,大家都有碰到。好吧,次數多了,就習慣了。反應給軟件提供方,他們也不重視,銷售說是你自己沒有注意安全,泄露了密碼。一聽,挺在理,沒辦法,擰著大腿還是得認倒霉。

聽到上面的事,第一感覺就是可惜:一方面是公司客戶的損失,另一方面是客戶的流失。早期創過業,明白這對公司的影響。作為產品人,是可以采取一些技術手段,提高產品安全,減少此類事情的發生。雖然這些努力難以被后驗量化,但是有價值的。如果等到事發之后再彌補,那時候就是一個大坑了。

信息安全本應是產品最基本的要求,在產品初期就該開始注意,尤其是企業產品,關系到客戶的利益得失。很多的初創公司往往因為忙于產品初期的完善,對此不夠重視。

金融公司里有嚴格風控系統,時刻監控用戶的操作行為。初創公司不像大公司有足夠資源來做這些事情,但至少可以做安全防護模塊,并將其獨立出來,還可以服務多個產品。設計的核心就是判斷的客戶的行為是否異常,然后給出相應的預警提示??梢詮哪男┓矫嫦率帜??

我的構思是:類似風控系統,建立一個模型,針對用戶的每一步操作行為行為進行動態打分。每一步操作的打分都不是孤立的,具有連貫性,都會基于歷史的操作來進行判定。一旦觸發了相應的閥值,系統就采取相應的保護機制。像這樣,設定一個風險指數,從 0 到 1。系統對每一次賬號的完整過程(從登錄到活躍)進行評估,達到相應級別,系統采取相應的保護措施,比如,

Screen Shot 2016-11-15 at 11.59.27 AM

賬號登錄

用戶風險指數基于的行為軌跡來判定,有兩個階段:賬號登錄和賬號操作。針對不同階段,權衡不同因子,最終得出一個打分。下面是我的思路:

登錄是安全保護的第一道防線,這個階段就可以攔截大量的異常操作。

  • 登錄失敗次數。記錄賬號短時間內登錄失敗的次數,防止別人通過大量的測試來獲取你的密碼,這也是最基本的保護。比如,有的密碼輸入錯誤次數達到 3 次以上后,就會加驗證碼。有的輸入密碼錯誤次數達到閥值后,限制一時間內才能的再試。
  • IP地址。一般用做判斷登錄地點是否為常在城市。另一方面用做輔助信息來做一些異常判斷,做進一步限制。比如發現在某個IP存在頻繁的指令行為,可以限制該IP的上賬號活動。
  • 使用設備。輔助信息,識別異常操作信號。
  • 登錄時間。記錄用戶的活躍情況,畫出用戶的工作時間分布圖,幫助識別異常操作。比如用戶一般都是工作時間登錄,突然某一天出現凌晨 2:00 登錄的現象,用戶在些之前并沒有登錄連續活躍的記錄,這時候就有一定的可疑性。
  • 登錄及活躍地點。輔助信息,識別用戶的異常行為,可畫出用戶活動范圍圖,減少對異常情況的誤判?,F在有第三方IP地址庫的公司,提供定位服務。所以即使是用PC,在不借助GPS和基站定位的情況下,也能精確地定位到你在某一棟樓里。

上面所列的判別因子都是相互影響,彼此之間會影響,需要權衡不同的因子,排除干擾,最后做出評定。

之前出差去過幾次柳州,每次去柳州用百度云盤時,都會收到郵件,異常登錄提醒。雖說是異地,但我一直用的是自己的手機,第一次提示還能理解,次數多了對用戶就是干擾。

小試牛刀,假想一個場景:

小A 是做外貿的,很少出差。突然有一天,系統后臺收到他的賬號在長沙登錄的請求,而在前一分鐘,他的活躍地址還是在深圳。如果是你來設計安全規則,你會不會懷疑賬號被盜,要求進行二級驗證嗎?

真實的情況可能是,小A 的公司在長沙有一辦事處,他的一同事B 正好在那里出差。當時需要小A 來協助查找一信息,小A 正好要出去,就直接把賬號密碼給了同事B。同事B 登錄用的是自己的電腦,小A 3天前在這臺電腦上登錄過。

賬號操作

雖然登錄階段已有預防,但成功登錄也并不意味賬號是處于安全狀態的。在條件成熟的情況下,即使有驗證,騙子也能突破第一道防線。

給你發個引誘短信,你被騙點了鏈接,嘗試登錄,結果就泄露了帳號和密碼。更糟的是,你還下載安裝了病毒軟件。當你手機接到驗證碼時,木馬直接把驗證碼通過網絡或短信轉發到騙子那里。

賬號通過之后,想要判定賬號異常情況難度就大一些,但這不意味著就沒有可努力的空間了??梢詮囊恍┒虝r間內可疑行為,結合網絡的環境來評估。

可疑行為。以外貿軟件為例,比如說:

  1. 大量的下載,導出文件。
  2. 大量的轉發郵件。
  3. 大量的發送郵件。

其它敏感操作,如:

  1. 發送帶有付款賬號的郵件。
  2. 發送之后立即刪除等

每個賬號的安全評估也不是孤立的。不僅要留意獨立賬戶的安全,還要關注不同賬號之間關聯判斷。

舉一個例子:

一伙詐騙團隊發現某一產品的漏洞,破解多家企業用戶的賬號密碼,借助非法手段通過了二級驗證。但后臺系統識別出來這種異常,同一IP上的出現多家企業賬戶登錄,操作時間是在可疑的凌晨時段,三家企業分別在 3 個不同城市,但操作地點卻在同一個地方,使用的設備也是從來沒有用過的。系統可以直接對其IP進行封鎖。在一定時間段時限制使用該IP訪問產品。

腦洞時間

有安全防護,就會有誤判,設計的時候不光要考慮安全,還要考慮好怎么盡可能減少誤判的可能,以免給用戶增加不必要的麻煩。這個設計過程實際上就是在建模,

  1. 通過規則的建立來模擬出用戶的操作習慣。
  2. 判斷賬號的操作行為是否符合規則。
  3. 然后做出相應保護策略。

要想設計出穩定可靠又優雅的安全模塊,需要持續不斷地完善和優化上面的規則。但每個用戶的習慣又都會不一樣,如果這些優化工作都需要人來做,就要背后做規則的人去不停地學習用戶習慣的判斷,這個工作量是十分龐大的,而這恰巧是人工智能所擅長的事情。

興許,未來有一家利用人工智能專注于安全,基本用戶操作行為進行分析的公司。那些做產品的公司愿意的話,只要把用戶的所有操作行為開放給上面第三方公司,第三方公司就能對用戶的操作進行動態安全評估,得到反饋的公司根據結果再做出相應的保護策略。

所以有條件的話,不妨現在做一些埋點工作,把用戶關鍵的操作行為都記錄下來。

 

作者:lei,公眾號:monster_talks。

本文由 @lei 原創發布于人人都是產品經理。未經許可,禁止轉載。

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 寫的很好

    來自北京 回復