簡體版 繁體版 第388章 中間人攻擊

第388章 中間人攻擊


竹馬權少,誘妻入局 風月藥師 你是我遇不到的溫柔 半裸江山 嫡女重生 我在回憶裡等你 穿越西遊之從零開始 妖妻傾城 死亡凶界 禁忌之地

第388章 中間人攻擊

類別:都市言情作者:瘋狂小強書名:超腦駭客雖然windows3.1也已經設計了許可權控制,並且將系統進行了分層,但是在這方面做得並不好,甚至可以說是相當的粗糙。

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

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

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

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

涉及到系統底層的操作,都是透過微軟給出的SDK包裡面的系統函式進行實現的。這些系統函式,不會亂操作記憶體裡面關鍵的資料,而是會按照系統程式設計師所期望的方式實現某些功能。

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

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

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

所以,餘波在聽到林鴻大言不慚地說“許可權要自己動手去拿,不會自動送上門。”的時候,不由冷冷一笑,反駁道:“你說得倒輕巧,有本事你拿一個看看?”

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

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

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

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

林鴻聽到他的話,笑了下,沒有放在心上,而是對曹興平和徐直中說道:“這個情況我之前是遇到過的。很多木馬和蠕蟲。就是透過重寫系統底層的函式來截流資料。這在系統安全領域,有一個專門的名詞,叫做‘中間人攻擊’。”

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

這個小工具非常簡單,只有一個功能,那就是持續不斷地對之前那個函式進行呼叫,然後使用記憶體DUMP的方式,將記憶體裡面的指定資料儲存在一個文字檔案裡面,與此同時,也監測那個函式的返回結果。

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

一個新的檔案便被生成了。

林鴻使用編輯器將其開啟,開始分析文字檔案裡面的內容。

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

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

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

而看到最終生成的那個文字檔案,他更是傻眼,因為裡面的內容按理說來,是根本訪問不到的,是系統層的記憶體資料。

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

林鴻將記錄迅速的看了一遍,最終點頭道:“果然如此。裡面的確有一個隱藏的程式,接管了這個函式。”

這個LOG檔案中的記錄,非常明顯地顯示出,進入靜默狀態的時候,記憶體裡面的函式棧有了比較明顯的變化,資料顯示一個新的函式被壓入了棧。

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

在程式中,函數里面的各個資料和變數,也是按照一定的順序,一個一個“壓入”執行完畢之後,再一個一個“彈出”。

要想監控函式的變化,就只要監控指定位置的那個棧結構就行了。林鴻從記憶體中DUMP出來的資料,就是棧裡面的東西。

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

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

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

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

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

“這是因為在系統啟動的時候,你們的這個殼程式優先啟動,然後對方才啟動,這樣就根本沒有受到它的影響,兩者相安無事。但是進入靜默狀態的時候,殼程式會要關閉,再次啟動的時候,那個隱藏程式已經完全接管了整個函式介面,可能是對方在這一塊沒有處理好,導致兩者產生了衝突,殼程式呼叫的那個函式沒有能夠返回有效的數值,而你們恰好又沒有對這個返回值進行判斷處理,最終導致了整個殼程式的崩潰。”