• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      二進制代碼分析實驗平臺搭建

      2015-04-17 12:17:08高敏芬
      實驗室研究與探索 2015年5期
      關鍵詞:二進制代碼信息安全

      高敏芬, 劉 露

      (南開大學 a. 數(shù)學科學學院; b. 計算機與控制工程學院, 天津 300071)

      ?

      二進制代碼分析實驗平臺搭建

      高敏芬a, 劉 露b

      (南開大學 a. 數(shù)學科學學院; b. 計算機與控制工程學院, 天津 300071)

      二進制代碼分析實驗平臺是南開大學信息安全專業(yè)“惡意代碼分析”課程基本的實驗環(huán)境。本文就如何在實驗室中搭建基于BitBlaze的二進制代碼分析實驗平臺進行了詳細的闡述,包括實驗平臺的架構、實驗平臺安裝環(huán)境部署、實驗平臺的安裝、實驗平臺的使用流程等內(nèi)容,以期對與二進制代碼分析相關的實驗環(huán)境的搭建和使用起到很好的參考作用。

      實驗平臺搭建; 二進制代碼分析; BitBlaze; 信息安全; 惡意代碼

      0 引 言

      在惡意代碼攻擊中,攻擊者通常不是對源代碼直接進行攻擊,二進制代碼才是受攻擊系統(tǒng)真正被動執(zhí)行的代碼形式,因此,分析二進制代碼才能得到惡意代碼真實的行為信息。 “惡意代碼分析”課程面對的樣本就是二進制代碼。但由于二進制代碼通常比較復雜,而且缺乏高級語言的語義和結構信息,因此其分析是一件極具挑戰(zhàn)性的工作。

      目前,常見的二進制代碼分析工具主要有IDA PRO、OLLYDBG[1]和Pin[2]。IDA PRO是一個靜態(tài)反匯編工具,OLLYDBG是一個動態(tài)追蹤工具,而Pin是一種分析程序動態(tài)特征的工具。BitBlaze[3-4]是由美國加州大學伯克利分校發(fā)起的一個開源項目,它提供了一種全新的通過二進制代碼分析解決計算機安全問題的方法。BitBlaze支持精確的分析,提供了一種可擴展的架構,而且結合了靜態(tài)和動態(tài)分析技術以及程序驗證技術用以滿足各種安全應用的普遍需求。BitBlaze可以把二進制代碼中與安全相關的部分直接提取出來,從而提供了一種本質(zhì)性的、基于根源的計算機安全問題的解決方案。

      較強的實踐動手能力,是信息安全專業(yè)本科學生具備的基本素質(zhì)之一,而實驗教學是提高學生實踐動手能力的重要環(huán)節(jié)。本文所介紹的二進制代碼分析實驗平臺是南開大學信息安全專業(yè)學生“惡意代碼分析”課程的實驗環(huán)境[5-6],是在我們前期的研究和實踐工作的基礎上形成的具體方案[7-9]。通過該實驗平臺的搭建和使用,學生可以深入認識二進制代碼的構造原理和基本特征,能夠?qū)W會使用先進的分析工具對二進制代碼進行動態(tài)的和靜態(tài)的分析,提高對程序的分析能力,鞏固課堂上所學的知識。同時,也期望學生通過在實驗平臺上的實踐活動,能夠產(chǎn)生認知二進制代碼分析的興趣和激情,從而進一步探索惡意代碼的分析方法和技術。

      1 實驗平臺的架構與配置

      這里所介紹的二進制代碼分析實驗平臺是由BitBlaze項目擴展而成的,圖1給出了本實驗平臺的基本架構。實驗平臺如虛線內(nèi)部部分所示,主要由QEMU虛擬操作系統(tǒng)、TEMU[10]動態(tài)分析組件和VINE[11]靜態(tài)分析組件構成。二進制代碼是實驗平臺的分析對象,實驗前會將二進制代碼輸入QEMU虛擬環(huán)境中去;二進制代碼在實驗平臺運行期間可能會與外網(wǎng)或者用戶終端發(fā)生交互。二進制文件的整個執(zhí)行過程將由動態(tài)組件TEMU監(jiān)控下來,同時提取執(zhí)行過程中的系統(tǒng)信息,獲得二進制代碼的執(zhí)行軌跡。實驗平臺生成的分析文件將用于后期從惡意代碼的行為、語法、語義、協(xié)議等方面進行深層次分析[12-15]。

      圖1 二進制代碼分析實驗平臺架構

      實驗平臺的硬件環(huán)境最低要求為:內(nèi)存2G,硬盤100G,操作系統(tǒng)為Ubuntu9.X/Ubuntu10.04/Ubuntu10.10。系統(tǒng)所需的其他軟件支持有l(wèi)lconf-0.4.5、kqemu和gcc-3.4。實驗平臺源代碼為TEMU源碼壓縮包(temu.tar.gz)和VINE源碼壓縮包(vine.tar.gz)。

      為了方便實驗平臺的安裝,在實驗之前將終端后臺的安裝流程和啟動流程編寫為自動化Bash腳本,其中TEMU的安裝腳本為install-temu.sh,VINE的安裝腳本為install-vine.sh。平臺中虛擬監(jiān)控系統(tǒng)的啟動腳本為start-up.sh。

      2 實驗平臺的安裝流程

      二進制代碼分析實驗平臺的安裝,大致包括如下4個步驟:

      (1) 執(zhí)行TEMU和VINE的安裝腳本。運行自動安裝腳本install-temu.sh和install-vine.sh。

      (2) 制作和安裝實驗平臺所需虛擬監(jiān)控操作系統(tǒng)。

      ① 制作系統(tǒng)映像文件:

      qemu-img create -f qcow2 winxp.qcow2 20G

      創(chuàng)建格式為qcow2、容量為20G的硬盤映像文件winxp.qcow2。

      ② 安裝Windows XP(需要說明的是,操作系統(tǒng)要求是微軟官方的版本,否則可能會安裝失敗):

      qemu -hda winxp.qcow2 -cdrom /root/winxp.iso -boot d

      其中,hda參數(shù)表示是硬盤映像,cdrom參數(shù)表示從光盤安裝,后跟iso所在的路徑,boot選d表明從光盤引導。

      ③ 用TEMU啟動系統(tǒng)映像:

      temu -monitor stdio -kernel-kqemu winxp.qcow2

      啟動后安裝TEMU的驅(qū)動,在虛擬機中將TEMU源碼中的testdrv/driver目錄下的testdrv.sys驅(qū)動文件拷貝至%SYSTEM32%drivers目錄下。然后,雙擊testdrv.reg文件將內(nèi)容拷貝至注冊表來配置驅(qū)動程序,它將會在下次啟動后加載。若要確認該驅(qū)動是否工作正常,在TEMU運行的目錄中尋找一個名為guest.log的創(chuàng)建日志文件,觀察其是否包含一些TEMU收集的數(shù)據(jù)。

      (3) 協(xié)議配置與共享目錄修改。

      ① 配置SMB文件共享協(xié)議:

      sudo apt-get install uml-utilities

      sudo /usr/sbin/tunctl -b user -t tap0

      sudo chmod 666 /dev/net/tun

      sudo apt-get install samba

      sudo apt-get install smbfs

      sudo gedit /etc/samba/smb.conf

      ② 修改共享目錄,在該文件末尾添加如下代碼:

      [qemu]

      comment = Windows file space

      path =/文件共享目錄

      read only =no

      public =yes

      sudo apt-get install samba-common-bin

      testparm /etc/samba/smb.conf

      sudo /etc/init.d/smbd restart

      (4) 配置虛擬系統(tǒng)的網(wǎng)絡連接。配置虛擬系統(tǒng)的網(wǎng)絡連接,可以通過如下方式實現(xiàn):

      echo 1 > /proc/sys/net/ipv4/ip_forward

      iptables -t nat -A POSTROUTING -o eth0 -s 192.168.10.0/24 -j MASQUERADE

      3 實驗平臺的使用流程

      利用實驗平臺對二進制代碼進行分析,可以依據(jù)下述步驟進行:

      第1步:運行實驗平臺啟動腳本,QEMU虛擬系統(tǒng)將會啟動:

      bash start-up.sh

      第2步:系統(tǒng)啟動之后,根據(jù)實驗要求裝載并啟動動態(tài)監(jiān)控插件。比如,要裝載的是tracecap插件:

      (qemu) load_plugin /home/zwang/temu-tags-0.2.4/tracecap/tracecap.so

      將會顯示如下的裝載信息:

      general/trace_only_after_first_taint is enabled.

      **general/log_external_calls is disabled.

      general/write_ops_at_insn_end is disabled.

      general/save_state_at_trace_stop is disabled.

      tracing/tracing_table_lookup is enabled.

      tracing/tracing_tainted_only is disabled.

      tracing/tracing_kernel is disabled.

      tracing/tracing_kernel_tainted is disabled.

      tracing/tracing_kernel_partial is disabled.

      **network/ignore_dns is disabled.

      Enabled: 0x00 Proto: 0x00 Sport: 0 Dport: 0 Src: 0.0.0.0 Dst: 0.0.0.0

      Loading plugin options from: /home/temu-tags-0.2.4/tracecap/ini/hook_plugin.ini

      Loading plugins from: /home/temu-tags-0.2.4/shared/hooks/hook_plugins

      /home/temu-tags-0.2.4/tracecap/tracecap.so is loaded successfully!

      第3步:根據(jù)實驗需要設置監(jiān)控配置項。比如,開啟污點標記:

      (qemu) taint_nic 1

      第4步:開始監(jiān)控實驗所分析的程序進程,并指明生成文件:

      (qemu) trace ProcessID "/home/name.trace"

      此時終端將會顯示監(jiān)控信息:

      Waiting for process *** to start

      (qemu) PID: 1234 CR3:0x0a025000

      這一過程所需時間通常與所分析的程序有關,程序結構復雜,通常所需時間會比較長。如果要通過標記鍵盤終端輸入對二進制代碼的影響,需要通過taint_sendkey命令來輸入數(shù)據(jù):

      (qemu) taint_sendkey 5 1001

      Tainting Keystroke: 9 00000001

      第5步:程序運行結束后,輸入停止監(jiān)控指令,并停止和卸載插件。

      (qemu) trace_stop

      (qemu) disable_emulation

      (qemu) unload_plug

      完成上述幾個步驟之后,就可以使用靜態(tài)組件VINE將trace文件轉(zhuǎn)換為匯編指令文件進行分析。分析實驗平臺生成的文件包括執(zhí)行軌跡文件(trace)、進程空間加載進的動態(tài)模塊地址(functions)、程序運行過程中調(diào)用的API函數(shù)序列(calls)、系統(tǒng)接收到的網(wǎng)絡數(shù)據(jù)包(netlog)等。

      4 結 語

      從南開大學信息安全專業(yè)實驗室的實驗條件出發(fā),結合實踐教學的具體要求,在我們已有工作基礎[7-9]上,探討了二進制代碼分析平臺的構建問題,包括實驗平臺的架構、配置、安裝和使用等問題,以期對相關的二進制代碼分析的實驗環(huán)境的構建和使用起到一定的指導意義。該二進制代碼分析實驗平臺能夠?qū)Σ煌愋偷亩M制代碼進行全方位的分析,目前我們所搭建的二進制代碼分析實驗平臺已應用在僵尸網(wǎng)絡的命令與控制協(xié)議研究和代碼混淆技術的效果分析中[16]。

      二進制代碼分析平臺為信息安全專業(yè)學生提供了一個貼近國際流行新技術的學習和研究的實踐平臺,有益于學生接觸最前沿的信息安全技術;同時,也為理論學習與實踐之間的有機結合提供了良好的教學場景,有利于激發(fā)學生的學習興趣。從搭建分析平臺并使用它進行惡意代碼分析的過程中,學生可以找到自己的感興趣的內(nèi)容并進行深入、自主的學習,提高自主創(chuàng)新的能力。

      [1] DynamoRio: Dynamic Instrumentation Tool Platform. http://code.google.com/p/dynamorio/ [EB/OL] [2013-12-29]

      [2] Pin - A Dynamic Binary Instrumentation Tool[EB/OL]. http://software.intel.com/en-us/articles/pin-a-dynamic-binary-instrumentation-tool. [2013-11-28].

      [3] Song D, Brumley D, Yin H, et al. BitBlaze: A new approach to computer security via binary analysis[C]// 4thInternational Conference on Information Systems Security (ICISS 2008),Hyderabad, India: Springer, 2008:1-25.

      [4] Newsome J, Song D. Dynamic taint analysis for automatic detection, analysis, and signature generation of exploits on commodity software[C]//2005 Network and Distributed System Security Symposium(NDSS 2005), San Diego, USA: The Internet Society, 2005:1-17.

      [5] 王 志, 賈春福. “惡意代碼及其防治技術”課程的實驗環(huán)境構建與實驗內(nèi)容設計[J], 計算機教育, 2009(18): 140-142.

      [6] 郭鳳海,賈春福. 信息安全開放實驗探討[J]. 計算機教育, 2010(10):119-122.

      [7] 高敏芬,郭鳳海. 惡意代碼防治技術課程的實踐和實驗室的有效管理[J]. 實驗室科學, 2010(2):141-144.

      [8] 高敏芬,王 志. 二進制代碼分析與反分析技術開放實驗的探索[J]. 實驗室科學, 2011(3):154-156.

      [9] 高敏芬, 王 志. 二進制代碼分析實驗平臺設計[J]. 實驗室科學, 2011(6):121-123.

      [10] YIN H, SONG D. TEMU: The BitBlaze Dynamic Analysis Component[EB/OL]. http://bitblaze.cs.berkeley.edu/temu.html. [2014-3-1].

      [11] YIN H, SONG D. Vine: The BitBlaze Static Analysis Component[EB/OL]. http://bitblaze.cs.berkeley.edu/vine.html. [2014-3-1].

      [12] Cui W, Kannan J, Wang H. Discoverer: Automatic protocol reverse engineering from network traces[C]//16th USENIX Security, Boston, MA, USA: USENIX Association, 2007: 1-14.

      [13] 應凌云, 楊 軼, 馮登國, 等. 惡意軟件網(wǎng)絡協(xié)議的語法和行為語義分析方法[J]. 軟件學報, 2011, 22(7): 1676-1689.

      [14] Juan C, Pongsin P, Christian K,etal. Dispatcher: Enabling active botnet infiltration using automatic protocol reverse-engineering [C]//16thACM Conference on Computer and Communication Security(CCS 2009). Chicago, IL, USA: ACM Press, 2009: 621-634.

      [15] Cho C, Babic D, Shin E,etal. Inference and analysis of formal models of botnet command and control protocols[C] //17thACM Conference on Computer and Communication Security(CCS 2010). Chicago, IL, USA: ACM Press,2010: 426-439.

      [16] 王 志, 蔡亞運, 劉 露, 等. 基于覆蓋率分析的僵尸網(wǎng)絡控制命令發(fā)掘方法[J].通信學報, 2014, 35(1): 156-166.

      Constructing Experimental Platform of Binary Code Analysis

      GAOMin-fena,LIULub

      (a. College of Mathematical Science; b. College of Computer and Control, Nankai University, Tianjin 300071, China)

      Binary code analysis experimental platform is the experimental environment for the undergraduate course of Malicious Code Analysis of Information Security in Nankai University. This paper introduces how to construct a binary code analysis experimental platform based on BitBlaze, a binary code analysis tool. It includes the architecture of experimental platform, the deployment of installation environment, the installation of the platform, and the process using the platform. This paper may be helpful for those people who are constructing and using binary code analysis experimental platform.

      experimental platform construction; binary code analysis; BitBlaze; information security; malicious code

      2014-12-12

      天津自然科學基金項目(2013JCYBJ00300);南開大學2012年本科教育教學改革項目(教通字[2013]17號)

      高敏芬(1968-),女,天津人,碩士,高級工程師;主要從事計算機實驗教學管理工作。 E-mail:gaomf@nankai.edu.cn

      TP 392

      A

      1006-7167(2015)05-0116-00

      猜你喜歡
      二進制代碼信息安全
      用二進制解一道高中數(shù)學聯(lián)賽數(shù)論題
      有趣的進度
      二進制在競賽題中的應用
      創(chuàng)世代碼
      動漫星空(2018年11期)2018-10-26 02:24:02
      創(chuàng)世代碼
      動漫星空(2018年2期)2018-10-26 02:11:00
      創(chuàng)世代碼
      動漫星空(2018年9期)2018-10-26 01:16:48
      創(chuàng)世代碼
      動漫星空(2018年5期)2018-10-26 01:15:02
      保護信息安全要滴水不漏
      高校信息安全防護
      消費導刊(2017年20期)2018-01-03 06:26:38
      保護個人信息安全刻不容緩
      林甸县| 广平县| 莱州市| 乌海市| 博爱县| 江山市| 江北区| 平顺县| 长丰县| 正镶白旗| 洛宁县| 县级市| 陈巴尔虎旗| 新晃| 冕宁县| 霸州市| 电白县| 宁安市| 清水县| 赣州市| 平度市| 铜川市| 蒙阴县| 沁阳市| 连平县| 柘荣县| 新泰市| 合川市| 昂仁县| 庆阳市| 金塔县| 甘洛县| 贺兰县| 苍梧县| 华亭县| 格尔木市| 五原县| 涿鹿县| 武清区| 屯门区| 搜索|