成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

從CNVD-2017-17486談緩沖區溢出漏洞的原理分析

安全 應用安全
日前由安華金和攻防實驗室發現并提交的國產數據庫漏洞,獲國家信息安全漏洞平臺CNVD確認,編號CNVD-2017-17486。

日前由安華金和攻防實驗室發現并提交的國產數據庫漏洞,獲國家信息安全漏洞平臺CNVD確認,編號CNVD-2017-17486。

CNVD-2017-17486

  • 漏洞類型:緩沖區溢出漏洞
  • 威脅程度:中危
  • 漏洞描述:允許攻擊者利用漏洞,通過程序創建表空間文件時,指定路徑名過長導致數據庫崩潰。
  • 漏洞危害:一旦被利用,將可能導致數據庫宕機,或被攻擊者取得數據庫操作系統的用戶權限,從而對系統所在的網絡發起攻擊。

CNVD-2017-17486是一個標準的堆棧溢出漏洞,屬于緩沖區溢出漏洞的重要分支,此類漏洞比較常見,影響范圍和危害也會比較廣泛,如果出現在數據庫等基礎應用中,導致數據庫服務中斷,將引發整個業務的癱瘓。

由于此類漏洞的出現范圍較廣,我們除了及時發現漏洞,更應該通過分析漏洞形成原理、作用機制及可能引發的風險,找到可行的防范手段。

緩沖區溢出有多大危害

緩沖區溢出漏洞是一種古老、危害范圍大、常見于c代碼中的軟件漏洞,在各種操作系統、應用軟件中廣泛存在,數據庫系統中同樣常見。利用緩沖區溢出攻擊,可以導致程序運行失敗、系統宕機、重新啟動等后果。更為嚴重的是,攻擊者可以利用它執行非授權指令,甚至取得系統特權,進而實行攻擊行為。

緩沖區溢出漏洞最早在20世紀80年代初被發現,第一次重大事件是1988年爆發的Morris蠕蟲。該蠕蟲病毒利用fingerd的緩沖區溢出漏洞進行攻擊,最終導致6000多臺機器被感染,造成直接經濟損失100萬美金。隨后,衍生而出的Ramen 蠕蟲、sircam蠕蟲、sql slammer蠕蟲等品種逐漸出現,每一類蠕蟲都對整個互聯網造成了嚴重的安全影響,造成高額的經濟損失。

堆棧溢出是如何形成的?

簡單來說,堆棧溢出就是把大緩沖區中的數據向小緩沖區中復制,由于沒有關注小緩沖區的邊界,“撐爆”了較小的緩沖區,從而沖掉了小緩沖區和鄰內區域的其他數據而引起的內存問題。在具體描述堆棧溢出之前我們先來了解一下Linux程序在內存中的結構:

Linux程序在內存中的結構

其中共享區也稱為data區,用來存儲可執行代碼;.text和.bss均用來存儲程序的全局變量和初始化變量;堆則不隨函數消亡而消亡,而是直到程序消亡或手動釋放才會消亡;堆棧是隨著函數分配并消亡的,堆棧溢出就是出現在堆棧區中的緩沖區安全問題。

堆棧是一個后進先出(LIFO)數據結構,往低地址增長,它保存本地變量、函數調用等信息。隨著函數調用層數的增加,棧幀會向低地址方向延伸;隨著進程中函數調用層數的減少,即各函數的返回,棧幀會一塊一塊地被遺棄而向內存的高地址方向回縮。各函數的棧幀大小隨著函數的性質不同而不等。

堆棧這種數據結構,常見操作有壓棧(PUSH)、彈棧(POP);用于標識棧的屬性有:棧頂(TOP)、棧底(BASE)。其中:

  • PUSH:為棧增加一個元素的操作叫做PUSH,相當于插入一塊;
  • POP:從棧中取出一個元素的操作叫做POP;
  • TOP:TOP標識棧頂的位置,且是動態變化的,每做一次PUSH操作,它會自+1;每做一次POP操作,它會自-1;
  • BASE:BASE標識棧底位置,用于防止棧空后繼續彈棧,一般來說BASE位置不發生改變。

下面以mian函數疊加A和B函數為例說明整個壓棧和彈棧過程:

以mian函數疊加A和B函數為例說明整個壓棧和彈棧過程

Main函數調用A函數,把A函數中的變量添加到堆棧區內,開辟大小和變量指定大小相關。同樣B函數在被調用后也會把變量添加到堆棧區內,開辟指定大小空間給B區域變量使用。

  • 如果其中任意一個變量存入的值超過設計的界定,就會導致值覆蓋其他變量的區域最終污染到函數返回地址區域。一旦函數的返回地址被污染,在進行彈棧的過程中會最終把跳轉的地址指向黑客所指定的區域,或根本不存在的區域。
  • 如果覆蓋函數返回地址的是一組隨機值,則程序會跳轉到未知位置,這種情況往往最終會導致整個程序崩潰。
  • 如果黑客構造足夠精細的shellcode,把跳轉地址指向黑客自己注入的代碼,則很可能會利用該漏洞獲得當前用戶的控制權限。

幾個可行的防護建議

堆棧溢出漏洞是c 代碼的一種常見安全漏洞。防護的方法可以從多個角度來加強。

1) 使用自動化工具進行掃描檢測,排查是否存在緩沖區溢出漏洞;但需要注意的是需要使用面向不同系統的掃描工具,沒有一個檢查工具可以支持所有基礎應用的掃描。

2) 加強相關程序員的代碼能力,做好相應的長度限制工作,從代碼級別進行防范。

3)避免使用原C庫中那些可能存在緩沖區溢出隱患的函數,使用增強后的函數,這樣此漏洞出現的幾率會相對低一些。

【本文是51CTO專欄作者“安華金和”的原創稿件,轉載請聯系原作者】

戳這里,看該作者更多好文

責任編輯:趙寧寧 來源: 51CTO.com
相關推薦

2020-10-27 09:51:18

漏洞

2020-08-10 08:37:32

漏洞安全數據

2018-11-01 08:31:05

2022-08-09 08:31:40

C -gets函數漏洞

2011-11-15 16:00:42

2015-09-02 09:01:03

2017-01-09 17:03:34

2019-02-27 13:58:29

漏洞緩沖區溢出系統安全

2014-07-30 11:21:46

2009-09-24 18:16:40

2018-01-26 14:52:43

2010-09-29 15:59:04

2010-12-27 10:21:21

2011-02-24 09:21:31

2015-03-06 17:09:10

2010-10-09 14:45:48

2010-09-08 15:43:18

2011-03-23 12:39:44

2021-01-27 18:03:52

漏洞網絡安全網絡攻擊

2010-09-29 15:10:58

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 不卡视频在线 | 国产精品入口麻豆www | 欧美一级片黄色 | 日本偷偷操| 亚洲精品国产综合区久久久久久久 | 91久久国产综合久久91精品网站 | 午夜免费福利电影 | 日韩国产免费 | 欧美成人自拍 | 久久国产一区二区三区 | 久久国产传媒 | 成人不卡在线 | 亚卅毛片 | 日韩www | 高清国产午夜精品久久久久久 | 欧美日韩中文字幕在线 | 黄色av观看| 自拍偷拍欧美 | 三级黄视频在线观看 | 久久久久久久久久久91 | 中文字幕日韩欧美一区二区三区 | 国产精品一区在线 | 欧美日韩在线播放 | 欧美日韩精品免费 | 久久久99国产精品免费 | 一区| 99精品国产一区二区三区 | 国产亚洲一区二区三区 | 国产精品久久久久久久免费大片 | 久久毛片 | 亚洲午夜精品一区二区三区他趣 | 在线观看黄色 | 一区二区三区在线免费 | 久久伊人在 | 一区二区三区视频在线免费观看 | 成人欧美一区二区三区1314 | 99久久精品国产一区二区三区 | 欧美精品中文字幕久久二区 | 日韩快播电影 | 久久久91精品国产一区二区精品 | 在线男人天堂 |