999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

緩沖區溢出漏洞攻擊初探

2017-03-17 11:15:10宋春
電子技術與軟件工程 2016年16期

摘 要

本文詳細描述和分析了緩沖區溢出攻擊的原理,然后就如何對緩沖區溢出攻擊漏洞構造攻擊程序進行了詳細的分析。

【關鍵詞】緩沖區溢出 棧溢出攻擊 Shellcode

在Internet高度普及的今天,緩沖區溢出漏洞作為最常見的軟件安全漏洞,是黑客攻擊中經常利用的一個漏洞。通過利用溢出漏洞,攻擊者可以使被攻擊的主機改變原代碼的執行流程,轉而執行攻擊者構造的惡意代碼。前些年,緩沖區溢出攻擊一度占到了網絡攻擊總量的百分之五十以上,只是近年來軟件廠商逐漸加強了操作系統和應用軟件的安全建設,采用了一些DEP、ASLR等對抗措施,才使得緩沖區溢出漏洞呈現逐年減少的趨勢,但在企業內網中,緩沖區溢出漏洞仍然普遍存在。因此,依然有必要對緩沖區溢出漏洞進行一些研究,從而開展有效的防范措施。

1 緩沖區溢出漏洞定義及原理

1996年,Aleph One在Phrack雜志發表的“Smashing the Stack for Fun and Profit”是緩沖區溢出的經典之作,第一次詳細地介紹了緩沖區溢出產生的原理和利用方法。緩沖區溢出漏洞攻擊是指攻擊者通過在緩沖區寫入超過預定長度的數據造成所謂的溢出,破壞了堆棧的原有數據結構,使程序的返回地址發生變化,使它指向溢出程序中惡意代碼,這樣就達到了攻擊者的目的。

常見的緩沖區溢出漏洞包括棧溢出和堆溢出漏洞,本文主要結合實驗簡要分析棧溢出的攻擊原理。要充分理解緩沖區溢出漏洞的基本原理,就要從理解系統的內存結構開始。系統的內存結構主要包含有text、data、bss、heap和stack等區段。其中,代碼text區,是由程序的代碼段,為只讀數據,任何對其寫入的操作都會導致段錯誤(segmentation violation); 而bss 和data 都是可寫的,它們保存全局變量,data 段包含已初始化的靜態變量,而bss 包含未初始化的數據;heap是堆區,stack是棧區。

棧結構及溢出原理:

堆棧是操作系統中非常重要的一種結構,系統或用戶進程通過堆棧用來完成各種函數調用。對于系統中的每個進程來說,都有其各自獨立的堆棧空間,堆棧空間隨著進程的創建而被創建,隨著進程的結束而被銷毀。與系統中其他內存空間的增長有所不同,堆棧的增長方向是由內存高地址向低地址進行的,正是由于堆棧的這個特點導致了一系列的安全問題。

當一個函數調用另一個函數的時候,其棧幀結構如圖2所示。在正常情況下,被調函數執行完畢,將被調函數的返回地址傳給EIP寄存器,CPU從EIP寄存器取指令地址,返回主函數繼續執行。如果黑客特意構造數據,使被調函數的局部變量越界,這樣就有可能破壞棧中的相鄰變量的值,甚至破壞棧幀中所保存的EIP、EBP值等重要數據。成功的緩沖區溢出攻擊會用精心設計的數據覆蓋返回地址,使被調函數執行完后將修改后的返回地址傳入EIP,從而使CPU執行攻擊代碼(shellcode)。

2 緩沖區溢出漏洞攻擊的構造

通過前面的分析,我們大致了解了構造緩沖區溢出漏洞需要考慮以下3個方面的問題。一是找出緩沖區溢出要覆蓋或修改的返回地址EIP。如棧溢出中的返回地址在棧中的存儲位置。二是將返回地址的值修改為何值?為了完成程序執行流程控制權的轉移,攻擊者將影響程序執行流程的EIP值進行修改,使其能夠跳轉至攻擊者預期的代碼進行執行。如何定位注入指令在目標程序中的位置,以及在存在限制條件如何完成程序控制權的移交,是一項重要的挑戰。三是要構造合適的指令代碼,即Shellcode。在程序控制權交至攻擊者注入的指令代碼后,那么這段代碼具體完成什么功能是由攻擊者開發的。這段代碼有時被稱為攻擊者的payload,由于這個payload通常為攻擊者提供了一個遠程shell訪問,因此也被稱為Shellcode。由于受目標主機的緩沖區大小限制,Shellcode長度一般越小越好。Shellcode構造步驟一般如下:

(1)先用C語言程序編寫實現Shellcode的功能的代碼。

(2)將上面編寫的代碼通過編譯器進行編譯,然后修改為帶有Shellcode特點的匯編代碼(精通匯編語言的人可直接使用匯編語言編寫程序)。

(3)根據匯編程序得到機器碼形式的Shellcode。

3 緩沖區溢出漏洞實驗

在了解了緩沖區溢出攻擊的原理之后,下面給出一個遠程棧溢出的例子。圖1所示的程序是一個存在緩沖去溢出漏洞的服務器端程序。該程序主要功能是實現字符串接收與回顯,通過windows socket機制創建一個服務器端socket,并在3764端口上進行監聽;在接受客戶端連接之后,把客戶端輸入的字符串統計接收的字節數,并進行回顯。該程序的被調函數overflow在將接收字符串復制至本地局部變量s1緩沖區時,因沒有進行邊界保護,存在著棧溢出漏洞風險。

下面我們構造一個針對圖1所示漏洞服務程序的遠程滲透攻擊程序。該攻擊程序關鍵點在于構造一個用于溢出目標程序緩沖區的攻擊數據,這是整個攻擊過程中最為關鍵的步驟。攻擊數據緩沖區Buff類似一個“三明治”,“頂層”填充一段無效的nop指令,“夾心層”是將EIP值修改為“jmp ESP”指令的地址,而這個指令地址在不同的目標程序所運行的操作系統平臺上是不一樣的,由攻擊者在不同的系統環境中調試獲得。在本示例代碼中,實驗的環境是windows xp環境,并從ws2_32.dll中查找到的“jmp esp”指令地址。“底層”則填充攻擊者構造的遠程Shellcode。

圖2所示的代碼省略了580字節的shellcode二進制代碼程序。下面給出Shellcode實現步驟,具體的代碼請讀者根據實際需要自行編寫。其大致過程如下:

(1)創建一個服務器端socket,并在指定的端口上監聽;

(2)通過accept()接受客戶端的網絡連接;

(3)創建子進程,運行“cmd.exe”,啟動命令行;

(4)創建兩個管道,命令管道將服務器端socket接收(recv)到的客戶端通過網絡輸入的執行命令,連接至cmd.exe的標準輸入;然后輸出管道將cmd.exe的標準輸出連接到服務器端socket的發送(send),通過網絡將運行結果反饋給客戶端。然后再將高級語言實現的shellcode代碼編譯,生成匯編代碼,提取匯編代碼所對應的Opcode二進制指令,就可以創建圖2所示的滲透攻擊程序中所省略的shellcode指令數組。

4 小結

本文詳細描述和分析了緩沖區溢出攻擊的原理,然后就如何對緩沖區溢出攻擊漏洞構造攻擊程序進行了詳細的分析。目前,緩沖區溢出漏洞仍然是互聯網和計算機系統中最普遍安全漏洞,特別是能夠實現本地提取和遠程滲透攻擊的緩沖區溢出漏洞威脅最大。雖然隨著軟件廠商不斷加強了軟件安全方面的建設,但在短期之內很難徹底解決緩沖區溢出漏洞攻擊的問題,因而目前對該問題的研究工作仍具有實際意義。

參考文獻

[1]韓萬軍.緩沖區溢出攻擊代碼檢測與防御技術研究[D].鄭州:解放軍信息工程大學,2012.

[2]付春雷.基于多階段網絡攻擊模型的緩沖區溢出攻擊技術研究與實踐[D].重慶:重慶大學,2006.

[3]王玉潔.基于攻擊代碼檢測的緩沖區溢出防御技術研究[D].成都:西南交通大學,2010.

作者簡介

宋春(1977-),男,江蘇省徐州市人。碩士研究生學歷。現供職于南寧市公安局網絡安全保衛支隊。主要研究方向為計算機網絡與分布式計算。

作者單位

南寧市公安局網絡安全保衛支隊 廣西壯族自治區南寧市 530000

主站蜘蛛池模板: 中文字幕无码中文字幕有码在线 | 国产欧美在线视频免费| 国产日本一线在线观看免费| 国产jizzjizz视频| 中文字幕在线日韩91| 四虎亚洲精品| 欧美色亚洲| 黄色免费在线网址| 国内精品91| 波多野结衣国产精品| 在线观看的黄网| 色屁屁一区二区三区视频国产| a级免费视频| 色婷婷在线播放| 国产成人1024精品| 一区二区三区成人| 黄色片中文字幕| 青青国产成人免费精品视频| 九九香蕉视频| 成人日韩精品| 成人福利在线观看| a欧美在线| 亚洲无码在线午夜电影| 伊人久久青草青青综合| 久久综合色天堂av| 91av国产在线| 国产人人射| 亚洲天堂啪啪| 午夜国产理论| 欧美成人午夜影院| 国产粉嫩粉嫩的18在线播放91| 福利在线不卡一区| 色综合中文字幕| 国产精品美女免费视频大全| 国产后式a一视频| 高清精品美女在线播放| 亚洲AⅤ永久无码精品毛片| 国产 在线视频无码| 国产主播福利在线观看| 免费激情网址| 91丝袜在线观看| 中文字幕乱妇无码AV在线 | 国产精品亚洲综合久久小说| 欧美精品aⅴ在线视频| 日韩 欧美 国产 精品 综合| 98精品全国免费观看视频| 日本三区视频| 亚洲精品无码不卡在线播放| 国产精品无码久久久久久| 成人国产精品2021| 亚洲性一区| 在线播放真实国产乱子伦| 一区二区三区高清视频国产女人| 亚洲AⅤ无码日韩AV无码网站| 日韩人妻精品一区| 丰满的熟女一区二区三区l| 成人久久精品一区二区三区| 毛片久久网站小视频| 国产精品亚洲一区二区三区z| 成人亚洲视频| 无码在线激情片| 亚洲国产看片基地久久1024| 亚洲色图欧美在线| 久久久久免费精品国产| 亚洲综合经典在线一区二区| 欧美另类精品一区二区三区| 国产区精品高清在线观看| 国产97区一区二区三区无码| 久久综合色播五月男人的天堂| 伊人久久久久久久久久| 自偷自拍三级全三级视频| 国产精品白浆无码流出在线看| 大香网伊人久久综合网2020| 伊人久综合| 毛片视频网| 国产亚洲精品va在线| 超碰91免费人妻| 国模私拍一区二区| 美女免费精品高清毛片在线视| 精品三级在线| 国产欧美日韩专区发布| 亚洲一区第一页|