前言:做產品采蚀,安全問題是一個不能不考慮的問題朦蕴,稍有不慎就會發(fā)生類似「薅羊毛」「信息被盜」等問題瓶摆。很多時候我們都在尋求技術方面的解決方案凹蜂,但其實有一些簡單的產品策略馍驯,也可以從一定程度上減少安全問題的發(fā)生。今天會從之前遇到過的社區(qū)「垃圾帖」問題入手炊甲,探討產品設計層面上對于安全問題的緩解辦法泥彤。
問題
在做社區(qū)產品時,經常會遇到很多的垃圾內容卿啡,較為常見的是一類包含色情信息吟吝、外鏈引流信息的內容。這種內容很多都是大面積批量發(fā)出颈娜,單純靠人工刪除遠遠跟不上發(fā)布的速度剑逃,導致整個社區(qū)中充斥著這類違規(guī)內容,不僅影響用戶體驗官辽,還會存在法規(guī)上的風險蛹磺。
分析
采集這些垃圾帖的內容和發(fā)布用戶信息后,發(fā)現這些垃圾內容有以下一些特征:
- 發(fā)布的內容大同小異同仆,基本都附有手機萤捆、微信、外鏈等內容
- 內容的發(fā)布者絕大部分為剛注冊的新用戶俗批,極少數的為正常用戶
- 內容的發(fā)布者 IP 地址和 MAC 地址均不一致
可以看出這些特征中有如下一些共性:
- 發(fā)布者的目的是希望把用戶向站外引流俗或,但與社區(qū)本身不構成競爭關系
- 發(fā)布者為惡意用戶批量注冊的賬號,且無法用禁用 IP 或 MAC 地址來屏蔽
解決方案
不難發(fā)現岁忘,整個垃圾內容發(fā)布的流程中存在兩個重要節(jié)點:用戶賬號批量注冊和垃圾內容發(fā)布辛慰,因此考慮從這兩個節(jié)點入手解決。
1. 針對賬號體系
- 注冊限制:
- 在新用戶注冊時干像,通過增加驗證碼(短信驗證碼帅腌、圖片驗證碼等)增加用戶注冊成本驰弄,抵御部分惡意注冊的現象
- 收集注冊數據,對比正常用戶的行為速客,對非正常用戶進行賬戶凍結
- 登錄限制:
- 在用戶登錄時戚篙,增加圖片驗證、人機識別混合驗證
- 限制用戶的登錄頻次
- 高危賬戶(多次異地登錄等)進行校驗或強制要求修改密碼
2. 針對內容發(fā)布
- 發(fā)布限制
- 在用戶發(fā)布內容時挽封,增加圖片驗證已球、人機識別混合驗證
- 針對用戶發(fā)布的內容,增加關鍵字校驗辅愿,觸及違規(guī)或敏感詞匯的內容不允許發(fā)出
- 限制新注冊用戶的日發(fā)布內容的數量
這樣就可以了嗎智亮?
增加了這些限制,上線之后点待,很多的問題暴露了出來:
- 由于增加了非常復雜的驗證機制阔蛉,導致用戶的注冊、登錄和內容發(fā)布受阻癞埠,新增用戶状原、活躍用戶和內容生產量有明顯下降
- 違規(guī)發(fā)布者為突破每日發(fā)布限制,開始盜取老用戶的賬號信息苗踪,進行垃圾帖發(fā)布
- 增加屏蔽的關鍵詞永遠是滯后的颠区,只能等新的垃圾帖內容發(fā)出后豐富關鍵詞庫,但這時垃圾帖已經產生
-
關鍵詞「一刀切」的屏蔽方式通铲,很容易將正常內容也過濾掉毕莱,打擊用戶內容發(fā)布的信心÷幔可以猜一下下圖為什么被屏蔽:
屏蔽內容
所以先前的策略起到了一定的效果朋截,但是看起來「得不償失」。這種情況應該如何應對呢吧黄?細化規(guī)則部服。
解決方案 2.0
之前的策略之所以存在問題,是因為未能做到更細粒度的針對拗慨,「寧錯一千不漏一個」廓八。因此要想解決這個問題,最好的辦法就是細化攔截規(guī)則赵抢。
1. 針對驗證碼:
- 增加每日免驗發(fā)布閾值
- 增加免驗權限用戶(高級別瘫想,安全風險低的用戶可以免驗,這部分用戶大多為活躍用戶昌讲,賬號被盜取可能性較低)
- 采用更簡單的驗證方式(比如從圖文式驗證碼改為行為式驗證碼)
2. 針對關鍵詞過濾:
- 將關鍵詞劃分安全等級,不同等級進行不同處理减噪,如低等級關鍵詞用「**」代替短绸,中等級關鍵詞僅對發(fā)布者可見车吹,其他用戶不可見,高等級關鍵詞直接禁止發(fā)出
- 建立內容過濾池醋闭,對已屏蔽的內容進行記錄窄驹,若出現正常內容被過濾的情況,則可以手動恢復
- 增加新關鍵詞后证逻,支持將歷史內容重新過濾一次
一些疑問
疑問:為什么要在不相關的社區(qū)發(fā)布色情信息呢乐埠?批量注冊新用戶是怎么做到的,哪里來的這么多手機號囚企?老用戶的賬號信息是如何被盜日筛馈?......
-
出于 SEO 考慮龙宏,很多色情內容或者網站為了引流棵逊,會在高權重的網站內發(fā)布相關內容,用戶在搜索時相關的內容即會優(yōu)先展示银酗,所以有專門的工作室承接垃圾內容的推廣辆影。
推廣軟件客服 - 首先很多網站注冊時不要求用戶輸入手機號,因此可以通過注冊機黍特,直接通過 post 請求與服務器交互蛙讥,就可以完成批量注冊;如果是需要手機號的注冊灭衷,則可以通過灰色產業(yè)購入不帶有身份信息的「黑卡」次慢,成本低,投入產出可觀今布。
- 若本身站點用戶登錄時密碼傳輸校驗正常经备、token 未被破解或劫持,則很大可能用戶信息泄露為「撞庫」導致部默。所謂撞庫侵蒙,簡單來說就是非法入侵者通過技術手段(漏洞注入、webshell傅蹂,etc.)或者獲取已有社工庫纷闺,建立一個較為完整的數據庫后,嘗試用這些庫中的信息去登錄其他系統份蝴。一般由于前期數據采集較為詳實犁功,撞庫所用的字典精度比暴力破解的高,因此成功率也會高婚夫。
一些思考
- 一些需要從技術角度的問題浸卦,從產品層面上也可以做一些優(yōu)化
- 解決問題時需要找到問題的關鍵節(jié)點,學會提取共性和發(fā)現差異
- 數據監(jiān)控很重要
- 問題的解決方案需要進行相應調整案糙,直到找到最優(yōu)解
- 嘗試去深入業(yè)務限嫌,分析業(yè)務靴庆,找到利益矛盾點,對解決問題大有裨益
Ps:一些實用的外接服務(非廣告):