日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
從CNVD-2017-17486談緩沖區(qū)溢出漏洞的原理分析

日前由安華金和攻防實驗室發(fā)現(xiàn)并提交的國產(chǎn)數(shù)據(jù)庫漏洞,獲國家信息安全漏洞平臺CNVD確認,編號CNVD-2017-17486。

成都創(chuàng)新互聯(lián)服務項目包括烏拉特中網(wǎng)站建設、烏拉特中網(wǎng)站制作、烏拉特中網(wǎng)頁制作以及烏拉特中網(wǎng)絡營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關系等,向廣大中小型企業(yè)、政府機構等提供互聯(lián)網(wǎng)行業(yè)的解決方案,烏拉特中網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務的客戶以成都為中心已經(jīng)輻射到烏拉特中省份的部分城市,未來相信會繼續(xù)擴大服務區(qū)域并繼續(xù)獲得客戶的支持與信任!

CNVD-2017-17486

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

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

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

緩沖區(qū)溢出有多大危害

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

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

堆棧溢出是如何形成的?

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

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

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

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

  • PUSH:為棧增加一個元素的操作叫做PUSH,相當于插入一塊;
  • POP:從棧中取出一個元素的操作叫做POP;
  • TOP:TOP標識棧頂?shù)奈恢茫沂莿討B(tài)變化的,每做一次PUSH操作,它會自+1;每做一次POP操作,它會自-1;
  • BASE:BASE標識棧底位置,用于防止??蘸罄^續(xù)彈棧,一般來說BASE位置不發(fā)生改變。

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

Main函數(shù)調(diào)用A函數(shù),把A函數(shù)中的變量添加到堆棧區(qū)內(nèi),開辟大小和變量指定大小相關。同樣B函數(shù)在被調(diào)用后也會把變量添加到堆棧區(qū)內(nèi),開辟指定大小空間給B區(qū)域變量使用。

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

幾個可行的防護建議

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

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

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

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

【本文是專欄作者“安華金和”的原創(chuàng)稿件,轉載請聯(lián)系原作者】


文章題目:從CNVD-2017-17486談緩沖區(qū)溢出漏洞的原理分析
地址分享:http://www.5511xx.com/article/cdddije.html