JP2005011326A - Obfuscation of spam filter - Google Patents

Obfuscation of spam filter Download PDF

Info

Publication number
JP2005011326A
JP2005011326A JP2004149663A JP2004149663A JP2005011326A JP 2005011326 A JP2005011326 A JP 2005011326A JP 2004149663 A JP2004149663 A JP 2004149663A JP 2004149663 A JP2004149663 A JP 2004149663A JP 2005011326 A JP2005011326 A JP 2005011326A
Authority
JP
Japan
Prior art keywords
message
spam
filter
score
filters
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
JP2004149663A
Other languages
Japanese (ja)
Other versions
JP4572087B2 (en
Inventor
Joshua T Goodman
ティー.グッドマン ジョシュア
Robert L Rounthwaite
エル.ラウンスウェイト ロバート
John C Platt
シー.プラット ジョン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2005011326A publication Critical patent/JP2005011326A/en
Application granted granted Critical
Publication of JP4572087B2 publication Critical patent/JP4572087B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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/40Business processes related to the transportation industry
    • 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

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (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)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a system and method for obfuscating a spam filtering system to hinder reverse engineering of a spam filter and/or to mitigate a spammer from finding out a message that consistently gets through a spam filter almost every time. <P>SOLUTION: This system includes a randomization component that randomizes a message score before the message is classified as spam or non-spam in order to obscure the functionality of a spam filter. The randomization of the message score can be accomplished in part by adding a random number or pseudo-random number to the message score before the message is classified as spam or non-spam. The number added thereto can vary depending on at least one of several input types such as time, user, message content, and hash of the contents of the message, and the hash of particularly important features of the message. Alternatively, multiple spam filters can be deployed rather than a single best spam filter. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

本発明は、スパムの送信を低減するシステムおよび方法に関し、より詳細には、スパムフィルタのリバースエンジニアリングを妨げ、かつ/またはスパムフィルタのパフォーマンスをスパマーがモデリングし、予測するのを抑えることに関する。   The present invention relates to systems and methods for reducing spam transmission, and more particularly to preventing spam filter reverse engineering and / or preventing spammers from modeling and predicting spam filter performance.

インターネットなどグローバルな通信ネットワークの出現によって、膨大な数の潜在顧客を得られるビジネスチャンスが与えられている。電子メッセージ通信、および特に電子メールは、次第にネットワークユーザに不要な広告および宣伝をばらまく手段(「スパム」とも呼ぶ)として広がる傾向にある。   With the advent of global communication networks such as the Internet, there are business opportunities for obtaining a huge number of potential customers. Electronic message communications, and in particular electronic mail, are becoming increasingly popular as a means of disseminating unwanted advertisements and promotions to network users (also called “spam”).

コンサルティングおよび市場調査会社であるRadicati Group.Inc.の概算によると、2002年8月の時点で、毎日20億のジャンクメールメッセージが送信されている。この数字は、2年ごとに3倍になると予測されている。個人およびエンティティ(企業、政府機関など)は、次第にジャンクメッセージに迷惑し、しばしば不快に感じるようになってきている。したがってスパムは、現在または間もなく信頼できるコンピュータの使用を脅かすものとなる。   Radicati Group, a consulting and market research company. Inc. According to the estimate, as of August 2002, 2 billion junk mail messages are sent every day. This figure is expected to triple every two years. Individuals and entities (businesses, government agencies, etc.) are increasingly annoying and often uncomfortable with junk messages. Spam thus threatens the use of computers that are currently or soon to be trusted.

スパムを阻止するために使用する一般的な技術は、フィルタリングシステム/方法の利用を必要とする。実績のあるフィルタリング技術は、機械学習手法に基づくものである。機械学習フィルタは、着信メッセージに、メッセージがスパムである確率を割り当てる。この手法では、特徴は一般に2つのクラスのメッセージ例(例えばスパムメッセージおよび非スパムメッセージ)から抽出され、2つのクラスの間の差異を確率的に識別するために学習フィルタが適用される。多くのメッセージの特徴は内容(例えばメッセージの件名および/または本文の単語および句全体など)に関係するため、一般にこうしたタイプのフィルタを「内容ベースのフィルタ(content−based filter)」と呼ぶ。こうしたタイプの機械学習フィルタは、適切なメッセージからスパムメッセージを検出し、識別するために、一般に完全一致技術を使用する。   Common techniques used to deter spam require the use of filtering systems / methods. Proven filtering techniques are based on machine learning techniques. The machine learning filter assigns incoming messages a probability that the message is spam. In this approach, features are generally extracted from two classes of message examples (eg, spam messages and non-spam messages), and a learning filter is applied to probabilistically identify differences between the two classes. Because many message characteristics relate to content (eg, the subject of the message and / or the entire body of words and phrases), this type of filter is commonly referred to as a “content-based filter”. These types of machine learning filters typically use exact match techniques to detect and identify spam messages from appropriate messages.

米国特許第6,161,130号明細書US Pat. No. 6,161,130 米国特許第6,023,723号明細書US Pat. No. 6,023,723

残念ながらスパマーは、機械学習システムを使用するものを含めて、従来のスパムフィルタを回避する方法を絶えず見つけている。例えばスパマーは、数学的処理および連続的な電子メールの修正を使用して、スパムフィルタのパフォーマンスをテストし、予測する。さらに、一般の人々は、一般的なスパムフィルタがどのように動作するかを説明する多くの情報を入手可能である。中には、特定のフィルタにメッセージを通し、そうしたフィルタのそれぞれの判定を戻すことを申し出るインターネットサービスさえある。したがってスパマーは、様々な既知のスパムフィルタにスパムを通し、かつ/またはメッセージがフィルタをうまく通り抜けるまでそのメッセージを修正する機会に恵まれる。上記のことを考えると、こうした従来のフィルタが提供するスパムに対する防護は限られている。   Unfortunately, spammers are constantly finding ways to avoid traditional spam filters, including those that use machine learning systems. For example, spammers use mathematical processing and continuous email modification to test and predict the performance of spam filters. In addition, the general public has a lot of information available that explains how a general spam filter works. Some Internet services even offer to pass a message through a particular filter and return the decision of each such filter. Thus, spammers have the opportunity to pass spam through various known spam filters and / or modify the message until the message passes through the filter successfully. Given the above, the spam protection provided by these conventional filters is limited.

本発明の一部の態様を基本的に理解できるようにするために、以下に本発明の簡単な概略を示す。この概略は、本発明の広範にわたる概要を示すものではない。本発明の鍵となる/重要な要素を識別するためのもの、または本発明の範囲を画定するためのものではない。単に、後述するより詳細な説明の前置きとして、本発明の一部の概念を簡単な形式で提示するためのものである。   The following presents a simplified summary of the invention in order to provide a basic understanding of some aspects of the invention. This summary is not an extensive overview of the invention. It is not intended to identify key / critical elements of the invention or to delineate the scope of the invention. Its sole purpose is to present some concepts of the invention in a simplified form as a prelude to the more detailed description that is presented later.

従来の機械学習スパムフィルタは、スパマーによるリバースエンジニアリングが可能であり、それによってスパマーは、フィルタに捕らえられないメッセージを見つけることができる。さらに、スパムフィルタがユーザに関係なく常に同じメッセージを捕らえる場合、スパマーは、試行錯誤により、通り抜けるメッセージを容易に見つけることができる。そのメッセージを見つけた後、スパマーは、フィルタを活用して潜在的に何百万もの人々にメッセージを送信することができる。何らかの方法によるスパムフィルタの修正がなければ、この形式のスパマーの策略を永久に続行することができる。   Traditional machine learning spam filters can be reverse engineered by spammers, which allow spammers to find messages that are not caught by the filter. Furthermore, if the spam filter always captures the same message regardless of the user, spammers can easily find messages that pass through by trial and error. After finding the message, spammers can use filters to send messages to potentially millions of people. Without some form of spam filter modification, this form of spammer trick can continue forever.

発明主題は、スパムフィルタの不明瞭化を容易にし、それによりスパマーがリバースエンジニアリングを行うことがより難しくなり、かつ/またはフィルタを常に通り抜けるメッセージを見つけることがより難しくなるシステムおよび方法を提供する。本発明は本質的に、スパムフィルタの挙動を修正する方法を提供する。これは、一部にはスパムフィルタリングプロセスに無作為化の要素を追加することによって達成することができる。   The inventive subject matter provides a system and method that facilitates obfuscation of spam filters, thereby making it more difficult for spammers to reverse engineer and / or find messages that always pass through the filter. The present invention essentially provides a method for modifying the behavior of spam filters. This can be achieved in part by adding a randomization factor to the spam filtering process.

従来のスパムフィルタの大部分は、メッセージを処理し、メッセージに対するある種の得点を戻す。これは、メッセージの確率、独断の得点、メッセージの確率のログ、現在のメッセージと非スパムメッセージとの間の一致の度合い、または他の任意の数字とすることができる。ある閾値を上回る得点は、何らかの方法でスパムとしてラベル付けされる。こうしたラベルには、それだけには限定されないが、削除、特殊フォルダへの移動、チャレンジ(challenge)、および/またはマークなどがある。したがって、スパムフィルタリングプロセスの挙動を修正する手法の1つは、メッセージの得点の無作為化を含む。無作為化は、それだけには限定されないが、得点に何らかの数字を加える、および/または得点に例えば1.1や0.9など何らかの因数を掛けることを含む。   Most conventional spam filters process a message and return some score for the message. This can be a message probability, an arbitrary score, a message probability log, a degree of match between the current message and a non-spam message, or any other number. A score above a certain threshold is labeled as spam in some way. Such labels include, but are not limited to, deleting, moving to special folders, challenges, and / or marks. Thus, one technique for modifying the behavior of the spam filtering process involves randomization of message scores. Randomization includes, but is not limited to, adding a number to the score and / or multiplying the score by some factor, such as 1.1 or 0.9.

無作為化の実行の第2の手法は、時間の使用を含む。より具体的には、メッセージの得点に加えられる乱数が現在の時刻または現在の時間増分とともに変わる、かつ/またはそれに応じて決まる。例えば、15分ごと、または所望の他の任意の時間増分ごとに異なる乱数を使用するように無作為化をプログラムすることができる。あるいは、時刻の変化とともに乱数を変えることもできる。その結果、スパマーは、例えば(スパムと見なされるか非スパムと見なされるかの)閾値付近にあるもので、通り抜けるのを阻止されていたが、わずかな(例えばマイナーな)修正を加えた後フィルタを通り抜けるようになったメッセージが修正によって変わったのか、任意の要因によって変わったのかを決定するのが難しいことがわかる。   A second approach to randomization involves the use of time. More specifically, the random number added to the message score varies with and / or depends on the current time or current time increment. For example, the randomization can be programmed to use a different random number every 15 minutes, or every other desired time increment. Alternatively, the random number can be changed as the time changes. As a result, spammers, for example, are near the threshold (considered as spam or non-spam) and were prevented from passing through, but after a slight (eg minor) modification, the filter It can be seen that it is difficult to determine whether the message that has passed through has changed due to modification or due to arbitrary factors.

フィルタの無作為化の第3の手法は、一部には、メッセージを受信するユーザおよび/またはドメインに応じて決まる。例えば、ユーザに応じて決まる乱数を使用することによって、スパマーは、他のユーザではなく、テストユーザにしか届かないメッセージを見つけることになる。したがってスパマーは、メッセージをテストするためにより負担がかかることになる。   A third approach to filter randomization depends in part on the user and / or domain receiving the message. For example, by using a random number that depends on the user, the spammer will find a message that only reaches the test user and not other users. Spammers are therefore more burdensome to test messages.

メッセージの内容は、本発明による無作為化の別の態様である。例えば、乱数を、少なくとも一部メッセージの内容に基づいて算出することができる。関連の技術はハッシュ法である。メッセージのハッシュは、内容から確定的に生成される擬似乱数であり、したがって内容へのわずかな変更によってハッシュに大きな変更がもたらされるようになる。スパマーがメッセージをリバースエンジニアリングしようと試みる場合、メッセージの内容のわずかな変更によって、メッセージの得点に相対的に大きな変更がもたらされる。あるいは、またはそれに加えて、メッセージの得点へのその寄与(contributions)が閾値を上回るメッセージの特定の特徴を抽出し、ハッシュすることができる。次いでこのハッシュを、乱数ジェネレータに入力として使用し、それによって最も重要な特徴の寄与をより見つけにくくすることができる。   Message content is another aspect of randomization according to the present invention. For example, a random number can be calculated based on the content of at least a part of the message. A related technique is the hash method. The hash of the message is a pseudo-random number that is deterministically generated from the content, so that minor changes to the content can result in significant changes to the hash. If a spammer attempts to reverse engineer a message, a slight change in the message content will result in a relatively large change in the message score. Alternatively, or in addition, certain features of the message whose contributions to the score of the message exceed a threshold can be extracted and hashed. This hash can then be used as an input to a random number generator, thereby making it more difficult to find the most important feature contributions.

無作為化をスパムフィルタリングのプロセスに追加することはできるが、制御されたやり方で行うことが重要であることにさらに注意されたい。特に、スパムフィルタがたまに明らかにスパムであるメッセージを通過させると、道理にかなったユーザは憤慨することになる。逆に、明らかに適切なメッセージがたまにスパムとしてタグ付けされると、道理にかなったユーザは再度憤慨することになる。したがって、発明主題は、スパムまたは非スパムの境界に「近い」メッセージに影響を与えるのを助ける。言い換えれば、フィルタリングプロセスの無作為化は、明らかにスパムである、または明らかに非スパムであるメッセージには本質的に影響を与えない。代わりに、非スパムとスパムの間の閾値付近および/または閾値のメッセージのフィルタリングに影響を与える。   It should be further noted that although randomization can be added to the spam filtering process, it is important to do so in a controlled manner. In particular, if a spam filter occasionally passes messages that are clearly spam, a sensible user will be hesitant. Conversely, if an apparently appropriate message is sometimes tagged as spam, a sensible user will be hesitant again. Thus, the inventive subject matter helps influence messages that are “close” to spam or non-spam boundaries. In other words, the randomization of the filtering process has essentially no effect on messages that are clearly spam or clearly non-spam. Instead, it affects the filtering of near-threshold and / or threshold messages between non-spam and spam.

最後に、最適な単一のスパムフィルタを使用する代わりに、複数のスパムフィルタを使用して、スパマーによるスパムフィルタのパフォーマンスのモデリングおよび予測を妨げることができる。複数のスパムフィルタを使用することによって、メッセージをスパムまたは非スパムとして分類する前に、メッセージの異なる側面が強制的に検査される。したがって、あるフィルタをリバースエンジニアリングしたり、あるフィルタを通り抜けるメッセージを見つけたりするスパマーが必ずしも異なるフィルタを通り抜けられるとは限らない。さらに、メッセージを処理し、分類するのにどのフィルタを使用するかの選択は、本明細書で上述した無作為化の技術のいずれか、またはその組合せを含み得る。   Finally, instead of using an optimal single spam filter, multiple spam filters can be used to prevent spammers from modeling and predicting spam filter performance. Using multiple spam filters forces different aspects of the message to be inspected before classifying the message as spam or non-spam. Thus, spammers who reverse engineer a filter or find a message that passes through a filter may not always pass through a different filter. Further, the selection of which filter to use to process and classify messages can include any of the randomization techniques described herein above, or a combination thereof.

上記および関連の目的を達成するために、本発明のいくつかの態様の例を、上記の説明および添付の図面との関連で本明細書に記載している。しかし、これらの態様は、本発明の原理を使用し得る様々な方法の極一部を示しているにすぎず、本発明は、こうしたすべての態様およびその均等物を含む。本発明の他の利点および新規の特徴は、本発明の以下の詳細な説明を図面と併せ読めば明らかになる。   To the accomplishment of the foregoing and related ends, certain embodiments of the invention are described herein in connection with the foregoing description and the accompanying drawings. However, these aspects are merely illustrative of the various ways in which the principles of the invention may be used and the invention includes all such aspects and their equivalents. Other advantages and novel features of the invention will become apparent from the following detailed description of the invention when read in conjunction with the drawings.

次に、本発明を図面との関連で説明する。図中、図面を通じて同様の要素には同様の参照番号を付す。以下の説明では、説明上、本発明を完全に理解できるようにするために様々な特定の詳細を記載している。しかし、こうした特定の詳細なしに本発明を実施できることは明らかである。他の例では、本発明を説明しやすくするために、よく知られている構造および装置をブロック図の形式で示している。   The invention will now be described in connection with the drawings. In the drawings, like reference numerals denote like elements throughout the drawings. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, it will be apparent that the invention may be practiced without these specific details. In other instances, well-known structures and devices are shown in block diagram form in order to facilitate describing the present invention.

本出願で使用する場合、「構成要素」および「システム」という用語は、ハードウェア、ハードウェアおよびソフトウェアの組合せ、ソフトウェア、または実行中のソフトウェアのいずれかのコンピュータ関連のエンティティを指すものとする。例えば、構成要素は、それだけには限定されないが、プロセッサ上で動作するプロセス、プロセッサ、オブジェクト、実行可能ファイル、実行スレッド、プログラム、および/またはコンピュータとすることができる。例として、サーバ上で動作するアプリケーションおよびサーバはいずれも構成要素である。1つまたは複数の構成要素がプロセスおよび/または実行スレッド内に存在していてもよく、1つの構成要素を1つのコンピュータ上に配置する、および/または2つ以上のコンピュータ間に分散することもできる。   As used in this application, the terms “component” and “system” shall refer to computer-related entities, either hardware, a combination of hardware and software, software, or running software. For example, a component can be, but is not limited to being, a process running on a processor, a processor, an object, an executable, a thread of execution, a program, and / or a computer. By way of illustration, both an application running on a server and the server are components. One or more components may be present in a process and / or thread of execution, and one component may be located on one computer and / or distributed between two or more computers. it can.

発明主題は、機械学習したスパムフィルタリングのためのトレーニングデータの生成に関連して、様々な推論方式および/または技術を組み込む。本明細書で使用する場合、「推論」という用語は一般に、イベントおよび/またはデータを介して捕捉された1組の観察結果からシステム、環境、および/またはユーザの状態について推理または推論する過程を指す。例えば、推論を使用して特定の内容または動作を識別する、または状態にわたる確率分布を生成することができる。推論は、確率的、つまりデータおよびイベントの考慮に基づいた対象の状態にわたる確率分布の算出とすることができる。また推論は、1組のイベントおよび/またはデータから上位レベルのイベントを作り上げるために使用する技術を指す。こうした推論によって、複数のイベントが時間的にごく近接して相関していようといまいと、またイベントおよびデータが派生したイベントおよびデータソースが1つであろうと複数であろうと、1組の観察されたイベントおよび/または格納されたイベントデータから新しいイベントまたは動作が構築される。   The inventive subject matter incorporates various inference schemes and / or techniques in connection with generating training data for machine-learned spam filtering. As used herein, the term “inference” generally refers to the process of inferring or inferring the state of a system, environment, and / or user from a set of observations captured via events and / or data. Point to. For example, inference can be used to identify specific content or actions, or to generate a probability distribution over states. Inference can be probabilistic, i.e., calculating a probability distribution over the state of interest based on data and event considerations. Inference also refers to the techniques used to create higher level events from a set of events and / or data. With this reasoning, a set of observations is made whether events are closely related in time or whether events and data are derived from one or more sources. New events or actions are constructed from the recorded events and / or stored event data.

メッセージという用語は、本明細書を通じて広範に使用されているが、こうした用語は、電子メール自体に限定されるものではなく、適切に変更して、適した任意の通信アーキテクチャにわたって配信することができる任意の形式の電子メッセージ通信を含むようにすることができることを理解されたい。例えば、2人以上の間の会議を助ける会議アプリケーション(対話式チャットプログラム、インスタントメッセージ用プログラムなど)でも、本明細書に開示したフィルタリングの利点を利用することができる。というのは、ユーザがメッセージを交換するときに不要なテキストが通常のチャットメッセージに電子的に挿入される、かつ/または開始メッセージ、終了メッセージ、または上記のすべてとして挿入される可能性があるからである。この特定のアプリケーションでは、特定のメッセージ内容(テキストおよび画像)を自動的にフィルタするようにフィルタをトレーニングして、不要な内容(コマーシャル、宣伝、広告など)を捕捉し、ジャンクとしてタグ付けするようにすることができる。別のアプリケーション例には、セル方式の電話または同様の装置上のSMSメッセージがある。   The term message is used extensively throughout this specification, but the term is not limited to email itself, and can be appropriately modified and distributed across any suitable communications architecture. It should be understood that any form of electronic message communication can be included. For example, a conference application (interactive chat program, instant message program, etc.) that helps a conference between two or more people can also take advantage of the filtering advantages disclosed herein. This is because unwanted text may be inserted electronically into normal chat messages and / or as start messages, end messages, or all of the above when users exchange messages It is. In this particular application, train the filter to automatically filter specific message content (text and images), capture unwanted content (commercials, promotions, advertisements, etc.) and tag it as junk Can be. Another example application is an SMS message on a cellular phone or similar device.

スパムフィルタの内部の仕組みを不明瞭にする多くの目的の1つは、フィルタがどのように動作するかの知識なしに、ほぼ常に通り抜けることを保証されているメッセージをスパマーが見つけるのを防ぐことである。別の目的は、スパマーがスパムフィルタの仕組みを理解するのを抑えて、スパマーがフィルタのリバースエンジニアリングを試みるのを妨げることである。これは特に、メッセージへのこうしたわずかな変更(メッセージのいくつかの単語または特徴の追加や削除など)が、フィルタがメッセージをスパムとして「見る」かどうかに影響を与えるような、スパムとの境界付近にあるメッセージに適用可能である。例えばスパマーは、「バイアグラ(登録商標)」などある単語を含むメッセージが常にスパムとして分類されることがわかると、メッセージをこの単語なしに巧みに作るだけでよい。したがって、本質的にリバースエンジニアリングの試行を妨げるスパムフィルタまたはスパムフィルタリングシステムを構築することが有利となる。   One of the many objectives that obscure the internals of the spam filter is to prevent spammers from finding messages that are almost always guaranteed to go through without knowledge of how the filter works. It is. Another objective is to prevent spammers from understanding how spam filters work and prevent spammers from trying to reverse engineer filters. This is especially the case for spam boundaries where these minor changes to the message (such as adding or deleting some words or features of the message) affect whether the filter "sees" the message as spam. Applicable to nearby messages. For example, if a spammer finds that a message containing a word, such as “Viagra®”, is always classified as spam, he / she only has to craft the message without this word. Therefore, it would be advantageous to build a spam filter or spam filtering system that essentially prevents reverse engineering attempts.

多くのスパムフィルタは、線形モデルを使用する。線形モデルでは、メッセージ内の単語などメッセージの特徴、およびメッセージが真夜中に送信されたかどうかなどの特殊な特徴が抽出される。各特徴に重みまたは得点が関連付けられる。メッセージに関連付けられたすべての重みの合計が計算されて、重みの合計(合計得点など)が得られる。重みの合計がある閾値を超える場合、特定のメッセージは、通り抜けられず、配信されない。逆に、重みの合計がある閾値を下回る場合、メッセージは受信者に到達し得る。   Many spam filters use a linear model. The linear model extracts message features such as words in the message and special features such as whether the message was sent at midnight. A weight or score is associated with each feature. The sum of all weights associated with the message is calculated to obtain a sum of weights (such as a total score). If the total weight exceeds a certain threshold, the particular message is not passed through and is not delivered. Conversely, if the total weight falls below a certain threshold, the message can reach the recipient.

得点を次の式を有するシグモイド関数に通すなど、他のタイプのモデルをスパムフィルタに使用することができる。   Other types of models can be used for spam filters, such as passing the score through a sigmoid function having the following formula:

Figure 2005011326
Figure 2005011326

これによって得点が0から1までのある数字に変換される(例えば最終得点と呼ぶ)。この数字をさらに、メッセージがスパムであるかどうかの決定を助けることができる確率に変換することができる。   As a result, the score is converted into a number from 0 to 1 (for example, called the final score). This number can be further transformed into a probability that can help determine whether the message is spam.

しかし、スパムフィルタに使用するモデルまたは戦略に関わらず、スパマーは、メッセージから抽出された少なくとも1つの特徴に関連する採点方式の決定を試みることがある。スパマーは、異なる特徴を含む大量のメッセージを作成して、どのメッセージがスパムとして分類される(例えば配信を阻止される)か、どのメッセージがスパムとして分類されない(例えば受信者に配信される)かを調べることによってこれを決定することができる。最後にスパマーは、どの特徴の得点がこうした分類をもたらすことになるかを推定しようとする。   However, regardless of the model or strategy used for the spam filter, a spammer may attempt to determine a scoring scheme associated with at least one feature extracted from the message. Spammers create a large number of messages with different characteristics, which messages are classified as spam (for example, blocked from delivery), and which messages are not classified as spam (for example, delivered to recipients) This can be determined by examining. Finally, spammers try to estimate which feature score will result in such a classification.

このタイプのスパマーの挙動を抑える1つの手法は、メッセージに関連付けられている実際の得点にノイズを有効に加えるための何らかのわずかな方法でメッセージに関連付けられている様々な得点のうちの少なくとも1つを修正することを含む。スコアの修正は、一部には、合計得点または最終得点またはその両方を無作為化することによって達成することができる。例えば一般のスパムフィルタでは、メッセージの最終得点をある(確率)閾値と比較して、そのメッセージがスパムであるか、非スパムよりスパム的であるかを決定することができる。したがって、それに乱数または疑似乱数を加えるまたは掛けることにより最終得点を修正することによって、ある閾値と比較したときに、以前は閾値内であったが、現時点では閾値を超えるように、最終得点値をあるわずかな量だけ有効に増減する。したがって、この時点で、総合得点のわずかな変更によりメッセージにスパムまたはスパム候補としてタグ付けすることができる。   One approach to reducing the behavior of this type of spammer is to at least one of the various scores associated with the message in some slight way to effectively add noise to the actual score associated with the message. Including modifying. Score correction can be achieved, in part, by randomizing the total score, the final score, or both. For example, in a typical spam filter, the final score of a message can be compared to a certain (probability) threshold to determine whether the message is spam or more spam than non-spam. Therefore, by modifying the final score by adding or multiplying it with a random or pseudo-random number, when compared to a threshold, the final score value was previously within the threshold but now exceeds the threshold. Effectively increase or decrease by a small amount. Thus, at this point, the message can be tagged as spam or spam candidates with a slight change in overall score.

あるいは、合計得点値は最終得点が閾値を超えるかどうかに影響を与えるため、それに対して同様の形式の修正を行うことができる。したがって、合計得点閾値または最終得点閾値に到達すると、メッセージは通り抜けられない可能性が大きい。さらに、スパムまたは非スパムの閾値付近のメッセージの得点にノイズを加えることによって、スパマーは、メッセージの現在の状況(スパム/非スパム、阻止/配信など)が何らかの無作為化の特徴によるものか、メッセージの内容の何らかの変更によるものかを決定するのが難しくなる。   Alternatively, the total score value affects whether the final score exceeds the threshold, so a similar type of modification can be made to it. Therefore, when the total score threshold or the final score threshold is reached, there is a high possibility that the message cannot be passed. In addition, by adding noise to the score of messages near spam or non-spam thresholds, spammers can determine whether the current status of the message (spam / non-spam, blocking / delivery, etc.) is due to some randomization characteristics, It becomes difficult to determine if it is due to some change in the content of the message.

次に図1を参照すると、本発明の一態様によるスパムフィルタの機能の不明瞭化を助けるスパムフィルタリングシステム100の概略ブロック図を示している。システム100は、スパムフィルタ110を含み、それによってメッセージ120を処理して、最終的にメッセージをスパム(またはスパム的)として分類するか、非スパム(または非スパム的)として分類するかを決定するメッセージの得点130が得られる。   Referring now to FIG. 1, a schematic block diagram of a spam filtering system 100 that helps obfuscate the functionality of a spam filter according to one aspect of the present invention is shown. The system 100 includes a spam filter 110 that processes the message 120 to ultimately determine whether to classify the message as spam (or spammy) or non-spam (or non-spammy). A message score 130 is obtained.

より具体的には、スパムフィルタ110は、フィルタスコアリング構成要素140およびそれに動作可能に結合されている無作為化構成要素150を含む。フィルタスコアリング構成要素140は、メッセージ120がスパムであるかどうかの確率を評価する機械学習システムを使用することができる。フィルタは、メッセージの特定の特徴を調べて、メッセージのその評価を提供することができる。例えば、任意の発信情報に関連する特徴、およびメッセージの特定の内容に関連する特徴(埋め込み画像、URL、スパムの単語および/または句の特性など)を抽出し、分析することができる。結果として得られた得点は、次いで少なくとも一部について無作為化構成要素150によって変更することができる。   More specifically, spam filter 110 includes a filter scoring component 140 and a randomization component 150 operably coupled thereto. The filter scoring component 140 can use a machine learning system that evaluates the probability of whether the message 120 is spam. The filter can examine a particular characteristic of the message and provide its evaluation of the message. For example, features associated with any outgoing information and features associated with specific content of the message (such as embedded images, URLs, spam word and / or phrase characteristics, etc.) can be extracted and analyzed. The resulting score can then be changed by the randomization component 150 at least in part.

無作為化構成要素150は、1つまたは複数の入力構成要素170(例えば入力構成要素172、入力構成要素174から入力構成要素176まで。この場合Nは1以上の整数)から入力を受信して、結果として得られた得点の値(例えばシグモイド関数が使用されている場合は合計得点および/または最終得点)の小さいまたはわずかな増減を引き起こすことができる乱数ジェネレータ160を含む。 Randomization component 150 takes input from one or more input components 170 (eg, input component 1 172, input component 2 174 to input component N 176, where N is an integer greater than or equal to 1). It includes a random number generator 160 that can receive and cause a small or slight increase or decrease in the resulting score value (eg, total score and / or final score if a sigmoid function is used).

入力構成要素170からの入力は、メッセージをスパムまたは非スパムとして分類する前の各得点へのある乱数または疑似乱数の加える形式とすることができる。このように、メッセージの得点が変更され、フィルタを通り抜けるメッセージを見つけたスパマーは、好ましい乱数により一時通り抜けるメッセージを見つけたにすぎない。例えば、特定のスパムメッセージに加えられた乱数が0.7であると想定する。この特定のメッセージの場合、0.7を加えることは、スパムメッセージの分類にわずかな影響しか与えない。したがって、メッセージは通り抜けることができる。次いでスパマーは、このメッセージを模して将来のスパムを作成することができる。しかし、それに加えられた乱数は常に変わり得るため、こうした将来のスパムメッセージは、スパマーには気づかれずに通り抜けられないことになる。さらに、スパマーは、前のメッセージは通り抜けたのに、最近のスパムメッセージはなぜ通り抜けられないのかを決定するのが難しい。   Input from the input component 170 may be in the form of a random or pseudo-random number added to each score before classifying the message as spam or non-spam. In this way, a spammer who has found a message that has passed through the filter with the message score changed has only found a message that will go through temporarily with a preferred random number. For example, assume that the random number added to a particular spam message is 0.7. For this particular message, adding 0.7 has a minor impact on the classification of spam messages. Thus, the message can go through. Spammers can then imitate this message to create future spam. However, since the random numbers added to it can always change, these future spam messages will not pass through without being noticed by spammers. Furthermore, it is difficult for a spammer to determine why a recent spam message cannot be passed while a previous message has passed.

一方、乱数が1であると想定する。この乱数は、特定のスパムメッセージに不利に働くほど大きい。言い換えれば、数字1をスパムメッセージの得点に加えることによって、メッセージの合計得点または総合得点は、この時点である閾値を超える可能性がある。その結果、メッセージはスパムとして分類され、フィルタを通り抜けることができない。したがって乱数または疑似乱数を加えることによって、フィルタのリバースエンジニアリングが困難になる。というのは、メッセージの得点、またはメッセージがスパムとして分類されるかどうかは、メッセージへの軽微な修正と同時に変わるかもしれないし、変わらないかもしれないからである。したがって、送信者にとっては、メッセージが今回通り抜けたのは、メッセージへのマイナーな修正によるものか、好ましい乱数によるものかを断定できないままである。   On the other hand, it is assumed that the random number is 1. This random number is large enough to work against certain spam messages. In other words, by adding the number 1 to the spam message score, the total or total score of the message may exceed a certain threshold at this point. As a result, the message is classified as spam and cannot pass through the filter. Therefore, reverse engineering of the filter becomes difficult by adding random numbers or pseudo-random numbers. This is because the score of a message, or whether a message is classified as spam, may or may not change with minor modifications to the message. Therefore, it remains impossible for the sender to determine whether the message has passed this time due to a minor modification to the message or a preferred random number.

別の形式の入力は、時間の使用を含み得る。例えば、日にちまたは時間に応じて決まる乱数を計算することによって、スパマーは、フィルタのリバースエンジニアリングのために長期間にわたって分類を行う必要がある。場合によっては、毎日など定期的に自動でフィルタを更新することができるため、例えば4時間ごとに変わる無作為化構成要素150を含むフィルタ自体は、スパマーがフィルタへのリバースエンジニアリングを行う前に変わり得る。つまり、例えば5分、10分、1時間、および/または4時間の増分など、様々な時間増分で異なる乱数を使用するように乱数ジェネレータ160をプログラムすることができる。   Another form of input may include the use of time. For example, by calculating a random number that depends on the date or time, a spammer needs to perform a long-term classification for reverse engineering of the filter. In some cases, the filter can be updated automatically on a regular basis, such as daily, so the filter itself, including the randomized component 150, which changes every four hours, changes before the spammers reverse engineer the filter. obtain. That is, the random number generator 160 can be programmed to use different random numbers at various time increments, eg, 5 minutes, 10 minutes, 1 hour, and / or 4 hour increments.

さらにスパマーは、メッセージが最初の時間増分で現在通り抜けつつあることを見つけることがある。その直後、スパマーは、そのメッセージの2、3のコピーを送出して、さらにフィルタを「テスト」することができる。これらのメッセージが通り抜けたことがわかると、スパマーは、次いでそのメッセージを何百万も送信する。しかし、それを行うまでに、無作為化構成要素160は、別の入力構成要素170まで、したがって別の時間増分(例えば第2の時間増分)まで移動している。したがって、第2の時間増分で異なる乱数が加えられ、それによってスパムの境界付近のメッセージ、あるいはそれどころか前の乱数によりいったん非スパムとして分類されたメッセージに悪影響を及ぼす。その結果、ほんのわずかな割合のメッセージがフィルタの通り抜けに成功したスパマーは、メッセージへのわずかな変更によってメッセージがフィルタを通り抜けたのか、乱数が変わったのかを容易に決定することができない。   In addition, spammers may find that messages are currently passing through in the first time increment. Immediately thereafter, the spammer can send out a few copies of the message to further “test” the filter. When it is found that these messages have passed, the spammer then sends millions of the messages. However, by doing so, the randomization component 160 has moved to another input component 170 and thus to another time increment (eg, a second time increment). Therefore, a different random number is added at the second time increment, thereby adversely affecting messages near the spam boundary, or even messages that were once classified as non-spam by the previous random number. As a result, spammers who have successfully passed through a filter with only a small percentage of messages cannot easily determine whether the message has passed through the filter or the random number has changed due to a small change to the message.

無作為化構成要素150によって生成された乱数に影響を与え得るさらに別のタイプの入力は、メッセージを受信するユーザおよび/またはドメイン、および/またはスパムフィルタが稼働しているドメインを含む。特に、生成される乱数は、少なくとも一部について、メッセージの受信者に応じて決まり得る。例えばスパマーのテストユーザは、その電子メールアドレス、その表示名、および/またはそのドメインなど、その識別情報の少なくとも一部によって認識することができる。したがって、スパマーのテストユーザのために生成された乱数は、スパムメッセージがほぼいつでもテストユーザに到達できるほど低い可能性がある。   Yet another type of input that can affect the random number generated by the randomization component 150 includes the user and / or domain receiving the message, and / or the domain where the spam filter is running. In particular, the generated random number may depend at least in part on the recipient of the message. For example, a spammer test user can be recognized by at least a portion of its identification information, such as its email address, its display name, and / or its domain. Thus, the random number generated for a spammer test user may be so low that spam messages can reach the test user almost anytime.

これに対して、メッセージを受信するように指定された他のドメイン名および/または他のユーザは、生成された乱数を、スパマーのメッセージが通り抜けられないほど高くすることができる。したがってスパマーは、テストユーザには届き、しかし他のユーザには届かないメッセージを見つけ得る。スパマーは、テストユーザのみがそのスパムを受信していることに気づいていない場合、だまされて、テストユーザのみに届くメッセージを模して将来のスパムメッセージを作成する。その結果、テストユーザ以外の他のユーザに送信されるスパムの量は低減する。しかし、生成された乱数が少なくとも一部についてメッセージの受信者のある側面に応じて決まるようにすることによって、スパマーがスパムフィルタをテストするのにより負担がかかるようになる。   In contrast, other domain names and / or other users who are designated to receive messages can make the generated random number so high that the spammer's message cannot pass through. Spammers can therefore find messages that reach the test user but not the other users. If the spammer is unaware that only the test user is receiving the spam, the spammer will be tricked into creating a future spam message that mimics the message that only reaches the test user. As a result, the amount of spam sent to other users other than the test user is reduced. However, by making the generated random number at least partially dependent on certain aspects of the message recipient, it becomes more burdensome for spammers to test spam filters.

あるいは、またはそれに加えて、入力は、少なくとも一部メッセージの内容を基にすることができる。これは、スパマーがスパムフィルタの内部の仕組みをリバースエンジニアリングするのを抑えるのに有用となり得る。より具体的には、乱数は、メッセージの内容に基づいて計算される。つまり、メッセージの内容のハッシュが得られる。ハッシュ法とは、文字列を元の文字列を表す通常のより短い固定長値またはキーに変換することである。この例では、メッセージごとに計算されたハッシュ値が乱数である。   Alternatively, or in addition, the input can be based at least in part on the content of the message. This can be useful to prevent spammers from reverse engineering the internal mechanism of the spam filter. More specifically, the random number is calculated based on the content of the message. That is, a hash of the message content is obtained. The hash method is to convert a character string into a normal shorter fixed length value or key representing the original character string. In this example, the hash value calculated for each message is a random number.

スパマーは、スパムフィルタを回避するために、しばしばメッセージの内容をわずかに修正しようと試みる。したがって、スパマーがメッセージをリバースエンジニアリングしようとすると、メッセージの内容の少しの変更によって、メッセージの得点が相対的に大きく変わる可能性がある。例えば、メッセージ「X」がスパムとして分類されることを想定する。スパマーは、メッセージを有効によりスパム的にする「FREE!!!」などの単語を追加する。しかし、本発明による無作為化の態様のため、スパマーは、メッセージは現時点で非スパムに分類されると確信する。残念ながらスパマーは、「FREE!!!」という単語ではメッセージはそれほどスパム的にはならないと誤って判断するが、実際にはその逆が真である。   Spammers often try to modify the message content slightly to avoid spam filtering. Thus, if a spammer attempts to reverse engineer a message, a small change in the message content can cause the message score to change relatively significantly. For example, assume that message “X” is classified as spam. Spammers add words such as “FREE !!!” to make the message more spammy. However, because of the randomization aspect of the present invention, spammers believe that messages are currently classified as non-spam. Unfortunately, spammers mistakenly determine that the message “FREE !!!” does not make the message so spammy, but in fact the opposite is true.

メッセージの内容に基づく無作為化を考慮して、メッセージの潜在的に不利な扱いに対抗するために、スパマーは、例えば「the」や「on」など、メッセージに影響を与えそうにないと確信する任意の単語を追加しようと試みる。その結果、スパマーは、これらの単語のみを変更した後多くのメッセージを分類し、次いで平均を計算してメッセージに対するどのタイプの修正によってフィルタの通り抜けに最も成功するかを決定することができる。   Considering randomization based on message content, spammers are convinced that they are unlikely to affect the message, for example, “the” or “on” to combat the potentially detrimental treatment of the message. Try to add any word you want. As a result, spammers can classify many messages after changing only these words and then calculate the average to determine which type of modification to the message will most successfully pass through the filter.

こうしたスパマーの挙動を見越して、本質的にメッセージの得点に寄与する特徴のハッシュを計算することができる。より具体的には、特徴をメッセージから抽出できることを想起されたい。抽出された多くの特徴から、その寄与が所与の閾値(例えば閾値0.01)を超える特徴を選択することができる。次いで選択された特徴のハッシュを計算し、そのハッシュを乱数ジェネレータ160への入力として使用することができる。スパマーは、メッセージのどの特徴がメッセージの得点に最も寄与しているかを見つけるのが比較的難しいため、このタイプのスパムフィルタの機能のリバースエンジニアリングは非常に難しい。   In anticipation of such spammer behavior, a hash of features that essentially contribute to the score of the message can be computed. More specifically, recall that features can be extracted from messages. From the many extracted features, features whose contribution exceeds a given threshold (eg, threshold 0.01) can be selected. A hash of the selected feature can then be calculated and used as an input to the random number generator 160. Spammers are relatively difficult to reverse engineer the functionality of this type of spam filter, as it is relatively difficult to find which characteristics of a message contribute most to the score of the message.

あるいは、またはそれに加えて、送信者が主張したIPアドレスのハッシュを計算して、そのメッセージのためにどの乱数が生成されるかを決定することができる。したがって、この場合もまた、スパマーは、メッセージのどの特徴を使用してハッシュを決定し、次いでどの乱数がハッシュに対応しているかを決定することは特に難しい。   Alternatively or in addition, a hash of the IP address claimed by the sender can be calculated to determine which random number is generated for the message. Thus, again, it is particularly difficult for a spammer to determine which characteristic of the message is used to determine the hash and then which random number corresponds to the hash.

無作為化構成要素150が特定のメッセージのための乱数を出力すると、乱数を、例えばフィルタスコアリング構成要素140が評価した得点または重みに加えることができる。最終的に、メッセージの合計得点または最終得点130を取得して、メッセージのスパムまたは非スパムの分類を容易に行うことができる。   When the randomization component 150 outputs a random number for a particular message, the random number can be added to the score or weight evaluated by the filter scoring component 140, for example. Finally, the total score or final score 130 of the message can be obtained to easily classify the message as spam or non-spam.

スパムフィルタの機能を不明瞭にするために、メッセージ得点に加えられる確率関数を有するのではなく、複数のスパムフィルタを複数のドメインにわたって、かつ/または複数のユーザのために配置することができる。特に、ユーザは、1つまたは複数のスパムフィルタを無作為に、または作為的に選択して、メッセージの分類に使用することができる。フィルタ自体は、異なるタイプのスパムフィルタとしてもよく、かつ/または異なる組のトレーニングデータを使用してトレーニングすることもできる。したがってスパマーは、そのスパムメッセージの特定の受信者によってどのフィルタが使用されるかを解読するのがほぼ間違いなく非常に難しくなる。さらに、一度に複数のフィルタをメッセージの分類に関与させることができ、それによってほぼ毎回フィルタを通り抜けるメッセージを見つけることがほぼ不可能になる。   Rather than having a probability function added to the message score to obscure the functionality of the spam filter, multiple spam filters can be deployed across multiple domains and / or for multiple users. In particular, the user can randomly or intentionally select one or more spam filters to use for message classification. The filter itself may be a different type of spam filter and / or may be trained using a different set of training data. Thus, it is almost certainly very difficult for a spammer to decipher which filter is used by a particular recipient of the spam message. In addition, multiple filters can be involved in message classification at a time, making it almost impossible to find messages that pass through the filter almost every time.

図2は、本発明の一態様によるマルチフィルタスパムフィルタリングシステム(multi−filter spam filtering system)200の例を示すブロック図である。システム200は、複数のユーザ210を含む(例えばユーザ212、ユーザ214、および/またはユーザ216まで。この場合Yは1以上の整数)。ユーザ210は一般に、スパムメッセージを含む任意の着信メッセージの受信者である。システム200は、複数のスパムフィルタ220(例えばスパムフィルタ222、スパムフィルタ224、および/またはスパムフィルタ226まで。この場合Wは1以上の整数である)も含む。 FIG. 2 is a block diagram illustrating an example of a multi-filter spam filtering system 200 according to an aspect of the present invention. System 200 includes a plurality of users 210 (e.g., up to user 1 212, user 2 214, and / or user Y 216, where Y is an integer greater than or equal to 1). User 210 is generally the recipient of any incoming message, including spam messages. The system 200 also includes a plurality of spam filters 220 (eg, up to spam filter 1 222, spam filter 2 224, and / or spam filter W 226, where W is an integer greater than or equal to 1).

各スパムフィルタ220は、少なくとも一部、異なる組のトレーニングデータに基づいてトレーニングすることができる。より具体的には、第1のフィルタ222は、第1のサブセットのトレーニングデータを使用して機械学習システムを介してトレーニングすることができる。同様に第2のフィルタ224は、同じように第2のサブセットのトレーニングデータを使用してトレーニングすることができる。第2のサブセットのトレーニングデータは、第1のサブセットのデータと部分的に重なっていても、重なっていなくてもよい。例えば、第1のフィルタ222は一般的な用語を含み、第2のフィルタ224はまれな単語を含む。両方のフィルタの使用は、フィルタがメッセージをスパムまたは非スパムと分類する前に異なる基準またはメッセージ内の特徴または内容を検査することを意味する。   Each spam filter 220 can be trained based at least in part on a different set of training data. More specifically, the first filter 222 can be trained via a machine learning system using the first subset of training data. Similarly, the second filter 224 can be similarly trained using the second subset of training data. The training data of the second subset may or may not overlap with the data of the first subset. For example, the first filter 222 includes common terms and the second filter 224 includes rare words. The use of both filters means that the filter examines different criteria or features or content in the message before classifying the message as spam or non-spam.

同じように、ユーザの要望通りに、あるデータを1つまたは複数のフィルタ210のトレーニングから除外することができる。除外されたデータは、乱数ジェネレータに従って除外することができる。さらに、抽出され、トレーニングデータの作成に使用されたメッセージのいくつかの特徴に、特定の値を割り当てることができる。したがって、スパムフィルタ220をユーザ専用または個人専用にして、一部にはユーザの選好および指示に応じて様々な度合いまでカスタマイズすることができる。   Similarly, certain data can be excluded from training one or more filters 210 as desired by the user. Excluded data can be excluded according to a random number generator. In addition, certain values can be assigned to some characteristics of the messages that are extracted and used to create the training data. Thus, the spam filter 220 can be dedicated to the user or private and can be customized to various degrees depending in part on the user's preferences and instructions.

その後、複数のユーザ210および複数のスパムフィルタ220に動作可能に結合されたフィルタ選択構成要素230は、少なくとも一部において特定のユーザおよび/またはユーザの選択に基づいて1つまたは複数のフィルタ220を選択するために、ユーザ210と通信することができる。あるいは、フィルタ選択は無作為とする、または少なくとも一部についてメッセージの内容のハッシュまたはメッセージのサイズに基づいていてもよい。   Thereafter, a filter selection component 230 operatively coupled to the plurality of users 210 and the plurality of spam filters 220 may at least partially select one or more filters 220 based on a particular user and / or user selection. Communication with the user 210 can be made to select. Alternatively, the filter selection may be random or based at least in part on a hash of message content or message size.

図に示すように、フィルタ選択は、一部には時間入力構成要素240から受信した入力を基にすることもできる。つまり、異なるフィルタをその日の異なる時刻に動作可能とすることができる。例えば、メッセージが午後2時に送信された場合、複数のフィルタ220を使用することができる。しかし、メッセージが午前3時に送信されると、例えば第1、第2、第4および第6のフィルタなど、フィルタ220のサブセットのみが使用可能である。あるいは、時刻に応じてフィルタを選択して単一のフィルタのみを使用する。   As shown, the filter selection may be based in part on input received from the time input component 240. That is, different filters can be activated at different times of the day. For example, if the message is sent at 2 PM, multiple filters 220 can be used. However, if the message is sent at 3 am, only a subset of the filters 220 can be used, for example the first, second, fourth and sixth filters. Alternatively, a filter is selected according to time and only a single filter is used.

上記に加えて、ユーザ210を、クラスタ化構成要素250によって、いくつかの同様の質または特性あるいはタイプに基づいてサブグループにクラスタ化することができる。同様に、トレーニングデータを同じようにクラスタ化し、それによって少なくとも1つのデータのクラスタまたはタイプに対してトレーニングされたフィルタが得られる。したがってフィルタ選択構成要素230は、ユーザの特定のクラスタに対応して1つまたは複数のスパムフィルタ220を選択することができる。本明細書に記載したような無作為または作為的なやり方で複数のフィルタを使用することは、最適な単一のスパムフィルタに依存する代わりに、一般にスパムフィルタリングにとってより有利となり得る。あるメッセージが今回は通り抜けても、異なるフィルタが無作為または作為的に選択されると、次回同一または類似のメッセージが必ずしも通り抜けるとは限らないため、リバースエンジニアリング、スパムフィルタパフォーマンスの予測、および毎回通り抜ける単一メッセージの発見は、スパマーにとってはより難しくなる。しかし、メッセージが毎回または次回送信されるときになぜ通り抜けられないかを決定することは、スパマーにとって、不可能とはいえないまでもかなり難しい。フィルタの内部の仕組みを容易にリバースエンジニアリングし、かつ/または予測することができないからである。さらに、スパムの境界付近の少量のメッセージは通り抜けるかもしれないが、ほぼ「スパム」メッセージの大部分の配信は、スパムフィルタリングプロセスを不明瞭にすることによって、有効に阻止することができる。   In addition to the above, users 210 can be clustered into subgroups by clustering component 250 based on several similar qualities or characteristics or types. Similarly, the training data is clustered in the same way, resulting in a trained filter for at least one cluster or type of data. Accordingly, the filter selection component 230 can select one or more spam filters 220 corresponding to a particular cluster of users. Using multiple filters in a random or artificial manner as described herein may generally be more advantageous for spam filtering instead of relying on an optimal single spam filter. Even if a message passes this time, the next time the same or similar message is not necessarily passed if a different filter is randomly or randomly selected, reverse engineering, spam filter performance prediction, and every pass Finding a single message is more difficult for spammers. However, it is quite difficult if not impossible for a spammer to determine why a message cannot be passed every time or next time it is sent. This is because the internal mechanism of the filter cannot be easily reverse engineered and / or predicted. In addition, while a small amount of messages near the spam boundary may pass through, the delivery of the majority of “spam” messages can be effectively prevented by obfuscating the spam filtering process.

次に、図3〜8に示すように、一連の動作を介して発明主題による様々な方法について説明する。本発明は、動作の順序によって限定されるものではなく、本発明による一部の動作は、本明細書に示し、説明したものと異なる順序で、かつ/または他の動作と同時に行うことができることを理解されたい。例えば、代わりに方法を状態図など相互に関係する一連の状態またはイベントとして表すことができることを当分野の技術者であれば理解されよう。さらに、本発明による方法を実施するのに示したすべての動作が必要であるとは限らない。   Next, as shown in FIGS. 3 to 8, various methods according to the inventive subject matter will be described through a series of operations. The present invention is not limited by the order of operations, and some operations according to the present invention may be performed in a different order and / or concurrently with other operations than shown and described herein. I want you to understand. For example, those skilled in the art will appreciate that a method can alternatively be represented as a series of interrelated states or events, such as a state diagram. Moreover, not all actions shown for carrying out the method according to the invention may be necessary.

次に図3を参照すると、本発明の一態様によるスパムフィルタで生成されたメッセージの得点の無作為化を行うプロセス300の例のフロー図を示している。プロセス300は、310で開始し、メッセージをスパムフィルタに通す。320で、スパムフィルタは、得点をメッセージに割り当てる。得点は、1つまたは複数のメッセージの特徴を抽出し、それによって各特徴がそれに関連する重みを有するようになるものなど、一般のスパムフィルタリングシステムおよび方法を基にすることができる。重みの合計が計算され、メッセージの得点が得られる。しかし、メッセージがスパムまたは非スパムとして分類される前に、330で乱数または疑似乱数を得点に加え、スパムフィルタリングプロセスのリバースエンジニアリングを抑えることができる。   Turning now to FIG. 3, a flow diagram of an example process 300 for randomizing the score of a message generated with a spam filter in accordance with an aspect of the present invention is shown. Process 300 begins at 310 and passes the message through a spam filter. At 320, the spam filter assigns a score to the message. The score can be based on common spam filtering systems and methods, such as extracting one or more message features, such that each feature has a weight associated with it. The sum of the weights is calculated and a message score is obtained. However, before the message is classified as spam or non-spam, a random or pseudo-random score can be scored at 330 to reduce reverse engineering of the spam filtering process.

340でメッセージの最終得点を取得し、その後350でメッセージをスパムまたは非スパムとして分類する。スパムフィルタによって与えられた元の得点に加えられた乱数または疑似乱数は、ノイズを元の得点に有効に加え、スパマーがスパムフィルタのリバースエンジニアリングを行う、かつ/またはスパムフィルタを常に通り抜けることができるメッセージを発見するのを抑えるようにする。いずれの場合も、スパマーは、スパムフィルタがどのように動作するかを知っている場合、またはスパムフィルタの応答を予測できる場合、実質的に毎回スパムフィルタを通り抜けるメッセージを容易に作成できることになる。しかし、無作為化構成要素をスパムフィルタに組み込むことによって、スパマーは、メッセージへの外見上軽微な変更、またはフィルタの何らかの特徴のいずれかによってメッセージが「スパム」状態から「非スパム」状態(またはその逆)に変わったかを定義することは難しくなり、それによってスパムフィルタのリバースエンジニアリングがほぼ不可能になる。   At 340, the final score of the message is obtained, and then at 350, the message is classified as spam or non-spam. A random or pseudo-random number added to the original score given by the spam filter can effectively add noise to the original score, allowing spammers to reverse engineer the spam filter and / or always pass through the spam filter. Try to suppress the discovery of messages. In any case, if a spammer knows how the spam filter works or can predict the response of the spam filter, it will be able to easily create a message that passes through the spam filter virtually every time. However, by incorporating a randomization component into the spam filter, spammers can change the message from a “spam” state to a “non-spam” state (or either due to an apparent minor change to the message, or some characteristic of the filter) It is difficult to define what has changed), which makes it almost impossible to reverse engineer spam filters.

乱数または任意の要因によって、スパムの境界付近のメッセージに影響を与えるのにちょうど十分なほどメッセージの得点が変わる。つまり、この無作為化手法によって、スパムメッセージと非スパムメッセージの間のラインに沿ったメッセージが最も影響を受ける。明らかにスパムである(得点または確率が非常に高い)または明らかに非スパムである(得点または確率が非常に低い)他のメッセージは、実質的に得点の無作為化によって影響を受けない。さらに、毎回メッセージの得点に加えられる純然たる乱数は、本発明ほど有効ではない。スパマーは最終的に、そのメッセージがフィルタを通り抜ける確率または平均確率を突きとめることができ、したがって、フィルタのリバースエンジニアリング、または常にフィルタを通り抜けるメッセージの発見、および/またはその両方を行うことができるからである。   Random numbers or arbitrary factors change the message score just enough to affect messages near the spam boundary. In other words, this randomization technique most affects messages along the line between spam and non-spam messages. Other messages that are clearly spam (very high score or probability) or obviously non-spam (very low score or probability) are not substantially affected by randomization of the score. Furthermore, the pure random number added to the message score every time is not as effective as the present invention. Spammers can ultimately determine the probability or average probability that the message will pass through the filter, and thus can reverse engineer the filter, or always find the message that passes through the filter, and / or both. It is.

得点の無作為化は、図4を参照する図3の360に示した1つまたは複数の入力のタイプに応じて決まり得る。図4には、どの乱数を使用するかを決定するプロセス400の例のフロー図を示している。410で、プロセス400は、乱数がそれに応じて決まる入力のタイプ、時間420、ユーザ430、および/またはメッセージの内容440のうちの少なくとも1つを選択することを含む。   The randomization of scores may depend on the type of input or inputs shown at 360 in FIG. 3 with reference to FIG. FIG. 4 shows a flow diagram of an example process 400 for determining which random number to use. At 410, the process 400 includes selecting at least one of an input type, time 420, user 430, and / or message content 440 for which the random number is determined accordingly.

時間420は、時間増分または時刻を指す。より具体的には、使用する乱数は、例えば5分、10分、30分、2時間など使用する時間増分、または時刻に応じて変わり得る。例えば、乱数の値は、真夜中に変わり、次いで再度午前5時、午前7時半、午前11時、午後4時13分などに変わる。   Time 420 refers to a time increment or time. More specifically, the random number used may vary depending on the time increment used, such as 5 minutes, 10 minutes, 30 minutes, 2 hours, or the time. For example, the value of the random number changes at midnight, and then changes again at 5 am, 7:30 am, 11:00 am, 4:13 pm, and the like.

ユーザ430の識別(表示名、電子メールアドレスなど)および/またはユーザのドメインおよび/またはメッセージを送受信するドメインを使用してどの乱数を使用するかに影響を与えることもできる。この方策が実施されると、スパマーは、スパムフィルタをテストしてどのメッセージがどのユーザに届くかを決定するのがより難しくなる。最後に、メッセージの内容440または少なくともその一部分は、どの乱数が元の(基本)得点に加えられるかを決定することができる。   It may also affect which random number to use using the identity of the user 430 (display name, email address, etc.) and / or the domain of the user and / or the domain that sends and receives messages. Once this strategy is implemented, it becomes more difficult for spammers to test spam filters to determine which messages reach which users. Finally, message content 440 or at least a portion thereof can determine which random numbers are added to the original (basic) score.

次に図5を参照すると、本発明に従ってメッセージの内容を使用してメッセージの基本得点に加えられる乱数を決定するプロセス500の例のフロー図を示している。特に、プロセス500は、510でメッセージの少なくとも一部のハッシュを計算することによって開始する。例えば、乱数は、メッセージの本文に基づいて計算することができる。したがって、このメッセージと同一の別のメッセージが現れると、それには同じ乱数またはハッシュ値が割り当てられる。しかし、メッセージ本文へのわずかな変更によって、メッセージの得点に大幅な変更を与えることができる。例えば、スパマーは、スパムメッセージがそれほどスパム的に見えないようにするために、外見上無意味な単語をメッセージに追加する、またはそこから削除するように試みる。スパムメッセージの比率が比較的小さい場合、これは真となり得る。しかし、どのタイプの単語が乱数および/またはメッセージの総合得点を増減させるかはわからないため、スパムメッセージの大部分については、そのスパムは配信が阻止される。   Referring now to FIG. 5, there is shown a flow diagram of an example process 500 for determining a random number to be added to the basic score of a message using the message content according to the present invention. In particular, the process 500 begins at 510 by calculating a hash of at least a portion of the message. For example, the random number can be calculated based on the body of the message. Therefore, when another message identical to this message appears, it is assigned the same random number or hash value. However, minor changes to the message body can make a significant change to the message score. For example, spammers attempt to add or remove seemingly meaningless words from a message in order to make the spam message less visible. This can be true if the spam message ratio is relatively small. However, since it is not known which type of word will increase or decrease the random number and / or the overall score of the message, for the majority of spam messages, the spam will be blocked from delivery.

メッセージの内容のハッシュに代わる方法は、実質的にメッセージの得点に寄与するメッセージから抽出されたいくつかの特徴のハッシュを計算することである。実質的にメッセージの得点に寄与する特徴は、無作為または作為的に変更することもできる。このようにスパマーは、平均がわからず、大量のメッセージを通して平均を見つけ、したがってメッセージのどんな特徴がハッシュされても通り抜けるメッセージを見つけることができない。さらに、ハッシュは送信者のIPアドレス上で計算される。したがってメッセージの分類は、少なくとも一部において送信者の発信情報に直接依存することができる。   An alternative to hashing message content is to compute a hash of several features extracted from the message that contribute substantially to the score of the message. Features that contribute substantially to the scoring of the message can be changed randomly or randomly. In this way, spammers do not know the average, find the average through a large number of messages, and therefore cannot find a message that passes through whatever message characteristics are hashed. In addition, the hash is calculated on the sender's IP address. Thus, the classification of messages can depend directly on the sender's outgoing information, at least in part.

520で、無作為化に関係なくスパムフィルタによって前もって決定された元の得点または基本得点に乱数が加えられる。次いで530でメッセージの合計得点が取得され、次いで540でメッセージをスパムまたは非スパムと分類することができる。   At 520, a random number is added to the original or base score previously determined by the spam filter regardless of randomization. The total score for the message is then obtained at 530 and then at 540 the message can be classified as spam or non-spam.

本明細書の図3〜5で上述した無作為化手法は、スパマーによるスパムフィルタのリバースエンジニアリングを妨げ、かつ/またはスパムフィルタパフォーマンスのモデリングを妨げるために使用する1つの戦略にすぎない。別の戦略は、複数のユーザおよび/またはドメインにわたって複数のフィルタを配置することを含む。最初に、何らかの方法で重複していてもしていなくてもよいトレーニングデータの様々なサブセットを使用して、複数のフィルタを個々にトレーニングすることができる。複数のフィルタを使用してメッセージを検査し、分析することによって、フィルタリングシステムは、メッセージの特定の1つの側面に焦点を当てるだけではなく、本質的に同時にメッセージ内の異なる基準を調べるようになる。したがって、複数のフィルタを使用すると、メッセージのより正確な分類の提供、およびフィルタリングシステムのリバースエンジニアリングの軽減が促進される。というのは、どのフィルタを使用したか、およびメッセージのどの側面が分類に考慮されたかを決定するのが困難となるからである。   The randomization approach described above in FIGS. 3-5 herein is just one strategy used to prevent spammers from reverse engineering spam filters and / or to model spam filter performance. Another strategy involves placing multiple filters across multiple users and / or domains. Initially, multiple filters can be individually trained using various subsets of training data that may or may not overlap in some way. By inspecting and analyzing the message using multiple filters, the filtering system will not only focus on one particular aspect of the message but also examine different criteria within the message at essentially the same time. . Thus, the use of multiple filters facilitates providing a more accurate classification of messages and mitigating reverse engineering of the filtering system. This is because it is difficult to determine which filter was used and which aspects of the message were considered for classification.

図6は、ユーザタイプのクラスタに基づいてカスタマイズされた方式で複数のスパムフィルタをトレーニングし、使用するプロセス600の例のフロー図を示している。プロセス600は、610で、例えばユーザタイプに従って1つまたは複数のグループにユーザをクラスタ化することによって開始することができる。620で、トレーニングデータを同様のやり方でクラスタ化して、ユーザタイプのクラスタに対応させることができる。630で、複数のフィルタをトレーニングデータのクラスタごとに個々にトレーニングすることができる。次いで640で複数のフィルタを使用する準備ができており、それによってユーザタイプの特定のクラスタに対応するフィルタを使用して、そのクラスタのメッセージを分類することができる。これをさらに説明するために、フィルタRをクラスタRトレーニングデータでトレーニングすると想定する。クラスタユーザタイプR内のユーザは、次いでフィルタRを使用してメッセージを分類することができる。トレーニングデータは、ユーザがクラスタ化されたのと同様のやり方でクラスタ化されることを理解されたい。   FIG. 6 shows a flow diagram of an example process 600 for training and using multiple spam filters in a customized manner based on user type clusters. Process 600 may begin at 610 by clustering users into one or more groups, eg, according to user type. At 620, the training data can be clustered in a similar manner to correspond to user type clusters. At 630, multiple filters can be individually trained for each cluster of training data. The plurality of filters are then ready for use at 640, whereby the messages corresponding to a particular cluster of user types can be used to classify the messages in that cluster. To further illustrate this, assume that filter R is trained with cluster R training data. Users in cluster user type R can then use the filter R to classify messages. It should be understood that the training data is clustered in the same way that users are clustered.

あるいは、図7のプロセス700の例に示すように、710でトレーニングデータの様々なサブセットを使用して複数のフィルタをトレーニングすることができる。任意選択で、720で、1つまたは複数の特徴または関連のデータを、トレーニングデータの1つまたは複数のサブセットから抽出することができる。図示していないが、メッセージから抽出したいくつかの特徴に、強制的にいくつかの値または重みを持たせるようにすることができる。730で、1つまたは複数のスパムフィルタは、トレーニングデータのそれぞれのサブセットを使用してトレーニングされ、その後、740でそれを使用してメッセージを処理する。本明細書で上述したように、750で、メッセージをスパムまたは非スパムとして分類することができる。図示していないが、時間もどのスパムフィルタを使用してメッセージを分類するかを決定する1つの要因とすることができる。言い換えれば、特定のフィルタは、その日のいくつかの時間帯のみ使用可能とすることができる。したがって、フィルタ選択は、一部にはメッセージの受信ユーザ、および/または時刻に基づいて無作為、または作為的に行うことができる。   Alternatively, as shown in the example process 700 of FIG. 7, multiple filters can be trained at 710 using various subsets of training data. Optionally, at 720, one or more features or related data can be extracted from one or more subsets of training data. Although not shown, some features extracted from the message can be forced to have some value or weight. At 730, the one or more spam filters are trained using the respective subset of training data, and then use it at 740 to process the message. As described above herein, at 750, the message can be classified as spam or non-spam. Although not shown, time can also be a factor in determining which spam filter to use to classify messages. In other words, a particular filter may only be available for some time periods of the day. Thus, the filter selection can be made randomly or randomly based in part on the user receiving the message and / or the time of day.

本発明の様々な態様に関する状況をさらに提供するために、図8および以下の説明は、本発明の様々な態様の実施に適した動作環境810の概略説明を提供するものである。本発明は、1つまたは複数のコンピュータまたは他の装置が実行するプログラムモジュールなどのコンピュータ実行可能命令の一般的な文脈で説明しているが、本発明を他のプログラムモジュールとの組合せで実施する、かつ/またはハードウェアおよびソフトウェアの組合せとして実施することもできることを当分野の技術者であれば理解されよう。   To further provide context for various aspects of the present invention, FIG. 8 and the following description provide a general description of an operating environment 810 suitable for implementing various aspects of the present invention. Although the invention has been described in the general context of computer-executable instructions, such as program modules, executed by one or more computers or other devices, the invention is implemented in combination with other program modules. Those skilled in the art will appreciate that, and / or can be implemented as a combination of hardware and software.

しかし、一般にプログラムモジュールは、特定のタスクを実行する、または特定のデータ型を実装するルーチン、プログラム、オブジェクト、構成要素、データ構造などを含む。動作環境810は、適した動作環境の一例にすぎず、本発明の使用または機能の範囲に関する限定を示唆するものではない。本発明とともに使用するのに適したよく知られている他のコンピュータシステム、環境、および/または構成の例には、それだけには限定されないが、パーソナルコンピュータ、ハンドヘルドまたはラップトップ装置、マルチプロセッサシステム、マイクロプロセッサベースのシステム、プログラム可能家庭用電化製品、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、上記のシステムまたは装置を含む分散コンピューティング環境などがある。   Generally, however, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular data types. The operating environment 810 is only one example of a suitable operating environment and is not intended to suggest any limitation as to the scope of use or functionality of the invention. Examples of other well-known computer systems, environments, and / or configurations suitable for use with the present invention include, but are not limited to, personal computers, handheld or laptop devices, multiprocessor systems, micro-computers, Processor-based systems, programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed computing environments including the systems or devices described above, and the like.

図8を参照すると、本発明の様々な態様を実施する環境810の例はコンピュータ812を含む。コンピュータ812は、処理ユニット814、システムメモリ816、およびシステムバス818を含む。システムバス818は、それだけには限定されないが、システムメモリ816を含むシステム構成要素を処理ユニット814に結合する。処理ユニット814は、使用可能な様々なプロセッサのうちのどんなものでもよい。デュアルマイクロプロセッサおよび他のマルチプロセッサアーキテクチャを処理ユニット814として使用することもできる。   With reference to FIG. 8, an example environment 810 for implementing various aspects of the invention includes a computer 812. Computer 812 includes a processing unit 814, system memory 816, and system bus 818. System bus 818 couples system components including, but not limited to, system memory 816 to processing unit 814. The processing unit 814 may be any of various available processors. Dual microprocessors and other multiprocessor architectures may also be used as the processing unit 814.

システムバス818は、使用可能な様々なバスアーキテクチャのうちの任意のものを使用するメモリバスまたはメモリコントローラ、周辺バスまたは外部バス、および/またはローカルバスを含むいくつかのタイプのバス構造のうちどんなものでもよい。こうしたアーキテクチャには、それだけには限定されないが、8ビットバス、業界標準アーキテクチャ(Industrial Standard Architecture:ISA)、MSA(Micro−Channel Archtecture)、拡張ISA(Extended ISA)、IDE(Integrated Drive Electronics)、VESAローカルバス(VLB)、PCI(Peripheral Component Interconnect)、USB(Universal Serial Bus)、AGP(Accelerated Graphics Port)、PCMCIA(Personal Computer Memory Card International Association)バス、およびSCSI(Small Computer System Interface)などがある。   The system bus 818 may be any of several types of bus structures including a memory bus or memory controller, a peripheral or external bus, and / or a local bus using any of the various bus architectures available. It may be a thing. Such architectures include, but are not limited to, 8-bit buses, Industrial Standard Architecture (ISA), MSA (Micro-Channel Architecture), Extended ISA (Extended Drive Local EDI), IDE (Integrated Drives Local EDI) Bus (VLB), PCI (Peripheral Component Interconnect), USB (Universal Serial Bus), AGP (Accelerated Graphics Port), PCMCIA (Personal Computer Memory Card) bus) and SCSI (Small Computer System Interface).

システムメモリ816は、揮発性メモリ820および不揮発性メモリ822を含む。基本入出力システム(BIOS)は、例えば起動中など、コンピュータ812内の要素間で情報を転送する基本ルーチンを含み、不揮発性メモリ822に格納されている。不揮発性メモリ822には、それだけには限定されないが一例として、読取り専用メモリ(ROM)、プログラマブルROM(PROM)、電気的プログラマブルROM(EPROM)、電気的消去可能ROM(EEPROM)、フラッシュメモリなどがある。揮発性メモリ820には、ランダムアクセスメモリ(RAM)などがあり、これは外部キャッシュメモリとして働く。RAMは、それだけには限定されないが一例として、シンクロナスRAM(SRAM)、ダイナミックRAM(DRAM)、シンクロナスDRAM(SDRAM)、ダブルデータレートSDRAM(DDR SDRAM)、拡張SDRAM(ESDRAM)、シンクリンクDRAM(SLDRAM)、およびDRDRAM(Direct Rambus DRAM)など多くの形態で使用可能である。   The system memory 816 includes volatile memory 820 and nonvolatile memory 822. The basic input / output system (BIOS) includes a basic routine for transferring information between elements in the computer 812, such as during startup, and is stored in the non-volatile memory 822. Non-volatile memory 822 includes, but is not limited to, read only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable ROM (EEPROM), flash memory, and the like. . Volatile memory 820 includes random access memory (RAM), which acts as external cache memory. Examples of RAM include, but are not limited to, synchronous RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), extended SDRAM (ESDRAM), and sync link DRAM ( It can be used in many forms such as SLDRAM) and DRDRAM (Direct Rambus DRAM).

コンピュータ812は、リムーバブル/非リムーバブル、揮発性/不揮発性コンピュータ記憶媒体も含む。図8は、例えばディスク記憶装置824を含む。ディスク記憶装置824には、それだけには限定されないが、磁気ディスクドライブ、フロッピー(登録商標)ディスクドライブ、テープドライブ、Jazドライブ、Zipドライブ、LS−100ドライブ、フラッシュメモリカード、メモリスティックなどの装置がある。さらに、ディスク記憶装置824は、記憶媒体を別個に含む、または、それだけには限定されないが、コンパクトディスクROM装置(CD−ROM)、CDレコーダブルドライブ(CD−R Drive)、CDリライタブルドライブ(CD−RW Drive)、またはデジタル多用途ディスクROMドライブ(DVD−ROM)などの光ディスクドライブなど他の記憶媒体と組み合わせて含むことができる。ディスク記憶装置824のシステムバス818への接続を容易にするために、一般にインターフェース826などリムーバブルまたは非リムーバブルインターフェースが使用される。   Computer 812 also includes removable / non-removable, volatile / nonvolatile computer storage media. FIG. 8 includes a disk storage device 824, for example. The disk storage device 824 includes, but is not limited to, devices such as a magnetic disk drive, a floppy (registered trademark) disk drive, a tape drive, a Jaz drive, a Zip drive, an LS-100 drive, a flash memory card, and a memory stick. . Further, the disk storage device 824 includes, but is not limited to, a separate storage medium, such as, but not limited to, a compact disk ROM device (CD-ROM), a CD recordable drive (CD-R Drive), a CD rewritable drive (CD-). RW Drive), or other storage media such as an optical disk drive such as a digital versatile disk ROM drive (DVD-ROM). In order to facilitate connection of the disk storage device 824 to the system bus 818, a removable or non-removable interface, such as interface 826, is generally used.

図8は、ユーザと適した動作環境810で説明した基本的なコンピュータリソースとの間の媒介として働くソフトウェアを説明していることを理解されたい。こうしたソフトウェアには、オペレーティングシステム828などがある。オペレーティングシステム828は、ディスク記憶装置824に格納することができ、コンピュータシステム812のリソースを制御し、割り振るよう働く。システムアプリケーション830は、システムメモリ816またはディスク記憶装置824のいずれかに格納されているプログラムモジュール832およびプログラムデータ834を介してオペレーティングシステム828によるリソースの管理を利用する。本発明は、様々なオペレーティングシステムまたはオペレーティングシステムの組合せとともに実施できることを理解されたい。   It should be understood that FIG. 8 describes software that acts as an intermediary between the user and the basic computer resources described in a suitable operating environment 810. Such software includes an operating system 828 and the like. Operating system 828 can be stored on disk storage 824 and serves to control and allocate the resources of computer system 812. The system application 830 utilizes management of resources by the operating system 828 via program modules 832 and program data 834 stored either in the system memory 816 or the disk storage 824. It should be understood that the present invention can be implemented with various operating systems or combinations of operating systems.

ユーザは、入力装置836を介してコマンドまたは情報をコンピュータ812に入力する。入力装置836には、それだけには限定されないが、マウスなどのポインティング装置、トラックボール、スタイラス、タッチパッド、キーボード、マイクロフォン、ジョイスティック、ゲームパッド、衛星パラボラアンテナ、スキャナ、TVチューナカード、デジタルカメラ、デジタルビデオカメラ、Webカメラなどがある。これらおよび他の入力装置は、インターフェースポート838を経由してシステムバス818によって処理ユニット814に接続される。インターフェースポート838には、例えば、シリアルポート、パラレルポート、ゲームポート、ユニバーサルシリアルバス(USB)などがある。出力装置840は、入力装置836と同じタイプの何らかのポートを使用する。したがって、例えばUSBポートを使用して、コンピュータ812への入力を提供し、コンピュータ812から出力装置840に情報を出力することができる。出力アダプタ842は、出力装置840の中でも一部の出力装置840にはモニタ、スピーカー、プリンタなど特殊なアダプタを必要とするものがあることを示すために提供されている。出力アダプタ842には、それだけには限定されないが一例として、出力装置840とシステムバス818の間の接続手段を提供するビデオカードおよびサウンドカードなどがある。リモートコンピュータ844など、他の装置および/または装置のシステムは、入力および出力の機能を提供することに注意されたい。   A user enters commands or information into computer 812 via input device 836. The input device 836 includes, but is not limited to, a pointing device such as a mouse, a trackball, a stylus, a touch pad, a keyboard, a microphone, a joystick, a game pad, a satellite dish, a scanner, a TV tuner card, a digital camera, and a digital video. There are cameras, web cameras, and the like. These and other input devices are connected to processing unit 814 by system bus 818 via interface port 838. Examples of the interface port 838 include a serial port, a parallel port, a game port, and a universal serial bus (USB). The output device 840 uses some port of the same type as the input device 836. Thus, for example, a USB port can be used to provide input to computer 812 and output information from computer 812 to output device 840. The output adapter 842 is provided to indicate that some of the output devices 840 require special adapters such as monitors, speakers, and printers. Examples of output adapter 842 include, but are not limited to, video cards and sound cards that provide a connection between output device 840 and system bus 818. Note that other devices and / or systems of devices, such as remote computer 844, provide input and output functionality.

コンピュータ812は、リモートコンピュータ844など1つまたは複数のリモートコンピュータへの論理接続を使用してネットワーク式環境で動作することができる。リモートコンピュータ844は、パーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ワークステーション、マイクロプロセッサベースの装置、ピア装置、または他の一般のネットワークノードなどでよく、一般にコンピュータ812に関連して記載した多くまたはすべての要素を含む。簡潔にするために、リモートコンピュータ844とともにメモリ記憶装置846のみを示している。リモートコンピュータ844は、ネットワークインターフェース848を介してコンピュータ812に論理的に接続され、次いで通信接続850を介して物理的に接続される。ネットワークインターフェース848は、ローカルエリアネットワーク(LAN)および広域エリアネットワーク(WAN)などの通信ネットワークを含む。LAN技術は、光ファイバ分散データインターフェース(FDDI)、銅線分散データインターフェース(Copper Distributed Data Interface:CDDI)、Ethernet(登録商標)/IEEE802.3、トークンリング/IEEE802.5などがある。WAN技術には、それだけには限定されないが、ポイントツーポイントリンク、サービス総合デジタル網(ISDN)およびそのバリエーションなどの回線交換ネットワーク、パケット交換ネットワーク、デジタル加入者回線(DSL)などがある。   Computer 812 can operate in a networked environment using logical connections to one or more remote computers, such as remote computer 844. The remote computer 844 may be a personal computer, server, router, network PC, workstation, microprocessor-based device, peer device, or other common network node, and many or all of those generally described in connection with the computer 812. Contains the elements. For simplicity, only the memory storage device 846 is shown with the remote computer 844. Remote computer 844 is logically connected to computer 812 via network interface 848 and then physically connected via communication connection 850. Network interface 848 includes communication networks such as a local area network (LAN) and a wide area network (WAN). Examples of LAN technologies include an optical fiber distributed data interface (FDDI), a copper distributed data interface (CDDI), Ethernet (registered trademark) /IEEE802.3, and a token ring / IEEE802.5. WAN technologies include, but are not limited to, circuit-switched networks such as point-to-point links, integrated services digital networks (ISDN) and variations thereof, packet-switched networks, digital subscriber lines (DSL), and the like.

通信接続850は、ネットワークインターフェース848をバス818に接続するために使用されるハードウェア/ソフトウェアを指す。通信接続850は、説明上わかりやすくするために、コンピュータ812内に示しているが、コンピュータ812の外部にあってもよい。ネットワークインターフェース848への接続に必要なハードウェア/ソフトウェアには、一例にすぎないが、通常の電話用モデム、ケーブルモデム、DSLモデムなどのモデム、ISDNアダプタ、Ethernet(登録商標)カードなど内部技術および外部技術がある。   Communication connection 850 refers to the hardware / software used to connect network interface 848 to bus 818. Communication connection 850 is shown within computer 812 for ease of explanation, but may be external to computer 812. The hardware / software required to connect to the network interface 848 is only an example, but internal technology such as an ordinary telephone modem, a cable modem, a modem such as a DSL modem, an ISDN adapter, an Ethernet card, and the like. There are external technologies.

上記で説明してきたことは、本発明の例を含む。当然、本発明を説明するために構成要素または方法の予想されるすべての組合せについて説明することは不可能であるが、本発明の他の多くの組合せおよび置換えが可能であることを当分野の技術者であれば理解できよう。したがって、本発明は、添付の特許請求の範囲の要旨および範囲内のこうしたすべての代替形態、変更形態、および変形形態を含むものとする。さらに、「含む」という用語が詳細な説明または特許請求の範囲で使用されている限り、こうした用語は、請求項で移行語として使用されるときに「備える」が解釈される「備える」という用語と同じように包含的であるものとする。   What has been described above includes examples of the subject invention. Of course, it is not possible to describe all possible combinations of components or methods to explain the invention, but it is understood that many other combinations and substitutions of the invention are possible. An engineer will understand. Accordingly, the present invention is intended to embrace all such alternatives, modifications and variances that fall within the spirit and scope of the appended claims. Further, to the extent that the term “comprising” is used in the detailed description or in the claims, such terms are the terms “comprising” that “comprising” is interpreted when used as transition terms in the claims. As inclusive.

本発明の一態様によるスパムフィルタリングプロセスの不明瞭化を助けるシステムを示す概略ブロック図である。1 is a schematic block diagram illustrating a system that helps obfuscate the spam filtering process in accordance with an aspect of the present invention. FIG. 本発明の一態様によるスパムフィルタリングプロセスの不明瞭化を助けるために複数のフィルタを使用するシステムを示す概略ブロック図である。1 is a schematic block diagram illustrating a system that uses multiple filters to help obfuscate the spam filtering process according to an aspect of the present invention. FIG. 本発明の一態様によるスパムフィルタリングプロセスの不明瞭化を助ける方法例を示すフロー図である。FIG. 6 is a flow diagram illustrating an example method that helps obfuscate the spam filtering process according to an aspect of the present invention. 本発明の一態様による乱数または擬似乱数の決定を助ける方法例を示すフロー図である。FIG. 6 is a flow diagram illustrating an example method that assists in determining a random or pseudo-random number according to an aspect of the present invention. 本発明の一態様による一部メッセージの内容に基づく無作為化の実行を助ける方法例を示すフロー図である。FIG. 6 is a flow diagram illustrating an example method that assists in performing randomization based on the content of a partial message according to an aspect of the present invention. 本発明の一態様による複数のスパムフィルタをトレーニングし、使用することによってスパムフィルタリングプロセスの不明瞭化を助ける方法例を示すフロー図である。FIG. 5 is a flow diagram illustrating an example method that helps obfuscate the spam filtering process by training and using multiple spam filters according to an aspect of the present invention. 本発明の一態様による複数のスパムフィルタをトレーニングし、使用することによってスパムフィルタリングプロセスの不明瞭化を助ける方法例を示すフロー図である。FIG. 5 is a flow diagram illustrating an example method that helps obfuscate the spam filtering process by training and using multiple spam filters in accordance with an aspect of the present invention. 本発明による通信環境例を示す概略ブロック図である。1 is a schematic block diagram illustrating an example communication environment according to the present invention.

符号の説明Explanation of symbols

100 スパムフィルタリングシステム
110 スパムフィルタ
120 メッセージ
130 メッセージの合計得点
140 フィルタスコアリング構成要素
150 無作為化構成要素
160 乱数ジェネレータ
172 入力構成要素
174 入力構成要素
176 入力構成要素
200 マルチフィルタスパムフィルタリングシステム
210 複数のユーザ
212 ユーザ
214 ユーザ
216 ユーザ
222 スパムフィルタ
224 スパムフィルタ
226 スパムフィルタ
230 フィルタ選択構成要素
240 時間入力構成要素
250 クラスタ化構成要素
100 Spam Filtering System 110 Spam Filter 120 Message 130 Total Message Score 140 Filter Scoring Component 150 Randomization Component 160 Random Number Generator 172 Input Component 1
174 Input component 2
176 Input component N
200 Multi-filter spam filtering system 210 Multiple users 212 User 1
214 User 2
216 User Y
222 Spam filter 1
224 Spam filter 2
226 Spam filter W
230 Filter selection component 240 Time input component 250 Clustering component

Claims (63)

1つまたは複数のスパムフィルタと、
スパムフィルタの機能を不明瞭にして、前記1つまたは複数のスパムフィルタのリバースエンジニアリングを抑える無作為化構成要素と
を含むことを特徴とするスパムフィルタリングシステム。
One or more spam filters;
A randomization component that obfuscates the function of the spam filter and reduces reverse engineering of the one or more spam filters.
前記無作為化構成要素は、前記フィルタの得点を無作為化して、閾値に近くかつ阻止または配信されたメッセージの一方から変化したメッセージが、メッセージへの修正および無作為化構成要素のうちのどちらにより、変わったかをスパマーが決定しにくくすることを特徴とする請求項1に記載のシステム。   The randomization component randomizes the score of the filter so that a message that is close to a threshold and changed from one of the blocked or delivered messages is either a modification to the message or a randomization component. The system according to claim 1, which makes it difficult for a spammer to determine whether it has changed. 前記無作為化構成要素は、乱数および擬似乱数の少なくとも一方を生成する乱数ジェネレータを含むことを特徴とする請求項1に記載のシステム。   The system of claim 1, wherein the randomization component includes a random number generator that generates at least one of a random number and a pseudo-random number. 前記無作為構成要素は、1つまたは複数の入力構成要素を含み、前記1つまたは複数の入力構成要素により前記乱数ジェネレータに入力を提供して、特定のメッセージのためにどの乱数を生成するかを決定するのを助けることを特徴とする請求項3に記載のシステム。   The random component includes one or more input components and provides input to the random number generator by the one or more input components to generate which random number for a particular message The system of claim 3, wherein the system assists in determining 前記無作為構成要素は、少なくとも一部について、1つまたは複数の入力構成要素から受信した入力に基づいて乱数を生成することを特徴とする請求項1に記載のシステム。   The system of claim 1, wherein the random component generates a random number based at least in part on input received from one or more input components. 前記1つまたは複数の入力構成要素からの前記入力は少なくとも一部において時間に基づくことを特徴とする請求項5に記載のシステム。   The system of claim 5, wherein the input from the one or more input components is based at least in part on time. 生成された前記乱数は時刻および時間増分の少なくとも一方に応じて決まり、生成された前記数字は前記時刻および現在の時間増分のいずれか一方に従って変わることを特徴とする請求項6に記載のシステム。   The system of claim 6, wherein the generated random number depends on at least one of a time and a time increment, and the generated number changes according to either the time or the current time increment. 前記1つまたは複数の入力構成要素からの前記入力は、少なくとも一部について、ユーザ、受信者、および前記メッセージから受信するドメインの少なくとも1つに基づくことを特徴とする請求項5に記載のシステム。   The system of claim 5, wherein the input from the one or more input components is based at least in part on at least one of a user, a recipient, and a domain received from the message. . 生成された前記乱数は、ユーザ、受信者、および前記メッセージを受信するドメインのうちの少なくとも1つに応じて決まり、生成された前記数字は、前記ユーザの識別、前記メッセージの前記受信者の識別、および前記メッセージを受信するドメインのいずれか1つに従って変わることを特徴とする請求項8に記載のシステム。   The generated random number depends on at least one of a user, a recipient, and a domain that receives the message, and the generated number is an identification of the user, an identification of the recipient of the message 9. The system of claim 8, wherein the system varies according to any one of the domains receiving the message. 前記ユーザおよび前記受信者のいずれか一方の前記識別は、表示名および電子メールアドレスの少なくとも一部のうちの少なくとも一方を含むことを特徴とする請求項9に記載のシステム。   The system of claim 9, wherein the identification of either the user or the recipient includes at least one of a display name and / or an email address. 前記1つまたは複数の入力構成要素からの前記入力は、少なくとも一部について、前記メッセージの内容に基づくことを特徴とする請求項5に記載のシステム。   6. The system of claim 5, wherein the input from the one or more input components is based at least in part on the content of the message. 生成された前記乱数は、前記メッセージの内容の少なくとも一部に応じて変わることを特徴とする請求項11に記載のシステム。   The system according to claim 11, wherein the generated random number varies according to at least a part of the content of the message. 前記メッセージの内容のハッシュを計算し、前記ハッシュ値を前記乱数として使用することにより、前記メッセージの内容へのわずかな変更でさえも、生成された前記乱数への実質的に大きな変更をもたらすことを特徴とする請求項11に記載のシステム。   By calculating a hash of the message content and using the hash value as the random number, even a slight change to the message content will result in a substantially large change to the generated random number. The system of claim 11. メッセージから抽出された特徴の少なくとも一部のハッシュを計算して、メッセージの得点を無作為化し、前記スパムフィルタの前記機能を無作為化するのを助けることを特徴とする請求項11に記載のシステム。   12. The method of claim 11, wherein a hash of at least a portion of a feature extracted from a message is calculated to randomize a message score and help to randomize the function of the spam filter. system. 前記ハッシュの計算に使用する前記特徴は、何らかの閾値より大きいそれぞれの個々の重みを有することを特徴とする請求項14に記載のシステム。   The system of claim 14, wherein the features used to calculate the hash have respective individual weights that are greater than some threshold. 送信者のIPアドレスのハッシュを計算してメッセージの得点を無作為化するのを助けることによって、前記スパムフィルタの前記機能を不明瞭にすることを特徴とする請求項11に記載のシステム。   12. The system of claim 11, wherein the function of the spam filter is obscured by helping to randomize message scores by calculating a hash of the sender's IP address. スパムと非スパムとの間の境界に接するメッセージに実質的な影響を与えて、前記メッセージの得点を無作為化することによって境界線近くのスパムであるメッセージが少なくともある時スパムとして分類されることを特徴とする請求項1に記載のシステム。   A message that is at least a spam near the boundary is classified as spam at least once by substantially affecting the message that borders the boundary between spam and non-spam and randomizing the score of the message The system according to claim 1. 前記無作為化構成要素は、送信されるときはいつでも実質的にスパムフィルタを通り抜ける少なくとも1つのメッセージをスパマーが見つけるのを抑えることを特徴とする請求項1に記載のシステム。   The system of claim 1, wherein the randomization component prevents a spammer from finding at least one message that substantially passes through a spam filter whenever it is sent. 前記スパムフィルタリングシステムは、
Figure 2005011326
の式を有するシグモイド関数を使用し、スパマーの挙動を有効に修正し、前記フィルタリングシステムのリバースエンジニアリングを抑えるために、合計得点値および最終得点値のうちの少なくとも一方が無作為化されることを特徴とする請求項1に記載のシステム。
The spam filtering system includes:
Figure 2005011326
In order to effectively modify spammer behavior and reduce reverse engineering of the filtering system, at least one of the total score value and the final score value is randomized using a sigmoid function having the formula: The system of claim 1, characterized in that:
スパムフィルタのリバースエンジニアリングを抑え、実質的に常にスパムフィルタを通り抜ける1つのメッセージを見つけることを抑えるマルチフィルタスパムフィルタリングシステムであって、
メッセージを処理し、分類するための少なくとも第1のスパムフィルタおよび第2のスパムフィルタを含む複数のスパムフィルタと、
少なくとも第1のユーザおよび第2のユーザを含む複数のユーザと、
前記複数のユーザの少なくとも1人が使用するために配置されるように1つまたは複数のフィルタを選択するフィルタ選択構成要素と
を含むことを特徴とするマルチフィルタスパムフィルタリングシステム。
A multi-filter spam filtering system that suppresses reverse engineering of spam filters and virtually eliminates finding one message that always passes through spam filters,
A plurality of spam filters including at least a first spam filter and a second spam filter for processing and classifying messages;
A plurality of users including at least a first user and a second user;
A multi-filter spam filtering system, comprising: a filter selection component that selects one or more filters to be arranged for use by at least one of the plurality of users.
少なくとも一部について時刻および時間増分のいずれかに基づいてそれぞれのユーザのために前記複数のフィルタのうちの1つまたは複数が選択され、配置されるように、前記フィルタ選択構成要素と通信する時間入力構成要素をさらに含むことを特徴とする請求項20に記載のシステム。   Time to communicate with the filter selection component such that one or more of the plurality of filters are selected and arranged for each user based at least in part on either time and time increments The system of claim 20, further comprising an input component. 前記時間増分は、秒、分、時間、日、週、月、および年のうちの任意の数字であることを特徴とする請求項21に記載のシステム。   The system of claim 21, wherein the time increment is any number of seconds, minutes, hours, days, weeks, months, and years. 前記フィルタ選択構成要素は、前記1つまたは複数のフィルタを無作為に選択することを特徴とする請求項20に記載のシステム。   The system of claim 20, wherein the filter selection component randomly selects the one or more filters. 前記フィルタ選択構成要素は、前記1つまたは複数のフィルタを作為的に選択することを特徴とする請求項20に記載のシステム。   The system of claim 20, wherein the filter selection component artificially selects the one or more filters. 前記フィルタ選択構成要素は、少なくとも一部について、前記それぞれのユーザ、前記送信者のドメイン、前記フィルタリングシステムを稼働させているドメイン、および前記メッセージを受信するドメインのうちの少なくとも1つに基づいて前記それぞれのユーザに対して配置されるように前記1つまたは複数のフィルタを選択することを特徴とする請求項20に記載のシステム。   The filter selection component is based at least in part on at least one of the respective user, the sender's domain, the domain running the filtering system, and the domain receiving the message. 21. The system of claim 20, wherein the one or more filters are selected to be placed for each user. 前記ユーザは、前記メッセージの受信者であることを特徴とする請求項20に記載のシステム。   The system of claim 20, wherein the user is a recipient of the message. 前記複数のスパムフィルタの少なくとも一部は、機械学習システムを介してトレーニングデータのうちの1組または複数組を使用してトレーニングされることを特徴とする請求項20に記載のシステム。   The system of claim 20, wherein at least some of the plurality of spam filters are trained using one or more sets of training data via a machine learning system. 前記トレーニングデータは、メッセージから抽出された特徴に対応することを特徴とする請求項27に記載のシステム。   28. The system of claim 27, wherein the training data corresponds to features extracted from a message. 前記メッセージから抽出された前記特徴の少なくとも一部に、強制的に特定の値を持たせるようにすることを特徴とする請求項28に記載のシステム。   30. The system of claim 28, wherein at least some of the features extracted from the message are forced to have a specific value. 前記メッセージから抽出された前記特徴の少なくとも一部は、前記トレーニングデータから除外されることを特徴とする請求項28に記載のシステム。   30. The system of claim 28, wherein at least some of the features extracted from the message are excluded from the training data. 前記メッセージから抽出された前記特徴の少なくとも一部は特徴のタイプによってクラスタ化され、個々のフィルタのトレーニングにデータの各クラスタが使用されることを特徴とする請求項28に記載のシステム。   29. The system of claim 28, wherein at least some of the features extracted from the message are clustered by feature type, and each cluster of data is used for training individual filters. 前記複数のユーザのうちの少なくとも一部は、前記特徴タイプのクラスタに関連するユーザタイプによってクラスタ化され、ユーザに前記ユーザタイプに対応するスパムフィルタが使用されることを特徴とする請求項31に記載のシステム。   The at least some of the plurality of users are clustered by a user type associated with the cluster of feature types, and a spam filter corresponding to the user type is used for the user. The described system. 前記第1のフィルタはトレーニングデータの少なくとも第1のサブセットを使用してトレーニングされ、前記第2のフィルタはトレーニングデータの少なくとも第2のサブセットを使用してトレーニングされ、トレーニングデータの前記第2のサブセットの少なくとも一部は、トレーニングデータの前記第1のサブセットの少なくとも一部と重複していないことを特徴とする請求項20に記載のシステム。   The first filter is trained using at least a first subset of training data, the second filter is trained using at least a second subset of training data, and the second subset of training data 21. The system of claim 20, wherein at least a portion of does not overlap with at least a portion of the first subset of training data. 前記メッセージをスパムまたは非スパムと分類する前に異なる複数の基準および/またはメッセージの特徴が検査されるように、前記第1のフィルタおよび前記第2のフィルタを併せて使用するように配置することを特徴とする請求項33に記載のシステム。   Arrange to use the first filter and the second filter together so that different criteria and / or message characteristics are examined before classifying the message as spam or non-spam 34. The system of claim 33. メッセージをスパムフィルタに通すステップと、
前記メッセージに関連する少なくとも1つの得点を計算するステップと、
前記メッセージをスパムまたは非スパムとして分類する前に、前記メッセージの前記得点を無作為化するステップと、
前記メッセージをスパムまたは非スパムとして分類するステップと
を含むことを特徴とするスパムフィルタの不明瞭化を助ける方法。
Passing the message through a spam filter;
Calculating at least one score associated with the message;
Randomizing the score of the message before classifying the message as spam or non-spam;
Categorizing the message as spam or non-spam. A method for helping to obfuscate a spam filter.
前記メッセージに関連する前記少なくとも1つの得点は、最終得点および合計得点を含むことを特徴とする請求項35に記載の方法。   36. The method of claim 35, wherein the at least one score associated with the message includes a final score and a total score. 前記合計得点は、メッセージから抽出された個々の特徴に関連するすべての得点の合計であることを特徴とする請求項36に記載の方法。   The method of claim 36, wherein the total score is the sum of all scores associated with individual features extracted from the message. 前記最終得点は、前記合計得点のシグモイド関数であり、メッセージがスパムまたは非スパムである確率を示す0から1までの値に対応することを特徴とする請求項36に記載の方法。   37. The method of claim 36, wherein the final score is a sigmoid function of the total score and corresponds to a value from 0 to 1 indicating a probability that the message is spam or non-spam. 前記メッセージの前記得点を無作為化するステップは、乱数および擬似乱数のうちの少なくとも一方を前記メッセージの前記得点に加えるステップを含むことを特徴とする請求項35に記載の方法。   36. The method of claim 35, wherein randomizing the score of the message comprises adding at least one of a random number and a pseudo-random number to the score of the message. 前記メッセージの前記得点に加えられる前記数字は、少なくとも一部について
時刻と、
時間増分と
のうちの少なくとも一方に応じて決まることを特徴とする請求項39に記載の方法。
The number added to the score of the message is at least partly a time,
40. The method of claim 39, wherein the method is dependent on at least one of time increments.
前記メッセージの前記得点に加えられる前記数字は、少なくとも一部について
ユーザと、
前記メッセージの受信者と、
前記メッセージを受信するドメインと、
前記送信者のドメインと、
前記フィルタを稼働させる機械名と
のうちの少なくとも1つに応じて決まることを特徴とする請求項39に記載の方法。
The number added to the score of the message is at least in part with the user;
A recipient of the message;
A domain receiving the message;
The sender's domain;
40. The method of claim 39, wherein the method is dependent on at least one of a machine name that operates the filter.
前記メッセージの前記得点に加えられる前記数字は、少なくとも一部について
前記メッセージの内容のハッシュと、
前記メッセージから抽出された特徴の少なくとも一部のハッシュと
のうちの少なくとも1つに応じて決まることを特徴とする請求項39に記載の方法。
The number added to the score of the message is at least partly a hash of the message content;
40. The method of claim 39, wherein the method depends on at least one of a hash of at least some of the features extracted from the message.
前記ハッシュの計算に使用する前記特徴は、0より大きい重みをそれぞれ有することを特徴とする請求項42に記載の方法。   43. The method of claim 42, wherein the features used to calculate the hash each have a weight greater than zero. 前記ハッシュの計算に使用する前記特徴は、時刻および時間増分の少なくとも一方に応じて無作為または作為的に変わり得ることを特徴とする請求項42に記載の方法。   43. The method of claim 42, wherein the feature used to calculate the hash can vary randomly or randomly depending on at least one of a time and a time increment. 前記メッセージの前記得点に加えられる前記数字は、少なくとも一部について、送信者のIPアドレスのハッシュに応じて決まることを特徴とする請求項39に記載の方法。   40. The method of claim 39, wherein the number added to the score of the message depends at least in part on a hash of the sender's IP address. 前記メッセージの前記得点に加えられる前記数字は、1つまたは複数の入力構成要素からの入力に応じて決まることを特徴とする請求項39に記載の方法。   40. The method of claim 39, wherein the number added to the score of the message depends on input from one or more input components. 前記スパムフィルタのリバースエンジニアリングを抑え、前記フィルタを常に通り抜ける特定のメッセージをスパマーが見つけるのを抑えるように、複数のスパムフィルタを複数のユーザにわたって配置するステップを含むことを特徴とするスパムを最低限に抑えるための方法。   Placing spam filters across multiple users to minimize reverse engineering of the spam filter and to prevent spammers from finding specific messages that always pass through the filter. How to keep it down. 前記複数のスパムフィルタの少なくとも一部を配置するステップは、時刻および時間増分のうちの少なくとも一方に応じて決まることを特徴とする請求項47に記載の方法。   The method of claim 47, wherein placing at least some of the plurality of spam filters depends on at least one of a time and a time increment. 前記複数のスパムフィルタの少なくとも一部を配置するステップは、前記スパムフィルタを使用する少なくとも1人または複数のユーザに応じて決まることを特徴とする請求項47に記載の方法。   48. The method of claim 47, wherein placing at least a portion of the plurality of spam filters depends on at least one or more users using the spam filter. 前記複数のスパムフィルタの少なくとも一部を配置するステップは、メッセージの内容のハッシュおよび前記メッセージのサイズの少なくとも一方に応じて決まることを特徴とする請求項47に記載の方法。   The method of claim 47, wherein placing at least some of the plurality of spam filters depends on at least one of a hash of message content and a size of the message. 前記複数のスパムフィルタのうちの少なくとも一部を選択して無作為に配置することをさらに含むことを特徴とする請求項47に記載の方法。   48. The method of claim 47, further comprising selecting and randomly placing at least a portion of the plurality of spam filters. 前記複数のスパムフィルタのうちの少なくとも一部を選択して作為的に配置することをさらに含むことを特徴とする請求項47に記載の方法。   48. The method of claim 47, further comprising selecting and artificially placing at least a portion of the plurality of spam filters. 前記複数のスパムフィルタは、機械学習プロセスを介してトレーニングデータの組でトレーニングされることを特徴とする請求項47に記載の方法。   The method of claim 47, wherein the plurality of spam filters are trained on a set of training data via a machine learning process. 前記スパムフィルタをトレーニングするステップは、
トレーニングデータの組を作成するステップと、
トレーニングデータの少なくとも第1のサブセットを使用して少なくとも第1のスパムフィルタをトレーニングするステップと、
トレーニングデータの少なくとも第2のサブセットを使用して少なくとも第2のスパムフィルタをトレーニングして、それによって前記第2のサブセットがトレーニングデータの前記第1のサブセットと同等にならないようにするステップと
を含むことを特徴とする請求項53に記載の方法。
Training the spam filter comprises:
Creating a training data set;
Training at least a first spam filter using at least a first subset of training data;
Training at least a second spam filter using at least a second subset of training data, thereby preventing the second subset from being equivalent to the first subset of training data. 54. The method of claim 53.
前記スパムフィルタをトレーニングするステップは、
ユーザタイプのクラスタに対応するように、タイプによってトレーニングデータをクラスタ化するステップと、
少なくとも第1のフィルタをデータの第1のクラスタでトレーニングするステップと、
少なくとも第2のフィルタをデータの第2のクラスタでトレーニングするステップと
を含むことを特徴とする請求項53に記載の方法。
Training the spam filter comprises:
Clustering training data by type to correspond to user type clusters;
Training at least a first filter with a first cluster of data;
54. The method of claim 53, comprising training at least a second filter with a second cluster of data.
前記第1のフィルタは、関連するタイプのクラスタに属するユーザに対して配置されることを特徴とする請求項55に記載の方法。   56. The method of claim 55, wherein the first filter is arranged for users belonging to a related type of cluster. 請求項35に記載の方法を含むことを特徴とするコンピュータ可読媒体。   36. A computer readable medium comprising the method of claim 35. 請求項47に記載の方法を含むことを特徴とするコンピュータ可読媒体。   48. A computer readable medium comprising the method of claim 47. 前記1つまたは複数のスパムフィルタのリバースエンジニアリングを抑えるようにスパムフィルタの機能を不明瞭にする無作為化構成要素
のコンピュータ実行可能構成要素を格納することを特徴とするコンピュータ可読媒体。
A computer-readable medium storing a computer-executable component of a randomized component that obfuscates the functionality of a spam filter so as to suppress reverse engineering of the one or more spam filters.
前記無作為化構成要素は前記フィルタの得点を無作為化することを特徴とする請求項59に記載のコンピュータ可読媒体。   60. The computer readable medium of claim 59, wherein the randomization component randomizes the score of the filter. 前記無作為化構成要素は、乱数および擬似乱数の少なくとも一方を生成する乱数ジェネレータを含むことを特徴とする請求項59に記載のコンピュータ可読媒体。   60. The computer-readable medium of claim 59, wherein the randomization component includes a random number generator that generates at least one of a random number and a pseudo-random number. メッセージをスパムフィルタに通すための手段と、
前記メッセージに関連する少なくとも1つの得点を計算するための手段と、
前記メッセージをスパムまたは非スパムとして分類する前に、前記メッセージの前記得点を無作為化するための手段と、
前記メッセージをスパムまたは非スパムとして分類するための手段と
を含むことを特徴とするスパムフィルタの不明瞭化を助けるシステム。
A means for passing messages through a spam filter;
Means for calculating at least one score associated with the message;
Means for randomizing the score of the message before classifying the message as spam or non-spam;
And a means for classifying the message as spam or non-spam.
前記スパムフィルタのリバースエンジニアリングを抑え、スパマーが常に前記フィルタを通り抜ける特定のメッセージを見つけるのを抑えるように、複数のユーザにわたって複数のスパムフィルタを配置するための手段を含むことを特徴とするスパムを最低限に抑えるシステム。
Spam means characterized by including means for deploying multiple spam filters across multiple users so as to reduce reverse engineering of the spam filter and to prevent spammers from always finding specific messages that pass through the filter A system to minimize.
JP2004149663A 2003-06-20 2004-05-19 Spam filter obfuscation Expired - Fee Related JP4572087B2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/601,034 US7519668B2 (en) 2003-06-20 2003-06-20 Obfuscation of spam filter

Publications (2)

Publication Number Publication Date
JP2005011326A true JP2005011326A (en) 2005-01-13
JP4572087B2 JP4572087B2 (en) 2010-10-27

Family

ID=33418580

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004149663A Expired - Fee Related JP4572087B2 (en) 2003-06-20 2004-05-19 Spam filter obfuscation

Country Status (5)

Country Link
US (1) US7519668B2 (en)
EP (2) EP1489799A3 (en)
JP (1) JP4572087B2 (en)
KR (1) KR101143194B1 (en)
CN (1) CN1573780B (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009140437A (en) * 2007-12-10 2009-06-25 Just Syst Corp Filtering processing method, filtering processing program, and filtering device
JP2009289246A (en) * 2008-05-27 2009-12-10 Yahoo Japan Corp Message determining apparatus, method and program
JP5121828B2 (en) * 2007-07-04 2013-01-16 アイマトリックス株式会社 E-mail processing apparatus, e-mail processing method, e-mail processing program, and e-mail processing system
JP2014039270A (en) * 2007-01-30 2014-02-27 Datasci Llc Systems and methods for filtering cellular telephone messages
JP6087484B1 (en) * 2016-03-09 2017-03-01 楽天株式会社 Distribution apparatus, distribution method, program, and non-transitory computer-readable information recording medium

Families Citing this family (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6408277B1 (en) 2000-06-21 2002-06-18 Banter Limited System and method for automatic task prioritization
US9699129B1 (en) * 2000-06-21 2017-07-04 International Business Machines Corporation System and method for increasing email productivity
US7644057B2 (en) * 2001-01-03 2010-01-05 International Business Machines Corporation System and method for electronic communication management
US7877607B2 (en) * 2002-08-30 2011-01-25 Hewlett-Packard Development Company, L.P. Tamper-evident data management
US8145710B2 (en) 2003-06-18 2012-03-27 Symantec Corporation System and method for filtering spam messages utilizing URL filtering module
US8214437B1 (en) * 2003-07-21 2012-07-03 Aol Inc. Online adaptive filtering of messages
US7406503B1 (en) * 2003-08-28 2008-07-29 Microsoft Corporation Dictionary attack e-mail identification
US7353499B2 (en) * 2003-09-25 2008-04-01 Sun Microsystems, Inc. Multiple instruction dispatch tables for application program obfuscation
US7415618B2 (en) * 2003-09-25 2008-08-19 Sun Microsystems, Inc. Permutation of opcode values for application program obfuscation
US20050069138A1 (en) * 2003-09-25 2005-03-31 Sun Microsystems, Inc., A Delaware Corporation Application program obfuscation
US7363620B2 (en) * 2003-09-25 2008-04-22 Sun Microsystems, Inc. Non-linear execution of application program instructions for application program obfuscation
US8220058B2 (en) * 2003-09-25 2012-07-10 Oracle America, Inc. Rendering and encryption engine for application program obfuscation
US7424620B2 (en) * 2003-09-25 2008-09-09 Sun Microsystems, Inc. Interleaved data and instruction streams for application program obfuscation
US20050120118A1 (en) * 2003-12-01 2005-06-02 Thibadeau Robert H. Novel network server for electronic mail filter benchmarking
US7693943B2 (en) * 2004-01-23 2010-04-06 International Business Machines Corporation Classification of electronic mail into multiple directories based upon their spam-like properties
US20050198159A1 (en) * 2004-03-08 2005-09-08 Kirsch Steven T. Method and system for categorizing and processing e-mails based upon information in the message header and SMTP session
US7644127B2 (en) * 2004-03-09 2010-01-05 Gozoom.Com, Inc. Email analysis using fuzzy matching of text
US7941490B1 (en) * 2004-05-11 2011-05-10 Symantec Corporation Method and apparatus for detecting spam in email messages and email attachments
US7565445B2 (en) * 2004-06-18 2009-07-21 Fortinet, Inc. Systems and methods for categorizing network traffic content
US7711781B2 (en) * 2004-11-09 2010-05-04 International Business Machines Corporation Technique for detecting and blocking unwanted instant messages
KR20060065403A (en) * 2004-12-10 2006-06-14 삼정데이타서비스 주식회사 The spam filter capable of doing the reflex-studying according to the users' propensity
US20060190533A1 (en) * 2005-02-21 2006-08-24 Marvin Shannon System and Method for Registered and Authenticated Electronic Messages
JP4559295B2 (en) * 2005-05-17 2010-10-06 株式会社エヌ・ティ・ティ・ドコモ Data communication system and data communication method
AU2006275799B8 (en) 2005-07-28 2011-07-14 Carbon Sink, Inc. Removal of carbon dioxide from air
US20070124582A1 (en) * 2005-08-07 2007-05-31 Marvin Shannon System and Method for an NSP or ISP to Detect Malware in its Network Traffic
CN100490426C (en) * 2005-09-27 2009-05-20 腾讯科技(深圳)有限公司 Method and system for counteracting rubbish e-mails
WO2007040093A1 (en) * 2005-09-30 2007-04-12 Ntt Docomo, Inc. Information communicating apparatus and message displaying method
GB0521552D0 (en) * 2005-10-22 2005-11-30 Ibm Method and system for constructing a classifier
US8713122B2 (en) * 2005-11-10 2014-04-29 International Business Machines Corporation Message value indicator
US20070106737A1 (en) * 2005-11-10 2007-05-10 Barnes Thomas H System and process for delivery status notification
KR100791552B1 (en) * 2006-02-03 2008-01-03 주식회사 위더스정보 The spam registration contents interception system and operation method thereof
US7685271B1 (en) * 2006-03-30 2010-03-23 Symantec Corporation Distributed platform for testing filtering rules
US7809795B1 (en) * 2006-09-26 2010-10-05 Symantec Corporation Linguistic nonsense detection for undesirable message classification
US20080082658A1 (en) * 2006-09-29 2008-04-03 Wan-Yen Hsu Spam control systems and methods
CN101119341B (en) * 2007-09-20 2011-02-16 腾讯科技(深圳)有限公司 Mail identifying method and apparatus
US7814163B2 (en) * 2008-01-03 2010-10-12 Apple Inc. Text-based communication control for personal communication device
US9070116B2 (en) 2008-10-09 2015-06-30 At&T Mobility Ii Llc On-demand spam reporting
US20100211641A1 (en) * 2009-02-16 2010-08-19 Microsoft Corporation Personalized email filtering
CN102035753B (en) * 2009-10-02 2012-07-11 青岛理工大学 Filter dynamic integration-based method for filtering junk mail
US8745143B2 (en) * 2010-04-01 2014-06-03 Microsoft Corporation Delaying inbound and outbound email messages
US8533831B2 (en) * 2010-07-02 2013-09-10 Symantec Corporation Systems and methods for alternating malware classifiers in an attempt to frustrate brute-force malware testing
US9021043B2 (en) * 2010-09-28 2015-04-28 Microsoft Technology Licensing Llc Message gateway with hybrid proxy/store-and-forward logic
US8626856B2 (en) * 2011-04-11 2014-01-07 Microsoft Corporation Geo-data spam filter
US8612436B1 (en) * 2011-09-27 2013-12-17 Google Inc. Reverse engineering circumvention of spam detection algorithms
EP2982133B1 (en) * 2013-04-02 2017-08-02 NEC Corporation Method and system for managing data
US10176500B1 (en) * 2013-05-29 2019-01-08 A9.Com, Inc. Content classification based on data recognition
CN104427115B (en) * 2013-09-04 2018-01-09 腾讯科技(深圳)有限公司 Processing method and processing device to having intercepted short message
US20150295869A1 (en) * 2014-04-14 2015-10-15 Microsoft Corporation Filtering Electronic Messages
US10333877B2 (en) * 2014-04-29 2019-06-25 At&T Intellectual Property I, L.P. Methods of generating signatures from groups of electronic messages and related methods and systems for identifying spam messages
US9942182B2 (en) * 2014-11-17 2018-04-10 At&T Intellectual Property I, L.P. System and method for cloud based IP mobile messaging spam detection and defense
CN104702492B (en) * 2015-03-19 2019-10-18 百度在线网络技术(北京)有限公司 Rubbish message model training method, rubbish message recognition methods and its device
US10229219B2 (en) * 2015-05-01 2019-03-12 Facebook, Inc. Systems and methods for demotion of content items in a feed
US20170222960A1 (en) * 2016-02-01 2017-08-03 Linkedin Corporation Spam processing with continuous model training
US11100506B2 (en) * 2017-05-09 2021-08-24 Fair Isaac Corporation Fraud score manipulation in self-defense of adversarial artificial intelligence learning
US11748655B2 (en) * 2019-05-31 2023-09-05 Apple Inc. Classification of messages using learned rules
US20210035661A1 (en) * 2019-08-02 2021-02-04 Kpn Innovations, Llc Methods and systems for relating user inputs to antidote labels using artificial intelligence

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002514333A (en) * 1997-06-09 2002-05-14 インタートラスト テクノロジーズ コーポレイション Confusing technology to enhance software security
US20020199095A1 (en) * 1997-07-24 2002-12-26 Jean-Christophe Bandini Method and system for filtering communication

Family Cites Families (106)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8918553D0 (en) 1989-08-15 1989-09-27 Digital Equipment Int Message control system
US5758257A (en) 1994-11-29 1998-05-26 Herz; Frederick System and method for scheduling broadcast of and access to video programs and other data using customer profiles
US5619648A (en) 1994-11-30 1997-04-08 Lucent Technologies Inc. Message filtering techniques
US5638487A (en) 1994-12-30 1997-06-10 Purespeech, Inc. Automatic speech recognition
US5845077A (en) 1995-11-27 1998-12-01 Microsoft Corporation Method and system for identifying and obtaining computer software from a remote computer
US6101531A (en) 1995-12-19 2000-08-08 Motorola, Inc. System for communicating user-selected criteria filter prepared at wireless client to communication server for filtering data transferred from host to said wireless client
US5704017A (en) 1996-02-16 1997-12-30 Microsoft Corporation Collaborative filtering utilizing a belief network
US5884033A (en) 1996-05-15 1999-03-16 Spyglass, Inc. Internet filtering system for filtering data transferred over the internet utilizing immediate and deferred filtering actions
US6453327B1 (en) 1996-06-10 2002-09-17 Sun Microsystems, Inc. Method and apparatus for identifying and discarding junk electronic mail
US6072942A (en) 1996-09-18 2000-06-06 Secure Computing Corporation System and method of electronic mail filtering using interconnected nodes
US5805801A (en) 1997-01-09 1998-09-08 International Business Machines Corporation System and method for detecting and preventing security
US5905859A (en) 1997-01-09 1999-05-18 International Business Machines Corporation Managed network device security method and apparatus
US6742047B1 (en) 1997-03-27 2004-05-25 Intel Corporation Method and apparatus for dynamically filtering network content
EP0881559B1 (en) 1997-05-28 2003-08-20 Siemens Aktiengesellschaft Computer system for protecting software and a method for protecting software
US20050081059A1 (en) * 1997-07-24 2005-04-14 Bandini Jean-Christophe Denis Method and system for e-mail filtering
US6199102B1 (en) 1997-08-26 2001-03-06 Christopher Alan Cobb Method and system for filtering electronic messages
US6003027A (en) 1997-11-21 1999-12-14 International Business Machines Corporation System and method for determining confidence levels for the results of a categorization system
US6393465B2 (en) 1997-11-25 2002-05-21 Nixmail Corporation Junk electronic mail detector and eliminator
WO1999032985A1 (en) 1997-12-22 1999-07-01 Accepted Marketing, Inc. E-mail filter and method thereof
US6023723A (en) 1997-12-22 2000-02-08 Accepted Marketing, Inc. Method and system for filtering unwanted junk e-mail utilizing a plurality of filtering mechanisms
US6052709A (en) 1997-12-23 2000-04-18 Bright Light Technologies, Inc. Apparatus and method for controlling delivery of unsolicited electronic mail
GB2334116A (en) 1998-02-04 1999-08-11 Ibm Scheduling and dispatching queued client requests within a server computer
US6484261B1 (en) 1998-02-17 2002-11-19 Cisco Technology, Inc. Graphical network security policy management
US6504941B2 (en) 1998-04-30 2003-01-07 Hewlett-Packard Company Method and apparatus for digital watermarking of images
US6314421B1 (en) 1998-05-12 2001-11-06 David M. Sharnoff Method and apparatus for indexing documents for message filtering
US6074942A (en) * 1998-06-03 2000-06-13 Worldwide Semiconductor Manufacturing Corporation Method for forming a dual damascene contact and interconnect
US6308273B1 (en) 1998-06-12 2001-10-23 Microsoft Corporation Method and system of security location discrimination
US6192360B1 (en) 1998-06-23 2001-02-20 Microsoft Corporation Methods and apparatus for classifying text and for building a text classifier
US6161130A (en) 1998-06-23 2000-12-12 Microsoft Corporation Technique which utilizes a probabilistic classifier to detect "junk" e-mail by automatically updating a training and re-training the classifier based on the updated training set
US6167434A (en) 1998-07-15 2000-12-26 Pang; Stephen Y. Computer code for removing junk e-mail messages
US6112227A (en) 1998-08-06 2000-08-29 Heiner; Jeffrey Nelson Filter-in method for reducing junk e-mail
US6434600B2 (en) 1998-09-15 2002-08-13 Microsoft Corporation Methods and systems for securely delivering electronic mail to hosts having dynamic IP addresses
US6732273B1 (en) 1998-10-21 2004-05-04 Lucent Technologies Inc. Priority and security coding system for electronic mail messages
GB2343529B (en) 1998-11-07 2003-06-11 Ibm Filtering incoming e-mail
US6546416B1 (en) 1998-12-09 2003-04-08 Infoseek Corporation Method and system for selectively blocking delivery of bulk electronic mail
US6643686B1 (en) 1998-12-18 2003-11-04 At&T Corp. System and method for counteracting message filtering
US6615242B1 (en) 1998-12-28 2003-09-02 At&T Corp. Automatic uniform resource locator-based message filter
US6654787B1 (en) 1998-12-31 2003-11-25 Brightmail, Incorporated Method and apparatus for filtering e-mail
US6266692B1 (en) 1999-01-04 2001-07-24 International Business Machines Corporation Method for blocking all unwanted e-mail (SPAM) using a header-based password
US6330590B1 (en) 1999-01-05 2001-12-11 William D. Cotten Preventing delivery of unwanted bulk e-mail
US6424997B1 (en) 1999-01-27 2002-07-23 International Business Machines Corporation Machine learning based electronic messaging system
US6449634B1 (en) 1999-01-29 2002-09-10 Digital Impact, Inc. Method and system for remotely sensing the file formats processed by an E-mail client
US6477551B1 (en) 1999-02-16 2002-11-05 International Business Machines Corporation Interactive electronic messaging system
GB2347053A (en) * 1999-02-17 2000-08-23 Argo Interactive Limited Proxy server filters unwanted email
US6732149B1 (en) 1999-04-09 2004-05-04 International Business Machines Corporation System and method for hindering undesired transmission or receipt of electronic messages
WO2000072112A2 (en) * 1999-05-12 2000-11-30 Fraunhofer Crcg, Inc. Obfuscation of executable code
US6370526B1 (en) 1999-05-18 2002-04-09 International Business Machines Corporation Self-adaptive method and system for providing a user-preferred ranking order of object sets
US6592627B1 (en) 1999-06-10 2003-07-15 International Business Machines Corporation System and method for organizing repositories of semi-structured documents such as email
US6728690B1 (en) 1999-11-23 2004-04-27 Microsoft Corporation Classification system trainer employing maximum margin back-propagation with probabilistic outputs
US6321267B1 (en) 1999-11-23 2001-11-20 Escom Corporation Method and apparatus for filtering junk email
US6633855B1 (en) 2000-01-06 2003-10-14 International Business Machines Corporation Method, system, and program for filtering content using neural networks
US6701440B1 (en) 2000-01-06 2004-03-02 Networks Associates Technology, Inc. Method and system for protecting a computer using a remote e-mail scanning device
US7822977B2 (en) 2000-02-08 2010-10-26 Katsikas Peter L System for eliminating unauthorized electronic mail
US6691156B1 (en) 2000-03-10 2004-02-10 International Business Machines Corporation Method for restricting delivery of unsolicited E-mail
US6684201B1 (en) 2000-03-31 2004-01-27 Microsoft Corporation Linguistic disambiguation system and method using string-based pattern training to learn to resolve ambiguity sites
US7210099B2 (en) 2000-06-12 2007-04-24 Softview Llc Resolution independent vector display of internet content
US20040073617A1 (en) 2000-06-19 2004-04-15 Milliken Walter Clark Hash-based systems and methods for detecting and preventing transmission of unwanted e-mail
CA2409920C (en) 2000-06-22 2013-05-14 Microsoft Corporation Distributed computing services platform
US7003555B1 (en) 2000-06-23 2006-02-21 Cloudshield Technologies, Inc. Apparatus and method for domain name resolution
US6779021B1 (en) 2000-07-28 2004-08-17 International Business Machines Corporation Method and system for predicting and managing undesirable electronic mail
US6842773B1 (en) 2000-08-24 2005-01-11 Yahoo ! Inc. Processing of textual electronic communication distributed in bulk
US6757830B1 (en) 2000-10-03 2004-06-29 Networks Associates Technology, Inc. Detecting unwanted properties in received email messages
US6971023B1 (en) 2000-10-03 2005-11-29 Mcafee, Inc. Authorizing an additional computer program module for use with a core computer program
US6748422B2 (en) 2000-10-19 2004-06-08 Ebay Inc. System and method to control sending of unsolicited communications relating to a plurality of listings in a network-based commerce facility
US7243125B2 (en) 2000-12-08 2007-07-10 Xerox Corporation Method and apparatus for presenting e-mail threads as semi-connected text by removing redundant material
US6775704B1 (en) 2000-12-28 2004-08-10 Networks Associates Technology, Inc. System and method for preventing a spoofed remote procedure call denial of service attack in a networked computing environment
CA2437726A1 (en) * 2001-02-15 2002-08-22 Suffix Mail Inc. E-mail messaging system
US6928465B2 (en) 2001-03-16 2005-08-09 Wells Fargo Bank, N.A. Redundant email address detection and capture system
US6751348B2 (en) 2001-03-29 2004-06-15 Fotonation Holdings, Llc Automated detection of pornographic images
US7188106B2 (en) 2001-05-01 2007-03-06 International Business Machines Corporation System and method for aggregating ranking results from various sources to improve the results of web searching
US6768991B2 (en) 2001-05-15 2004-07-27 Networks Associates Technology, Inc. Searching for sequences of character data
US7103599B2 (en) 2001-05-15 2006-09-05 Verizon Laboratories Inc. Parsing of nested internet electronic mail documents
US20030009698A1 (en) 2001-05-30 2003-01-09 Cascadezone, Inc. Spam avenger
US6993574B2 (en) 2001-06-19 2006-01-31 Zoetics, Inc. Web-based communications addressing system and method
US7502829B2 (en) 2001-06-21 2009-03-10 Cybersoft, Inc. Apparatus, methods and articles of manufacture for intercepting, examining and controlling code, data and files and their transfer
US7328250B2 (en) * 2001-06-29 2008-02-05 Nokia, Inc. Apparatus and method for handling electronic mail
TW533380B (en) 2001-07-23 2003-05-21 Ulead Systems Inc Group image detecting method
US6769016B2 (en) 2001-07-26 2004-07-27 Networks Associates Technology, Inc. Intelligent SPAM detection system using an updateable neural analysis engine
KR100391319B1 (en) * 2001-10-06 2003-07-12 주식회사 테라스테크놀로지 Electronic Mail Service Method and System Making Use of Dynamic IP Filtering
US20060036701A1 (en) * 2001-11-20 2006-02-16 Bulfer Andrew F Messaging system having message filtering and access control
US20030204569A1 (en) 2002-04-29 2003-10-30 Michael R. Andrews Method and apparatus for filtering e-mail infected with a previously unidentified computer virus
US20030229672A1 (en) 2002-06-05 2003-12-11 Kohn Daniel Mark Enforceable spam identification and reduction system, and method thereof
KR20020063534A (en) * 2002-06-25 2002-08-03 디프소프트 주식회사 Method for filtering spam mail
US8046832B2 (en) 2002-06-26 2011-10-25 Microsoft Corporation Spam detector with challenges
US8924484B2 (en) 2002-07-16 2014-12-30 Sonicwall, Inc. Active e-mail filter with challenge-response
US7363490B2 (en) 2002-09-12 2008-04-22 International Business Machines Corporation Method and system for selective email acceptance via encoded email identifiers
US20040083270A1 (en) 2002-10-23 2004-04-29 David Heckerman Method and system for identifying junk e-mail
US7149801B2 (en) 2002-11-08 2006-12-12 Microsoft Corporation Memory bound functions for spam deterrence and the like
US6732157B1 (en) 2002-12-13 2004-05-04 Networks Associates Technology, Inc. Comprehensive anti-spam system, method, and computer program product for filtering unwanted e-mail messages
US7171450B2 (en) 2003-01-09 2007-01-30 Microsoft Corporation Framework to enable integration of anti-spam technologies
US7533148B2 (en) 2003-01-09 2009-05-12 Microsoft Corporation Framework to enable integration of anti-spam technologies
US7725544B2 (en) 2003-01-24 2010-05-25 Aol Inc. Group based spam classification
US7219148B2 (en) 2003-03-03 2007-05-15 Microsoft Corporation Feedback loop for spam prevention
US20040177120A1 (en) 2003-03-07 2004-09-09 Kirsch Steven T. Method for filtering e-mail messages
US7320020B2 (en) 2003-04-17 2008-01-15 The Go Daddy Group, Inc. Mail server probability spam filter
US7263607B2 (en) 2003-06-12 2007-08-28 Microsoft Corporation Categorizing electronic messages based on trust between electronic messaging entities
US7051077B2 (en) 2003-06-30 2006-05-23 Mx Logic, Inc. Fuzzy logic voting method and system for classifying e-mail using inputs from multiple spam classifiers
US7155484B2 (en) 2003-06-30 2006-12-26 Bellsouth Intellectual Property Corporation Filtering email messages corresponding to undesirable geographical regions
US20050015455A1 (en) 2003-07-18 2005-01-20 Liu Gary G. SPAM processing system and methods including shared information among plural SPAM filters
US20050060643A1 (en) 2003-08-25 2005-03-17 Miavia, Inc. Document similarity detection and classification system
US7257564B2 (en) 2003-10-03 2007-08-14 Tumbleweed Communications Corp. Dynamic message filtering
US7930351B2 (en) 2003-10-14 2011-04-19 At&T Intellectual Property I, L.P. Identifying undesired email messages having attachments
US7373385B2 (en) * 2003-11-03 2008-05-13 Cloudmark, Inc. Method and apparatus to block spam based on spam reports from a community of users
US20050120019A1 (en) * 2003-11-29 2005-06-02 International Business Machines Corporation Method and apparatus for the automatic identification of unsolicited e-mail messages (SPAM)
US7590694B2 (en) * 2004-01-16 2009-09-15 Gozoom.Com, Inc. System for determining degrees of similarity in email message information
US7693943B2 (en) * 2004-01-23 2010-04-06 International Business Machines Corporation Classification of electronic mail into multiple directories based upon their spam-like properties

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002514333A (en) * 1997-06-09 2002-05-14 インタートラスト テクノロジーズ コーポレイション Confusing technology to enhance software security
US20020199095A1 (en) * 1997-07-24 2002-12-26 Jean-Christophe Bandini Method and system for filtering communication

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014039270A (en) * 2007-01-30 2014-02-27 Datasci Llc Systems and methods for filtering cellular telephone messages
JP5121828B2 (en) * 2007-07-04 2013-01-16 アイマトリックス株式会社 E-mail processing apparatus, e-mail processing method, e-mail processing program, and e-mail processing system
JP2009140437A (en) * 2007-12-10 2009-06-25 Just Syst Corp Filtering processing method, filtering processing program, and filtering device
JP2009289246A (en) * 2008-05-27 2009-12-10 Yahoo Japan Corp Message determining apparatus, method and program
JP6087484B1 (en) * 2016-03-09 2017-03-01 楽天株式会社 Distribution apparatus, distribution method, program, and non-transitory computer-readable information recording medium
WO2017154130A1 (en) * 2016-03-09 2017-09-14 楽天株式会社 Distribution device, distribution method, program, and non-transitory computer-readable information recording medium

Also Published As

Publication number Publication date
KR101143194B1 (en) 2012-05-22
EP2498458A2 (en) 2012-09-12
US20050015454A1 (en) 2005-01-20
CN1573780A (en) 2005-02-02
KR20040110086A (en) 2004-12-29
CN1573780B (en) 2013-03-06
EP1489799A2 (en) 2004-12-22
EP2498458A3 (en) 2013-12-25
US7519668B2 (en) 2009-04-14
JP4572087B2 (en) 2010-10-27
EP1489799A3 (en) 2005-09-28

Similar Documents

Publication Publication Date Title
JP4572087B2 (en) Spam filter obfuscation
US7660865B2 (en) Spam filtering with probabilistic secure hashes
JP4799057B2 (en) Incremental anti-spam lookup and update services
JP4335582B2 (en) System and method for detecting junk e-mail
US8959159B2 (en) Personalized email interactions applied to global filtering
US7464264B2 (en) Training filters for detecting spasm based on IP addresses and text-related features
Androutsopoulos et al. An evaluation of naive bayesian anti-spam filtering
AU2003300051B2 (en) Adaptive junk message filtering system
Toolan et al. Feature selection for spam and phishing detection
US7543053B2 (en) Intelligent quarantining for spam prevention
US20060195785A1 (en) Automatically generated highlight view of electronic interactions
US20060149820A1 (en) Detecting spam e-mail using similarity calculations
RU2710739C1 (en) System and method of generating heuristic rules for detecting messages containing spam
JP2005018745A (en) Advanced spam detection technique
RU2750643C2 (en) Method for recognizing a message as spam through anti-spam quarantine
US11244117B2 (en) Automatic message pre-processing
US10742581B2 (en) Summarization-based electronic message actions
US8375089B2 (en) Methods and systems for protecting E-mail addresses in publicly available network content
Issac et al. Improved Bayesian anti-spam filter implementation and analysis on independent spam corpuses
JP2006252242A (en) Electronic message analysis apparatus and method
US20170161369A1 (en) Computer-readable recording medium, learning method, and mail server
Klangpraphant et al. E-mail authentication system: a spam filtering for smart senders
Brendel et al. Primary role identification in e-mail networks using pattern subgraphs and sequence diagrams
Nerellapalli Adaptive anti-spam e-mail filtering using Huffman coding and statistical learning

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070501

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100326

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100528

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100810

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100816

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130820

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees