文/羅子淵 楊加 李笑難 呂潔 馬皓
作為校園網(wǎng)絡(luò)安全的重要一環(huán),電子郵件在為師生的學(xué)習(xí)和工作帶來便利的同時,也經(jīng)受著越來越嚴(yán)重的安全挑戰(zhàn)。校園郵箱賬號面臨的安全威脅主要包括以下三個方面:一是傳統(tǒng)的暴力破解或者低頻試探攻擊[1]??紤]到部分用戶會使用安全系數(shù)較低的弱密碼,此類攻擊仍然具有不小的威脅性;二是釣魚郵件等社會工程學(xué)攻擊,通過一定的技術(shù)手段偽造郵件頭中的相關(guān)信息或者繞過郵件系統(tǒng)的安全認(rèn)證[2],攻擊者可以極大程度上隱藏自己的真實身份,達(dá)到以假亂真的效果;三是使用其他網(wǎng)站或應(yīng)用泄露的密碼進(jìn)行“撞庫”攻擊,如果用戶的多個不同賬號使用了相同的密碼,則很有可能遭受“撞庫”攻擊。
一旦校園郵箱賬號被攻破,帶來的危害是多方面的:首先,賬號內(nèi)所有郵件以及相關(guān)的個人隱私和其他重要信息將被攻擊者輕松獲取。如果用戶在校園網(wǎng)的其他系統(tǒng)中使用了和郵箱賬號相同的密碼(或者各個系統(tǒng)使用了統(tǒng)一身份認(rèn)證),會使得攻擊者在攻破郵箱賬號的同時也獲得了這些系統(tǒng)的登錄憑證,導(dǎo)致更嚴(yán)重的信息泄露。其次,這些被盜的郵箱賬號經(jīng)常被攻擊者用來發(fā)送垃圾郵件或釣魚郵件。這不僅會給被盜賬號自身帶來嚴(yán)重影響,還可能會對其他正常賬號的使用造成影響。這是因為現(xiàn)在的郵件系統(tǒng)普遍采用了DNS黑名單(DNS black list)[3],如果被盜賬號發(fā)送了大量垃圾郵件,接收方郵件服務(wù)器很可能會自動將校園郵箱服務(wù)器的IP加入DNS黑名單,從而限制或者拒絕來自該服務(wù)器的郵件,從而影響所有本校郵箱賬號的正常使用。此外,攻擊者還可以借助被盜賬號的身份作為掩護(hù),針對高價值的特定目標(biāo)發(fā)動魚叉式釣魚攻擊,或者將病毒、木馬等惡意軟件通過郵件附件進(jìn)行傳播。一旦這些惡意軟件通過內(nèi)網(wǎng)傳播,將嚴(yán)重威脅整個校園網(wǎng)的安全。
目前與校園郵箱相關(guān)的研究主要集中于垃圾郵件/惡意郵件的識別和分類,而對被盜郵箱賬號進(jìn)行檢測的研究相對較少,所提出的檢測方法主要包括基于登錄地域信息的檢測方法[4],基于MUA訪問活動的檢測方法[5],基于DSN狀態(tài)碼的檢測方法[6],以及基于網(wǎng)絡(luò)拓?fù)涞臋z測方法[7]。還有一些研究將異常檢測作為切入點,基于大數(shù)據(jù)分析[8]或者知識圖譜[9]進(jìn)行郵件異常行為檢測,進(jìn)而發(fā)現(xiàn)被盜賬號??偟膩碚f,現(xiàn)有的這些研究更多地關(guān)注正常賬號與被盜賬號在行為等方面的區(qū)別,卻較少關(guān)注校園環(huán)境下郵箱用戶所表現(xiàn)出的獨有特點,以及如何針對這些特點更有效地進(jìn)行被盜賬號檢測,而這正是本文研究的重點內(nèi)容。
本文以北京大學(xué)郵件系統(tǒng)部分賬號為研究對象,從校園郵箱的用戶組成和行為特點出發(fā),分析了正常賬號與被盜賬號在發(fā)信目標(biāo)郵箱上的區(qū)別,提出了一種基于特定群發(fā)行為的被盜賬號檢測算法。在此基礎(chǔ)上,本文又分析了被盜賬號在登錄行為上的共同點,探索了借助已知被盜賬號去檢測更多被盜賬號,提出了一種基于登錄IP的被盜賬號檢測算法。
本文的主要貢獻(xiàn)有兩點:一是針對校園郵箱賬號的發(fā)信行為特點,提出了一種基于特定群發(fā)行為的被盜賬號檢測算法并應(yīng)用于北京大學(xué)校園郵件系統(tǒng),經(jīng)過近4個月的試運行,結(jié)果表明該算法檢測效果好,精確率高,能夠發(fā)現(xiàn)系統(tǒng)原有檢測方法有所遺漏或未能及時發(fā)現(xiàn)的被盜賬號;二是提出了一種基于登錄IP的被盜賬號檢測算法,能夠通過已知被盜賬號進(jìn)一步找出更多的被盜賬號,并通過實驗驗證了該算法的有效性。
校園郵箱的用戶以在校師生為主,組成較為單一。校園郵箱的使用也多圍繞在校的學(xué)習(xí)和工作進(jìn)行,比如師生之間的交流、教職工之間的通知、國內(nèi)外學(xué)術(shù)交流等。因此,校園郵箱賬號所發(fā)郵件的目標(biāo)郵箱往往具有一定的特點,而這一點也是現(xiàn)有的相關(guān)研究有所忽視的地方。我們根據(jù)學(xué)校郵件系統(tǒng)日志統(tǒng)計了2021年1月1~7日期間發(fā)送郵件數(shù)量超過10封的賬號(共計1914個賬號),并從這些賬號中隨機(jī)抽取了30個賬號作為樣本,統(tǒng)計了每個賬號發(fā)給不同類型目標(biāo)郵箱的郵件占全部發(fā)送郵件的比例,如表1所示。接下來,我們基于該結(jié)果結(jié)合相關(guān)賬號的具體發(fā)信日志進(jìn)行了研究分析。對于樣本賬號中超過半數(shù)的賬號而言,其主要發(fā)信目標(biāo)郵箱均為本校郵箱(pku.edu.cn和stu.pku.edu.cn);另有將近半數(shù)的樣本賬號因用戶的學(xué)習(xí)和工作涉及較多國內(nèi)外學(xué)術(shù)交流,主要發(fā)信目標(biāo)郵箱為國外各高?;蜓芯繖C(jī)構(gòu)的郵箱(對應(yīng)表1中“其他”列)。絕大部分樣本賬號發(fā)信給QQ、163、Gmail等商用郵箱的比例都很小,僅有兩個賬號的主要發(fā)信目標(biāo)郵箱為QQ郵箱,但比例均未超過70%。進(jìn)一步分析后確認(rèn),這是由于這兩個賬號的用戶因?qū)嵙?xí)和求職原因與公司相關(guān)人員有較多郵件往來導(dǎo)致的。
表1 30個正常賬號發(fā)給不同類型目標(biāo)郵箱的郵件所占比例
校園郵箱賬號被盜之后,往往被用于發(fā)送垃圾郵件,從而使得被盜賬號表現(xiàn)出與正常賬號明顯不同的發(fā)信行為。我們發(fā)現(xiàn)很多攻擊者偏好將QQ郵箱作為垃圾郵件的目標(biāo)郵箱。2021年1月1日至7日期間,共有11個校園郵箱賬號因發(fā)送垃圾郵件而被郵件系統(tǒng)管理人員確認(rèn)為被盜賬號。這些賬號的發(fā)信目標(biāo)郵箱中QQ郵箱的比例均達(dá)到了99%以上,并且發(fā)信行為具有明顯的群發(fā)特征,即短時間內(nèi)給大量不同的郵箱發(fā)送相同或相似標(biāo)題的郵件。由此可見,正常校園郵箱賬號與被盜賬號在發(fā)信目標(biāo)郵箱上存在明顯不同,這可以作為檢測被盜賬號的一個重要依據(jù)。
本文提出的基于群發(fā)行為的被盜賬號檢測算法如下:
1.選取檢測區(qū)間。
2.提取檢測區(qū)間內(nèi)所有賬號的發(fā)信日志,記為L={l1,l2,...,ln},其中l(wèi)i為賬號accounti的發(fā)信日志,且1≤i≤n,n為檢測區(qū)間內(nèi)有發(fā)信記錄的賬號總數(shù)。li中的每條記錄包括發(fā)信時間time,目標(biāo)郵箱賬號accountdst,以及郵件標(biāo)題title,記為{time, accountdst, title}。
3.對每個li∈L,計算li中記錄的總條數(shù)(即賬號accounti的發(fā)信總次數(shù))c1、accountdst以qq.com為域名的記錄條數(shù)c2、以qq.com為域名的不重復(fù)accountdst個數(shù)c3。令T為li的所有記錄中出現(xiàn)的不重復(fù)title的集合,Tqq為所有accountdst以qq.com為域名的記錄中出現(xiàn)的不重復(fù)title的集合,計算Tqq中的元素個數(shù)c4。
4.如果同時滿足以下所有條件,將li對應(yīng)的accounti加入S:
(1) c2/ c1≥v1
(2) v2≤c3≤v3
(3) c2/ c4≥v4
(4) T∩Tqq=?
其中v1、v2、v3、v4均為預(yù)設(shè)的閾值。
5.集合S即為算法檢測得到的被盜賬號集合。
集合S即為算法檢測得到的被盜賬號集合。
上述算法的核心是基于被盜賬號向QQ郵箱群發(fā)垃圾郵件的行為進(jìn)行檢測,閾值v1反映了賬號的發(fā)信行為中目標(biāo)郵箱是QQ郵箱的比例。但由于校園郵箱用戶基數(shù)大,存在少量與其他賬號有較大行為差異的正常賬號。因此上述算法中不單考慮了目標(biāo)郵箱的類型比例,還使用了多項其他指標(biāo)和篩選條件,目的是進(jìn)一步提高算法的精確率、降低誤報率。主要包括以下三個方面:
(1) 部分校園郵箱用戶會給某一特定的QQ郵箱發(fā)送大量材料,或者自動轉(zhuǎn)發(fā)郵件,從而導(dǎo)致其校園郵箱的發(fā)信目標(biāo)中QQ郵箱的比例較大,但均為該特定QQ郵箱。設(shè)置閾值v2,即目標(biāo)QQ郵箱不重復(fù)數(shù)量下限是為了減少對這種情況的誤判。而部分校園公開課或者類似性質(zhì)的官方郵箱會給大量不同的QQ郵箱發(fā)送課程通知等內(nèi)容的郵件,其數(shù)量通常在103~104這一規(guī)模。設(shè)置閾值v3,即目標(biāo)QQ郵箱不重復(fù)數(shù)量上限是為了減少對這種情況的誤判。
(2) 部分在校學(xué)生,特別是大量低年級本科生依然習(xí)慣于將QQ郵箱作為自己的常用郵箱,導(dǎo)致部分校園郵箱用戶(比如學(xué)生助教)確實需要與大量QQ郵箱進(jìn)行郵件往來。但這種郵件往來多以作業(yè)提交和回復(fù)為主,一般不涉及通知類消息(考慮到部分學(xué)生查看新郵件的頻率較低,課程通知更傾向于使用教學(xué)網(wǎng)或微信群等更便于查看的渠道發(fā)布),因此很少出現(xiàn)群發(fā)行為。設(shè)置閾值v4是為了確保被檢測賬號給相當(dāng)數(shù)量的目標(biāo)郵箱發(fā)送了相同標(biāo)題的郵件(這種情況大概率為群發(fā)行為),從而減少對于正常郵件往來的誤判。
(3)除了上文提到的校園公開課通知,一些教職工或者單位部門也可能會給非本校郵箱群發(fā)會議通知等內(nèi)容。這類通知的發(fā)送數(shù)量相對較少,可能無法通過閾值v3加以篩除。但此類發(fā)信目標(biāo)郵箱中往往包含有QQ、163、sina等多種類型的郵箱,而上文提到的被盜賬號僅會針對QQ郵箱群發(fā)垃圾郵件。因此可以通過算法中的檢測規(guī)則(4),即目標(biāo)為QQ郵箱的郵件標(biāo)題與目標(biāo)為非QQ郵箱的郵件標(biāo)題沒有交集,來減少對于此類情況的誤判。
上述檢測算法于2021-03-03至2021-06-30在北京大學(xué)校園郵件系統(tǒng)投入試用(因部署環(huán)境調(diào)整的原因2021-04-23至2021-05-04暫停檢測)。設(shè)置閾值v1=0.8,v2=20,v3=200,v4=2,由程序自動于每日上午8時檢測前一天0至24時出現(xiàn)的疑似被盜郵箱賬號,并由郵件系統(tǒng)管理人員對結(jié)果進(jìn)行人工查驗。結(jié)果如圖1所示。
圖1 算法在2021年3~6月期間試用檢測結(jié)果
考慮到北京大學(xué)目前使用的郵件系統(tǒng)已經(jīng)采用了較為完備的郵件安全解決方案,會根據(jù)用戶的發(fā)信行為,以及與之相關(guān)的郵件標(biāo)題、內(nèi)容和其他信息進(jìn)行被盜賬號檢測,因此在評價本文提出的算法的有效性時,除了使用該算法檢測得到的被盜賬號數(shù)量這一指標(biāo),我們還定義了一項名為“額外檢出率”的指標(biāo):計使用2.2中的算法檢測得到的賬號數(shù)量為c,計其中未被北京大學(xué)現(xiàn)有郵件安全系統(tǒng)檢測出的賬號數(shù)量為c’,則額外檢出率為c’/c。額外檢出率這一指標(biāo)真實反映了本文提出的算法的實用性,體現(xiàn)了本文提出的算法能否在北京大學(xué)現(xiàn)有被盜郵箱賬號檢測工作的基礎(chǔ)上起到查漏補(bǔ)缺的作用。
從圖1中可以看出,在長達(dá)近4個月的試用中,算法共檢測得到442個結(jié)果。經(jīng)郵件系統(tǒng)管理人員逐一人工復(fù)查后,發(fā)現(xiàn)僅有1個結(jié)果為誤報,其余441個結(jié)果均被確認(rèn)為被盜賬號,算法的精確率達(dá)到了99.8%。其中5、6月檢測得到的被盜賬號較多,這也符合長期以來北京大學(xué)郵件系統(tǒng)的實際情況:每到臨近畢業(yè)期間郵箱盜號活動較為頻繁。在額外檢出率方面,4個月的平均額外檢出率達(dá)到了37%,其中4、5月的額外檢出率分別達(dá)到了50%和52%,表明本文提出的基于群發(fā)行為的檢測算法在這兩個月當(dāng)中檢測出的被盜賬號中,有近一半都是北京大學(xué)現(xiàn)有郵件安全系統(tǒng)有所遺漏或未能及時檢測到的。
以上結(jié)果表明,本文提出的基于群發(fā)行為的被盜賬號檢測算法充分考慮了校園郵箱用戶的行為特點以及被盜賬號的行為特點,針對特定類型的被盜賬號具有良好的檢測效果,精確率高,額外檢出率較高,可以作為北京大學(xué)現(xiàn)有郵件安全系統(tǒng)的有效補(bǔ)充,目前已經(jīng)投入日常運維管理工作使用。
部分攻擊者會使用相同或者同一網(wǎng)段下的多個IP攻擊多個不同的郵箱賬號,導(dǎo)致不同的被盜賬號的登錄IP具有一定的關(guān)聯(lián)性。因此可以通過已知被盜賬號的登錄記錄找出可疑IP,再通過登錄IP進(jìn)一步檢測其他尚未發(fā)現(xiàn)的被盜賬號。由于被盜賬號出現(xiàn)可疑IP地址的登錄記錄一般早于群發(fā)垃圾郵件等惡意行為,所以上述方法還可發(fā)現(xiàn)疑似被盜但尚未出現(xiàn)群發(fā)垃圾郵件等惡意行為的高危賬號。
此外,前文中的實驗結(jié)果已經(jīng)表明,即使是目前較為成熟的郵件安全系統(tǒng)也無法完全檢測出所有的被盜賬號。因此通過已知被盜賬號進(jìn)一步找出更多的被盜賬號,從實際郵件系統(tǒng)管理工作角度來說,可以進(jìn)一步查漏補(bǔ)缺,提高系統(tǒng)整體安全性。
本文提出的基于登錄IP的被盜賬號檢測算法如下:
1. 選取檢測區(qū)間。
2.提取檢測區(qū)間內(nèi)所有郵箱賬號的登錄日志,統(tǒng)計得到登錄次數(shù)(包括登錄成功與登錄失敗記錄)排名前20的網(wǎng)段(B類網(wǎng)段),記為S={s1,s2,...,s20}。
3.提取檢測區(qū)間內(nèi)所有已知被盜賬號自確認(rèn)被盜之日前x天內(nèi)的登錄日志(x為人工設(shè)置的參數(shù)),記為L={l1,l2,...,ln},其中l(wèi)i為賬號accounti的登錄日志,且1≤i≤n,n為檢測區(qū)間內(nèi)已知被盜賬號總數(shù)。li中的每條記錄包括登錄時間time,登錄IP地址ip,以及該IP地址對應(yīng)的B類網(wǎng)段segment,記為{time, ip, segment}。
4.對每個segment∈li,li∈L,若segment?S且對應(yīng)物理地址非學(xué)校所在地,統(tǒng)計segment在所有l(wèi)i∈L中的出現(xiàn)次數(shù)c。若c>v1(v1為人工設(shè)置的閾值),將segment加入Sseg,并將與segment屬于同一條記錄的ip加入到Sip。
5.對于每個segment∈Sseg,提取檢測區(qū)間內(nèi)所有在該網(wǎng)段下有過登錄行為的賬號,加入Sa。
6.集合Sseg為檢測得到的可疑網(wǎng)段集合,集合Sip為檢測得到的可疑IP地址集合,集合Sa為檢測得到的疑似被盜賬號集合。
我們選取2021-04-01至2021-04-30作為檢測區(qū)間,將2.3節(jié)中使用基于群發(fā)行為的檢測算法在該區(qū)間內(nèi)得到的44個被盜賬號作為已知樣本,設(shè)置閾值x=7,v1=3,使用3.1中的算法進(jìn)行檢測,得到2個可疑網(wǎng)段,7個可疑IP地址,見表2。根據(jù)這2個可疑網(wǎng)段進(jìn)一步檢測得到了28個疑似被盜賬號。經(jīng)過人工查驗相關(guān)登錄及發(fā)信日志,這些賬號的具體情況如圖2所示。
圖2 疑似被盜賬號查驗情況
經(jīng)查驗,表2中的可疑IP地址均來自一地,有很大概率為同一個攻擊者所使用。實驗共檢測得到18個被盜賬號,除了15個已知被盜賬號,還成功檢測出了3個之前未發(fā)現(xiàn)的被盜賬號。另有7個正常賬號,剩余3個賬號沒有任何發(fā)信記錄,無法確認(rèn)是否被盜。
表2 可疑網(wǎng)段和IP地址
實驗證明,基于登錄IP的檢測算法確實能夠發(fā)現(xiàn)新的被盜賬號,但相比于基于群發(fā)行為的檢測算法,發(fā)現(xiàn)的被盜賬號較少。這是因為相比于發(fā)信行為而言,登錄行為容易受很多因素的影響。一方面,用戶可以手動登錄郵箱,也可以使用代理客戶端自動登錄,而自動登錄又與用戶設(shè)置和網(wǎng)絡(luò)狀況等有關(guān);另一方面,出差導(dǎo)致的地理位置變化、使用VPN等原因都有可能導(dǎo)致登錄IP所在地發(fā)生變化,給檢測工作帶來不小的影響。
本文以北京大學(xué)郵件系統(tǒng)部分賬號為研究對象,從校園郵箱的用戶組成和行為特點出發(fā),分析了正常賬號與被盜賬號在發(fā)信目標(biāo)郵箱上的區(qū)別,提出了一種基于群發(fā)行為的被盜賬號檢測算法。為了更加全面地檢測被盜賬號,本文還提出了一種基于登錄IP的被盜賬號檢測算法,可以通過已知被盜賬號進(jìn)一步檢測更多的被盜賬號。
我們通過真實環(huán)境下的試運行和實驗分別驗證了上述兩種算法的有效性,但是依然存在一些改進(jìn)空間:
1.基于群發(fā)行為的檢測算法需要人工設(shè)置相應(yīng)閾值才能使用,閾值的設(shè)置需要結(jié)合學(xué)校郵件系統(tǒng)運行實際以及相關(guān)經(jīng)驗得出最佳實踐,后續(xù)可以考慮使用動態(tài)閾值,或者減少算法對于閾值的依賴;
2.基于登錄IP的檢測算法受用戶地理位置變動、使用VPN等因素影響較大,后續(xù)若能設(shè)法排除部分干擾,將進(jìn)一步提高算法的檢測效果;
3.基于群發(fā)行為的檢測算法和基于登錄IP的檢測算法分別從兩個不同的角度進(jìn)行被盜賬號檢測,相互之間的聯(lián)系不夠緊密,后續(xù)可以考慮將二者進(jìn)行結(jié)合,從多角度出發(fā)進(jìn)行被盜賬號檢測。
近年來暴力破解、試探攻擊、釣魚郵件等校園網(wǎng)絡(luò)安全問題的頻發(fā),給相關(guān)安全工作帶來了嚴(yán)峻的挑戰(zhàn)。本文提出的算法充分考慮了校園郵箱賬號的行為特點,為被盜郵箱賬號檢測提供了一種新的思路。