文/羅子淵 楊加 李笑難 呂潔 馬皓
作為校園網絡安全的重要一環,電子郵件在為師生的學習和工作帶來便利的同時,也經受著越來越嚴重的安全挑戰。校園郵箱賬號面臨的安全威脅主要包括以下三個方面:一是傳統的暴力破解或者低頻試探攻擊[1]。考慮到部分用戶會使用安全系數較低的弱密碼,此類攻擊仍然具有不小的威脅性;二是釣魚郵件等社會工程學攻擊,通過一定的技術手段偽造郵件頭中的相關信息或者繞過郵件系統的安全認證[2],攻擊者可以極大程度上隱藏自己的真實身份,達到以假亂真的效果;三是使用其他網站或應用泄露的密碼進行“撞庫”攻擊,如果用戶的多個不同賬號使用了相同的密碼,則很有可能遭受“撞庫”攻擊。
一旦校園郵箱賬號被攻破,帶來的危害是多方面的:首先,賬號內所有郵件以及相關的個人隱私和其他重要信息將被攻擊者輕松獲取。如果用戶在校園網的其他系統中使用了和郵箱賬號相同的密碼(或者各個系統使用了統一身份認證),會使得攻擊者在攻破郵箱賬號的同時也獲得了這些系統的登錄憑證,導致更嚴重的信息泄露。其次,這些被盜的郵箱賬號經常被攻擊者用來發送垃圾郵件或釣魚郵件。這不僅會給被盜賬號自身帶來嚴重影響,還可能會對其他正常賬號的使用造成影響。這是因為現在的郵件系統普遍采用了DNS黑名單(DNS black list)[3],如果被盜賬號發送了大量垃圾郵件,接收方郵件服務器很可能會自動將校園郵箱服務器的IP加入DNS黑名單,從而限制或者拒絕來自該服務器的郵件,從而影響所有本校郵箱賬號的正常使用。此外,攻擊者還可以借助被盜賬號的身份作為掩護,針對高價值的特定目標發動魚叉式釣魚攻擊,或者將病毒、木馬等惡意軟件通過郵件附件進行傳播。一旦這些惡意軟件通過內網傳播,將嚴重威脅整個校園網的安全。
目前與校園郵箱相關的研究主要集中于垃圾郵件/惡意郵件的識別和分類,而對被盜郵箱賬號進行檢測的研究相對較少,所提出的檢測方法主要包括基于登錄地域信息的檢測方法[4],基于MUA訪問活動的檢測方法[5],基于DSN狀態碼的檢測方法[6],以及基于網絡拓撲的檢測方法[7]。還有一些研究將異常檢測作為切入點,基于大數據分析[8]或者知識圖譜[9]進行郵件異常行為檢測,進而發現被盜賬號。總的來說,現有的這些研究更多地關注正常賬號與被盜賬號在行為等方面的區別,卻較少關注校園環境下郵箱用戶所表現出的獨有特點,以及如何針對這些特點更有效地進行被盜賬號檢測,而這正是本文研究的重點內容。
本文以北京大學郵件系統部分賬號為研究對象,從校園郵箱的用戶組成和行為特點出發,分析了正常賬號與被盜賬號在發信目標郵箱上的區別,提出了一種基于特定群發行為的被盜賬號檢測算法。在此基礎上,本文又分析了被盜賬號在登錄行為上的共同點,探索了借助已知被盜賬號去檢測更多被盜賬號,提出了一種基于登錄IP的被盜賬號檢測算法。
本文的主要貢獻有兩點:一是針對校園郵箱賬號的發信行為特點,提出了一種基于特定群發行為的被盜賬號檢測算法并應用于北京大學校園郵件系統,經過近4個月的試運行,結果表明該算法檢測效果好,精確率高,能夠發現系統原有檢測方法有所遺漏或未能及時發現的被盜賬號;二是提出了一種基于登錄IP的被盜賬號檢測算法,能夠通過已知被盜賬號進一步找出更多的被盜賬號,并通過實驗驗證了該算法的有效性。
校園郵箱的用戶以在校師生為主,組成較為單一。校園郵箱的使用也多圍繞在校的學習和工作進行,比如師生之間的交流、教職工之間的通知、國內外學術交流等。因此,校園郵箱賬號所發郵件的目標郵箱往往具有一定的特點,而這一點也是現有的相關研究有所忽視的地方。我們根據學校郵件系統日志統計了2021年1月1~7日期間發送郵件數量超過10封的賬號(共計1914個賬號),并從這些賬號中隨機抽取了30個賬號作為樣本,統計了每個賬號發給不同類型目標郵箱的郵件占全部發送郵件的比例,如表1所示。接下來,我們基于該結果結合相關賬號的具體發信日志進行了研究分析。對于樣本賬號中超過半數的賬號而言,其主要發信目標郵箱均為本校郵箱(pku.edu.cn和stu.pku.edu.cn);另有將近半數的樣本賬號因用戶的學習和工作涉及較多國內外學術交流,主要發信目標郵箱為國外各高校或研究機構的郵箱(對應表1中“其他”列)。絕大部分樣本賬號發信給QQ、163、Gmail等商用郵箱的比例都很小,僅有兩個賬號的主要發信目標郵箱為QQ郵箱,但比例均未超過70%。進一步分析后確認,這是由于這兩個賬號的用戶因實習和求職原因與公司相關人員有較多郵件往來導致的。

表1 30個正常賬號發給不同類型目標郵箱的郵件所占比例
校園郵箱賬號被盜之后,往往被用于發送垃圾郵件,從而使得被盜賬號表現出與正常賬號明顯不同的發信行為。我們發現很多攻擊者偏好將QQ郵箱作為垃圾郵件的目標郵箱。2021年1月1日至7日期間,共有11個校園郵箱賬號因發送垃圾郵件而被郵件系統管理人員確認為被盜賬號。這些賬號的發信目標郵箱中QQ郵箱的比例均達到了99%以上,并且發信行為具有明顯的群發特征,即短時間內給大量不同的郵箱發送相同或相似標題的郵件。由此可見,正常校園郵箱賬號與被盜賬號在發信目標郵箱上存在明顯不同,這可以作為檢測被盜賬號的一個重要依據。
本文提出的基于群發行為的被盜賬號檢測算法如下:
1.選取檢測區間。
2.提取檢測區間內所有賬號的發信日志,記為L={l1,l2,...,ln},其中li為賬號accounti的發信日志,且1≤i≤n,n為檢測區間內有發信記錄的賬號總數。li中的每條記錄包括發信時間time,目標郵箱賬號accountdst,以及郵件標題title,記為{time, accountdst, title}。
3.對每個li∈L,計算li中記錄的總條數(即賬號accounti的發信總次數)c1、accountdst以qq.com為域名的記錄條數c2、以qq.com為域名的不重復accountdst個數c3。令T為li的所有記錄中出現的不重復title的集合,Tqq為所有accountdst以qq.com為域名的記錄中出現的不重復title的集合,計算Tqq中的元素個數c4。
4.如果同時滿足以下所有條件,將li對應的accounti加入S:
(1) c2/ c1≥v1
(2) v2≤c3≤v3
(3) c2/ c4≥v4
(4) T∩Tqq=?
其中v1、v2、v3、v4均為預設的閾值。
5.集合S即為算法檢測得到的被盜賬號集合。
集合S即為算法檢測得到的被盜賬號集合。
上述算法的核心是基于被盜賬號向QQ郵箱群發垃圾郵件的行為進行檢測,閾值v1反映了賬號的發信行為中目標郵箱是QQ郵箱的比例。但由于校園郵箱用戶基數大,存在少量與其他賬號有較大行為差異的正常賬號。因此上述算法中不單考慮了目標郵箱的類型比例,還使用了多項其他指標和篩選條件,目的是進一步提高算法的精確率、降低誤報率。主要包括以下三個方面:
(1) 部分校園郵箱用戶會給某一特定的QQ郵箱發送大量材料,或者自動轉發郵件,從而導致其校園郵箱的發信目標中QQ郵箱的比例較大,但均為該特定QQ郵箱。設置閾值v2,即目標QQ郵箱不重復數量下限是為了減少對這種情況的誤判。而部分校園公開課或者類似性質的官方郵箱會給大量不同的QQ郵箱發送課程通知等內容的郵件,其數量通常在103~104這一規模。設置閾值v3,即目標QQ郵箱不重復數量上限是為了減少對這種情況的誤判。
(2) 部分在校學生,特別是大量低年級本科生依然習慣于將QQ郵箱作為自己的常用郵箱,導致部分校園郵箱用戶(比如學生助教)確實需要與大量QQ郵箱進行郵件往來。但這種郵件往來多以作業提交和回復為主,一般不涉及通知類消息(考慮到部分學生查看新郵件的頻率較低,課程通知更傾向于使用教學網或微信群等更便于查看的渠道發布),因此很少出現群發行為。設置閾值v4是為了確保被檢測賬號給相當數量的目標郵箱發送了相同標題的郵件(這種情況大概率為群發行為),從而減少對于正常郵件往來的誤判。
(3)除了上文提到的校園公開課通知,一些教職工或者單位部門也可能會給非本校郵箱群發會議通知等內容。這類通知的發送數量相對較少,可能無法通過閾值v3加以篩除。但此類發信目標郵箱中往往包含有QQ、163、sina等多種類型的郵箱,而上文提到的被盜賬號僅會針對QQ郵箱群發垃圾郵件。因此可以通過算法中的檢測規則(4),即目標為QQ郵箱的郵件標題與目標為非QQ郵箱的郵件標題沒有交集,來減少對于此類情況的誤判。
上述檢測算法于2021-03-03至2021-06-30在北京大學校園郵件系統投入試用(因部署環境調整的原因2021-04-23至2021-05-04暫停檢測)。設置閾值v1=0.8,v2=20,v3=200,v4=2,由程序自動于每日上午8時檢測前一天0至24時出現的疑似被盜郵箱賬號,并由郵件系統管理人員對結果進行人工查驗。結果如圖1所示。

圖1 算法在2021年3~6月期間試用檢測結果
考慮到北京大學目前使用的郵件系統已經采用了較為完備的郵件安全解決方案,會根據用戶的發信行為,以及與之相關的郵件標題、內容和其他信息進行被盜賬號檢測,因此在評價本文提出的算法的有效性時,除了使用該算法檢測得到的被盜賬號數量這一指標,我們還定義了一項名為“額外檢出率”的指標:計使用2.2中的算法檢測得到的賬號數量為c,計其中未被北京大學現有郵件安全系統檢測出的賬號數量為c’,則額外檢出率為c’/c。額外檢出率這一指標真實反映了本文提出的算法的實用性,體現了本文提出的算法能否在北京大學現有被盜郵箱賬號檢測工作的基礎上起到查漏補缺的作用。
從圖1中可以看出,在長達近4個月的試用中,算法共檢測得到442個結果。經郵件系統管理人員逐一人工復查后,發現僅有1個結果為誤報,其余441個結果均被確認為被盜賬號,算法的精確率達到了99.8%。其中5、6月檢測得到的被盜賬號較多,這也符合長期以來北京大學郵件系統的實際情況:每到臨近畢業期間郵箱盜號活動較為頻繁。在額外檢出率方面,4個月的平均額外檢出率達到了37%,其中4、5月的額外檢出率分別達到了50%和52%,表明本文提出的基于群發行為的檢測算法在這兩個月當中檢測出的被盜賬號中,有近一半都是北京大學現有郵件安全系統有所遺漏或未能及時檢測到的。
以上結果表明,本文提出的基于群發行為的被盜賬號檢測算法充分考慮了校園郵箱用戶的行為特點以及被盜賬號的行為特點,針對特定類型的被盜賬號具有良好的檢測效果,精確率高,額外檢出率較高,可以作為北京大學現有郵件安全系統的有效補充,目前已經投入日常運維管理工作使用。
部分攻擊者會使用相同或者同一網段下的多個IP攻擊多個不同的郵箱賬號,導致不同的被盜賬號的登錄IP具有一定的關聯性。因此可以通過已知被盜賬號的登錄記錄找出可疑IP,再通過登錄IP進一步檢測其他尚未發現的被盜賬號。由于被盜賬號出現可疑IP地址的登錄記錄一般早于群發垃圾郵件等惡意行為,所以上述方法還可發現疑似被盜但尚未出現群發垃圾郵件等惡意行為的高危賬號。
此外,前文中的實驗結果已經表明,即使是目前較為成熟的郵件安全系統也無法完全檢測出所有的被盜賬號。因此通過已知被盜賬號進一步找出更多的被盜賬號,從實際郵件系統管理工作角度來說,可以進一步查漏補缺,提高系統整體安全性。
本文提出的基于登錄IP的被盜賬號檢測算法如下:
1. 選取檢測區間。
2.提取檢測區間內所有郵箱賬號的登錄日志,統計得到登錄次數(包括登錄成功與登錄失敗記錄)排名前20的網段(B類網段),記為S={s1,s2,...,s20}。
3.提取檢測區間內所有已知被盜賬號自確認被盜之日前x天內的登錄日志(x為人工設置的參數),記為L={l1,l2,...,ln},其中li為賬號accounti的登錄日志,且1≤i≤n,n為檢測區間內已知被盜賬號總數。li中的每條記錄包括登錄時間time,登錄IP地址ip,以及該IP地址對應的B類網段segment,記為{time, ip, segment}。
4.對每個segment∈li,li∈L,若segment?S且對應物理地址非學校所在地,統計segment在所有li∈L中的出現次數c。若c>v1(v1為人工設置的閾值),將segment加入Sseg,并將與segment屬于同一條記錄的ip加入到Sip。
5.對于每個segment∈Sseg,提取檢測區間內所有在該網段下有過登錄行為的賬號,加入Sa。
6.集合Sseg為檢測得到的可疑網段集合,集合Sip為檢測得到的可疑IP地址集合,集合Sa為檢測得到的疑似被盜賬號集合。
我們選取2021-04-01至2021-04-30作為檢測區間,將2.3節中使用基于群發行為的檢測算法在該區間內得到的44個被盜賬號作為已知樣本,設置閾值x=7,v1=3,使用3.1中的算法進行檢測,得到2個可疑網段,7個可疑IP地址,見表2。根據這2個可疑網段進一步檢測得到了28個疑似被盜賬號。經過人工查驗相關登錄及發信日志,這些賬號的具體情況如圖2所示。

圖2 疑似被盜賬號查驗情況
經查驗,表2中的可疑IP地址均來自一地,有很大概率為同一個攻擊者所使用。實驗共檢測得到18個被盜賬號,除了15個已知被盜賬號,還成功檢測出了3個之前未發現的被盜賬號。另有7個正常賬號,剩余3個賬號沒有任何發信記錄,無法確認是否被盜。

表2 可疑網段和IP地址
實驗證明,基于登錄IP的檢測算法確實能夠發現新的被盜賬號,但相比于基于群發行為的檢測算法,發現的被盜賬號較少。這是因為相比于發信行為而言,登錄行為容易受很多因素的影響。一方面,用戶可以手動登錄郵箱,也可以使用代理客戶端自動登錄,而自動登錄又與用戶設置和網絡狀況等有關;另一方面,出差導致的地理位置變化、使用VPN等原因都有可能導致登錄IP所在地發生變化,給檢測工作帶來不小的影響。
本文以北京大學郵件系統部分賬號為研究對象,從校園郵箱的用戶組成和行為特點出發,分析了正常賬號與被盜賬號在發信目標郵箱上的區別,提出了一種基于群發行為的被盜賬號檢測算法。為了更加全面地檢測被盜賬號,本文還提出了一種基于登錄IP的被盜賬號檢測算法,可以通過已知被盜賬號進一步檢測更多的被盜賬號。
我們通過真實環境下的試運行和實驗分別驗證了上述兩種算法的有效性,但是依然存在一些改進空間:
1.基于群發行為的檢測算法需要人工設置相應閾值才能使用,閾值的設置需要結合學校郵件系統運行實際以及相關經驗得出最佳實踐,后續可以考慮使用動態閾值,或者減少算法對于閾值的依賴;
2.基于登錄IP的檢測算法受用戶地理位置變動、使用VPN等因素影響較大,后續若能設法排除部分干擾,將進一步提高算法的檢測效果;
3.基于群發行為的檢測算法和基于登錄IP的檢測算法分別從兩個不同的角度進行被盜賬號檢測,相互之間的聯系不夠緊密,后續可以考慮將二者進行結合,從多角度出發進行被盜賬號檢測。
近年來暴力破解、試探攻擊、釣魚郵件等校園網絡安全問題的頻發,給相關安全工作帶來了嚴峻的挑戰。本文提出的算法充分考慮了校園郵箱賬號的行為特點,為被盜郵箱賬號檢測提供了一種新的思路。