【廉環(huán)話】漫談信息安全設(shè)計(jì)與治理之滲透測試報(bào)告
原創(chuàng)【51CTO.com原創(chuàng)稿件】自從上一期,我們開始談到滲透測試以后,就有細(xì)心的朋友心生疑問的私信我:“上次聊的滲透測試怎么和我們平時(shí)接觸到的不太一樣啊?我可能看了假的‘廉環(huán)話’嗎?”看來我要趕快出來澄清一下了:朋友,您看得沒錯(cuò)也問得非常好。因?yàn)樯洗问菑耐耆M陌生攻擊者的角度來進(jìn)行的“黑盒”盲測;而大家平時(shí)工作中與審計(jì)人員所接觸到比較多的應(yīng)該是“灰盒”測試。那么為了保持本漫談的完整性,哥對這種“灰帽子”的滲透測試也和大家聊聊吧。借用我當(dāng)年高中老師們的那句口頭禪:“來,我們直接看重點(diǎn)!”
其中準(zhǔn)確性上容易失真的當(dāng)屬“社會(huì)工程學(xué)與安全意識(shí)”測試了。由于可能事先走漏風(fēng)聲、或是采集的“樣本”不夠豐富、亦或測試的時(shí)間不夠充沛,都可能產(chǎn)生企業(yè)員工安全意識(shí)強(qiáng)的假象。所以說技術(shù)只能幫你發(fā)現(xiàn)客觀存在的漏洞,意識(shí)則可以決定漏洞如何被利用。就算企業(yè)通過了此環(huán)節(jié)的測試,也只是一個(gè)短暫平衡態(tài),或根本就是一個(gè)“幸存者偏差”。因此相關(guān)培訓(xùn)和B輪、C輪測試必須成為一種常態(tài)。
最近很流行“下半場”的說法,那么廉哥接下來就繼續(xù)跟大家來聊滲透測試的下半場—測試報(bào)告吧。經(jīng)過了前面模擬攻擊者的行為測試,我們安全人員需要最終整理出一份測試報(bào)告。就像那個(gè)經(jīng)典的說法:“人們想買的不是一個(gè)鉆孔機(jī),而是想在墻上打一個(gè)孔”一樣,請記?。何覀儓?bào)告不能寫得太文藝、也不能寫得過于學(xué)術(shù)化,畢竟它只是一個(gè)說明企業(yè)安全態(tài)勢的工具。下面具體我們來看看每個(gè)章節(jié)應(yīng)該注意些什么吧。
報(bào)告對象
記得猶太文化里有個(gè)諺語就說過:世界上最難的有兩件事:一是把別人口袋里的錢拿到自己的口袋里,二是把自己腦袋里的東西塞到別人的腦袋里。這說明達(dá)到思想上的認(rèn)同絕非易事。如果您不知道該報(bào)告的受眾和其關(guān)注點(diǎn),那么從報(bào)告人自身的角度定義一個(gè)報(bào)告的脈絡(luò)or結(jié)構(gòu)是非常重要的。這樣才會(huì)讓讀者有“帶入感”并隨之產(chǎn)生共鳴。
當(dāng)然,根據(jù)我的經(jīng)驗(yàn),至少有兩種類型的人會(huì)閱讀我們的測試報(bào)告:管理層和IT技術(shù)人員。而實(shí)際上管理層是不愿通篇閱讀當(dāng)然也是讀不懂測試報(bào)告的。他們只想通過目測漏洞列表?xiàng)l目的數(shù)量和測試結(jié)論,來快速獲悉“我們現(xiàn)在到底安不安全?”而IT技術(shù)人員則對會(huì)各條漏洞分析尤為重視。他們時(shí)常懷揣著一顆“既覬覦系統(tǒng)在測試后并無重大漏洞;又希望漏洞程度與整改建議能全面且合理”的待嫁之心。所以我們要花時(shí)間搞清楚要報(bào)告的對象,并設(shè)身處地的從他們的角度來換位思考,做到言之有物、言之鑿鑿。能夠?qū)崿F(xiàn)“老總看了會(huì)沉默,IT看了會(huì)流淚”那就厲害了。
封面
對沒看錯(cuò),我們從封面講起,要注意什么呢?要標(biāo)明整個(gè)報(bào)告的“等級(jí)標(biāo)識(shí)”和“測試日期”這兩個(gè)重要元素。
目錄
記得小時(shí)候讀書的時(shí)候,語文老師就教育我們:“拿到一本新書的時(shí)候要先看目錄,以后長大了去圖書館查找書籍也要如此。”同理,目錄可以讓閱讀此報(bào)告的人對報(bào)告的整體架構(gòu)有個(gè)宏觀的認(rèn)識(shí),也可以快速跳躍的到其感興趣的章節(jié)和部分。
內(nèi)容摘要
怎么聽上去有寫論文的趕腳?對,只不過不同的是:一般論文在這里盡量體現(xiàn)其通篇最有技術(shù)含量的元素,以便更為方便的被檢索到。但咱們的報(bào)告摘要,則應(yīng)該盡量避免使用專業(yè)術(shù)語。因?yàn)檎嬲龝?huì)閱讀這部分的管理層金主(非技術(shù)類管理人員)可要比技術(shù)大??啥嗟枚嗯?。當(dāng)然該部分也可以方便被直接摘錄到PPT里,進(jìn)而在會(huì)議上分析與傳閱。其實(shí)全稱應(yīng)該叫做執(zhí)行摘要(Executive Summary),也就是匯總性的告知測試了什么、發(fā)現(xiàn)了什么、而且是由于什么所導(dǎo)致的。然后就是所發(fā)現(xiàn)的漏洞的一個(gè)從高到底列表。當(dāng)然,這里有個(gè)小貼士給大家:雖然測試報(bào)告命中注定是匯報(bào)IT系統(tǒng)和人員的“缺點(diǎn)”,但如果能在摘要中列舉出抗攻擊成功和安全措施到位的地方,則會(huì)在體現(xiàn)測試的客觀性和全面性的同時(shí),也能給報(bào)告對象帶有些許安慰或成就感。畢竟誰都不想看到自己的系統(tǒng)和員工是那么的一無是處。而在執(zhí)行摘要的最后應(yīng)該是一個(gè)結(jié)論,即明確指出是該系統(tǒng)是安全還是不安全。
上述這些都是報(bào)告開篇的重要部分,應(yīng)當(dāng)能夠脈絡(luò)清晰的呈現(xiàn)在一頁A4紙上,讓“讀者”一目了然的知道接下來要做什么。
測試流程
在E文里,這個(gè)部分有個(gè)美麗的名字叫做“Technical Storyline”。對,就是最近熱播劇《West Word》里,老戲骨們爭得頭破血流的storyline。我們可以畫出帶有各種條件判斷和步驟框圖的測試Flow Chart,它既可以體現(xiàn)咱們的專業(yè)水平,又能彰顯測試思維的縝密性。另外,我們還可以在必要時(shí)闡述一下涉及到評(píng)判標(biāo)準(zhǔn)之類的方法論,以增強(qiáng)邏輯性。
工具列表
這里主要包括版本和功能的簡要描述。其好處是:如果有人要重現(xiàn)您的測試,則他們可以籍此確切的找到您使用的工具,實(shí)現(xiàn)測試的可重復(fù)性。
報(bào)告主體
這一部分在整個(gè)報(bào)告中的技術(shù)成分含量最高,報(bào)告的正文應(yīng)當(dāng)包括所有檢測到的漏洞細(xì)節(jié)。即:如何發(fā)現(xiàn)到漏洞、漏洞可以如何利用、以及其被利用的可能性有多大。并且還應(yīng)該盡可能的逐條給出切實(shí)貼合的修復(fù)建議。在表述順序上可以有如下幾種“打開”方式:
· 以嚴(yán)重等級(jí):從高到低,例如:從SQL的注入漏洞一直羅列到源代碼中留存的,盡管被注釋掉的信息。
· 以網(wǎng)絡(luò)架構(gòu):從外到內(nèi),例如:可以參考我們前面各期漫談所遞進(jìn)介紹的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的順序哦。
· 以系統(tǒng)功能:從點(diǎn)散開,例如:將系統(tǒng)中所有涉及到偵聽、嗅探的各種測試都描述到位之后,再描述所有涉及密碼破解的測試結(jié)果。
哥本人喜歡用的方式是以填表的形式予以呈現(xiàn),比如在每個(gè)表格里都固定包含的表項(xiàng)信息有:漏洞名稱、等級(jí)程度、被利用的可能性、危害范圍和建議等。而且要善用rich formatting(即不同顏色、字體、字號(hào)和效果等),以達(dá)到醒目和易記憶的效果。當(dāng)然也可以通過軟件來自動(dòng)生成一些餅圖或柱狀圖,以體現(xiàn)各種占比。畢竟有圖有真相、圖文并茂,才更有說服力。
附錄
這里可以添加一些未盡之言的內(nèi)容。比如:一些測試原理與依據(jù)的支撐材料,參加測試人員的資歷和項(xiàng)目經(jīng)驗(yàn),以及一些必要的且包含有時(shí)間戳和系統(tǒng)特征信息的佐證截屏,甚至是一些術(shù)語說明列表等。
免責(zé)聲明
正如《阿甘正傳》里的那句:“生活就像一盒巧克力,你永遠(yuǎn)不知道下一顆是什么味道。”我們在愉快的提交了測試報(bào)告后,是無法知道它被用來做什么以及會(huì)給自己的工作帶來什么的。所以如果你是作為第三方involve到這個(gè)測試中的話,最好是在最后或是扉頁處撰寫一個(gè)免責(zé)聲明,必要時(shí)可以附上有高層簽署的該滲透測試同意書。
那天哥陪一個(gè)小小孩下四分之一的圍棋盤。孩子一開始就口中念叨著“金角銀邊草肚皮”那句口訣。這使我突然頓悟到:我們信息安全與下圍棋也有相通之處啊。系統(tǒng)的安全同樣也是從邊界防護(hù)開始著手的(曾記否?咱們漫談就是從邊界講起的哦。);而滲透測試則更像是我們平時(shí)“打棋譜”一樣,不斷通過模擬攻防、揣摩改進(jìn)以培養(yǎng)對整體系統(tǒng)安全的全局掌控能力。另外,與要把對方的攻擊性棋子消滅干凈并將死才為勝利的象棋不同,圍棋講求的是:無不同職能棋子的區(qū)分,雙方棋子尚在棋盤上的情況下,只要在數(shù)量上達(dá)到可預(yù)見的制衡,便可判定勝負(fù)。因此,對于各種攻擊,我們做信息安全的也無法完全阻止,更不存在一勞永逸之法;我們只能將“魔高一尺,道高一丈”動(dòng)態(tài)化且常態(tài)化。想著、想著我居然連輸了孩子兩盤……
【51CTO原創(chuàng)稿件,合作站點(diǎn)轉(zhuǎn)載請注明原文作者和出處為51CTO.com】