2017-2018-2 20179215 《密码与安全新技术》第5周作业
2017-2018-2 20179215 《密碼與安全新技術(shù)》第5周作業(yè)
課程:《密碼與安全新技術(shù)》
班級(jí): 1792
姓名: 袁琳
學(xué)號(hào):20179215
上課教師:謝四江
上課日期:2018年5月10日
必修/選修: 必修
學(xué)習(xí)內(nèi)容總結(jié)
1.概念
安全漏洞:是指信息系統(tǒng)在設(shè)計(jì)、實(shí)現(xiàn)或者運(yùn)行管理過程中存在的缺陷或不足,從而使攻擊者能夠在未授權(quán)的情況下利用這些缺陷破壞系統(tǒng)的安全策略。安全漏洞是網(wǎng)絡(luò)攻擊和防御的關(guān)鍵點(diǎn)。
- 攻擊:根據(jù)目標(biāo)存在的漏洞,編寫攻擊程序(exploit)。
- 防御:提前挖掘出漏洞,并修復(fù)。
2.常見漏洞挖掘技術(shù)
(1)手工測(cè)試
手工測(cè)試是由測(cè)試人員手工分析和測(cè)試被測(cè)目標(biāo),發(fā)現(xiàn)漏洞的過程,是最原始的漏洞挖掘方法。
- 優(yōu)點(diǎn):能發(fā)揮人的主觀能動(dòng)性
- 缺點(diǎn):人無規(guī)律可循、不可大規(guī)模
(2)補(bǔ)丁比對(duì)
補(bǔ)丁對(duì)比是一種通過對(duì)比補(bǔ)丁之間差異來挖掘漏洞的技術(shù)。
- 優(yōu)點(diǎn):發(fā)現(xiàn)速度快
- 缺點(diǎn):只能發(fā)現(xiàn)已知的漏洞
常見工具:PatchDiff2、bindiff
(3)程序分析
包括靜態(tài)和動(dòng)態(tài)。
定義:是指在不運(yùn)行計(jì)算機(jī)程序的條件下,通過詞法分析、語法分析、語義分析、控制流分析、污點(diǎn)分析等技術(shù)對(duì)程序代碼進(jìn)行掃描,驗(yàn)證代碼是否滿足規(guī)范性、安全性等指標(biāo)的一種代碼分析技術(shù)。
- 優(yōu)點(diǎn):覆蓋率100%,自動(dòng)化程度高
- 缺點(diǎn):漏報(bào)和誤報(bào)(RICE,程序分析問題不可判定)
工具:
- 數(shù)據(jù)流分析:Fortify SCA、Coverity Prevent、FindBugs等
- 污點(diǎn)分析:Pixy、TAJ(基于WALA)
- 符號(hào)執(zhí)行:Clang、KLEE
- 模型檢測(cè):BLAST、MAGIC、MOPS
(4)二進(jìn)制審核
定義:源代碼不可得,通過逆向獲取二進(jìn)制代碼,在二進(jìn)制代碼層次上進(jìn)行安全評(píng)估
- 優(yōu)點(diǎn):同靜態(tài)審核
- 缺點(diǎn):逆向?qū)е滦畔G失,理解困難,甚至引入邏輯錯(cuò)誤。
二進(jìn)制及編輯工具:IDA Pro、Ollydbg、UltraEdit、Hex Workshop以及WinHex
(5)模糊測(cè)試
定義:通過向被測(cè)目標(biāo)輸入大量的畸形數(shù)據(jù)并監(jiān)測(cè)其異常來發(fā)現(xiàn)漏洞
關(guān)鍵:測(cè)試用例構(gòu)造,自動(dòng)化。
- 優(yōu)點(diǎn):無須源碼、誤報(bào)低、自動(dòng)化程度高
- 缺點(diǎn):覆蓋率低
工具:Peach、Sulley、Autodafe、SPIKE等
3.漏洞挖掘示例
- 路由器協(xié)議漏洞挖掘
- NFC漏洞挖掘
(1)路由器協(xié)議漏洞挖掘
目標(biāo)選擇:Cisco為例
系統(tǒng)架構(gòu)
- 實(shí)驗(yàn)
- 結(jié)果
當(dāng)遠(yuǎn)程向路由器的161端口發(fā)送大量畸形SNMP Get/Set請(qǐng)求報(bào)文時(shí),Cisco路由器和華為路由器的進(jìn)程Agent出現(xiàn)CPU使用率異常,分別為98%和100%。
當(dāng)遠(yuǎn)程發(fā)送SNMP空數(shù)據(jù)包時(shí),Cisco路由器和華為路由器的CPU使用率出現(xiàn)異常,但遠(yuǎn)小于100%,發(fā)生“輕度拒絕服務(wù)”。
當(dāng)遠(yuǎn)程發(fā)送一個(gè)畸形ASN.1/BER編碼(超長(zhǎng)字符串)的SNMP數(shù)據(jù)包時(shí),wireshark捕獲并解析數(shù)據(jù)包,導(dǎo)致wireshark 1.4等多個(gè)版本棧溢出,導(dǎo)致空指針引用并崩潰。
當(dāng)向SNMP協(xié)議端口(161)遠(yuǎn)程發(fā)送一個(gè)使用“\x”等字符構(gòu)造的畸形UDP數(shù)據(jù)包,科來網(wǎng)絡(luò)分析系統(tǒng)7.2.1及以前版本均會(huì)因邊界條件檢查不嚴(yán)導(dǎo)致崩潰。
(2)NFC漏洞挖掘
- 目標(biāo)選擇:手機(jī)
NFC(Near Field Communication)技術(shù)是一種近距離的雙向高頻無線通信技術(shù),能夠在移動(dòng)終端、智能標(biāo)簽(Tag)等設(shè)備間進(jìn)行非接觸式數(shù)據(jù)交換。
NFC技術(shù)具有通信距離短、一次只和一臺(tái)設(shè)備連接(1V1)、硬件安全模塊加密等特點(diǎn),具有較好的保密性和安全性
- 系統(tǒng)架構(gòu)
- 實(shí)驗(yàn)
- 結(jié)果
4.常見工具-Android
(1)靜態(tài)分析工具
Androguard是一個(gè)靜態(tài)工具集。
包含Androaxml、Androapkinfo、Androcsign、Androdd、Androdump、Androgexf、Androlyze、Andromercury、Androrisk、Androsign、Androsim、Androxgmml、Apkviewer;
功能:反匯編/反編譯/靜態(tài)分析apk/相似度對(duì)比/測(cè)試混淆程度/惡意代碼檢測(cè)/………………………
http://code.google.com/p/androguard
(2)動(dòng)態(tài)分析工具
DroidBox—Android應(yīng)用程序動(dòng)態(tài)分析工具
Mercury—是一個(gè)開源的Android APP應(yīng)用安全評(píng)估框架,它最贊的功能是可以動(dòng)態(tài)的與android設(shè)備中的應(yīng)用進(jìn)行IPC(組件通信)包括Activity。
TaintDroid —是一動(dòng)態(tài)實(shí)時(shí)的隱私監(jiān)控工具。它是利用動(dòng)態(tài)污點(diǎn)分析技術(shù)檢測(cè)隱私數(shù)據(jù)的。http://appanalysis.org/index.html
(3)逆向分析工具
- Smali/Baksmali:DEX文件匯編和反匯編工具。
.dex .smali
assembler/disassembler!
http://code.google.com/p/smali/
- Apktool:是GOOGLE提供的APK編譯工具:
APK Smali/…. 可用于修改APK文件后,重新打包
http://code.google.com/p/android-apktool/
- Dex2Jar:把a(bǔ)pk文件轉(zhuǎn)換成.jar包,配合JD-GUI工具查看和分析java源代碼。
http://code.google.com/p/dex2jar
- JD、Dedexer、Redexer…
5.攻防示例
- 路由器例子
- NFC
從被動(dòng)防御方面來看:
路由器:
- 過濾特殊字符,eg. 科來網(wǎng)絡(luò)分析系統(tǒng)對(duì)\x的處理;
- 限制特定端口的傳輸速率;
- 阻塞SNMP請(qǐng)求的端口;
- 折中:編寫ACL
NFC:
- 協(xié)議解析:檢查長(zhǎng)度字段、數(shù)值范圍、格式化字符串、特殊字符等;
- 設(shè)計(jì)缺陷:修改設(shè)計(jì)邏輯,例如,藍(lán)牙、wifi、屏幕亮度等;
- 被動(dòng)防御:滯后性
主動(dòng)防御:
- 針對(duì)路由器和軟件
- 成熟產(chǎn)品
- 入侵檢測(cè)(Snort/OSSEC HIDS/BASE/Sguil……)
- 防火墻
- 殺毒軟件
學(xué)習(xí)中的問題和解決過程
模糊測(cè)試的框架有哪些?
1、antiparser
antiparser框架以python語言編寫,是一個(gè)專門幫助模糊測(cè)試器創(chuàng)建隨機(jī)數(shù)據(jù)的API。該工具可以跨平臺(tái),僅僅要求有python解釋器就行。
你可以在這個(gè)網(wǎng)站得到該框架的源碼和一些文檔:http://antiparser.sourceforge.net/
說明:
該框架很簡(jiǎn)單,且缺少一些自動(dòng)化功能,文檔較少??偟膩碚f,他不適合做一些復(fù)雜的工作。
2、Dfuz
該框架是Diego Bauche用C開發(fā)的,經(jīng)常更新。該框架已經(jīng)發(fā)現(xiàn)了很多漏洞。Dfuz是開源的,可以下載。但是該框架的源代碼采用了一種嚴(yán)格的開原許可,未得到作者的允許不可以使用復(fù)制該框架的源代碼。
網(wǎng)站:http://www.genexx.org/dfuz/
說明:
該框架學(xué)習(xí)曲線比較平坦,開發(fā)效率比較高,Dfuz要求開發(fā)者完全使用框架的腳本語言來進(jìn)行編程,沒法利用成熟的語言發(fā)揮更大的威力。不過總的來說還是可以的。
3、SPIKE
最廣泛使用最知名的一個(gè)框架。使用C語言編寫,提供了一系列允許快速和高效的開發(fā)網(wǎng)絡(luò)協(xié)議模糊測(cè)試器的API。在SPIKE中,數(shù)據(jù)結(jié)構(gòu)被分解表示成塊,也叫SPIKE,這個(gè)塊同時(shí)包含二進(jìn)制數(shù)據(jù)和塊大小。
說明:
SPIKE只有零星的文檔,一些還是廢棄的,但是我們可以找到很多工作樣例。SPIKE缺乏對(duì)windows的支持。最大的貢獻(xiàn)就是基于塊的模糊測(cè)試方法。很多其他的模糊測(cè)試框架也采用了這樣的方法。
4、Peach
python編寫的,是一個(gè)開源的框架。
Peach體系結(jié)構(gòu)允許研究者聚焦于一個(gè)個(gè)的特定的協(xié)議的子組件,然后組合起來創(chuàng)建完整的模糊測(cè)試器。這種方法可能不如基于塊的開發(fā)速度,但是對(duì)代碼的復(fù)用的支持比其他模糊測(cè)試工具好。
說明:
Peach處于活躍開發(fā)中,但是文檔少,學(xué)習(xí)起來比較困難。
5、通用目的模糊測(cè)試器(GPF)
GPF可以產(chǎn)生無數(shù)個(gè)測(cè)試,無數(shù)個(gè)變異。(其他的根據(jù)規(guī)則不會(huì)是無數(shù)個(gè)),該框架主要的有點(diǎn)是可以用很低的成本建立并運(yùn)行一個(gè)模糊測(cè)試器,通過GPF的多種模式對(duì)外提供功能。
6、Autodafe
這個(gè)框架可以簡(jiǎn)單的描述成下一帶的SPIKE,該框架能夠?qū)W(wǎng)絡(luò)協(xié)議和文件格式進(jìn)行模糊測(cè)試。他最吸引人的就是調(diào)試組件。
其他
通過這一次基于模糊測(cè)試的漏洞挖掘與攻防技術(shù)的學(xué)習(xí),對(duì)漏洞挖掘相關(guān)的一些基本概念有了一定了解。在未來的若干年中模糊測(cè)試技術(shù)仍將會(huì)是軟件測(cè)試領(lǐng)域的一個(gè)研究熱點(diǎn),甚至可能延伸到硬件測(cè)試領(lǐng)域,該領(lǐng)域?qū)?huì)有大量的技術(shù)問題值得研究工作者開展進(jìn)行一步的研究和探討。
轉(zhuǎn)載于:https://www.cnblogs.com/yl-930/p/9077649.html
總結(jié)
以上是生活随笔為你收集整理的2017-2018-2 20179215 《密码与安全新技术》第5周作业的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言实现随机生成0~100的数
- 下一篇: 从未后悔认识你,只是不知如何面对分开的结