本發(fā)明涉及云存儲(chǔ)技術(shù)領(lǐng)域,更具體地說,涉及一種云存儲(chǔ)方法、云存儲(chǔ)系統(tǒng)及安全云存儲(chǔ)系統(tǒng)。
背景技術(shù):
隨著互聯(lián)網(wǎng)帶寬的不斷升級(jí),云計(jì)算在日常生活中的應(yīng)用已經(jīng)相當(dāng)普及。其中云存儲(chǔ)是一種新型的網(wǎng)絡(luò)存儲(chǔ)形式,企業(yè)和個(gè)人用戶都開始使用云存儲(chǔ)作為其網(wǎng)絡(luò)存儲(chǔ)媒介。隨著云存儲(chǔ)的廣泛使用,云存儲(chǔ)中數(shù)據(jù)的安全問題,例如病毒、木馬等導(dǎo)致數(shù)據(jù)泄露和數(shù)據(jù)篡改等,也變得越來越嚴(yán)重。在上述背景下,解決面向云平臺(tái)的安全問題、保障使用云存儲(chǔ)的客戶機(jī)系統(tǒng)安全已成為云存儲(chǔ)的一個(gè)重要關(guān)鍵技術(shù)點(diǎn)。
因此,如何解決面向云平臺(tái)的安全問題,保障使用云存儲(chǔ)的客戶機(jī)系統(tǒng)安全是本領(lǐng)域技術(shù)人員需要解決的問題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于提供一種云存儲(chǔ)方法、云存儲(chǔ)系統(tǒng)及安全云存儲(chǔ)系統(tǒng),以實(shí)現(xiàn)提高云存儲(chǔ)的安全性。
為實(shí)現(xiàn)上述目的,本發(fā)明實(shí)施例提供了如下技術(shù)方案:
一種云存儲(chǔ)方法,包括:
接收客戶端發(fā)送的目標(biāo)文件的第一模糊哈希值,及對(duì)所述目標(biāo)文件劃分的文件塊;
利用哈希算法及所述目標(biāo)文件的文件塊,確定每個(gè)文件塊的哈希值,并根據(jù)每個(gè)文件塊對(duì)應(yīng)的哈希值確定所述目標(biāo)文件的第二模糊哈希值;
判斷所述第一模糊哈希值與所述第二模糊哈希值是否相等;若否,則向所述客戶端發(fā)送所述目標(biāo)文件被修改的提示信息;
若是,則從病毒庫中依次取出病毒哈希值,利用對(duì)比算法依次計(jì)算每個(gè)病毒哈希值與所述第一模糊哈希值的相似度;若存在大于預(yù)定閾值的相似度,則向所述客戶端發(fā)送所述目標(biāo)文件為病毒文件的提示信息。
其中,所述接收客戶端發(fā)送的目標(biāo)文件的第一模糊哈希值,及對(duì)所述目標(biāo)文件劃分的文件塊之后,還包括:
將所述目標(biāo)文件的文件塊存儲(chǔ)至高速緩存,并向所述客戶端返回寫入成功的提示信息。
其中,若檢測(cè)到存在大于預(yù)定閾值的相似度之后,還包括:
刪除所述目標(biāo)文件的文件塊。其中,還包括:
根據(jù)接收的病毒庫更新指令,更新所述病毒庫中的病毒哈希值。
一種云存儲(chǔ)系統(tǒng),包括:
接收模塊,用于接收客戶端發(fā)送的目標(biāo)文件的第一模糊哈希值,及對(duì)所述目標(biāo)文件劃分的文件塊;
模糊哈希值計(jì)算模塊,用于利用哈希算法及所述目標(biāo)文件的文件塊,確定每個(gè)文件塊的哈希值,并根據(jù)每個(gè)文件塊對(duì)應(yīng)的哈希值確定所述目標(biāo)文件的第二模糊哈希值;
判斷模塊,用于判斷所述第一模糊哈希值與所述第二模糊哈希值是否相等;若否,則觸發(fā)第一提示信息發(fā)送模塊;若是,則觸發(fā)相似度計(jì)算模塊;
所述第一提示信息發(fā)送模塊,用于向所述客戶端發(fā)送所述目標(biāo)文件被修改的提示信息;
所述相似度計(jì)算模塊,用于從病毒庫中依次取出病毒哈希值,利用對(duì)比算法依次計(jì)算每個(gè)病毒哈希值與所述第一模糊哈希值的相似度;
檢測(cè)模塊,用于檢測(cè)是否存在大于預(yù)定閾值的相似度,若存在,則觸發(fā)第二提示信息發(fā)送模塊;
所述第二提示信息發(fā)送模塊,用于向所述客戶端發(fā)送所述目標(biāo)文件為病毒文件的提示信息。
其中,所述接收模塊將所述目標(biāo)文件的文件塊存儲(chǔ)至高速緩存,并向所述客戶端返回寫入成功的提示信息。
其中,還包括:
刪除模塊,用于檢測(cè)到存在大于預(yù)定閾值的相似度之后,刪除所述目標(biāo)文件的文件塊。
其中,還包括:
更新模塊,用于根據(jù)接收的病毒庫更新指令,更新所述病毒庫中的病毒哈希值。
一種安全云存儲(chǔ)系統(tǒng),包括所述云存儲(chǔ)系統(tǒng),還包括:
客戶端,用于根據(jù)預(yù)置的分片條件,對(duì)目標(biāo)文件進(jìn)行分片,并向所述云存儲(chǔ)系統(tǒng)發(fā)送所述目標(biāo)文件的第一模糊哈希值,及所述目標(biāo)文件的文件塊。
其中,所述模糊哈希值計(jì)算模塊通過利用哈希算法及所述目標(biāo)文件的文件塊,確定每個(gè)文件塊的哈希值,并根據(jù)所述分片條件及每個(gè)文件塊對(duì)應(yīng)的哈希值確定所述目標(biāo)文件的第二模糊哈希值。
通過以上方案可知,本發(fā)明實(shí)施例提供的一種云存儲(chǔ)方法,包括:接收客戶端發(fā)送的目標(biāo)文件的第一模糊哈希值,及對(duì)所述目標(biāo)文件劃分的文件塊;利用哈希算法及所述目標(biāo)文件的文件塊,確定每個(gè)文件塊的哈希值,并根據(jù)每個(gè)文件塊對(duì)應(yīng)的哈希值確定所述目標(biāo)文件的第二模糊哈希值;判斷所述第一模糊哈希值與所述第二模糊哈希值是否相等;若否,則向所述客戶端發(fā)送所述目標(biāo)文件被修改的提示信息;若是,則從病毒庫中依次取出病毒哈希值,利用對(duì)比算法依次計(jì)算每個(gè)病毒哈希值與所述第一模糊哈希值的相似度;若存在大于預(yù)定閾值的相似度,則向所述客戶端發(fā)送所述目標(biāo)文件為病毒文件的提示信息??梢?,在本實(shí)施例中,通過在客戶端和云存儲(chǔ)系統(tǒng)這兩端分別計(jì)算文件的模糊哈希值,能檢測(cè)出文件在上傳過程中是否遭到惡意篡改,同時(shí)能檢測(cè)出文件是否是病毒文件,不僅保持了文件的完整性,而且增加了上傳的文件安全性;本發(fā)明還公開了一種云存儲(chǔ)系統(tǒng)及安全云存儲(chǔ)系統(tǒng)。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例公開的一種云存儲(chǔ)方法流程示意圖;
圖2為本發(fā)明實(shí)施例公開的云存儲(chǔ)方法整體流程圖;
圖3為本發(fā)明實(shí)施例公開的安全掃描模塊算法架構(gòu)圖;
圖4為本發(fā)明實(shí)施例公開的一種云存儲(chǔ)系統(tǒng)結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
本發(fā)明實(shí)施例公開了一種云存儲(chǔ)方法、云存儲(chǔ)系統(tǒng)及安全云存儲(chǔ)系統(tǒng),以實(shí)現(xiàn)提高云存儲(chǔ)的安全性。
參見圖1,本發(fā)明實(shí)施例提供的一種云存儲(chǔ)方法,包括:
S101、接收客戶端發(fā)送的目標(biāo)文件的第一模糊哈希值,及對(duì)所述目標(biāo)文件劃分的文件塊;
具體的,在本方案中使用弱HASH算法計(jì)算文件的哈希值,然后再根據(jù)一定的條件對(duì)文件進(jìn)行分片,并上傳至云存儲(chǔ)系統(tǒng);這些條件包括了網(wǎng)絡(luò)和存儲(chǔ)系統(tǒng)參數(shù)、文件大小、文件格式等內(nèi)容,其中,分片的文件塊大小是固定的,適合云存儲(chǔ)系統(tǒng)處理這些數(shù)據(jù)塊。
其中,所述接收客戶端發(fā)送的目標(biāo)文件的第一模糊哈希值,及對(duì)所述目標(biāo)文件劃分的文件塊之后,還包括:
將所述目標(biāo)文件的文件塊存儲(chǔ)至高速緩存,并向所述客戶端返回寫入成功的提示信息。
具體的,在本實(shí)施例中為了加快客戶端寫文件速度,用戶提交的數(shù)據(jù)先放入到系統(tǒng)的高速緩存中,并立即向用戶端返回寫入成功的回復(fù)。由于云存儲(chǔ)系統(tǒng)可以對(duì)接收到的文件塊并行計(jì)算哈希值,故可以對(duì)同一文件或不同文件的文件塊進(jìn)行并行處理,加快計(jì)算速度。
S102、利用哈希算法及所述目標(biāo)文件的文件塊,確定每個(gè)文件塊的哈希值,并根據(jù)每個(gè)文件塊對(duì)應(yīng)的哈希值確定所述目標(biāo)文件的第二模糊哈希值;
具體的,云存儲(chǔ)系統(tǒng)利用哈希算法計(jì)算每個(gè)文件塊的哈希值,取這些哈希值利用相應(yīng)規(guī)則并連起來,與分片條件一起構(gòu)成第二模糊哈希結(jié)果。
具體的,在本方案中,由于待掃描的文件塊是相互獨(dú)立計(jì)算哈希數(shù)值的,故并不需要對(duì)屬于同一個(gè)文件的文件塊進(jìn)行重組,只需要計(jì)算出屬于同一文件的不同文件塊的哈希數(shù)值,并將結(jié)果再進(jìn)行一次并連接操作即可。在實(shí)際部署的時(shí)候,可采用并行計(jì)算的方法進(jìn)行加速,加快文件掃描速度。由于文件塊掃描速度較快,相對(duì)于存儲(chǔ)時(shí)間而言,所占時(shí)間比例很少,對(duì)文件系統(tǒng)的寫性能影響甚微,從而實(shí)現(xiàn)客戶端對(duì)此過程“無感”性。文件掃描模塊支持密文和明文的掃描。
S103、判斷所述第一模糊哈希值與所述第二模糊哈希值是否相等;
若否,則執(zhí)行S104、向所述客戶端發(fā)送所述目標(biāo)文件被修改的提示信息;
具體的,在實(shí)施例中,如果兩個(gè)哈希數(shù)值不相等,即云存儲(chǔ)系統(tǒng)接收到的目標(biāo)文件與客戶端上傳的目標(biāo)文件不一致,則此時(shí)目標(biāo)文件可能被篡改,可能是第三方篡改了網(wǎng)絡(luò)數(shù)據(jù),又或者是網(wǎng)絡(luò)傳輸出現(xiàn)問題,此時(shí)可以要求用戶重發(fā)文件,或者給用戶提示信息。
若是,則執(zhí)行S105、從病毒庫中依次取出病毒哈希值,利用對(duì)比算法依次計(jì)算每個(gè)病毒哈希值與所述第一模糊哈希值的相似度;
S106、若存在大于預(yù)定閾值的相似度,則向所述客戶端發(fā)送所述目標(biāo)文件為病毒文件的提示信息。
具體的,若不存在大于預(yù)定閾值的相似度,則可以繼續(xù)將對(duì)應(yīng)的文件執(zhí)行落盤操作。
其中,若檢測(cè)到存在大于預(yù)定閾值的相似度之后,還包括:
刪除所述目標(biāo)文件的文件塊。具體的,若所述第一模糊哈希值不等于所述第二模糊哈希值,則判定所述目標(biāo)文件被修改;若所述第一模糊哈希值等于所述第二模糊哈希值,且同病毒庫文件的哈希值計(jì)算得到的相似度存在大于預(yù)定閾值的情況,則判定所述目標(biāo)文件為病毒文件。
具體的,如果目標(biāo)文件的任意一個(gè)模糊哈希值與病毒庫中某一個(gè)文件的哈希數(shù)值的相似度大于預(yù)定閥值,則認(rèn)為目標(biāo)文件含有惡意代碼,這時(shí)可以根據(jù)指定的規(guī)則拒絕落盤或者向用戶發(fā)送告警信息?;谀:K惴ㄓ?jì)算出相似度,具備對(duì)變型病毒文件的檢測(cè)能力,相對(duì)于強(qiáng)哈希算法,具備更高的病毒文件識(shí)別率。
具體的,在本方案中在云存儲(chǔ)服務(wù)器端上建立一個(gè)安全模塊的節(jié)點(diǎn),在該節(jié)點(diǎn)處,部署相應(yīng)的病毒庫。基于黑名單機(jī)制,對(duì)客戶端寫入的數(shù)據(jù)進(jìn)行掃描。參見圖2及圖3,存儲(chǔ)端的安全掃描模塊對(duì)文件塊計(jì)算哈希值,取這些值按一定規(guī)則并連起來,與分片條件一起構(gòu)成模糊哈希結(jié)果。使用一個(gè)字符串相似性對(duì)比算法判斷兩個(gè)模糊哈希值的相似度有多少,從而判斷出兩個(gè)文件的相似程度。根據(jù)設(shè)定的閥值,如果待掃描的文件同病毒庫中某一個(gè)文件的哈希數(shù)值的相似度大于該閥值,則認(rèn)為該文件含有惡意代碼,根據(jù)指定的規(guī)則拒絕落盤或者向用戶告警信息。
基于上述技術(shù)方案,還包括:
根據(jù)接收的病毒庫更新指令,更新所述病毒庫中的病毒哈希值。
具體的,本方案中對(duì)目標(biāo)文件的校驗(yàn)都是在云存儲(chǔ)系統(tǒng)中進(jìn)行的,并不占用客戶端的計(jì)算資源。另外本方案對(duì)病毒庫升級(jí)響應(yīng)速度快,而且易于部署,對(duì)變種的病毒木馬仍具備較高的檢出率,只需要云端安全掃描模塊更新一次病毒庫,云存儲(chǔ)的租戶可全部得到更新,進(jìn)而縮減0day病毒木馬對(duì)系統(tǒng)安全性的影響。
具體的,在本方案中,客戶端向云存儲(chǔ)系統(tǒng)寫文件時(shí),根據(jù)設(shè)計(jì)的分塊算法,將寫入的文件切分成大小合適的文件塊,這些塊提交到云存儲(chǔ)系統(tǒng)的時(shí)候,安全模塊將根據(jù)設(shè)計(jì)的文件檢驗(yàn)算法對(duì)文件進(jìn)行校驗(yàn),例如對(duì)文件的完整性進(jìn)行校驗(yàn),對(duì)文件是否為病毒文件進(jìn)行校驗(yàn)。如果檢測(cè)出文件存在異常數(shù)據(jù),掃描模塊將根據(jù)自定義的規(guī)則,刪除該文件或給用戶發(fā)送告警消息。本方案同樣支持對(duì)加密的文件塊進(jìn)行掃描,且本方案對(duì)完整性進(jìn)行校驗(yàn)時(shí),能夠檢測(cè)出發(fā)生部分內(nèi)容變化的文件,例如修改、增加、刪除文件部分內(nèi)容,在實(shí)際應(yīng)用中,這意味本系統(tǒng)能夠識(shí)別出病毒木馬變型文件。
下面對(duì)本發(fā)明實(shí)施例提供的云存儲(chǔ)系統(tǒng)進(jìn)行介紹,下文描述的云存儲(chǔ)系統(tǒng)與上文描述的云存儲(chǔ)方法可以相互參照。
參見圖4,本發(fā)明實(shí)施例提供的一種云存儲(chǔ)系統(tǒng),包括:
接收模塊100,用于接收客戶端發(fā)送的目標(biāo)文件的第一模糊哈希值,及對(duì)所述目標(biāo)文件劃分的文件塊;
模糊哈希值計(jì)算模塊200,用于利用哈希算法及所述目標(biāo)文件的文件塊,確定每個(gè)文件塊的哈希值,并根據(jù)每個(gè)文件塊對(duì)應(yīng)的哈希值確定所述目標(biāo)文件的第二模糊哈希值;
判斷模塊300,用于判斷所述第一模糊哈希值與所述第二模糊哈希值是否相等;若否,則觸發(fā)第一提示信息發(fā)送模塊400;若是,則觸發(fā)相似度計(jì)算模塊500;
所述第一提示信息發(fā)送模塊400,用于向所述客戶端發(fā)送所述目標(biāo)文件被修改的提示信息;
所述相似度計(jì)算模塊500,用于從病毒庫中依次取出病毒哈希值,利用對(duì)比算法依次計(jì)算每個(gè)病毒哈希值與所述第一模糊哈希值的相似度;
檢測(cè)模塊600,用于檢測(cè)是否存在大于預(yù)定閾值的相似度,若存在,則觸發(fā)第二提示信息發(fā)送模塊700;
所述第二提示信息發(fā)送模塊700,用于向所述客戶端發(fā)送所述目標(biāo)文件為病毒文件的提示信息。
基于上述技術(shù)方案,所述接收模塊將所述目標(biāo)文件的文件塊存儲(chǔ)至高速緩存,并向所述客戶端返回寫入成功的提示信息。
基于上述技術(shù)方案,還包括:
刪除模塊,用于檢測(cè)到存在大于預(yù)定閾值的相似度之后,刪除所述目標(biāo)文件的文件塊。
基于上述技術(shù)方案,還包括:
更新模塊,用于根據(jù)接收的病毒庫更新指令,更新所述病毒庫中的病毒哈希值。
本發(fā)明實(shí)施例還提供一種安全云存儲(chǔ)系統(tǒng),包括上述的云存儲(chǔ)系統(tǒng),還包括:
客戶端,用于根據(jù)預(yù)置的分片條件,對(duì)目標(biāo)文件進(jìn)行分片,并向所述云存儲(chǔ)系統(tǒng)發(fā)送所述目標(biāo)文件的第一模糊哈希值,及所述目標(biāo)文件的文件塊。
基于上述技術(shù)方案,模糊哈希值計(jì)算模塊通過利用哈希算法及所述目標(biāo)文件的文件塊,確定每個(gè)文件塊的哈希值,并根據(jù)所述分片條件及每個(gè)文件塊對(duì)應(yīng)的哈希值確定所述目標(biāo)文件的第二模糊哈希值。
綜上所述,本方案具備以下優(yōu)點(diǎn):
1、對(duì)n個(gè)文件尋找相似關(guān)系,只需要對(duì)比文件的指紋信息即文件的哈希值,而不需要對(duì)文件內(nèi)容進(jìn)行一一對(duì)比;
2、本方案基于相似度進(jìn)行對(duì)比,文件即使發(fā)生較小的變化,這種方法同樣能夠得到較好的結(jié)果,這使得本方法能夠校驗(yàn)變種的木馬病毒文件。
3、存儲(chǔ)系統(tǒng)給客戶提供了額外的安全功能,并且不占用客戶端的計(jì)算資源,安全校驗(yàn)雖占用一定的計(jì)算資源,但由于其分布在存儲(chǔ)端,并不占用客戶端的計(jì)算資源;
4、文件掃描模塊具備快速的掃描速度,算法并不需要對(duì)文件塊進(jìn)行重組,各個(gè)文件塊在掃描模塊中都是相互獨(dú)立的,故可以采用并行計(jì)算的方法進(jìn)行加速,加快了其文件掃描速度。文件掃描模塊的輸入位于高速緩存區(qū),掃描算法可以高效地對(duì)文件塊進(jìn)行處理。相對(duì)于存儲(chǔ)時(shí)間而言,安全掃描模塊占用的時(shí)間可忽略不計(jì),對(duì)文件系統(tǒng)的寫性能影響甚微,實(shí)現(xiàn)客戶端對(duì)此過程“無感”性;
4、節(jié)省存儲(chǔ)系統(tǒng)資源。如果發(fā)現(xiàn)文件存在惡意代碼,此時(shí)可以不用將該文件塊落盤,在增加系統(tǒng)安全性的同時(shí),減少了存儲(chǔ)系統(tǒng)的存儲(chǔ)資源和計(jì)算資源;
5、支持加密文件的掃描;
6、病毒庫升級(jí)更快,而且易于部署,只需要云端安全掃描模塊更新一下病毒庫,云存儲(chǔ)的租戶便可以得到立即更新,對(duì)變種的病毒木馬具備較高的檢出率。
本說明書中各個(gè)實(shí)施例采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似部分互相參見即可。
對(duì)所公開的實(shí)施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對(duì)這些實(shí)施例的多種修改對(duì)本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實(shí)施例中實(shí)現(xiàn)。因此,本發(fā)明將不會(huì)被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開的原理和新穎特點(diǎn)相一致的最寬的范圍。