劉軒宇, 杜小江, 伏 曉
(1.南京大學(xué) 計(jì)算機(jī)軟件新技術(shù)國(guó)家重點(diǎn)實(shí)驗(yàn)室, 江蘇 南京 210093; 2.天普大學(xué) 計(jì)算機(jī)與信息科學(xué)系,美國(guó) 費(fèi)城 19122)
隨著數(shù)字科技的高速發(fā)展,現(xiàn)代社會(huì)的平穩(wěn)運(yùn)行越來(lái)越離不開(kāi)各種各樣的信息技術(shù),如通信網(wǎng)絡(luò)、操作系統(tǒng)、移動(dòng)應(yīng)用、智能設(shè)備、物聯(lián)網(wǎng)以及云計(jì)算等.這些先進(jìn)的信息技術(shù)提高了社會(huì)的運(yùn)行和生產(chǎn)效率,改變了人們的生活方式,促進(jìn)了文化的交流和經(jīng)濟(jì)的發(fā)展.但是,信息技術(shù)在給社會(huì)帶來(lái)諸多便利的同時(shí),也不可避免地帶來(lái)了很多安全問(wèn)題.各種針對(duì)信息技術(shù)的攻擊層出不窮,侵害了個(gè)人的權(quán)利和利益,也給社會(huì)帶來(lái)了經(jīng)濟(jì)上的損失.要保證信息技術(shù)的發(fā)展可以正向地促進(jìn)社會(huì)的進(jìn)步,就需要保證信息技術(shù)的可信性和可靠性,也需要保護(hù)信息技術(shù)使用者的安全性和隱私性[1].
在信息安全研究領(lǐng)域,國(guó)內(nèi)外的研究者們已經(jīng)提出了很多種方法和機(jī)制,如入侵檢測(cè)、訪問(wèn)控制、數(shù)據(jù)加密、異常檢測(cè)和數(shù)字取證等.對(duì)于不同的技術(shù)、系統(tǒng)、設(shè)備、用戶或者平臺(tái),往往已經(jīng)有大量針對(duì)性的安全保護(hù)方法被開(kāi)發(fā)和應(yīng)用.然而,由于信息技術(shù)在不斷地更新,信息系統(tǒng)的復(fù)雜度越來(lái)越高,類型和數(shù)量越來(lái)越多,規(guī)模也越來(lái)越大.與此同時(shí),智能設(shè)備的數(shù)量和類型爆炸式增長(zhǎng),人們的日常生活也更加依賴這些智能設(shè)備,信息技術(shù)滲透進(jìn)了社會(huì)的每一個(gè)角落.這些因素導(dǎo)致了在進(jìn)行安全保護(hù)時(shí),所要應(yīng)對(duì)的場(chǎng)景變得越來(lái)越復(fù)雜,而這些復(fù)雜的場(chǎng)景又反過(guò)來(lái)提出了更高的安全訴求.不幸的是,當(dāng)下的信息安全技術(shù)并沒(méi)有能夠很快地跟上信息技術(shù)的快速發(fā)展[2-5].技術(shù)的快速發(fā)展和場(chǎng)景的復(fù)雜化對(duì)安全從業(yè)者的技術(shù)能力和知識(shí)儲(chǔ)備提出了更高的要求,他們可能需要對(duì)不同的技術(shù)都有所了解,并能夠掌握如何在不同的場(chǎng)景中設(shè)計(jì)安全方案或者使用安全工具的能力,這無(wú)形中帶來(lái)了高昂的學(xué)習(xí)成本.此外,面對(duì)越來(lái)越復(fù)雜的攻擊場(chǎng)景,已有的安全分析工具和安全增強(qiáng)方案由于只能作用于其中的某一個(gè)部分而不能洞悉全局,往往達(dá)不到很好的效果.所以,現(xiàn)在很多安全場(chǎng)景并不是使用單一或者幾個(gè)工具就足夠的,可能需要將很多個(gè)安全工具以一定的方式結(jié)合在一起,進(jìn)行綜合性分析[6].
此外,隨著信息安全和隱私保護(hù)的概念深入人心,除了安全相關(guān)從業(yè)人員之外,政府、組織、企業(yè)甚至普通用戶也會(huì)有相關(guān)安全需求,例如想要了解已有設(shè)備的安全性,想要知曉計(jì)算機(jī)系統(tǒng)是否運(yùn)行正常,想要知道智能家居系統(tǒng)是否可靠,想要確定自己的信息是否在社交網(wǎng)絡(luò)中被泄露和惡意傳播等.然而,安全工具往往對(duì)使用者有較高的技術(shù)要求和知識(shí)門(mén)檻,對(duì)于沒(méi)有任何相關(guān)知識(shí)或者說(shuō)只有一些基礎(chǔ)理論知識(shí)的普通用戶來(lái)說(shuō),他們?cè)谑褂没竟ぞ攉@得其設(shè)備上的一些數(shù)據(jù)后,無(wú)法做出更進(jìn)一步的分析,得到更深層次、更詳細(xì)、更準(zhǔn)確的結(jié)果.他們可能需要其他專業(yè)人員的幫助和指引.甚至對(duì)于一些專業(yè)安全從業(yè)人員,當(dāng)面對(duì)的安全任務(wù)超出其自身能力范圍時(shí),例如遇到不熟悉的系統(tǒng)、設(shè)備和場(chǎng)景,也需要查詢相關(guān)的知識(shí)或者尋求其他取證人員的幫助.
現(xiàn)如今,很多復(fù)雜的工作都是以流水線的方式分工合作完成的,工人只需要完成自己負(fù)責(zé)的那一部分工作,并提交工作成果[7-8].同理,在信息安全任務(wù)中,也可以指派多個(gè)專業(yè)人員來(lái)合作完成目標(biāo)場(chǎng)景下的安全任務(wù),每個(gè)人只負(fù)責(zé)完成自己擅長(zhǎng)的部分.不同技術(shù)和知識(shí)領(lǐng)域的專家之間的合作可以顯著降低復(fù)雜場(chǎng)景中執(zhí)行安全防御任務(wù)的難度,安全從業(yè)人員的學(xué)習(xí)成本也會(huì)降低.因此,可以預(yù)見(jiàn),未來(lái)將會(huì)有更多的研究關(guān)注這種多方參與合作式的安全方案.這種形式類似于眾包這種成熟的分布式問(wèn)題解決方案,可以整合大量的人力和知識(shí),從而可以作為很多超出當(dāng)下計(jì)算機(jī)解決范圍方案的替代解決方案[9].近些年,一些研究者已經(jīng)嘗試將眾包引入到信息安全研究當(dāng)中[10-12].本文將探討眾包在信息安全領(lǐng)域的研究現(xiàn)狀,并提出未來(lái)的一些方向.
眾包(Crowdsourcing)是指將通常由個(gè)人或者組織的內(nèi)部員工完成的任務(wù)以公開(kāi)征招的形式外包給外部群體來(lái)執(zhí)行[13].與外包類似,眾包也有兩大利益相關(guān)者,即任務(wù)請(qǐng)求者(或者任務(wù)發(fā)布者)和任務(wù)執(zhí)行者(有時(shí)候也稱為工作者、工人).任務(wù)請(qǐng)求者是提供要執(zhí)行任務(wù)的個(gè)人或組織,而任務(wù)執(zhí)行者負(fù)責(zé)執(zhí)行分配到的任務(wù),是外部群體中的一員.任務(wù)請(qǐng)求者將任務(wù)劃分為許多小型或者微型任務(wù),并將這些任務(wù)分配給任務(wù)執(zhí)行者去執(zhí)行.這些外包任務(wù)的執(zhí)行結(jié)果會(huì)被收集并匯總,生成最終結(jié)果,從而完成整個(gè)外包任務(wù).任務(wù)的執(zhí)行結(jié)果通常是由任務(wù)請(qǐng)求者進(jìn)行評(píng)估的,并且基于任務(wù)的執(zhí)行質(zhì)量,任務(wù)請(qǐng)求者可能會(huì)向任務(wù)執(zhí)行者發(fā)放相應(yīng)的獎(jiǎng)勵(lì).當(dāng)前存在著一些成熟的眾包平臺(tái),知名的有Amazon Mechanical Turk、 Crowdflower、 Top coder、 Innocentive以及Wikipedia等.其中,Amazon Mechanical Turk(AMT)是最受歡迎的平臺(tái)之一.在AMT中,任務(wù)將會(huì)發(fā)布在市場(chǎng)中,而工人則可以挑選并執(zhí)行任務(wù).任務(wù)發(fā)布者會(huì)預(yù)先設(shè)定支付給任務(wù)執(zhí)行者報(bào)酬的類型和數(shù)量,比如金錢(qián)、證書(shū)或者名聲.該平臺(tái)的主要功能是為任務(wù)設(shè)計(jì)、任務(wù)發(fā)布、工人的招聘和管理、獎(jiǎng)勵(lì)的管理和發(fā)放等功能提供必要的工具.
由于任務(wù)發(fā)布和分配的相對(duì)開(kāi)放性,以及工人群體的特征未知性和不確定性,如何確保眾包任務(wù)的整體質(zhì)量面臨著許多挑戰(zhàn)[14].例如,任務(wù)的執(zhí)行質(zhì)量取決于任務(wù)執(zhí)行者的技能、意愿和積極性,還取決于請(qǐng)求者提供的任務(wù)描述的清晰程度和提供給工人的報(bào)酬的豐厚程度.任務(wù)的整體執(zhí)行效率也和任務(wù)的分配機(jī)制相關(guān).文獻(xiàn)[15]確定了在此背景下質(zhì)量控制需要考慮的質(zhì)量維度和屬性,包括數(shù)據(jù)質(zhì)量(例如,數(shù)據(jù)準(zhǔn)確性)、任務(wù)質(zhì)量(例如,任務(wù)復(fù)雜性)和人員質(zhì)量(例如,工人的技能).
一些研究者已經(jīng)嘗試將安全任務(wù)外包,從而帶來(lái)大量用戶反饋來(lái)幫助評(píng)估系統(tǒng)和軟件的可靠性,并制定相應(yīng)的安全策略.例如,文獻(xiàn)[16]通過(guò)獲取用戶對(duì)移動(dòng)應(yīng)用程序的評(píng)論來(lái)生成一個(gè)分?jǐn)?shù)用于評(píng)估其安全性,類似地,文獻(xiàn)[17]提出依據(jù)用戶在網(wǎng)站上的體驗(yàn)報(bào)告來(lái)對(duì)網(wǎng)頁(yè)的可信性進(jìn)行評(píng)級(jí).文獻(xiàn)[18]使用機(jī)器學(xué)習(xí)方法和眾包機(jī)制來(lái)評(píng)估應(yīng)用程序的行為,并確定它是否正在訪問(wèn)未經(jīng)授權(quán)的資源.此外,眾包還被用于驗(yàn)證試圖竊取信息的垃圾郵件或釣魚(yú)鏈接.
對(duì)沒(méi)有經(jīng)驗(yàn)的用戶來(lái)說(shuō),如何保護(hù)他們的設(shè)備是一項(xiàng)困難的任務(wù).該任務(wù)可以外包給有經(jīng)驗(yàn)的用戶來(lái)完成,由他們分享自己的建議來(lái)幫助沒(méi)有經(jīng)驗(yàn)的用戶進(jìn)行安全配置.例如,文獻(xiàn)[19]利用社區(qū)來(lái)評(píng)估應(yīng)用程序的各種安全配置,并確定應(yīng)用程序的最佳安全配置,力圖在隱私和可用性之間實(shí)現(xiàn)平衡.在同樣的背景下,一些移動(dòng)應(yīng)用程序依賴眾包來(lái)獲取推薦配置,以保護(hù)用戶隱私不被泄露[20].個(gè)人、平臺(tái)和社區(qū)之間可以通過(guò)共享最佳安全建議、配置和實(shí)踐來(lái)加強(qiáng)整個(gè)計(jì)算機(jī)生態(tài)系統(tǒng)的安全性.
另一項(xiàng)常見(jiàn)的可以結(jié)合眾包的安全任務(wù),是發(fā)現(xiàn)和共享威脅信息,例如攻擊者的特征及其攻擊模式、惡意軟件特征、攻擊場(chǎng)景類型或者系統(tǒng)漏洞特征等.這些威脅信息有助于個(gè)人、企業(yè)和組織及時(shí)發(fā)現(xiàn)和理解各類攻擊和漏洞,特別是剛出現(xiàn)的威脅,從而執(zhí)行相應(yīng)的應(yīng)對(duì)措施來(lái)防止它們的發(fā)生,或者盡可能降低影響范圍.例如,文獻(xiàn)[21]就提出了一個(gè)威脅信息共享平臺(tái).文獻(xiàn)[22]則探討了共享威脅信息時(shí)在數(shù)據(jù)質(zhì)量方面的問(wèn)題和挑戰(zhàn),其研究發(fā)現(xiàn),來(lái)自不同來(lái)源的共享信息的復(fù)雜性是影響質(zhì)量的主要因素.依靠人群來(lái)提供發(fā)現(xiàn)和共享威脅信息可以最小化一些攻擊場(chǎng)景被忽略的可能性[23].
在信息安全領(lǐng)域引入眾包機(jī)制通常需要明確以下關(guān)鍵概念.
(1)任務(wù)請(qǐng)求者:任務(wù)請(qǐng)求者可以是個(gè)人、公共機(jī)構(gòu)、企業(yè)或者組織等.他們有安全相關(guān)的目標(biāo)和需求,也負(fù)責(zé)發(fā)起任務(wù)眾包請(qǐng)求.任務(wù)請(qǐng)求者可以自己管理和維護(hù)眾包任務(wù),也可以將其外包給專業(yè)的眾包管理平臺(tái).任務(wù)請(qǐng)求者負(fù)責(zé)任務(wù)結(jié)果的驗(yàn)證,并給出最終的結(jié)果(接受或者拒絕).任務(wù)請(qǐng)求者還負(fù)責(zé)確定獎(jiǎng)勵(lì)策略并提供報(bào)酬.此外,他們還會(huì)根據(jù)接受的結(jié)果,對(duì)安全問(wèn)題采取相應(yīng)的補(bǔ)救措施.
在風(fēng)機(jī)正常運(yùn)行時(shí),井下風(fēng)流通過(guò)東翼風(fēng)井到達(dá)地面風(fēng)硐,通過(guò)岔口進(jìn)入一號(hào)風(fēng)機(jī)(在用),然后通過(guò)擴(kuò)散器和擴(kuò)散塔排到大氣中。在風(fēng)機(jī)進(jìn)行性能測(cè)試時(shí),立閘板門(mén)將二號(hào)風(fēng)機(jī)(測(cè)試)與風(fēng)井和一號(hào)風(fēng)機(jī)隔離開(kāi)來(lái),保證礦井正常通風(fēng)。風(fēng)流由水平天窗進(jìn)入被測(cè)風(fēng)機(jī)風(fēng)硐,然后通過(guò)一級(jí)電動(dòng)機(jī)及二級(jí)電動(dòng)機(jī)后由擴(kuò)散塔排到大氣中。
(2)安全目標(biāo)和安全需求:安全目標(biāo)指的是眾包任務(wù)是為誰(shuí)而設(shè)立的,可以是任何類型的信息系統(tǒng),例如桌面應(yīng)用系統(tǒng)、移動(dòng)應(yīng)用系統(tǒng)、網(wǎng)絡(luò)應(yīng)用系統(tǒng)、云計(jì)算架構(gòu)、數(shù)據(jù)庫(kù)或者物聯(lián)網(wǎng)系統(tǒng)等.安全需求指的是眾包任務(wù)是為了解決什么問(wèn)題,通常是為了對(duì)信息系統(tǒng)進(jìn)行安全性分析從而能夠采取相應(yīng)的安全性增強(qiáng)措施,包括漏洞發(fā)現(xiàn)、攻擊防御、異常檢測(cè)以及數(shù)字取證等.
(3)任務(wù):任務(wù)指的是要外包給工人來(lái)執(zhí)行的工作內(nèi)容.任務(wù)的形式可以是多樣的,會(huì)根據(jù)具體的安全目標(biāo)和安全需求而變化.任務(wù)的要求也是多樣的,例如,可以限定任務(wù)完成時(shí)間或者對(duì)任務(wù)執(zhí)行者的選擇提出要求.在復(fù)雜場(chǎng)景中的信息安全任務(wù)是復(fù)合的,會(huì)涉及到不同的元素,如系統(tǒng)、設(shè)備、技術(shù)和數(shù)據(jù)類型等,也就需要針對(duì)不同的元素使用對(duì)應(yīng)的分析技術(shù).復(fù)合任務(wù)可以拆分為若干獨(dú)立的單元任務(wù),計(jì)算量大的任務(wù)也可以拆分為很多計(jì)算量小的任務(wù).以合理的標(biāo)準(zhǔn)將復(fù)雜的任務(wù)進(jìn)行拆分將會(huì)極大地減小任務(wù)的整體難度,簡(jiǎn)化任務(wù)流程并提高處理效率,也便于任務(wù)執(zhí)行者執(zhí)行任務(wù).這些拆分后的任務(wù)再通過(guò)一定的機(jī)制分配給他人來(lái)執(zhí)行,而這些任務(wù)執(zhí)行者擁有可以執(zhí)行該任務(wù)的能力和意愿.
(4)任務(wù)描述:任務(wù)描述一般是由任務(wù)請(qǐng)求者提供的,描述了任務(wù)的內(nèi)容、目標(biāo)和需求,也可能會(huì)包含了一些可選的上下文信息,用來(lái)幫助任務(wù)執(zhí)行者更好地理解和執(zhí)行任務(wù).任務(wù)執(zhí)行者也會(huì)根據(jù)任務(wù)的描述來(lái)判斷任務(wù)是否適合自己.因此,精簡(jiǎn)但清晰的任務(wù)描述是必不可少的.
(5)安全專家?guī)欤喊踩珜<沂悄軌虺袚?dān)并執(zhí)行信息安全領(lǐng)域眾包任務(wù)的備選人群,等同于眾包機(jī)制中的候選工人群體.安全專家通常有不同的背景,可能包括研究人員、學(xué)生、愛(ài)好者和企業(yè)員工等.信息安全方面的任務(wù)具有較高的知識(shí)和能力門(mén)檻,對(duì)任務(wù)的完成質(zhì)量和結(jié)果正確性提出了很高的要求,這就需要任務(wù)執(zhí)行者擁有特定的領(lǐng)域知識(shí)儲(chǔ)備和操作經(jīng)驗(yàn),導(dǎo)致了沒(méi)有一定專業(yè)背景或者未受過(guò)專業(yè)培訓(xùn)的非信息安全從業(yè)人員很難快速參與進(jìn)來(lái).此外,即使是專業(yè)的安全從業(yè)人員,在面對(duì)復(fù)雜的或者未知的場(chǎng)景時(shí),也會(huì)面臨諸多挑戰(zhàn).由于安全從業(yè)人員不可能學(xué)會(huì)所有的安全知識(shí),知曉所有的攻擊和場(chǎng)景,熟悉所有的軟硬件,超過(guò)其能力范疇的任務(wù)需要借助外部的資源,即其他的安全專家和知識(shí).安全專家?guī)斓拇嬖诰褪菫榱藢?shí)現(xiàn)這種外部資源的借助機(jī)制.通過(guò)對(duì)安全專家進(jìn)行篩選,提供一份任務(wù)執(zhí)行者的備選名單,有助于將任務(wù)分配給合適的執(zhí)行者.
(6)眾包管理平臺(tái):眾包管理平臺(tái)可以幫助減輕任務(wù)請(qǐng)求者的任務(wù)管理負(fù)擔(dān).眾包管理平臺(tái)負(fù)責(zé)維持整個(gè)眾包系統(tǒng)的正常運(yùn)行,同時(shí)也負(fù)責(zé)管理和發(fā)布眾包任務(wù).此外,平臺(tái)往往還會(huì)負(fù)責(zé)維護(hù)一個(gè)安全專家人員池,負(fù)責(zé)任務(wù)執(zhí)行者的篩選、維護(hù)名聲系統(tǒng)和支付獎(jiǎng)勵(lì)等.任務(wù)結(jié)果的收集也是由眾包管理平臺(tái)來(lái)負(fù)責(zé).眾包管理平臺(tái)的管理通常包含任務(wù)拆分機(jī)制、任務(wù)分配和調(diào)度機(jī)制、任務(wù)追蹤機(jī)制,以及任務(wù)驗(yàn)證機(jī)制等.
(7)任務(wù)結(jié)果報(bào)告:執(zhí)行任務(wù)的安全專家在任務(wù)完成后必須向眾包管理平臺(tái)提交報(bào)告.該報(bào)告包含了詳細(xì)的任務(wù)結(jié)果,例如安全隱患和漏洞的細(xì)節(jié)、嚴(yán)重性和風(fēng)險(xiǎn),攻擊者利用漏洞的步驟,攻擊的存在形式以及它可能對(duì)系統(tǒng)產(chǎn)生的影響,數(shù)字取證的結(jié)論等.安全任務(wù)報(bào)告的質(zhì)量將會(huì)決定整個(gè)任務(wù)的完成質(zhì)量和結(jié)論是否可靠.翔實(shí)的安全任務(wù)報(bào)告還能幫助任務(wù)發(fā)布者及時(shí)發(fā)現(xiàn)安全問(wèn)題,并制定相應(yīng)的策略來(lái)避免潛在的危害.
(8)激勵(lì):獎(jiǎng)勵(lì)的存在可以極大地激發(fā)安全專家的參與熱情以及提高其積極性.獎(jiǎng)勵(lì)可以是金錢(qián)、名聲和證書(shū)等多種形式.獎(jiǎng)勵(lì)的程度通常取決于任務(wù)的難度和完成質(zhì)量.好的激勵(lì)機(jī)制要保證公平性和平衡性,能夠起到提高任務(wù)完成質(zhì)量的正向作用,同時(shí)要避免任務(wù)執(zhí)行者惡意賺取獎(jiǎng)勵(lì)的行為.
(9)安全性:作為一項(xiàng)服務(wù)于信息安全的方案,整個(gè)眾包方案自身的安全性也要得到保證,要能夠穩(wěn)定地運(yùn)行,能夠防范常見(jiàn)的攻擊,如DDoS攻擊和系統(tǒng)入侵等.此外,數(shù)據(jù)是整個(gè)方案能夠運(yùn)行的核心,包含了任務(wù)信息和執(zhí)行結(jié)果的數(shù)據(jù)會(huì)在任務(wù)發(fā)布者和執(zhí)行者之間進(jìn)行傳輸,更需要關(guān)注數(shù)據(jù)方面的安全.為了保證數(shù)據(jù)正確性,避免數(shù)據(jù)傳輸過(guò)程中的丟失、監(jiān)聽(tīng)和篡改,在任務(wù)發(fā)布者和任務(wù)執(zhí)行者之間需要建立安全可信的數(shù)據(jù)傳輸信道.此外,傳輸給執(zhí)行者的數(shù)據(jù)本身可能會(huì)攜帶敏感信息,例如設(shè)備的運(yùn)行狀態(tài)、系統(tǒng)的架構(gòu)和用戶的操作記錄等,這些信息也有可能會(huì)泄露用戶隱私或者被不懷好意的攻擊者利用,作為攻擊的入口.任務(wù)信息也可能會(huì)包含敏感信息,如揭示任務(wù)發(fā)布者的身份或者整體任務(wù)的內(nèi)容.任務(wù)發(fā)布者或者任務(wù)執(zhí)行者都希望自己的身份信息或相關(guān)隱私信息不會(huì)因?yàn)槿蝿?wù)的原因被發(fā)現(xiàn).所以,對(duì)于數(shù)據(jù)、任務(wù)信息和參與者信息等都需要采取隱私保護(hù)措施.同時(shí),還需要確保任務(wù)執(zhí)行者彼此間是透明和未知的,以避免共謀攻擊.任務(wù)執(zhí)行者只能知曉自己的任務(wù),訪問(wèn)到對(duì)應(yīng)的數(shù)據(jù),而不能得到其他任務(wù)執(zhí)行者的信息.另外,一些數(shù)據(jù)或者信息可能會(huì)牽扯到多個(gè)利益相關(guān)者,建立完備的訪問(wèn)控制策略來(lái)對(duì)任務(wù)發(fā)布者和任務(wù)執(zhí)行者的各項(xiàng)權(quán)限進(jìn)行限制也是必不可少的.
根據(jù)任務(wù)發(fā)布者和任務(wù)執(zhí)行者之間的關(guān)系,信息安全領(lǐng)域的眾包模型可以有如下三種模式.
(1)直接模式:在直接模型中,任務(wù)發(fā)布者和執(zhí)行者直接進(jìn)行通訊,不需要通過(guò)額外的第三方服務(wù).發(fā)布任務(wù)的個(gè)人、組織或者企業(yè)等完全負(fù)責(zé)眾包系統(tǒng)的管理.任務(wù)的生成和分配、結(jié)果的收集、獎(jiǎng)勵(lì)的發(fā)放等都需要任務(wù)發(fā)布者來(lái)負(fù)責(zé),安全專家也需要自己去選擇和指定.個(gè)人、組織或者企業(yè)可以公開(kāi)征求安全專家的幫助,也可以與特定的專家簽署勞務(wù)關(guān)系或者咨詢關(guān)系.
(2)平臺(tái)管理模式:在平臺(tái)管理模式中,存在一個(gè)第三方管理平臺(tái)作為任務(wù)發(fā)布者和執(zhí)行者之間的中間商.個(gè)人、組織或者企業(yè)等通過(guò)管理平臺(tái)發(fā)布任務(wù),平臺(tái)負(fù)責(zé)任務(wù)的管理、調(diào)度和收集以及執(zhí)行者的指派.安全專家?guī)煲彩怯善脚_(tái)來(lái)負(fù)責(zé)維護(hù),且由平臺(tái)負(fù)責(zé)獎(jiǎng)勵(lì)的發(fā)放.總的來(lái)說(shuō),個(gè)人、組織或者企業(yè)等只需要向平臺(tái)提出眾包請(qǐng)求并發(fā)布其任務(wù),剩下的事情都由平臺(tái)來(lái)負(fù)責(zé).值得一提的是,不同的平臺(tái)會(huì)提供不同的項(xiàng)目管理服務(wù),一些平臺(tái)甚至還提供其他定制化服務(wù),比如驗(yàn)證漏洞或?yàn)榘l(fā)現(xiàn)的漏洞提供解決方案.使用此模型的平臺(tái)的一個(gè)例子是Bugcrowd,創(chuàng)建于2012年,目前維持著一個(gè)大約有25 000名安全專家的社區(qū).它根據(jù)業(yè)績(jī)、解決問(wèn)題的數(shù)量等指標(biāo)來(lái)給安全專家排序,還能以此判斷提交報(bào)告的質(zhì)量和發(fā)現(xiàn)漏洞的嚴(yán)重性.管理平臺(tái)的存在可以減輕任務(wù)發(fā)布者的負(fù)擔(dān),提供了一種統(tǒng)一化的解決方案.
(3)競(jìng)賽模式:在競(jìng)賽模式中,任務(wù)請(qǐng)求者將要外包的任務(wù)以競(jìng)賽的形式發(fā)布,并對(duì)任務(wù)的完成質(zhì)量提出要求(例如限定完成的時(shí)間).競(jìng)賽的組織者將會(huì)負(fù)責(zé)評(píng)估參賽結(jié)果的正確性、有效性和速度等決定比賽的獲勝者,并提供獎(jiǎng)勵(lì).這種競(jìng)賽的形式既可以激發(fā)參與者的熱情,也可以提高任務(wù)完成的質(zhì)量.
眾包平臺(tái)的架構(gòu)設(shè)計(jì)通常有兩種形式:中心化架構(gòu)和分布式的架構(gòu).
(1)中心化架構(gòu):在傳統(tǒng)的眾包系統(tǒng)架構(gòu)中,存在一個(gè)中心節(jié)點(diǎn)負(fù)責(zé)眾包機(jī)制的運(yùn)行,例如一個(gè)第三方的服務(wù)器.但是這種中心化的架構(gòu)會(huì)不可避免地帶來(lái)一些問(wèn)題和挑戰(zhàn).該中心節(jié)點(diǎn)容易成為被攻擊的目標(biāo),如DDoS和遠(yuǎn)程劫持等,也容易成為單一故障點(diǎn).此外,信息的存儲(chǔ)也會(huì)成為問(wèn)題,用戶信息和任務(wù)數(shù)據(jù)等容易因?yàn)閱吸c(diǎn)故障而泄露或者丟失.中心化架構(gòu)的優(yōu)勢(shì)是容易實(shí)現(xiàn)且便于維護(hù)和管理,但是需要做好安全性和可靠性的保障.
(2)分布式架構(gòu):考慮到中心化架構(gòu)存在的潛在問(wèn)題,很多研究者尋求使用分布式解決方案,并確保能夠保證可靠性、公平性和可信性.區(qū)塊鏈技術(shù)是很多分布式方案選擇的技術(shù),引入?yún)^(qū)塊鏈技術(shù)甚至可以允許用戶不使用真實(shí)身份進(jìn)行注冊(cè),并且可以使用分布式的加密存儲(chǔ)來(lái)保存各種數(shù)據(jù),從而保證了隱私[24-25].因?yàn)椴灰蕾嚨谌?,也可以減少大量的服務(wù)成本和維護(hù)費(fèi)用.文獻(xiàn)[26]將智能合約引入眾包架構(gòu),合約將會(huì)貫穿眾包機(jī)制的全過(guò)程,包括任務(wù)發(fā)布、任務(wù)接收及獎(jiǎng)勵(lì)分配等.為了描述復(fù)雜的眾包邏輯,提高眾包的靈活性,將會(huì)設(shè)計(jì)圖靈完備的編程語(yǔ)言.三種標(biāo)準(zhǔn)的智能合約被引入:用戶注冊(cè)合約、任務(wù)發(fā)布合約、發(fā)布者-執(zhí)行者關(guān)系合約,通過(guò)這三種契約,可以不依賴任何機(jī)構(gòu)或中心化服務(wù)來(lái)發(fā)布和接收任務(wù).此外,與傳統(tǒng)系統(tǒng)相比,其最有用的特點(diǎn)在于可以借助智能合約而不是主觀的第三方來(lái)評(píng)估要完成的任務(wù).任務(wù)的發(fā)布者和執(zhí)行者通過(guò)特定的客戶端參與進(jìn)來(lái),整個(gè)過(guò)程如下:首先,任務(wù)發(fā)布者和執(zhí)行者使用客戶端注冊(cè).用戶的信息被寫(xiě)入到一個(gè)事務(wù)中,然后發(fā)送給區(qū)塊鏈,同時(shí)為每個(gè)注冊(cè)用戶分配一個(gè)公鑰對(duì).任何更新可以看作是需要確認(rèn)的交易,也就是說(shuō)數(shù)據(jù)和狀態(tài)被永久地記錄在區(qū)塊鏈上.接著,由請(qǐng)求者發(fā)布任務(wù).請(qǐng)求者可以提前支付給任務(wù)執(zhí)行者“報(bào)酬”,并將“報(bào)酬”存入?yún)^(qū)塊鏈.同時(shí),任務(wù)分配程序會(huì)為執(zhí)行者設(shè)置一個(gè)規(guī)則,以確保合格的執(zhí)行者最終能夠接收到任務(wù).此外,還需要一個(gè)評(píng)估函數(shù)來(lái)評(píng)估解決方案.注冊(cè)的任務(wù)執(zhí)行者通過(guò)客戶端進(jìn)行交互來(lái)接收任務(wù),而信譽(yù)值或者名聲等機(jī)制將被引入以確保任務(wù)的完成質(zhì)量.執(zhí)行者需要在最后期限前完成任務(wù)并生成解決方案.執(zhí)行者使用其公鑰對(duì)待提交的解決方案進(jìn)行加密后,將解決方案提交到分布式存儲(chǔ)中,與此同時(shí),相應(yīng)的Hash值和指針也會(huì)被存儲(chǔ)在區(qū)塊鏈上.請(qǐng)求者可以通過(guò)指針找到解決方案,并用他的私鑰解密它們.最后一步涉及到方案收集、獎(jiǎng)勵(lì)分配和任務(wù)評(píng)估.執(zhí)行者或發(fā)布者可以通過(guò)向區(qū)塊鏈發(fā)布一個(gè)事務(wù)來(lái)主動(dòng)完成此步驟.獎(jiǎng)勵(lì)是根據(jù)考核結(jié)果自動(dòng)分配給執(zhí)行者的,考核結(jié)果決定了執(zhí)行者能獲得多少獎(jiǎng)勵(lì),并與執(zhí)行者的努力程度有關(guān).努力和良好的表現(xiàn)會(huì)得到更多的回報(bào),提高聲譽(yù).和中心化架構(gòu)相比,分布式架構(gòu)的實(shí)現(xiàn)更具有挑戰(zhàn)性,也提出了更高的要求.分布式架構(gòu)需要處理好多節(jié)點(diǎn)之間的通信和節(jié)點(diǎn)可信性等問(wèn)題.
總體來(lái)說(shuō),中心化架構(gòu)和分布式架構(gòu)各有其優(yōu)勢(shì)和適用范圍.信息安全領(lǐng)域的眾包系統(tǒng)應(yīng)該根據(jù)需求、場(chǎng)景和預(yù)算等靈活選擇架構(gòu)形式,兩種架構(gòu)形式甚至可以互為補(bǔ)充.
根據(jù)已有的研究現(xiàn)狀和上述的分析,本文在此列出了一些有待解決的問(wèn)題和挑戰(zhàn),并提出了相應(yīng)的研究方向.
(1)安全專家?guī)斓慕ⅲ喊踩珜<規(guī)斓拇嬖谔峁┝巳蝿?wù)執(zhí)行者的備選清單.這些任務(wù)執(zhí)行者擁有不同的知識(shí)背景,掌握不同的安全技能,可以承擔(dān)不同的安全任務(wù).建立和維護(hù)該專家?guī)?,首先需要能夠建立身份系統(tǒng),標(biāo)注基本信息,提供身份驗(yàn)證等功能.其次,要能夠確定每個(gè)專家的知識(shí)、技能和偏好,這樣便于專家搜索以及匹配最合適的任務(wù)執(zhí)行者.最后,為了保證專家的參與熱情和積極性,相關(guān)的激勵(lì)機(jī)制也是必不可少的.此外,還要考慮專家的添加、更新和刪除等基本數(shù)據(jù)庫(kù)維護(hù)功能,以及專家搜尋和匹配等基本數(shù)據(jù)庫(kù)查詢功能.此外,如何建立安全專家的檔案也是值得研究的方向.安全專家的能力、積極性、完成任務(wù)的質(zhì)量等信息可以幫助判斷該安全專家是否適合執(zhí)行任務(wù),也可以幫助生成任務(wù)分配的策略和算法.
(2)合理的架構(gòu)和運(yùn)行機(jī)制:整個(gè)系統(tǒng)的高效運(yùn)轉(zhuǎn)離不開(kāi)合理的架構(gòu)和運(yùn)行機(jī)制.架構(gòu)的選擇需要根據(jù)具體的場(chǎng)景和需求.未來(lái)的研究還需要進(jìn)一步解決中心化架構(gòu)和分布式架構(gòu)中存在的問(wèn)題,保障架構(gòu)的穩(wěn)定性.同時(shí)任務(wù)的分配、調(diào)度和整合等機(jī)制也需要更加高效的算法和實(shí)現(xiàn).
(3)任務(wù)的劃分和封裝:由于安全任務(wù)的特殊性、復(fù)雜性和高要求,其劃分和封裝不能照搬已有的眾包機(jī)制中的方法.任務(wù)目標(biāo)需要明確定義,包括其總體目標(biāo)和子目標(biāo)以及任務(wù)劃分粒度.任務(wù)也需要有特定的封裝格式,便于任務(wù)的管理和調(diào)度,也便于任務(wù)執(zhí)行者的理解.
(4)任務(wù)描述格式和質(zhì)量提升:任務(wù)的描述必須清晰明白,從而有利于安全專家的配對(duì)和任務(wù)的順利執(zhí)行.如何能夠根據(jù)不同的任務(wù)類型和場(chǎng)景,高效生成描述是值得研究的方向.此外,還可以在已知任務(wù)描述的情況下,使用分類器來(lái)檢測(cè)和跟蹤,哪些任務(wù)描述能吸引合適的安全專家,哪些不適合,可以結(jié)合文本分析和機(jī)器學(xué)習(xí)算法等技術(shù).
(5)任務(wù)結(jié)果和報(bào)告的評(píng)估機(jī)制:通常任務(wù)結(jié)果的質(zhì)量是指提供的結(jié)果滿足任務(wù)要求的程度.它可以是主觀的也可以是客觀的.如何定義滿足程度,如何合理評(píng)估任務(wù)結(jié)果有待解決,也決定了任務(wù)最終結(jié)論的質(zhì)量.此外,任務(wù)的結(jié)果報(bào)告也十分關(guān)鍵.由于每個(gè)任務(wù)執(zhí)行者的背景和動(dòng)機(jī)都是不同且未知的,他們提交報(bào)告的質(zhì)量也會(huì)不同.此外,表達(dá)形式不好的報(bào)告將花費(fèi)任務(wù)發(fā)布者更多的時(shí)間和精力來(lái)識(shí)別和理解,錯(cuò)誤的報(bào)告也會(huì)影響最終的結(jié)論.所以,一個(gè)有效的任務(wù)結(jié)果和報(bào)告評(píng)估機(jī)制是必不可少的.這種機(jī)制應(yīng)該盡量是自動(dòng)化的,例如可以使用自然語(yǔ)言處理的技術(shù)來(lái)輔助檢測(cè),并可以提供警告或在任務(wù)執(zhí)行者提交報(bào)告前提出改善報(bào)告質(zhì)量的建議.
(6)更公平的激勵(lì)機(jī)制:激勵(lì)機(jī)制的存在是為了鼓勵(lì)安全專家的參與,確保任務(wù)的質(zhì)量.激勵(lì)機(jī)制需要保證公平性,要能夠按照真實(shí)的貢獻(xiàn)程度向任務(wù)執(zhí)行者發(fā)放對(duì)等的獎(jiǎng)勵(lì).同時(shí)該機(jī)制的存在要能夠給不積極的或者惡意的任務(wù)執(zhí)行者一定的懲罰或者損失.一些執(zhí)行者可能會(huì)想盡辦法騙取報(bào)酬.激勵(lì)機(jī)制要能夠發(fā)現(xiàn)并避免這種行為.
(7)安全性和隱私保護(hù):當(dāng)將任務(wù)分配給其他人來(lái)做的時(shí)候,不可避免地要建立信道傳輸任務(wù)信息和待處理的數(shù)據(jù).考慮到安全性和隱私性,這個(gè)信道應(yīng)該是可信的一對(duì)一加密信道.任務(wù)執(zhí)行者執(zhí)行任務(wù)不一定必須是實(shí)時(shí)的,也可以是非實(shí)時(shí)的,所以該通訊信道應(yīng)該是能夠支持異步通信的.數(shù)據(jù)的存儲(chǔ)也是需要考慮的問(wèn)題,要保證收集到的數(shù)據(jù)不會(huì)丟失、不會(huì)被篡改,能夠很方便的存取,要保證任務(wù)的中間結(jié)果被正確的保存.已有的在加密通信信道和安全增強(qiáng)數(shù)據(jù)庫(kù)方面的研究和技術(shù)可以幫助實(shí)現(xiàn)這一點(diǎn).除了數(shù)據(jù)傳輸和存儲(chǔ)的安全,數(shù)據(jù)隱私保護(hù)也是要考慮的.由于數(shù)據(jù)本身會(huì)包含一些敏感信息,數(shù)據(jù)需要進(jìn)行脫敏化和匿名化的處理,或者進(jìn)行語(yǔ)義級(jí)別的提升,盡可能隱藏敏感信息,但是又不丟失包含的語(yǔ)義,不影響正常的功能.在任務(wù)分配和執(zhí)行的過(guò)程中,需要保護(hù)任務(wù)發(fā)布者和執(zhí)行者的隱私性,要避免任務(wù)發(fā)布信息、結(jié)果信息和任務(wù)分配機(jī)制等造成任務(wù)發(fā)布者和執(zhí)行者以及任務(wù)自身無(wú)關(guān)的信息被泄露.
(8)知識(shí)產(chǎn)權(quán)保護(hù):一些任務(wù)的內(nèi)容可能會(huì)涉及到代碼或者文件等知識(shí)產(chǎn)權(quán)的內(nèi)容.例如代碼分析任務(wù)可以泄露源代碼.為了保護(hù)知識(shí)產(chǎn)權(quán),需要研究任務(wù)分解技術(shù),盡可能避免提供完整代碼或者文件,也就是說(shuō),只提供最少但必須的數(shù)據(jù),可以為不同類型的數(shù)據(jù)提供不同的任務(wù)封裝機(jī)制,也可以制定相關(guān)條款來(lái)約束任務(wù)執(zhí)行者.
(9)政策和法律:任務(wù)的外包是否符合對(duì)應(yīng)國(guó)家的政策和法律是需要考慮的問(wèn)題.任務(wù)在外包前需要確定其能否被外包,任務(wù)的內(nèi)容是否有限制,執(zhí)行任務(wù)的安全專家群體有沒(méi)有限制.此外,由于安全專家可能處于世界各地,他們執(zhí)行外包任務(wù)時(shí)需要考慮當(dāng)?shù)氐恼吆头ㄒ?guī).
本文總結(jié)了眾包機(jī)制在信息安全領(lǐng)域的應(yīng)用現(xiàn)狀,分析了在信息安全領(lǐng)域結(jié)合眾包機(jī)制的關(guān)鍵因素、模式和架構(gòu),并提出了未來(lái)的發(fā)展方向.眾包在信息安全領(lǐng)域的應(yīng)用已經(jīng)有了一些初步的研究進(jìn)展,也幫助解決了一些復(fù)雜的問(wèn)題,這表明眾包在信息安全領(lǐng)域有著廣泛的應(yīng)用前景.未來(lái)隨著更多有價(jià)值研究的出現(xiàn),眾包也將會(huì)和信息安全技術(shù)結(jié)合得更加緊密,從而促進(jìn)信息安全領(lǐng)域的快速發(fā)展.