從漏洞獵人視角看漏洞懸賞
漏洞懸賞是指對發(fā)現(xiàn)網(wǎng)絡(luò)安全隱患而進(jìn)行的獎勵機(jī)制,近年來以眾測的模式越來越流行。Oversecure的創(chuàng)始人Sergey Toshin就是當(dāng)他在一家網(wǎng)絡(luò)安全公司做兼職的時候,被自己當(dāng)時的同事建議去進(jìn)入這個領(lǐng)域的。Toshi表示,那時的同事們聲稱漏洞懸賞能每個月給他們的收入增加5,000美元——所以,他也去試了試。
剛開始的時候,他幾乎一無所獲?!拔?5%的漏洞懸賞報告都被退回了。”他回憶道。從個人角度而言,Toshin也因為自己在知名漏洞懸賞平臺HackerOne上的名氣不佳而信心遭到打擊。Toshin說:“我覺得我的性格是那種,當(dāng)我失敗的時候,我會覺得自己一事無成。但是或許一周或者兩周以后,我又會想‘不行,我可以停止用那種想法’!”在他看來,他之后的公路旅行為他漏洞懸賞的成功帶來幫助,因為他轉(zhuǎn)運(yùn)了:他的報告一個接一個地被認(rèn)可了?!白罡叩穆┒磻屹p獎勵有3,000美元?!彼貞浀溃拔夷昧撕脦讉€那樣的懸賞。當(dāng)然,我旅行也不錯。”
直到谷歌在2019年進(jìn)一步擴(kuò)展了自己漏洞懸賞的清單,Toshin才最終成為了一名全職漏洞獵人?!澳翘焓窍奶?,我在酒吧。”他如是回憶。在他去室外抽煙的時候,Toshin掃了一眼谷歌的新聞:“我那時就想‘我要發(fā)了’。”他是對的。僅僅在谷歌的漏洞懸賞計劃中,Toshin就賺了有90萬美元——讓他足夠在不需要種子資金的情況下創(chuàng)立自己的公司。
像Toshin這樣的故事在越來越多。之前只是網(wǎng)絡(luò)安全的一個小領(lǐng)域,但現(xiàn)在漏洞懸賞卻在爆炸式增長。大大小小的組織都試圖將他們代碼中的漏洞給找出來?!艾F(xiàn)在,即使那些小公司都在運(yùn)作自己的漏洞懸賞項目?!盩oshi說到,“現(xiàn)在有更多的地方能找到漏洞?!痹贖ackerOne最近的一份研究中發(fā)現(xiàn),自從2018年以來,通過漏洞懸賞賺錢的漏洞獵人數(shù)量增加了143%。
許多的黑客最終確實賺到了很多錢。但是,現(xiàn)實來看,這非常困難且風(fēng)險很大——不僅僅是對漏洞獵人,同樣也是對進(jìn)行懸賞的公司。像HackerOne和Bugcrowd這類進(jìn)行漏洞懸賞的中間人平臺,多少游離在道德與法律的灰色地帶;而對那些進(jìn)行懸賞的軟件供應(yīng)商的而言,遲遲不支付賞金以及賞金太低就有激怒漏洞獵人的風(fēng)險。
漏洞懸賞的起源
自從有了軟件,漏洞就存在了——在1947年,哈佛大學(xué)的研究人員發(fā)現(xiàn)了導(dǎo)致他們新的超級電腦的短路元兇——一只死掉的蛾子。從那時起,遍歷代碼以發(fā)現(xiàn)脆弱性,就成了程序員工作的一部分。不過,把這個工作以懸賞的形式交給外部人員的想法,直到1983年才出現(xiàn)。那個時候,軟件公司Hunter & Ready以一輛大眾甲殼蟲為獎品,獎給任何能找到他們操作系統(tǒng)中漏洞的人。
但是,直到十年后,這個理念才隨著Mozilla的Security Bug Bounty Program進(jìn)入主流視野。在Mozilla的安全工程主任Lucas Adamski看來,外包滲透測試的邏輯很簡單。“任何一個安全系統(tǒng)的強(qiáng)度,在我看來,只是取決于有多少聰明、主動的人在這上面花了多少時間的一個函數(shù)結(jié)果而已。”他表示,“僅此而已,和究竟是誰寫了這個程序并沒有關(guān)系。”
漏洞獵人Justin Gardner認(rèn)為,漏洞懸賞也是一個成本效益問題:“我認(rèn)為,對企業(yè)來說,ROI非常高。”有時候,一個策劃完整的漏洞懸賞項目可能會發(fā)現(xiàn)一個災(zāi)難級的漏洞。他提到在一次案例中,他和另一名黑客Sam Curry一起,成功攻陷了一個有1億條記錄的星巴克客戶數(shù)據(jù)庫。他表示,如果那個脆弱點被惡意攻擊者發(fā)現(xiàn),就可能對星巴克造成數(shù)百萬美元的損失。
Gardner自己的漏洞懸賞之路比較曲折,從他遇到知名黑客Tommy,或者又稱“dawgyg”,開始。像Toshin一樣,Gardner在轉(zhuǎn)成全職漏洞獵人前,花了數(shù)年在穩(wěn)定的編程工作中。他很快發(fā)現(xiàn)從一個賺零花錢的副業(yè)轉(zhuǎn)成全職需要極大的專注力。
“有兩個主要階段?!盙ardner解釋道,“第一個階段需要獲取滲透測試的相關(guān)專業(yè)技術(shù),可以通過教程或者文章學(xué)習(xí)。然后,需要一些必要的程序進(jìn)行漏洞狩獵,第二個階段就是接受現(xiàn)實:要找到漏洞往往需要花費(fèi)很長的時間。而作為一名黑客,你可能一直在失敗,因為其他人的工作就是阻止你做你想要做的事。”
漏洞獵人的職業(yè)風(fēng)險
這種高失敗的比例,以及懸賞項目質(zhì)量層次不齊的情況,意味著大部分漏洞獵人還是兼職的,但是就算是這些黑客,在Clément Domingo看來,也要當(dāng)心一些問題。在他在法國和進(jìn)行漏洞狩獵的時候,Domingo就知道一些漏洞獵人太投入了以至于“他們都忘記去見自己的朋友和家庭”。
有些人在這種熬夜工作的生活方式夾縫求生。對Gardner自己而言,他認(rèn)為由于工作的自由性以及收入的可觀性,這些都是值得的。尤其對他而言,他通過漏洞懸賞付清了自己的學(xué)生貸款,并且和自己的妻子移居到了日本。但是,他也承認(rèn),要做到這些并不簡單。他也看到了許多漏洞獵人最終選擇了放棄,并且回到了正常的朝九晚五的生活中。還有一些人,他們的自我認(rèn)可度嚴(yán)重降低,感覺自己一無是處。
對于漏洞獵人而言,工作和生活的平衡只是一部分。那些想要成為漏洞獵人的人還需要一些基礎(chǔ)的行為準(zhǔn)則:最直接的一點,按時間要求向正式的懸賞項目匯報漏洞。任何其他的問題都可能會跨過道德紅線——比如,有些個人會直接聯(lián)系公司,宣稱他們發(fā)現(xiàn)了一個嚴(yán)重漏洞,并要求付錢。
Gardener表示,大部分這種被稱為“求討賞金(beg bounties)”的例子可以被安全地?zé)o視。不僅因為未經(jīng)授權(quán)的滲透測試是違法的,更因為很多時候這些人只是“試圖通過報告低危甚至沒有影響的漏洞來斂財”。
相對的,那些不期望賞金卻報告了真正嚴(yán)重漏洞的人應(yīng)該得到公平的對待,而非當(dāng)做犯罪份子。Gardner和Domingo都提到了密蘇里州的一個案例。該案例中,一個人因展示網(wǎng)站如何會顯示教師憑證過程中,無意間泄露了他們的社保號碼,而被威脅起訴。Gardner評價:“這種情況,讓人感到難過。”
運(yùn)營漏洞懸賞項目的風(fēng)險
如果運(yùn)營漏洞懸賞的公司執(zhí)行能力不足,同樣也會面臨風(fēng)險。嚴(yán)重漏洞的獎勵能夠高達(dá)上萬美元,但是對于大部分全職漏洞獵人的衣食所系卻是中低危漏洞,一般金額在幾百到過千不等。這種價位結(jié)構(gòu)能夠成立的前提,是對漏洞的快速鑒別,以及內(nèi)部IT部門的快速支付。Domingo表示,這種關(guān)系是基于雙向尊重的?!斑@些都是一個好的項目的關(guān)鍵。”他說,“這樣就會刺激你去挖掘更多的漏洞,因為你知道那些人關(guān)注你在做的事情?!?/p>
那些運(yùn)營得很差的項目——在Gardner和Domingo看來,是絕大部分項目,會給主辦的公司帶來額外的風(fēng)險。延遲付款、低賞金、以及糟糕的溝通,都會讓黑客們將發(fā)現(xiàn)的漏洞賣給更高的出價者?!叭藗兏杏X被侮辱,然后就泄露內(nèi)容?這是你總是得面對的事情?!盙ardner表示,“黑客這個群體,有些時候會有點情緒化?!?/p>
Gardner對概率運(yùn)營一個新漏洞懸賞項目公司有一個很簡單的建議:“對那些試圖修復(fù)你系統(tǒng)的人,試著別當(dāng)一個混蛋?!辈贿^,他也承認(rèn),這些事情說起來簡單做起來難:“IT部門往往會應(yīng)接不暇?!彪m然說他也看到過許多黑客通過第三方傳遞漏洞的案例,但是總是“會有一些方式進(jìn)行越級,向企業(yè)直接報告”。
自動化能力的矛盾
并不是每個人都相信漏洞懸賞能夠有效保障代碼的安全性?!皩浖?yīng)商而言,將消除他們軟件中漏洞的責(zé)任轉(zhuǎn)移給漏洞獵人相當(dāng)便利。這些漏洞獵人相比專門維持安全的人員而言,人員成本更低。”本?古里安大學(xué)網(wǎng)絡(luò)安全研究部門的首席創(chuàng)新官Oleg Brodt提到——某種程度來看,對那些購買這類軟件的公司是個相當(dāng)危險的觀點。
Gardener對此觀點表示懷疑,因為大部分公司不會買那些只花幾千美元在漏洞懸賞上的軟件。同樣,他也不認(rèn)為,某些黑客用自動化漏洞檢測工具這一趨勢會讓專業(yè)的漏洞狩獵職業(yè)走到盡頭?!坝胁簧俑叱某绦騿T和黑客在這項嘆為觀止的工作?!彼硎?,他引用了Eric Head(更多以“todayisnew”為人所知)為例,“他每個月都在HackerOne的排名榜前列,已經(jīng)持續(xù)了數(shù)年……他所做的一切都是基于外部攻擊面監(jiān)測和自動化。”但是,Gardner認(rèn)為,相比使用的工具,漏洞狩獵的成功還是基于人類的創(chuàng)造力。
即使對于那些缺乏這些能力的漏洞獵人,Gardner認(rèn)為新的機(jī)會處處可見,從社交巨頭的AI問題到加密貨幣的智能合約:“幾乎以太坊上所有的東西都是開源的。所以攻擊者很容易就能進(jìn)去閱覽代碼,然后發(fā)現(xiàn)漏洞。”
但是,對于Toshi而言,最有吸引力的領(lǐng)域還是在移動應(yīng)用。在他看來,這一領(lǐng)域相比網(wǎng)站,更容易進(jìn)行反編譯。在2020年,Toshin用他在漏洞懸賞中獲得的資金成立了Oversecured,一個提供在iOS和安卓應(yīng)用中進(jìn)行自動化漏洞掃描服務(wù)的創(chuàng)業(yè)公司?!艾F(xiàn)在,我們有一些歐洲銀行和多個網(wǎng)絡(luò)安全咨詢公司作為客戶?!彼f道。
運(yùn)營Oversecured的需要意味著Toshin現(xiàn)在已經(jīng)很大程度上放棄漏洞懸賞,但這不代表他對這個職業(yè)有了新的奇怪思考。當(dāng)Oversecured成立的時候,Toshin將每次掃描定價在10美元,因為他認(rèn)為這樣能抓住批量化搜索漏洞的市場。“但沒有人用?!彼f道。Toshin之后將價格提升到了250美元,然后銷售量猛增。對此,他表示,很有可能人們并不相信掃描器的市場推廣材料;在漏洞懸賞的荒野,“他們更相信價格”。
給漏洞獵人的三個建議
而針對漏洞懸賞存在的風(fēng)險,White Oak Security的安全人員Brett DeWall則對漏洞懸賞總結(jié)了三個問題與建議:
(1) 交流
當(dāng)公司的滲透測試人員試著去發(fā)現(xiàn)漏洞的時候,缺乏溝通機(jī)制就會成為“浪費(fèi)時間的流程”。如果組織沒有一個完善建立的漏洞懸賞項目,研究人員就會發(fā)現(xiàn)自己需要從LinkedIn到其他社交網(wǎng)絡(luò)去跨頻道發(fā)現(xiàn)電子郵件信箱和銷售頻道。
如果一個廠商在他們的網(wǎng)站上沒有正規(guī)的漏洞發(fā)布指南,開啟相關(guān)溝通就會變得更加困難。
“現(xiàn)在,公司依然不怎么愿意看到他們自己產(chǎn)品或者解決方案的安全新聞?!盌eWalls說到,“大部分的溝通最終都沒有了下文。這對一個試圖用最合適方式傳遞敏感信息的研究人員來說非常受挫。最大的感想可能就是一直嘗試。”
(2) 影響范圍
“范圍之內(nèi)”與“不在范圍之內(nèi)”的漏洞也是披露流程的常見問題。舉個例子,組織可能會考慮遠(yuǎn)程代碼執(zhí)行漏洞,但是不考慮任何其他嚴(yán)重性在其之下的漏洞——除非這些漏洞的利用率或者現(xiàn)實影響很大——比如導(dǎo)致服務(wù)器不安全、SSRF攻擊、不安全的直接對象引用(IDOR)漏洞等。
DeWall說White Oak已經(jīng)碰到了多個例子,當(dāng)SSRF/IDOR漏洞不在范圍之內(nèi),因此漏洞的提交并未被采納。這可能是有許多原因,比如審查人員數(shù)量太少,無法驗證報告以及需要花大量時間處理漏洞。
DeWall評論道:“組織可能沒有足夠的預(yù)算支付賞金,或者雇傭足夠多的員工進(jìn)行驗證工作。如果一個高風(fēng)險的漏洞被發(fā)現(xiàn)了,但是又‘不在范圍之內(nèi)’,那它是否還能被利用呢?我會強(qiáng)烈敦促那些有漏洞懸賞項目的組,接受對任何‘不在范圍之內(nèi)’的漏洞提交(或者至少提供一個聯(lián)系表格)?!?/p>
(3) 認(rèn)可
根據(jù)DeWall的觀點,漏洞披露“最大”的挫折之一在于無法從漏洞上報中獲得任何榮譽(yù)。
研究人員希望他們的工作被認(rèn)可,也可能會想要將他們的發(fā)現(xiàn)列表作為自己的資歷之中;但是另一面來看,組織卻不想讓公眾知道他們自己產(chǎn)品的安全問題。
如果組織想要鼓勵研究人員繼續(xù)花時間改善他們的產(chǎn)品,最好能有一個“名人墻”——不需要將具體的技術(shù)或者漏洞問題呈現(xiàn)。這對研究人員而言也是一種比較公平的慰藉。
“漏洞懸賞或者安全研究現(xiàn)在已經(jīng)存在了,而且短時間內(nèi)都不會停下——也可能永遠(yuǎn)都不會結(jié)束?!盌eWall表示,“然而,我們處理漏洞懸賞的方式是可以改變的,研究人員和組織必須一起合作?!?/p>
點評
系統(tǒng)的安全性僅靠企業(yè)自身的安全人員去挖掘維護(hù)顯然是不現(xiàn)實的:對大部分企業(yè)而言,是無法承擔(dān)安全研究人員高昂的人員成本的。漏洞懸賞作為一種類似“安全外包”的方式,能給企業(yè)節(jié)省大量的成本,同時取得不錯的安全效益。但是,漏洞懸賞同樣處在法律的邊緣,稍不注意就可能引發(fā)違法的風(fēng)險。無論對于白帽子,還是漏洞懸賞平臺,都需要盡力規(guī)避這些潛在的風(fēng)險,同時提供優(yōu)質(zhì)的漏洞挖掘服務(wù);同時,對于企業(yè)以及監(jiān)管機(jī)構(gòu),如何平和地看待漏洞的挖掘與披露,也是這個領(lǐng)域能否健康成長的重要因素。