超腦黑客 VIP卷 第388章 中間人攻擊
    雖然windows3.1也已經設計了權限控制,並且將系統進行了分層,但是在這方面做得並不好,甚至可以說是相當的粗糙。

    不過這也可以理解,畢竟這個系統剛剛出來,並且他們當時為了能夠盡快地推出,也非常的趕時間,將一些重要的功能首先實現了,對於普通用戶來說,他們設計的權限控制體系已經基本能夠滿足要求了。

    windows3X系列操作系統,根本就不是為實時操作系統而開發的,實時系統,他們有專門的windowsNT系列,其權限控制就比這個要完善多了,穩定性也極大的增強。不過,同樣的道理,他們想要對NT系統進行定制修改的難度也就更大了,總體說來,還沒有直接使用這個來得方便。

    並且,windows系列的系統都是閉源的,說白了這是商業軟件,你想使用,就必須進行購買,他們現在這樣使用,是違反知識產權法的,使用的是盜版。要是被微軟發現,他們是可以通過司法途徑進行起訴的。當然,至於國內的法院受不受理,這又是另外一回事了。

    WLdaw3.1系統的權限系統雖然簡單,但是在用戶層,想要對系統層進行操作這是絕對禁止的,因為會威脅到系統的穩定性,只要破壞了系統的某一個關鍵數據結構,很有可能就會讓系統崩潰。

    涉及到系統底層的操作,都是通過微軟給出的SDK包裡面的系統函數進行實現的。這些系統函數,不會亂操作內存裡面關鍵的數據,而是會按照系統程序員所期望的方式實現某些功能。

    這樣做既不會影響系統的穩定性和安全性,又可以讓編寫應用軟件的程序員獲得想要的功能,還可以簡化操作步驟,讓他們不用關心底層的運行機制,簡直是一舉三得的好辦法。

    當然也並不是說系統層裡面的東西,用戶層完全訪問不了,那些病毒木馬想要實現自己的功能,很大程度上就是利用了系統的漏洞,獲得了超過用戶層的權限。

    不過,他們這個系統,已經被他們經過極度的優化,一些常見漏洞也基本上給打上了補丁,要想找出這樣一個漏洞,還是很困難

    所以,餘波在聽到林鴻大言不慚地說「權限要自己動手去拿,不會自動送上門。」的時候,不由冷冷一笑,反駁道:

    「你說得倒輕巧,有本事你拿一個看看?」

    餘波心中還對林鴻有些意見畢竟正是他的到來,才導致大家人心惶惶,擔心自己為之工作了好多年的心血被推到重來。此外,他也對林鴻輕描淡寫的態度很是看不慣,就算你們公司自己編寫出了一個控制系統,但是也不能這樣信口開河吧?

    他們在這個系統上浸淫了這麼久自認為自己對這個系統的瞭解,只是僅次於那些開發系統的人了。

    他當然知道權限要自己去拿,並不會自動送上門但是,說起來容易做起來難,有些事情是站著說不腰疼,這樣的人,他見得多了。

    餘波認為是林鴻想要在他們領導面前表現自己,才故意這樣「鼻孔插大蔥」——裝象。

    林鴻聽到他的話笑了下,沒有放在心上而是對曹興平和徐直中說道:

    「這個情況我之前是遇到過的。很多木馬和蠕蟲,就是通過重寫系統底層的函數來截流數據。這在系統安全領域,有一個專門的名詞,叫做『中間人攻擊』。」

    中間人攻擊,在黑客領域是一種非常古老並且有效的攻擊方式。

    其本質原理,就是在數據流動的鏈路上,串接一個攻擊者自己的「轉發器」,從而達到嗅探竊取數據的目的。

    這種情形,就好像將一個水管給截段,然後在上面連接一個自己的轉接頭,這個轉接頭是不會影響水管中水流的正常流動的,它只是對水流進行監控,一旦發現水流裡面有一條魚經過,它就負責將這個信息給記錄在案,甚至,它還有其他一些比較神奇的功能,例如,將這條魚替換成一條泥鰍。

    而水管兩端的人,由於缺乏溝通,根本不知道這些水流在流動的過程中到底發生了什麼。

    他們不知道自己私下發送的魚被別人監控了,甚至被人掉包,發送方以為自己發送了一條魚,而接收方則以為對方發送了一條泥鰍。

    在網絡領域,這個中間人甚至可以是一台電腦,用戶A向用戶B發送信息,卻被人偷偷地讓信息流跑到電腦C上面走了一圈,而AB用戶卻根本不知道自己的信息已經被人監聽了。由於電腦C只是對數據進行複製和備份,完全不對信息進行修改,是被動的行文,所以AB是很難發現這種行為的。

    而在單機裡面,中間人攻擊更多的就是像這次這樣,對某個環節或者函數進行接管,相當於在外面另外套了一層,要想訪問真實的內容,必須從中間人這裡進入。

    林鴻的超級蠕蟲對數據進行搜集,實際上也是這個原理,從表面上看,已經被感染的系統和原來的系統是根本沒有任何差別的,不會影響到數據的正常流動,也不會影響系統的穩定性。

    而他們現在的這個雷達控制系統,很顯然也是這樣,有某一個東西正好接管了他們系統中所調用的一個系統函數,只是,對方在處理那個底層函數的時候,有個地方沒有處理好,導致他們在調用這個函數的時候,根本沒有調用成功,結果就沒有返回值。

    徐直中和曹興平兩人對視一眼,然後徐直中問道:「小鴻,你能肯定是這個原因嗎?」

    林鴻所說的話,通俗易懂,他們也聽明白了。

    雖然**不離十,但是為了保險起見,林鴻還是得自己動手驗證一下才能打包票。

    「這樣吧,如果方便的話,我就使用我自己的方式進行驗證一下。」他說道。

    徐直中稍微想了一下,便點頭同意了。

    在曹興平的示意下,餘波只好讓出了自己的座位。

    林鴻坐了上去,然後調出編譯器,立刻動手編寫一個小工具。

    這個小工具非常簡單,只有一個功能,那就是持續不斷地對之前那個函數進行調用,然後使用內存DUMP的方式,將內存裡面的指定數據保存在一個文本文件裡面,與此同時,也監測那個函數的返回結果。

    接著,林鴻便將餘波之前做的過程重新做了一遍,重啟,然後進入靜默狀態,再重新恢復……

    一個新的文件便被生成了。

    林鴻使用編輯器將其打開,開始分析文本文件裡面的內容。

    站在林鴻身後,想看他好戲的餘波頓時有些傻眼了。

    也不知道林鴻是故意的還是怎的,他的動作非常快,寫代碼也感覺就像是心中早就編寫過無數次那樣,直接一溜煙地就編寫了過去,稍微修復了幾個由於疏忽而導致的錯誤之後,這個小工具便很快就寫完了。整個過程,用了不到三分鐘的時間。

    餘波站在身後一直目不眨眼地盯著都沒有跟上他的步伐。雖然看懂了大概的意思,但是其細節卻是完全理解不了,不知道對方為什麼這麼編寫。

    而看到最終生成的那個文本文件,他更是傻眼,因為裡面的內容按理說來,是根本訪問不到的,是系統層的內存數據。

    「這不可……」餘波還想說什麼,不過立刻有閉了嘴,因為事實擺在眼前,他再說不可能,那不是一句廢話麼?

    林鴻將記錄迅速的看了一遍,最終點頭道:

    「果然如此。裡面的確有一個隱藏的程序,接管了這個函數。」

    這個LOG文件中的記錄,非常明顯地顯示出,進入靜默狀態的時候,內存裡面的函數棧有了比較明顯的變化,數據顯示一個新的函數被壓入了棧。

    棧是數據結構中一個比較特殊的數據結構,其特點就是「先進後出」,例如彈夾就是一個典型的棧結構,子彈裝進去的時候,先壓入,再彈出,最先裝入的是最後被射出。

    在程序中,函數里面的各個數據和變量,也是按照一定的順序,一個一個「壓入」,執行完畢之後,再一個一個「彈出」。

    要想監控函數的變化,就只要監控指定位置的那個棧結構就行了。林鴻從內存中DUMP出來的數據,就是棧裡面的東西。

    這個結果,在場的其他三人臉色都有些變了。

    這意味著,林鴻所說的話是正確的,系統底層的確有一個隱藏的程序在秘密活動,而他們之前對此卻毫不知情。

    徐直中還好,已經有了心理準備,曹興平卻是臉色變得極其難看。

    「那為什麼在剛開始啟動的時候沒有這個問題,而進入靜默狀態才會出現?」

    這個時候,餘波突然插言問道,他這個時候,已經沒有心思去膈應林鴻了。

    「這是因為在系統啟動的時候,你們的這個殼程序優先啟動,然後對方才啟動,這樣就根本沒有受到它的影響,兩者相安無事。

    但是進入靜默狀態的時候,殼程序會要關閉,再次啟動的時候,那個隱藏程序已經完全接管了整個函數接口,可能是對方在這一塊沒有處理好,導致兩者產生了衝突,殼程序調用的那個函數沒有能夠返回有效的數值,而你們恰好又沒有對這個返回值進行判斷處理,最終導致了整個殼程序的崩潰。」  
本站首頁 | 玄幻小說 | 武俠小說 | 都市小說 | 言情小說 | 收藏本頁