本發(fā)明涉及計算機網(wǎng)絡(luò)安全,具體涉及一種用于防止使用工具惡意暴力破解注冊用戶賬號密碼的二次登錄驗證方法及系統(tǒng)。
背景技術(shù):
1、在計算機軟件系統(tǒng)中,登錄機制作為權(quán)限管理的核心環(huán)節(jié),對于保障系統(tǒng)安全、防止未經(jīng)授權(quán)訪問具有至關(guān)重要的作用。用戶通過提交用戶名和密碼等認證信息,向系統(tǒng)驗證其身份,進而獲取訪問和使用系統(tǒng)資源的權(quán)限。這一過程,本質(zhì)上是一種身份驗證(authentication)機制,旨在確保只有合法用戶才能進入系統(tǒng)。
2、然而,隨著網(wǎng)絡(luò)技術(shù)的不斷發(fā)展和黑客攻擊手段的日益復(fù)雜化,傳統(tǒng)的登錄方式面臨著嚴峻的安全挑戰(zhàn)。特別是使用特定程序進行的暴力破解攻擊,通過窮舉大量用戶名和密碼組合,試圖破解系統(tǒng)登錄密碼,對系統(tǒng)安全構(gòu)成嚴重威脅。
3、為了抵御這種攻擊,業(yè)界普遍采用了驗證碼技術(shù)。驗證碼作為一種人機交互的測試手段,通過向用戶展示一段難以被計算機程序自動識別的信息(如圖像、文字、數(shù)字或它們的組合),要求用戶輸入或選擇正確的答案,從而判斷操作請求是否來自人類用戶。驗證碼的引入,有效提高了攻擊者自動化破解的難度,為系統(tǒng)安全提供了一道重要防線。
4、然而,傳統(tǒng)的驗證碼技術(shù)也存在諸多不足。一方面,為了增加破解難度,驗證碼的設(shè)計往往趨于復(fù)雜,這雖然對計算機程序構(gòu)成了更大的挑戰(zhàn),但同時也降低了人工識別的準(zhǔn)確率。用戶在面對過于復(fù)雜、失真或?qū)Ρ榷炔蛔愕尿炞C碼時,往往需要多次刷新才能正確識別,這不僅增加了用戶的登錄難度,也損害了用戶體驗。
5、另一方面,傳統(tǒng)的驗證碼識別方式相對固定,攻擊者可以通過收集大量驗證碼樣本,利用機器學(xué)習(xí)等技術(shù)訓(xùn)練識別模型,逐步提高自動化識別的準(zhǔn)確率。一旦模型訓(xùn)練成熟,攻擊者便能夠繞過驗證碼的防護,對系統(tǒng)進行大規(guī)模的暴力破解攻擊。傳統(tǒng)的技術(shù),對于惡意登錄破解密碼的方式不能很好的進行處理,一般采用的方式是加強第一次登錄的驗證碼難度,使得圖像識別等方式破解驗證碼的難道加大,但是這也會影響普通用戶的登錄體驗。
6、因此,亟需一種新型的驗證碼技術(shù),既能夠有效抵御自動化破解攻擊,又能保證人工識別的準(zhǔn)確性和用戶體驗。這種技術(shù)需要具備動態(tài)性、難以被模型化以及高度可定制性等特點,以適應(yīng)不斷變化的網(wǎng)絡(luò)安全環(huán)境和用戶需求。
技術(shù)實現(xiàn)思路
1、為了解決現(xiàn)有技術(shù)中存在的問題,本發(fā)明提供一種二次登錄驗證方法及其系統(tǒng),該方法和系統(tǒng)的目的是根據(jù)用戶登錄的行為以及登錄習(xí)慣,劃分不同安全等級的用戶登錄難度,達到對不同用戶和惡意攻擊的用戶進行區(qū)分,在不影響普通用戶登錄的前提下,有效防范惡意攻擊的目的。
2、本發(fā)明通過以下技術(shù)方案來實現(xiàn)上述目的:
3、一種二次登錄驗證方法,包括:
4、在用戶嘗試登錄時,檢測用戶的id或訪問ip,并根據(jù)預(yù)設(shè)的用戶等級校驗規(guī)則對用戶進行初步驗證;
5、若初步驗證結(jié)果為用戶校驗等級為level1,則允許用戶正常登錄,并將用戶的登錄信息以及用戶登錄后的所有操作行為均記錄至日志模塊;
6、定時讀取日志模塊中的日志數(shù)據(jù),對用戶的行為進行分析,以識別異常操作;根據(jù)分析結(jié)果,動態(tài)地調(diào)整用戶的安全等級,并定義多個規(guī)則定時器與多級安全等級提升機制,以不同的頻率對日志進行分析;
7、根據(jù)行為分析的結(jié)果,自動調(diào)整用戶的安全等級,并依據(jù)調(diào)整后的安全等級對用戶實施不同強度的安全校驗;對于異常行為減少或行為表現(xiàn)正常的用戶,按照預(yù)設(shè)時間間隔自動降低其安全等級;
8、當(dāng)用戶再次登錄時,根據(jù)其當(dāng)前的安全等級,返回相應(yīng)強度的驗證碼進行二次校驗;
9、其中,對于檢測到的異常用戶或ip,在用戶再次登錄時立即實施更高強度的安全校驗。
10、根據(jù)本發(fā)明提供的一種二次登錄驗證方法,預(yù)設(shè)的用戶等級校驗規(guī)則分為五個安全等級,并為每個安全等級分配不同復(fù)雜程度的驗證碼,具體包括:
11、level?1:對于普通用戶,即無異常行為的用戶,使用網(wǎng)站正常的驗證碼進行登錄驗證,不需要進行二次校驗;
12、level?2:當(dāng)用戶出現(xiàn)多次登錄密碼錯誤,或者使用的ip與平常登錄ip不同等異常情況時,開啟二次登錄校驗,此時使用的驗證碼難度為第二難度驗證模式;
13、level?3:通過用戶訪問行為分析,若發(fā)現(xiàn)用戶存在異常操作行為,并且該用戶已經(jīng)通過了level?2的登錄校驗,則開啟第三難度驗證模式;
14、level?4:若用戶已經(jīng)通過level?3的登錄校驗,但其行為仍然存在異常,則開啟block?ip/id?x?hours模式,即拒絕該用戶的某個ip或者某個用戶id在x小時內(nèi)訪問系統(tǒng);
15、level?5:對于多次觸發(fā)level?4攔截操作的用戶,將其用戶id或ip地址加入黑名單,永久或長期禁止其訪問系統(tǒng)。
16、根據(jù)本發(fā)明提供的一種二次登錄驗證方法,當(dāng)攻擊者首次注冊并嘗試登錄時,按照普通用戶的標(biāo)準(zhǔn)處理,不進行二次校驗,允許其正常訪問;
17、若攻擊者在登錄頁面多次輸入賬號和密碼錯誤,將其安全等級提升至level2,并觸發(fā)二次校驗機制,此時使用的驗證碼難度為第二難度驗證模式;
18、若檢測到攻擊者使用圖像識別工具或其他自動化手段嘗試識別并破解由數(shù)字、字母組合構(gòu)成的驗證碼,表明其可能在進行暴力破解或自動化攻擊,則立即將安全等級提升至level?3,則開啟第三難度驗證模式;
19、若攻擊者在level?3的校驗下仍持續(xù)進行攻擊行為,則進一步升級安全措施至level?4,限制其訪問權(quán)限;
20、若攻擊者多次觸發(fā)level?4的限制措施,或其行為被判定為高度惡意且持續(xù)不斷,則執(zhí)行最嚴厲的安全措施,即將其用戶id或ip地址加入黑名單,按照level?5的標(biāo)準(zhǔn)禁止其訪問系統(tǒng)。
21、根據(jù)本發(fā)明提供的一種二次登錄驗證方法,所述定義多個規(guī)則定時器與多級安全等級提升機制,具體包括:
22、預(yù)設(shè)多個行為分析規(guī)則,并為每個規(guī)則配置相應(yīng)的定時器;
23、行為分析模塊根據(jù)定時器設(shè)置,定期從mysql數(shù)據(jù)庫中獲取指定時間段內(nèi)的登錄日志數(shù)據(jù);對于每條日志記錄,按用戶id進行分組,并統(tǒng)計該時間段內(nèi)各用戶的賬號密碼輸入錯誤次數(shù)或特定安全等級下的驗證碼輸入錯誤次數(shù);
24、若行為分析模塊發(fā)現(xiàn)某用戶在5分鐘內(nèi)賬號密碼輸入錯誤次數(shù)超過5次,則自動將該用戶的安全等級從level?1提升至level?2,并要求用戶輸入對應(yīng)level2的驗證碼以解鎖登錄;
25、若進一步分析發(fā)現(xiàn),某用戶在10分鐘內(nèi)level?2驗證碼輸入錯誤次數(shù)超過5次,則立即將該用戶的安全等級從level?2提升至level?3,并開啟第三難度驗證模式;
26、行為分析模塊持續(xù)監(jiān)控用戶的登錄行為和驗證碼輸入情況,根據(jù)預(yù)設(shè)規(guī)則動態(tài)調(diào)整用戶的安全等級。
27、根據(jù)本發(fā)明提供的一種二次登錄驗證方法,還執(zhí)行基于多ip異常行為檢測的用戶會話管理機制,具體實現(xiàn)步驟包括:
28、集成行為檢測模塊和行為分析模塊,用于實時監(jiān)控并分析用戶的登錄和操作行為;當(dāng)檢測到同一用戶在不同的ip地址上同時或短時間內(nèi)交替執(zhí)行操作時,視為異常行為,立即觸發(fā)安全響應(yīng)機制;作為響應(yīng),強制該用戶退出當(dāng)前所有會話,并要求其重新進行登錄驗證,以確保賬戶安全未被非法利用;
29、行為分析模塊依據(jù)預(yù)設(shè)的規(guī)則和算法,定期或?qū)崟r分析用戶的操作日志,評估其行為的安全性;若用戶行為分析結(jié)果顯示異常操作減少,且持續(xù)一段時間未再觸發(fā)任何安全警報,則自動啟動安全等級下調(diào)流程,逐步降低用戶的安全等級至其正常狀態(tài)對應(yīng)的級別;
30、當(dāng)用戶因多ip異常行為被強制退出并要求重新登錄時,向用戶發(fā)送通知,解釋原因并提供重新登錄的指引。
31、根據(jù)本發(fā)明提供的一種二次登錄驗證方法,還執(zhí)行基于用戶安全等級和登錄時間間隔的動態(tài)二次校驗強度調(diào)整機制,具體實現(xiàn)步驟包括:
32、維護一個用戶安全等級數(shù)據(jù)庫,記錄每個用戶當(dāng)前的安全等級信息;當(dāng)用戶a嘗試登錄時,首先查詢其安全等級;記錄用戶上次成功登錄的時間,并計算與當(dāng)前登錄嘗試之間的時間間隔,該時間間隔將用于決定二次校驗的強度;
33、根據(jù)用戶a的安全等級和時間間隔,動態(tài)選擇相應(yīng)強度的二次校驗方式;若用戶a的安全等級較高或時間間隔較長,選擇更高強度的校驗方式進行驗證;
34、當(dāng)用戶a正確輸入二次校驗所需的驗證碼后,驗證其有效性,并允許用戶成功登錄系統(tǒng);同時,更新用戶的安全等級和時間間隔記錄,為下次登錄時的校驗強度調(diào)整提供依據(jù);
35、持續(xù)監(jiān)控用戶的登錄行為和校驗結(jié)果,根據(jù)預(yù)設(shè)的規(guī)則和算法,動態(tài)調(diào)整用戶的安全等級;若用戶連續(xù)多次成功通過校驗且未觸發(fā)安全警報,逐漸降低其安全等級;反之,如果用戶頻繁觸發(fā)校驗失敗或存在其他異常行為,則提升其安全等級。
36、根據(jù)本發(fā)明提供的一種二次登錄驗證方法,行為檢測模塊用于實時監(jiān)控用戶的行為數(shù)據(jù),行為分析模塊用于對這些行為數(shù)據(jù)進行行為分析,并根據(jù)分析結(jié)果動態(tài)調(diào)整驗證策略;在行為檢測模塊和行為分析模塊之間建立數(shù)據(jù)交換通道;在用戶登錄過程中,行為檢測模塊首先對用戶的行為進行實時監(jiān)控,當(dāng)行為檢測模塊捕捉到用戶行為時,將相關(guān)數(shù)據(jù)發(fā)送給行為分析模塊進行處理;一旦發(fā)現(xiàn)異常行為,立即觸發(fā)安全響應(yīng)機制,并通知行為分析模塊進行進一步分析;行為分析模塊根據(jù)接收到的行為數(shù)據(jù),評估用戶的安全等級和潛在風(fēng)險,并根據(jù)分析結(jié)果動態(tài)調(diào)整驗證策略;同時,行為分析模塊將分析得出的用戶安全等級、異常行為警告信息和潛在風(fēng)險及時反饋給行為檢測模塊,以便其根據(jù)最新情況調(diào)整監(jiān)控策略。
37、根據(jù)本發(fā)明提供的一種二次登錄驗證方法,還執(zhí)行:
38、在行為檢測模塊和行為分析模塊中集成智能學(xué)習(xí)引擎,對用戶行為數(shù)據(jù)進行持續(xù)學(xué)習(xí)和分析,構(gòu)建用戶行為畫像;智能學(xué)習(xí)引擎根據(jù)學(xué)習(xí)到的用戶行為模式和系統(tǒng)安全需求,動態(tài)更新行為檢測模塊和行為分析模塊中的規(guī)則庫和算法模型;智能學(xué)習(xí)引擎還用于監(jiān)控行為檢測模塊和行為分析模塊的性能指標(biāo)。
39、一種二次登錄驗證系統(tǒng),該系統(tǒng)應(yīng)用于上述的二次登錄驗證方法,該系統(tǒng)包括:
40、用戶登錄模塊,用于接收用戶的登錄請求;
41、行為檢測模塊,用于實時監(jiān)控用戶的行為數(shù)據(jù);
42、行為分析模塊,用于檢測用戶的登錄行為并劃分安全等級;
43、驗證碼生成模塊,用于根據(jù)用戶的安全等級生成相應(yīng)難度的驗證碼;
44、驗證模塊,用于驗證用戶輸入的驗證碼是否正確;
45、日志模塊,用于記錄用戶登錄信息及行為日志。
46、由此可見,相比于現(xiàn)有技術(shù),本發(fā)明具有以下有益效果:
47、1、降低運營成本:傳統(tǒng)短信二次校驗方式中,服務(wù)提供方需承擔(dān)每條短信的發(fā)送費用,面對惡意攻擊或頻繁嘗試登錄的情況,短信費用會急劇增加,造成不必要的經(jīng)濟負擔(dān)。本發(fā)明通過用戶安全等級評估,對低風(fēng)險用戶實施免短信校驗策略,顯著減少了短信發(fā)送量,從而大幅降低了企業(yè)的運營成本。
48、2、提升國際適應(yīng)性:對于跨國經(jīng)營的服務(wù)提供商而言,傳統(tǒng)短信校驗方式需與各國短信服務(wù)商對接,不僅開發(fā)過程復(fù)雜,而且維護成本高昂。本發(fā)明不依賴于短信服務(wù),徹底避免了國際短信發(fā)送的復(fù)雜性和高昂費用,提升了服務(wù)的全球部署效率和經(jīng)濟性。
49、3、增強用戶體驗:短信驗證碼的接收和輸入過程往往給用戶帶來不便,尤其是在網(wǎng)絡(luò)延遲或信號不佳的環(huán)境下。本發(fā)明根據(jù)用戶行為動態(tài)調(diào)整安全等級,對于安全等級較高的用戶,無需額外輸入短信驗證碼即可完成登錄,極大地簡化了登錄流程,提升了用戶體驗。
50、4、提高安全性:相較于靜態(tài)的短信驗證碼,本發(fā)明的用戶安全等級機制綜合考量用戶行為、登錄環(huán)境等多種因素,動態(tài)調(diào)整校驗策略,更難被惡意程序模擬或破解。這種智能化的安全策略,有效防范了暴力破解登錄等安全威脅,增強了系統(tǒng)的整體安全防護能力。
51、綜上所述,本發(fā)明通過引入用戶安全等級機制替代傳統(tǒng)的短信二次登錄校驗,不僅有效降低了運營成本,還顯著增強了用戶體驗和系統(tǒng)的安全性,實現(xiàn)了經(jīng)濟效益與安全防護的雙重提升,具有廣泛的市場應(yīng)用前景和顯著的社會價值。
52、下面結(jié)合附圖和具體實施方式對本發(fā)明作進一步詳細說明。