760 likes | 1.37k Views
修士論文審査. 「 IP アドレスの特徴を用いた SVM による spam メールの判別法」. 早稲田大学 基幹理工学研究科 5109B084-7 後藤研究室 修士 2 年 本嶋 悠也. Agenda. 研究の背景 研究の目的 既存手法 提案手法 実証実験 実験1 実験2 まとめ 今後の課題. 研究の背景. spam メールとは 受信者の意図に関わらず、自動的に送られてくるメール 不特定多数の相手に送られる、内容として広告・宣伝・誘導・詐欺等の性質が強いメール 問題点 メール整理に伴う時間の浪費・受信者への精神的負担 重要なメールの見落とし
E N D
修士論文審査 「IPアドレスの特徴を用いた SVMによるspamメールの判別法」 早稲田大学 基幹理工学研究科 5109B084-7 後藤研究室 修士2年 本嶋 悠也 修論審査
Agenda • 研究の背景 • 研究の目的 • 既存手法 • 提案手法 • 実証実験 • 実験1 • 実験2 • まとめ • 今後の課題 修論審査
研究の背景 • spamメールとは • 受信者の意図に関わらず、自動的に送られてくるメール • 不特定多数の相手に送られる、内容として広告・宣伝・誘導・詐欺等の性質が強いメール • 問題点 • メール整理に伴う時間の浪費・受信者への精神的負担 • 重要なメールの見落とし • ネットワーク資源及びサーバ資源の浪費 • サーバ資源の浪費に伴うメール配送遅延 • マルウェアへの感染 修論審査
研究の背景 • spamメールは長年問題視されている • メールのヘッダや本文に基づく対策手法は精度の良いものが存在しているが、その計算量によって配送遅延の原因となる メールのヘッダや本文によらない対策手法を提案する 修論審査
研究の目的 • メールのヘッダや本文によらず、メール送信者のIPアドレスでspamメール送信者か否かを判別する手法をSVM (Support Vector Machine)を用いて実現する。 修論審査
既存手法 2008年度 卒業論文 「IPアドレスの特徴を用いたspamメール送信者判別方法」 ナイーブベイズ分類器を利用 IPベースでspamメール送信者か否か判別 各クラスにおける特徴の生起確率を用いる 利用する特徴:BGP Prefix, AS番号, 国番号, PTR, OS 表1:既存手法における判別精度 ※FPR: False Positive Ratio = legitをspammerと判別した数 / legit数 FNR: False Negative Ratio = spammerをlegitと判別した数 / spammer数 修論審査
既存手法 • 利用する特徴 • BGP Prefix: IPアドレスに対応する、AS番号に関連付けられたネットワーク • AS番号: そのIPアドレスが属するネットワークのAS番号 • 国番号: そのIPアドレスを割り当てられている国 • PTRレコードの有無 逆引きドメイン名が設定されているか否か • OS IPアドレスから判定された、ホストのOS 例:早稲田大学 133.9.0.0/16 例:早稲田大学:AS17956 例:JP, US, CN, … 例:133.9.81.1 → vox3.goto.info.waseda.ac.jp 例:Windows, Linux, Mac, … 修論審査
提案手法 • IPアドレスから求めることのできる特徴を特徴ベクトルとしてSVMに適用し、spamメール送信者を判別する • IPアドレスベースで判別 • 既存手法を踏まえつつ、新しい特徴を導入する • カテゴリカルでない特徴 • 逆引きドメイン名に着目した特徴 • SVM (Support Vector Machine) • 教師あり機械学習の一つ • カーネル関数により、非線形な問題にも適用可能 ※カテゴリカルな特徴: 順序性、等間隔性を持たない特徴 修論審査
提案手法 • 利用する特徴 (既存手法と同じ) • BGP Prefix • AS番号 • 国番号 • PTRレコードの有無 • OS 修論審査
提案手法 • 利用する特徴 (カテゴリカルでない特徴) • メール送信回数:そのIPアドレスからメールが送られた回数 • spamメール送信回数:そのIPアドレスから送られたメールのうち spamメールであると判定されたものの件数 • hamメール送信回数:そのIPアドレスから送られたメールのうち、hamメール(正常なメール)であると判定されたものの件数 • グレイリスト:そのIPアドレスから送られたメールの中で、グレイリストで受信が拒否されたものの件数 • SMTPセッション:SMTPセッションを開始したが、メールが送られずにセッションを開始しただけで終わったものの件数 • 活動期間:1ヶ月の間にメールを送った日が何日間あったか ナイーブベイズ分類器では特徴の生起確率を用いるため、カテゴリカルでない特徴を導入することが難しい 修論審査
提案手法 • 利用する特徴 (逆引きドメイン名に着目した特徴) • 逆引きドメイン名に含まれる数字の個数 逆引きドメイン名に含まれる数字の個数が、対応するIPアドレス の数字の個数以上か否か • S25Rスパム対策方式のルール1 逆引きドメイン名の最下位の名前が、数字以外の文字列で分断 された二つ以上の数字列を含むか否か ※S25Rスパム対策方式 浅見秀雄が考案した手法。逆引きドメイン名の特徴に基づいて作られたルールを用いて、メール送信元がメール中継サーバかエンドユーザかを判断する。エンドユーザと思われるクライアントから送られたメールをspamメールと判断する。 修論審査
提案手法 • 特徴ベクトル • カテゴリカルな特徴 • その特徴を持つか否か(0 or 1)で与える • カテゴリカルでない特徴 • その特徴の値を[0,1]にスケーリングして与える 修論審査
提案手法 • スケーリング • 数値の範囲の大きな特徴が数値の範囲の小さい特徴を支配してしまう場合がある • 各特徴ごとに、 として[0,1]にスケーリングする 修論審査
実証実験 • 実験1:カテゴリカルでない特徴を導入した場合の 判別率の評価 • 実験2:逆引きドメイン名に着目した特徴を導入した 場合の判別率の評価 • 実験結果の評価 • FPR: False Positive Ratio = legitをspammerと判別した数 / legit数 • FNR: False Negative Ratio = spammerをlegitと判別した数 / spammer数 として評価する • 交差確認法 (cross validation)を用いる 修論審査
ランダムサンプリング 実験に用いるデータ • 協力者に提供して頂いた、1ヶ月間のSMTPログ • このSMTPログではメールは分類済み (spam / ham / greylisted / session) • ログを集計し、spammer,legitらしいIPアドレスを抽出 • spammer : spamメール送信者 • legit : 正常なメール送信者 • IPアドレスごとに特徴を求め、特徴ベクトルを作成する 表2:SMTPログから抽出したIPアドレスの件数 修論審査
実験1の結果 • カテゴリカルでない特徴を導入した場合の判別率 表3:カテゴリカルでない特徴を導入した場合の判別率の変化 ①カテゴリカルな特徴のみの場合 ②カテゴリカルでない特徴含む場合 FPR, FNRが共に改善された ※FPR: False Positive Ratio = legitをspammerと判別した数 / legit数 FNR: False Negative Ratio = spammerをlegitと判別した数 / spammer数 修論審査
実験2の結果 • 逆引きドメイン名に着目した特徴を導入した場合の判別率 表4:逆引きドメイン名に着目した特徴を導入した場合の判別率の変化 ②逆引きドメイン名に着目した特徴を含まない場合 ※実験1の②と同条件 ③逆引きドメイン名に着目した特徴を含む場合 FPR, FNRがさらに改善された ※FPR: False Positive Ratio = legitをspammerと判別した数 / legit数 FNR: False Negative Ratio = spammerをlegitと判別した数 / spammer数 修論審査
まとめ • IPアドレスから求めることのできる特徴をSVMに 適用し、メール送信者がspamメール送信者か否かを判別する手法を提案した • ベイズ分類器と違い、SVMではカテゴリカルでない 特徴の導入が容易である • カテゴリカルでない特徴、逆引きドメイン名に着目した特徴の導入により判別率を向上させることができた 修論審査
今後の課題 • 判別に有効な新しい特徴の検討 • 提案手法で用いた特徴の他にも、判別に有効な特徴が存在する可能性がある • 訓練量による判別率への影響 • 訓練データの量が増えた場合にどうなるか • spammerと同等の件数のlegitを用意する 修論審査
ご清聴ありがとうございました 修論審査
補足資料 修論審査
spamメール • spamメールとは • 受信者の意図に関わらず、自動的に送られてくるメール • 不特定多数の相手に送られる、内容として広告・宣伝・誘導・詐欺等の性質が強いメール • 問題点 • メール整理に伴う時間の浪費・受信者への精神的負担 • 重要なメールの見落とし • ネットワーク資源及びサーバ資源の浪費 • サーバ資源の浪費に伴うメール配送遅延 • マルウェアへの感染 修論審査
BGP Prefix • BGP PrefixとAS番号の対応表は、「Route Views Archive Project」のものを整形して使用 修論審査
AS番号 • BGP Prefix同様、対応表はRoute Views Archive Projectのものを使用 • AS番号はBGPで経路制御を行うASに割り当てられる 修論審査
AS (Autonomous System) • 大規模なTCP/IPネットワークにおいて、各組織が保有・運用する自律したネットワーク • インターネットはマクロに見ると、ASを相互に接続した形態となっている • AS間の経路制御に使われるプロトコルがBGP (Border Gateway Protocol) • AS間の境界にあるルータは経路情報を交換する 修論審査
国番号 • MaxMind社のGeoIPというデータベースを使用。GeoIPはIPアドレスを地理情報にマッピングした データベースである。 修論審査
OS • passive fingerprintingの実装の一つであるp0fというツールを用いてOSを判定 • passive fingerprintingは、OSによってTCPパケットに記載するヘッダのデフォルト値の組み合わせが異なるという性質を利用し、TCPパケットに記録されたヘッダの各属性値の組み合わせから、そのパケットを送出したホストのOSを判定する技術 • p0fでは、事前に集めた各OSと属性値の組み合わせから構成されるテーブルを用意し、パッシブ測定によって得たTCPヘッダの属性とテーブルを比較することにより、OSを判定する 修論審査
グレイリスト • spamメール対策手法の一つ • メール受信の際に送信元の情報をデータベースに登録し、メールは受信せずに一時的エラーを示すステータスコードを返す。その後、一定時間以上経ってから同じサーバからメールが再送された場合に受信する • spamメールを送信するサーバは、大量のメールを短時間に送信することを重視して、一時的エラーに対して再送を行わないという特徴を利用している 修論審査
逆引きドメイン名 • DNSを用いてIPアドレスからドメイン名に変換する ことを逆引きという • 逆引きによって得られるドメイン名が逆引きドメイン名 • 逆引きを設定していないIPアドレスも存在する • ISPによって自動的に付加されているIPアドレスも存在する • ドメイン名がIPアドレス形式のものはその可能性が高い 例:192.168.0.1.example.com 修論審査
S25Rスパム対策方式 • 浅見秀雄が考案したspamメール対策手法 • ルール • 0:逆引き失敗 • 1:逆引きFQDNの最下位の名前が、数字以外の文字列で分断された二つ以上の文字列を含む • 2:逆引きFQDNの最下位の名前が、5個以上連続する数字を含む • 3:逆引きFQDNの上位3階層を除き、最下位または下位から2番目の名前が数字で始まる • 4:逆引きFQDNの最下位の名前が数字で終わり、かつ下位から2番目の名前が、1個のハイフンで分断された二つ以上の数字列を含む • 5:逆引きFQDNが5階層以上で、下位2階層の名前がともに数字で終わる • 6:逆引きFQDNの最下位の名前が「dhcp」、「dialup」、「ppp」、またはDSL系の名前で始まり、かつ数字を含む 修論審査
カテゴリカルでない特徴の導入 • スケーリング • 数値の範囲の大きな特徴が数値の範囲の小さい特徴を支配してしまう場合がある • 各特徴ごとに、 として[0,1]にスケーリングする 修論審査
訓練データの偏りに対する対策 • サンプリング • 正例、負例の数に偏りがある場合、予測精度が低下する • spammerの件数をlegitと同じ数に減らす • ランダムサンプリング 表:サンプリング前後の判別率の変化 ※FPR: False Positive Ratio = legitをspammerと判別した数 / legit数 FNR: False Negative Ratio = spammerをlegitと判別した数 / spammer数 修論審査
SVMの分類結果を確率値に近似 • SVMの出力をシグモイド関数に当てはめることで確率値へのよい近似が得られることは実験的に示されている • John Platt. “Probabilistic Outputs for Support Vector Machines and Comparisons to RegularizedLikelihood Methods” In Advances in Large MarginClassifiers. MIT Press, 1999. 修論審査 34
交差確認法 • 10-fold cross validation(10分割交差確認法) • データを10個に分ける • 分けたうちの一つを除外した、9個のデータを使ってパラメータを推定 • 除外するデータを毎回変えて、推定を10回繰り返す • 10回の推定の平均値で評価する 修論審査
各属性の生起確率の例 (BGP) 修論審査
各属性の生起確率の例 (AS番号) 修論審査
各属性の生起確率の例 (国情報) 修論審査
各属性の生起確率の例 (RDNS) 修論審査
各属性の生起確率の例 (OS) 修論審査
実験データの作成 [対応表] 1:messages 2:spam 3:ham 4:greylisted 5:session 6:active days 7:bgp prefix 201.221.197.0/24 8:bgp prefix 119.235.0.0/20 9:bgp prefix 71.13.80.0/20 ~中略~ 59305:asn 8434 59306:asn 5006 59307:asn 42517 ~中略~ 67951:country code DJ 67952:country code JM 67953:country code PG ~中略~ 68160:rdns 68161:os SymbianOS 68162:os OpenBSD ~後略~ • 特徴を番号に対応付ける表を作成 • BGP Prefix~OSについてはカテゴリカルデータとして扱い、個別に番号を振る • 順序性・等間隔性を持たない • valueは 0 or 1 修論審査 41
実験データの作成 • 先の表に基づいてフォーマットを変更 [変更前] IP, messages, spam, ham, greylisted, session, active days, bgp prefix, asn, country code, rdns, os 4.21.175.95,11,0,11,60,0,2,4.0.0.0/9,3356,US,0,Windows 8.7.218.53,10,0,10,34,0,3,8.0.0.0/9,3356,US,1,Windows 12.11.148.84,10,0,10,26,0,3,12.11.148.0/24,14267,US,1,Oscar [変更後] 1 1:11 2:0 3:11 4:60 5:0 6:2 3938:1 61094:1 68135:1 68160:0 68173:1 #4.21.175.95 1 1:10 2:0 3:10 4:34 5:0 6:3 37815:1 61094:1 68135:1 68160:1 68173:1 #8.7.218.53 1 1:10 2:0 3:10 4:26 5:0 6:3 49865:1 63130:1 68135:1 68160:1 68167:1 #12.11.148.84 修論審査 42
SVMの出力 • 実験結果 • 浮動小数点数で得られる • 0以上ならlegit, 0未満ならspammer [実験結果の一部] 28.208991 3.5107295 1.1482799 ~中略~ -1.000785 -2.0499438 -1.0010235 ~後略~ ※legit:正常なメール送信者 spammer: spamメール送信者 修論審査 43
SVM (Support Vector Machine) • 教師あり機械学習 • マージン最大化 • 非線形な問題でも分類可能 • ソフトマージン • カーネルトリック w・x+b=0 y=1 マージン y=-1 2010/11/30 修論審査 第一回修論進捗発表 44
訓練データの偏りに対する対策 • アンダーサンプリング • 訓練データ中のspammerの数を減らしてlegitの数に合わせる 表3:サンプリング前後の判別率の変化 ※FPR: False Positive Ratio = legitをspammerと判別した数 / legit数 FNR: False Negative Ratio = spammerをlegitと判別した数 / spammer数 FPRがかなり改善された 修論審査
カテゴリカルでないデータも含めた学習 • カテゴリカルなデータ • BGP Prefix, AS番号, 国番号, OS, PTRレコードの有無 • カテゴリカルでないデータ • messages, spam, ham, greylisted, session, active days • 値の大きさに引きずられてまともな結果がでなかったので、使用しないでいた 数値の範囲の大きな特徴が数値の範囲の小さい特徴を支配してしまうので、そのような特徴を用いる場合は スケーリングしないと使い物にならないとの指摘 修論審査
カテゴリカルでないデータも含めた学習 1 1:10 2:0 3:10 4:34 5:0 6:3 25509:1 42636:1 46637:1 46660:1 46669:1 1 1:25 2:0 3:25 4:33 5:0 6:11 19636:1 41855:1 46637:1 46660:0 46668:1 1 1:21 2:0 3:21 4:19 5:0 6:11 20500:1 42125:1 46637:1 46660:1 46671:1 1 1:0.000965903602820438 2:0 3:0.000977708251857646 4:0.000913192952299097 5:0 6:0.125 25509:1 42636:1 46637:1 46660:1 46669:1 1 1:0.0024147590070511 2:0 3:0.00244427062964411 4:0.000886334336055006 5:0 6:0.458333333333333 19636:1 41855:1 46637:1 46660:0 46668:1 1 1:0.00202839756592292 2:0 3:0.00205318732890106 4:0.000510313708637731 5:0 6:0.458333333333333 20500:1 42125:1 46637:1 46660:1 46671:1 修論審査
カテゴリカルでないデータも含めた学習 • カテゴリカルでないデータ 表4:カテゴリカルでないデータを含めた場合の判別率の変化 ①カテゴリカルなデータのみ、サンプリングなし ②カテゴリカルでないデータ有り、サンプリングなし ③カテゴリカルなデータのみ、サンプリング有り ④カテゴリカルでないデータ有り、スケーリング有り 修論審査