免费播放片大片-免费观看90分钟高清电视-免费观看调色大片视频软件-免费国语版秘密花园

張偉:大眾網(wǎng)技術(shù)——敢當(dāng)!

2011-05-25 16:24:00     作者:    來源: 大眾網(wǎng)  

關(guān)鍵詞:
[提要]

技術(shù)中心主任兼技術(shù)開發(fā)部主任 張偉

  說實(shí)話,2009年2月進(jìn)入大眾網(wǎng)1個(gè)月內(nèi),我還不知道大眾網(wǎng)和大眾日報(bào)社的關(guān)系,當(dāng)初應(yīng)聘只是當(dāng)作一份普通的網(wǎng)站工作來看待的,原本也只是想做個(gè)安逸的論壇管理員。但是我有個(gè)固有的毛病——工作狂,直到現(xiàn)在也改不了,所以工作沒幾天就被領(lǐng)導(dǎo)發(fā)現(xiàn)了在技術(shù)方面的能力,此后幾乎每天都通宵達(dá)旦加班寫代碼、研究系統(tǒng),開始了大眾網(wǎng)技術(shù)生涯。

  2009年、2010年,這些工作還比較得心應(yīng)手,是以往所學(xué)的充分應(yīng)用,但是2011年,我感覺要挺不住了。

  2011年,網(wǎng)站的開發(fā)和運(yùn)維任務(wù)像雪片般飄來,但是技術(shù)開發(fā)部的人員并沒有增加,人員培訓(xùn)、任務(wù)分解、任務(wù)優(yōu)化、任務(wù)重組這些項(xiàng)目管理的基本方法都已經(jīng)用上了,仍然無法滿足網(wǎng)站工作的需要,需要做的運(yùn)營網(wǎng)站系統(tǒng)、編輯發(fā)布系統(tǒng)以及網(wǎng)站運(yùn)維必須的基本支撐系統(tǒng)實(shí)在太多了,通過不斷努力和取舍,在2011年的工作計(jì)劃中基本能夠排開。真正讓我感到很強(qiáng)的崩潰感的是3月13日出現(xiàn)的重大網(wǎng)站安全事件。

  3月13日,論壇發(fā)現(xiàn)主題ID發(fā)生錯(cuò)亂,從最初的8位數(shù)變?yōu)?0位數(shù),論壇主題本身應(yīng)當(dāng)代表的意義是論壇主題總數(shù)。突然發(fā)生這樣的變化,不可能是主題數(shù)從2千萬增加到20億,一定是由于論壇出現(xiàn)了BUG或者被篡改造成的。通過分析,以我們目前的系統(tǒng)架構(gòu)能力,論壇容納40億主題沒有問題,況且實(shí)際主題數(shù)量只有2千萬;再從比較保守的角度去分析,架構(gòu)中的php環(huán)境存在處理數(shù)據(jù)最大值的限制,當(dāng)數(shù)字超過9位數(shù)可能會(huì)發(fā)生錯(cuò)誤,即使這樣,我們的論壇最少可以容納2億主題。

  雖然從論壇的容量來講,我們的容納能力很高,但是,已經(jīng)開始出現(xiàn)10位數(shù)的ID,開始逼近論壇的最終容量并且已經(jīng)超過了PHP環(huán)境的良好工作范圍。也就是說,如果不立即找出問題根源并解決問題的話,論壇很快就會(huì)停轉(zhuǎn)。因此技術(shù)開發(fā)部立即成立論壇問題處置小組,由技術(shù)總監(jiān)李雪修為組長,由我、孫世強(qiáng)、丁磊、趙容濤為成員,后來崔曉輝加入,對論壇ID錯(cuò)亂的問題進(jìn)行專題分析。

  經(jīng)過分析查找,論壇ID分別于2月21日、2月28日、3月9日、3月15日發(fā)生過變化,并在3月15日出現(xiàn)論壇ID超出論壇最大允許ID數(shù)導(dǎo)致論壇無法發(fā)布新帖。

  我們首先懷疑與發(fā)生論壇ID 錯(cuò)亂的時(shí)間點(diǎn)比較吻合的新聞跟帖導(dǎo)入論壇功能,該功能于2 月21 日正式上線,我們首先停用了該功能,并對相關(guān)代碼進(jìn)行深入分析,但分析結(jié)果表明,論壇ID 錯(cuò)亂與該功能無關(guān),因?yàn)槿绻窃摴δ軐?dǎo)致的故障,會(huì)是由該功能發(fā)布的新論壇帖子ID 出現(xiàn)變化,而出現(xiàn)ID 變化的帖子均不是新發(fā)的帖子,ID 變化的帖子中甚至有2009 年的帖子。

  論壇更換為Discuz 系統(tǒng)同時(shí)使用MySQL 數(shù)據(jù)庫已經(jīng)有2 年時(shí)間了,在以往論壇ID 一直正常;論壇ID 在MySQL 數(shù)據(jù)庫中以ID 的形式保存,一一對應(yīng),同時(shí)代表著論壇帖子的基本數(shù)量級。對于MySQL 數(shù)據(jù)庫,8 位數(shù)的論壇ID 不存在溢出導(dǎo)致進(jìn)錯(cuò)位的情況(MySQL 數(shù)據(jù)庫不做任何升級的情況下,最大支持42 億的論壇帖子數(shù)量)。

  從數(shù)據(jù)庫的角度分析,論壇故障不會(huì)是數(shù)據(jù)庫Bug 導(dǎo)致的。但由于論壇ID 已經(jīng)變成10 位,而論壇主腳本語言PHP 在數(shù)字位數(shù)大于9 位時(shí)會(huì)出現(xiàn)運(yùn)算錯(cuò)誤,所以10 位數(shù)的論壇帖子打開會(huì)出現(xiàn)錯(cuò)亂。

  再從論壇Bug、安全漏洞角度入手分析,期間,我們查找了大量的網(wǎng)絡(luò)文章、咨詢Discuz 廠商康盛公司、咨詢綠盟等安全服務(wù)廠商,近期Discuz 論壇未爆出任何安全漏洞。同時(shí)從安全服務(wù)廠商處獲取了查找安全漏洞的一些新的思路(例如遠(yuǎn)程包含),準(zhǔn)備多角度分析論壇是否存在漏洞。在對可疑源代碼進(jìn)行了大量細(xì)致的分析后未發(fā)現(xiàn)可疑、危險(xiǎn)操作。 但是,為了保障ID 錯(cuò)亂不是由論壇本身的安全漏洞導(dǎo)致的,我們在論壇底層做了過濾處理,當(dāng)發(fā)現(xiàn)對論壇ID 進(jìn)行處理的操作時(shí),立即記錄操作行為發(fā)起者IP、使用的功能鏈接,同時(shí)立即終止該操作。3 月15 日,我們又在論壇數(shù)據(jù)庫中增加了MySQL 解析專用sniffer,用于嗅探記錄所有MySQL 數(shù)據(jù)庫操作,該記錄能夠完整記錄數(shù)據(jù)庫操作內(nèi)容、IP 地址等信息。

  在3 月15 日論壇ID 出現(xiàn)溢出,導(dǎo)致論壇無法發(fā)新帖的時(shí)候,我們進(jìn)行了第一次論壇帖子ID 修復(fù),該工作于下午14:00 完成。當(dāng)晚隨即發(fā)現(xiàn)論壇帖子ID 再次變化為9 位,經(jīng)過對論壇底層記錄分析發(fā)現(xiàn),出現(xiàn)論壇ID 錯(cuò)亂并非論壇功能本身所為,我們于15 日后半夜增加了論壇數(shù)據(jù)庫嗅探。因?yàn)檎搲瘮?shù)據(jù)庫嗅探屬于比較占用系統(tǒng)資源的操作,需要記錄過濾所有的數(shù)據(jù)庫操作,增加該操作會(huì)導(dǎo)致系統(tǒng)性能降低,所以只有到了萬不得已才會(huì)啟用該操作。

  經(jīng)過3 月15 日的論壇ID 變化,已經(jīng)可以下結(jié)論,論壇ID 是被惡意篡改的,論壇體系中存在重大安全隱患!從篡改論壇ID 的數(shù)據(jù)庫操作動(dòng)作來看,篡改者擁有的權(quán)限很高,如果不及時(shí)清理,將可能出現(xiàn)論壇數(shù)據(jù)被清空、被篡改為反動(dòng)內(nèi)容等高度危險(xiǎn)的情況。

  3 月16 日和17 日我們對論壇進(jìn)行了大量的安全掃描(使用我們自己開發(fā)的網(wǎng)站安全掃描工具)和文件對比、查找,并在17 日成功記錄下了篡改操作的發(fā)起服務(wù)器,在博客所在的服務(wù)器查找到了4 個(gè)含有惡意代碼的后門文件,其中3 個(gè)為文件上傳型后門,1 個(gè)為任意代碼執(zhí)行型后門,危害程度極高,我們立即對這些惡意代碼進(jìn)行了清理,并對相關(guān)的用戶權(quán)限進(jìn)行了限制。

  3 月18 日上午9:20,在數(shù)據(jù)庫嗅探記錄中再次發(fā)現(xiàn)篡改論壇ID 的動(dòng)作,但由于17 日的安全加固,該篡改行為沒有成功執(zhí)行。同時(shí)嗅探記錄中發(fā)現(xiàn)開心公社的服務(wù)器也進(jìn)行了非法操作。這樣我們就將整個(gè)論壇服務(wù)器群加入掃描目標(biāo),分別在博客服務(wù)器、開心公社服務(wù)器、UCenter 服務(wù)器掃描發(fā)現(xiàn)各種含惡意代碼的后門程序,其中包含文件上傳型、任意代碼執(zhí)行型、base64 加密型后門。期間我們根據(jù)惡意代碼衍生情況,再次修改了我們的安全掃描軟件,為日后惡意代碼掃描工作提供了更有效的保障。

  經(jīng)過3 月19 日和20 日,對論壇服務(wù)器群所有服務(wù)器的詳細(xì)掃描、文件對比后,論壇安全隱患基本排除。截止到目前,未發(fā)現(xiàn)新的篡改記錄。

  但是到3 月22 日,論壇再度出現(xiàn)ID 錯(cuò)亂情況,說明系統(tǒng)中隱藏的攻擊還在進(jìn)行,通過掃描,又發(fā)現(xiàn)幾處新的更隱蔽后門,篡改手法跟之前一樣。但是此時(shí),我的心里已經(jīng)有了很大的陰影,感覺到論壇群還存在隱藏的東西,只是還沒能發(fā)現(xiàn)出來。所以,在這次清理后門結(jié)束后,我們收縮了數(shù)據(jù)庫的權(quán)限設(shè)置,使得很多權(quán)限設(shè)置更加嚴(yán)密。之后幾天不斷的查找各種后門特征,找到新的特征就對論壇再次掃描,不斷重復(fù)重復(fù)再重復(fù)這個(gè)動(dòng)作。但是一直沒能突破。

  3 月25 日,論壇再次出現(xiàn)問題,這次是用戶ID 出現(xiàn)錯(cuò)亂,說明之前對于主題表的權(quán)限設(shè)置生效了,入侵者沒能篡改成功,于是改為篡改用戶數(shù)據(jù)。我們及時(shí)搜查了后門也搜到幾個(gè),同時(shí)收縮了用戶表的權(quán)限。但這件事充分驗(yàn)證了之前的擔(dān)憂,說明論壇中確實(shí)還存在隱藏的后門。

  3 月26 日,經(jīng)過若干天的苦戰(zhàn)和偌大的心理壓力,我終于挺不住了,睡了整整一下午,起床后第一件事就是看QQ 記錄,結(jié)果,看著看著,我崩潰了。按照QQ 顯示,論壇再度出現(xiàn)ID 錯(cuò)亂!難道我們最終的權(quán)限也被攻破了?不過還好,經(jīng)過分析,QQ 消息是虛報(bào),只是搜索引擎中存在的以前錯(cuò)亂時(shí)候的殘留信息。

  后來經(jīng)過不懈的努力和大量的文件比對工作,終于在3 月27 日將博客服務(wù)器中隱藏的后門揪了出來。

  在整個(gè)論壇ID 錯(cuò)亂處置過程中,孫世強(qiáng)、丁磊、趙容濤、崔曉輝均表現(xiàn)出高度的責(zé)任心,每天加班到深夜,對每個(gè)文件都詳細(xì)對比,每段代碼都詳細(xì)斟酌,為排除論壇安全隱患做了大量的工作和努力。

  大眾網(wǎng)技術(shù),敢當(dāng)不敢當(dāng)?大眾網(wǎng)技術(shù)——敢當(dāng)!

楊凱

editor


 
 
 

大眾網(wǎng)版權(quán)與免責(zé)聲明

1、大眾網(wǎng)所有內(nèi)容的版權(quán)均屬于作者或頁面內(nèi)聲明的版權(quán)人。未經(jīng)大眾網(wǎng)的書面許可,任何其他個(gè)人或組織均不得以任何形式將大眾網(wǎng)的各項(xiàng)資源轉(zhuǎn)載、復(fù)制、編輯或發(fā)布使用于其他任何場合;不得把其中任何形式的資訊散發(fā)給其他方,不可把這些信息在其他的服務(wù)器或文檔中作鏡像復(fù)制或保存;不得修改或再使用大眾網(wǎng)的任何資源。若有意轉(zhuǎn)載本站信息資料,必需取得大眾網(wǎng)書面授權(quán)。
2、已經(jīng)本網(wǎng)授權(quán)使用作品的,應(yīng)在授權(quán)范圍內(nèi)使用,并注明“來源:大眾網(wǎng)”。違反上述聲明者,本網(wǎng)將追究其相關(guān)法律責(zé)任。
3、凡本網(wǎng)注明“來源:XXX(非大眾網(wǎng))”的作品,均轉(zhuǎn)載自其它媒體,轉(zhuǎn)載目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對其真實(shí)性負(fù)責(zé)。本網(wǎng)轉(zhuǎn)載其他媒體之稿件,意在為公眾提供免費(fèi)服務(wù)。如稿件版權(quán)單位或個(gè)人不想在本網(wǎng)發(fā)布,可與本網(wǎng)聯(lián)系,本網(wǎng)視情況可立即將其撤除。
4、如因作品內(nèi)容、版權(quán)和其它問題需要同本網(wǎng)聯(lián)系的,請30日內(nèi)進(jìn)行。

 
 
投稿熱線