日本精品aⅴ一区二区三区|国产欧美一二三区|国产乱码精品精|国产精品电影在线免费

      1. <blockquote id="utafg"><th id="utafg"></th></blockquote>
    1. <div id="utafg"></div>
        <blockquote id="utafg"><th id="utafg"></th></blockquote>

        <menuitem id="utafg"></menuitem>
      1. 您現(xiàn)在的位置是:首頁 >要聞 > 2024-10-10 21:53:39 來源:

        緩沖區(qū)溢出漏洞(緩沖區(qū))

        導(dǎo)讀 大家好,我是小夏,我來為大家解答以上問題。緩沖區(qū)溢出漏洞,緩沖區(qū)很多人還不知道,現(xiàn)在讓我們一起來看看吧!緩沖區(qū)溢出好比是將十磅的糖...

        大家好,我是小夏,我來為大家解答以上問題。緩沖區(qū)溢出漏洞,緩沖區(qū)很多人還不知道,現(xiàn)在讓我們一起來看看吧!

        緩沖區(qū)溢出好比是將十磅的糖放進一個只能裝五磅的容器里……

         堆棧溢出(又稱緩沖區(qū)溢出)攻擊是最常用的黑客技術(shù)之一。我們知道,UNIX本身以及其上的許多應(yīng)用程序都是用C語言編寫的,C語言不檢查緩沖區(qū)的邊界。在某些情況下,如果用戶輸入的數(shù)據(jù)長度超過應(yīng)用程序給定的緩沖區(qū),就會覆蓋其他數(shù)據(jù)區(qū)。這稱作“堆棧溢出或緩沖溢出”。

         一般情況下,覆蓋其他數(shù)據(jù)區(qū)的數(shù)據(jù)是沒有意義的,最多造成應(yīng)用程序錯誤。但是,如果輸入的數(shù)據(jù)是經(jīng)過“黑客”精心設(shè)計的,覆蓋堆棧的數(shù)據(jù)恰恰是黑客的入侵程序代碼,黑客就獲取了程序的控制權(quán)。如果該程序恰好是以root運行的,黑客就獲得了root權(quán)限,然后他就可以編譯黑客程序、留下入侵后門等,實施進一步地攻擊。按照這種原理進行的黑客入侵就叫做“堆棧溢出攻擊”。

          為了便于理解,我們不妨打個比方。緩沖區(qū)溢出好比是將十磅的糖放進一個只能裝五磅的容器里。一旦該容器放滿了,余下的部分就溢出在柜臺和地板上,弄得一團糟。由于計算機程序的編寫者寫了一些編碼,但是這些編碼沒有對目的區(qū)域或緩沖區(qū)——五磅的容器——做適當?shù)臋z查,看它們是否夠大,能否完全裝入新的內(nèi)容——十磅的糖,結(jié)果可能造成緩沖區(qū)溢出的產(chǎn)生。如果打算被放進新地方的數(shù)據(jù)不適合,溢得到處都是,該數(shù)據(jù)也會制造很多麻煩。但是,如果緩沖區(qū)僅僅溢出,這只是一個問題。到此時為止,它還沒有破壞性。當糖溢出時,柜臺被蓋住??梢园烟遣恋艋蛴梦鼔m器吸走,還柜臺本來面貌。與之相對的是,當緩沖區(qū)溢出時,過剩的信息覆蓋的是計算機內(nèi)存中以前的內(nèi)容。除非這些被覆蓋的內(nèi)容被保存或能夠恢復(fù),否則就會永遠丟失。

          在丟失的信息里有能夠被程序調(diào)用的子程序的列表信息,直到緩沖區(qū)溢出發(fā)生。另外,給那些子程序的信息——參數(shù)——也丟失了。這意味著程序不能得到足夠的信息從子程序返回,以完成它的任務(wù)。就像一個人步行穿過沙漠。如果他依賴于他的足跡走回頭路,當沙暴來襲抹去了這些痕跡時,他將迷失在沙漠中。這個問題比程序僅僅迷失方向嚴重多了。入侵者用精心編寫的入侵代碼(一種惡意程序)使緩沖區(qū)溢出,然后告訴程序依據(jù)預(yù)設(shè)的方法處理緩沖區(qū),并且執(zhí)行。此時的程序已經(jīng)完全被入侵者操縱了。

          入侵者經(jīng)常改編現(xiàn)有的應(yīng)用程序運行不同的程序。例如,一個入侵者能啟動一個新的程序,發(fā)送秘密文件(支票本記錄,口令文件,或財產(chǎn)清單)給入侵者的電子郵件。這就好像不僅僅是沙暴吹了腳印,而且后來者也會踩出新的腳印,將我們的迷路者領(lǐng)向不同的地方,他自己一無所知的地方。

        緩沖區(qū)溢出的處理

          你屋子里的門和窗戶越少,入侵者進入的方式就越少……

          由于緩沖區(qū)溢出是一個編程問題,所以只能通過修復(fù)被破壞的程序的代碼而解決問題。如果你沒有源代碼,從上面“堆棧溢出攻擊”的原理可以看出,要防止此類攻擊,我們可以:

        1、開放程序時仔細檢查溢出情況,不允許數(shù)據(jù)溢出緩沖區(qū)。由于編程和編程語言的原因,這非常困難,而且不適合大量已經(jīng)在使用的程序;

        2、使用檢查堆棧溢出的編譯器或者在程序中加入某些記號,以便程序運行時確認禁止黑客有意造成的溢出。問題是無法針對已有程序,對新程序來講,需要修改編譯器;

        3、經(jīng)常檢查你的操作系統(tǒng)和應(yīng)用程序提供商的站點,一旦發(fā)現(xiàn)他們提供的補丁程序,就馬上下載并且應(yīng)用在系統(tǒng)上,這是最好的方法。但是系統(tǒng)管理員總要比攻擊者慢一步,如果這個有問題的軟件是可選的,甚至是臨時的,把它從你的系統(tǒng)中刪除。舉另外一個例子,你屋子里的門和窗戶越少,入侵者進入的方式就越少。

        本文到此講解完畢了,希望對大家有幫助。