林鵬:大家好,我叫林鵬,來(lái)自萬(wàn)達(dá)電商,傳說(shuō)中國(guó)民老公電商,但是不要問(wèn)我王思聰,我也沒(méi)見(jiàn)過(guò)。我的電商安全觀,這個(gè)名字我可能駕馭不了,我希望把我自己在做電商一些安全的經(jīng)驗(yàn)分享給大家,避免讓大家踩坑。
問(wèn)一下大家,“6·18”有多少來(lái)賓聽(tīng)說(shuō)過(guò)飛凡的“6·18”?至少大家聽(tīng)過(guò)萬(wàn)達(dá)廣場(chǎng),應(yīng)該去過(guò)吧。前兩天在6月份的時(shí)候,萬(wàn)達(dá)電商,我們行業(yè)O2O,主要還是圍繞萬(wàn)達(dá)廣場(chǎng)里面的活動(dòng)進(jìn)行的一些活動(dòng)。
我在當(dāng)當(dāng)網(wǎng)和網(wǎng)信金融都呆過(guò),第三是現(xiàn)在的飛凡網(wǎng),也就是萬(wàn)達(dá)電商。今天我PPT主要議程兩個(gè),一個(gè)是我對(duì)傳統(tǒng)互聯(lián)網(wǎng)安全的看法,第二是對(duì)新來(lái)的“6·18”對(duì)我們一些黃牛刷單的看法。
我做安全的同學(xué),我之前發(fā)布在我自己的微博上,一般中小企業(yè)或者一些成型的企業(yè)基本上的架構(gòu)大家都是差不多的。分為幾個(gè)大的部分。第一塊E.L.K,主要的功能點(diǎn)還是在日志分析,日志分析我去年講過(guò)一些案例,包括日志分析的昨天、今天與明天?;旧厦恳粋€(gè)公司或者每一個(gè)做安全的人員我相信對(duì)日志這個(gè)東西必須得有一定的了解,必須掌握一些日志的分析方法,這對(duì)你來(lái)說(shuō),其實(shí)我覺(jué)得相當(dāng)于一個(gè)最基本的吃飯。有了這個(gè)日志可以看到好多的信息,我曾經(jīng)把日志比做一個(gè)寶藏,大家看到日志從里面能挖掘出來(lái)各種各樣的東西。
第二個(gè)部分,我們?cè)陂_(kāi)源的時(shí)候用的一個(gè)叫IDS,從網(wǎng)絡(luò)的IDS,它的角色類似于WAP的角色,可以自定義一些規(guī)則,很簡(jiǎn)單的一些規(guī)則,這樣可以發(fā)現(xiàn)大部分網(wǎng)絡(luò)上的攻擊。大家現(xiàn)在都知道網(wǎng)絡(luò)的攻擊還是以Web為主,部署這些可以對(duì)Web的攻擊做一些攔截。
三是OSSEC,也是我們之前在當(dāng)當(dāng)網(wǎng)用的最簡(jiǎn)單的主機(jī)的…,一開(kāi)始我們并不看好,后來(lái)這個(gè)東西非常有效。這個(gè)東西可以干什么用?主要干一個(gè)事兒,根據(jù)我們的經(jīng)驗(yàn)大部分的主機(jī)…可能會(huì)出現(xiàn)兩個(gè)問(wèn)題,第一個(gè)文件被修改,第二文件被創(chuàng)建。正常情況下也會(huì)有文件被修改,文件被創(chuàng)建,使用…就可以發(fā)現(xiàn)這樣一個(gè)東西。如果發(fā)現(xiàn)這種類型的事件相信大家應(yīng)該知道如果發(fā)現(xiàn)文件變更了,把變更的文件發(fā)送到自己掃描的服務(wù)器上掃描,這樣可以避免大部分網(wǎng)頁(yè)被傳送。主要的這些東西只是一個(gè)大體的思路,而不是具體的一些工具,工具也是有的,但是怎么用。
開(kāi)源肯定有開(kāi)源不好的地方,性能或者穩(wěn)定性什么的比較慢。所以,這塊給大家提供一個(gè)思路。文件發(fā)生變化我們把文件傳到自己的掃描服務(wù)器上掃描,如果沒(méi)有問(wèn)題不報(bào)警,有問(wèn)題我們?cè)龠M(jìn)行處理。
下面有一個(gè)流程。好多的攻擊或者好多入侵并不是程序員有問(wèn)題,比較冷漠或者不遵守一些規(guī)矩,不遵守一些流程造成的問(wèn)題。有好多因?yàn)樽约旱谋热绯绦騿T為了圖個(gè)方便在自己的網(wǎng)站開(kāi)一個(gè)后門,也不叫后門,為了便于管理,這些后門有可能被黑客發(fā)現(xiàn)或者設(shè)置一些弱口令。這種完完全全靠技術(shù)訪問(wèn)可能是防不住的,因此可能需要一些流程上的東西幫大家管理。這點(diǎn)我們集團(tuán)做的比較好。集團(tuán)有的時(shí)候上線,因?yàn)樗麄兊娜朔浅I伲械纳暇€都要經(jīng)過(guò)他們的審核,這樣就會(huì)形成一個(gè)隊(duì)列。當(dāng)他們審的時(shí)候,如果發(fā)現(xiàn)一個(gè)項(xiàng)目上線的時(shí)候安全審核不通過(guò),他會(huì)把這個(gè)項(xiàng)目從這個(gè)隊(duì)列里移出來(lái),相當(dāng)于會(huì)排到最后,這樣對(duì)項(xiàng)目整個(gè)周期非常長(zhǎng),相信誰(shuí)都不愿意的。所以,他們?cè)谏暇€的時(shí)候一定會(huì)注意到安全的問(wèn)題,這樣無(wú)形中也給安全工程師提高了安全的話語(yǔ)權(quán)。如果上線上得慢會(huì)影響到你的一些績(jī)效。所以,他們一定會(huì)重視這塊。
這些流程和制度,也許大家覺(jué)得沒(méi)什么用,現(xiàn)在做到稍微大一點(diǎn)的時(shí)候會(huì)發(fā)現(xiàn)有的時(shí)候完全靠技術(shù)真的Hold不住,需要一些流程制度。
我們做的平臺(tái),我們之前找了一間國(guó)內(nèi)公司做了滲透測(cè)試,效果還是比較不錯(cuò)的,我們這邊發(fā)現(xiàn)百分之七八十的攻擊范圍。大家可以理解為一個(gè)規(guī)則配置的東西。右邊的是檢測(cè)出來(lái)的一個(gè),你只要配置好規(guī)則,這個(gè)規(guī)則是怎么配置的我相信如果做安全工程師的應(yīng)該都知道黑客常用的一些工具有什么特征或者常見(jiàn)的攻擊有什么樣的特征,這樣的話才可以好好的配比規(guī)則。怎么配置規(guī)則,怎么讓規(guī)則做最好的生效是需要花一定的時(shí)間研究的,也需要大家了解黑客攻擊的方法。
常見(jiàn)的一個(gè)情景。我們一般會(huì)看到外部的一些攻擊,對(duì)于外部的一些攻擊大家一般怎么做的?這個(gè)我相信如果說(shuō)是安全工程師的話,至少要做到以下三點(diǎn)。分三個(gè)階段,第一個(gè)階段肯定是響應(yīng)。有個(gè)黑客掃你或者進(jìn)行注入或者進(jìn)行別的東西,如果你不響應(yīng)或者連看見(jiàn)都沒(méi)看見(jiàn),這事兒有點(diǎn)說(shuō)不過(guò)去了,公司肯定覺(jué)得養(yǎng)我們這種人沒(méi)用,至少你有發(fā)現(xiàn)問(wèn)題的能力,至少你應(yīng)該處理。響應(yīng)最簡(jiǎn)單的辦法是把他IP封了。第二個(gè)層次是分析,其實(shí)就是看他最近或者是他想干嘛或者他對(duì)那些系統(tǒng)造成了哪些威脅或者他攻擊了哪些系統(tǒng)。正常來(lái)說(shuō)大家也可以看看日志有沒(méi)有對(duì)它進(jìn)行分析,至少分析出他對(duì)我們的攻擊是不是成功的攻擊,也需要花一些時(shí)間。
如果有基于…的…注入,它的返回值正常的和不正常的,…長(zhǎng)度不同,可以根據(jù)這個(gè)判斷出來(lái)有沒(méi)有真正的SQL注入。前臺(tái)沒(méi)有配置好出現(xiàn)SQL注入一定會(huì)看到…里存在的報(bào)錯(cuò)。如果存在SQL報(bào)錯(cuò)的話,它這個(gè)攻擊是成功的。第二部分,一定要進(jìn)行分析,這是安全功能要注意的。
數(shù)據(jù)挖掘也是一樣,最起碼看到黑客就想到最近一周或者最近一個(gè)月他想做,比如看到一些刷單的用戶到底在干嘛,他們是通過(guò)什么辦法進(jìn)行刷單的,他們有沒(méi)有其他的,這些靠數(shù)據(jù)挖掘來(lái)做,數(shù)據(jù)挖掘部分我們現(xiàn)在先不談。
做到這三點(diǎn),我覺(jué)得算是一個(gè)標(biāo)準(zhǔn)的安全工程師應(yīng)該做的事兒。我覺(jué)得我在電商的時(shí)候做的事兒雖然沒(méi)有做到第三點(diǎn),但是前兩點(diǎn)我做的還可以。
下面的問(wèn)題來(lái)了,我這里面一個(gè)坑,我想問(wèn)大家一個(gè)問(wèn)題,大家如果有在現(xiàn)在公司打算做一輩子的請(qǐng)舉一下手?應(yīng)該沒(méi)有吧。絕大部分人應(yīng)該都不會(huì)呆一輩子,至少有跳槽的打算。如果大家有跳槽的打算,這些資產(chǎn)我建議大家一定要做一些保留,至少給自己一份,以后在別的地方也可以用到,這是前提允許的情況下。比如這些攻擊的IP,這些東西我相信在現(xiàn)在的公司如果留著,拿走一份問(wèn)題也不是那么大。這些攻擊IP和代理IP在以后的工作中會(huì)發(fā)生很大的作用,至少有一點(diǎn),我們的安全不是為了安全而安全,安全也是一個(gè)輔助,輔助我們的業(yè)務(wù)安全,業(yè)務(wù)安全里有一個(gè)很大的部門,用戶的登陸信息,登陸里包括盜號(hào)或者賬戶被盜之類的東西,我們夠可以用這些攻擊的IP形成一個(gè)類似于IP庫(kù),我們可以把這些東西算進(jìn)去。如果有一個(gè)用戶在代理IP里出現(xiàn)過(guò)或者他在攻擊IP里出現(xiàn)過(guò)就說(shuō)明他可能會(huì)存在一些問(wèn)題,這樣我們就可以用這些IP進(jìn)行一些收集。
大家這些資產(chǎn)也算是知識(shí)資產(chǎn),不是鼓勵(lì)大家跳槽,大家做工作的時(shí)候千萬(wàn)不要把日志或者報(bào)警報(bào)完就完事,一定要把這些收集下來(lái),這些都是各位做安全工程師的一些資本。
還有幾個(gè)也不算是黑科技的黑科技,有些東西大家都在用,只不過(guò)給大家起拋磚引玉的作用,這也是從攜程學(xué)來(lái)的,我們也在做這個(gè)事兒。有的時(shí)候大家肯定都會(huì)上線,開(kāi)發(fā)一定會(huì)上線,有的時(shí)候上線是不經(jīng)過(guò)運(yùn)維的,也不會(huì)經(jīng)過(guò)安全組的審核。我們會(huì)把新增的UI記錄下來(lái),我們會(huì)通過(guò)被動(dòng)的掃描來(lái)檢測(cè)這些新增的UI。這個(gè)可以做在線上,線上可以發(fā)現(xiàn)一些新增的UI,還有一些地方可以做在測(cè)試環(huán)節(jié),我相信大家每個(gè)公司都應(yīng)該有測(cè)試,每發(fā)布一個(gè)新的功能,從技術(shù)來(lái)說(shuō)一定是QA最先得到。所以,這個(gè)放到QA環(huán)節(jié),比如監(jiān)測(cè)一下他們的流量,發(fā)現(xiàn)新的UI記錄下來(lái),然后使用一個(gè)掃描器把這些新增的UI記錄下來(lái)進(jìn)行掃描,或多或少也會(huì)幫大家攔一些常規(guī)的安全問(wèn)題,比如信息泄露。
前面是一些傳統(tǒng)的安全的東西。第二講講業(yè)務(wù)安全。業(yè)務(wù)安全之前講的也很多,尤其P2P平臺(tái),這次講講“6·18”的時(shí)候跟羊毛黨也好,黃牛也好,相當(dāng)于對(duì)抗的一個(gè)事兒。
業(yè)務(wù)安全我們現(xiàn)在主要前面兩個(gè),第一個(gè)是黃牛黨或者薅羊毛,第三是刷單,第三可能程序員寫(xiě)程序時(shí)寫(xiě)出的一些問(wèn)題,第三它藏的比較隱蔽也不太容易找,主要說(shuō)說(shuō)黃牛黨。這里面又有第二個(gè)維度的東西大家可以收集,如果有同學(xué)做業(yè)務(wù)安全或者做一些相當(dāng)于數(shù)據(jù)安全或者一些業(yè)務(wù)上的東西,可以把一些黑名單什么的做一個(gè)節(jié)點(diǎn),比如電話的黑名單、身份證的黑名單,銀行卡的黑名單,可以把這些東西做一個(gè)積累,這些積累以后別的地方也都可以用得上。一個(gè)活動(dòng)下來(lái)基本上抓住20萬(wàn)手機(jī)號(hào)。
講一下“6·18”的例子。活動(dòng)接口APP的版本,我們當(dāng)時(shí)的活動(dòng)是一個(gè)會(huì)員拉新的活動(dòng),新用戶可以注冊(cè),注冊(cè)完了以后返5塊錢,老用戶如果推薦他注冊(cè)的話,推薦4個(gè)用戶就發(fā)20塊錢。這個(gè)時(shí)候我們就發(fā)現(xiàn)一個(gè)問(wèn)題,發(fā)現(xiàn)一個(gè)什么問(wèn)題?第一個(gè)是注冊(cè),注冊(cè)完了之后他還可以參加一個(gè)活動(dòng),類似于手機(jī)搖一搖的活動(dòng),大家都知道有搖一搖的抽獎(jiǎng),我們當(dāng)時(shí)新的APP也發(fā)布了,新的APP才可以參加這個(gè)活動(dòng),但是當(dāng)時(shí)就忘了一件事兒,因?yàn)樾碌腁PP使用的是老版本的接口,結(jié)果就發(fā)現(xiàn)有一些人直接用老的接口,因?yàn)樾碌慕涌谖覀儠?huì)進(jìn)行了一些加補(bǔ)用不了,這幫人發(fā)現(xiàn)新的接口不太好玩,他們就開(kāi)始用老的接口刷我們。大家做活動(dòng)的時(shí)候如果會(huì)員拉新的時(shí)候一定要注意一下自己的APP新的程度,再注意一下活動(dòng)接口是不是有老的活動(dòng)結(jié)口也可以參與到這個(gè)活動(dòng),如果這樣的話就一定會(huì)吃虧的。
第二,活動(dòng)的內(nèi)容與風(fēng)控。現(xiàn)在做風(fēng)控的人挺多的,大部分企業(yè)都偏向從傳統(tǒng)的安全往風(fēng)控上轉(zhuǎn),好多公司不說(shuō)兩句風(fēng)控的事兒都覺(jué)得自己挺沒(méi)面子的。這利民我要說(shuō)一個(gè)事兒,“6·18”我們抽獎(jiǎng),當(dāng)時(shí)也是抽小米手機(jī),我們吸取上一次的教訓(xùn),活動(dòng)接口也是新的,APP也扎住了,肯定是保證他們從這條路來(lái)不了。后來(lái)他們比較瘋狂。第一天下午我們發(fā)的版,第二天我看到他們14:39我們的APP就給破解了,他們就可以接著刷單了。其中有幾個(gè)時(shí)間段發(fā)現(xiàn)刷單的人特別少,我們那個(gè)活動(dòng)叫小米搖一搖,搖完以后隨機(jī)中獎(jiǎng),概率也不是太高。當(dāng)時(shí)我們一開(kāi)始的策略,大家都是一個(gè)概率一起搖,搖到什么時(shí)候能搖到就完事,正常概率,后來(lái)有一個(gè)運(yùn)營(yíng)發(fā)現(xiàn)有人在刷,有一個(gè)運(yùn)營(yíng)他們把這個(gè)活動(dòng)配置錯(cuò)了,配置成了秒殺,發(fā)現(xiàn)那個(gè)時(shí)間段都出去了,但是沒(méi)有一個(gè)被刷的,活動(dòng)的內(nèi)容也可以給大家參考一下。
還有一些活動(dòng)的內(nèi)容,我們返利的時(shí)候,有的時(shí)候可以讓對(duì)方投一些錢進(jìn)去,他們刷的人就會(huì)少一些。當(dāng)然,還有幾個(gè)事兒,還有一個(gè)隨機(jī)減的活動(dòng),這個(gè)活動(dòng)可以隨機(jī)減免一定的金額。這種活動(dòng)下對(duì)客戶來(lái)說(shuō)可能是沒(méi)有太大的,會(huì)有一些比較好的優(yōu)惠活動(dòng),但是我們會(huì)發(fā)現(xiàn)更多的參與到活動(dòng)中的這種人可能是商家,我們的商家可能會(huì)參與到刷單的行動(dòng)中。比如每活動(dòng)一單減5塊錢他就多下幾單,他就相當(dāng)于減那5塊錢的差價(jià)。這是活動(dòng)的內(nèi)容。這些東西有的時(shí)候是看你的活動(dòng)內(nèi)容,更多也可以看你風(fēng)控去解決。
我們“6·18”遇到的刷單,有幾組數(shù)據(jù),我們查到一個(gè)注冊(cè)的IP地址,這幫人想?yún)⒓游覀兓顒?dòng)一定要先注冊(cè)一些小號(hào)才能參加一些活動(dòng),這是一個(gè)特征下的。統(tǒng)計(jì)學(xué)具體的東西我就不說(shuō)了。我想跟大家說(shuō)一個(gè)事,有的刷單也不能說(shuō)他們笨,其實(shí)你只要發(fā)現(xiàn)了他們其中一些規(guī)律,你完完全全可以抵擋住他們的刷單,為什么他們不做成隨機(jī)的東西而是做成有規(guī)律的?我們統(tǒng)計(jì)學(xué)的一些單可以抵擋住至少60%的刷單是沒(méi)有問(wèn)題的,小米手機(jī)80%被我們扣掉了。
一個(gè)特征在每個(gè)時(shí)間段內(nèi)注冊(cè)的手機(jī)號(hào),16號(hào)10點(diǎn)的時(shí)候,到了15點(diǎn)的時(shí)候一個(gè)特征值注冊(cè)的數(shù)量就已經(jīng)超過(guò)了七千多次。之前打碼平臺(tái),短信驗(yàn)證碼他們可以用打碼平臺(tái),圖形驗(yàn)證碼他們也可以用云的打碼平臺(tái)通過(guò)。
我們跟他們斗智斗勇,我們開(kāi)始的活動(dòng)在APP上進(jìn)行,這幫人發(fā)現(xiàn)在APP上注冊(cè)有問(wèn)題,他們就跑到我們另一個(gè)地方進(jìn)行注冊(cè)。比如我們還有一個(gè)手機(jī)移動(dòng)端,他們到M站注冊(cè),我們把這個(gè)接口封掉他們又跑到其他地方注冊(cè)。如果你作為安全行業(yè)對(duì)自己公司的業(yè)務(wù)不太熟的話,不是太好玩的。他們的打碼平臺(tái)大家可以搜一下。如果你手里有一堆打碼數(shù)據(jù)的平臺(tái),這樣會(huì)對(duì)你的業(yè)務(wù)安全會(huì)有非常多的影響。大家也可以找一些公司做一些咨詢。
我想說(shuō)我真正的觀點(diǎn),做安全的人和其他的做攻擊的人,這個(gè)游戲坦克大戰(zhàn),做安全的人我自我感覺(jué)一個(gè)黃,一個(gè)綠的兩個(gè)坦克,不管它怎么進(jìn)攻或者防守有一個(gè)核心的東西就是自己的老窩,對(duì)于黑客或者對(duì)于攻擊者來(lái)說(shuō),他們是不用考慮后果的,他們的目的只有一個(gè)問(wèn)題,他們獲勝大家都知道兩個(gè)條件,黃的和綠的坦克打死,第二是老窩,我們一定是身后有一些保護(hù)的東西,我們制定策略的時(shí)候,而且還要保證業(yè)務(wù)不受影響。當(dāng)然,我們制定策略的時(shí)候,還要保證我們用戶體驗(yàn),他們自己都不知道用戶體驗(yàn)是什么。我們盡量使用戶體驗(yàn)好,這是我們要做的工作。當(dāng)然,對(duì)我們來(lái)說(shuō),尤其是安全決策的人來(lái)說(shuō),你下的每一條策略,每制定一條策略要對(duì)策略百分之百的了解,我們之前犯了一個(gè)錯(cuò)誤,比如我們判斷設(shè)備合法性當(dāng)時(shí)差點(diǎn)犯了一個(gè)錯(cuò)誤,我們當(dāng)時(shí)不太了解iOS的原理,我們發(fā)現(xiàn)有好多iOS的設(shè)備Map地址和…是一樣的,Map地址是48位的,所有Map地址等于…的拉入黑名單,后來(lái)我拿自己的手機(jī)試了一下,發(fā)現(xiàn)iPhone是有這個(gè)特性,它的Map地址或者可能是我們的開(kāi)發(fā)自己做的,這個(gè)不是太確定,至少在我們的公司網(wǎng)站上Map地址和…,如果這條策略下發(fā)下去肯定會(huì)出事。
如果你對(duì)策略不了解的情況下一定不要亂下策略。還有一個(gè)問(wèn)題,對(duì)一個(gè)東西不管你多忙,如果下這個(gè)策略,你一定要驗(yàn)證這個(gè)策略,在下這個(gè)策略之前一定要驗(yàn)證,不管你多忙,只要你用這個(gè)策略。刷單刷的很嚴(yán)重的情況下,我如果不驗(yàn)證這個(gè)策略一定會(huì)有一些正常的用戶被封死,做安全策略的時(shí)候一定要考慮。這就是我要講的,謝謝大家。