本公開涉及服務(wù)器領(lǐng)域,尤其涉及一種識別惡意用戶的方法及裝置。
背景技術(shù):
隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,網(wǎng)絡(luò)服務(wù)器可以憑借其強大的處理性能來并行地為大量訪問用戶提供信息服務(wù),例如諸如軟件下載、網(wǎng)上聊天、網(wǎng)上購物等等。然而在訪問網(wǎng)絡(luò)服務(wù)器的用戶中,常存在一些使用技術(shù)手段損害他人權(quán)益的惡意用戶。比如,網(wǎng)上電子商城的在線商品搶購是一種新興的商品銷售方式,可以起到宣傳新品、吸引高忠誠度用戶的作用,但一些惡意用戶會通過技術(shù)手段惡意搶購大量商品并轉(zhuǎn)手加價銷售,嚴重損害了銷售者和其他消費者的權(quán)益。
為了有效制止惡意用戶的行為,目前已存在了一些可以在用戶群體中識別出惡意用戶的方案。例如針對上述惡意搶購的情形,有方案基于對用戶的評分機制,在用戶觸發(fā)短時間內(nèi)多次添加購物車等條件時扣除其一定分值,并將分值低于閾值的用戶判定為惡意用戶,從而起到一定的限制惡意用戶的作用。
但是,上述方案的實際效果嚴重依賴于評分機制的制定者的個人經(jīng)驗和個人能力,不可避免地受制于制定者的主觀認知,因而很容易產(chǎn)生誤判和漏判的情況,達不到識別惡意用戶的準確度要求。
技術(shù)實現(xiàn)要素:
為克服相關(guān)技術(shù)中存在的問題,本公開提供一種識別惡意用戶的方法及裝置。
根據(jù)本公開實施例的第一方面,提供一種識別惡意用戶的方法,包括:
獲取待識別用戶的歷史行為特征;
獲取用戶分類模型,所述用戶分類模型基于惡意用戶的歷史行為特征和正常用戶的歷史行為特征由分類器模型訓(xùn)練生成;
將所述待識別用戶的歷史行為特征輸入所述用戶分類模型,以確定所述待識別用戶是否為惡意用戶。
本公開實施例基于由分類器模型訓(xùn)練得到的用戶分類模型,可以利用機器學(xué)習(xí)算法的特性自動分析惡意用戶的行為特征,相比于相關(guān)技術(shù)而言具有不依賴人的主觀認知以及行為特征的覆蓋范圍更廣的特點,因而可以有效減少誤判和漏判的情況,提高識別惡意用戶的準確程度。
在本公開的一個實施例中,所述方法還包括:
在任一識別周期結(jié)束之后,獲取惡意用戶和/或正常用戶在所述識別周期內(nèi)的歷史行為特征,并基于所獲取的歷史行為特征擴充已存儲的訓(xùn)練集;
基于擴充后的訓(xùn)練集,對所述用戶分類模型進行調(diào)整。
本公開實施例基于識別周期結(jié)束后的訓(xùn)練集擴充和用戶分類模型調(diào)整,可以通過定期采集惡意用戶和/或正常用戶的行為變化,來及時調(diào)整用戶分類模型來適應(yīng)其行為變化,使得在服務(wù)器功能的變更或者惡意用戶的行為模式變化時,仍然可以在一定程度上保障識別惡意用戶的準確程度,實現(xiàn)惡意用戶識別方案對于應(yīng)用場景變化的自適應(yīng)。
在本公開的一個實施例中,所述方法還包括:
在確定所述待識別用戶是惡意用戶之后,為所述待識別用戶添加惡意用戶標(biāo)記。
本公開實施例基于對確定為惡意用戶的待識別用戶添加惡意用戶標(biāo)記,可以配合上述訓(xùn)練集擴充和用戶分類模型調(diào)整及時采集最新識別出來的惡意用戶的行為特征,有利于增強對惡意用戶的行為特征變化的適應(yīng)能力。
在本公開的一個實施例中,所述方法還包括:
在獲取任一用戶分類模型之后,根據(jù)預(yù)先設(shè)置的評價策略判斷所述用戶分類模型的分類效果是否滿足要求;
在所述用戶分類模型的分類效果不滿足要求時重新生成一不同的用戶分類模型,直至用戶分類模型的分類效果滿足要求。
基于根據(jù)評價策略判斷分類效果,以及在分類效果不滿足要求時重新生成一不同的用戶分類模型,本實施例可以避免將分類效果差的用戶分類模型投入到實際應(yīng)用當(dāng)中,并且可以利用用戶分類模型在生成時所可能具有的隨機性擇優(yōu)選取所使用的用戶分類模型,有助于進一步提升識別惡意用戶的準確程度。
在本公開的一個實施例中,所述根據(jù)預(yù)先設(shè)置的評價策略判斷所述用戶分類模型的分類效果是否滿足要求,包括:
在所述用戶分類模型的分類準確率小于第一預(yù)設(shè)閾值時,確定所述用戶分類模型的分類效果不滿足要求;
和/或,
在所述用戶分類模型的分類錯誤率大于第二預(yù)設(shè)閾值時,確定所述用戶分類模型的分類效果不滿足要求;
和/或,
在所述用戶分類模型的惡意用戶覆蓋率小于第三預(yù)設(shè)閾值時,確定所述用戶分類模型的分類效果不滿足要求;
和/或,
在所述用戶分類模型的惡意用戶命中率小于第四預(yù)設(shè)閾值時,確定所述用戶分類模型的分類效果不滿足要求;
和/或,
在所述用戶分類模型的接收者操作特征曲線ROC的曲線下面積AUC小于第五預(yù)設(shè)閾值時,確定所述用戶分類模型的分類效果不滿足要求。
在本公開的一個實施例中,所述分類器模型屬于Gradient Boosting決策樹模型。
基于所述分類器模型屬于Gradient Boosting決策樹模型,可以通過多個弱分類器實現(xiàn)用戶分類模型,具有一定的不確定性,因而可以配合上述評價策略的判斷實現(xiàn)擇優(yōu)選?。欢?,通過決策樹模型所得到的分類器具有突出的可解釋性,因而可以為操作人員提供更容易理解的分析數(shù)據(jù)。
根據(jù)本公開實施例的第二方面,提供一種識別惡意用戶的裝置,包括:
第一獲取模塊,被配置為獲取待識別用戶的歷史行為特征;
第二獲取模塊,被配置為獲取用戶分類模型,所述用戶分類模型基于惡意用戶的歷史行為特征和正常用戶的歷史行為特征由分類器模型訓(xùn)練生成;
輸入模塊,被配置為將所述待識別用戶的歷史行為特征輸入所述用戶分類模型,以確定所述待識別用戶是否為惡意用戶。
在本公開的一個實施例中,所述裝置還包括:
第三獲取模塊,被配置為在任一識別周期結(jié)束之后,獲取惡意用戶和/或正常用戶在所述識別周期內(nèi)的歷史行為特征,并基于所獲取的歷史行為特征擴充已存儲的訓(xùn)練集;
調(diào)整模塊,被配置為基于被所述第三獲取模塊擴充后的訓(xùn)練集,對所述用戶分類模型進行調(diào)整。
在本公開的一個實施例中,所述裝置還包括:
添加模塊,被配置為在確定所述待識別用戶是惡意用戶之后,為所述待識別用戶添加惡意用戶標(biāo)記。
在本公開的一個實施例中,所述裝置還包括:
判斷模塊,被配置為在獲取任一用戶分類模型之后,根據(jù)預(yù)先設(shè)置的評價策略判斷所述用戶分類模型的分類效果是否滿足要求;
生成模塊,被配置為在所述用戶分類模型的分類效果不滿足要求時重新生成一不同的用戶分類模型,直至用戶分類模型的分類效果滿足要求。
在本公開的一個實施例中,所述判斷模塊包括:
第一確定單元,被配置為在所述用戶分類模型的分類準確率小于第一預(yù)設(shè)閾值時,確定所述用戶分類模型的分類效果不滿足要求;
和/或,
第二確定單元,被配置為在所述用戶分類模型的分類錯誤率大于第二預(yù)設(shè)閾值時,確定所述用戶分類模型的分類效果不滿足要求;
和/或,
第三確定單元,被配置為在所述用戶分類模型的惡意用戶覆蓋率小于第三預(yù)設(shè)閾值時,確定所述用戶分類模型的分類效果不滿足要求;
和/或,
第四確定單元,被配置為在所述用戶分類模型的惡意用戶命中率小于第四預(yù)設(shè)閾值時,確定所述用戶分類模型的分類效果不滿足要求;
和/或,
第五確定單元,被配置為在所述用戶分類模型的接收者操作特征曲線ROC的曲線下面積AUC小于第五預(yù)設(shè)閾值時,確定所述用戶分類模型的分類效果不滿足要求。
在本公開的一個實施例中,所述分類器模型屬于Gradient Boosting決策樹模型。
根據(jù)本公開實施例的第三方面,提供一種識別惡意用戶的裝置,包括:
處理器;
用于存儲處理器可執(zhí)行的指令的存儲器;
其中,所述處理器被配置為:
獲取待識別用戶的歷史行為特征;
獲取用戶分類模型,所述用戶分類模型基于惡意用戶的歷史行為特征和正常用戶的歷史行為特征由分類器模型訓(xùn)練生成;
將所述待識別用戶的歷史行為特征輸入所述用戶分類模型,以確定所述待識別用戶是否為惡意用戶。
本公開的實施例提供的技術(shù)方案可以包括以下有益效果:本公開由分類器模型訓(xùn)練得到的用戶分類模型,可以利用機器學(xué)習(xí)算法的特性自動分析惡意用戶的行為特征,相比于相關(guān)技術(shù)而言具有不依賴人的主觀認知以及行為特征的覆蓋范圍更廣的特點,因而可以有效減少誤判和漏判的情況,提高識別惡意用戶的準確程度。
應(yīng)當(dāng)理解的是,以上的一般描述和后文的細節(jié)描述僅是示例性和解釋性的,并不能限制本公開。
附圖說明
此處的附圖被并入說明書中并構(gòu)成本說明書的一部分,示出了符合本公開的實施例,并與說明書一起用于解釋本公開的原理。
圖1是根據(jù)一示例性實施例示出的一種識別惡意用戶的方法的流程圖;
圖2是根據(jù)一示例性實施例示出的一種識別惡意用戶的方法的流程圖;
圖3是根據(jù)一示例性實施例示出的一種識別惡意用戶的方法的流程圖;
圖4是根據(jù)一示例性實施例示出的一種識別惡意用戶的裝置的結(jié)構(gòu)框圖;
圖5是根據(jù)一示例性實施例示出的一種識別惡意用戶的裝置的結(jié)構(gòu)框圖。
具體實施方式
為使本公開的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本公開實施方式作進一步地詳細描述。
這里將詳細地對示例性實施例進行說明,其示例表示在附圖中。下面的描述涉及附圖時,除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實施例中所描述的實施方式并不代表與本公開相一致的所有實施方式。相反,它們僅是與如所附權(quán)利要求書中所詳述的、本公開的一些方面相一致的裝置和方法的例子。
圖1是根據(jù)一示例性實施例示出的一種識別惡意用戶的方法的流程圖,如圖1所示,包括以下步驟:
在步驟101中,獲取待識別用戶的歷史行為特征;
在步驟102中,獲取用戶分類模型,所述用戶分類模型基于惡意用戶的歷史行為特征和正常用戶的歷史行為特征由分類器模型訓(xùn)練生成;
在步驟103中,將所述待識別用戶的歷史行為特征輸入所述用戶分類模型,以確定所述待識別用戶是否為惡意用戶。
在一種可能的實現(xiàn)方式中,所述方法還包括:
在任一識別周期結(jié)束之后,獲取惡意用戶和/或正常用戶在所述識別周期內(nèi)的歷史行為特征,并基于所獲取的歷史行為特征擴充已存儲的訓(xùn)練集;
基于擴充后的訓(xùn)練集,對所述用戶分類模型進行調(diào)整。
在一種可能的實現(xiàn)方式中,所述方法還包括:
在確定所述待識別用戶是惡意用戶之后,為所述待識別用戶添加惡意用戶標(biāo)記。
在一種可能的實現(xiàn)方式中,所述方法還包括:
在獲取任一用戶分類模型之后,根據(jù)預(yù)先設(shè)置的評價策略判斷所述用戶分類模型的分類效果是否滿足要求;
在所述用戶分類模型的分類效果不滿足要求時重新生成一不同的用戶分類模型,直至用戶分類模型的分類效果滿足要求。
在一種可能的實現(xiàn)方式中,所述根據(jù)預(yù)先設(shè)置的評價策略判斷所述用戶分類模型的分類效果是否滿足要求,包括:
在所述用戶分類模型的分類準確率小于第一預(yù)設(shè)閾值時,確定所述用戶分類模型的分類效果不滿足要求;
和/或,
在所述用戶分類模型的分類錯誤率大于第二預(yù)設(shè)閾值時,確定所述用戶分類模型的分類效果不滿足要求;
和/或,
在所述用戶分類模型的惡意用戶覆蓋率小于第三預(yù)設(shè)閾值時,確定所述用戶分類模型的分類效果不滿足要求;
和/或,
在所述用戶分類模型的惡意用戶命中率小于第四預(yù)設(shè)閾值時,確定所述用戶分類模型的分類效果不滿足要求;
和/或,
在所述用戶分類模型的接收者操作特征曲線ROC的曲線下面積AUC小于第五預(yù)設(shè)閾值時,確定所述用戶分類模型的分類效果不滿足要求。
在一種可能的實現(xiàn)方式中,所述分類器模型屬于Gradient Boosting決策樹模型。
需要說明的是,本實施例的方法可以應(yīng)用于任意一種服務(wù)器中,其可以是單個的服務(wù)器設(shè)備,也可以是服務(wù)器群組、服務(wù)器集群或者云服務(wù)器等等。
還需要說明的是,本實施例中的待識別用戶指的是所有已知用戶中任意一個需要確定是否為惡意用戶的用戶,可采用用戶特有信息中任意的一項或一項以上的組合來將一個用戶與其他用戶區(qū)分開,例如采用用戶的登入ID、用戶所使用設(shè)備的MAC地址、用戶所使用的IP地址,或者服務(wù)器為每一個登入ID和IP地址的組合分配的用戶標(biāo)識等等,本公開對此不做限制。
還需要說明的是,本實施例中的歷史行為特征指的是表示用戶在與服務(wù)器之間進行交互的過程區(qū)別于其他用戶的信息,比如用戶訪問服務(wù)器的統(tǒng)一資源定位符URL、用戶在某一時間段內(nèi)訪問服務(wù)器的總次數(shù)、用戶在訪問服務(wù)器期間點擊了某個按鈕的事件等等,所述歷史行為特征所覆蓋的信息范圍可以根據(jù)應(yīng)用需求預(yù)先設(shè)置,本公開對此不做限制。由此,本實施例中獲取歷史行為特征的方式可以例如是在服務(wù)器日志和/或客戶端日志中獲取。
還需要說明的是,本實施例中的用戶分類模型的輸入量包含用戶的歷史行為特征,用戶分類模型的輸出量包含表示用戶是否為惡意用戶的信息,其本質(zhì)上是經(jīng)過訓(xùn)練的分類器模型,所使用的分類器模型可以在機器學(xué)習(xí)算法中選取,例如樸素貝葉斯算法、支持向量機(Support Vector Machine,SVM)、神經(jīng)網(wǎng)絡(luò)算法、決策樹算法等等,本公開對此不做限制。
可以看出,本公開基于由分類器模型訓(xùn)練得到的用戶分類模型,可以利用機器學(xué)習(xí)算法的特性自動分析惡意用戶的行為特征,相比于相關(guān)技術(shù)而言具有不依賴人的主觀認知以及行為特征的覆蓋范圍更廣的特點,因而可以有效減少誤判和漏判的情況,提高識別惡意用戶的準確程度。
圖2是根據(jù)一示例性實施例示出的一種識別惡意用戶的方法的流程圖,如圖2所示,該方法包括以下步驟:
步驟201中,獲取一個識別周期內(nèi)的服務(wù)器日志和客戶端日志。
需要說明的是,本實施例的方法可以應(yīng)用于任意一種服務(wù)器中,其可以是單個的服務(wù)器設(shè)備,也可以是服務(wù)器群組、服務(wù)器集群或者云服務(wù)器等等。
其中,客戶端日志可以由用戶終端在收到服務(wù)器的請求消息后向服務(wù)器發(fā)送,也可以由用戶終端每隔固定時間發(fā)送至服務(wù)器??梢岳斫獾氖牵?wù)器日志和客戶端日志中不僅僅包含歷史行為特征所覆蓋的信息,還包括例如服務(wù)器運行狀態(tài)信息、客戶端運行狀態(tài)信息等等與用戶行為無關(guān)的信息,因此為了獲取歷史行為特征,需要先對服務(wù)器日志和客戶端日志中的信息進行篩選。
步驟202中,按照歷史行為特征的設(shè)定范圍從服務(wù)器日志和客戶端日志中篩選出待識別用戶的用戶行為信息。
舉例來說,歷史行為特征的設(shè)定范圍可以包括:用戶向服務(wù)器發(fā)送的所有統(tǒng)一資源定位符URL中每個類型所占的次數(shù);每個日志類型(例如客戶端、崩潰、錯誤、事件和頁面)下的日志條數(shù);每個時間段下產(chǎn)生的日志條數(shù);客戶端下某些特殊事件(例如點擊按鈕的事件或者滑動頁面的事件)的發(fā)生次數(shù)。由此,可以在服務(wù)器日志和客戶端日志中篩選出相對應(yīng)的信息,以用于歷史行為特征的獲取。
步驟203中,基于預(yù)設(shè)特征映射表將待識別用戶的用戶行為信息轉(zhuǎn)換為具有向量形式的歷史行為特征。
其中,所述具有向量形式的歷史行為特征可以由多個特征值順序組成,每個特征值各自對應(yīng)一項用戶的行為特征,歷史行為特征的特征值數(shù)量以及每個特征值所對應(yīng)的用戶的行為特征可以在上述預(yù)設(shè)特征映射表中根據(jù)應(yīng)用需求預(yù)先設(shè)置。從而,可以依照預(yù)設(shè)特征映射表將日志格式的用戶行為信息轉(zhuǎn)換為向量形式的歷史行為特征。舉例來說,歷史行為特征的組成和兩個用戶的歷史行為特征示例如下表1所示。
表1 用戶的歷史行為特征示例
如表1所示的具有向量形式的歷史行為特征中,依次包含:用戶向服務(wù)器發(fā)送的第一類型的URL的次數(shù)URL1、用戶向服務(wù)器發(fā)送的第二類型的URL的次數(shù)URL2、…(其他類型的URL所對應(yīng)的次數(shù))、錯誤日志類型下的日志條數(shù)ER、崩潰日志類型下的日志條數(shù)FT、…(其他日志類型對應(yīng)的日志條數(shù))、0點到1點之間的客戶端日志的日志條數(shù)00m、0點到1點之間的服務(wù)器日志的日志條數(shù)00o、…(其他時間段下客戶端日志/服務(wù)器日志的日志條數(shù))、23點到24點之間服務(wù)器日志的日志條數(shù)23o、客戶端下滑動事件的發(fā)生次數(shù)SL。在上述特征值的組成方式下,第一待識別用戶U1的歷史行為特征可以表示為(12,0,…,15,1,…,3,1,…,6,11)的向量,第二待識別用戶U2的歷史行為特征可以表示為(1,55,…,0,0,…,30,30,…,30,0)的向量。由此,各個特征值可以通過對上述用戶行為信息的數(shù)據(jù)處理得到。由于預(yù)設(shè)特征映射表固定了每個歷史行為特征的特征值數(shù)量和每個特征值所對應(yīng)的用戶的行為特征,因此可以保障所得到的具有向量形式的歷史行為特征的結(jié)構(gòu)一致。此外,在歷史行為特征包含與時刻有關(guān)的特征值(例如上述分小時統(tǒng)計的日志條數(shù))時,為了保障不同識別周期之間的上述歷史行為特征的結(jié)構(gòu)一致,可以設(shè)置每一識別周期的開始時刻和結(jié)束時刻在一天的24小時內(nèi)都具有固定的時刻。
上述步驟201至步驟203是上述步驟101的一種可能的實現(xiàn)方式,在其他可能的實現(xiàn)方式中,還可以僅由服務(wù)器日志獲取用戶的歷史行為特征,或者通過第三方網(wǎng)絡(luò)設(shè)備獲取待識別用戶的歷史行為特征,本公開對此不做限制。
步驟204中,獲取用戶分類模型。
舉例來說,用戶分類模型的輸入量可以是上述具有向量形式的歷史行為特征,輸出量可以是0(代表用戶是正常用戶)和1(代表用戶是惡意用戶)。由此,被配置為對分類器模型訓(xùn)練生成用戶分類模型的訓(xùn)練集可以包含多個正常用戶(輸出量為0)的歷史行為特征的向量,以及多個惡意用戶(輸出量為1)的歷史行為特征的向量。其中,訓(xùn)練集中的數(shù)據(jù)可以至少部分地來自于事前的人為設(shè)定或?qū)嶒灢杉?,并可以存儲在服?wù)器當(dāng)中,本實施例對此不做限制。此外,用戶分類模型的生成示例將在后文詳述。
步驟205中,將待識別用戶的歷史行為特征輸入用戶分類模型,以確定待識別用戶是否為惡意用戶。
舉例來說,在將上述表1所示的第一待識別用戶U1的歷史行為特征輸入到用戶分類模型中之后,可以通過用戶分類模型得到0或1的輸出量,其中輸出量為1時表示第一待識別用戶U1是惡意用戶,輸出量為0時表示第一待識別用戶U1是正常用戶。可以理解的是,用戶分類模型由輸入量得到輸出量的過程可以是一系列的分類計算過程。
步驟206中,在確定待識別用戶是惡意用戶之后,為待識別用戶添加惡意用戶標(biāo)記。
舉例來說,在將上述表1所示的第一待識別用戶U1識別為惡意用戶之后,可以在服務(wù)器內(nèi)部存儲的用戶列表中向該用戶的用戶屬性中添加字符標(biāo)記。在本公開的其他實施方式中,添加惡意用戶標(biāo)記的方式還可以是將該用戶移動至黑名單下,或者將該用戶的信用等級變更為最低等等,視為對待識別用戶添加惡意用戶標(biāo)記的等同實現(xiàn)方式,本公開對此不做限制。
步驟207中,在所述識別周期結(jié)束之后,獲取惡意用戶和正常用戶在所述識別周期內(nèi)的歷史行為特征,并基于所獲取的歷史行為特征擴充已存儲的訓(xùn)練集。
舉例來說,可以在服務(wù)器日志和客戶端日志中按照步驟202和步驟203的方式獲取預(yù)先確定的白名單用戶的歷史行為特征,連同輸出量為1的數(shù)據(jù)一并擴充到已存儲的訓(xùn)練集中;還可以在服務(wù)器日志和客戶端日志中按照步驟202和步驟203的方式獲取預(yù)先確定的黑名單用戶的歷史行為特征,連同輸出量為0的數(shù)據(jù)擴充到已存儲的訓(xùn)練集中。在其他可能的實現(xiàn)方式中,步驟207中還可以僅獲取惡意用戶在所述識別周期內(nèi)的歷史行為特征或者僅獲取正常用戶在在所述識別周期內(nèi)的歷史行為特征,本公開對此不做限制。此外,在一種可能的實現(xiàn)方式中,還可以獲取上述在步驟206中被確定為惡意用戶在所述識別周期內(nèi)的歷史行為特征,以擴充已存儲的訓(xùn)練集。
步驟208中,基于擴充后的訓(xùn)練集,對所述用戶分類模型進行調(diào)整。
在一種可能的實現(xiàn)方式中,可以基于擴充后的訓(xùn)練集對所述分類器模型進行訓(xùn)練,以得到一個全新的用戶分類模型來代替原有的用戶分類模型。在另一種可能的實現(xiàn)方式中,可以將訓(xùn)練集的擴充部分與擴充前的部分按照預(yù)定比例混合,并對已經(jīng)得到的用戶分類模型繼續(xù)訓(xùn)練,以改變原有的用戶分類模型。
可以看出的是,本實施例基于機器學(xué)習(xí)算法生成的用戶分類模型,可以依照機器學(xué)習(xí)的方式自動地提取出惡意用戶的行為特征,用來對待識別用戶進行判斷。相比于相關(guān)技術(shù),本實施例不需要用戶分類模型的設(shè)計者對惡意用戶的行為特征有豐富的經(jīng)驗和認知,并且可以通過擴大歷史行為特征的設(shè)定范圍來廣泛地將用戶的各類行為特征都考慮進來,因而具有不依賴人的主觀認知以及行為特征的覆蓋范圍更廣的特點,可以有效減少誤判和漏判的情況,提高識別惡意用戶的準確程度。
還可以看出的是,基于識別周期結(jié)束后的訓(xùn)練集擴充和用戶分類模型調(diào)整,本公開實施例可以通過定期采集惡意用戶和/或正常用戶的行為變化,來及時調(diào)整用戶分類模型來適應(yīng)其行為變化,使得在服務(wù)器功能的變更或者惡意用戶的行為模式變化時,仍然可以在一定程度上保障識別惡意用戶的準確程度,實現(xiàn)惡意用戶識別方案對于應(yīng)用場景變化的自適應(yīng)。而且,本公開實施例基于對確定為惡意用戶的待識別用戶添加惡意用戶標(biāo)記,可以配合上述訓(xùn)練集擴充和用戶分類模型調(diào)整及時采集最新識別出來的惡意用戶的行為特征,有利于增強對惡意用戶的行為特征變化的適應(yīng)能力。
圖3是根據(jù)一示例性實施例示出的一種識別惡意用戶的方法的流程圖。本實施例的方法在圖1或圖2所示過程的基礎(chǔ)之上,還包括圖3所示的下述步驟:
在步驟301中,在獲取任一用戶分類模型之后,根據(jù)預(yù)先設(shè)置的評價策略判斷所述用戶分類模型的分類效果是否滿足要求。
其中,評價策略可以包含一個或一個以上的判斷條件,每個判斷條件可以包含預(yù)設(shè)閾值,以使在用戶分類模型滿足所有判斷條件時確定用戶分類模型的分類效果滿足要求。例如,評價策略可以包含下述的一個或一個以上的判斷條件:用戶分類模型的分類準確率大于第一預(yù)設(shè)閾值;用戶分類模型的分類錯誤率小于第二預(yù)設(shè)閾值;用戶分類模型的惡意用戶覆蓋率大于第三預(yù)設(shè)閾值;用戶分類模型的惡意用戶命中率大于第四預(yù)設(shè)閾值,用戶分類模型的接收者操作特征曲線(Receiver Operating Characteristic,ROC)的曲線下面積(Area Under Curve,AUC)大于第五預(yù)設(shè)閾值。由此,上述步驟301可以包含下述的任意一個或一個以上的子步驟:
在所述用戶分類模型的分類準確率小于第一預(yù)設(shè)閾值時,確定所述用戶分類模型的分類效果不滿足要求;
在所述用戶分類模型的分類錯誤率大于第二預(yù)設(shè)閾值時,確定所述用戶分類模型的分類效果不滿足要求;
在所述用戶分類模型的惡意用戶覆蓋率小于第三預(yù)設(shè)閾值時,確定所述用戶分類模型的分類效果不滿足要求;
在所述用戶分類模型的惡意用戶命中率小于第四預(yù)設(shè)閾值時,確定所述用戶分類模型的分類效果不滿足要求;
在所述用戶分類模型的接收者操作特征曲線ROC的曲線下面積AUC小于第五預(yù)設(shè)閾值時,確定所述用戶分類模型的分類效果不滿足要求。
例如,可以依次判斷用戶分類模型的分類準確率是否小于第一預(yù)設(shè)閾值,以及用戶分類模型的惡意用戶覆蓋率是否小于第三預(yù)設(shè)閾值,并在任意一個判斷結(jié)果為是時確定所述用戶分類模型的分類效果不滿足要求,在兩個判斷的結(jié)果均為否時確定所述用戶分類模型的分類效果滿足要求。
當(dāng)然,在判斷用戶分類模型的分類效果是否滿足要求時可以使用不同于生成用戶分類模型時所使用的訓(xùn)練集,使得判斷結(jié)果更具真實性。
在步驟302中,在所述用戶分類模型的分類效果不滿足要求時重新生成一不同的用戶分類模型,直至用戶分類模型的分類效果滿足要求。
舉例來說,在用戶分類模型的分類效果不滿足要求時,可以增大所述分類器模型中所使用的訓(xùn)練樣本的數(shù)量(或者改變訓(xùn)練樣本的擬合方式和/或擬合參數(shù)等等),還可以利用用戶分類模型的生成過程的隨機性以相同的生成方式重新生成一不同的用戶分類模型,以通過從預(yù)先設(shè)定的訓(xùn)練樣本集合中使用更多數(shù)量的訓(xùn)練樣本生成用戶分類模型,使得用戶分類模型的分類效果產(chǎn)生變化。
基于根據(jù)評價策略判斷分類效果,以及在分類效果不滿足要求時重新生成一不同的用戶分類模型,本實施例可以避免將分類效果差的用戶分類模型投入到實際應(yīng)用當(dāng)中,并且可以利用用戶分類模型在生成時所可能具有的隨機性擇優(yōu)選取所使用的用戶分類模型,有助于進一步提升識別惡意用戶的準確程度。
另外,在本公開的一個實施例中,所述分類器模型屬于Gradient Boosting決策樹模型。其中,決策樹模型是一種基于信息增益最大化的分類模型,本身是一種樹形的數(shù)據(jù)結(jié)構(gòu),非葉節(jié)點是選擇用于分類的屬性和分類閾值,葉子節(jié)點是樣本的分類結(jié)果。當(dāng)獲取一個樣本進行分類時,從根節(jié)點開始,樣本在當(dāng)前節(jié)點屬性的值與分類閾值比較,選擇一顆子樹,遞歸分類,直到樣本到達葉子節(jié)點從而獲取該樣本的分類結(jié)果。決策樹的訓(xùn)練方法是基于信息增益,每次選取分類效果最好的一個屬性,遞歸地構(gòu)建以上的樹形分類器。而Boosting方法是一類集成學(xué)習(xí)框架,通過訓(xùn)練一系列弱基分類器并集成得到分類能力較強的分類器,通常給定基分類器數(shù)量m,Boosting方法可以得到m個弱基分類器,通過加權(quán)或者投票方法獲得對樣本的分類結(jié)果。Gradient Boosting方法采用梯度下降法依次訓(xùn)練多個決策樹模型,每個決策樹模型是在前一個決策樹模型的基礎(chǔ)上通過減去預(yù)測損失函數(shù)在決策樹模型函數(shù)梯度與選擇學(xué)習(xí)率系數(shù)乘積而更新取得。舉例來說,基于Gradient Boosting決策樹模型生成上述用戶分類模型的算法流程如下:
首先,設(shè)置初始分類器
其中,x是訓(xùn)練樣本的輸入量,yi是第i個訓(xùn)練樣本的輸出量(i是1到n之間的整數(shù)),F(xiàn)0(x)為初始分類器,L(y,F(x))為損失函數(shù),n為訓(xùn)練集的訓(xùn)練樣本的數(shù)量。然后,根據(jù)初始分類器F0(x)得到第一個分類器F1(x),然后由第一個分類器F1(x)得到第二個分類器F2(x),以此類推,直到得到最后一個分類器FM(x),M為用戶分類模型中分類器的總數(shù)。其中,由第m-1個分類器Fm-1(x)得到第m個分類器Fm(x)的過程如下:
首先,計算模型梯度
其中,i是1到n之間的整數(shù),xi是第i個訓(xùn)練樣本的輸入量。然后,使用梯度訓(xùn)練集采用決策樹訓(xùn)練算法擬合基分類器hm(x),通過求解一維最優(yōu)化問題計算乘子
從而獲得第m個分類器
Fm(x)=Fm-1(x)+γmhm(x)
最終,得到的用戶分類模型即所有分類器的集合F1(x),…,FM(x)。
基于所述分類器模型屬于Gradient Boosting決策樹模型,可以通過多個弱分類器實現(xiàn)用戶分類模型,具有一定的不確定性,因而可以配合上述評價策略的判斷實現(xiàn)擇優(yōu)選??;而且,通過決策樹模型所得到的分類器具有突出的可解釋性,因而可以為操作人員提供更容易理解的分析數(shù)據(jù)。
圖4是根據(jù)一示例性實施例示出的一種識別惡意用戶的裝置的結(jié)構(gòu)框圖。參見圖4,本公開實施例中識別惡意用戶的裝置包括:
第一獲取模塊41,被配置為獲取待識別用戶的歷史行為特征;
第二獲取模塊42,被配置為獲取用戶分類模型,所述用戶分類模型基于惡意用戶的歷史行為特征和正常用戶的歷史行為特征由分類器模型訓(xùn)練生成;
輸入模塊43,被配置為將所述待識別用戶的歷史行為特征輸入所述用戶分類模型,以確定所述待識別用戶是否為惡意用戶。
需要說明的是,本實施例的裝置可以應(yīng)用于任意一種服務(wù)器中,其可以是單個的服務(wù)器設(shè)備,也可以是服務(wù)器群組、服務(wù)器集群或者云服務(wù)器等等。
還需要說明的是,本實施例中的待識別用戶指的是所有已知用戶中任意一個需要確定是否為惡意用戶的用戶,可采用用戶特有信息中任意的一項或一項以上的組合來將一個用戶與其他用戶區(qū)分開,例如采用用戶的登入ID、用戶所使用設(shè)備的MAC地址、用戶所使用的IP地址,或者服務(wù)器為每一個登入ID和IP地址的組合分配的用戶標(biāo)識等等,本公開對此不做限制。
還需要說明的是,本實施例中的歷史行為特征指的是表示用戶在與服務(wù)器之間進行交互的過程區(qū)別于其他用戶的信息,比如用戶訪問服務(wù)器的統(tǒng)一資源定位符URL、用戶在某一時間段內(nèi)訪問服務(wù)器的總次數(shù)、用戶在訪問服務(wù)器期間點擊了某個按鈕的事件等等,所述歷史行為特征所覆蓋的信息范圍可以根據(jù)應(yīng)用需求預(yù)先設(shè)置,本公開對此不做限制。由此,本實施例中獲取歷史行為特征的方式可以例如是在服務(wù)器日志和/或客戶端日志中獲取。
還需要說明的是,本實施例中的用戶分類模型的輸入量包含用戶的歷史行為特征,用戶分類模型的輸出量包含表示用戶是否為惡意用戶的信息,其本質(zhì)上是經(jīng)過訓(xùn)練的分類器模型,所使用的分類器模型可以在機器學(xué)習(xí)算法中選取,例如樸素貝葉斯算法、支持向量機(Support Vector Machine,SVM)、神經(jīng)網(wǎng)絡(luò)算法、決策樹算法等等,本公開對此不做限制。
可以看出,本公開基于由分類器模型訓(xùn)練得到的用戶分類模型,可以利用機器學(xué)習(xí)算法的特性自動分析惡意用戶的行為特征,相比于相關(guān)技術(shù)而言具有不依賴人的主觀認知以及行為特征的覆蓋范圍更廣的特點,因而可以有效減少誤判和漏判的情況,提高識別惡意用戶的準確程度。
在本公開的一個實施例中,所述裝置還包括:
第三獲取模塊,被配置為在任一識別周期結(jié)束之后,獲取惡意用戶和/或正常用戶在所述識別周期內(nèi)的歷史行為特征,并基于所獲取的歷史行為特征擴充已存儲的訓(xùn)練集;
調(diào)整模塊,被配置為基于被所述第三獲取模塊擴充后的訓(xùn)練集,對所述用戶分類模型進行調(diào)整。
在本公開的一個實施例中,所述裝置還包括:
添加模塊,被配置為在確定所述待識別用戶是惡意用戶之后,為所述待識別用戶添加惡意用戶標(biāo)記。
在本公開的一個實施例中,所述裝置還包括:
判斷模塊,被配置為在獲取任一用戶分類模型之后,根據(jù)預(yù)先設(shè)置的評價策略判斷所述用戶分類模型的分類效果是否滿足要求;
生成模塊,被配置為在所述用戶分類模型的分類效果不滿足要求時重新生成一不同的用戶分類模型,直至用戶分類模型的分類效果滿足要求。
在本公開的一個實施例中,所述判斷模塊包括:
第一確定單元,被配置為在所述用戶分類模型的分類準確率小于第一預(yù)設(shè)閾值時,確定所述用戶分類模型的分類效果不滿足要求;
和/或,
第二確定單元,被配置為在所述用戶分類模型的分類錯誤率大于第二預(yù)設(shè)閾值時,確定所述用戶分類模型的分類效果不滿足要求;
和/或,
第三確定單元,被配置為在所述用戶分類模型的惡意用戶覆蓋率小于第三預(yù)設(shè)閾值時,確定所述用戶分類模型的分類效果不滿足要求;
和/或,
第四確定單元,被配置為在所述用戶分類模型的惡意用戶命中率小于第四預(yù)設(shè)閾值時,確定所述用戶分類模型的分類效果不滿足要求;
和/或,
第五確定單元,被配置為在所述用戶分類模型的接收者操作特征曲線ROC的曲線下面積AUC小于第五預(yù)設(shè)閾值時,確定所述用戶分類模型的分類效果不滿足要求。
在本公開的一個實施例中,所述分類器模型屬于Gradient Boosting決策樹模型。
關(guān)于上述實施例中的裝置,其中各個模塊執(zhí)行操作的具體方式已經(jīng)在有關(guān)該方法的實施例中進行了詳細描述,此處將不做詳細闡述說明。
圖5是根據(jù)一示例性實施例示出的一種識別惡意用戶的裝置的結(jié)構(gòu)框圖。例如,裝置500可以被提供為一服務(wù)器。參照圖5,裝置500包括處理組件522,其進一步包括一個或多個處理器,以及由存儲器532所代表的存儲器資源,被配置為存儲可由處理組件522的執(zhí)行的指令,例如應(yīng)用程序。存儲器532中存儲的應(yīng)用程序可以包括一個或一個以上的每一個對應(yīng)于一組指令的模塊。此外,處理組件522被配置為執(zhí)行指令,以執(zhí)行上述任意一種的識別惡意用戶的方法。
裝置500還可以包括一個電源組件526被配置為執(zhí)行裝置500的電源管理,一個有線或無線網(wǎng)絡(luò)接口550被配置為將裝置500連接到網(wǎng)絡(luò),和一個輸入輸出(I/O)接口558。裝置500可以操作基于存儲在存儲器532的操作系統(tǒng),例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,F(xiàn)reeBSDTM等等。
本領(lǐng)域技術(shù)人員在考慮說明書及實踐這里公開的技術(shù)內(nèi)容后,將容易想到本公開的其它實施方案。本申請旨在涵蓋本公開的任何變型、用途或者適應(yīng)性變化,這些變型、用途或者適應(yīng)性變化遵循本公開的一般性原理并包括本公開未公開的本技術(shù)領(lǐng)域中的公知常識或慣用技術(shù)手段。說明書和實施例僅被視為示例性的,本公開的真正范圍和精神由下面的權(quán)利要求指出。
應(yīng)當(dāng)理解的是,本公開并不局限于上面已經(jīng)描述并在附圖中示出的精確結(jié)構(gòu),并且可以在不脫離其范圍進行各種修改和改變。本公開的范圍僅由所附的權(quán)利要求來限制。