專利名稱::一種在數據包的級別動態(tài)檢測郵件附件病毒的方法
技術領域:
:本發(fā)明涉及電子郵件病毒檢測領域,尤其涉及一種在數據包的級別動態(tài)檢測郵件附件病毒的方法。
背景技術:
:隨著互聯網的發(fā)展和普及,電子郵件在人們的工作和生活中扮演著日趨重要的角色,成為現代人際交往中最重要的網絡工具之一。但與此同時,電子郵件病毒也越來越猖獗,輕則造成用戶電腦系統(tǒng)癱瘓,重則導致用戶數據資料外泄或被銷毀。簡單郵件傳輸協議(SimpleMailTransferProtocol,SMTP)是目前廣泛使用的互聯網郵件傳輸協議。但SMTP是一個相對簡單的基于純ASCII文本的協議,并不允許在郵件消息中使用ASCII字符集以外的字符。因此,一些非英語字符集消息和二進制文件、圖像、聲音等非文字信息都不能在電子郵件中發(fā)送。多用途互聯網由卩件擴展(MultipurposeInternetMailExtensions,MME)是一個互聯網標準,它擴展了電子郵件標準,使其能夠支持非ASCII碼字符、二進制格式附件等多種格式的郵件消息。如今,大多數的SMTP服務器都支持MIME擴展,它使各式類型數據的傳輸變得和純文本一樣簡單。MME規(guī)定了用于表示各種各樣的數據類型的符號化方法,包括7bit,8bit,binary,quoted-printable,base64這幾種編碼方式。二進制文件、圖像、聲音等非文字信息可通過其中某種編碼方式編碼成對應的純文本信息,使得這些非文字信息即可以附件的形式在郵件中進行發(fā)送了。但這卻給郵件病毒提供了更多的藏身之所,越來越多的病毒選擇隱藏在郵件附件中來進行傳播。若用戶點擊攜帶了病毒的郵件附件,不僅自身的電腦會由于病毒感染而造成損失,而且病毒會按照用戶的通訊錄將病毒再傳播給其他人,最嚴重的情況可能會造成整個網絡的癱瘓。在目前通用的殺毒軟件中,檢測郵件附件是否含有病毒的方法是對已編碼的整個附件信息進行解碼檢測。這樣做,有以下兩點不足之處1.占用較大容量的緩沖區(qū)來存儲待檢測的附件,降低了內存的利用率;2.必須接收到所有附件信息后,才能進行解碼檢測,增大子檢測到病毒的時延,降低了工作效率;
發(fā)明內容為了克服現有的郵件附件病毒檢測技術需占用大量緩沖區(qū)的不足點,同時縮小檢測出病毒的時延,本發(fā)明提供一種在數據包的級別動態(tài)檢測郵件附件病毒的方法。本發(fā)明解決其技術問題所采用的技術方案是—種在數據包的級別動態(tài)檢測郵件附件病毒的方法,包括判斷接收到的數據包是否包含附件信息;3查看附件信息所使用的編碼方式;判斷該數據包是否是郵件的結束部分;根據解碼后的附件信息長度與預設定的閥值的關系對其進行操作。本發(fā)明提出一種在數據包的級別動態(tài)檢測郵件附件病毒的方法采用動態(tài)檢測的思想,接收到一個數據包則解碼檢測一次,不必等到所有附件信息收集齊全后再集中解碼檢測。采用這種技術,一方面可減少所需緩沖區(qū)的大小,提高內存使用率;另一方面,大大降低了檢測出病毒的時延,提高了檢測效率。技術效果與現有技術相比,本發(fā)明具有以下有益效果1.不同于現有技術需要大量的緩沖區(qū)來存儲已接收到的若干個數據包,本方法只需少量的緩沖區(qū)間來存儲未達到預處理長度的信息,這樣提高了內存的利用率;2.如果先收到的某個數據包中包含病毒,在現有技術下卻要等到所有數據包收齊后才能被檢測出來,這樣增大了檢測出病毒的時延且降低了檢測效率。但本發(fā)明提出的方法是收到一個數據包則解碼檢測一次,這樣大大縮短了檢測出病毒的時延,提高了檢測效率。圖1為本發(fā)明所述一種在數據包的級別動態(tài)檢測郵件附件病毒的方法的具體實施流程圖。具體實施例方式下面結合附圖對本發(fā)明實施例的技術方案及其技術效果做詳細說明。本發(fā)明所述一種在數據包的級別動態(tài)檢測郵件附件病毒的方法如圖1所示,包括如下步驟步驟101判斷接收的數據包是否包含附件信息接收到一個數據包后,根據其MIME頭部信息來判斷包含附件信息的情況;如果含有附件信息,則對該附件信息進行解碼。MME頭部信息中的內容處置(Content-Disposition)字段用于指定郵件閱讀程序處理數據內容的方式,其有inline和attachment兩種標準方式inline表示直接處理;attachment表示當作附件處理。在此步驟中,如果將Content-Disposition設置為attachment,那么其后還可以指定filename屬性,例如Content—Dispositon-attachment;filename="hello,doc",其中MME頭字段表示MME消息體的內容為郵件附件,附件名為"hello,doc"。亦即是說,當MME頭部信息中Content-Dispositon的字段為attachment時,則表示信息體為附件信息。步驟102查看附件信息所使用的編碼方式MME頭部信息中的內容傳輸編碼(Content-Tansfer-Encoding)字段用于指定編碼方式。形式如下Content-Transfer-Encoding:[mechanism];其中mechanism的值可指定為"7bit,,、"8bit,,、"binary,,、"quoted-printable,,、"base64,,。如果mechanism值為"base64,,,那么表示該附件信息是采用"base64"方式編碼,則采用"base64"方式解碼附件信息。4步驟103判斷該數據包是否郵件的結束部分MME頭部信息中的內容類型(Content-Type)字段中的boundary屬性用于定義表示嵌套的各個MME消息之間的邊界標記,每個邊界標記都以兩個"-"連接符開始;同時,在最后一個MIME段的末端,邊界標記不僅以這兩個連接符作為開始,而且也以它們作為結束。因此,如果boundary屬性值末端連著兩個連續(xù)的連接符,那么表示該段信息為郵件的結束部分,則直接對其進行檢測。步驟104根據解碼后的附加信息長度與預設定的閥值的關系對其進行操作設定一個閾值L來表示內存中暫存待檢測的附件信息的緩沖區(qū)的大小;一般情況下,該閾值L略大于在網絡中傳輸的數據包的長度,但遠遠小于整個附件信息的長度;判斷解碼后的附件信息長度與閾值L的大小關系;如果該數據包不是郵件的結束部分,則根據解碼后的附件信息長度與閾值的大小關系按照不同的順序進行檢測。假定預設定的數據包解碼后附件信息長度為Ll,暫存在緩沖區(qū)中的信息長度為L2;若LI與L2之和小于L,則將其存入內存的緩沖區(qū)中,等待下一個數據包到達之后再判斷其和與下一個數據包之和是否達到該閾值L;如果達到,則將其與下一個數據包解碼后得到的信息一起進行病毒檢測;如果LI與L2之和不小于L,則直接檢測其是否包含病毒;如果該數據包為最后一個數據包,則直接解碼檢測。步驟105結束。以上所述,僅為本發(fā)明的具體實施方式,但本發(fā)明的保護范圍并不局限于此,凡在本發(fā)明的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內。權利要求一種在數據包的級別動態(tài)檢測郵件附件病毒的方法,其特征在于,包括判斷接收到的數據包是否包含附件信息;查看附件信息所使用的編碼方式;判斷該數據包是否是郵件的結束部分;根據解碼后的附件信息長度與預設定的閥值的關系對其進行操作。2.根據權利要求1所述的根據解碼后的附件信息長度與預設定的閥值的關系對其進行操作,其特征在于,包括預先設定一個閾值來表示內存中暫存的待檢測附件信息的緩沖區(qū)的大小;判斷解碼后的附件信息長度與閾值的大小關系;根據解碼后的附件信息長度與閾值的大小關系按照不同的順序進行檢測。3.根據權利要求2所述的根據解碼后的附件信息長度與閾值的大小關系按照不同的順序進行檢測,其特征在于,如果解碼后的附件信息長度和暫存在緩沖區(qū)中的信息長度之和小于該閾值,則將其存入內存的緩沖區(qū)中,等待下一個數據包到達之后再判斷其和與下一個數據包解碼后的長度之和是否達到該閾值;如果達到,則將其與下一個數據包解碼后得到的信息一起進行病毒檢測;如果解碼后的附件信息與緩沖區(qū)中暫存的信息長度之和達到這一閾值,則直接檢測其是否包含病毒;如果該數據包為最后一個數據包,則直接解碼檢測。全文摘要本發(fā)明公開了一種在數據包的級別動態(tài)檢測郵件附件病毒的方法,涉及網站安全
技術領域:
。所述方法包括判斷接收到的數據包是否包含附件信息;查看附件信息所使用的編碼方式;判斷該數據包是否是郵件的結束部分;根據解碼后的附件信息長度與預設定的閥值的關系對其進行操作。本發(fā)明能夠提高內存使用率和病毒的檢測效率。文檔編號H04L12/58GK101789105SQ201010124178公開日2010年7月28日申請日期2010年3月15日優(yōu)先權日2010年3月15日發(fā)明者張栗偉,童志明,肖新光申請人:北京安天電子設備有限公司