做一名安靜的Web滲透測試人員必備的8種素質(zhì)和技能
無疑,Web安全測試工程師或Web滲透測試工程師的任務(wù)就是審計(jì)公司的Web應(yīng)用程序、Web服務(wù)、Web服務(wù)器的安全性。那么,公司如何才能請到優(yōu)秀的Web應(yīng)用安全專家而不是紙上談兵的“趙括”?下面的這八項(xiàng)素質(zhì)或技能可以為公司選聘Web滲透測試人員提供參考:
1. Web滲透測試人員擁有一定的開發(fā)背景(知道如何編碼)
公司不可能聘用一位連編寫代碼都不懂人成為滲透測試人員。公司的Web滲透測試者應(yīng)首先是開發(fā)者,在此基礎(chǔ)上才考慮對Web漏洞掃描器的掌握技能,其好處有五個方面:
· 了解所開發(fā)WEB應(yīng)用的漏洞和缺陷;
· 知道如何保障應(yīng)用的安全,如何為其打補(bǔ)丁,如何測試;
· 可以使評估者開發(fā)自己的安全工具;
· 與那些沒有任何開發(fā)經(jīng)驗(yàn)的人員相比,如果培訓(xùn)得當(dāng),開發(fā)者更容易適應(yīng)測試Web應(yīng)用的任務(wù)。
· 能用簡單的腳本編寫驗(yàn)證代碼,能驗(yàn)證已發(fā)布漏洞的真實(shí)性。
如果Web滲透測試者甚至不知道如何用html編碼,或者以前也從沒有做過程序員的工作,公司敢請他從事靜態(tài)代碼的測試嗎?
2.了解開放式Web應(yīng)用程序安全項(xiàng)目(OWASP)
Web滲透測試工程師應(yīng)熟悉開放式Web應(yīng)用程序安全項(xiàng)目的TOP 10,即OWASP的最重要文檔,這是因?yàn)樗驖B透測試人員傳達(dá)了Web應(yīng)用程序的最重要的安全意識。
OWASP的TOP 10涉及一些最嚴(yán)重的Web應(yīng)用程序漏洞的細(xì)節(jié),其中包括SQL注入、失效的認(rèn)證和會話管理、跨站腳本攻擊、不安全的直接對象引用、安全性的錯誤配置、敏感數(shù)據(jù)的暴露、功能級訪問控制的缺失、使用有漏洞的組件、未經(jīng)驗(yàn)證的重定向和轉(zhuǎn)發(fā)。
如果滲透測試者能夠深入理解和評述OWASP的TOP 10,甚至能夠在其自己的實(shí)驗(yàn)室或機(jī)器上演示這些攻擊,他就足以勝任此工作。
除了上述項(xiàng)目,如果滲透測試者還熟悉由OWASP發(fā)起的一些項(xiàng)目,如Mutilidae,或者搭建了一個有安全問題的OWASP Web應(yīng)用項(xiàng)目,他就是一個有著攻擊Web應(yīng)用程序熱情的真正愛好者。
3.參與過漏洞獎金項(xiàng)目
什么是漏洞獎金項(xiàng)目?就是由某個公司發(fā)起的一個獎勵黑客的計(jì)劃:黑客必須能夠在公司提供的應(yīng)用程序中找到安全漏洞,并且通過一種可靠的揭露方式來報(bào)告此漏洞。
如果申請滲透測試工程師的人曾經(jīng)是一個漏洞獎金獵人(黑客),他就必然曾經(jīng)遇到和報(bào)告過除SQL注入、跨站腳本攻擊、RCE之外的非一般漏洞。這證明該黑客能夠在公司的應(yīng)用中找到一些重要漏洞。
如果申請者的名字曾經(jīng)出現(xiàn)在諸如谷歌、微軟、Twitter、Facebook等提供漏洞獎金項(xiàng)目的公司網(wǎng)站上,尤其是他曾經(jīng)因報(bào)告過火狐、IE、Chrome的漏洞而獲得過獎金,那么,該申請者就是一位杰出的滲透測試工程師。
4. 在Exploit-DB、Packet Storm或其它漏洞數(shù)據(jù)庫中發(fā)布過漏洞利用程序
漏洞利用程序的開發(fā)者、漏洞研究人員、漏洞獵人等往往都揭露過開源軟件和企業(yè)產(chǎn)品中的安全漏洞,尤其值得注意的是,如果這些人員曾經(jīng)獲得過CVE(通用漏洞與披露)的ID或OSVD(開源漏洞數(shù)據(jù)庫)的ID,那將是非常出色的申請者。
這些申請者能夠輕松地復(fù)制、修復(fù)、處理安全掃描器所發(fā)現(xiàn)的漏洞。由于這些人員還是精通安全的開發(fā)者,因而由他們?yōu)樘囟┒撮_發(fā)驗(yàn)證代碼是非常容易的。
這些申請者中的多數(shù)人還是熟練的逆向工程師和靜態(tài)代碼審計(jì)師,所以除非沒有受到激勵,否則,他們將是很出色的選擇。當(dāng)然,如果他們曾經(jīng)給Metasploit Framework貢獻(xiàn)過漏洞利用模塊和輔助模塊,更是錦上添花。
5.對安全的好奇心和熱情(或稱黑客思想)
公司不能雇傭那些只是理論上知道OWASP方法的人,也不應(yīng)通過其閱讀的安全文檔而雇傭某人。真正的Web滲透測試者還必須了解如何從外部來思考,并運(yùn)用或測試這種方法,例如,他可以搭建自己的安全試驗(yàn)室,從而可以練習(xí)所學(xué)習(xí)的方法,攻擊其自己的有漏洞的Web應(yīng)用。
優(yōu)秀的Web滲透測試工程師應(yīng)像黑客一樣思考,因?yàn)楹诳褪且环N充滿好奇且不斷創(chuàng)新的人。對企業(yè)來說,雇傭一個總是愿意和樂于學(xué)習(xí)的安全專家更好呢,還是雇傭一個擁有許多安全證書、在信息安全領(lǐng)域有了很多知識卻沒有將其所學(xué)應(yīng)用到實(shí)踐中的人更好呢?
必須承認(rèn),證書并不能造就黑客,成就黑客的是創(chuàng)新精神和激情,但這并不是說安全證書不值錢。
6.精通UNIX或GNU/Linux
雖然多數(shù)企業(yè)Web應(yīng)用程序的漏洞掃描器(如IBM的Security Appscan)都運(yùn)行在Windows上,但仍有許多免費(fèi)的開源的Linux工具可用于Web滲透測試和審計(jì)。
精通GNU/Linux和UNIX可以使?jié)B透測試人員比Windows用戶更占優(yōu)勢,因?yàn)榫↙inux的用戶可以更容易地使用Kali Linux和Backbox Linux等綁定了滲透測試工具的Linux發(fā)行版。如果申請滲透測試工作的人擁有Linux和UNIX背景,那么使用命令行工具就不是一個問題。
尤其值得注意的是,多數(shù)網(wǎng)站都由有著良好穩(wěn)定性和合理TCO(總擁有成本)的GNU/Linux的服務(wù)器管理。
7.安全證書仍是加分項(xiàng)
通過了某項(xiàng)安全認(rèn)證考試(如CEH、ECSA、CEH、CISSP)本身就是一種投資。用戶將時間投資于道德黑客和滲透測試。參加某種安全認(rèn)證考試的培訓(xùn)可以使用戶獲得、閱讀、學(xué)習(xí)、練習(xí)各種優(yōu)質(zhì)資源。
通過某項(xiàng)認(rèn)證并不能保證某人就已經(jīng)是一名黑客,卻是一個良好的開端和基礎(chǔ)。
在雇傭Web安全測試工程師時,通過安全認(rèn)證并不是必需的,因?yàn)閃eb安全滲透測試仍依賴于申請者的Web安全和安全測試技能。知識、技能、認(rèn)證三管齊下終歸是一種強(qiáng)大證明。
8.參加過安全大會或當(dāng)?shù)氐暮诳突顒?/strong>
花費(fèi)很多時間參加黑客大會(如DEFCON、黑帽、ROOTCON)可能證明申請成為Web滲透測試工程師的人員對安全和黑客文化的激情。黑客大會有很多話題和比賽,其中會向參與者透露很多信息和新的猛料。