一種rdp數據采集裝置及方法
【技術領域】
[0001]本發明涉及網絡通信領域,特別涉及一種RDP數據采集裝置及方法。
【背景技術】
[0002]RDP(Remote Desktop Protocol,遠程桌面協議)是由微軟公司提出的一種通訊協議,主要用于實現Windows操作系統下的多用戶模式,用于遠程訪問運行在Windows終端服務器上的應用程序,將應用的邏輯執行和用戶界面分離開來。
[0003]服務器端通過使用視頻驅動程序描述顯示輸出,構造描述信息到使用RDP協議的網絡數據包,通過網絡發送到客戶端;在客戶端,視頻驅動程序接收到描述信息,經過處理并顯示出來。在輸入過程中,客戶端鼠標和鍵盤消息從客戶端直接傳送到服務器端;在服務器端,RDP使用自己的虛擬鼠標和鍵盤驅動程序去接收這些鼠標和鍵盤事件。
[0004]作為當前網絡信息安全業界一個逐漸得到公認的事實:在安全事件造成的損失中,有75%以上來自內部,其中包括內部人員的越權訪問、濫用、以及誤操作等。分析這些內部安全威脅沒有得到有效控制的根源,可以發現下列主要因素:審計體系沒有有效工作或者根本沒有、不具備完整的訪問授權機制,不具備完善的職責分離機制,人員安全意識和技能方面的不足等。其中,缺少可信的、完備的審計系統是目前普遍存在、首當其沖的最重要的根源因素,必須嚴肅研究對待。
[0005]審計系統幫助記錄發生在重要信息系統中各種各樣的會話和事件,包括網絡中的、主機操作系統中,也包括應用系統中的。這些審計信息反映了信息系統運行的基本軌跡。一方面,它可以幫助管理層和審計者審核信息系統的運行是否符合法律法規的要求和組織的安全策略;另一方面,這些寶貴的審計信息在信息系統出現故障和安全事故時,就像航空器“黑盒子”一樣,幫助調查者深入挖掘事件背后的情報,重建事件過程,直至完整的分析定位事件的本源,并部署進一步的措施來避免損失的再次發生。
[0006]審計系統在做審計前,需要有數據采集裝置為其提供審計用的基礎數據。如圖1所示,現有技術中的RDP數據采集裝置在工作時,需要與服務端和客戶端分別建立一個TCP連接,然后再進行數據采集、RDP解密、生成RDP明文日志等操作。該裝置在工作時需要長時間地維護TCP連接的信息,系統資源的開銷很大。
【發明內容】
[0007]本發明的目的在于克服現有技術中的RDP數據采集裝置需要長時間維護TCP連接的信息、系統資源開銷大的缺陷,從而提供一種時間開銷與系統資源開銷都較小的RDP數據采集裝置。
[0008]為了實現上述目的,本發明提供了一種RDP數據采集裝置,包括:IP數據轉發模塊、RDP處理模塊以及RDP日志生成模塊;其中,所述IP數據轉發模塊負責接收網絡中的數據包,并轉發經過自身處理的數據包;所述RDP處理模塊負責獲取RDP會話數據傳輸過程中的密鑰信息,并對密文數據進行解密;所述RDP日志生成模塊根據一定的規則和數據格式生成RDP會話日志。
[0009]上述技術方案中,所述IP數據轉發模塊接收到網絡上的數據報文后,對IP包進行重組,對TCP包進行重組,若數據包為重傳包則還要進行TCP重傳處理;然后判斷報文的類另IJ,若為RDP數據包,將RDP數據包提交給RDP處理模塊,等待RDP處理模塊處理完成后,接收RDP處理模塊提交過來的RDP數據包,再轉發到網絡上,若不是RDP數據包,則直接轉發到網絡上。
[0010]上述技術方案中,所述RDP處理模塊對RDP數據包的處理分為:RDP連接認證階段和RDP數據傳輸階段;
[0011 ] 在RDP連接認證階段,所述RDP處理模塊將服務端RSA公鑰替換為RDP數據采集裝置的RSA公鑰,并利用客戶端隨機字符串和服務端隨機字符串協商得到用于數據傳輸階段的客戶端和服務端的RC4加密密鑰;所述RDP處理模塊還實現了身份認證處理;
[0012]在RDP數據傳輸階段,RDP處理模塊對所接收的RDP數據包拷貝一份數據,然后將原始數據直接提交給IP數據轉發模塊轉發出去,不做任何改動;將拷貝數據通過RC4密鑰進行解密,然后將解密后的數據提交給RDP日志模塊以生成RDP日志。
[0013]上述技術方案中,所述RDP處理模塊將服務端RSA公鑰替換為RDP數據采集裝置的RSA公鑰包括:
[0014]提取RDP服務端發送給客戶端的服務端RSA公鑰,將所述服務端RSA公鑰替換為RDP數據采集裝置的RSA公鑰,被替換的服務端RSA公鑰信息會存放在X.509證書中,或存放在RDP給定的一個格式中;若所述服務端RSA公鑰信息存放在X.509證書中,則還需要對根證書進行替換。
[0015]上述技術方案中,所述RDP處理模塊利用客戶端隨機字符串和服務端隨機字符串協商得到用于數據傳輸階段的客戶端和服務端的RC4加密密鑰包括:
[0016]提取RDP服務端發送給客戶端密鑰協商的服務端隨機字符串信息,然后發送給客戶端;
[0017]提取RDP客戶端發送給服務端密鑰協商的加密隨機字符串信息,用RDP數據采集裝置的私鑰進行解密提取出客戶端隨機字符串,再用服務端的RSA公鑰進行加密,將加密后的客戶端隨機字符串信息發送給服務端;
[0018]由所述客戶端隨機字符串和服務端隨機字符串協商,得到用于數據傳輸階段的客戶端和服務端的RC4加密密鑰。
[0019]上述技術方案中,所述身份認證處理通過以下操作實現:提取RDP客戶端發送給服務端的身份認證信息字段,用RDP數據采集裝置的私鑰進行解密,再用服務端的RSA公鑰進行加密后發送給服務端。
[0020]上述技術方案中,所述RDP日志生成模塊依據RDP處理模塊遞交過來的數據,根據客戶端操作-服務端響應模式,將用戶的一次完整行為以一定的數據格式記錄在一條日志里。
[0021]上述技術方案中,所述日志的數據格式包括:1字節的日志標識起始位,4字節的日志長度,η字節的數據,I字節的日志標識結束位;其中,
[0022]η字節數據內容采用“類型-長度-數值”的格式,其中的I字節表示類型,4字節表示數值長度,m字節表示數值;所述類型包括:登陸時間、客戶端端口號、客戶端IP地址、服務端端口號、服務端IP地址、數據ID、會話ID、域名、登陸名稱、登陸密碼、提取的數據類型以及提取的數據。
[0023]本發明的優點在于:
[0024]首先,本發明的RDP數據采集裝置在做數據采集時脫離了 TCP/IP協議棧,只用到了 TCP/IP協議棧里IP重組、TCP重組以及TCP重傳的部分功能,極大程度地簡化了數據包接收轉發的處理,減少了處理時間開銷;
[0025]其次,本發明的RDP數據采集裝置對客戶端和服務端都不建立TCP連接,不用維護TCP連接的信息,節省系統資源開銷;
[0026]最后,通過生成的RDP日志能夠幫助管理層和審計者審核用戶進行RDP登錄和操作是否符合法律法規的要求和組織的安全策略;在出現故障和安全事故時,通過生成的RDP日志能夠幫助調查者深入挖掘,重建事件過程,直至完整的分析和定位事件,并部署進一步的措施來避免故障或安全事故。
【附圖說明】
[0027]圖1為現有技術中的RDP數據采集裝置的通信過程示意圖;
[0028]圖2為本發明的RDP數據采集裝置的連接位置示意圖;
[0029]圖3為本發明的RDP數據采集裝置的功能模塊圖;
[0030]圖4為本發明的RDP數據采集裝置中的各個功能模塊對數據包的處理流程圖;
[0031]圖5為本發明的RDP數據采集裝置的通信過程示意圖。
【具體實施方式】
[0032]現結合附圖對本發明作進一步的描述。
[0033]如圖2所示,本發明的RDP數據采集裝置位于客戶端與服務端之間,該裝置能夠對RDP會話消息進行數據采集,生成RDP會話日志,以供審計。本發明的RDP數據采集裝置不采用TCP/IP協議棧,在數據采集過程中,直接在網絡層中對傳輸層(TCP)和應用層(各種協議)的數據報文進行處理。
[0034]如圖3所示,本發明的RDP數據采集裝置包括:IP數據轉發模塊、RDP處理模塊以及RDP日志生成模塊。其中,所述IP數據轉發模塊負責接收網絡中的數據包,并轉發經過自身處理的數據包;所述RDP處理模塊負責獲取RDP會話數據傳輸過程中的密鑰信息,并對密文數據進行解密;所述RDP日志生成模塊根據一定的規則和數據格式生成RDP會話日志。
[0035]下面結合圖4對本發明的RDP數據采集裝置中的