每週一書-《模糊測試-強制發掘安全漏洞的利器》

首先說明,本週活動有效時間爲2016年9月26日到2016年10月9日。本週爲大家送出的書是由電子工業出版社出版,段念,趙勇翻譯的《模糊測試-強制發掘安全漏洞的利器》。

 

在介紹這本書之前,首先要感謝微信號爲:631682315(FEIYU)同學贈送給玄魂工作室的內容讀者的。

前言/序言

在圖上可以看到,FEIYU同學正在招聘代碼審計,感興趣的讀者可以直接加他的微信號,瞭解招聘需求。

下面我們來看看,這本書的簡介。

 《模糊測試:強制發掘安全漏洞的利器》是一本系統性描述模糊測試的專著,介紹了主要操作系統和主流應用類型的模糊測試方法,系統地描述了方法和工具,並使用實際案例幫助讀者建立直觀的認識。隨着軟件安全性問題變得越來越關鍵,傳統的僅由組織內的少數安全專家負責安全的模式正受到越來越多的挑戰。模糊測試是一種能夠降低安全性測試門檻的方法,它通過高度自動化的手段讓組織的開發和測試團隊都能參與到安全性測試中,並能夠通過啓發式等方法不斷積累安全測試的經驗,幫助組織建立更有效的面向安全性的開發流程。

作者簡介

Micheal SuttonSPI Dynamics的安全性專業顧問(Security Evangelist)。作爲安全性專業顧問,Michael負責識別、研究及提出Web應用安全性歷史上出現的問題。他經常在主要的信息安全會議上演講,寫作了大量文章,並在多種信息安全主題中被引用。Michael同時也是Web 應用安全性協會(Web Application Security ConsortiumWASC)的會員,領導着Web應用安全性統計項目。
  在加入SPI Dynamics之前,MichaeliDefense/VeriSign的總監,領導iDefense Labs這個世界級的研究團隊,該團隊的目標是發現和研究安全性漏洞。Michael還在百慕大建立了爲安永服務的信息系統保證和諮詢服務(Information System Assurance and Advisory ServicesISAAS)。Michael擁有阿爾伯塔大學和喬治華盛頓大學的學位。
Michael是一個驕傲的加拿大人,在他看來,曲棍球是一種信仰而不只是一種運動。在工作之外,Micheal還是Fairfax志願救火部門的一名士官。
Adam Greene是某大金融新聞公司的工程師,公司位於紐約。在加入這家公司之前,AdamiDefense的工程師,iDefense是位於弗吉尼亞州雷斯頓城的一家智能公司。Adam在計算機安全性方面的興趣主要在於可信利用(reliable exploitation)方法、模糊測試,以及開發基於UNIX系統的利用漏洞的工具。
Pedram Amini目前領導着TippingPoint的安全研究和產品安全評估團隊,在此之前,他是iDefense Labes的助理總監和創始人之一。頂着助理總監這個奇怪的頭銜,Pedram在逆向工程的基礎方面投入了相當多的時間——開發自動化工具、插件及腳本。他最近的項目(也叫“Babies”)包括PaiMei逆向工程框架和Sulley模糊測試框架。
  出於熱情,Pedram創建了OpenRCE.org,一個專注於逆向工程的藝術和科學的社區網站。他在REConBlackHatDefConShmooConToorCon上都進行過演講,並教授了多次逆向工程課程。Pedram擁有杜蘭大學的計算機科學學位。

 

目錄

譯者序
前言
原書序
致謝
關於作者
第一部分基礎知識
1安全漏洞發現方法學
1.1 
白盒測試
1.1.1 
代碼評審(Source Code Review
1.1.2 
工具與自動化
1.1.3 
優點和缺點
1.2 
黑盒測試
1.2.1 
手工測試
1.2.2 
自動化測試或模糊測試
1.2.3 
優點和缺點
1.3 
灰盒測試
1.3.1 
二進制審計
1.3.2 
自動化的二進制審計
1.3.3 
優點和缺點
1.4 
小結
2什麼是模糊測試
2.1 
模糊測試的定義
2.2 
模糊測試的歷史
2.3 
模糊測試各階段
2.4 
模糊測試的侷限性和期望
2.4.1 
訪問控制漏洞
2.4.2 
糟糕的設計邏輯
2.4.3 
後門
2.4.4 
破壞
2.4.5 
多階段安全漏洞(MuliStage Vulnerability
2.5 
小結
3模糊測試方法與模糊測試器類型
3.1 
模糊測試方法
3.1.1 
預生成測試用例
3.1.2 
隨機生成輸入
3.1.3 
手工協議變異測試
3.1.4 
變異或強制性測試
3.1.5 
自動協議生成測試
3.2 
模糊測試器類型
3.2.1 
本地模糊器
3.2.2 
遠程模糊測試器
3.2.3 
內存模糊測試器
3.2.4 
模糊測試器框架
3.3 
小結
4數據表示和分析
4.1 
什麼是協議
4.2 
協議中的域
4.3 
簡單文本協議(Plain Text Protocols
4.4 
二進制協議
4.5 
網絡協議
4.6 
文件格式
4.7 
常用協議元素
4.7.1 
名字-值對
4.7.2 
塊識別符
4.7.3 
塊大小
4.7.4 
校驗和
4.8 
小結
5有效模糊測試的需求
5.1 
可重現性與文檔
5.2 
可重用性
5.3 
過程狀態和過程深度
5.4 
跟蹤、代碼覆蓋和度量
5.5 
錯誤檢測
5.6 
資源約束
5.7 
小結
第二部分目標與自動化
6自動化與數據生成
6.1 
自動化的價值
6.2 
有用的工具和庫
6.2.1 ETHEREAL/WIRESHARK
6.2.2 LIBDASM
LIBDISASM
6.2.3 LIBNET/LIBNETNT
6.2.4 LIBPCAP
6.2.5 METRO PACKET LIBRARY
6.2.6 PTRACE
6.2.7 PYTHON
擴展
6.3 
編程語言的選擇
6.4 
數據生成與啓發式模糊測試(Fuzz Heuristics
6.4.1 
整數值
6.4.2 
字符串重複(String Repetitions
6.4.3 
字段分隔符
6.4.4 
格式化字符串
6.4.5 
字符翻譯
6.4.6 
目錄遍歷
6.4.7 
命令注入
6.5 
小結
7環境變量與參數模糊測試
7.1 
本地模糊測試介紹
7.1.1 
命令行參數
7.1.2 
環境變量
7.2 
本地模糊測試原則
7.3 
尋找測試目標
7.3.1 UNIX
文件權限釋義
7.4 
本地模糊測試方法
7.5 
枚舉環境變量
7.5.1 GNU
調試器(GNU DebugGDB)法
7.6 
自動化的環境變量模糊測試
7.6.1 
庫預加載(Library Preloading
7.7 
檢測問題
7.8 
小結
8自動化的環境變量與參數模糊測試
8.1 iFUZZ
本地模糊測試器的功能
8.2 
開發iFUZZ工具
8.2.1 
開發方法
8.3 iFUZZ
使用的編程語言
8.4 
案例研究
8.5 
好處和改進的餘地
8.6 
小結
9 Web應用與服務器模糊測試
9.1 
什麼是Web應用模糊測試
9.2 
測試目標
9.3 
測試方法
9.3.1 
設置目標環境
9.3.2 
輸入
9.4 
漏洞
9.5 
異常檢測
9.6 
小結
10 Web應用和服務器的自動化模糊測試
10.1 Web
應用模糊測試器
10.2 
特性
10.2.1 
請求
10.2.2 
模糊變量
10.2.3 
響應
10.3 
必需的背景信息
10.3.1 
識別請求
10.3.2 
檢測
10.4 
開發
10.4.1 
方法
10.4.2 
選擇編程語言
10.4.3 
設計
10.5 
案例研究
10.5.1 
目錄遍歷(Directory Traversal
10.5.2 
溢出
10.5.3 SQL
注入
10.5.4 XSS
腳本
10.6 
優點和可改進的空間
10.7 
小結
11文件格式模糊測試
11.1 
目標
11.2 
方法
11.2.1 
強制或是基於變異的模糊測試
11.2.2 
智能強制或基於生成的模糊測試
11.3 
輸入
11.4 
安全漏洞
11.4.1 
拒絕服務(Daniel of ServiceDoS
11.4.2 
整數處理問題
11.4.3 
簡單的棧和堆溢出
11.4.4 
邏輯錯誤
11.4.5 
格式字符串
11.4.6 
競爭條件(Race Condition
11.5 
檢測
11.6 
小結
12 UNIX平臺上的文件格式自動化模糊測試
12.1 notSPIKEfile
SPIKEfile
12.1.1
 不包含的功能
12.2 
開發過程
12.2.1 
異常監測引擎
12.2.2 
異常報告(異常監測)
12.2.3 
核心模糊測試引擎
12.3 
有意義的代碼片段
12.3.1 UNIX
中常見的我們可能感興趣的信號
12.3.2 
不那麼感興趣的信號
12.4 
殭屍進程(Zombie Process
12.5 
使用注意事項
12.5.1 Adobe Acrobat
12.5.2 RealNetworks RealPlayer
12.6 
案例研究:RealPlayer RealPix格式字符串漏洞
12.7 
開發語言
12.8 
小結
13 Windows平臺上的文件格式自動化模糊測試
13.1 Windows
文件格式漏洞
13.2 FileFuzz
工具的功能
13.2.1 
創建文件
13.2.2 
執行應用
13.2.3 
異常檢測
13.2.4 
保存好的審計(audit
13.3 
必需的背景信息
13.3.1 
識別目標應用
13.4 FileFuzz
工具的開發
13.4.1 
開發方法
13.4.2 
開發語言選擇
13.4.3 
設計
13.5 
案例研究
13.6 
收益和改進空間
13.7 
小結
14網絡協議的模糊測試
14.1 
什麼是網絡協議的模糊測試
14.2 
測試目標應用
14.2.1 
第二層:數據鏈接層
14.2.2 
第三層:網絡層
14.2.3 
第四層:傳輸層
14.2.4 
第五層:會話層
14.2.5 
第六層:表示層
14.2.6 
第七層:應用層
14.3 
測試方法
14.3.1 
強制(基於變異的)模糊測試
14.3.2 
智能強制(基於生成的)模糊測試
14.3.3 
通過修改客戶端進行變異模糊測試
14.4 
錯誤檢測
14.4.1 
手工方式(基於調試器)
14.4.2 
自動化方式(基於代理)
14.4.3 
其他來源
14.5 
小結
15 UNIX平臺上的自動化網絡協議模糊測試
15.1 
使用SPIKE進行模糊測試
15.1.1 
選擇目標
15.1.2 
協議分析
15.2 SPIKE
必要知識
15.2.1 
模糊引擎
15.2.2 
基於行的通用TCP模糊測試器
15.3 
基於塊的協議模型
15.4 
其他的SPIKE特性
15.4.1 
針對協議的模糊測試器
15.4.2 
針對協議的模糊測試腳本
15.4.3 
基於腳本的通用模糊測試器
15.5 
編寫SPIKE NMAP模糊測試器腳本
15.6 
小結
16 Windows平臺上

 

模糊測試是發現未知漏洞的藝術,是安全測試的進階技術,是必知必會的知識。

下面關鍵來了,如果你心動了,如何得到本書呢?

1.在本篇文章下面留言,談談你對模糊測試的認識,理解,感悟或者有趣的故事和想法

2.讓你的朋友幫助給你的留言點贊

3.如果你的感悟或者故事很精彩,可以投稿給我們。

評選標準:

1.點贊數最高的留言者,會獲得本書

2.如果你有和本書內容相關的投稿,如果被採納,在訂閱號發佈,本書優先獎勵給你。

3.同時有多人投稿的話,回到第1條。

微信掃描下發二維碼,關注訂閱號,回覆“每週一書”,瞭解最新的運行情況,最近的送書小活動,獲取書籍的方法都在文章裏面。

  每週一書,總有一本是你喜歡的。

玄魂工作室-只關注程序員

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章