• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • Linux內核即時入侵檢測安全增強(一)

    發表于:2007-07-02來源:作者:點擊數: 標簽:
    在計算機制造業中,只要涉及到計算機 安全 性要求非常重要高的地方,總要提起 入侵檢測 和如何處理黑客的入侵。在這個方面的主要討論焦點是:在入侵者進行完成入侵后發現并記錄入侵,還不如在他們入侵之前就發現并阻止他們對系統的入侵。 前言 ( 2001-04-27

      在計算機制造業中,只要涉及到計算機安全性要求非常重要高的地方,總要提起入侵檢測和如何處理黑客的入侵。在這個方面的主要討論焦點是:在入侵者進行完成入侵后發現并記錄入侵,還不如在他們入侵之前就發現并阻止他們對系統的入侵。

    前言 ( 2001-04-27 )
    一.介紹 ( 2001-04-27 )
    二.系統調用運行步驟 ( 2001-04-27 )
    三.防止緩沖區溢出的內核補丁 ( 2001-04-27 )
    四.實現 ( 2001-04-27 )
    五.后語 ( 2001-04-27 )
      在計算機制造業中,只要涉及到計算機安全性要求非常重要高的地方,總要提起入侵檢測和如何處理黑客的入侵。在這個方面的主要討論焦點是:在入侵者進行完成入侵后發現并記錄入侵,還不如在他們入侵之前就發現并阻止他們對系統的入侵。我們可以檢測系統每一個進程,這樣我們就可以在入侵者實行入侵攻擊的時候實現入侵的防御,因為這樣就可以即時阻止惡意的系統命令的執行。實際上,最嚴重的破壞都是通過在被攻擊系統上執行的惡意系統調用帶來的。

      這篇文章提供了設計和實現這種對敏感的系統調用的監視功能。我們的目的主要是在類UNIX系統內核上通過截獲系統調用來實現這種功能。這個系統的綜合功能可以嵌入到內核中的系統調用代碼,這樣在系統調用被引用的時候就可以檢查系統調用是否符合訪問控制數據庫所定義的規則。

      這里實現的方法是通過一個簡單的方法來截獲系統調用和他們的參數值。這樣做不用改變內核已有的數據結構和算法。在對所有對程序進程的修正和改變后,他們還可以繼續穩定的運行,不用改變源代碼和重新編譯內核。

      這里還提供了一個完整的能夠檢測和阻止緩沖區溢出攻擊的代碼,這段代碼可以作為一套Linux的操作系統的內核源代碼補丁。
     
    一.介紹
    冰塊


      現在大家已經公認了,世界上沒有絕對的方法或絕對安全的系統來阻止黑客的入侵:

    沒有漏洞的軟件對我們來說還是一個夢想。即使是很流行的程序或是操作系統一樣會包含很都可以被入侵者利用的漏洞。

    許多軟件包的行為都是和其他操作系統的組件(函數庫或是內核)相互作用的。

      由于這個原因,所以入侵檢測和如何處理入侵行為在計算機工業里一直在廣泛的討論和研究。

      很多現有的入侵檢測的技術都是基于一些對審計和日志文件的分析。主要思想是搜索整個系統的文件和參考列表來發現畸形的,不期望的系統配置的改變。(如,有一個新的用戶的用戶ID是0)。另外一種方法就是周期性的執行一個程序來做系統文件的屬性和參考列表的比較。這些過程主要是來對付Trojan木馬的。這樣的程序是看起來對系統不是很危險,但是可以讓入侵者得到控制整個系統所需的權限。

      這樣程序的好處是不用進入內核部分。如,他們不用進行對系統命令的修改。但是,他們也不能對入侵進行即時的防范,因為,大多數情況下,這些結果都是在入侵者攻擊以后才生成的。

      因為所有對系統的破壞性攻擊都是通過一些敏感的系統調用來實現的。所以,即時的入侵檢測通過監視每一個系統調用就可以保護你的系統不受攻擊者破壞。

      這里我們建立一個在內核級能夠實現截獲和監視特殊系統調用的函數。我們的方法需要最小的改變系統原來內部的結構。由于類UNIX系統的這個代碼都是公開的,我們就可以基于公開的內核代碼來截獲系統調用,并根據我們設定的規則來檢驗系統調用是否是惡意的,起到入侵檢測和防范的功能。

      這個軟件的主要設計目的如下:

    在惡意的系統調用執完全行前檢測到它,以起到阻止惡意的入侵攻擊。
    允許對系統調用參數的一個有效的檢測。
    在不改變系統已經存在的數據結構和體系的情況下,通過擴展內核的功能來實現一個增強的安全的操作系統。
    感謝即時的入侵檢測,因為原來的擴展操作系統可以讓入侵者的惡意進程和合法的進程一起運行。有了這個系統,我們就可以對系統的所有進程進行分析,發現惡意的進程以及他們之間的關系。
      作為一個實現我們技術的例子我們創建了一個在攻擊完成前對緩沖區溢出攻擊進行檢測的原形。一個基于操作系統的入侵檢測的實現能在檢測緩沖區溢的時候的提供一些必要的功能選項。

    二.系統調用運行步驟
    冰塊
      我們的系統安全增強是建立在一個內核后面的參考監視器上的。

      用戶的進程要想訪問系統的調用就必須經過這個參考的監視器。如圖1。這個系統調用參考的監視器包括兩個重要的功能部分:參考功能函數和認證功能函數。參考功能函數是用來生成一個結果,這個結果是關于是否允許或是拒絕一個基于訪問控制數據庫系統調用請求的。這個訪問控制數據庫概念性的包括入口和訪問控制的規則(規則涉及進程,系統調用,訪問模式)。在ACD中的訪問控制規則能捕捉在系統調用和他們相關參數的情況。舉例,一個execve系統調用的控制規則可以在executable文件列表中指定訪問的模式來控制調用這個進程的調用execve的系統調用。這個文件就是調用進程對execve的合法通行憑證。這樣的功能可以允許阻止一個有特權的沒有正確注冊的進程(如,setuid)如交互的shell對系統的非授權攻擊或是濫用。

      ACD不是參考監視器的一部分,但是對這個數據庫的所有控制都是通過參數監視器來控制的。這就是我們說的第二個組件,認證功能組件。

      這個組件是用來監視對個別訪問控制規則改變的。參考監視器的一個基本的規則就是全部的,也就是所有的訪問都必須在這里調停。然而,一般方法在系統調用的高端級別來實現這個功能會有很到的資源的消耗。大約會對系統調用有30%的資源浪費。為了減少這樣的消耗,我們提出了一個更加有效率的方法,就是在基于攔截系統內核的系統調用來實現這個參考監視器的功能。我們這個方法能盡量少的改變本地操作系統,也不會改變操作系統內部的官方接口。如類UNIX系統,還有其他的一些公開源代碼的操作系統(如,Linux、xxBSD、Solaris)。我們的目的是建立一個參考的監視妻來截獲系統調用,并把截獲到的系統調用和訪問控制數據庫進行比較,來確定是不是合法的系統調用和參數。

      因為這樣的方法是在系統調用生效前就截獲的,所以他可以阻止任何由入侵者對系統非法的惡意的系統調用。從而起到保護系統的功能。

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>