一種基于結(jié)構(gòu)化異常的啟發(fā)式腳本檢測方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機網(wǎng)絡(luò)安全技術(shù)領(lǐng)域,特別涉及一種基于結(jié)構(gòu)化異常的啟發(fā)式腳本檢測方法及系統(tǒng)。
【背景技術(shù)】
[0002]傳統(tǒng)的腳本檢測方法通常基于特征碼檢測,即將惡意代碼部分作為特征,進行匹配檢測。而惡意代碼作者通常采用結(jié)構(gòu)化異常的編碼方式來逃避反病毒工作者的檢測,傳統(tǒng)腳本檢測方法對于一些變形的惡意代碼、結(jié)構(gòu)化異常的腳本代碼,如代碼布局異常,無效元素等,通常具有很弱的檢測能力。
【發(fā)明內(nèi)容】
[0003]本發(fā)明針對上述問題形成一套基于結(jié)構(gòu)化異常的腳本啟發(fā)式檢測方法。通過本發(fā)明方法,能夠解決現(xiàn)有技術(shù)中無法檢測結(jié)構(gòu)化異常腳本的問題,針對腳本文件代碼結(jié)構(gòu),識別其異常布局和無效元素,判定腳本是否為惡意。
[0004]一種基于結(jié)構(gòu)化異常的啟發(fā)式腳本檢測方法,包括:
讀取待檢測腳本代碼;
對腳本代碼進行結(jié)構(gòu)化掃描,確定腳本代碼的代碼結(jié)構(gòu);可以根據(jù)不同的規(guī)則采用逐行掃描、元素掃描等;
根據(jù)結(jié)構(gòu)化異常規(guī)則,對腳本代碼的代碼結(jié)構(gòu)進行匹配,如果匹配成功,則確認(rèn)所述待檢測腳本代碼結(jié)構(gòu)異常,并進行告警;否則確認(rèn)所述待檢測腳本代碼結(jié)構(gòu)正常。
[0005]所述的方法中,所述結(jié)構(gòu)化異常規(guī)則包括但不限于:代碼結(jié)構(gòu)中存在超過閾值數(shù)量的連續(xù)空白符,或代碼結(jié)構(gòu)中存在超過閾值數(shù)量的連續(xù)空白行,或無效元素。
[0006]判定規(guī)則舉例如下:
代碼行開始連續(xù)出現(xiàn)大量空白符,超過可觀察范圍。通常惡意代碼作者采用這樣的方法來逃避反病毒工作者的檢測。
[0007]代碼行連續(xù)超過閾值的空白行。
[0008]無效元素,例如frame框架寬高均為O ;通過URL引用其它的惡意腳本。
[0009]本發(fā)明通過對腳本文件進行結(jié)構(gòu)化掃描,基于結(jié)構(gòu)化判定規(guī)則,對腳本進行啟發(fā)式檢測。
[0010]一種基于結(jié)構(gòu)化異常的啟發(fā)式腳本檢測系統(tǒng),包括:
讀取模塊,用于讀取待檢測腳本代碼;
掃描模塊,用于對腳本代碼進行結(jié)構(gòu)化掃描,確定腳本代碼的代碼結(jié)構(gòu);
匹配模塊,用于根據(jù)結(jié)構(gòu)化異常規(guī)則,對腳本代碼的代碼結(jié)構(gòu)進行匹配,如果匹配成功,則確認(rèn)所述待檢測腳本代碼結(jié)構(gòu)異常,并進行告警;否則確認(rèn)所述待檢測腳本代碼結(jié)構(gòu)正常。
[0011]所述的系統(tǒng)中,所述結(jié)構(gòu)化異常規(guī)則包括:代碼結(jié)構(gòu)中存在超過閾值數(shù)量的連續(xù)空白符,或代碼結(jié)構(gòu)中存在超過閾值數(shù)量的連續(xù)空白行,或無效元素。
[0012]本發(fā)明的優(yōu)勢在于,能夠形成一套基于結(jié)構(gòu)化異常的腳本啟發(fā)式檢測方法,能夠?qū)δ_本文件代碼的異常結(jié)構(gòu)進行有效檢測。
[0013]本發(fā)明提供了一種基于結(jié)構(gòu)化異常的啟發(fā)式腳本檢測方法及系統(tǒng),所述方法包括:讀取待檢測腳本代碼;對腳本代碼進行結(jié)構(gòu)化掃描,確定腳本代碼的代碼結(jié)構(gòu);根據(jù)結(jié)構(gòu)化異常規(guī)則,對腳本代碼的代碼結(jié)構(gòu)進行匹配,如果匹配成功,則確認(rèn)所述待檢測腳本代碼結(jié)構(gòu)異常,并進行告警;否則確認(rèn)所述待檢測腳本代碼結(jié)構(gòu)正常。本發(fā)明還提供了相應(yīng)的檢測系統(tǒng)。通過本發(fā)明提供的方法及系統(tǒng),可以快速有效的發(fā)現(xiàn)那些結(jié)構(gòu)化異常的腳本,并對用戶進行告警。本方案可以有效彌補傳統(tǒng)檢測方法的不足,對惡意變形的腳本或者架構(gòu)化異常的代碼進行檢測。
【附圖說明】
[0014]為了更清楚地說明本發(fā)明或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明中記載的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0015]圖1為本發(fā)明一種基于結(jié)構(gòu)化異常的啟發(fā)式腳本檢測方法流程圖;
圖2為本發(fā)明一種基于結(jié)構(gòu)化異常的啟發(fā)式腳本檢測系統(tǒng)結(jié)構(gòu)圖。
【具體實施方式】
[0016]為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明實施例中的技術(shù)方案,并使本發(fā)明的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結(jié)合附圖對本發(fā)明中技術(shù)方案作進一步詳細的說明。
[0017]本發(fā)明針對上述問題形成一套基于結(jié)構(gòu)化異常的腳本啟發(fā)式檢測方法。通過本發(fā)明方法,能夠解決現(xiàn)有技術(shù)中無法檢測結(jié)構(gòu)化異常腳本的問題,針對腳本文件代碼結(jié)構(gòu),識別其異常布局和無效元素,判定腳本是否為惡意。
[0018]一種基于結(jié)構(gòu)化異常的啟發(fā)式腳本檢測方法,如圖1所示,包括:
5101:讀取待檢測腳本代碼;
5102:對腳本代碼進行結(jié)構(gòu)化掃描,確定腳本代碼的代碼結(jié)構(gòu);可以根據(jù)不同的規(guī)則采用逐行掃描、元素掃描等;
5103:根據(jù)結(jié)構(gòu)化異常規(guī)則,對腳本代碼的代碼結(jié)構(gòu)進行匹配,如果匹配成功,則確認(rèn)所述待檢測腳本代碼結(jié)構(gòu)異常,并進行告警;否則確認(rèn)所述待檢測腳本代碼結(jié)構(gòu)正常。
[0019]所述的方法中,所述結(jié)構(gòu)化異常規(guī)則包括但不限于:代碼結(jié)構(gòu)中存在超過閾值數(shù)量的連續(xù)空白符,或代碼結(jié)構(gòu)中存在超過閾值數(shù)量的連續(xù)空白行,或無效元素。
[0020]判定規(guī)則舉例如下:
代碼行開始連續(xù)出現(xiàn)大量空白符,超過可觀察范圍。通常惡意代碼作者采用這樣的方法來逃避反病毒工作者的檢測。
[0021]代碼行連續(xù)超過閾值的空白行。
[0022]無效元素,例如frame框架寬高均為O ;通過URL引用其它的惡意腳本。
[0023]本發(fā)明通過對腳本文件進行結(jié)構(gòu)化掃描,基于結(jié)構(gòu)化判定規(guī)則,對腳本進行啟發(fā)式檢測。
[0024]一種基于結(jié)構(gòu)化異常的啟發(fā)式腳本檢測系統(tǒng),如圖2所示,包括:
讀取模塊201,用于讀取待檢測腳本代碼;
掃描模塊202,用于對腳本代碼進行結(jié)構(gòu)化掃描,確定腳本代碼的代碼結(jié)構(gòu);
匹配模塊203,用于根據(jù)結(jié)構(gòu)化異常規(guī)則,對腳本代碼的代碼結(jié)構(gòu)進行匹配,如果匹配成功,則確認(rèn)所述待檢測腳本代碼結(jié)構(gòu)異常,并進行告警;否則確認(rèn)所述待檢測腳本代碼結(jié)構(gòu)正常。
[0025]所述的系統(tǒng)中,所述結(jié)構(gòu)化異常規(guī)則包括:代碼結(jié)構(gòu)中存在超過閾值數(shù)量的連續(xù)空白符,或代碼結(jié)構(gòu)中存在超過閾值數(shù)量的連續(xù)空白行,或無效元素。
[0026]本發(fā)明的優(yōu)勢在于,能夠形成一套基于結(jié)構(gòu)化異常的腳本啟發(fā)式檢測方法,能夠?qū)δ_本文件代碼的異常結(jié)構(gòu)進行有效檢測。
[0027]本發(fā)明提供了一種基于結(jié)構(gòu)化異常的啟發(fā)式腳本檢測方法及系統(tǒng),所述方法包括:讀取待檢測腳本代碼;對腳本代碼進行結(jié)構(gòu)化掃描,確定腳本代碼的代碼結(jié)構(gòu);根據(jù)結(jié)構(gòu)化異常規(guī)則,對腳本代碼的代碼結(jié)構(gòu)進行匹配,如果匹配成功,則確認(rèn)所述待檢測腳本代碼結(jié)構(gòu)異常,并進行告警;否則確認(rèn)所述待檢測腳本代碼結(jié)構(gòu)正常。本發(fā)明還提供了相應(yīng)的檢測系統(tǒng)。通過本發(fā)明提供的方法及系統(tǒng),可以快速有效的發(fā)現(xiàn)那些結(jié)構(gòu)化異常的腳本,并對用戶進行告警。本方案可以有效彌補傳統(tǒng)檢測方法的不足,對惡意變形的腳本或者架構(gòu)化異常的代碼進行檢測。
[0028]雖然通過實施例描繪了本發(fā)明,本領(lǐng)域普通技術(shù)人員知道,本發(fā)明有許多變形和變化而不脫離本發(fā)明的精神,希望所附的權(quán)利要求包括這些變形和變化而不脫離本發(fā)明的精神。
【主權(quán)項】
1.一種基于結(jié)構(gòu)化異常的啟發(fā)式腳本檢測方法,其特征在于: 讀取待檢測腳本代碼; 對腳本代碼進行結(jié)構(gòu)化掃描,確定腳本代碼的代碼結(jié)構(gòu); 根據(jù)結(jié)構(gòu)化異常規(guī)則,對腳本代碼的代碼結(jié)構(gòu)進行匹配,如果匹配成功,則確認(rèn)所述待檢測腳本代碼結(jié)構(gòu)異常,并進行告警;否則確認(rèn)所述待檢測腳本代碼結(jié)構(gòu)正常。2.如權(quán)利要求1所述的方法,其特征在于,所述結(jié)構(gòu)化異常規(guī)則包括:代碼結(jié)構(gòu)中存在超過閾值數(shù)量的連續(xù)空白符,或代碼結(jié)構(gòu)中存在超過閾值數(shù)量的連續(xù)空白行,或無效元素。3.一種基于結(jié)構(gòu)化異常的啟發(fā)式腳本檢測系統(tǒng),其特征在于: 讀取模塊,用于讀取待檢測腳本代碼; 掃描模塊,用于對腳本代碼進行結(jié)構(gòu)化掃描,確定腳本代碼的代碼結(jié)構(gòu); 匹配模塊,用于根據(jù)結(jié)構(gòu)化異常規(guī)則,對腳本代碼的代碼結(jié)構(gòu)進行匹配,如果匹配成功,則確認(rèn)所述待檢測腳本代碼結(jié)構(gòu)異常,并進行告警;否則確認(rèn)所述待檢測腳本代碼結(jié)構(gòu)正常。4.如權(quán)利要求3所述的系統(tǒng),其特征在于,所述結(jié)構(gòu)化異常規(guī)則包括:代碼結(jié)構(gòu)中存在超過閾值數(shù)量的連續(xù)空白符,或代碼結(jié)構(gòu)中存在超過閾值數(shù)量的連續(xù)空白行,或無效元素。
【專利摘要】本發(fā)明提供了一種基于結(jié)構(gòu)化異常的啟發(fā)式腳本檢測方法及系統(tǒng),所述方法包括:讀取待檢測腳本代碼;對腳本代碼進行結(jié)構(gòu)化掃描,確定腳本代碼的代碼結(jié)構(gòu);根據(jù)結(jié)構(gòu)化異常規(guī)則,對腳本代碼的代碼結(jié)構(gòu)進行匹配,如果匹配成功,則確認(rèn)所述待檢測腳本代碼結(jié)構(gòu)異常,并進行告警;否則確認(rèn)所述待檢測腳本代碼結(jié)構(gòu)正常。本發(fā)明還提供了相應(yīng)的檢測系統(tǒng)。通過本發(fā)明提供的方法及系統(tǒng),可以快速有效的發(fā)現(xiàn)那些結(jié)構(gòu)化異常的腳本,并對用戶進行告警。本方案可以有效彌補傳統(tǒng)檢測方法的不足,對惡意變形的腳本或者架構(gòu)化異常的代碼進行檢測。
【IPC分類】G06F21/56
【公開號】CN104978525
【申請?zhí)枴緾N201410657009
【發(fā)明人】童志明, 沈長偉, 張栗偉
【申請人】哈爾濱安天科技股份有限公司
【公開日】2015年10月14日
【申請日】2014年11月18日