賴清楠, 郭 強
(北京大學 計算中心, 北京 100871)
新型冠狀病毒肺炎是近百年來人類遭遇的影響范圍最廣的全球性大流行病, 對全世界是一次嚴重危機和嚴峻考驗.人類生命安全和健康面臨重大威脅[1].2020年1月下旬, 新冠疫情在國內(nèi)暴發(fā), 為了保障人民的生命安全, 人員流動受到限制.雖然目前國內(nèi)新冠疫情趨于緩和, 各地逐步復工復產(chǎn), 但國外依然緊張, 仍然不能放松警惕.
在這期間, 高校正常的教學科研受到影響, 教師學生在無法返回學校的情況下, 只能居家進行遠程學習和科研.VPN能夠極大地方便高校師生校內(nèi)資源、電子期刊、學術(shù)資源的獲取, 滿足遠程學習和科研的需求.VPN的使用分為客戶端和服務器, 用戶使用學校統(tǒng)一身份認證登錄VPN客戶端后, 服務器會隨機分配VPN地址池的某一IP給用戶, 再去訪問資源的時候就和校內(nèi)用戶沒有任何差別.本文通過采集VPN系統(tǒng)的日志,分析新冠疫情期間師生的遠程學習和科研的情況.
新冠疫情暴發(fā)后, 為了防止大范圍的擴散, 一線二線城市提倡高校遠程學習和科研, 這使得遠程學習和科研在國內(nèi)普及開來.從全世界來看, 遠程學習和科研在歐美國家普及率較高[2], 在中國, 更多的只是作為日常學習和科研的輔助手段.雖然遠程學習和科研保障了正常的學習科研工作, 但也會帶來網(wǎng)絡安全問題.與校內(nèi)場景相比, 遠程學習和科研的硬件設備、網(wǎng)絡環(huán)境均不同于內(nèi)網(wǎng), 防護做得不足[3].使用VPN技術(shù), 身份安全以及訪問權(quán)限可能會成為其弱點.黑客通過盜用身份登錄VPN, 完全有可能利用VPN進入網(wǎng)絡內(nèi)部并進行大肆搜掠[4].但是如果能夠給VPN增加雙因素認證, 如移動電話或者軟令牌, 將會提高VPN使用上的安全性[5].我們在使用VPN提供的便利的同時, 也不能忽略VPN帶來的安全問題.
為了了解師生在線學習和遠程辦公情況, 分析了新冠疫情期間北京大學VPN日志.在網(wǎng)絡日志分析及VPN日志分析方面很多學者也做了一些相關(guān)的研究.余慧佳等[6]對搜狗引擎在一個月內(nèi)的查詢?nèi)罩具M行了分析, 從獨立查詢詞分布、同一session內(nèi)的用戶查詢習慣及用戶是否使用高級檢索功能等方面對用戶行為進行了分析.Mat-Hassan等[7]基于AutoDoc搜索和導航文檔系統(tǒng)的日志數(shù)據(jù), 提出了一個用戶搜索會話模型, 并對用戶的鏈接或點擊選擇行為和搜索策略模式進行了分析.Lu等[8]為了從日志中統(tǒng)計出真實的VPN用戶數(shù), 使用特征提取和日志分析方法, 提出了一種新的VPN用戶識別算法, 論文提取了用戶的基本信息、源IP地址、賬號名稱等特征來區(qū)分不同的用戶, 最后用2個月的VPN日志驗證了算法的有效性和準確性.武凌等[9]設計了一個基于Hadoop的VPN訪問日志分析平臺, 將VPN日志與流量關(guān)聯(lián), 產(chǎn)生用戶的軌跡追蹤報表, 找出資源濫用者和潛在的安全威脅.本文采用了基于日志特征的分析方法, 根據(jù)VPN日志的類別對日志進行特征提取, 將源VPN日志分解成數(shù)據(jù)量較小的特征日志, 最后對特征進行匯總, 得到所需要的分析結(jié)果.
本文研究對象為新冠疫情期間北京大學VPN服務器產(chǎn)生的日志, 為了緩解壓力, 學校部署了多臺VPN服務器, 從這些服務器上采集了2020年2月20日到2020年9月20日, 共7個月的VPN日志, 大小約為21 GB, 日志條數(shù)約103 989 852條.
初步分析后, 日志大概可以分為Login、System、VPN Tunneling、WebRequest 4大類, 如表1所示.Login記錄用戶登錄過程中產(chǎn)生的日志; System記錄用戶認證成功后, 系統(tǒng)對用戶權(quán)限的分配日志; VPN Tunneling記錄的是VPN通道的建立日志; WebRequest記錄的是用戶使用Web方式連接VPN訪問資源的請求, 目前只有極少用戶采用此方式, 因此絕大部分用戶資源獲取的流量日志并未記錄在WebRequest中.

表1 VPN日志分類
本文提出了基于特征的VPN日志分析方法, 從VPN服務器上采集的源日志是以日期命名, 以天為單位生成的, 每天日志大約為25 MB.VPN日志具有很明確的日志類別以及格式規(guī)則, 日志里帶有源IP地址、用戶登錄賬號、客戶端類型等信息.截取了一段真實的VPN日志, 如下所示, 其中部分敏感信息采用xxxx代替.
2020 -03-10 00:01:06 - vpn_D - [xxxx] xxxx(pku's users)[標準用戶角色] - VPN Tunneling: Session started for user with IPv4 address xxxx, IPv6 address xxxx,hostname xxxx
2020 -03-10 00:01:07 - vpn_D - [xxxx] xxxx (pku's users)[標準用戶角色] - Closed connection to xxxx after 1874 seconds, with 4402960 bytes read and 24096373bytes written
日志里各個字段的含義如下:
時間-VPN服務器標識-[源IP地址]用戶賬號(pku’s users)[角色分組 ]-日志內(nèi)容
不同類別的日志, 日志內(nèi)容格式是固定的, 例如Session started日志格式固定為:
VPN Tunneling: Session started for user with IPv4 address xxxx, IPv6 address xxxx, hostname xxxx
里面包含了登錄后分配的IPv4地址和IPv6地址,用戶的hostname信息.根據(jù)VPN日志的類別以及格式規(guī)則, 把時間、賬號、源IP地址、連接時長等信息作為日志的特征, 以這些特征對日志進行分類, 分析方法如圖1所示.

圖1 基于特征的日志分析方法
(1) 日志分塊.源日志按照登錄用戶賬號進行分類,為每個用戶賬號建立一個日志文件存儲這個賬號相關(guān)的所有日志.
(2) 排序.同一賬號不同時間段的登錄可能會分配到不同VPN服務器上, 分塊后的日志時間上有可能是錯亂的, 為了不影響后續(xù)處理, 需要對日志按時間進行排序.
(3)特征提取.以統(tǒng)計用戶VPN使用時長為例,逐個讀取分塊后的日志文件, 提取出Closed connection日志, 按照Closed connection日志規(guī)則匹配出使用時長, 為每個用戶生成一個只包含時間、賬號、使用時長的用戶特征日志.
(4) 統(tǒng)計匯總.將用戶特征日志進行匯總.
本文分析了新冠疫情期間學生和教工遠程學習和科研時VPN的使用情況, 從使用人數(shù)、登錄登出時間、使用時長、聚類分析、用戶類別5個方面進行討論.
VPN日志里記錄了賬號信息, 在校園網(wǎng)的場景下可以用賬號來代表用戶, 雖然存在一些公共賬號, 但仍可以用賬號數(shù)量近似的表示用戶數(shù)量.VPN日志Closed connection類別, 如下所示, 包含賬號信息、VPN使用時長等, 加上日志的時間戳可以推算出用戶登錄VPN、登出VPN、以及在線時間段.
2020 -03-15 00:01:47 - vpn_C - [xxxx] xxxx(pku's users)[標準用戶角色] - Closed connection to xxxx after 27485 seconds, with 13847842 bytes read and 45740435 bytes written.
圖2為從2月20日到9月20日, VPN使用人數(shù)以及同時在線人數(shù)變化情況, 整體上看使用人數(shù)和同時在線人數(shù)處于下降趨勢.圖3為2月20日到9月20日全國新增確診人數(shù)變化情況, 數(shù)據(jù)來自中華人民共和國國家衛(wèi)生健康委員會(http://www.nhc.gov.cn).4月份開始疫情趨于緩和, 6月份和7月份小規(guī)模的復發(fā), 8月份開始逐漸又呈現(xiàn)緩和趨勢.

圖2 使用人數(shù)和同時在線人數(shù)

圖3 全國新增確診人數(shù)
兩者對比來看, 2月份到6月份春節(jié)學期期間疫情較為嚴重, 師生遠程學習和科研, VPN使用人數(shù)有所波動但保持在較高的水平, 周末和假期休息時間段人數(shù)下降明顯.7月、8月暑假開始后, 使用人數(shù)下降到之前的一半左右, 9月份秋季學期開學后, 疫情逐漸平穩(wěn),學生和教工返校, 不再依賴VPN, 使用人數(shù)再次下降.
表2統(tǒng)計了2月到9月平均在線人數(shù)的情況, 2月到4月每天的平均使用人數(shù)突破1萬, 最高使用人數(shù)接近1.5萬一天, 同時在線人數(shù)在3800左右, 最高同時在線人數(shù)達到0.5萬.5月份開始使用人數(shù)和同時在線人數(shù)開始下降, 9月份下降到2月到4月的1/4水平.

表2 使用人數(shù)和同時在線人數(shù)統(tǒng)計
圖4是2月20日到9月20日按照時間段統(tǒng)計的用戶登錄和登出VPN人次, 橫軸為時間段, 0表示0點到1點之間, 以此類推, 縱軸表示人次.從圖中可以看出登錄人次和登出人次曲線趨勢是一致的, 夜晚少白天多, 7點后學生進入學習狀態(tài), 教工進入科研狀態(tài), 因此登錄VPN人次逐步上升, 9點后登錄人次趨于穩(wěn)定.10點、15點、21點出現(xiàn)峰值, 10點、15點正好是開始上課的時間, 21點是學生最活躍的查資料以及做實驗時間, 因此這幾個時間點VPN使用人數(shù)較多.22點登錄人次逐漸下降, 12點、17點、22點登出人次出現(xiàn)峰值, 12點、17點為下課時間, 22點為用戶休息時間.登錄和登出時間, 基本上與學生教工的學習科研規(guī)律符合.

圖4 登錄登出人次統(tǒng)計
與往常不同, 新冠疫情期間, 學生需要進行長時間的遠程學習, 教工需要進行長時間的科研活動, 因此大量VPN用戶的使用時長要比往常高.圖5表示的是2月20日到9月20日VPN用戶的平均使用時長.平均使用時長計算方法如下:


圖5 平均使用時長
平均使用時長從2月份到8月份并沒有明顯的變化, 約為250 min, 9月份平均使用時長有所下降, 約為200 min, 期間周末和假期平均使用時長下降明顯.2月份到6月份的使用人數(shù)上是7月份到9月份的3-4倍,雖然平均使用時長相差不大, 但是總的使用時長要高很多, 說明了新冠疫情期間VPN為學生教工遠程學習和科研提供了很好的支持.9月份之后, 有一些常駐校外的教工需要連接VPN進行科研活動, 因此平均時長趨于穩(wěn)定.

再對每小時的平均使用時長進行分析, 每小時的平均使用時長計算方式如下:將2月20日到9月20日每天每小時的平均使用時長匯總再平均后結(jié)果如圖6所示, 0表示0點到1點之間, 以此類推.白天時間段平均使用時長大約在40min左右, 8點達到最低值, 晚上平均使用時長較長,凌晨5點達到峰值, 約為50 min.白天6點鐘開始登錄VPN人數(shù)逐漸增加, 使得平均使用時長逐漸降低, 當人數(shù)增加到一定數(shù)量后, 8點鐘開始, 平均使用時長開始回升, 但白天使用人數(shù)多, 頻繁有人登錄登出VPN,因此白天平均使用時長整體要比晚上低.晚上因為VPN使用人少, 加上部分用戶夜晚期間使用VPN進行長時間的數(shù)據(jù)傳輸和計算等, 因此平均使用時長較白天要長.

圖6 每小時平均使用時長
從另一個角度來看, 白天時間段使用人數(shù)多, 登錄登出VPN人數(shù)也多, 也可能是人數(shù)太多VPN服務器壓力較大, 穩(wěn)定性不夠好, VPN會有自動斷開的現(xiàn)象,而夜晚使用人數(shù)少, VPN穩(wěn)定性較好, 使得平均使用時長夜晚比白天要高.
根據(jù)每個用戶的每日平均使用時長(使用總時長除以使用天數(shù))和使用天數(shù)對用戶進行聚類分析, 了解VPN用戶的分布情況, 聚類算法采用的是K-means方法.將每日平均使用時長和使用天數(shù)作為K-means的輸入, 對于K值的選擇, 采用手肘法進行確定, 如圖7所示為不同K值取值, 聚類誤差(各個點到其中心點的距離的平方和)的變化情況,K<4時聚類誤差下降較快,K>4時聚類誤差下降緩慢, 因此可以取K=4.

圖7 不同K值聚類誤差的變化情況
聚類后的結(jié)果如表3所示, 第1類中接近45%的VPN用戶在統(tǒng)計期間每日平均使用時長和使用天數(shù)均不高, 這部分用戶(例如學校本科生用戶)不需要長時間使用VPN進行校內(nèi)資源的訪問和獲取.第2類、第3類、第4類每日平均使用時長和使用天數(shù)逐步增加,不同程度的依賴VPN進行遠程學習和科研.

表3 聚類結(jié)果
聚類結(jié)果可以讓學校了解VPN用戶的分布情況,并以此為依據(jù)進行VPN資源的劃分及調(diào)整.例如, 對于每日平均使用時長和使用天數(shù)較長的用戶, 需要劃分的VPN服務器資源較多, 而第1類用戶, 雖然賬號數(shù)量多, 但是由于每日平均使用時長和使用天數(shù)都較少, 所以資源并不需要太多.如果僅僅是按照用戶數(shù)量來劃分資源的話, 就可能會造成服務器資源的浪費.
根據(jù)用戶賬號查詢出用戶所屬院系, 如表4所示,大致將用戶分為文科院系、理工科院系、教工、其他、未知5類, 由于VPN用戶數(shù)量較多, 情況復雜, 無法做到精確劃分.

表4 用戶類別統(tǒng)計
從平均使用時長和每小時平均使用時長對比理工科院系和文理科院系的VPN使用情況, 分別如圖8和圖9所示, 兩者變化趨勢基本一致, 但理工科要比文科略高, 平均使用時長整體高約40 min, 每小時平均使用時長整體高約3 min.

圖8 文科和理工科用戶平均使用時長

圖9 文科和理工科每小時平均使用時長
校園網(wǎng)是一個相對封閉的環(huán)境, VPN提供了一個進入校園網(wǎng)的通道, 在為用戶訪問校內(nèi)資源提供便利的同時, 也帶來了安全隱患, 比如永恒之藍、挖礦病毒等, 都有可能通過VPN而進入校園內(nèi)部.弱密碼和撞庫攻擊會導致用戶賬號被不法分子利用, 進入到校園內(nèi)部, 對校內(nèi)資源進行竊取或者攻擊.
在對VPN日志分析的過程中, 發(fā)現(xiàn)存在同一個源IP地址對應多個賬號, 同一個賬號對應多個地理位置的情況.IP對應的地理位置信息來自IP2Location?LITE IP-COUNTRY-REGION-CITY Database (https://lite.ip2location.com/database/ip-country-region-city).經(jīng)分析, 11.13%的源IP地址對應了兩個及以上的賬號, 原因在于運行商為用戶提供網(wǎng)絡服務的時候使用的是動態(tài)IP地址, 不同的時間不同的用戶可能拿到相同的IP地址, 再登錄VPN時, 就出現(xiàn)了同一個源IP地址對應了不同的賬號的情況.56.63%的賬號對應了2個及以上的地理位置, 考慮到大部分師生會往返家鄉(xiāng)及北京, 因此2個地理位置也是正常現(xiàn)象.
換個角度來看, 同一個源IP地址對應多個賬號,同一個賬號對應多個地理位置還有可能是賬號被盜用了.盜用者在同一個網(wǎng)絡環(huán)境下使用不同賬號來登錄VPN, 以及盜用者與正常用戶在不同地點登錄VPN也會出現(xiàn)上述現(xiàn)象.如表5所示, 為同一非公共賬號地理位置變化情況.3月28日當天出現(xiàn)在了浙江和山東,3月31日和4月1日頻繁出現(xiàn)在山東和內(nèi)蒙古, 因此極有可能該賬號已被盜用.

表5 某賬號地理位置變化情況
以時間間隔為1天, 地理位置跨越省份為原則, 找出疑似盜用的賬號, 將這些賬號提交VPN管理員, 并且結(jié)合賬號的身份、賬號在其他系統(tǒng)中的使用情況等信息, 考慮是否對賬號進行封禁處理.
以一周時間為例, 從學校部署的安全態(tài)勢感知設備里面統(tǒng)計了2020年6月15日至2020年6月21日的告警類型來源地址分布情況, 如圖10所示, 共有12 339條告警信息.來源IP中47.14%的地址是VPN地址池中的IP, VPN IP告警數(shù)量占總告警的54.46%.

圖10 安全態(tài)勢感知告警類型來源地址分布
VPN IP告警數(shù)量前10的IP中, 排行第一的IP告警次數(shù)達到3930次, 告警內(nèi)容包括頻繁訪問445端口(每分鐘超過100次)、MS17-010永恒之藍漏洞探測等.通過VPN IP以及VPN日志找到告警時間段該VPN IP對應的賬號信息, 如表6所示, 這些賬號使用過的終端極有可能感染了病毒或者木馬.

表6 告警數(shù)量前10的VPN IP及其賬號
對于學校校園網(wǎng)來說, 校園網(wǎng)用戶設備終端類型復雜, 操作系統(tǒng)繁多, 大多數(shù)缺少專人維護, 并且安全防護措施缺乏, 因此一些簡單的病毒或者木馬極容易通過常見的系統(tǒng)漏洞進入到校園網(wǎng)內(nèi)部進行擴散.雖然能確定用戶的賬號, 但也無法對用戶進行封禁處理,因此VPN在保障正常的遠程學習和科研的同時, 帶來的安全隱患也不容忽視.
新冠疫情的暴發(fā), 學生教工無法返校的情況下, 絕大多數(shù)高校采用VPN的方式保證遠程學習和科研.為了解具體情況, 采集了2020年2月至2020年9月疫情期間的VPN日志, 從使用人數(shù)、登錄登出時間、使用時長、聚類分析、用戶類別5個方面進行討論.新冠疫情期間, VPN在線人數(shù)達到一個較高的水平, 最高使用人數(shù)接近1.5萬一天, 最高同時在線人數(shù)達到0.5萬.從登錄登出時間來看基本符合學生教工的學習和科研規(guī)律, 10點、15點、21點出現(xiàn)登錄峰值,12點、17點、22點出現(xiàn)登出峰值.平均使用時長從2月份到8月份并沒有明顯的變化, 約為250 min, 9月份有所下降, 約為200 min.根據(jù)用戶的每日平均使用時長和使用天數(shù)對用戶進行聚類分析, 大致將用戶分為4類.對用戶類別進行分析, 理工科用戶VPN使用時間比文科用戶略長, 但變化趨勢基本一致.以上這些數(shù)據(jù), 可為VPN設備的負載優(yōu)化、鏈路調(diào)整、資源分配提供指導, 對VPN設備選型也具有參考意義.
新冠疫情的暴發(fā)使得遠程學習和科研普及開來,但也伴隨著一些問題的產(chǎn)生.由于家庭環(huán)境和個人的電子設備安全防護措施做得不夠, 同時用戶對于電子郵件、視頻會議等“虛擬”通信的依賴, 使得用戶的終端更容易受到黑客的攻擊, 如果攻擊成功, 黑客就可以利用用戶終端作為跳板竊取校內(nèi)資源或者進行下一步的攻擊.弱密碼和撞庫攻擊會導致用戶賬號被不法分子利用, 對校內(nèi)資源造成威脅.通過分析同一個源IP地址對應多個賬號, 同一個賬號對應多個地理位置的情況, 可以找到一些疑似被盜用的賬號, 再結(jié)合學校部署的安全態(tài)勢感知設備的數(shù)據(jù)來看, VPN帶來的安全隱患不容忽視.
總之, 疫情下的遠程學習和科研非常考驗高校的信息化水平, 而在遠程學習和科研將成為新常態(tài)的趨勢下, 是“甘飴”還是“毒藥”? 高校都應該做好充足的準備來應對.
本文的不足之處在于, 僅分析了北京大學的VPN日志數(shù)據(jù), 得出的結(jié)論有限; 分析過程中沒有建立完善的數(shù)據(jù)分析模型, 分析數(shù)據(jù)之間的關(guān)聯(lián)性; 提出了VPN的安全問題, 但并未做更深入的分析, 這些將是本文需要進一步研究的地方.