請(qǐng)記住本站域名:
黃金屋
超腦黑客 第388章 中間人攻擊
第388章中間人攻擊
第388章中間人攻擊
雖然已經(jīng)設(shè)計(jì)了權(quán)限控制,并且將系統(tǒng)進(jìn)行了分層,但是在這方面做得并不好,甚至可以說(shuō)是相當(dāng)?shù)拇植凇?p/>
不過(guò)這也可以理解,畢竟這個(gè)系統(tǒng)剛剛出來(lái),并且他們當(dāng)時(shí)為了能夠盡快地推出,也非常的趕時(shí)間,將一些重要的功能首先實(shí)現(xiàn)了,對(duì)于普通用戶(hù)來(lái)說(shuō),他們?cè)O(shè)計(jì)的權(quán)限控制體系已經(jīng)基本能夠滿(mǎn)足要求了。
Windoén的windowsNT系列,其權(quán)限控制就比這個(gè)要完善多了,穩(wěn)定性也極大的增強(qiáng)。不過(guò),同樣的道理,他們想要對(duì)NT系統(tǒng)進(jìn)行定制修改的難度也就更大了,總體說(shuō)來(lái),還沒(méi)有直接使用這個(gè)來(lái)得方便。
并且,windows系列的系統(tǒng)都是閉源的,說(shuō)白了這是商業(yè)軟件,你想使用,就必須進(jìn)行購(gòu)買(mǎi),他們現(xiàn)在這樣使用,是違反知識(shí)產(chǎn)權(quán)法的,使用的是。要是被微軟發(fā)現(xiàn),他們是可以通過(guò)司法途徑進(jìn)行起訴的。當(dāng)然,至于國(guó)內(nèi)的法院受不受理,這又是另外一回事了。
統(tǒng)的權(quán)限系統(tǒng)雖然簡(jiǎn)單,但是在用戶(hù)層,想要對(duì)系統(tǒng)層進(jìn)行操作這是絕對(duì)禁止的,因?yàn)闀?huì)威脅到系統(tǒng)的穩(wěn)定性,只要破壞了系統(tǒng)的某一個(gè)關(guān)鍵數(shù)據(jù)結(jié)構(gòu),很有可能就會(huì)讓系統(tǒng)崩潰。
涉及到系統(tǒng)底層的操作,都是通過(guò)微軟給出的SDK包里面的系統(tǒng)函數(shù)進(jìn)行實(shí)現(xiàn)的。這些系統(tǒng)函數(shù),不會(huì)亂操作內(nèi)存里面關(guān)鍵的數(shù)據(jù),而是會(huì)按照系統(tǒng)程序員所期望的方式實(shí)現(xiàn)某些功能。
這樣做,既不會(huì)影響系統(tǒng)的穩(wěn)定性和安全性。又可以讓編寫(xiě)應(yīng)用軟件的程序員獲得想要的功能,還可以簡(jiǎn)化操作步驟。讓他們不用關(guān)心底層的運(yùn)行機(jī)制,簡(jiǎn)直是一舉三得的好辦法。
當(dāng)然,也并不是說(shuō)系統(tǒng)層里面的東西,用戶(hù)層完全訪問(wèn)不了,那些病毒木馬想要實(shí)現(xiàn)自己的功能,很大程度上就是利用了系統(tǒng)的漏洞,獲得了超過(guò)用戶(hù)層的權(quán)限。
不過(guò),他們這個(gè)系統(tǒng),已經(jīng)被他們經(jīng)過(guò)極度的優(yōu)化。一些常見(jiàn)漏洞,也基本上給打上了補(bǔ)丁,要想找出這樣一個(gè)漏洞,還是很困難的。
所以。余波在聽(tīng)到林鴻大言不慚地說(shuō)“權(quán)限要自己動(dòng)手去拿。不會(huì)自動(dòng)送上門(mén)。牛”的時(shí)候,不由冷冷一笑,反駁道:
“你說(shuō)得倒輕巧。有本事你拿一個(gè)看看?”
余波心中還對(duì)林鴻有些意見(jiàn),畢竟正是他的到來(lái),才導(dǎo)致大家人心惶惶,擔(dān)心自己為之工作了好多年的心血被推到重來(lái)。此外,他也對(duì)林鴻輕描淡寫(xiě)的態(tài)度很是看不慣,就算你們公司自己編寫(xiě)出了一個(gè)控制系統(tǒng)。但是也不能這樣信口開(kāi)河吧?
他們?cè)谶@個(gè)系統(tǒng)上浸吟了這么久,自認(rèn)為自己對(duì)這個(gè)系統(tǒng)的了解。只是僅次于那些開(kāi)發(fā)系統(tǒng)的人了。
他當(dāng)然知道權(quán)限要自己去拿,并不會(huì)自動(dòng)送上門(mén),但是,說(shuō)起來(lái)容易做起來(lái)難,有些事情是站著說(shuō)不腰疼,這樣的人,他見(jiàn)得多了。
余波認(rèn)為是林鴻想要在他們領(lǐng)導(dǎo)面前表現(xiàn)自己,才故意這樣“鼻孔chā大蔥”——裝象。
林鴻聽(tīng)到他的話(huà),笑了下,沒(méi)有放在心上,而是對(duì)曹興平和徐直中說(shuō)道:
“這個(gè)情況我之前是遇到過(guò)的。很多木馬和蠕蟲(chóng),就是通過(guò)重寫(xiě)系統(tǒng)底層的函數(shù)來(lái)截流數(shù)據(jù)。這在系統(tǒng)安全領(lǐng)域,有一個(gè)專(zhuān)門(mén)的名詞,叫做‘中間人攻擊’。”
中間人攻擊,在黑客領(lǐng)域是一種非常古老并且有效的攻擊方式。
其本質(zhì)原理,就是在數(shù)據(jù)流動(dòng)的鏈路上,串接一個(gè)攻擊者自己的“轉(zhuǎn)發(fā)器”,從而達(dá)到嗅探竊取數(shù)據(jù)的目的。
這種情形,就好像將一個(gè)水管給截段,然后在上面連接一個(gè)自己的轉(zhuǎn)接頭,這個(gè)轉(zhuǎn)接頭是不會(huì)影響水管中水流的正常流動(dòng)的,它只是對(duì)水流進(jìn)行監(jiān)控,一旦發(fā)現(xiàn)水流里面有一條魚(yú)經(jīng)過(guò),它就負(fù)責(zé)將這個(gè)信息給記錄在案,甚至,它還有其他一些比較神奇的功能,例如,將這條魚(yú)替換成一條泥鰍。
而水管兩端的人,由于缺乏溝通,根本不知道這些水流在流動(dòng)的過(guò)程中到底發(fā)生了什么。
他們不知道自己私下發(fā)送的魚(yú)被別人監(jiān)控了,甚至被人掉包,發(fā)送方以為自己發(fā)送了一條魚(yú),而接收方則以為對(duì)方發(fā)送了一條泥鰍。
在網(wǎng)絡(luò)領(lǐng)域,這個(gè)中間人甚至可以是一臺(tái)電腦,用戶(hù)A向用戶(hù)B發(fā)送信息,卻被人偷偷地讓信息流跑到電腦C上面走了一圈,而AB用戶(hù)卻根本不知道自己的信息已經(jīng)被人監(jiān)聽(tīng)了。由于電腦C只是對(duì)數(shù)據(jù)進(jìn)行復(fù)制和備份,完全不對(duì)信息進(jìn)行修改,是被動(dòng)的行文,所以AB是很難發(fā)現(xiàn)這種行為的。
而在單機(jī)里面,中間人攻擊更多的就是像這次這樣,對(duì)某個(gè)環(huán)節(jié)或者函數(shù)進(jìn)行接管,相當(dāng)于在外面另外套了一層,要想訪問(wèn)真實(shí)的內(nèi)容,必須從中間人這里進(jìn)入。
林鴻的超級(jí)蠕蟲(chóng)對(duì)數(shù)據(jù)進(jìn)行搜集,實(shí)際上也是這個(gè)原理,從表面上看,已經(jīng)被感染的系統(tǒng)和原來(lái)的系統(tǒng)是根本沒(méi)有任何差別的,不會(huì)影響到數(shù)據(jù)的正常流動(dòng),也不會(huì)影響系統(tǒng)的穩(wěn)定性。
而他們現(xiàn)在的這個(gè)雷達(dá)控制系統(tǒng),很顯然也是這樣,有某一個(gè)東西正好接管了他們系統(tǒng)中所調(diào)用的一個(gè)系統(tǒng)函數(shù),只是,對(duì)方在處理那個(gè)底層函數(shù)的時(shí)候,有個(gè)地方?jīng)]有處理好,導(dǎo)致他們?cè)谡{(diào)用這個(gè)函數(shù)的時(shí)候,根本沒(méi)有調(diào)用成功,結(jié)果就沒(méi)有返回值。
徐直中和曹興平兩人對(duì)視一眼,然后徐直中問(wèn)道:“小鴻,你能肯定是這個(gè)原因嗎?”
林鴻所說(shuō)的話(huà),通俗易懂,他們也聽(tīng)明白了。
雖然不離十,但是為了保險(xiǎn)起見(jiàn),林鴻還是得自己動(dòng)手驗(yàn)證一下才能打包票。
“這樣吧,如果方便的話(huà),我就使用我自己的方式進(jìn)行驗(yàn)證一下。”他說(shuō)道。
徐直中稍微想了一下,便點(diǎn)頭同意了。
在曹興平的示意下,余波只好讓出了自己的座位。
林鴻坐了上去,然后調(diào)出編譯器,立刻動(dòng)手編寫(xiě)一個(gè)小工具。
這個(gè)小工具非常簡(jiǎn)單,只有一個(gè)功能,那就是持續(xù)不斷地對(duì)之前那個(gè)函數(shù)進(jìn)行調(diào)用,然后使用內(nèi)存DUMP的方式,將內(nèi)存里面的指定數(shù)據(jù)保存在一個(gè)文本文件里面,與此同時(shí),也監(jiān)測(cè)那個(gè)函數(shù)的返回結(jié)果。
接著,林鴻便將余波之前做的過(guò)程重新做了一遍,重啟,然后進(jìn)入靜默狀態(tài),再重新恢復(fù)……
一個(gè)新的文件便被生成了。
林鴻使用編輯器將其打開(kāi),開(kāi)始分析文本文件里面的內(nèi)容。
站在林鴻身后,想看他好戲的余波頓時(shí)有些傻眼了。
也不知道林鴻是故意的還是怎的,他的動(dòng)作非常快,寫(xiě)代碼也感覺(jué)就像是心中早就編寫(xiě)過(guò)無(wú)數(shù)次那樣,直接一溜煙地就編寫(xiě)了過(guò)去,稍微修復(fù)了幾個(gè)由于疏忽而導(dǎo)致的錯(cuò)誤之后,這個(gè)小工具便很快就寫(xiě)完了。整個(gè)過(guò)程,用了不到三分鐘的時(shí)間。
余波站在身后一直目不眨眼地盯著都沒(méi)有跟上他的步伐。雖然看懂了大概的意思,但是其細(xì)節(jié)卻是完全理解不了,不知道對(duì)方為什么這么編寫(xiě)。
而看到最終生成的那個(gè)文本文件,他更是傻眼,因?yàn)槔锩娴膬?nèi)容按理說(shuō)來(lái),是根本訪問(wèn)不到的,是系統(tǒng)層的內(nèi)存數(shù)據(jù)。
“這不可……”余波還想說(shuō)什么,不過(guò)立刻有閉了嘴,因?yàn)槭聦?shí)擺在眼前,他再說(shuō)不可能,那不是一句廢話(huà)么?
林鴻將記錄迅速的看了一遍,最終點(diǎn)頭道:
“果然如此。里面的確有一個(gè)隱藏的程序,接管了這個(gè)函數(shù)。”
這個(gè)LOG文件中的記錄,非常明顯地顯示出,進(jìn)入靜默狀態(tài)的時(shí)候,內(nèi)存里面的函數(shù)棧有了比較明顯的變化,數(shù)據(jù)顯示一個(gè)新的函數(shù)被壓入了棧。
棧是數(shù)據(jù)結(jié)構(gòu)中一個(gè)比較特殊的數(shù)據(jù)結(jié)構(gòu),其特點(diǎn)就是“先進(jìn)后出”,例如彈夾就是一個(gè)典型的棧結(jié)構(gòu),子彈裝進(jìn)去的時(shí)候,先壓入,再?gòu)棾觯钕妊b入的是最后被射出。
在程序中,函數(shù)里面的各個(gè)數(shù)據(jù)和變量,也是按照一定的順序,一個(gè)一個(gè)“壓入”,執(zhí)行完畢之后,再一個(gè)一個(gè)“彈出”。
要想監(jiān)控函數(shù)的變化,就只要監(jiān)控指定位置的那個(gè)棧結(jié)構(gòu)就行了。林鴻從內(nèi)存中DUMP出來(lái)的數(shù)據(jù),就是棧里面的東西。
這個(gè)結(jié)果,在場(chǎng)的其他三人臉色都有些變了。
這意味著,林鴻所說(shuō)的話(huà)是正確的,系統(tǒng)底層的確有一個(gè)隱藏的程序在秘密活動(dòng),而他們之前對(duì)此卻毫不知情。
徐直中還好,已經(jīng)有了心理準(zhǔn)備,曹興平卻是臉色變得極其難看。
“那為什么在剛開(kāi)始啟動(dòng)的時(shí)候沒(méi)有這個(gè)問(wèn)題,而進(jìn)入靜默狀態(tài)才會(huì)出現(xiàn)?”
這個(gè)時(shí)候,余波突然chā言問(wèn)道,他這個(gè)時(shí)候,已經(jīng)沒(méi)有心思去膈應(yīng)林鴻了。
“這是因?yàn)樵谙到y(tǒng)啟動(dòng)的時(shí)候,你們的這個(gè)殼程序優(yōu)先啟動(dòng),然后對(duì)方才啟動(dòng),這樣就根本沒(méi)有受到它的影響,兩者相安無(wú)事。但是進(jìn)入靜默狀態(tài)的時(shí)候,殼程序會(huì)要關(guān)閉,再次啟動(dòng)的時(shí)候,那個(gè)隱藏程序已經(jīng)完全接管了整個(gè)函數(shù)接口,可能是對(duì)方在這一塊沒(méi)有處理好,導(dǎo)致兩者產(chǎn)生了沖突,殼程序調(diào)用的那個(gè)函數(shù)沒(méi)有能夠返回有效的數(shù)值,而你們恰好又沒(méi)有對(duì)這個(gè)返回值進(jìn)行判斷處理,最終導(dǎo)致了整個(gè)殼程序的崩潰。”(。。)
黑龍小說(shuō)
快捷鍵: 上一章("←"或者"P") 下一章("→"或者"N") 回車(chē)鍵:返回書(shū)頁(yè)