• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于異構(gòu)計(jì)算集群的密碼口令破解系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

      2019-01-17 02:15:20張冬芳管磊戴曉苗楊亞星
      網(wǎng)絡(luò)空間安全 2019年6期
      關(guān)鍵詞:明文口令密碼

      張冬芳 管磊 戴曉苗 楊亞星

      摘? ?要:針對(duì)當(dāng)前密碼口令破解功能單一、破解算法種類不足、效率低下等技術(shù)問題,從基于GPU的多策略散列算法并行計(jì)算技術(shù)、基于ASIC的復(fù)雜密碼破解技術(shù)和基于異構(gòu)計(jì)算集群的多種計(jì)算資源調(diào)度技術(shù)三個(gè)方面展開研究,在此基礎(chǔ)上構(gòu)建多手段密碼口令破解服務(wù)平臺(tái),實(shí)現(xiàn)密碼破解的大復(fù)雜度運(yùn)算和高速破解。

      關(guān)鍵詞:密碼破解;異構(gòu)集群

      中圖分類號(hào):TP393.0? ? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A

      Abstract: Aiming at the technical problems of single password cracking function, insufficient types of cracking algorithms and low efficiency, this paper studies the parallel computing technology of GPU-based multi-strategy hash algorithm, ASIC-based complex password cracking technology and heterogeneous computing cluster-based multi-computing resource scheduling technology. And based on this studies, A design idea is proposed on Constructing a multi-means password cracking service platform to achieve large complexity and high-speed password cracking operation.

      Key words: password cracking; heterogeneous cluster

      1 引言

      互聯(lián)網(wǎng)的飛速發(fā)展帶動(dòng)了計(jì)算機(jī)犯罪的發(fā)展,尤其是近幾年網(wǎng)絡(luò)的高速發(fā)展,利用計(jì)算機(jī)和網(wǎng)絡(luò)進(jìn)行計(jì)算機(jī)犯罪的問題越來越嚴(yán)重,在打擊網(wǎng)絡(luò)犯罪的過程中,為了獲得偵察線索、提取電子證據(jù),經(jīng)常需要通過技術(shù)手段破解重點(diǎn)對(duì)象的各種登錄密碼或文件密碼。此外,間諜組織、敵對(duì)分子以及國(guó)家安全危害分子,在傳遞、存儲(chǔ)信息時(shí)一般都會(huì)采用各種加密技術(shù),而加密算法的多樣性使信息解密處理變得更為復(fù)雜,導(dǎo)致加密信息的破解難度大大增加,進(jìn)而導(dǎo)致通過網(wǎng)絡(luò)攻防手段辛苦獲取的情報(bào)信息失去利用價(jià)值,功虧一簣。因此,密碼口令破解技術(shù)研究成為網(wǎng)絡(luò)空間安全的重要研究課題。

      密碼口令破解現(xiàn)有技術(shù)普遍存在功能單一、破譯密碼種類較少的缺點(diǎn),并且在算法實(shí)現(xiàn)上通常采用暴力破解的方式,效率低下且破解效果不理想,因此密碼口令破解工作迫切需要高性能、大規(guī)模的科學(xué)計(jì)算,需要異構(gòu)的多種計(jì)算資源共同完成計(jì)算問題。基于此,本文以GPU和ASIC為基礎(chǔ),利用GPU的高靈活性,結(jié)合ASIC的高性能,通過異構(gòu)計(jì)算集群調(diào)度技術(shù),構(gòu)建多手段密碼口令破解在線服務(wù)系統(tǒng),解決當(dāng)前密碼破解成功率低、支持破解算法少、破解時(shí)間長(zhǎng)等難題。

      2 國(guó)內(nèi)外現(xiàn)狀

      目前,國(guó)際上可用于常見信息系統(tǒng)口令破解的成熟技術(shù)主要分為兩類:基于純軟件的破解技術(shù)和基于FPGA技術(shù)開發(fā)的硬件破解系統(tǒng)。純軟件系統(tǒng)主要有美國(guó)Access Data公司的Password Recovery Tool Kit (PRTK)和Distributed Network Attack (DNA)軟件,俄羅斯Elcom Soft公司的Distributed Password Recovery軟件。這些軟件具有三個(gè)共同的弱點(diǎn):(1)受限于主機(jī)性能,運(yùn)算速度慢;(2)破譯能力較弱,實(shí)戰(zhàn)性能較差;(3)無法滿足高復(fù)雜度的密碼口令破譯。

      基于FPGA技術(shù)的硬件破解系統(tǒng)主要有Tableau公司的TACC1441硬件加速器和ICS公司的Cobra硬件加速器。相對(duì)于純軟件系統(tǒng),這些產(chǎn)品的性能有較大提高,但考慮到網(wǎng)絡(luò)密碼破譯所必需的巨大運(yùn)算量,以上產(chǎn)品仍然難以達(dá)到實(shí)戰(zhàn)要求,并且價(jià)格昂貴,大規(guī)模集成成本過高,商業(yè)化推廣價(jià)值有限。

      另外,現(xiàn)有技術(shù)普遍存在著功能單一、支持密碼種類較少的缺點(diǎn),并且在算法實(shí)現(xiàn)上通常采用暴力破解的方式,效率低下,造成了密碼破解工作投入較大財(cái)力,卻難以取得理想的應(yīng)用效果。

      3 方案設(shè)計(jì)

      口令破解問題的最大困難在于口令的搜索空間非常龐大,對(duì)計(jì)算的能力要求很高。由于口令破解中每個(gè)計(jì)算任務(wù)之間基本上沒有相關(guān)性,通信開銷小,也基本上對(duì)I/O沒有太大要求,因此非常適合于GPU和ASIC等大規(guī)模數(shù)據(jù)并行執(zhí)行部件實(shí)現(xiàn),為口令破解提供了重要的計(jì)算能力保障。

      系統(tǒng)以中小規(guī)模GPU破解機(jī)集群和ASIC破解機(jī)集群為硬件平臺(tái),構(gòu)建基于B/S架構(gòu)網(wǎng)站系統(tǒng)、并行計(jì)算平臺(tái)(DCR)、oclhashcat口令破解軟件為一體的高效口令破解系統(tǒng)。實(shí)現(xiàn)對(duì)單機(jī)口令破解軟件oclhashcat的多機(jī)并行化計(jì)算,使用基于真實(shí)口令集合自動(dòng)學(xué)習(xí)的掩碼攻擊和碾壓攻擊等兩種破解策略,實(shí)現(xiàn)對(duì)多種算法的高效破解。系統(tǒng)的整體架構(gòu)如圖1所示。

      多手段密碼口令在線服務(wù)平臺(tái)包括硬件設(shè)備和軟件系統(tǒng),其中硬件設(shè)備包括GPU破解機(jī)集群、ASIC破譯機(jī)集群;軟件系統(tǒng)包括基于GPU的散列算法并行計(jì)算子系統(tǒng)、基于ASIC的復(fù)雜密碼破解子系統(tǒng)以及基于異構(gòu)計(jì)算集群的多資源調(diào)度子系統(tǒng)。

      3.1 基于GPU的散列算法并行計(jì)算子系統(tǒng)

      在分析研究常見散列算法特點(diǎn)基礎(chǔ)上,開展基于GPU的散列算法開發(fā)流程,設(shè)計(jì)并實(shí)現(xiàn)基于GPU體系結(jié)構(gòu)的模塊化散列算法庫;利用GPU上SM資源動(dòng)態(tài)劃分、存儲(chǔ)器訪問優(yōu)化、指令流優(yōu)化等優(yōu)化技術(shù),研究典型散列算法并行計(jì)算關(guān)鍵技術(shù),設(shè)計(jì)并實(shí)現(xiàn)基于GPU的散列算法并行計(jì)算平臺(tái)模型。

      3.2 基于ASIC的復(fù)雜密碼破解子系統(tǒng)

      針對(duì)復(fù)雜密碼的計(jì)算需求,基于ASIC的高性能實(shí)現(xiàn)高復(fù)雜度密碼破解算法設(shè)計(jì)與實(shí)現(xiàn),采用網(wǎng)絡(luò)化總體架構(gòu),應(yīng)用密碼技術(shù)的多項(xiàng)最新研究成果,結(jié)合專用密碼庫,設(shè)計(jì)并實(shí)現(xiàn)針對(duì)Office、PDF等文檔類、WinZip、7Zip、RAR等壓縮包類密碼口令的密碼破解系統(tǒng)。

      3.3 基于異構(gòu)計(jì)算集群的多資源調(diào)度子系統(tǒng)

      針對(duì)GPU和ASIC的異構(gòu)性,吸收各個(gè)并行計(jì)算編程模型的優(yōu)點(diǎn),進(jìn)行異構(gòu)計(jì)算集群的管理節(jié)點(diǎn)設(shè)計(jì)、計(jì)算節(jié)點(diǎn)架構(gòu)設(shè)計(jì)和調(diào)度節(jié)點(diǎn)架構(gòu)設(shè)計(jì),最終形成一套適用于特定類型計(jì)算作業(yè)的異構(gòu)計(jì)算集群調(diào)度系統(tǒng)。

      4 技術(shù)路線

      4.1 基于GPU的散列算法并行計(jì)算子系統(tǒng)構(gòu)建

      4.1.1 總體架構(gòu)設(shè)計(jì)

      基于GPU CUDA技術(shù)針對(duì)散列算法提出一種軟件處理結(jié)構(gòu),能夠適應(yīng)任何散列算法的開發(fā),該軟件總體結(jié)構(gòu)由GPU-CPU數(shù)據(jù)接口、公共接口庫模塊、基礎(chǔ)算法庫模塊、復(fù)雜算法庫模塊四部分組成,其中GPU-CPU數(shù)據(jù)接口由CPU提供,其余模塊均在GPU上。

      在CPU中,GPU-CPU數(shù)據(jù)接口主要提供對(duì)明文、密文、通配符、字典單詞的處理信息以及散列算法所需要的字段信息,并把這些信息傳給GPU的常數(shù)存儲(chǔ)器,這部分主要為GPU散列算法提供必要的常用預(yù)處理信息,提高系統(tǒng)的整體性能。而在GPU中,公共接口庫模塊主要提供讀取明文,明文填充通配符,以及返回結(jié)果明文。

      基礎(chǔ)算法庫模塊主要提供一些基本簡(jiǎn)單散列算法的計(jì)算內(nèi)核,復(fù)雜算法庫模塊主要針對(duì)一些特殊復(fù)雜的散列算法根據(jù)GPU架構(gòu)進(jìn)行重構(gòu)并提供一些特殊功能模塊,方便開發(fā)后續(xù)的復(fù)雜散列算法。

      4.1.2 CPU和GPU上算法庫的通用接口設(shè)計(jì)

      為了滿足各種散列算法和系統(tǒng)的兼容性及可操作性,同時(shí)考慮CUDA相關(guān)優(yōu)化技術(shù),將CPU和GPU的通用接口設(shè)計(jì)成兩個(gè)部分,一個(gè)是GPU任務(wù)接口,另一個(gè)是明文獲取接口。

      GPU任務(wù)接口主要包含明文的處理信息如填充通配符集、掩碼、明文字長(zhǎng)以及密文信息、Salt信息等,由于散列算法的操作流程常常對(duì)明文和密文做大量操作,常數(shù)存儲(chǔ)器相對(duì)于局部存儲(chǔ)器開銷小,讀取速度快,對(duì)GPU的性能有著明顯的優(yōu)化作用,因此在GPU端主要通過常數(shù)存儲(chǔ)器來存儲(chǔ)上述信息。

      4.1.3 公共接口庫的設(shè)計(jì)與實(shí)現(xiàn)

      公共接口庫實(shí)際上是對(duì)明文、密文、返回結(jié)果進(jìn)行相應(yīng)的操作,這部分對(duì)于所有散列算法來說是一個(gè)共享的外圍操作,為了滿足公共接口庫的實(shí)用性、可擴(kuò)展性同時(shí)兼顧系統(tǒng)的性能,所有的公共接口庫均以宏的形式出現(xiàn)。公共接口庫的設(shè)計(jì)包括五部分內(nèi)容。

      (1) 明文的讀取:通過分析常見散列算法的原理研究,發(fā)現(xiàn)許多復(fù)雜的散列算法都是基于MD4、MD5這種基本的散列算法開發(fā)的,有些散列算法讀取明文需要在明文后加0x80,因此需設(shè)計(jì)兩種讀取明文方式,以滿足不同算法置換明文的方式。

      (2) 字符的填充:由于明文中有通配符所以要獲取最終的明文需要star字符對(duì)明文進(jìn)行填充操作,其中star字符是1~4個(gè)字節(jié),由于star最長(zhǎng)為4個(gè)字節(jié),所以把每個(gè)star存為一個(gè)字,但這有可能會(huì)引起明文填充跨字的問題,可以通過fill_star(star_index)這個(gè)宏來解決。該宏主要負(fù)責(zé)將star_charset[i]的內(nèi)容填充到block對(duì)應(yīng)的字中。

      (3) 基于樹的批量結(jié)果匹配:通過分析發(fā)現(xiàn),對(duì)于基礎(chǔ)散列算法如MD4、MD5、SHA-1來說,當(dāng)任務(wù)文件中有多條密文需要匹配時(shí),若采用傳統(tǒng)的IF比較方式會(huì)嚴(yán)重影響系統(tǒng)的性能。因此,擬利用基于比較相似度的思想設(shè)計(jì)一種樹批量結(jié)果匹配的方法來減少開銷提高系統(tǒng)的性能:假設(shè)密文是由64個(gè)字節(jié)組成,則提取前16個(gè)字節(jié)進(jìn)行比較,如果前16個(gè)字節(jié)匹配不成功,后48個(gè)字節(jié)就不用匹配,這樣可以極大減少開銷。

      (4)單詞的變換:由于復(fù)雜散列算法計(jì)算強(qiáng)度高,導(dǎo)致其性能低下,對(duì)于較大的明文空間計(jì)算時(shí)間過長(zhǎng),所以需要采取一種基于字典的方式來減少破解的時(shí)間,增加破解的可能性。而單詞轉(zhuǎn)換主要功能是對(duì)字典明文進(jìn)行變換預(yù)處理,CPU端先把字典的單詞存儲(chǔ)在Plaintext數(shù)組中,然后從CPU端復(fù)制到GPU端的in_data數(shù)組中,此時(shí)GPU上獲取的明文即為字典單詞。

      (5) 結(jié)果返回:對(duì)于系統(tǒng)傳進(jìn)來的明文,散列算法對(duì)其運(yùn)算后得到相應(yīng)的散列值,將該值與預(yù)匹配的密文散列值匹配,如果結(jié)果匹配說明已經(jīng)成功得到正確明文,即把匹配結(jié)果存放在Result結(jié)構(gòu)中,并把Result結(jié)構(gòu)傳到CPU中輸出。Result結(jié)構(gòu)主要包含匹配標(biāo)志,匹配的線程號(hào)、明文和密文。

      4.1.4 基礎(chǔ)算法庫的設(shè)計(jì)與實(shí)現(xiàn)

      基礎(chǔ)算法庫主要支持基本散列算法(MD4、MD5、SHA-1)的并行版本,將其封裝在GPU基礎(chǔ)算法庫接口,從而在實(shí)現(xiàn)復(fù)雜散列算法時(shí),可直接調(diào)用這些算法宏庫得到相應(yīng)復(fù)雜散列算法的散列值。

      為了提升整個(gè)系統(tǒng)的性能,遵照循環(huán)展開、使用宏定義、變量標(biāo)量化三個(gè)優(yōu)化原則進(jìn)行基礎(chǔ)算法庫的設(shè)計(jì)。因此,MD4、MD5、SHA-1算法庫的具體實(shí)現(xiàn)較為復(fù)雜,為控制篇幅這里不做說明。

      4.2 基于ASIC的復(fù)雜密碼口令破解技術(shù)研究

      4.2.1 復(fù)雜密碼口令破解平臺(tái)硬件體系建設(shè)

      硬件體系采用網(wǎng)絡(luò)化總體架構(gòu),由服務(wù)器和破譯機(jī)構(gòu)成。服務(wù)器包括破譯服務(wù)器、數(shù)據(jù)庫服務(wù)器和任務(wù)管理服務(wù)器。平臺(tái)可配置多臺(tái)破譯機(jī),破譯機(jī)采用標(biāo)準(zhǔn)高4U、支持8個(gè)破解加速卡槽位的機(jī)箱。每個(gè)機(jī)箱內(nèi)配置一塊主控板,最多可部署8塊破解加速卡,采用2個(gè)12伏1600W電源供電。

      (1) 破譯機(jī)硬件設(shè)計(jì)與實(shí)現(xiàn)

      破譯機(jī)硬件由包括破解加速卡和主控板構(gòu)成,每塊破解加速卡由ASIC破譯芯片以及各種控制單元組成。

      破解加速卡:破解加速卡采用模塊化設(shè)計(jì),板上放置32個(gè)ASIC破譯芯片、電源管理單元、邏輯控制單元。通過QSPI控制接口與主控板連接,進(jìn)行數(shù)據(jù)和控制指令的傳輸。

      ASIC破譯芯片:ASIC破譯芯片是整個(gè)硬件平臺(tái)的最小計(jì)算單元,采用統(tǒng)一框架結(jié)構(gòu)設(shè)計(jì),可以對(duì)Rar、WinZip、7Zip、Office、WPA等常用密碼進(jìn)行高速破譯,并支持對(duì)MD4、MD5、SHA-1、SHA-256等常見Hash算法及其各種變形算法的破解。

      主控板:每個(gè)破譯機(jī)配置一個(gè)ARM主控板,負(fù)責(zé)破譯機(jī)的地址分配、授權(quán)設(shè)置等日常管理工作以及任務(wù)數(shù)據(jù)的收發(fā)和芯片運(yùn)行控制。主控板上集成雙核ARM CPU芯片,主頻800MHz,板載1G內(nèi)存和32M Flash,集成SD卡、顯示串口、標(biāo)準(zhǔn)千兆以太網(wǎng)接口和8個(gè)QSPI接口。

      破譯服務(wù)器可以通過網(wǎng)絡(luò)訪問破譯機(jī)的主控板,實(shí)現(xiàn)任務(wù)分配、狀態(tài)查詢、破譯結(jié)果接收等功能;管理客戶端可對(duì)主控板的IP地址、授權(quán)信息等參數(shù)進(jìn)行配置,并允許用戶進(jìn)行系統(tǒng)升級(jí)、板載口令庫更新等操作。

      (2) 復(fù)雜密碼口令破解平臺(tái)模塊功能設(shè)計(jì)

      復(fù)雜密碼口令破解平臺(tái)由破譯任務(wù)管理模塊、破譯服務(wù)模塊、破譯數(shù)據(jù)庫和破譯機(jī)組成,模塊之間使用高速網(wǎng)絡(luò)交換機(jī)進(jìn)行互聯(lián)。

      破譯任務(wù)管理模塊:部署于任務(wù)管理服務(wù)器上的Web應(yīng)用程序,是平臺(tái)的人機(jī)交換接口,可實(shí)現(xiàn)破譯任務(wù)管理、破譯數(shù)據(jù)庫維護(hù)、平臺(tái)配置、平臺(tái)用戶管理功能,可監(jiān)控各破譯機(jī)狀態(tài)。

      破譯服務(wù)模塊:部署于破譯服務(wù)器上,實(shí)現(xiàn)破譯任務(wù)分發(fā)、破譯結(jié)果接收、破譯結(jié)果驗(yàn)證、獲取破譯機(jī)狀態(tài)、破譯機(jī)配置等功能。

      破譯數(shù)據(jù)庫:部署于數(shù)據(jù)庫服務(wù)器,保存破譯使用的口令庫及平臺(tái)的配置、用戶、破譯任務(wù)等各類數(shù)據(jù)。

      破譯機(jī):接收破譯服務(wù)模塊發(fā)送的任務(wù)數(shù)據(jù),進(jìn)行密碼高速破譯,并將破譯結(jié)果發(fā)送到破譯服務(wù)模塊,可根據(jù)破譯服務(wù)模塊命令上傳運(yùn)行狀態(tài)數(shù)據(jù)。

      4.2.2 復(fù)雜密碼口令破解平臺(tái)軟件體系建設(shè)

      系統(tǒng)軟件包括破譯機(jī)操作系統(tǒng)、網(wǎng)絡(luò)通信協(xié)議、破譯服務(wù)等。

      (1) 破譯機(jī)操作系統(tǒng)

      每臺(tái)破譯機(jī)的ARM主控板上運(yùn)行獨(dú)立的ASIC芯片操作系統(tǒng),負(fù)責(zé)主控板的應(yīng)用程序加載,提供各類外設(shè)的驅(qū)動(dòng),完成系統(tǒng)和破解加速卡的初始化。

      ASIC芯片操作系統(tǒng)主要功能有任務(wù)管理、時(shí)間管理、信號(hào)量、消息隊(duì)列、內(nèi)存管理、記錄功能、軟件定時(shí)器、協(xié)程等。破譯機(jī)操作系統(tǒng)對(duì)系統(tǒng)任務(wù)的數(shù)量沒有限制,既支持優(yōu)先級(jí)調(diào)度算法也支持輪換調(diào)度算法,多個(gè)任務(wù)可以分配相同的優(yōu)先權(quán),優(yōu)先級(jí)可繼承,可滿足破譯機(jī)功能和性能的需要。

      ASIC芯片操作系統(tǒng)的開發(fā)與實(shí)現(xiàn)以委托開發(fā)的形式交由外部人員實(shí)現(xiàn)。

      (2) 網(wǎng)絡(luò)通信協(xié)議優(yōu)化開發(fā)

      為了適應(yīng)從破譯服務(wù)器到破譯機(jī)的數(shù)據(jù)傳輸、文件收發(fā)、從管理終端到破譯機(jī)的管理命令下達(dá)、固件上傳等功能要求,基于TCP/IP協(xié)議開發(fā)優(yōu)化的FA-2平臺(tái)網(wǎng)絡(luò)通信協(xié)議。協(xié)議共包含三類。

      破譯資源發(fā)現(xiàn)協(xié)議:基于TCP和UDP協(xié)議,可進(jìn)行破譯機(jī)的廣播查詢、破譯機(jī)計(jì)算卡等資源獲取、查詢破譯機(jī)和計(jì)算卡等資源的當(dāng)前狀態(tài)。

      破譯任務(wù)協(xié)議:基于TCP協(xié)議,以保證收發(fā)數(shù)據(jù)的完整可靠,可進(jìn)行破譯任務(wù)數(shù)據(jù)的傳輸、當(dāng)前破譯狀態(tài)獲取、破譯結(jié)果和校驗(yàn)結(jié)果的獲取。

      破譯機(jī)管理協(xié)議:基于TCP協(xié)議,以保證文件傳輸?shù)目煽啃?,可進(jìn)行文件上傳下載、固件刷新、破譯機(jī)參數(shù)配置等。

      (3) 破譯服務(wù)

      破譯服務(wù)部署于破譯服務(wù)器,使用TCP/IP協(xié)議與破譯機(jī)進(jìn)行通信,將各類數(shù)據(jù)集中保存于破譯數(shù)據(jù)庫中。破譯服務(wù)主要實(shí)現(xiàn)幾項(xiàng)功能。

      破譯文件識(shí)別:可以自動(dòng)識(shí)別系統(tǒng)支持的待破譯文件格式,并提取待破譯文件的特征數(shù)據(jù)保存于數(shù)據(jù)庫中。

      破譯任務(wù)分發(fā):讀取破譯數(shù)據(jù)庫中的任務(wù)數(shù)據(jù)和破譯機(jī)資源數(shù)據(jù),根據(jù)任務(wù)優(yōu)先級(jí)智能分配破譯資源,通過網(wǎng)絡(luò)將破譯任務(wù)分發(fā)到這些資源中。

      破譯結(jié)果接收:接收破譯機(jī)運(yùn)算結(jié)果,保存于破譯數(shù)據(jù)庫中。

      破譯結(jié)果驗(yàn)證:對(duì)可能出現(xiàn)偽口令的破譯任務(wù)結(jié)果進(jìn)行驗(yàn)證。

      獲取破譯機(jī)狀態(tài):通過UDP廣播發(fā)現(xiàn)本網(wǎng)中的所有破譯機(jī),將其信息保存于數(shù)據(jù)庫;發(fā)送查詢命令獲取破譯機(jī)及其破解加速卡的配置情況、當(dāng)前工作狀態(tài)。

      破譯機(jī)配置:發(fā)送配置命令配置破譯機(jī)的IP地址、授權(quán)地址、管理密碼等參數(shù);上傳下載破譯機(jī)板載的口令庫。

      (4) 管理服務(wù)系統(tǒng)

      使用Java實(shí)現(xiàn),運(yùn)行于Tomcat服務(wù)器,實(shí)現(xiàn)了破譯管理系統(tǒng)-應(yīng)用程序版的功能。

      4.2 基于異構(gòu)計(jì)算集群的多種計(jì)算資源調(diào)度

      異構(gòu)計(jì)算集群調(diào)度系統(tǒng)主要包括三種節(jié)點(diǎn):管理節(jié)點(diǎn)、調(diào)度節(jié)點(diǎn)和計(jì)算節(jié)點(diǎn)。

      4.3.1 管理節(jié)點(diǎn)

      管理節(jié)點(diǎn)負(fù)責(zé)對(duì)整個(gè)系統(tǒng)進(jìn)行管理和監(jiān)控。管理節(jié)點(diǎn)為用戶提供易用的控制命令,方便用戶在系統(tǒng)中進(jìn)行作業(yè)維護(hù)。它將向調(diào)度節(jié)點(diǎn)發(fā)送對(duì)應(yīng)的請(qǐng)求,并將調(diào)度節(jié)點(diǎn)處理的結(jié)果直觀地展示給用戶。通過管理節(jié)點(diǎn),用戶可以快速獲取系統(tǒng)中作業(yè)運(yùn)行狀態(tài)和完成情況等信息。由于管理節(jié)點(diǎn)只是進(jìn)行簡(jiǎn)單地命令發(fā)送及結(jié)果的展示等操作,并不需要復(fù)雜地計(jì)算,故一般使用主流的個(gè)人計(jì)算機(jī)即可。

      4.3.2 調(diào)度節(jié)點(diǎn)

      調(diào)度節(jié)點(diǎn)是整個(gè)異構(gòu)計(jì)算集群系統(tǒng)的核心。它需要負(fù)責(zé)處理來自管理節(jié)點(diǎn)的用戶請(qǐng)求,對(duì)用戶提交的作業(yè)進(jìn)行管理,又需要對(duì)集群中所有的計(jì)算節(jié)點(diǎn)進(jìn)行管理,并向其發(fā)送節(jié)點(diǎn)任務(wù),處理其回復(fù)的結(jié)果報(bào)文。鑒于調(diào)度節(jié)點(diǎn)需要處理大量的節(jié)點(diǎn)任務(wù),維護(hù)集群中所有的計(jì)算節(jié)點(diǎn)信息,通常使用機(jī)架式服務(wù)器。

      4.3.3 計(jì)算節(jié)點(diǎn)

      計(jì)算節(jié)點(diǎn)是整個(gè)異構(gòu)計(jì)算集群的計(jì)算資源,主要負(fù)責(zé)完成調(diào)度節(jié)點(diǎn)發(fā)送的節(jié)點(diǎn)任務(wù)。計(jì)算節(jié)點(diǎn)可以通過高速互聯(lián)網(wǎng)絡(luò)或交換機(jī)與調(diào)度節(jié)點(diǎn)相連,而各個(gè)計(jì)算節(jié)點(diǎn)間并不了解對(duì)方的情況。集群中所有的計(jì)算節(jié)點(diǎn)統(tǒng)一由調(diào)度節(jié)點(diǎn)進(jìn)行管理。計(jì)算節(jié)點(diǎn)上會(huì)配置一個(gè)或多個(gè)計(jì)算設(shè)備,這些計(jì)算設(shè)備既可以是GPU計(jì)算卡,也可以是MIC計(jì)算卡,甚至是CPU。計(jì)算設(shè)備的單卡性能及計(jì)算節(jié)點(diǎn)所擁有的計(jì)算設(shè)備數(shù)量將是影響計(jì)算節(jié)點(diǎn)的整體性能的主要因素。由于計(jì)算節(jié)點(diǎn)需要不間斷計(jì)算數(shù)量眾多的節(jié)點(diǎn)任務(wù),擬采用機(jī)架式服務(wù)器。

      4.3.4 調(diào)度節(jié)點(diǎn)與計(jì)算節(jié)點(diǎn)的網(wǎng)絡(luò)接口設(shè)計(jì)

      調(diào)度節(jié)點(diǎn)主要使用TCP和UDP協(xié)議與計(jì)算節(jié)點(diǎn)進(jìn)行交互。調(diào)度節(jié)點(diǎn)通過向計(jì)算節(jié)點(diǎn)發(fā)送網(wǎng)絡(luò)數(shù)據(jù)包的方式控制計(jì)算節(jié)點(diǎn)進(jìn)行任務(wù)的計(jì)算。同樣,計(jì)算節(jié)點(diǎn)通過發(fā)送網(wǎng)絡(luò)數(shù)據(jù)包告知調(diào)度節(jié)點(diǎn)其運(yùn)行情況和計(jì)算結(jié)果。

      TCP協(xié)議可靠性高,但其占用的網(wǎng)絡(luò)帶寬較高,建立連接時(shí)的開銷也高,適合用于傳輸可靠性要求高的數(shù)據(jù),可能被重復(fù)使用的數(shù)據(jù)。UDP協(xié)議可靠性低,但其相對(duì)TCP協(xié)議占用的網(wǎng)絡(luò)帶寬較低,沒有建立連接時(shí)的開銷,適合用于傳輸可靠性要求較低,一次性使用的數(shù)據(jù)。其可靠性由系統(tǒng)中的其他容錯(cuò)性設(shè)計(jì)來保證。

      在調(diào)度節(jié)點(diǎn)與計(jì)算節(jié)點(diǎn)交互的數(shù)據(jù)包中,有些在傳輸過程中不允許出現(xiàn)丟失,數(shù)據(jù)包中的內(nèi)容可能會(huì)被重復(fù)使用,如計(jì)算節(jié)點(diǎn)登錄報(bào)文、計(jì)算作業(yè)的原始信息等。對(duì)于這些數(shù)據(jù)包,系統(tǒng)使用TCP協(xié)議來防止傳輸時(shí)數(shù)據(jù)出現(xiàn)丟失。

      在調(diào)度節(jié)點(diǎn)與計(jì)算節(jié)點(diǎn)交互的過程中,有些數(shù)據(jù)包則對(duì)傳輸?shù)目煽啃砸笙鄬?duì)不那么高,只被使用一次,如節(jié)點(diǎn)任務(wù)報(bào)文、計(jì)算結(jié)果報(bào)文、心跳報(bào)文等。對(duì)于這類報(bào)文,系統(tǒng)使用UDP協(xié)議來進(jìn)行傳輸,以此來降低系統(tǒng)的網(wǎng)絡(luò)開銷。雖然UDP協(xié)議可能會(huì)導(dǎo)致節(jié)點(diǎn)任務(wù)的丟失,但通常出現(xiàn)丟失的情況較小,且系統(tǒng)的容錯(cuò)性設(shè)計(jì)使得系統(tǒng)可以在出現(xiàn)節(jié)點(diǎn)任務(wù)丟失情況下對(duì)其進(jìn)行重發(fā)。

      5 實(shí)驗(yàn)數(shù)據(jù)

      系統(tǒng)破解率測(cè)試當(dāng)前最常見的MD5為測(cè)試樣本,破解策略采用暴力破解方式。目前,已測(cè)試MD5密文數(shù)約138萬條,其中約1017萬條破解成功,破解率為73.34%;測(cè)試Half-MD5密文數(shù)約7.5萬條,其中約6.5萬條破解成功,破解率為86.73%,破解率情況如表1所示。

      6 結(jié)束語

      本文以GPU和ASIC為基礎(chǔ),開展基于GPU的多策略散列算法并行計(jì)算技術(shù)研究和基于ASIC的復(fù)雜密碼破解技術(shù)研究。在此基礎(chǔ)上,通過異構(gòu)計(jì)算集群調(diào)度技術(shù),利用GPU的高靈活性,結(jié)合ASIC的高性能,構(gòu)建分布式、多手段密碼破解在線服務(wù)平臺(tái),形成高效率、高精準(zhǔn)、體系化、規(guī)?;平赓Y源池,同時(shí)研發(fā)多手段密碼口令破解在線服務(wù)平臺(tái),實(shí)現(xiàn)密碼口令、破解的大復(fù)雜度運(yùn)算和高速破解功能,并在公安機(jī)關(guān)開展應(yīng)用測(cè)試。

      參考文獻(xiàn)

      [1] Zaharia M, Das T, Li H, et al. Discretized streams: an efficient and fault-tolerant model for stream processing on large clusters[C]. Proceedings of the 4th USENIX conference on Hot Topics in Cloud Ccomputing. USENIX Association, 2012: 10-10.

      [2] Zaharia M, Chowdhury M, Das T, et al. Fast and interactive analytics over Hadoop data with Spark[J]. USENIX; login, 2012, 37(4): 45-51.

      [3] 李凱.GPU上散列算法庫的研究與實(shí)現(xiàn)[D].廣州: 華南理工大學(xué), 2013.

      [4] 張娜,明平洲,王加昌,等.多GPU加速在高性能數(shù)值計(jì)算中的應(yīng)用[A].中國(guó)核動(dòng)力研究設(shè)計(jì)院核反應(yīng)堆系統(tǒng)設(shè)計(jì)技術(shù)重點(diǎn)實(shí)驗(yàn)室,2014-07.

      [5] 申飛. SHA系列算法安全性的統(tǒng)計(jì)分析[D]. 鄭州:解放軍信息工程大學(xué),2011.

      [6] Netty project. Netty:Home[EB/OL].https://netty.io/,2017-04-01.

      [7] Wikipedia. Discrete Fourier transform[EB/OL].https://en.wikipedia.org/wiki/Discret e_Fourier_transform, 2017-03-24.

      [8] Wikipedia. K-means Clustering[EB/OL].https://en.wikipedia.org/wiki/K-means_clusteri ng, 2017-04-09.

      [9] Toshniwal A, Taneja S, Shukla A, et al. Storm @Twitter[J]. Acm Sigmod International Conference on Manageme, 2014:147-156.

      猜你喜歡
      明文口令密碼
      密碼里的愛
      密碼疲勞
      英語文摘(2020年3期)2020-08-13 07:27:02
      高矮胖瘦
      口 令
      奇怪的處罰
      好玩的“反口令”游戲
      SNMP服務(wù)弱口令安全漏洞防范
      密碼藏在何處
      奇怪的處罰
      绍兴市| 德钦县| 安龙县| 福建省| 喀喇沁旗| 织金县| 泰兴市| 灵璧县| 凯里市| 龙胜| 贵阳市| 云龙县| 双城市| 广丰县| 越西县| 安塞县| 淄博市| 濮阳市| 神池县| 灵台县| 临颍县| 海丰县| 海兴县| 都兰县| 当涂县| 湘西| 清河县| 庐江县| 云林县| 乐昌市| 镇安县| 黄浦区| 崇文区| 吴桥县| 清水河县| 托里县| 炉霍县| 腾冲县| 木兰县| 涿州市| 镇安县|