KR100679108B1 - A method for filtering electronic mail - Google Patents

A method for filtering electronic mail Download PDF

Info

Publication number
KR100679108B1
KR100679108B1 KR1020040077389A KR20040077389A KR100679108B1 KR 100679108 B1 KR100679108 B1 KR 100679108B1 KR 1020040077389 A KR1020040077389 A KR 1020040077389A KR 20040077389 A KR20040077389 A KR 20040077389A KR 100679108 B1 KR100679108 B1 KR 100679108B1
Authority
KR
South Korea
Prior art keywords
mail
string
filter list
filtering
list
Prior art date
Application number
KR1020040077389A
Other languages
Korean (ko)
Other versions
KR20060028292A (en
Inventor
이종일
남궁동원
민철홍
김광현
이경헌
Original Assignee
주식회사 파이오링크
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 파이오링크 filed Critical 주식회사 파이오링크
Priority to KR1020040077389A priority Critical patent/KR100679108B1/en
Publication of KR20060028292A publication Critical patent/KR20060028292A/en
Application granted granted Critical
Publication of KR100679108B1 publication Critical patent/KR100679108B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/60Business processes related to postal services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/212Monitoring or handling of messages using filtering or selective blocking

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 스위치에서 전자 메일을 각 항목 별로 구분하여 필터링하고 여러 패킷으로 나뉘어 수신되는 전자 메일인 경우 패킷을 조합하여 메일 항목과 인자에 대한 검색을 수행하여 전자 메일을 필터링하는 방법에 관한 것이다.The present invention relates to a method of filtering an e-mail by dividing and filtering an e-mail by each item in a switch and performing a search for a mail item and a factor by combining packets when the e-mail is received by dividing the packet into several packets.

본 발명의 바람직한 일실시예에 따른 스위치에서 전자 메일을 필터링하는 방법은 전자 메일의 패킷을 수신하는 단계; 상기 수신된 패킷에 소정의 송신자의 전자 메일 주소 정보가 포함된 경우 상기 송신자의 전자 메일 주소의 문자열을 필터링하는 단계; 상기 수신된 패킷에 소정의 수신자의 전자 메일 주소 정보가 포함된 경우 상기 수신자의 전자 메일 주소의 문자열을 필터링하는 단계; 상기 수신된 패킷에 상기 전자 메일의 제목이 포함된 경우 상기 전자 메일의 제목의 문자열을 필터링하는 단계; 및 상기 수신된 패킷에 상기 전자 메일의 본문이 포함된 경우 상기 전자 메일의 본문의 문자열을 필터링하는 단계를 포함하고, 상기 송신자의 전자 메일 주소의 문자열, 상기 수신자의 전자 메일 주소의 문자열, 상기 전자 메일의 제목의 문자열 또는 상기 전자 메일의 본문의 문자열을 필터링하는 상기 단계는 상기 수신된 패킷에 소정의 문자열이 있는지를 검색하는 단계; 상기 문자열이 있는 경우 해당 문자열을 OR 필터 리스트 또는 AND 필터 리스트의 소정 인자와 매칭되는지의 여부를 판단하는 단계 - 상기 OR 필터 리스트는 상기 문자열과 상기 인자를 OR 논리에 따라 비교하여 상기 전자 메일을 필터링하기 위한 리스트이며, 상기 AND 필터 리스트는 상기 문자열과 상기 인자를 AND 논리에 따라 비교하여 상기 전자 메일을 필터링하기 위한 리스트임 -; 및 상기 문자열이 상기 OR 필터 리스트 또는 상기 AND 필터 리스트의 상기 인자와 매칭되는 경우 상기 전자 메일의 세션을 차단하는 단계를 포함하는 것을 특징으로 한다.Method for filtering e-mail in a switch according to an embodiment of the present invention comprises the steps of receiving a packet of the e-mail; Filtering a string of the sender's e-mail address when the received packet includes e-mail address information of a predetermined sender; Filtering a string of an e-mail address of a receiver when the received packet includes e-mail address information of a predetermined receiver; Filtering a string of the subject of the e-mail when the received packet includes the subject of the e-mail; And filtering the character string of the body of the e-mail when the received packet includes the body of the e-mail, wherein the character string of the sender's e-mail address, the character string of the recipient's e-mail address, and the e-mail. The filtering of the string of the subject of the mail or the string of the body of the e-mail may include searching for a predetermined string in the received packet; Determining whether the string matches a predetermined factor of an OR filter list or an AND filter list if the string exists, wherein the OR filter list compares the string with the factor according to an OR logic to filter the e-mail A list for filtering, said AND filter list for filtering said e-mail by comparing said string and said factor according to AND logic; And blocking the session of the e-mail when the character string matches the OR filter list or the factor of the AND filter list.

본 발명은 스위치에서 SMTP 접속 프로토콜의 상태를 추적하여 현재 상태에서 검색이 불필요한 전자 메일 항목을 검색하지 않음으로써 전자 메일 필터링의 성능을 향상시킬 수 있다. The present invention can improve the performance of the e-mail filtering by tracking the state of the SMTP connection protocol in the switch so as not to search for the e-mail items that do not need searching in the current state.

전자 메일, 필터링, 수신자, 송신자, 제목Email, filtering, recipient, sender, subject

Description

전자 메일 필터링 방법{A METHOD FOR FILTERING ELECTRONIC MAIL}How to filter email {A METHOD FOR FILTERING ELECTRONIC MAIL}

도 1a는 본 발명의 실시예에 따른 전자 메일 필터링을 하기 위한 접속 상태 천이도를 나타내는 도면이다.1A is a diagram illustrating a connection state transition diagram for e-mail filtering according to an embodiment of the present invention.

도 1b는 본 발명의 실시예에 따른 SMTP의 세션 정보를 저장하기 위한 자료 구조를 나타내는 도면이다.1B is a diagram illustrating a data structure for storing session information of SMTP according to an embodiment of the present invention.

도 1c는 본 발명의 실시예에 따른 사용자가 설정한 필터 정보를 저장하기 위한 구조체를 나타내는 도면이다.1C is a diagram illustrating a structure for storing filter information set by a user according to an exemplary embodiment of the present invention.

도 2는 본 발명의 실시예에 따른 전자 메일 필터링 시 여러 패킷으로 나누어지는 메일 항목과 인자에 대한 검색을 수행하기 위한 상태 천이도를 나타내는 도면이다.2 is a diagram illustrating a state transition diagram for performing a search for a mail item and a factor divided into several packets when filtering an e-mail according to an exemplary embodiment of the present invention.

도 3a은 본 발명의 실시예에 따른 전자 메일 필터링 방법의 흐름도를 나타내는 도면이다.3A is a flowchart illustrating an e-mail filtering method according to an exemplary embodiment of the present invention.

도 3b는 본 발명의 실시예에 따른 사용자 인터페이스 명령 구조를 나타내는 도면이다. 3B is a diagram illustrating a user interface command structure according to an embodiment of the present invention.

도 3c본 발명의 실시예에 따른 송신자, 수신자, 제목 별 입력의 제한을 나타내는 테이블이다.3C is a table illustrating restrictions of inputs by a sender, a receiver, and a title according to an embodiment of the present invention.

도 4는 본 발명의 실시예에 따른 송신자의 전자 메일 주소를 필터링하는 방 법의 흐름도를 나타내는 도면이다4 is a flowchart illustrating a method of filtering a sender's e-mail address according to an embodiment of the present invention.

도 5는 본 발명의 실시예에 따른 송신자의 전자 메일 주소를 AND 필터 리스트에 의해 필터링하는 방법의 흐름도를 나타내는 도면이다.5 is a flowchart illustrating a method of filtering a sender's e-mail address by an AND filter list according to an exemplary embodiment of the present invention.

도 6은 본 발명의 실시예에 따른 수신자의 전자 메일 주소를 필터링하는 방법의 흐름도를 나타내는 도면이다.6 is a flowchart illustrating a method of filtering an e-mail address of a receiver according to an embodiment of the present invention.

도 7은 본 발명의 실시예에 다른 수신자의 전자 메일 주소를 AND 필터 리스트에 의해 필터링하는 방법의 흐름도를 나타내는 도면이다.7 is a flowchart illustrating a method of filtering an e-mail address of another recipient by an AND filter list according to an embodiment of the present invention.

도 8은 본 발명의 실시예에 따른 수신자 매칭 리스트를 관리하는 방법의 흐름도를 나타내는 도면이다.8 is a flowchart illustrating a method of managing a recipient matching list according to an embodiment of the present invention.

도 9는 본 발명의 실시예에 따른 전자 메일 제목을 필터링하는 방법의 흐름도를 나타내는 도면이다.9 is a flowchart illustrating a method of filtering an electronic mail subject according to an embodiment of the present invention.

본 발명은 스위치에서 전자 메일을 필터링하는 방법에 관한 것으로서, 보다 상세하게는 스위치에서 전자 메일을 각 항목 별로 구분하여 필터링하고 여러 패킷으로 나뉘어 수신되는 전자 메일인 경우 패킷을 조합하여 메일 항목과 인자에 대한 검색을 수행하여 전자 메일을 필터링하는 방법에 관한 것이다.The present invention relates to a method of filtering an e-mail in a switch. More particularly, the e-mail is classified and filtered by each item in the switch. A method of filtering e-mail by performing a search.

통상적으로 전자 메일(e-mail)은 컴퓨터 통신망을 이용하여 컴퓨터 사용자간에 편지나 여러 가지 정보를 주고 받는 통신 방법으로서, 송신자가 원할 때 보낼 수 있으며, 파일을 첨부하여 보낼 수도 있다. In general, an e-mail is a communication method for exchanging letters or various information between computer users using a computer communication network. The e-mail may be sent when the sender wants it, or may be sent with a file attached.

이러한 전자 메일은 그 사용 인구가 기하급수적으로 증가함에 따라 이를 통하여 자사의 제품을 홍보하고자 하는 광고 메일이 홍수를 이루고 있다. 또한, 전자 메일의 특성을 이용하여 불법적인 목적을 달성하고자 하는 불법적인 시도로서, 무작위의 수신자에게 바이러스 메일이 전송되는 경우가 발생한다. 이와 같이 광고 메일이나 바이러스 메일로 인하여 전자 메일을 사용하는 사용자에게 정신적, 물질적으로 막대한 피해를 입히는 경우가 빈번히 발생되고 있다.These e-mails are flooded with advertisements that want to promote their products as their population grows exponentially. In addition, as an illegal attempt to achieve an illegal purpose using the characteristics of the electronic mail, a virus mail is transmitted to a random recipient. As such, there are frequent cases in which a great deal of mental and physical damage is caused to users who use e-mails due to advertisement mails or virus mails.

일반적으로 전자 메일의 필터링(filtering) 방법은 메일 서버에서 수신된 전자 메일을 대상으로 스팸 메일(spam mail)이나 바이러스(virus) 검사를 통해 전자 메일의 상태를 파악함으로써 해당 전자 메일을 삭제시키거나 스팸 메일이라는 사실을 사용자에게 알려주는 방식으로 수행된다. In general, the filtering method of e-mail is to check the status of the e-mail through spam mail or virus scan on the e-mail received from the mail server to delete the e-mail or delete the e-mail. This is done by informing the user that it is mail.

종래 스위치에서의 전자 메일 필터링 방법은 전자 메일 프로토콜의 상태를 추적하지 않고 전자 메일의 패킷 단위로 단순 문자열을 비교함으로써 해당 전자 메일을 필터링하는 방식이다. 이러한 종래 전자 메일 필터링 방법은 전자 메일 접속이 종료될 때까지 모든 패킷에 대해서 동일한 검색을 수행함에 따라 패킷 처리 시간이 길어지고 네트워크 성능 저하를 유발시킨다. 예를 들어, 전자 메일의 제목을 필터링하는 경우에 검색할 필요가 없는 첨부파일 패킷에 대해서도 검색이 이루어지기 때문에 전자 메일을 필터링하기 위해 불필요한 부하가 발생한다. 또한, 단순히 하나의 패킷 단위로만 문자열을 필터링하기 때문에 메일 항목 및 인자가 여러 패킷으로 나누어지는 수신되는 경우 검색이 불가능한 문제점이 있다.The e-mail filtering method in the conventional switch is a method of filtering the e-mail by comparing simple strings in packet units of the e-mail without tracking the state of the e-mail protocol. This conventional e-mail filtering method increases packet processing time and causes network performance degradation by performing the same search for all packets until the e-mail connection is terminated. For example, when filtering the subject of an e-mail, a search is performed on an attachment packet that does not need to be searched, and thus an unnecessary load is generated to filter the e-mail. In addition, since the string is filtered only by one packet unit, there is a problem in that the search is not possible when the mail item and the argument are divided into several packets.

본 발명은 상기와 같은 종래 기술의 문제점을 해결하기 위하여 안출된 것으로서, 전자 메일의 전송을 스위칭하는 스위치에서 필터링하고자 하는 항목에 대한 패킷을 조합하여 전자 메일을 필터링하는 방법을 제공하는 것을 그 목적으로 한다. The present invention has been made to solve the problems of the prior art, and to provide a method for filtering e-mail by combining packets for items to be filtered in a switch for switching the transmission of the e-mail. do.

또한, 본 발명은 스위치에서 전자 메일의 프로토콜 상태를 추적하여 여러 패킷으로 쪼개지는 명령어에 대한 필터링을 지원하기 위해 패킷을 조합하여 전자 메일을 필터링하는 방법을 제공하는 것을 그 목적으로 한다.Another object of the present invention is to provide a method of filtering an e-mail by combining packets to support filtering of a command that is split into several packets by tracking the protocol state of the e-mail in a switch.

또한, 본 발명은 스위치에서 첨부 파일 검색과 같이 불필요한 전자 메일 항목에 대한 검색을 수행하지 않는 전자 메일을 필터링하는 방법을 제공하는 것을 그 목적으로 한다. It is also an object of the present invention to provide a method for filtering an e-mail that does not perform a search for an unnecessary e-mail item such as an attachment search in a switch.

상기의 목적을 달성하기 위하여, 본 발명의 일실시예에 따른 스위치에서 전자 메일을 필터링하는 방법은 상기 전자 메일의 패킷을 수신하는 단계; 상기 수신된 패킷을 분석하는 단계; 상기 분석된 패킷에 필터링 항목이 포함된 경우 상기 항목과 관련된 패킷을 조합하는 단계 - 상기 필터링 항목은 송신자(sender) 정보, 수신자(recipient) 정보, 제목(subject) 정보 및 본문(body) 중 하나를 포함함 -; 상기 조합된 패킷에서 필터링하고자 하는 문자열을 검색하는 단계; 및 상기 조합된 패킷에서 상기 필터링하고자 하는 문자열이 검색된 경우 상기 전자 메일을 필터링하는 단계를 포함하는 것을 특징으로 한다.In order to achieve the above object, a method for filtering an e-mail in a switch according to an embodiment of the present invention comprises the steps of receiving a packet of the e-mail; Analyzing the received packet; Combining the packet associated with the item when the analyzed packet includes a filtering item, wherein the filtering item includes one of sender information, recipient information, subject information, and a body. Includes-; Searching for a string to be filtered in the combined packet; And filtering the e-mail when the string to be filtered is found in the combined packet.

또한, 본 발명의 다른 실시예에 따른 스위치에서 전자 메일을 필터링하는 방 법은 전자 메일의 패킷을 수신하는 단계; 상기 수신된 패킷에 소정의 송신자의 전자 메일 주소 정보가 포함된 경우 상기 송신자의 전자 메일 주소의 문자열을 필터링하는 단계; 상기 수신된 패킷에 소정의 수신자의 전자 메일 주소 정보가 포함된 경우 상기 수신자의 전자 메일 주소의 문자열을 필터링하는 단계; 상기 수신된 패킷에 상기 전자 메일의 제목이 포함된 경우 상기 전자 메일의 제목의 문자열을 필터링하는 단계; 및 상기 수신된 패킷에 상기 전자 메일의 본문이 포함된 경우 상기 전자 메일의 본문의 문자열을 필터링하는 단계를 포함하고, 상기 송신자의 전자 메일 주소의 문자열, 상기 수신자의 전자 메일 주소의 문자열, 상기 전자 메일의 제목의 문자열 또는 상기 전자 메일의 본문의 문자열을 필터링하는 상기 단계는 상기 수신된 패킷에 소정의 문자열이 있는지를 검색하는 단계; 상기 문자열이 있는 경우 해당 문자열을 OR 필터 리스트 또는 AND 필터 리스트의 소정 인자와 매칭되는지의 여부를 판단하는 단계 - 상기 OR 필터 리스트는 상기 문자열과 상기 인자를 OR 논리에 따라 비교하여 상기 전자 메일을 필터링하기 위한 리스트이며, 상기 AND 필터 리스트는 상기 문자열과 상기 인자를 AND 논리에 따라 비교하여 상기 전자 메일을 필터링하기 위한 리스트임 -; 및 상기 문자열이 상기 OR 필터 리스트 또는 상기 AND 필터 리스트의 상기 인자와 매칭되는 경우 상기 전자 메일의 세션을 차단하는 단계를 포함하는 것을 특징으로 한다.In addition, the method for filtering the e-mail in the switch according to another embodiment of the present invention includes the steps of receiving a packet of the e-mail; Filtering a string of the sender's e-mail address when the received packet includes e-mail address information of a predetermined sender; Filtering a string of an e-mail address of a receiver when the received packet includes e-mail address information of a predetermined receiver; Filtering a string of the subject of the e-mail when the received packet includes the subject of the e-mail; And filtering the character string of the body of the e-mail when the received packet includes the body of the e-mail, wherein the character string of the sender's e-mail address, the character string of the recipient's e-mail address, and the e-mail. The filtering of the string of the subject of the mail or the string of the body of the e-mail may include searching for a predetermined string in the received packet; Determining whether the string matches a predetermined factor of an OR filter list or an AND filter list if the string exists, wherein the OR filter list compares the string with the factor according to an OR logic to filter the e-mail A list for filtering, said AND filter list for filtering said e-mail by comparing said string and said factor according to AND logic; And blocking the session of the e-mail when the character string matches the OR filter list or the factor of the AND filter list.

본 발명은 base64와 quoted printable 디코딩을 지원하고, 한글을 비롯한 2바이트 문자열 입력을 지원할 뿐 아니라, 하나의 SMTP 접속에서 복수 개의 전자 메일 전송에 대한 필터링을 지원할 수 있다. The present invention supports base64 and quoted printable decoding, supports 2-byte character string input including Korean characters, and can support filtering of multiple e-mail transmissions in one SMTP connection.

본 발명에 사용되는 OR 필터 리스트는 소정의 문자열과 인자를 OR 논리에 따라 비교하여 전자 메일을 필터링하기 위한 리스트이고, AND 필터 리스트는 소정의 문자열과 인자를 AND 논리에 따라 비교하여 전자 메일을 필터링하기 위한 리스트를 말한다. The OR filter list used in the present invention is a list for filtering an e-mail by comparing a predetermined string and an argument according to OR logic, and the AND filter list filters an e-mail by comparing a predetermined string and an argument according to AND logic. It is a list to do.

이하에서는 첨부된 도면을 참조하여 본 발명에 따른 전자 메일을 필터링하는 방법을 실시예로 들어 상세히 설명한다.Hereinafter, a method of filtering an e-mail according to the present invention will be described in detail with reference to the accompanying drawings.

도 1a는 본 발명의 실시예에 따른 SMTP 세션의 접속 상태 추적에 의해 전자 메일을 필터링하기 위한 접속 상태 천이도(state transition diagram)를 나타내는 도면이다.1A is a diagram illustrating a state transition diagram for filtering an e-mail by tracing connection state of an SMTP session according to an embodiment of the present invention.

도 1a를 참조하면, 스위치는 초기 상태(INIT)(100)에서 송신자의 전자 메일 주소와 연관된 제1 문자열(예를 들어, "MAIL FROM:")이 포함된 패킷이 수신되면, 송신자 수신 상태(SENDER_RCVD)(110)로 천이된다. 상기 제1 문자열은 "MAIL FROM:"과 같이 이후 문자열이 상기 송신자의 전자 메일 주소임을 알리기 위한 문자열이다. Referring to FIG. 1A, when the switch receives a packet including a first string (eg, “MAIL FROM:”) associated with a sender's e-mail address in an initial state (INIT) 100, the switch receives a sender receive state ( SENDER_RCVD) 110. The first string is a string for indicating that the subsequent string is the sender's e-mail address, such as "MAIL FROM:".

스위치는 송신자 수신 상태(110)에서 수신자의 전자 메일 주소와 연관된 제2 문자열(예를 들어, "RCPT TO:")이 포함된 패킷이 모두 수신될 때까지 상기 수신된 패킷에 포함된 송신자의 전자 메일 주소에 대한 필터링 동작을 수행한다. 상기 제2 문자열은 "RCPT TO:"와 같이 이후 문자열이 상기 수신자의 전자 메일 주소임을 알리기 위한 문자열이다. 스위치는 송신자 수신 상태(110)에서 상기 수신된 패킷에 포함된 송신자의 전자 메일 주소에 대한 필터링 동작을 수행하고, 상기 필터가 일치되는 경우 상기 전자 메일에 대한 수신을 중단하는 중단 상태(DROPPED)(120)로 천이한다. 스위치는 송신자 수신 상태(110)에서 상기 제2 문자열이 포함된 패킷이 모두 수신된 경우 수신자 수신 상태(RECIPIENT RCVD)(130)로 천이된다.The switch transmits the sender's electronics contained in the received packet until all packets containing the second string (eg, "RCPT TO:") associated with the recipient's e-mail address are received in the sender reception state 110. Perform a filtering operation on the mail address. The second string is a string for notifying that the subsequent string is an e-mail address of the receiver, such as "RCPT TO:". The switch performs a filtering operation on the sender's e-mail address included in the received packet in the sender reception state 110 and stops receiving the e-mail when the filter is matched (DROPPED). 120). The switch transitions to a receiver reception state (RECIPIENT RCVD) 130 when all packets including the second string are received in the transmitter reception state 110.

중단 상태(120)는 세션(session)이 중단(Dropped)된 상태로서, FIN/RST가 수신되면 종료 상태(170)로 진입한다. 상기 세션의 모든 패킷은 검사없이 중단된다. The suspended state 120 is a state in which a session is dropped, and when the FIN / RST is received, the suspended state 120 enters the terminated state 170. All packets of the session are dropped without checking.

수신자 수신 상태(130)는 상기 수신자의 전자 메일 주소와 연관된 데이터임을 알리는 제2 문자열이 포함된 패킷이 모두 수신된 상태이다. 스위치는 수신자 수신 상태(130)에서 전자 메일의 수신자가 복수인 경우 상기 제2 문자열이 포함된 패킷이 복수 개가 수신됨에 따라 데이터 커맨드(DATA command)를 수신하면, 상기 제2 문자열이 더 이상 수신되지 않는다고 판단한다. 스위치는 수신자 수신 상태(130)에서 상기 수신자의 전자 메일 주소에 대한 필터링 동작을 수행하고, 상기 필터가 일치되는 경우 상기 전자 메일에 대한 수신을 중단하는 중단 상태(120)로 천이한다. 스위치는 수신자 수신 상태(130)에서 상기 수신된 전자 메일의 제목과 연관된 제3 문자열(예를 들어, "Subject:")를 검색하고, 상기 제3 문자열이 검색되면 제목 수신 상태(SUBJECT RCVD)(140)로 천이된다. 상기 제3 문자열은 "Subject:"와 같이 이후 문자열이 상기 수신된 전자 메일의 제목임을 알리기 위한 문자열이다. 스위치는 수신자 수신 상태(130)에서 상기 제3 문자열를 검색하는 동안에 검색 한계(Search limit)에 도달한 경우 제목 검색 포기 상태(SUBJECT NONE)(150)로 진입된다. 스위치는 수신자 수신 상태(130)에서 패킷에 상기 제3 문자열이 있는 경우 구분자(delimiter)를 검색하여 그 사이 문자열을 본문 문자열로 정의한다. 상기 본문은 전자 메일 데이터 속에서 검색하므로 패킷에서의 위치가 가변이며, 여러 패킷으로 나눌 수 있다. 스위치는 수신자 수신 상태(130)에서 EOM(End Of Mail, CRLF.CRLF)이 수신되는 경우 데이터 종료 상태(DATA FINISHED)(160)로 천이된다. The receiver reception state 130 is a state in which all packets including the second string indicating that the data associated with the receiver's electronic mail address are received. When the switch receives the data command in response to receiving a plurality of packets including the second string when the number of recipients of the e-mail is received in the receiver 130, the second string is no longer received. I judge it. The switch performs a filtering operation on the recipient's e-mail address in the recipient reception state 130 and transitions to the interruption state 120 which stops receiving the electronic mail when the filter is matched. The switch retrieves a third string (e.g., "Subject:") associated with the subject of the received e-mail in a recipient reception state 130, and, if the third string is found, a SUBJECT RCVD ( 140). The third string is a string for indicating that the subsequent string is the subject of the received e-mail, such as "Subject:". The switch enters the SUBJECT NONE 150 when the search limit is reached while searching for the third string in the receiver reception state 130. The switch searches for a delimiter when the third string is present in the packet in the receiver reception state 130 and defines a string between them as a body string. Since the body is searched in the electronic mail data, the position in the packet is variable and can be divided into several packets. The switch transitions to the DATA FINISHED 160 when EOM (End Of Mail, CRLF.CRLF) is received in the recipient reception state 130.

제목 수신 상태(140)는 전자 메일 본문에서 상기 제3 문자열의 검색을 성공 한 상태로서, 상기 전자 메일 본문의 제목에 대한 필터링을 수행한다.The subject reception state 140 is a state in which the third string is successfully searched in the e-mail body, and filtering of the subject of the e-mail body is performed.

제목 검색 포기 상태(150)는 검색 제한(search limit)으로 설정된 값에 의해 메일 본문에서 상기 제3 문자열의 검색을 포기한 상태이다. The subject search abandoned state 150 is a state in which the search for the third character string is abandoned in the mail body by a value set as a search limit.

데이터 종료 상태(160)는 상기 EOM을 수신한 상태로서 메일 본문의 수신이 종료된 상태로서, FIN/RST가 수신되면 종료 상태(170)로 진입된다. 스위치는 이후 접속이 종료되거나 상기 제1 문자열로 시작해서 새로운 전자 메일을 보내려고 시도한다.The data end state 160 is a state in which the EOM is received and the reception of the mail body is terminated. When the FIN / RST is received, the data end state 160 enters the end state 170. The switch then closes the connection or attempts to send a new e-mail starting with the first string.

SMTP 세션의 상태는 세션 엔트리(session entry)에 저장된다. SMTP 패킷이 수신되면, 먼저 세션 정보를 검색하여 현재의 상태를 가져와서 상기 상태에 따라 다른 작업을 수행한다. The state of the SMTP session is stored in a session entry. When the SMTP packet is received, the session information is first retrieved to obtain the current state, and other operations are performed according to the state.

본 발명은 SMTP의 세션 정보를 저장하기 위해서 도 1b에 도시된 것과 같은 자료 구조를 사용한다. The present invention uses a data structure as shown in FIG. 1B to store session information of SMTP.

본 발명에 따른 세션 정보에는 필터와 비교하기 위해서 여러 패킷에 걸쳐서 정보를 종합해야 하므로 세션의 상태뿐만 아니라 필터와 매칭하는데 필요한 정보까지 저장된다. In the session information according to the present invention, since information needs to be aggregated over several packets to be compared with a filter, not only the state of the session but also information necessary to match the filter is stored.

도 1b를 참조하면, 메일 세션 테이블(piosec_mail_session_table)은 세션의 IP/포트의 해쉬(Hash) 인덱싱되는 세션 해시 테이블로서 세션 엔트리(smtp_session_entry)의 메일 리스트(m_list)가 연결되고, 충돌(collision)이 발생되면 뒤에 추가된다. 메일 만기 리스트(piosec_mail_expire_list)는 만기(expire)된 세션을 삭제하기 위한 만기 리스트로서, 상기 세션 엔트리(smtp_session_entry)의 만기 리스트(expire_list)가 연결되고, 억세스 시간(access_time)으로 정렬되어 있고, 세션 정보를 읽으면, 상기 억세스 시간이 갱신된다. Referring to FIG. 1B, the mail session table piosec_mail_session_table is a session hash table that is a hash index of a session IP / port. The mail list m_list of the session entry smtp_session_entry is connected, and a collision occurs. Is added after. The mail expiration list (piosec_mail_expire_list) is an expiration list for deleting an expired session. The expiration list (expire_list) of the session entry (smtp_session_entry) is connected, arranged by access time (access_time), and session information is displayed. Upon reading, the access time is updated.

목적지의 포트(destination port)는 25로 고정되어 있고, 같은 출발지 IP/목적지IP(SrcIP/DstIP)에서 여러 개의 세션이 연결될 때 충돌(collision)을 피하기 위하여 출발지 포트(Src Port)를 포함한 아래와 같은 해쉬(hash) 함수를 사용할 수 있다. The destination port is fixed at 25 and contains the following Src Ports to avoid collisions when multiple sessions connect on the same source IP / DstIP. You can use the (hash) function.

(Source IP Address + Destination IP Address + Source Port)% HASH_TABLE_SIZE(Source IP Address + Destination IP Address + Source Port)% HASH_TABLE_SIZE

해쉬 키를 인덱스로 사용해서 세션 테이블(Session Table)의 링크된 리스트(linked list)에서 출발지 어드레스(saddr), 목적지 어드레스(daddr), 출발지 포트(sport)가 일치하는 세션을 검색한다. The hash key is used as an index to search for sessions whose source address (saddr), destination address (daddr) and source port (sport) match in the linked list of the Session Table.

상기 검색된 세션 엔트리(Session Entry)는 억세스 시간(Access Time)을 현재의 시간으로 설정하고, 만기된 리스트(Expired List)의 테일(Tail)로 이동시킨다.The retrieved session entry sets the access time to the current time and moves to the tail of the expired list.

본 발명에서는 사용자가 설정한 필터 정보를 저장하기 위해서 도 1c에 도시된 것과 같은 구조체를 사용할 수 있다. In the present invention, a structure as shown in FIG. 1C may be used to store filter information set by a user.

도 1c를 참조하면, 제1 메일 필터 리스트(pisec_mail_and_filter)는 상태가 and인 필터들의 리스트이고, 제2 메일 필터 리스트(piosec_mail_or_filter)는 상태가 or인 필터들의 리스트이다. Referring to FIG. 1C, the first mail filter list pisec_mail_and_filter is a list of filters whose state is and, and the second mail filter list piosec_mail_or_filter is a list of filters whose state is or.

각 필터들은 메인 상태가 AND/OR에 따라 다른 비교 방식을 사용하므로 별도의 리스트로 관리한다. Each filter is managed as a separate list because the main state uses different comparison methods according to AND / OR.

본 발명의 실시예에 따른 명령어의 구조는 다음과 같다.The structure of an instruction according to an embodiment of the present invention is as follows.

<COMMAND><ARGUMENT><DELIMITER><COMMAND> <ARGUMENT> <DELIMITER>

명령어<COMMAND>가 검색되면, 이후부터 구분자<DELIMITER>를 검색하여 명령어<COMMAND>와 구분자<DELIMITER> 사이에 있는 문자열을 인자<ARQUMENT>로 간주한다. 상기 명령어는 수신자 정보, 송신자 정보, 제목 정보를 구분하기 위한 것이다.If the command <COMMAND> is found, then the delimiter <DELIMITER> is searched and the string between the command <COMMAND> and the delimiter <DELIMITER> is considered as the argument <ARQUMENT>. The command is for distinguishing receiver information, sender information, and title information.

구분자<DELIMITER>는 보통 CRLF를 사용하지만 CR만 검색할 수 있다.The delimiter <DELIMITER> normally uses CRLF, but can only retrieve CRs.

그러므로 여러 패킷으로 나누어질 수 있는 부분은 명령어<COMMAND>와 인자<ARGUMENT>부분이다.Therefore, the parts that can be divided into several packets are the command <COMMAND> and the argument <ARGUMENT>.

본 발명에 따른 스위치는 SMTP 세션을 필터링하기 위해서 송신자(Sender), 수신자(Recipient), 제목(Subject) 정보를 알아내야 한다. 각 정보를 알아내기 위해서 다음과 같은 작업을 수행한다. The switch according to the present invention needs to find sender, recipient, and subject information in order to filter the SMTP session. To find out each piece of information, do the following:

스위치는 초기 상태(100)에서 수신된 패킷에 상기 제1 문자열이 있는 경우 구분자(delimiter)인 "CRLF"를 검색한다. 상기 구분자가 검색된 경우 스위치는 상기 제1 문자열과 상기 구분자 사이의 문자열을 송신자(Sender)의 전자 메일 주소와 관련된 문자열로 간주한다. 상기 구분자가 검색되지 않은 경우 스위치는 최대 전자 메일 길이(256바이트)까지를 송신자의 전자 메일 주소와 관련된 문자열로 간주한다.The switch searches for "CRLF" which is a delimiter when the first string is present in the packet received in the initial state 100. If the delimiter is found, the switch regards the string between the first string and the delimiter as a string associated with the sender's e-mail address. If the delimiter is not found, the switch considers the maximum e-mail length (256 bytes) as a string associated with the sender's e-mail address.

스위치는 송신자 수신 상태(110)에서 상기 수신된 패킷에 상기 제2 문자열이 있는 경우 구분자를 검색한다. 상기 구분자가 검색된 경우 스위치는 상기 제2 문자열과 상기 구분자 사이의 문자열을 수신자(Recipient)의 전자 메일 주소와 관련된 문자열로 간주한다. 상기 구분자가 검색되지 않는 경우 스위치는 최대 전자 메일 길이인 256바이트까지를 수신자의 전자 메일 주소와 관련된 문자열로 간주한다. 이 때, 전자 메일을 받는 수신자는 여러 명이 지정될 수 있기 때문에 상기 제2 문자열이 복수 개가 수신될 수 있다. The switch searches for a delimiter when the second packet is present in the received packet in the sender reception state 110. If the delimiter is found, the switch considers the string between the second string and the delimiter as a string associated with the recipient's e-mail address. If the delimiter is not found, the switch considers a maximum e-mail length of up to 256 bytes as a string associated with the recipient's e-mail address. At this time, since the number of recipients who receive the electronic mail can be specified, a plurality of the second strings can be received.

스위치는 제목 수신 상태(140)에서 패킷에 상기 제3 문자열이 있는 경우 구분자를 검색하여 상기 제3 문자열과 상기 구분자 사이의 문자열을 수신된 전자 메일의 제목과 연관된 문자열로 간주한다. 상기 제목은 송신자 또는 수신자와 달리 전자 메일의 데이터 속에서 검색되는 것이므로 패킷에서의 위치가 가변이며, 여러 패킷으로 나뉘어질 수 있다. The switch searches for a delimiter when the packet has the third string in the subject receiving state 140, and considers the string between the third string and the delimiter as a string associated with the subject of the received e-mail. Unlike the sender or the receiver, the title is searched in the data of the electronic mail, so the position in the packet is variable and can be divided into several packets.

데이터 명령으로부터 EOM(End Of Mail, CRLF.CRLF)이 나올 때까지의 전자 메일 데이터는 여러 패킷으로 나누어질 수 있기 때문에 전자 메일의 제목과 관련된 키워드를 검색하는 경우는 여러 패킷으로 나누어지는 경우를 고려해야 한다. 상기 명령어 검색에 들어가면, 검색 상태를 SMTP 세션 정보에 기록하여 여러 패킷의 조합을 가능하게 한다. E-mail data from the data command to the end of mail (CRLF.CRLF) can be divided into multiple packets, so when searching for keywords related to the subject of an e-mail, consider splitting into multiple packets. do. Upon entering the command search, the search status is recorded in the SMTP session information to enable the combination of several packets.

도 2는 본 발명의 실시예에 따른 여러 패킷으로 나누어지는 메일 항목과 인자에 대한 검색을 수행하기 위한 상태 천이도를 나타내는 도면이다. 2 is a diagram illustrating a state transition diagram for performing a search for mail items and factors divided into packets according to an embodiment of the present invention.

도 2를 참조하면, 스위치는 초기 상태(NOTHING)(200)에서 수신된 패킷 끝부 분에서 명령어의 일부분을 발견하는 경우 부분 명령어 상태(PARTIAL_COMMAND)(210)로 천이된다. 스위치는 초기 상태(200)에서 상기 수신된 패킷에 대한 검색 제한(search limit)에 도달한 경우 중단 상태(220)로 진입한다. Referring to FIG. 2, the switch transitions to the partial command state (PARTIAL_COMMAND) 210 when it detects a portion of the command at the end of the packet received in the NOTHING 200. The switch enters an abort state 220 when the search limit for the received packet is reached in the initial state 200.

부분 명령어 상태(210)는 상기 수신된 패킷 끝부분에서 수신자, 송신자, 제목과 관련된 문자열의 일부분을 발견한 상태이다. 부분 명령어 상태(210)는 상기 수신된 패킷의 끝부분에서 발견된 명령어의 일부분과 상기 패킷의 다음에 수신되는 패킷의 앞부분을 합쳐서 상기 명령어의 조합이 이루어지지 않는 경우 초기 상태(200)로 천이된다. Partial command state 210 is a state where a portion of a string associated with a receiver, sender, and subject is found at the end of the received packet. The partial instruction state 210 transitions to the initial state 200 when no combination of the instructions is made by combining the portion of the instruction found at the end of the received packet with the front portion of the next received packet after the packet. .

명령어 검색 상태(COMMAND ONLY)(230)는 명령어(COMMAND)만을 완전히 검색한 상태이다. 명령어 검색 상태(230)는 패킷에서 구분자를 검색하는 경우 부분 인자 상태(240)로 진입되고, 상기 구분자를 발견하면, 인자 검색 상태(250)로 진입된다. The command search state (COMMAND ONLY) 230 is a state in which only the command COMMAND is completely searched. The instruction search state 230 enters the partial argument state 240 when searching for delimiters in the packet, and enters the argument search state 250 when the delimiters are found.

부분 인자 상태(PARTIAL ARGUMENT)(240)는 명령어(COMMAND)를 검색했지만 구분자(DELIMTER)를 아직 검색하지 못한 상태이다. 부분 인자 상태(240)는 구분자 발견을 실패하면, 구분자가 발견될 때까지 계속 상태를 유지하다가 다음 패킷에서 구분자를 발견하거나 검색 제한(search limit)에 도달하면, 인자 검색 상태(250)로 진입된다. PARTIAL ARGUMENT 240 searches for COMMAND but has not yet retrieved DELIMTER. The partial argument state 240 remains in the state until the delimiter is found and enters the argument search state 250 when the delimiter is found in the next packet or when the search limit is reached. .

인자 검색 상태(ARGUMENT FOUND)(250)는 수신된 패킷에서 구분자(DELIMITER)까지 완전히 검색한 상태이다. The ARGUMENT FOUND 250 is a state in which the entire packet is searched from the received packet to the DELIMITER.

도 3a는 본 발명의 실시예에 따른 스위치에서 전자 메일을 필터링하는 방법의 흐름도를 나타내는 도면이다.3A is a flow diagram of a method for filtering e-mail in a switch in accordance with an embodiment of the present invention.

도 3a를 참조하면, 단계(300)에서 스위치는 전자 메일의 패킷을 수신한다. Referring to FIG. 3A, in step 300 the switch receives a packet of electronic mail.

단계(310)에서 스위치는 상기 수신된 전자 메일의 패킷에 소정의 송신자의 전자 메일 주소 정보가 포함된 경우 상기 송신자의 전자 메일 주소의 문자열을 필터링한다. 상기 송신자의 전자 메일 주소의 문자열을 필터링하는 상기 단계(310)에서 스위치는 상기 수신된 패킷에 상기 송신자의 전자 메일 주소의 문자열이 있는지를 검색한다. 상기 스위치는 상기 검색된 송신자의 전자 메일 주소의 문자열을 OR 필터 리스트 또는 AND 필터 리스트의 소정 인자와 매칭되는지의 여부를 판단한다. 상기 스위치는 상기 송신자의 전자 메일 주소의 문자열이 상기 OR 필터 리스트 또는 상기 AND 필터 리스트의 상기 인자와 매칭되는 경우 상기 수신된 전자 메일의 세션을 차단한다. 스위치는 특정 명령어가 포함되어 있는 패킷이 수신되면, 소정의 인자를 뽑아내서 OR 필터 리스트와 AND 필터 리스트와 매칭을 시도한다. 스위치는 상기 인자와 상기 OR 필터 리스트 또는 상기 AND 필터 리스트가 매칭되면, 상기 인자가 포함된 세션을 차단시키고, 더 이상의 매칭을 하지 않아도 되기 때문에 매칭 확률이 높은 상기 OR 필터 리스트를 먼저 검색한다. 상기 OR 필터 리스트는 현재 상태에서 매칭만 되면, 바로 결정되므로 이전 상태를 참고하지 않는다. 스위치는 상기 AND 필터 리스트와 비교하는 경우 세션 정보에 기록되어 있는 상태에 따라 이전 상태에서 매칭에 성공한 필터들의 리스트만을 비교할 수 있다. 매칭이 되면 스위치는 상기 매칭이 된 필터가 이후의 상태 조건과도 비교하여야 하는 지 판단하고, 이후의 상태 조건과의 비교가 필요한 경우 그 필터를 상기 리스트에 추가하고 계속 비교를 진행한다. In step 310, the switch filters the string of the sender's e-mail address when the packet of the received e-mail includes the sender's e-mail address information. In step 310 of filtering the string of the sender's e-mail address, the switch searches whether the received packet contains the string of the sender's e-mail address. The switch determines whether the string of the retrieved sender's e-mail address matches a predetermined factor of an OR filter list or an AND filter list. The switch blocks the session of the received e-mail if the string of the sender's e-mail address matches the OR filter list or the factor of the AND filter list. When the switch receives a packet including a specific command, the switch extracts a predetermined argument and attempts to match the OR filter list and the AND filter list. If the argument matches the OR filter list or the AND filter list, the switch blocks the session including the factor and searches for the OR filter list having a high probability of matching since no further matching is required. The OR filter list is determined immediately if a match is made in the current state, and thus does not refer to the previous state. When comparing with the AND filter list, the switch may compare only the list of filters that matched in the previous state according to the state recorded in the session information. If a match is found, the switch determines whether the matched filter should also be compared with a later state condition. If a comparison with a later state condition is necessary, the switch adds the filter to the list and continues the comparison.

단계(320)에서 스위치는 상기 수신된 패킷에 소정의 수신자의 전자 메일 주소 정보가 포함된 경우 상기 수신자의 전자 메일 주소의 문자열을 필터링한다. 상기 수신자의 전자 메일 주소의 문자열을 필터링하는 상기 단계(320)에서는 상기 수신된 패킷에 상기 수신자의 전자 메일 주소의 문자열이 있는지를 검색한다. 상기 단계(320)에서는 상기 검색된 수신자의 전자 메일 주소의 문자열을 OR 필터 리스트 또는 AND 필터 리스트의 소정 인자와 매칭되는지의 여부를 판단한다. 상기 스위치는 상기 수신자의 전자 메일 주소의 문자열이 상기 OR 필터 리스트 또는 상기 AND 필터 리스트의 상기 인자와 매칭되는 경우 상기 수신된 전자 메일의 세션을 차단한다. 수신자의 전자 메일 주소가 포함된 패킷이 수신되면, 상기 수신된 패킷에서 수신자의 전자 메일 주소와 관련된 문자열을 뽑아낸다. 수신자의 경우 OR 필터 리스트에서는 모든 필터들과 비교해야 한다. 그러나, AND 필터 리스트의 경우 세션의 송신자 매칭 리스트에 등록된 필터만을 검사하면 된다. 상기 AND 필터 리스트에서 매칭이 된 경우 제목 조건이 없으면 바로 차단한다. 제목 조건이 있으면, 수신자 매칭 리스트에 해당 필터를 등록하고 다음 필터와 계속 비교한다. 수신자는 여러 명이 될 수 있으므로 수신자의 전자 메일 주소는 여러 개가 허용된다. 그래서 서브 조건에 따라 수신자 매칭 여부를 확인하기 위해서 여러 패킷을 봐야 한다. 수신자의 서브 조건이 OR인 경우는 현재의 수신자의 전자 메일 주소와 관련된 문자열이 필터와 매칭하는지를 비교하고 매칭되면 바로 수신자가 매칭되었음을 판단할 수 있다. 수신자의 서브 조건이 AND인 경우는 수신자 매칭 여부를 판단하기 위해서 필터의 모든 문자열과 일치했는지를 여러 수신자의 전자 메일 주소를 포함한 패킷 을 통해서 확인해야만 한다. 그래서, 수신자 서브 조건이 AND인 필터와 매칭이 된 세션은 세션 정보의 수신자 매칭 리스트에 해당 필터와 매칭된 문자열의 인덱스를 기록해둔다. 향후에 필터의 모든 문자열 인덱스가 매칭된 것으로 표시되면, 그 필터의 수신자 조건이 매칭된 것이다. 상기 수신자 조건 비교는 데이터 패킷이 수신될 때까지 계속하고, 상기 데이터 패킷이 수신되면, 상기 수신자 매칭 리스트를 삭제한다.In step 320, if the received packet includes e-mail address information of a predetermined receiver, the switch filters a string of the e-mail address of the receiver. In step 320, the string of the recipient's e-mail address is filtered to determine whether the received packet includes the string of the recipient's e-mail address. In step 320, it is determined whether the string of the retrieved recipient's e-mail address matches a predetermined factor of an OR filter list or an AND filter list. The switch blocks the session of the received e-mail if the string of the recipient's e-mail address matches the OR filter list or the factor of the AND filter list. When a packet containing the recipient's e-mail address is received, a string associated with the recipient's e-mail address is extracted from the received packet. In the case of the receiver, the OR filter list must be compared against all filters. However, in the case of the AND filter list, only the filters registered in the sender matching list of the session need to be checked. If a match is found in the AND filter list, the title condition is immediately blocked. If there is a subject condition, the filter is registered in the recipient matching list and the comparison is made with the next filter. Multiple recipients are allowed, so multiple recipient email addresses are allowed. So, we need to look at several packets to check for receiver matching according to sub condition. When the sub condition of the receiver is OR, it is possible to compare whether the string associated with the current receiver's e-mail address matches the filter and determine that the receiver is matched immediately. If the receiver's subconditions are AND, then a packet containing multiple recipients' e-mail addresses must be checked to see if they match all the strings in the filter to determine if the recipients match. Thus, a session matched with a filter whose receiver subcondition is AND records the index of the string matched with the filter in the receiver matching list of session information. In the future, if all string indices of a filter are marked as matched, then the receiver condition of that filter is matched. The receiver condition comparison continues until a data packet is received and, if the data packet is received, deletes the recipient matching list.

단계(330)에서 스위치는 상기 수신된 패킷에 상기 전자 메일의 제목이 포함된 경우 상기 전자 메일의 제목의 문자열을 필터링한다. 스위치는 상기 전자 메일의 제목과 관련된 문자열을 필터링하기 위해서 상기 수신된 패킷에 상기 전자 메일의 제목과 관련된 문자열이 있는지를 검색한다. 스위치는 상기 검색된 전자 메일의 제목과 관련된 문자열을 OR 필터 리스트 또는 AND 필터 리스트의 소정 인자와 매칭되는지의 여부를 판단한다. 스위치는 상기 전자 메일 제목과 관련된 문자열이 상기 OR 필터 리스트 또는 상기 AND 필터 리스트의 상기 인자와 매칭되는 경우 상기 수신된 전자 메일의 세션을 차단한다. 상기 전자 메일의 제목은 데이터 패킷 다음에 수신되는 전자 메일의 데이터 속에 포함되어 있다. 그러므로, 전자 메일의 제목은 수신된 패킷의 임의의 위치에서 발견될 수 있으며, 명령 자체가 여러 패킷으로 나누어 질 수 있다. 전자 메일의 제목과 연관된 문자열인 경우는 인코딩되어 있을 수 있는데 base64나 quoted printable등으로 인코딩되어 있는 경우 디코딩하여 필터와 비교를 수행한다. 전자 메일의 제목과 연관된 문자열과 AND 필터 리스트의 매칭인 경우는 세션의 수신자 매칭 리스트에 있는 필터만을 비교하면 된다. In step 330, the switch filters the string of the subject of the electronic mail if the received packet includes the subject of the electronic mail. The switch searches for the string associated with the subject of the email in the received packet to filter the string associated with the subject of the email. The switch determines whether the string associated with the title of the retrieved e-mail matches a predetermined factor of an OR filter list or an AND filter list. The switch blocks the session of the received e-mail if the string associated with the e-mail subject matches the OR filter list or the argument of the AND filter list. The subject of the electronic mail is included in the data of the electronic mail received after the data packet. Therefore, the subject of the electronic mail can be found anywhere in the received packet, and the command itself can be divided into several packets. The string associated with the subject of the e-mail may be encoded. If it is encoded as base64 or quoted printable, it is decoded and compared with the filter. In the case of matching the AND filter list with the string associated with the subject of the e-mail, only the filters in the recipient matching list of the session need to be compared.

본 발명에서는 사용자 인터페이스(user interface)로서 도 3b에 도시된 것과 같이 송신자, 수신자, 제목 각각에 대해 여러 개의 문자열(string)을 입력할 수 있으며, 모두 AND/OR로 조합할 수 있다. 상기 입력 문자열은 도 3c에 도시된 것과 같이 입력에 제한을 둘 수도 있다. 본 발명의 실시예에 따른 전자 메일의 필터링 항목이 제목인 경우 공백이 포함된 긴 문장의 입력이 가능하며, 제목은 한글을 포함한 2바이트 문자의 입력이 가능하다.In the present invention, as shown in FIG. 3B, a plurality of strings may be input for each of a sender, a receiver, and a title, and all may be combined by AND / OR. The input string may limit the input as shown in FIG. 3C. When the filtering item of the e-mail according to an embodiment of the present invention is a subject, a long sentence including a space may be input, and the subject may be input of a 2-byte character including Korean.

도 4는 본 발명의 실시예에 따른 송신자의 전자 메일 주소를 필터링하는 방법의 흐름도를 나타내는 도면이다.4 is a flowchart illustrating a method of filtering a sender's e-mail address according to an exemplary embodiment of the present invention.

도 4를 참조하면, 단계(410)에서 스위치는 패킷이 수신되는 초기 상태에서 상기 수신된 패킷에 송신자의 전자 메일 주소와 연관된 제1 문자열(예를 들어 "MAIL FROM:")을 검색한다. 단계(420)에서 스위치는 상기 제1 문자열이 존재하는지의 여부를 판단한다. 상기 제1 문자열이 존재하는 경우 단계(430)에서 스위치는 상기 제1 문자열 이후의 문자열을 검색하여 소정의 구분자를 검색한다. 단계(440)에서 스위치는 상기 구분자가 존재하는지의 여부를 판단한다. Referring to FIG. 4, in step 410, the switch retrieves a first string (e.g., " MAIL FROM: ") associated with the sender's e-mail address in the received packet in an initial state at which the packet was received. In step 420, the switch determines whether the first string exists. If the first string exists, in step 430, the switch searches for a predetermined delimiter by searching the string after the first string. In step 440, the switch determines whether the delimiter is present.

상기 구분자가 존재하는 경우 단계(450)에서 스위치는 상기 제1 문자열과 상기 구분자 사이의 문자열을 상기 송신자의 전자 메일 주소와 연관된 문자열로 간주한다. 단계(460)에서 스위치는 상기 송신자의 전자 메일 주소와 연관된 문자열과 상기 OR 필터 리스트와 상기 AND 필터 리스트에 포함된 인자를 차례로 매칭시킨다. If the delimiter is present, in step 450 the switch considers the string between the first string and the delimiter as a string associated with the sender's e-mail address. In step 460, the switch sequentially matches a string associated with the sender's e-mail address with a factor included in the OR filter list and the AND filter list.

단계(470)에서 스위치는 상기 송신자의 전자 메일 주소와 연관된 문자열이 상기 OR 필터 리스트와 상기 AND 필터 리스트에 포함된 인자와 매칭되는지의 여부를 판단한다. 상기 송신자의 전자 메일 주소와 연관된 문자열이 상기 인자와 매칭되는 경우 단계(480)에서 스위치는 전자 메일의 패킷 검사를 중단한다. In step 470, the switch determines whether the string associated with the sender's e-mail address matches a factor included in the OR filter list and the AND filter list. If the string associated with the sender's e-mail address matches the factor, then the switch stops packet inspection of the e-mail at step 480.

도 5는 본 발명의 실시예에 따른 송신자의 전자 메일 주소를 AND 필터 리스트에 의해 필터링하는 방법의 흐름도를 나타내는 도면이다.5 is a flowchart illustrating a method of filtering a sender's e-mail address by an AND filter list according to an exemplary embodiment of the present invention.

도 5를 참조하면, 단계(510)에서 스위치는 상기 AND 필터 리스트와 송신자의 전자 메일 주소와 연관된 문자열에 대한 매칭을 시도한다. 단계(520)에서 스위치는 상기 AND 필터 리스트에서 상기 송신자의 전자 메일 주소와 연관된 문자열의 매칭이 성공하는지의 여부를 판단한다. 상기 매칭이 성공되면, 단계(530)에서 스위치는 수신자의 전자 메일 주소 또는 전자 메일의 제목에 대한 매칭 조건을 검색한다. 단계(540)에서 스위치는 수신자의 전자 메일 주소 또는 전자 메일의 제목에 대한 매칭 조건이 존재하는지의 여부를 판단한다. 상기 매칭 조건이 존재하는 경우 단계(550)에서 스위치는 해당 매칭 조건에 대한 전자 메일 필터링을 수행한다. 상기 매칭 조건이 존재하지 않는 경우 단계(560)에서 스위치는 상기 전자 메일의 패킷을 바로 차단시킨다. Referring to FIG. 5, in step 510, the switch attempts to match the AND filter list with a string associated with the sender's e-mail address. In step 520, the switch determines whether a match of the string associated with the sender's e-mail address in the AND filter list is successful. If the matching is successful, in step 530 the switch retrieves a matching condition for the recipient's email address or the subject of the email. In step 540, the switch determines whether a matching condition exists for the recipient's email address or the subject of the email. If the matching condition exists, in step 550, the switch performs e-mail filtering on the matching condition. If the matching condition does not exist, in step 560 the switch immediately blocks the packet of the e-mail.

도 6은 본 발명의 실시예에 따른 수신자의 전자 메일 주소를 필터링하는 방법의 흐름도를 나타내는 도면이다. 6 is a flowchart illustrating a method of filtering an e-mail address of a receiver according to an embodiment of the present invention.

도 6을 참조하면, 단계(610)에서 스위치는 수신된 패킷에서 수신자의 전자 메일 주소와 연관된 제2 문자열을 존재하는지를 파악하기 위해 상기 수신된 패킷을 검색한다. 단계(620)에서 스위치는 상기 수신된 패킷에서 상기 제2 문자열이 존재하는지의 여부를 판단한다. 상기 제2 문자열이 존재하는 경우 단계(630)에서 스위치는 상기 제2 문자열 이후에 소정의 구분자가 존재하는지를 파악하기 위해서 상기 수신된 패킷에서 상기 제2 문자열 이후의 문자열을 검색한다. 단계(640)에서 스위치는 상기 검색된 문자열에서 소정의 구분자가 존재하는지의 여부를 판단한다. 상기 구분자가 존재하는 경우 단계(650)에서 스위치는 상기 제2 문자열과 상기 구분자 사이의 문자열을 수신자의 전자 메일 주소와 연관된 문자열로 간주한다. 단계(660)에서 스위치는 상기 수신자의 전자 메일 주소와 연관된 문자열을 상기 OR 필터 리스트 또는 상기 AND 필터 리스트의 인자와 비교한다. Referring to FIG. 6, in step 610, the switch searches the received packet to see if there is a second string associated with the recipient's e-mail address in the received packet. In step 620, the switch determines whether the second string exists in the received packet. If the second string exists, in step 630, the switch searches for the string after the second string in the received packet to determine whether a predetermined delimiter exists after the second string. In step 640, the switch determines whether a predetermined delimiter exists in the searched string. If the delimiter is present, in step 650 the switch considers the string between the second string and the delimiter as a string associated with the recipient's e-mail address. In step 660 the switch compares the string associated with the recipient's e-mail address with a factor of the OR filter list or the AND filter list.

단계(670)에서 스위치는 상기 수신자의 전자 메일 주소와 연관된 문자열과 상기 OR 필터 리스트 또는 상기 AND 필터 리스트의 인자가 일치하는지의 여부를 판단한다. 상기 수신자의 전자 메일 주소와 연관된 문자열과 상기 OR 필터 리스트 또는 상기 AND 필터 리스트의 인자가 일치하는 경우 단계(680)에서 스위치는 상기 전자 메일의 패킷 검사를 중단한다. 상기 수신자가 다수인 경우 상기 수신자 별로 상기 수신자의 전자 메일 주소와 연관된 문자열을 검색한다.In step 670, the switch determines whether the string associated with the recipient's e-mail address and the factors of the OR filter list or the AND filter list match. If the string associated with the recipient's email address and the argument of the OR filter list or the AND filter list match, the switch stops packet inspection of the email in step 680. When there are a plurality of recipients, a string associated with the recipient's e-mail address is searched for by the recipients.

도 7은 본 발명의 실시예에 다른 수신자의 전자 메일 주소를 AND 필터 리스트에 의해 필터링하는 방법의 흐름도를 나타내는 도면이다.7 is a flowchart illustrating a method of filtering an e-mail address of another recipient by an AND filter list according to an embodiment of the present invention.

도 7을 참조하면, 단계(710)에서 스위치는 AND 필터 리스트와 매칭인지의 여부를 판단한다. 상기 AND 필터 리스트의 매칭인 경우 단계(720)에서 스위치는 상기 송신자 매칭 필터에 등록된 필터만을 검사한다. 단계(730)에서 스위치는 상기 수신자의 전자 메일 주소와 연관된 문자열이 상기 AND 필터 리스트와 매칭시킨다. Referring to FIG. 7, in step 710, the switch determines whether the AND filter list matches. In case of a match of the AND filter list, in step 720, the switch checks only a filter registered in the sender matching filter. In step 730, the switch matches the string associated with the recipient's email address with the AND filter list.

단계(740)에서 스위치는 상기 수신자의 전자 메일 주소와 연관된 문자열이 상기 AND 필터 리스트와 매칭되는지의 여부를 판단한다. 상기 AND 필터 리스트와 매칭되면 단계(750)에서 상기 전자 메일의 제목에 대한 매칭 조건을 검색한다. 단계(760)에서 상기 전자 메일의 제목에 대한 매칭 조건이 있는지의 여부를 판단한다. 상기 전자 메일의 제목에 대한 매칭 조건이 없는 경우 단계(770)에서 스위치는 상기 전자 메일을 차단한다. 상기 전자 메일의 제목에 대한 매칭 조건이 있는 경우 단계(780)에서 스위치는 소정의 수신자의 매칭 리스트에 상기 필터를 등록하고, 다음 필터를 비교하는 단계를 포함한다. In step 740, the switch determines whether the string associated with the recipient's e-mail address matches the AND filter list. If matched with the AND filter list, a matching condition for the subject of the e-mail is searched for in step 750. In step 760, it is determined whether there is a matching condition for the subject of the electronic mail. If there is no matching condition for the subject of the e-mail, in step 770 the switch blocks the e-mail. If there is a matching condition for the subject of the e-mail, in step 780 the switch includes registering the filter in a matching list of predetermined recipients and comparing the next filter.

도 8은 본 발명의 실시예에 따른 수신자 매칭 리스트를 관리하는 방법의 흐름도를 나타내는 도면이다.8 is a flowchart illustrating a method of managing a recipient matching list according to an embodiment of the present invention.

도 8을 참조하면, 단계(810)에서 스위치는 상기 AND 필터 리스트에 따라 상기 수신자의 전자 메일 주소와 연관된 문자열에 대한 매칭 여부를 판단하기 위해 상기 AND 필터의 모든 문자열과 매칭시킨다. 단계(820)에서 스위치는 상기 수신자가 복수인지의 여부를 판단한다. 상기 수신자가 복수인 경우 단계(830)에서 스위치는 상기 매칭된 세션의 정보를 수신자의 매칭 리스트에 해당 리스트에 해당 필터와 매칭된 문자열에 대한 인덱스를 기록한다. Referring to FIG. 8, in step 810, the switch matches all strings of the AND filter to determine whether to match a string associated with the recipient's e-mail address according to the AND filter list. In step 820, the switch determines whether the receiver is plural. When there are a plurality of recipients, in step 830, the switch records the information about the matched session in the matching list of the receiver in the list corresponding to the filter and the index corresponding to the string.

단계(840)에서 소정의 데이터 패킷이 수신되는지의 여부를 판단한다. 상기 데이터 패킷이 수신될 때까지 상기 수신자의 전자 메일 주소의 매칭을 계속 수행한다. 상기 데이터 패킷이 수신되는 경우 단계(850)에서 스위치는 상기 수신자의 매칭 리스트를 삭제한다. In step 840, it is determined whether a predetermined data packet is received. Matching of the recipient's e-mail address is continued until the data packet is received. When the data packet is received, in step 850 the switch deletes the recipient's matching list.

도 9는 본 발명의 실시예에 따른 전자 메일 제목을 필터링하는 방법의 흐름도를 나타내는 도면이다.9 is a flowchart illustrating a method of filtering an electronic mail subject according to an embodiment of the present invention.

도 9를 참조하면, 단계(910)에서 스위치는 패킷이 모두 수신된 상태에서 전자 메일의 제목과 연관된 제3 문자열이 존재하는지의 여부를 판단하기 위해 상기 패킷을 검색한다. 단계(920)에서 스위치는 상기 검색된 패킷에 상기 제3 문자열이 존재하는지의 여부를 판단한다. 상기 제3 문자열이 존재하는 경우 단계(930)에서 스위치는 소정의 구분자가 존재하는지의 여부를 판단하기 위해 상기 제3 문자열 이후의 문자열을 검색한다. 단계(940)에서 스위치는 상기 검색된 문자열에서 상기 구분자가 존재하는지의 여부를 판단한다. 상기 구분자가 존재하는 경우 단계(950)에서 스위치는 상기 제3 문자열과 상기 구분자 사이의 문자열을 전자 메일의 제목으로 간주한다. 단계(960)에서 스위치는 상기 전자 메일의 제목과 관련된 문자열과 상기 OR 필터 리스트 또는 상기 AND 필터 리스트의 소정 인자를 매칭시킨다. 단계(970)에서 스위치는 상기 전자 메일의 제목과 연관된 문자열과 상기 OR 필터 리스트 또는 상기 AND 필터 리스트의 소정 인자가 매칭되는지의 여부를 판단한다. 상기 전자 메일의 제목과 연관된 문자열과 상기 OR 필터 리스트 또는 상기 AND 필터 리스트의 소정 인자가 매칭되는 경우 단계(980)에서 스위치는 상기 전자 메일의 필터링을 중단한다.Referring to FIG. 9, in step 910, the switch searches for the packet to determine whether there is a third string associated with the subject of the e-mail while all packets are received. In step 920, the switch determines whether the third string exists in the retrieved packet. If the third string exists, in step 930, the switch searches for the string after the third string to determine whether a predetermined delimiter exists. In step 940, the switch determines whether the delimiter exists in the searched string. If the separator exists, in step 950 the switch regards the string between the third string and the separator as the subject of the e-mail. In step 960, the switch matches a string associated with the subject of the e-mail with a predetermined factor of the OR filter list or the AND filter list. In step 970, the switch determines whether the string associated with the subject of the e-mail and a predetermined factor of the OR filter list or the AND filter list match. If the string associated with the subject of the email matches a predetermined factor of the OR filter list or the AND filter list, the switch stops filtering the email in step 980.

한편, 상기 전자 메일의 제목과 관련된 문자열이 여러 패킷으로 나누어지는 경우 상기 여러 패킷을 조합하여 상기 전자 메일의 제목과 관련된 문자열을 필터링한다.On the other hand, when the string associated with the subject of the e-mail is divided into packets, the multiple packets are combined to filter the string associated with the subject of the e-mail.

상기 전자 메일의 제목과 연관된 문자열과 상기 OR 필터 또는 상기 AND 필터 리스트의 소정 인자를 매칭하기 위해서는 상기 전자 메일의 제목과 연관된 문자열이 패킷 중 끝부분에 상기 OR 필터 리스트 또는 상기 AND 필터 리스트의 소정 인자의 일부분을 발견한 경우 상기 패킷의 끝부분과 상기 패킷의 다음 패킷의 첫 부분을 조합한 후 상기 조합된 패킷에서 상기 인자와 비교하여 일치하는 문자열이 존재하는지의 여부를 판단한다. In order to match a string associated with the subject of the e-mail with a predetermined factor of the OR filter or the AND filter list, a string associated with the subject of the e-mail is a predetermined factor of the OR filter list or the AND filter list at the end of the packet. If a part is found, the end of the packet is combined with the first part of the next packet of the packet, and then the matching packet is compared with the factor in the combined packet to determine whether there is a matching string.

송신자의 전자 메일 주소가 포함된 패킷이 수신되면, 상기 송신자의 전자 메일 주소와 관련된 문자열을 뽑아내고, 이전 상태가 없으므로 모든 OR 필터 리스트와 AND 필터 리스트를 차례대로 매칭한다.When a packet including the sender's e-mail address is received, a string associated with the sender's e-mail address is extracted, and since there is no previous state, all OR filter lists and AND filter lists are matched in sequence.

상기 AND 필터 리스트에서 매칭이 성공한 경우 상기 필터에 수신자나 제목 조건이 있으면, 상기 세션의 송신자 매칭 리스트에 그 필터를 추가하고, 다음 필터를 비교한다. 수신자 또는 제목 조건이 없으면, 바로 차단한다.If a match is successful in the AND filter list, if the filter has a receiver or a subject condition, the filter is added to the sender matching list of the session, and the next filter is compared. If there is no recipient or subject condition, block immediately.

스위치는 상기 문자열에 대해 소정의 인자를 OR 필터 리스트 또는 상기 AND 필터 리스트와 매칭되는지의 여부를 판단할 때 상기 AND 필터 리스트보다 상기 OR 필터 리스트를 상기 인자와 먼저 매칭시킬 수 있다. 상기 인자는 전자 메일에서 필터링하고자 하는 수신자, 송신자, 제목 정보와 관련된 특정 문자일 수 있다. The switch may match the OR filter list with the factor before the AND filter list when determining whether a predetermined factor with respect to the string matches the OR filter list or the AND filter list. The factor may be a specific character related to the recipient, sender, and subject information to be filtered in the electronic mail.

본 발명은 메일 필터링 인자(항목)으로서 송신자, 수신자, 제목에 대한 메일 필터링하는 실시예를 들어 설명하였지만 송신자, 수신자, 제목에 관련된 필터링에만 국한되는 것이 아니라 스위치에서 수신된 패킷에 필터링하고자 하는 항목이 포함된 경우 상기 수신된 패킷을 조합하여 전자 메일을 필터링하는 방법에 적용되는 것이다. Although the present invention has been described with an embodiment of filtering an email for a sender, a receiver, and a subject as an email filtering factor (item), an item to be filtered on a packet received from a switch is not limited to filtering related to the sender, the receiver, and a subject. If included, it is applied to a method of filtering an e-mail by combining the received packets.

스위치는 상기 문자열에 대해 소정의 인자를 OR 필터 리스트 또는 AND 필터 리스트와 매칭되는지의 여부를 판단할 때 상기 AND 필터 리스트와 매칭시키는 경우 세션 정보에 기록된 상태에 따라 이전 상태에서 매칭에 성공한 필터들의 리스트만을 비교할 수도 있다. When the switch determines whether a predetermined factor is matched with the OR filter list or the AND filter list for the string, the switch matches the filters that succeeded in the previous state according to the state recorded in the session information. You can also compare only lists.

스위치는 상기 전자 메일의 세션을 억세스 시간에 따라 정렬하는 세션 만기 리스트를 유지하는 단계 및 상기 세션 만기 리스트를 참조하여 소정의 시간 동안에 한번의 활동도 없는 상기 전자 메일의 세션을 삭제하는 단계를 더 포함할 수도 있다. 스위치는 상기 패킷을 중단한 세션인 경우 별도의 FIN/RST 패킷을 수신하기 전까지 Retransmission(재전송) 패킷의 통과를 막기 위해 일정 기간 동안 세션 정보를 유지해야 한다. 스위치는 비정상적인 네트워크 상황으로 인해 세션의 삭제가 이루어지지 않고 메모리를 소진하는 경우를 대비하기 위해서 오래 활동이 없는 세션 정보를 해지해야 한다. 스위치는 각 세션마다 하나의 타이머를 설정하지 않고, 글로벌 타이머를 통해 소정의 시간마다 활동이 없는 세션들을 한꺼번에 삭제한다. 이를 위해 스위치는 하나의 세션 엔트리에 대해 세션 테이블과는 별도의 세션의 억세스 시간에 따라 정렬되어 있는 세션 만기 리스트를 유지한다. 상기 세션 만기 리스트는 Idle 상태가 오래된 세션부터 최신 세션까지 순서대로 정렬되어 있다. The switch further includes maintaining a session expiration list that sorts the session of the e-mail according to access time and deleting the session of the e-mail with no activity for a predetermined time with reference to the session expiration list. You may. The switch must maintain session information for a certain period of time in order to prevent the retransmission packet from being passed until a separate FIN / RST packet is received in the case of the session in which the packet was interrupted. The switch must release session information that has not been active for a long time in case the memory is exhausted and the session is not deleted due to abnormal network conditions. The switch does not set one timer for each session, but deletes inactive sessions at a time through the global timer. To do this, the switch maintains a session expiration list, sorted according to the access times of sessions separate from the session table for one session entry. The session expiration list is arranged in order from the oldest session to the newest session.

스위치는 세션 엔트리가 생성될 때 억세스 시간을 현재의 시간으로 설정하고, 세션 만기 리스트의 테일에 추가한다. 스위치는 소정의 패킷이 수신되면 세션 엔트리의 정보를 가져갈 때 억세스 시간을 갱신하고, 해당 세션 엔트리를 만기 리 스트의 가장 뒤로 이동한다. 상기 만기된 세션들을 삭제하기 위한 타이머는 설정된 시간마다 타이머 함수를 실행할 수 있도록 설정되어 있다. 스위치는 상기 세션 만기 리스트의 헤드부터 차례대로 진행하면서 억세스 시간과 현재 시간이 일정 시간 이상 차이가 나면 해당 세션을 삭제하도록 동작한다. 상기 세션 만기 리스트는 시간 순으로 정렬되어 있기 때문에 만기되지 않은 세션이 나오면 스위치는 바로 검색을 중단한다.The switch sets the access time to the current time when the session entry is created and adds it to the tail of the session expiration list. When a predetermined packet is received, the switch updates the access time when taking the information of the session entry, and moves the session entry to the end of the expiration list. The timer for deleting the expired sessions is set to execute a timer function at each set time. The switch proceeds from the head of the session expiration list in order and deletes the session if the access time and the current time differ by more than a predetermined time. Since the session expiration list is sorted in chronological order, the switch stops searching immediately when an unexpired session comes out.

또한 본 발명의 실시예들은 다양한 컴퓨터로 구현되는 동작을 수행하기 위한 프로그램 명령을 포함하는 컴퓨터 판독 가능 매체를 포함한다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 상기 매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수도 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.Embodiments of the invention also include computer-readable media containing program instructions for performing various computer-implemented operations. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. Program instructions recorded on the media may be those specially designed and constructed for the purposes of the present invention, or they may be of the kind well-known and available to those having skill in the computer software arts. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, such as floppy disks. Magneto-optical media, and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. The medium may be a transmission medium such as an optical or metal wire, a waveguide, or the like including a carrier wave for transmitting a signal specifying a program command, a data structure, or the like. Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like.

이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 이는 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. As described above, the present invention has been described by way of limited embodiments and drawings, but the present invention is not limited to the above-described embodiments, which can be variously modified and modified by those skilled in the art to which the present invention pertains. Modifications are possible.

따라서, 본 발명 사상은 아래에 기재된 특허청구범위에 의해서만 파악되어야 하고, 이의 균등 또는 등가적 변형 모두는 본 발명 사상의 범주에 속한다고 할 것이다.Accordingly, the spirit of the present invention should be understood only by the claims set forth below, and all equivalent or equivalent modifications thereof will belong to the scope of the present invention.

본 발명에 따르면, 스위치에서 SMTP 접속 프로토콜의 상태를 추적하여 현재 상태에서 검색이 불필요한 전자 메일 항목을 검색하지 않음으로써 전자 메일 전송에 대한 성능을 향상시킬 수 있다. According to the present invention, the performance of the e-mail transmission can be improved by tracing the state of the SMTP connection protocol in the switch so as not to search the e-mail item which is unnecessary in the current state.

또한 본 발명에 따르면, 전자 메일의 항목과 인자가 여러 패킷으로 나누어지는 것을 추적하여 재조합한 후 문자열을 검색함으로써 전자 메일 필터링의 정확도를 높일 수 있다.In addition, according to the present invention, it is possible to increase the accuracy of the e-mail filtering by searching for a string after recombining the items and factors of the e-mail is divided into several packets.

또한, 본 발명에 따르면, 전자 메일의 제목과 같이 선택적으로 존재하는 항목에 대한 키워드 검색 범위를 설정할 수 있고, 비정상적인 네트워크 상황에서 일정 시간이 경과한 세션들을 주기적으로 제거할 수 있다. In addition, according to the present invention, it is possible to set a keyword search range for an item that is selectively present, such as a subject of an e-mail, and to periodically remove sessions that have elapsed a certain time in abnormal network conditions.

Claims (12)

삭제delete 전자 메일의 패킷 전송을 스위칭하는 스위치 수단에서 전자 메일을 필터링하는 방법에 있어서,A method for filtering an e-mail in switch means for switching the packet transmission of the e-mail, 상기 전자 메일의 패킷을 수신하는 단계;Receiving a packet of the e-mail; 수신된 전자 메일의 패킷을 분석하고, 분석된 전자 메일의 패킷에 소정의 필터링 항목이 포함된 경우 상기 필터링 항목과 관련된 패킷을 조합하는 단계; 및Analyzing a packet of the received e-mail, and combining a packet related to the filtering item when the packet of the analyzed e-mail includes a predetermined filtering item; And 상기 조합된 패킷에서 송신자의 전자 메일 주소의 문자열, 수신자의 전자 메일 주소의 문자열, 전자 메일의 제목의 문자열 또는 상기 전자 메일의 본문의 문자열을 필터링하는 단계; Filtering a string of an e-mail address of a sender, a string of an e-mail address of a receiver, a string of a subject of an e-mail, or a string of a body of the e-mail in the combined packet; 상기 전자 메일의 세션을 억세스 시간에 따라 정렬하는 세션 만기 리스트를 유지하는 단계; 및 Maintaining a session expiration list that sorts the sessions of the e-mail according to access time; And 상기 세션 만기 리스트를 참조하여 소정의 시간 동안에 한번의 활동도 없는 상기 전자 메일의 세션을 삭제하는 단계Deleting the session of the e-mail with no activity for a predetermined time by referring to the session expiration list 를 포함하고,Including, 상기 조합된 패킷에서 상기 송신자의 전자 메일 주소의 문자열, 상기 수신자의 전자 메일 주소의 문자열, 상기 전자 메일의 제목의 문자열 또는 상기 전자 메일의 본문의 문자열을 필터링하는 상기 단계는,The filtering of the string of the sender's email address, the string of the recipient's email address, the string of the subject of the email or the string of the body of the email in the combined packet may include: 상기 조합된 패킷에 소정의 문자열이 있는지를 검색하는 단계;Searching for the presence of a predetermined string in the combined packet; 상기 문자열이 있는 경우 해당 문자열을 OR 필터 리스트 또는 AND 필터 리스트의 소정 인자와 매칭되는지의 여부를 판단하는 단계; 및Determining whether the string matches a predetermined factor of an OR filter list or an AND filter list, if the string exists; And 상기 문자열이 상기 OR 필터 리스트 또는 상기 AND 필터 리스트의 상기 인자와 매칭되는 경우 상기 전자 메일의 세션을 차단하는 단계Blocking the session of the e-mail if the string matches the OR filter list or the factor of the AND filter list. 를 포함하는 것을 특징으로 하는 전자 메일 필터링 방법.E-mail filtering method comprising a. 제2항에 있어서,The method of claim 2, 상기 송신자의 전자 메일 주소의 문자열을 필터링하는 상기 단계는The step of filtering the string of the sender's e-mail address 상기 조합된 패킷에 송신자의 전자 메일 주소와 연관된 제1 문자열이 존재하는지의 여부를 판단하는 단계;Determining whether a first string associated with the sender's e-mail address is present in the combined packet; 상기 제1 문자열이 존재하는 경우 상기 제1 문자열 이후의 문자열을 검색하여 소정의 구분자(delimiter)가 존재하는지의 여부를 판단하는 단계;Searching for a character string after the first character string to determine whether a predetermined delimiter exists when the first character string exists; 상기 구분자가 존재하면, 상기 제1 문자열과 상기 구분자 사이의 문자열을 상기 송신자의 전자 메일 주소의 문자열로 간주하는 단계; If the delimiter exists, considering a string between the first string and the delimiter as a string of the sender's e-mail address; 상기 송신자의 전자 메일 주소의 문자열과 상기 OR 필터 리스트 또는 상기 AND 필터 리스트에 포함된 인자를 차례로 매칭시키는 단계; 및Matching a string of the sender's e-mail address with a factor included in the OR filter list or the AND filter list; And 상기 송신자의 전자 메일 주소의 문자열이 상기 인자와 일치하는 경우 상기 전자 메일의 패킷 검사를 중단하는 단계 Stopping packet inspection of the e-mail when the character string of the sender's e-mail address matches the factor. 를 포함하는 것을 특징으로 하는 전자 메일 필터링 방법.E-mail filtering method comprising a. 제2항에 있어서,The method of claim 2, 상기 수신자의 전자 메일 주소의 문자열을 필터링하는 상기 단계는The step of filtering the string of the recipient's email address 상기 조합된 패킷에 수신자의 전자 메일 주소와 연관된 제2 문자열이 존재하는지의 여부를 판단하는 단계;Determining whether a second string associated with the recipient's e-mail address is present in the combined packet; 상기 제2 문자열이 존재하는 경우 상기 제2 문자열 이후의 문자열을 검색하여 소정의 구분자가 존재하는지의 여부를 판단하는 단계; Searching for a character string after the second character string to determine whether a predetermined delimiter exists when the second character string exists; 상기 구분자가 존재하면, 상기 제2 문자열과 상기 구분자 사이의 문자열을 수신자의 전자 메일 주소와 연관된 문자열로 간주하는 단계;If the delimiter is present, considering a string between the second string and the delimiter as a string associated with a recipient's e-mail address; 상기 수신자의 전자 메일 주소의 문자열과 상기 OR 필터 리스트 또는 상기 AND 필터 리스트에 포함된 인자를 매칭시키는 단계; 및Matching a string of the recipient's e-mail address with a factor included in the OR filter list or the AND filter list; And 상기 수신자의 전자 메일 주소의 문자열과 상기 인자가 일치하는 경우 상기 전자 메일의 패킷 검사를 중단하는 단계Stopping packet inspection of the e-mail when the string of the e-mail address of the receiver and the argument match. 를 포함하고,Including, 상기 수신자가 다수인 경우 상기 수신자 별로 상기 수신자의 전자 메일 주소의 문자열을 검색하는 것을 특징으로 하는 전자 메일 필터링 방법.And searching for a string of the e-mail address of the recipient for each of the recipients when the number of recipients is plural. 제4항에 있어서,The method of claim 4, wherein 상기 수신자의 전자 메일 주소의 문자열과 상기 OR 필터 리스트 또는 상기 AND 필터 리스트에 포함된 인자를 매칭시키는 상기 단계는Matching the string of the recipient's e-mail address with a factor included in the OR filter list or the AND filter list 상기 AND 필터 리스트의 경우 상기 송신자 매칭 필터에 등록된 필터만을 검사하는 단계;Checking only filters registered in the sender matching filter in the case of the AND filter list; 상기 수신자의 전자 메일 주소의 문자열이 상기 AND 필터 리스트와 매칭되는지의 여부를 판단하는 단계;Determining whether a string of the recipient's e-mail address matches the AND filter list; 상기 AND 필터 리스트와 매칭되면, 상기 전자 메일의 제목에 대한 매칭 조건이 있는지의 여부를 판단하는 단계; Determining whether there is a matching condition with respect to a subject of the e-mail when the AND filter list is matched; 상기 전자 메일의 제목에 대한 매칭 조건이 없는 경우 상기 전자 메일을 차 단하는 단계; 및Blocking the e-mail when there is no matching condition for the subject of the e-mail; And 상기 전자 메일의 제목에 대한 매칭 조건이 있는 경우 수신자의 매칭 리스트에 상기 필터를 등록하고, 다음 필터를 비교하는 단계를 포함하는 것을 특징으로 하는 전자 메일 필터링 방법.Registering the filter in a matching list of recipients when there is a matching condition with respect to a subject of the e-mail, and comparing the next filter. 제4항에 있어서,The method of claim 4, wherein 상기 수신자의 전자 메일 주소의 문자열과 상기 OR 필터 리스트 또는 상기 AND 필터 리스트에 포함된 인자를 매칭시키는 상기 단계는Matching the string of the recipient's e-mail address with a factor included in the OR filter list or the AND filter list 상기 AND 필터 리스트에 따라 상기 수신자의 전자 메일 주소의 문자열에 대한 매칭 여부를 판단하기 위해 상기 AND 필터 리스트에 포함된 모든 문자열과 일치하는지를 판단하는 단계; 및Determining whether or not all strings included in the AND filter list are matched to determine whether or not a string of the e-mail address of the receiver is matched according to the AND filter list; And 상기 수신자가 복수인 경우 상기 매칭된 세션의 정보를 수신자의 매칭 리스트에 해당 필터와 매칭된 문자열에 대한 인덱스를 기록하는 단계를 포함하는 것을 특징으로 하는 전자 메일 필터링 방법.And when the plurality of recipients are present, recording the information on the matched session in an index of a string matching the corresponding filter in a matching list of the recipients. 제6항에 있어서,The method of claim 6, 상기 수신자의 전자 메일 주소의 문자열과 상기 OR 필터 리스트 또는 상기 AND 필터 리스트에 포함된 인자를 매칭시키는 상기 단계는Matching the string of the recipient's e-mail address with a factor included in the OR filter list or the AND filter list 소정의 데이터 패킷이 수신될 때까지 상기 수신자의 전자 메일 주소의 매칭을 계속 수행하는 단계; 및Continuing matching of the recipient's e-mail address until a predetermined data packet is received; And 상기 데이터 패킷이 수신되면, 상기 수신자의 매칭 리스트를 삭제하는 단계를 포함하는 것을 특징으로 하는 전자 메일 필터링 방법.And when the data packet is received, deleting the matching list of the recipients. 제2항에 있어서,The method of claim 2, 상기 전자 메일의 제목을 필터링하는 상기 단계는The filtering of the subject of the e-mail is 상기 패킷이 모두 수신된 상태에서 상기 패킷이 상기 전자 메일의 제목과 연관된 제3 문자열이 존재하는지의 여부를 판단하는 단계; Determining whether the packet has a third character string associated with a subject of the electronic mail when all the packets are received; 상기 제3 문자열이 존재하는 경우 상기 제3 문자열 이후의 문자열을 검색하여 소정의 구분자가 존재하는지의 여부를 판단하는 단계;Searching for a character string after the third character string to determine whether a predetermined delimiter exists when the third character string exists; 상기 구분자가 존재하면, 상기 제3 문자열과 상기 구분자 사이의 문자열을 상기 전자 메일의 제목으로 간주하는 단계;If the delimiter exists, considering a string between the third string and the delimiter as a subject of the e-mail; 상기 전자 메일의 제목의 문자열과 상기 OR 필터 리스트 또는 상기 AND 필터 리스트에 포함된 인자를 매칭시키는 단계; 및Matching a string of a subject of the e-mail with a factor included in the OR filter list or the AND filter list; And 상기 전자 메일의 제목의 문자열과 상기 OR 필터 리스트 또는 상기 AND 필터 리스트에 포함된 인자가 일치하면, 상기 전자 메일의 필터링을 중단하는 단계Stopping filtering of the e-mail when a character string of the subject of the e-mail and a factor included in the OR filter list or the AND filter list match. 를 포함하고, Including, 상기 전자 메일의 제목의 문자열이 여러 패킷으로 나누어지는 경우 상기 여러 패킷을 조합하여 검색하는 것을 특징으로 하는 전자 메일 필터링 방법.And when the character string of the subject of the e-mail is divided into multiple packets, searching for the combination of the various packets. 제8항에 있어서,The method of claim 8, 상기 전자 메일의 제목의 문자열과 상기 OR 필터 리스트 또는 상기 AND 필터 리스트에 포함된 인자를 매칭시키는 상기 단계는 The step of matching the string of the subject of the e-mail and the factors included in the OR filter list or the AND filter list is 상기 전자 메일의 제목의 문자열의 패킷 중 끝부분에서 상기 OR 필터 리스트 또는 상기 AND 필터 리스트의 소정 인자의 일부를 발견한 경우 상기 패킷의 끝부분과 상기 패킷의 다음 패킷의 첫 부분을 조합하는 단계; 및Combining the end of the packet with the first part of the next packet of the packet when a part of a predetermined factor of the OR filter list or the AND filter list is found at the end of the packet of the string of the subject of the e-mail; And 상기 패킷을 조합한 후 상기 인자와 비교하여 일치하는지의 여부를 판단하는 단계를 포함하는 것을 특징으로 하는 전자 메일 필터링 방법.And combining the packets and comparing the packets with each other to determine whether they match. 제2항에 있어서,The method of claim 2, 상기 문자열이 있는 경우 해당 문자열에 대해 소정의 인자를 OR 필터 리스트 또는 AND 필터 리스트와 매칭되는지의 여부를 판단하는 상기 단계는In the case where the string exists, the step of determining whether a predetermined factor for the string matches the OR filter list or the AND filter list 상기 AND 필터 리스트와 매칭시키는 경우 상기 세션 정보에 기록된 상태에 따라 이전 상태에서 매칭에 성공한 필터들의 리스트만을 비교하는 것을 특징으로 하는 전자 메일 필터링 방법.When matching with the AND filter list, the electronic mail filtering method, characterized in that only comparing the list of the filter that succeeded in the previous state according to the state recorded in the session information. 삭제delete 제2항 내지 제10항 중 어느 한 항의 방법을 컴퓨터에서 실행하기 위한 프로그램을 기록하는 컴퓨터 판독 가능한 기록매체. A computer-readable recording medium for recording a program for executing the method of any one of claims 2 to 10 on a computer.
KR1020040077389A 2004-09-24 2004-09-24 A method for filtering electronic mail KR100679108B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040077389A KR100679108B1 (en) 2004-09-24 2004-09-24 A method for filtering electronic mail

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040077389A KR100679108B1 (en) 2004-09-24 2004-09-24 A method for filtering electronic mail

Publications (2)

Publication Number Publication Date
KR20060028292A KR20060028292A (en) 2006-03-29
KR100679108B1 true KR100679108B1 (en) 2007-02-06

Family

ID=37139088

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040077389A KR100679108B1 (en) 2004-09-24 2004-09-24 A method for filtering electronic mail

Country Status (1)

Country Link
KR (1) KR100679108B1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101273018B1 (en) * 2012-09-12 2013-06-10 (주)비즈아이솔루션 E-mail transmission rule reasoning system using virtual session analysis
KR101273112B1 (en) * 2012-09-12 2013-06-13 (주)비즈아이솔루션 E-mail transmission control system using transmission rule reasoning result
KR102204290B1 (en) * 2019-08-23 2021-01-18 고려대학교 세종산학협력단 Identification of delimiter and static field in protocol reverse engineering using statistic analysis

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020063534A (en) * 2002-06-25 2002-08-03 디프소프트 주식회사 Method for filtering spam mail
KR20040035328A (en) * 2002-10-22 2004-04-29 디프소프트 주식회사 method for filtering spam mail by X-code

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020063534A (en) * 2002-06-25 2002-08-03 디프소프트 주식회사 Method for filtering spam mail
KR20040035328A (en) * 2002-10-22 2004-04-29 디프소프트 주식회사 method for filtering spam mail by X-code

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
1020020063534
1020040035328

Also Published As

Publication number Publication date
KR20060028292A (en) 2006-03-29

Similar Documents

Publication Publication Date Title
US8782781B2 (en) System for reclassification of electronic messages in a spam filtering system
EP2446411B1 (en) Real-time spam look-up system
EP2353259B1 (en) Message processing
US20090319629A1 (en) Systems and methods for re-evaluatng data
US20060259558A1 (en) Method and program for handling spam emails
WO2005119488A2 (en) Techniques for determining the reputation of a message sender
WO2008154835A1 (en) Electronic mail filtering method, device, and electronic mail server
JP2007528686A (en) Spam blocking system and method
WO2008108183A1 (en) Method and system for electronic mail processing
KR100679108B1 (en) A method for filtering electronic mail
JP2007265368A (en) Spam eliminating method
JPH11252158A (en) Electronic mail information management method and device and storage medium recording electronic mail information management processing program
KR100473051B1 (en) Automatic Spam-mail Dividing Method
CN101212419B (en) Junk message handling method in instant messaging system
US8819142B1 (en) Method for reclassifying a spam-filtered email message
JP2009037346A (en) Unwanted e-mail exclusion system
JP4322495B2 (en) Spam mail suppression device, spam mail suppression method, and spam mail suppression program
JP2006345331A (en) E-mail system
JP2006252220A (en) Communication analyzing device, communication analyzing method, and computer program
KR100508118B1 (en) Method for automatic processing the spam SMS message
US20080313285A1 (en) Post transit spam filtering
JP5051664B2 (en) E-mail mistransmission prevention apparatus and e-mail mistransmission prevention method
KR100528590B1 (en) Method and apparatus for performing the process such as re-transmittance of the saved spam mail and modification of the spam rule, and computer readable medium on which program for executing the method is recorded
JP3978610B2 (en) E-mail loop suppression method and apparatus
JP4720251B2 (en) Email attachment virus detection method and email server

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130213

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140213

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150126

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160125

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170116

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20180125

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20200128

Year of fee payment: 14