本發(fā)明涉及互聯(lián)網(wǎng)安全技術(shù)領(lǐng)域,特別涉及一種jt808車載終端模擬器反檢測的方法。
背景技術(shù):
隨著國家政策法規(guī)的鼓勵(lì)與扶持,jt808終端設(shè)備(基于jt808通訊協(xié)議開發(fā)的,包含車輛信息登記、汽車行駛記錄、遇險(xiǎn)自動(dòng)報(bào)警等功能,以支持域名的方式接入到指定服務(wù)器的物理終端設(shè)備)及基于jt808協(xié)議(jt808協(xié)議是由國家交通部發(fā)布的關(guān)于道路運(yùn)輸車輛衛(wèi)星定位系統(tǒng)終端通訊協(xié)議及數(shù)據(jù)格式的協(xié)議標(biāo)準(zhǔn))的開放網(wǎng)關(guān)開始廣泛應(yīng)用。為了測試或者其他目的,jt808模擬終端也開始在各個(gè)技術(shù)論壇涌現(xiàn)出一些討論,并且出現(xiàn)了一些較為成熟、功能比較完善的模擬終端應(yīng)用程序。這類模擬終端通過tcp連接,向車輛監(jiān)控系統(tǒng)的開發(fā)網(wǎng)關(guān)發(fā)起數(shù)據(jù)連接請求,模擬發(fā)送數(shù)據(jù)報(bào)文。由此產(chǎn)生了一些安全風(fēng)險(xiǎn),如果這些模擬終端被黑客或惡意用戶利用,可以通過大量占用網(wǎng)絡(luò)連接、發(fā)送大數(shù)據(jù)量網(wǎng)絡(luò)報(bào)文等增加對系統(tǒng)的負(fù)載壓力,甚至導(dǎo)致系統(tǒng)癱瘓,從而干擾正常用戶的使用。
目前,對于jt808模擬終端的檢測尚未有成熟的技術(shù)。對于傳統(tǒng)的通用模擬終端檢測,專利cn104134041a提出一種方法:獲取終端模擬器中描述模擬終端信息的多項(xiàng)系統(tǒng)參數(shù)及其參數(shù)值;將各項(xiàng)系統(tǒng)參數(shù)的參數(shù)值分別與預(yù)置的參數(shù)庫中保存的默認(rèn)參數(shù)值進(jìn)行匹配,參數(shù)庫中保存有已被識(shí)別為模擬器信息的多項(xiàng)默認(rèn)參數(shù)值;將匹配出的系統(tǒng)參數(shù)的參數(shù)值修改為不同于默認(rèn)參數(shù)值且符合終端實(shí)際運(yùn)行環(huán)境中系統(tǒng)參數(shù)賦值規(guī)則的數(shù)值。
該方法通過系統(tǒng)參數(shù)作為特征來識(shí)別模擬終端,一定程度上可以達(dá)到抵御攻擊的效果。
但是,該專利存在明顯的缺陷,具體如下:
1、在實(shí)際場景中,并不能簡單根據(jù)匹配某一個(gè)系統(tǒng)參數(shù)值,則武斷判定該設(shè)備為模擬終端。如制造商id為12345,可能表明該終端在很大程度上為模擬終端。但具體是否是模擬終端,還必須再綜合檢查終端的位置上報(bào)頻率、行駛速度、上傳的經(jīng)緯度等信息。
2、該專利建立在模擬終端能夠響應(yīng)平臺(tái)網(wǎng)關(guān)發(fā)送的控制消息的基礎(chǔ)上。如果模擬終端不接受平臺(tái)發(fā)送的控制信息,或接收到控制消息后,并不做任何處理,則該專利中的方法無法達(dá)到攔截的效果。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提出了一種jt808車載終端模擬器反檢測的方法,解決了模擬終端的識(shí)別及控制的技術(shù)問題。
本發(fā)明采用的技術(shù)方案是:
一種jt808車載終端模擬器反檢測的方法,其特征在于,包括以下步驟:
步驟s1,參數(shù)獲取模塊解析模擬終端發(fā)送的報(bào)文中的參數(shù)特征,并將參數(shù)特征寫入數(shù)據(jù)庫中,輸出到基于特征的自動(dòng)學(xué)習(xí)模塊;
步驟s2,基于特征的自動(dòng)學(xué)習(xí)模塊通過自動(dòng)學(xué)習(xí)算法,對識(shí)別出的參數(shù)特征進(jìn)行權(quán)重計(jì)算,并將計(jì)算數(shù)據(jù)送入基于規(guī)則引擎的決策執(zhí)行模塊;
步驟s3,基于規(guī)則引擎的決策執(zhí)行模塊基于規(guī)則引擎處理結(jié)果,根據(jù)規(guī)則對接收的數(shù)據(jù)進(jìn)行處理。
進(jìn)一步地,所述步驟s1中參數(shù)特征包括終端省域id、市縣域id、制造商id、終端型號(hào)、終端id、車牌顏色、車牌、tcp消息重傳次數(shù)、終端心跳發(fā)送間隔、udp消息重傳次數(shù)、sms消息重傳次數(shù)、駕駛員未登陸匯報(bào)時(shí)間間隔、休眠時(shí)匯報(bào)時(shí)間間隔、每次最長通話時(shí)間、當(dāng)月最長通話時(shí)間、車輛里程表、位置信息匯報(bào)時(shí)的狀態(tài)位。
進(jìn)一步地,所述步驟s2中的基于特征的自動(dòng)學(xué)習(xí)模塊采用adaboost算法。
進(jìn)一步地,所述基于特征的自動(dòng)學(xué)習(xí)模塊根據(jù)參數(shù)獲取模塊輸出的參數(shù)特征,訓(xùn)練出m個(gè)弱分類器,m至少為2;每個(gè)弱分類器由n個(gè)訓(xùn)練樣本訓(xùn)練得到,n至少為1。
進(jìn)一步地,第一個(gè)弱分類器由n個(gè)權(quán)值相同的訓(xùn)練樣本訓(xùn)練得到,其余弱分類器由n個(gè)權(quán)值不完全相同的訓(xùn)練樣本訓(xùn)練得到。
進(jìn)一步地,每個(gè)弱分類器通過加權(quán)平均輸出對最終分類結(jié)果發(fā)生作用。
進(jìn)一步地,所述步驟s2包括以下步驟:
步驟s21:訓(xùn)練第一個(gè)弱分類器,n個(gè)訓(xùn)練樣本的權(quán)值均為wi,i為訓(xùn)練樣本序號(hào),表示第i個(gè)訓(xùn)練樣本,i=1,2,3,...n;
通過第一個(gè)弱分類器,得到n個(gè)訓(xùn)練樣本的分類預(yù)測標(biāo)簽,與給出的訓(xùn)練樣本真實(shí)標(biāo)簽對比,如果其中一個(gè)訓(xùn)練樣本出現(xiàn)預(yù)測錯(cuò)誤,則所述預(yù)測錯(cuò)誤對應(yīng)的錯(cuò)誤值為該訓(xùn)練樣本的權(quán)值,如果分類正確,則錯(cuò)誤值為0,最后累加n個(gè)訓(xùn)練樣本的錯(cuò)誤值之和,記為ε。
步驟s22:通過ε計(jì)算第一個(gè)弱分類器的權(quán)值α,公式如下:
步驟s23:通過α計(jì)算訓(xùn)練下一個(gè)弱分類器訓(xùn)練樣本的權(quán)值,如果訓(xùn)練樣本分類正確,則減小所述訓(xùn)練樣本的權(quán)值;如果訓(xùn)練樣本分類錯(cuò)誤,則增加所述訓(xùn)練樣本的權(quán)值。
步驟s24:循環(huán)步驟s21、步驟s22、步驟s23來繼續(xù)訓(xùn)練其余弱分類器。
進(jìn)一步地,步驟s23中減小所述訓(xùn)練樣本的權(quán)值,公式為:
步驟s23中增加所述訓(xùn)練樣本的權(quán)值,公式為:
其中,i為訓(xùn)練樣本序號(hào),表示第i個(gè)訓(xùn)練樣本,i=1,2,3,...n;t為迭代次數(shù),t=1,2,3,...,t≥1;
進(jìn)一步地,所述步驟s3中基于規(guī)則引擎的決策執(zhí)行模塊包括patternmatcher、agenda和executionengine三個(gè)子模塊,其中:
patternmatcher子模塊根據(jù)所述步驟s22輸出的權(quán)值選擇執(zhí)行規(guī)則;
agenda子模塊根據(jù)規(guī)則提取出具體需要執(zhí)行的規(guī)則所包含的子task以及task執(zhí)行順序;
executionengine子模塊負(fù)責(zé)按照agenda子模塊輸出的子task及執(zhí)行順序執(zhí)行規(guī)則。
進(jìn)一步地,所述規(guī)則包括接受、下發(fā)終端設(shè)置修改消息、設(shè)置jt808網(wǎng)關(guān)白名單、設(shè)置jt808網(wǎng)關(guān)黑名單、位置數(shù)據(jù)抽稀后接受、拒絕。
本發(fā)明具有防止終端模擬程序?qū)t808開放網(wǎng)關(guān)造成的惡意攻擊,提高jt808開放網(wǎng)關(guān)安全性的有益效果。
附圖說明
圖1是本發(fā)明流程圖。
圖2是基于特征的自動(dòng)學(xué)習(xí)模塊的實(shí)施例。
具體實(shí)施方式
本發(fā)明采用基于權(quán)重的特征識(shí)別算法,加入自動(dòng)學(xué)習(xí)的智能處理模塊,并且建立基于權(quán)重的規(guī)則,由jt808開放網(wǎng)關(guān)(服務(wù)端)決定對模擬終端采用何種策略,如放行、數(shù)據(jù)抽稀放行或攔截。下文中,結(jié)合附圖和實(shí)施例對本發(fā)明作進(jìn)一步闡述。
圖1是本發(fā)明一種jt808車載終端模擬器反檢測的方法流程圖,包括以下步驟:
步驟s1,參數(shù)獲取模塊解析模擬終端發(fā)送的報(bào)文中的參數(shù)特征,并將參數(shù)特征寫入數(shù)據(jù)庫中,輸出到基于特征的自動(dòng)學(xué)習(xí)模塊。
步驟s2,基于特征的自動(dòng)學(xué)習(xí)模塊通過自動(dòng)學(xué)習(xí)算法,對識(shí)別出的參數(shù)特征進(jìn)行權(quán)重計(jì)算,并將計(jì)算數(shù)據(jù)送入基于規(guī)則引擎的決策執(zhí)行模塊。
步驟s3,基于規(guī)則引擎的決策執(zhí)行模塊基于規(guī)則引擎處理結(jié)果,根據(jù)規(guī)則對接收的數(shù)據(jù)進(jìn)行處理。
以下對步驟s1、步驟s2和步驟s3中的三個(gè)模塊作進(jìn)一步闡述。
步驟s1中參數(shù)獲取模塊可配置為獲取模擬終端中描述模擬終端信息的多項(xiàng)系統(tǒng)參數(shù)及其參數(shù)值,提取模擬終端參數(shù)特征。有以下參數(shù)可作為參數(shù)特征被利用,包括:終端省域id、市縣域id、制造商id、終端型號(hào)、終端id、車牌顏色、車牌、tcp消息重傳次數(shù)、終端心跳發(fā)送間隔、udp消息重傳次數(shù)、sms消息重傳次數(shù)、駕駛員未登陸匯報(bào)時(shí)間間隔、休眠時(shí)匯報(bào)時(shí)間間隔、每次最長通話時(shí)間、當(dāng)月最長通話時(shí)間、車輛里程表、位置信息匯報(bào)時(shí)的狀態(tài)位、緯度、經(jīng)度、高程、速度、時(shí)間等。參數(shù)獲取模塊會(huì)將如上參數(shù)特征讀取后寫入數(shù)據(jù)庫中。
步驟s2中基于特征的自動(dòng)學(xué)習(xí)模塊,采用adaboost算法,流程圖如圖2所示。
首先,基于特征的自動(dòng)學(xué)習(xí)模塊根據(jù)參數(shù)獲取模塊輸出的各個(gè)參數(shù)特征,訓(xùn)練出m個(gè)弱分類器,m至少為2(圖2中弱分類器為3個(gè));每個(gè)弱分類器是由n個(gè)不同權(quán)值的訓(xùn)練樣本訓(xùn)練得到(其中第一個(gè)弱分類器對應(yīng)輸入訓(xùn)練樣本的權(quán)值是一樣的),n至少為1(n越大,訓(xùn)練結(jié)果越準(zhǔn)確,圖2中為5個(gè)訓(xùn)練樣本),而每個(gè)弱分類器對最終分類結(jié)果的作用也不同,是通過加權(quán)平均輸出的。圖2中三角形里面的權(quán)值為示例數(shù)據(jù),并非實(shí)際計(jì)算結(jié)果,該值為下文中步驟s22計(jì)算出的結(jié)果。
步驟s2中具體實(shí)現(xiàn)步驟為:
步驟s21:訓(xùn)練第一個(gè)弱分類器,n個(gè)訓(xùn)練樣本的權(quán)值wi為相同的均值,i為訓(xùn)練樣本序號(hào),表示第i個(gè)訓(xùn)練樣本,i=1,2,3,...n。通過第一個(gè)弱分類器,得到n個(gè)訓(xùn)練樣本的分類預(yù)測標(biāo)簽。與給出的訓(xùn)練樣本真實(shí)標(biāo)簽對比,就可能出現(xiàn)誤差(即預(yù)測錯(cuò)誤)。如果某個(gè)訓(xùn)練樣本出現(xiàn)預(yù)測錯(cuò)誤,則它對應(yīng)的錯(cuò)誤值為該訓(xùn)練樣本的權(quán)值,如果分類正確,則錯(cuò)誤值為0,最后累加n個(gè)訓(xùn)練樣本的錯(cuò)誤值之和,記為ε。
步驟s22:通過ε計(jì)算第一個(gè)弱分類器的權(quán)值α,公式如下:
步驟s23:通過α計(jì)算訓(xùn)練下一個(gè)弱分類器訓(xùn)練樣本的權(quán)值,如果訓(xùn)練樣本分類正確,則減小所述訓(xùn)練樣本的權(quán)值,公式為:
如果訓(xùn)練樣本分類錯(cuò)誤,則增加所述訓(xùn)練樣本的權(quán)值,公式為:
其中,t為迭代次數(shù),t=1,2,3,...,t≥1;
步驟s24:循環(huán)步驟s21、步驟s22、步驟s23來繼續(xù)訓(xùn)練多個(gè)弱分類器。
步驟s3中基于規(guī)則引擎的決策執(zhí)行模塊包括patternmatcher、agenda和executionengine三個(gè)子模塊,其中:
1、patternmatcher子模塊根據(jù)所述步驟s22輸出的權(quán)值選擇執(zhí)行規(guī)則;
2、agenda子模塊根據(jù)規(guī)則提取出具體需要執(zhí)行的規(guī)則所包含的子task以及task執(zhí)行順序;
3、executionengine子模塊負(fù)責(zé)按照agenda子模塊輸出的子task及執(zhí)行順序執(zhí)行規(guī)則。
所述規(guī)則包括接受、下發(fā)終端設(shè)置修改消息、設(shè)置jt808網(wǎng)關(guān)白名單、設(shè)置jt808網(wǎng)關(guān)黑名單、位置數(shù)據(jù)抽稀后接受、拒絕等。
本發(fā)明雖然已以較佳實(shí)施例公開如上,但其并不是用來限定本發(fā)明,任何本領(lǐng)域技術(shù)人員在不脫離本發(fā)明的精神和范圍內(nèi),都可以利用上述揭示的方法和技術(shù)內(nèi)容對本發(fā)明技術(shù)方案做出可能的變動(dòng)和修改,因此,凡是未脫離本發(fā)明技術(shù)方案的內(nèi)容,依據(jù)本發(fā)明的技術(shù)實(shí)質(zhì)對以上實(shí)施例所作的任何簡單修改、等同變化及修飾,均屬于本發(fā)明技術(shù)方案的保護(hù)范圍。