洪興宇 閆麗麗 孫一航 顧家樂 曾虹婷
成都信息工程大學 網絡空間安全學院 四川 成都 610225
近年來,網絡安全問題日益突出,這對安全人才提出了廣泛而迫切的需求[1]。CTF比賽是安全人才培養方式的一種重要探索,CTF比賽起源于美國,覆蓋網絡安全、系統安全和密碼學等領域,涉及協議分析、軟件逆向、漏洞挖掘與利用、密碼分析等知識點。目前,國內高水平的網絡安全賽事普遍以CTF形式存在。然而傳統的競賽平臺仍存在許多如競賽結果難以溯源,提交內容被篡改、抄襲行為等問題。因此,本文提出一種基于區塊鏈的CTF平臺,利用區塊鏈的可溯源、不可篡改等特性來進一步增強CTF競賽的公平公正真實,打擊篡改、作弊等有失競賽精神的行為。
本文基于區塊鏈技術搭建一個公平、公正的CTF平臺。基于區塊鏈網絡的特性,系統應滿足以下要求:①信息可溯源性:將主要的答題信息提取摘要值等相關信息以區塊的形式封裝打包,區塊之間以鏈式的方式相互連接,每個區塊有各自的頭部標識,可通過此結構進行溯源。②信息防篡改性:在增加答題分數之前,應當提交的答題信息進行篡改驗證,驗證方式為對比摘要值。③傳輸保密性:在信息傳輸過程中需要使用加密的方式對數據進行保護。
系統分為四種節點,即普通節點、題目節點、檢驗節點、計分節點。各節點分工明確,通過區塊鏈網絡進行數據交互。
①普通節點。即參與比賽的選手答題的節點,主要負責向題目節點獲取題目、生成答題信息、對答題信息進行摘要提取、區塊打包等工作。②題目節點。本節點主要負責生成包含動態flag的題目和相應題目信息。③檢驗節點。本節點主要負責利用收到的答題信息以及區塊鏈上的信息進行得分校驗,并統計得分情況。④計分節點。本節點主要負責統計檢驗節點的加分信息,進行實時的加分統計并形成臨時排行榜。比賽結束也將自動生成最終排行榜以及其他榜單信息。
(1)區塊結構。每個區塊由區塊有和區塊體兩部分構成。其中,區塊頭封裝了當前區塊標記、前一區塊的哈希值、當前區塊的生成時間戳、隨機數、當前區塊哈希值,區塊體包含了答題信息的摘要值。
(2)整體工作流程。本平臺工作流程如圖1。具體步驟如下:①首先普通節點即選手的答題節點通過web客戶端向題目節點發送題目請求。②題目節點收到請求后將生成帶有動態flag的題目發給普通節點。③題目節點同時會生成一段信息包括題目名稱、答題人、時間、flag并打包發送給檢驗節點存儲下來。④當選手完成題目并提交之后,普通節點將自動生成一段答題信息包括題目名稱、flag、答題時間、分數等信息,通過摘要算法對其提取摘要打包到區塊鏈上并獲取相應區塊的ID。⑤普通節點將這段答題信息加上區塊ID再發往檢驗節點。⑥在收到來自普通節點的消息后,檢驗節點將通過區塊ID從區塊鏈中提取到相應題目的摘要值并對收到的答題信息進行摘要提取。⑦檢驗節點將二者比較,若摘要值不同,則判定答題信息被篡改,若摘要值相同,則用答題信息里的動態flag與從題目節點里的flag進行比較,若flag比較相同,則說明得分有效,發信息給計分節點進行加分,并保留答題記錄,記錄包含內容有答題人、答題時間,提交的flag等信息。若檢驗節點收到第二次相同題目的信息后,則將在摘要比較之后進行答題記錄遍歷,歷史flag對比。若發現有一樣的flag,則判定作弊行為。否則發信息給計分節點進行加分。⑧最后,計分節點對收到的加分信息進行對應加分,并進行臨時排名。當比賽結束時,生成最終排名并公布。

圖1 工作流程圖
本文在針對當前主流CTF競賽平臺存在的部分問題。利用了區塊鏈的不可否認性、可溯源性等性質,結合傳統的CTF平臺模式設計了一種更加公平公正真實的競賽模式,當出現篡改或者抄襲問題時都可以通過區塊鏈進行溯源追責。本文所述模式能夠有效減少抄襲,篡改等不符合競賽精神的行為,提高網絡安全競賽氛圍。但在具體篡改檢測方法上,還需要做進一步的探索工作。