1.一種基于變量名混淆程度的腳本啟發(fā)式檢測(cè)方法,其特征在于,包括:
收集英文單詞語(yǔ)料庫(kù);
整合收集到的語(yǔ)料庫(kù),使用監(jiān)督類(lèi)型的機(jī)器學(xué)習(xí)方法對(duì)收集到的語(yǔ)料庫(kù)進(jìn)行分類(lèi)模型訓(xùn)練;
解析待檢測(cè)腳本,提取出所有變量名稱(chēng);
將變量名稱(chēng)逐一通過(guò)分類(lèi)模型,判斷是否為隨機(jī)字符串;
對(duì)待檢測(cè)腳本中的隨機(jī)字符串進(jìn)行統(tǒng)計(jì);所述統(tǒng)計(jì)內(nèi)容至少包括隨機(jī)字符串?dāng)?shù)量及平均長(zhǎng)度;
若所述統(tǒng)計(jì)內(nèi)容中有至少一項(xiàng)超過(guò)預(yù)設(shè)值,則所述待檢測(cè)腳本為惡意。
2.如權(quán)利要求1所述的方法,其特征在于,所述監(jiān)督類(lèi)型的機(jī)器學(xué)習(xí)方法為馬爾科夫鏈法。
3.如權(quán)利要求2所述的方法,其特征在于,馬爾科夫鏈法對(duì)收集到的語(yǔ)料庫(kù)進(jìn)行分類(lèi)模型訓(xùn)練方式具體為:
對(duì)語(yǔ)料庫(kù)中的所有單詞進(jìn)行分割,產(chǎn)生多個(gè)由兩個(gè)字母組成的片段,生成狀態(tài)轉(zhuǎn)移矩陣,對(duì)片段進(jìn)行頻率統(tǒng)計(jì);
選取常規(guī)單詞,以上述相同方式分割,利用上述生成的狀態(tài)轉(zhuǎn)移矩陣,計(jì)算常規(guī)單詞的出現(xiàn)頻率均值,作為常規(guī)單詞頻率;
選取隨機(jī)非單詞字符串,以上述相同方式分割,利用上述生成的狀態(tài)轉(zhuǎn)移矩陣,計(jì)算隨機(jī)非單詞字符串的出現(xiàn)頻率均值,作為隨機(jī)字符串頻率;上述常規(guī)單詞頻率應(yīng)大于隨機(jī)字符串頻率;
根據(jù)常規(guī)單詞頻率及隨機(jī)字符串頻率計(jì)算分類(lèi)頻率閾值。
4.如權(quán)利要求3所述的方法,其特征在于,將變量名稱(chēng)逐一通過(guò)分類(lèi)模型,判斷是否為隨機(jī)字符串,具體為:將變量名傳入分類(lèi)模型,所述變量名將按照上述方式分割為片段,利用上述生成的狀態(tài)轉(zhuǎn)移矩陣,計(jì)算變量名的出現(xiàn)頻率,并與分類(lèi)頻率閾值比較,若大于分類(lèi)頻率閾值,則所述變量名為正常,若小于分類(lèi)頻率閾值,則所述變量名為隨機(jī)字符串。
5.一種基于變量名混淆程度的腳本啟發(fā)式檢測(cè)系統(tǒng),其特征在于,包括:
語(yǔ)料庫(kù)收集模塊,用于收集英文單詞語(yǔ)料庫(kù);
模型訓(xùn)練模塊,用于整合收集到的語(yǔ)料庫(kù),使用監(jiān)督類(lèi)型的機(jī)器學(xué)習(xí)方法對(duì)收集到的語(yǔ)料庫(kù)進(jìn)行分類(lèi)模型訓(xùn)練;
腳本解析模塊,用于解析待檢測(cè)腳本,提取出所有變量名稱(chēng);
判斷模塊,用于將變量名稱(chēng)逐一通過(guò)分類(lèi)模型,判斷是否為隨機(jī)字符串;
統(tǒng)計(jì)模塊,用于對(duì)待檢測(cè)腳本中的隨機(jī)字符串進(jìn)行統(tǒng)計(jì);所述統(tǒng)計(jì)內(nèi)容至少包括隨機(jī)字符串?dāng)?shù)量及平均長(zhǎng)度;若所述統(tǒng)計(jì)內(nèi)容中有至少一項(xiàng)超過(guò)預(yù)設(shè)值,則所述待檢測(cè)腳本為惡意。
6.如權(quán)利要求5所述的系統(tǒng),其特征在于,所述監(jiān)督類(lèi)型的機(jī)器學(xué)習(xí)方法為馬爾科夫鏈法。
7.如權(quán)利要求6所述的系統(tǒng),其特征在于,馬爾科夫鏈法對(duì)收集到的語(yǔ)料庫(kù)進(jìn)行分類(lèi)模型訓(xùn)練方式具體為:
對(duì)語(yǔ)料庫(kù)中的所有單詞進(jìn)行分割,產(chǎn)生多個(gè)由兩個(gè)字母組成的片段,生成狀態(tài)轉(zhuǎn)移矩陣,對(duì)片段進(jìn)行頻率統(tǒng)計(jì);
選取常規(guī)單詞,以上述相同方式分割,利用上述生成的狀態(tài)轉(zhuǎn)移矩陣,計(jì)算常規(guī)單詞的出現(xiàn)頻率均值,作為常規(guī)單詞頻率;
選取隨機(jī)非單詞字符串,以上述相同方式分割,利用上述生成的狀態(tài)轉(zhuǎn)移矩陣,計(jì)算隨機(jī)非單詞字符串的出現(xiàn)頻率均值,作為隨機(jī)字符串頻率;上述常規(guī)單詞頻率應(yīng)大于隨機(jī)字符串頻率;
根據(jù)常規(guī)單詞頻率及隨機(jī)字符串頻率計(jì)算分類(lèi)頻率閾值。
8.如權(quán)利要求7所述的系統(tǒng),其特征在于,將變量名稱(chēng)逐一通過(guò)分類(lèi)模型,判斷是否為隨機(jī)字符串,具體為:將變量名傳入分類(lèi)模型,所述變量名將按照上述方式分割為片段,利用上述生成的狀態(tài)轉(zhuǎn)移矩陣,計(jì)算變量名的出現(xiàn)頻率,并與分類(lèi)頻率閾值比較,若大于分類(lèi)頻率閾值,則所述變量名為正常,若小于分類(lèi)頻率閾值,則所述變量名為隨機(jī)字符串。