摘要:電子郵件已經成為網民最常使用的網絡服務。在很多計算機犯罪案件以及商業和民事糾紛中都涉及電子郵件的調查和取證。檢查電子郵件需要注意其傳輸原理、郵件頭和編碼的特殊性,取證人員需要掌握相應的取證技巧和技術。
關鍵詞:電子郵件 傳輸原理 編碼 郵件頭 取證
1 電子郵件系統組成
電子郵件系統的主要組成部分包括,郵件用戶代理MUA(Mail User Agent)就是用戶與電子郵件系統的接口,提供用戶編輯、發送、接收、閱讀和處理電子郵件的功能。Outlook,Foxmail等都是很受歡迎的電子郵件用戶代理。郵件傳送代理MTA(Mail Transfer Agent)是電子郵件系統的核心,運行于后臺,主要將郵件通過網絡發送給目的MTA、接收郵件并報告郵件傳送的情況(己交付、被拒絕、丟失等)。用戶不直接和MTA交互,郵件發送隊列和郵箱起緩沖的作用,可以使用戶收發郵件與實際的郵件傳輸分開。
2 電子郵件的傳輸原理
2.1 電子郵件相關協議 電子郵件是通過SMTP和POP3協議來進行收發的。
SMTP(Simple Mail Transfer Protocol)即簡單郵件傳輸協議,是為了保證電子郵件的可靠高效的傳送。SMTP協議是存儲轉發協議,是一組用于由源地址到目的地址傳送郵件的規則,由它來控制信件的中轉方式意味著它允許郵件通過一系列的服務器發送到最終目的地。SMTP協議屬于TCP/IP協議族,將用戶收發郵件與Internet的郵件傳輸區分開。可用圖2-1的通訊模型示意圖來表示其通訊過程。
POP3協議(Post Office Protocol 3)是C/S結構的脫機模型的電子郵件協議,目前已發展到第三版,稱POP3。它是規定怎樣將個人計算機連接到Internet的郵件服務器和下載電子郵件的電子協議。POP3允許用戶從服務器上把郵件存儲到本地主機(即自己的計算機)上,同時刪除保存在郵件服務器上的郵件。在POP3協議中有三種狀態,認可狀態,處理狀態和更新狀態。當客戶機與服務器建立聯系時,一旦客戶機提供了自己身份并成功確認,即由認可狀態轉入處理狀態,在完成相應的操作后客戶機發出quit命令,則進入更新狀態,更新之后最后重返認可狀態。如圖2-2。
2.2 電子郵件的傳輸過程以及郵件頭在傳輸過程中的變化
下面通過一個例子說明整個郵件傳輸過程及郵件的信頭變化。
假設用戶A,Email地址為A-Sender@alpha.com,使用客戶端IP地址是[111.11.1.1]。用戶B,Email地址為B-Receiver@beta.com,使用客戶端IP地址為[222.22.2.2]。
如果用戶A想給B發送郵件,首先A在客戶端上編輯郵件,編輯好的郵件通過MUA從客戶端發送到其使用的MTA郵件服務器(mail.alpha.com),郵件服務器根據郵件頭中的傳輸地址將郵件傳到B使用的MTA郵件服務器(mail.beta.com)并儲存在該服務器中,直到B使用自己的客戶端與該郵件服務器連接,這時mail.beta.com將存儲的郵件傳送到B的客戶端上。
在這個過程中,郵件頭將三次被加到郵件中:在編輯時由郵件客戶程序加入;郵件傳輸到mail.alpha.com時被mail.alpha.com加入;當從mail.alpha.com傳送到mail.beta.com時被mail.beta.com加入。通常來說客戶收取信件時并不添加郵件頭。
當A使用郵件客戶程序編輯郵件并將其發送給mail.alpha.com時,郵件頭內容如下。這些內容都是由郵件編輯程序添加的:
From: A-Sender@alpha.com (A)
To: B-Receiver@beta.com
Date: Tue, Jun 1 2009 15:08:17 GMT
X-Mailer: Microsoft Outlook Express 6.00.2900.2180
Subject: Hi!
當郵件從mail.alpha.com傳送到mail.beta.com時,,本地MTA就會在郵件的上部加入MTA的名字和當前時間及其他一些技術信息,這些信息被稱為Received頭。郵件的信頭變成:
Received: from A-Sender@alpha.com (A-Sender@alpha.com [111.11.1.1]) by mail.alpha.com (8.8.5) id 004A21;Tue, Jun 1 2009 15:08:21 GMT
From: A-Sender@alpha.com (A)
To: B-Receiver@beta.com
Date: Tue, Jun 1 2009 15:08:17 GMT
Message-Id:
X-Mailer: Microsoft Outlook Express 6.00.2900.2180
Subject: Hi!
當收件人MTA服務器mail.beta.com把郵件接收并存儲下來,郵件的信頭將會再加人一條記錄,每個MTA在收到消息時都會在消息的頭部添加Received頭,這意味著,最后處理郵件的計算機所生成的信息總是處于郵件頭的頂部,第一個處理郵件的計算機的信息處于郵件頭的底部:
Received: from mail.alpha.com (mail.alpha.com [111.11.1.0]) by mail.beta.com (8.8.5/8.7.2) with ESMTP id LAA20869 for < B-Receiver@beta.com >;Tue,Jun 1 2009 15:09:27 GMT
Received: from A-Sender@alpha.com (A-Sender@alpha.com [111.11.1.1]) by mail.alpha.com (8.8.5) id 004A21; Tue, Jun 1 2009 15:08:21 GMT
From: A-Sender@alpha.com (A)
To: B-Receiver@beta.com
Date: Tue, Jun 1 2009 15:08:17 GMT
Message-Id:
X-Mailer: Microsoft Outlook Express 6.00.2900.2180
Subject: Hi!
在郵件頭的各行中值得一提的是“Message-Id”,這是由發件方的郵件服務器賦給這封郵件的編號。與其他編號不同,這個編號自始至終跟隨郵件,這就表示了這封電子郵件的惟一性,在取證過程中也具有特殊意義。
3 電子郵件的編碼方式
3.1對電子郵件進行編碼的意義 電子郵件一般在傳輸過程中都要對文件進行編碼,因為電子郵件只能傳送ASCII碼格式的文字信息,ASCII碼為7位代碼。非ASCII格式的文件在傳送中必須經過編碼工具編成相應的ASCII 碼進行傳輸,在接收到后接收端再根據編碼規則進行解碼。由于國內通行的大部分郵件服務器都能夠處理GB內碼文件,所以可以直接傳送文件而不需要編碼,但如果要將中文郵件發到國外或在某些不支持8位(非標準ASCII碼格式)的某些郵件主機上傳輸,就會產生亂碼。具體地說就是在直接發送中文或非ASCII碼的郵件時郵件主機無法處理,便會把文件中每個字符的第八位都濾掉(截去第八位)從而使一些信息和原始信息截然不同,或郵件完全損壞成為亂碼無法閱讀。這也是目前造成郵件亂碼的主要原因之一。
3.2 常用的編碼標準 MIME(Multipurpose Internet Mail Extensions)多用途互聯網郵件擴展是一個互聯網標準,它擴展了電子郵件標準,使其能夠支持非ASCII字符、二進制格式附件等多種格式的郵件消息。
MIME標準現已成為Internet電子郵件的主流。使用這種標準,用戶根本不需要知道它是如何編碼/解碼的,所有工作由電子郵件軟件自動完成。由于MIME的方便性,愈來愈多的電子郵件軟件采用這種方式。
使用MIME標準進行傳送的郵件一般包含MIME頭(MIME Header)。
4 電子郵件的取證
電子郵件取證是計算機取證的一個分支,是指按照法律的要求提取電子郵件證據的方法和過程,是運用技術的手段識別一個電子郵件真正的發送者、接收者以及郵件發送的時間和發出地址的過程。電子郵件的證據來源主要包括:用戶的郵箱,網絡上傳輸數據的記錄,服務器上的記錄,用戶使用的硬盤等,以及對于使用web方式的發送和接收郵件的網頁歷史記錄、Internet的臨時文件、網頁緩存以及Cookie等。對于司法鑒定取證工作,涉及最多也是最重要的是用戶使用的硬盤和郵件服務器的硬盤,因為在這兩個地方往往有整個郵件的完整內容。以下主要討論對用戶使用的硬盤所進行的電子郵件取證。
4.1 電子郵件的存儲形式和存儲位置 用戶使用電子郵件收發郵件的方式主要有兩種:一種是使用郵件客戶端軟件進行收發,目前使用的最為廣泛的郵件客戶端為Outlook、Outlook Express 6、Foxmail等;一種是通過網頁瀏覽器進行在線的郵件收發。
使用Outlook 進行收發的郵件通常以擴展名為.pst的庫文件形式存儲,默認的存儲路徑為“\\Documents and Settings\\(User Name)\\Local Settings\\Application Data\\Microsoft\\Outlook”。
使用Outlook 進行收發的郵件通常以擴展名為.dbx的庫文件形式存儲,默認的存儲路徑為“\\Documents and Settings\\(User Name)\\Local Settings\\Application Data\\Identities\\( User ID}\\Microsoft\\Outlook Express”。
使用Foxmail進行收發的郵件通常以擴展名為.box的庫文件形式存儲,默認的存儲路徑為“\\Documents and Settings\\(User Name)\\Local Settings\\Application Data\\Identities\\( User ID}\\Microsoft\\Outlook Express”。
使用網頁瀏覽器進行在線收發的郵件以網頁歷史記錄的形式存儲。不同的操作系統,其存儲位置不同。以Microsoft Windows XP操作系統為例,其網頁歷史記錄的存儲路徑為“\\Documents and Settings\\(User Name)\\Local Settings\\Temporary Internet Files”。
通常情況下,根據郵件的存儲的形式,使用過濾文件擴展名的方法,可初步確認該郵件客戶端使用者收發郵件的使用習慣。
4.2 電子郵件的提取 確定了郵件的位置,下一步的工作就是對其進行提取,查看郵件中的具體內容。根據用戶使用電子郵件收發方式的不同,電子郵件的提取方法也主要有兩類。
一類是存儲在郵件客戶端軟件中郵件的提取。對于主流客戶端軟件(Outlook、Outlook Express 6、Foxmail)的提取,可采用將用戶使用的硬盤搜索到的中存儲的庫文件,導入取證機中所安裝的,與該庫文件對應的郵件客戶端軟件的存儲路徑下。
在線收發的郵件,由于其特殊性,有些以網頁形式存儲的郵件在打開后并不能瀏覽郵件內容。再加上網頁歷史記錄的文件夾中存儲的文件量較大,如簡單的使用瀏覽器進行人工查看的方法,工作量大。因而可使用查找目標郵箱的地址作為關鍵字,對其進行篩選。該方法亦適用于已刪除,需要恢復郵件的查找和提取。
4.3電子郵件頭的分析 電子郵件中總會包含發件人身份的有效信息,Received頭和Massage-ID,以及在使用MIME編碼后進行傳送的郵件,Content-Transfer-Encoding是追蹤電子郵件的最有用的電子郵件信息。
Received頭和Massage-ID通常是由郵件服務器添加的,除非使用轉發服務器等高級技術,一般情況下它們是包含了發件人有效的身份信息。
Received頭一般包括,郵件的發送時間,郵件發送的IP地址,以及發件方郵件服務器的IP地址。
Massage-ID這是由發件方郵件服務器賦給這封郵件的編號。與其它編號不同,這個編號自始至終跟隨郵件,是唯一的,兩個不同的電子郵件不會有相同的Massage-ID。有時候Massage-ID包含了發送者郵件地址在其中。
Content-Transfer-Encoding,使用MIME編碼后進行傳送的郵件所具有的特征信息。其意義在于,對于郵件已刪除以及目標郵箱地址未知的情況下,郵件的定位。
4.4電子郵件的恢復 前文已經提到對于已刪除郵件的搜索和定位,通常使用關鍵字進行數據搜索。搜索到的已刪除郵件內容,通常是使用MIME進行編碼后的代碼,而不能正常顯示中文內容。使用亂碼查看器來解碼,結果如圖4-1。
使用該方法,可有效獲取已刪除郵件的信息。
5 電子郵件取證所面臨的困難
目前越來越多的web郵件(通過瀏覽器在線收發的郵件)服務商,對用戶提供了加密的登錄方式(如https),這對于離線的取證工作,無疑增加了很大的難度。取證人員在使用者的硬盤中往往只能夠看到用戶所使用郵件服務商的網頁框架,而無法看到其郵件內容。這也是今后日趨成熟的電子郵件取證技術所需要研究的內容之一。此外,郵件真實性認定的技術,隨著郵件發送者使用工具修改郵件頭內容,以及使用郵件轉發服務器偽造郵件等的出現,也需要進一步的提升。
參考文獻:
[1]劉彩虹,陸調.Internet E-mail的核心協議研究與實現,計算機工程與應用.
[2]楊澤明等.電子郵件取證技術.
[3]劉浩陽.電子郵件的調查與研究.
[4][美]Warren G Kruse Ⅱ.,計算機取證:應急響應精要.