「TLECのuser_prefs」 松田陽一.

Slides:



Advertisements
Similar presentations
1 プリミティブ Web サービスの 入出力データに関する一考察 2005 年 3 月 21 日 松江工業高等専門学校 情報工学科 奈良先端科学技術大学院大学 情報科学研究科 越田高志 電子情報通信学会 2005年総合 大会.
Advertisements

1 ENUM における 個人情報保護システム 2004 年度卒業論文 横澤 一 岐 発表者:梶 沙夜香.
インターネットサーバ と メール配送の仕組み 情報実験 第 13 回 2006/01/27 Last Modified: 2006/01/27M. Tsuji Original: 2004/01/30K. Komatsu.
インターネットサーバ と メール配送の仕組み 情報実験 第 13 回 2005/01/28 Last Modified: 2005/01/28K.Michimasa Original: 2004/01/30K. Komatsu.
第1章 ネットワークとコミュニケーション 第2節 ネットワークのしくみ 2 ネットワークを支える技術 (教科書 p36 ~ p37) 今日の用語  モデム (modulator/demodulator:modem)  IP アドレス (internet protocol address)  ドメインネーム.
位置情報と私 木村岳文 / 位置情報と私 / はじめに GPS 付き携帯、ハンディ GPS などを使っ て、お手軽に自分が地球上のどこにいる かを調べられるようになってきました。 このデータをつかって何かおもしろいこ とができそうな予感。 具体的にどうしたらおもしろいかはよく.
Webmail IMP の日本語化 筑波大学 研究基盤総合センター 木村 博美. レジュメ IMP の紹介 作業の経過 日本語化の作業内容 今後.
1 安全性の高いセッション管理方 式 の Servlet への導入 東京工業大学 理学部 千葉研究室所属 99-2270-6 松沼 正浩.
プログラミング言語論 第10回(演習) 情報工学科 木村昌臣   篠埜 功.
目次 このドキュメントについて・・・前提条件……………………………………… 2
情報・知能工学系 山本一公 プログラミング演習Ⅱ 第3回 配列(1) 情報・知能工学系 山本一公
情報基礎A 情報科学研究科 徳山 豪.
DB(データベース)のおはなし 作成者:小野正広 DBと言っても、  ドラゴンボール ではないですぞ! 3/1/2017.
IPアドレスの特徴を用いた spamメール送信者判別方法
北海道大学大学院 理学院宇宙理学専攻 EPNetFaN Mail サーバ管理課 徳永 義哉
Tomoya Yoshida 4octet-AS ops Tomoya Yoshida
インターネット技術特論 D:SSI,PHP,eRuby 山口 実靖
Regex takatosi.
目次 メール配送の仕組み メールの構造 メール利用の際の注意 メールに関するセキュリティ.
何気ない日常で使われるサーバ・クライアントシステム例
JavaScript プログラミング入門 2006/11/10 神津.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
JavaScriptゼミ第2回 2-2 変数とリテラル 発表者 直江宗紀.
IPアドレス、IPパケットとはなにか? 情報塾( ) URLとの関係は? コンピュータ同士はどう繋がっているか?
Struts1.xの脆弱性(CVE ) に対するSDEの対処:wrapタイプ (パッチのご提供)
共通設定.
JavaによるCAI学習ソフトウェアの開発
メールの使い方・・・・・・内容 メール送受信のしくみ メールの利点 注意事項 メール実習.
Myoungkyu Song and Eli Tilevich 発表者: 石尾 隆(大阪大学)
における1週間の日々 (IRTの 電子メールアドレス)
Phenixサーバ クラックまとめ.
第4回 個人の動画配信補足のためのWeb構築
問題 1 キーボードから入力した数の合計を計算するプログラムを 作成せよ。最初に、何個の数を入力するかその数を入力 するようにする。
HTTPプロトコルとJSP (1) データベース論 第3回.
高等学校 情報A (1)情報を活用するための工夫と情報機器 イ 情報伝達の工夫 いろいろな情報伝達の方法
メールシステム メールシステムの変更 通信プロトコルの変更 ローカルメーラー設定変更 DEEPMail セキュリティ強化
HTTPプロトコル J2EE I 第7回 /
Qmailとspamとの闘い 木村 博美 筑波大学 加速器センター
ML 演習 第 7 回 新井淳也、中村宇佑、前田俊行 2011/05/31.
(B2) 親: minami, kazuki 多様な認証機器に対応する 認証システム (B2) 親: minami, kazuki.
ファイアウォール 基礎教育 (2日目).
入出力データ型に透過な Webサービス動的実行システム 松江工業高等専門学校 情報工学科 越田高志 情報処理学会第68回全国大会
B4向け研究紹介 MTAにおけるspamメール判別方法
第8章 Web技術とセキュリティ   岡本 好未.
情報工学科 3年生対象 専門科目 システムプログラミング 第5回、第6回 ヒアドキュメント レポート課題 情報工学科 篠埜 功.
情報コミュニケーション入門b 第10回 Web入門(1)
情報コミュニケーション入門b 第10回 Web入門(1)
電子メール配送システム 北海道大学 大学院理学院 宇宙理学専攻 修士課程 1年 松岡 亮/Matsuoka Ryo
Linux リテラシ 2006 第4回 ネットワーク CIS RAT.
第7回ネットワークプログラミング 中村 修.
独習XML 第2章 XML文書の構成要素 2.1 XMLの文字と文字列 2.2 コメント
情報スキル活用 第1週 基礎技術ー1 : URLとWebページの基本.
情報コミュニケーション入門e 第11回 Part2 Web入門(1)
Webサーバとクライアント 接続要求 GET ・・ 接続状態 HTTP ・・ Webサーバ
学内環境におけるP2Pアプリケーションの構築
ネットワークプログラミング (3回目) 05A1302 円田 優輝.
メールの仕組みとマナー.
A18 スパムサーバの調査 ~ボットを見抜けるか?~
コンピュータ プレゼンテーション.
情報通信ネットワークと コミュニケーション
ウェッブページ書法の復習 ネットワーク論以前のお話.
個人の動画配信のためのWebサーバ構築 06A1058 古江 和栄.
統計ソフトウエアRの基礎.
迷惑メールは発信時刻を偽るか? 菊池研究室 鈴木 孝彰 水沼 暁.
コンパイラ 2012年10月11日
データの改竄を防ぐ仕組み 2002/9/12 牧之内研究室「インターネット実習」Webページ
SMTPプロトコル 2001年8月7日 龍 浩志.
ベイジアンネットワークと クラスタリング手法を用いたWeb障害検知システムの開発
情報スキル活用 第1週 基礎技術ー1 : URLとWebページの基本.
HTTPプロトコルの詳細 M1 峯 肇史.
Presentation transcript:

「TLECのuser_prefs」 松田陽一

SpamAssassinとは POSIX系OSで稼動するオープンソースのspamフィ ルタ perlのスクリプト heuristicなルールベースのフィルタ+ベイジア ンフィルタ+DNSBL+URIBL+Razor2他+SPF+DKIM etc... 個々のルールのスコアを加算して閾値と比較 metaルール(複数ルールの論理演算) http://d.hatena.ne.jp/keyword/spamassassin

SAの問題点 英語圏で開発されているので、日本語圏特有 の事情が考慮されていない →デフォルト設定では日本語spamに対してほ ぼ無力 副作用を引き起こすルールが混じっている →ボランティアベース故に玉石混合

「TLECのuser_prefs」とは 松田が自分で設定して使用している、SAの ユーザ定義ファイルをそのまま公開 ~/.spamassassin/user_prefs 日本語spamに特化したルール アジア諸国のISPのIPアドレス範囲をルール として設定 他のルールとのmetaルールを多用して、 false positive(偽陽性)を回避 中小企業のサーバ管理に多く採用されている模様 /etc/spamassassin/local.cf

「TLECのuser_prefs」の仕組み 殆どのspamは動的IPから直接受信者のMTAへ 送信される 日本国内の殆どのISPはOP25Bでこの形態の spamを排除しつつあるが、諸外国のISPは全く 無策 spamを受信したら送信元IPを調べて、ISPの IPアドレス範囲をルールに登録 8/17時点で193個

「TLECのuser_prefs」の利点 DNSBL未登録の動的IPから来る日本語spamを 検出できる DNSBLは後追い spamは同一ISPの動的IPを移動する傾向あり DNSBL,Razor2等のスコアを低く設定し、  metaルールでスコアを嵩上げしているので、 false positiveが比較的少ない ISP説明文を定型化しているので、grepすれ ばspam送信元ISPがすぐわかる 統計処理に便利

ISP説明文 ・ISPルール ISP名行頭はアルファベット大文字 ISP名はアルファベット大文字と数字と_(アンダースコア) ・ISP説明文(describe) 左大括弧[ 二文字の国名コード 右大括弧] ISPの説明文

ISP説明文の一例 header GLOBALSPEED_PH X-Spam-Relays-Untrusted =~ /^\[ ip=180\.94\.(?:\d|[12]\d|3[01])\.\d{1,3} / describe GLOBALSPEED_PH [PH]GLOBALSPEED-PH score GLOBALSPEED_PH 1.5 Content analysis details: (74.8 points, 15.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 5.5 BAYES_99 BODY: Bayesian spam probability is 99 to 100% [score: 1.0000] -0.1 CONTENT_TYPE_PRESENT exists:Content-Type 1.5 SHIFT_JIS2 Content-Type: text/plain; charset="SHIFT_JIS" 1.5 GLOBALSPEED_PH [PH]GLOBALSPEED-PH 1.0 FORGED_RCVD_IP Invalid IP number, over 255. 10 MSGID_NUMONLY Message-ID: YYYYMMDDHHMM 1.1 MSGID_SHORT Message-ID is unusually short

「TLECのuser_prefs」の欠点 常に変動するIPアドレスの付与状況に対応す るため、常時spamを監視し続ける必要がある IPアドレスの登録が大変 IPアドレス誤登録に起因するfalse positive に対して弱い Webメイルサービスを悪用したspamに弱い ex.Gmail HTML spam 松田個人しかメンテナンス作業をしていない

X-Spam-Relays-Untrusted SAの機能「pseudo header(仮想ヘッダ)」 SAのデバッグモード(-D)で可視化 MTA毎に書式が異なる「Received:」ヘッダを 正規化 直近の送信元IPアドレスが先頭エントリに来 る http://wiki.apache.org/spamassassin/TrustedRelays

一例 あるspamのヘッダの一部(Received:行のみ抜粋) yahoo.co.jpのMTAは送信元IPの逆引きを行わない Received: from pop.mail.yahoo.co.jp [202.93.87.247] by vawr.pblnet.local with POP3 (fetchmail-6.3.9-rc2) for <yoh@localhost> (single-drop); Mon, 17 Aug 2009 08:10:07 +0900 (JST) Received: from 180.94.8.6 (HELO mx1.mail.yahoo.co.jp) (180.94.8.6) by mta155.mail.kcd.yahoo.co.jp with SMTP; Mon, 17 Aug 2009 08:09:42 +0900 yahoo.co.jpのMTAは送信元IPの逆引きを行わない

一例 $ whois 180.94.8.6 inetnum: 180.94.8.0 - 180.94.8.255 netname: Warpspeed-2-Tel descr: Wifi Provider in Djibouti country: PH admin-c: Gna30-AP tech-c: Gna30-AP status: ALLOCATED NON-PORTABLE mnt-by: MAINT-GLOBALSPEED-PH changed: globalspeed2010@gmail.com 20090811 source: APNIC $ whois 180.94.20.6 inetnum: 180.94.0.0 - 180.94.31.255 netname: GLOBALSPEED-PH descr: 5th Flr JY Square Bldg status: ALLOCATED PORTABLE mnt-by: APNIC-HM mnt-lower: MAINT-GLOBALSPEED-PH

一例 SAのデバッグ出力の一部抜粋 $ spamassassin -d < samplespam.txt|spamassassin -t -D [31190] dbg: metadata: X-Spam-Relays-Trusted: [31190] dbg: metadata: X-Spam-Relays-Untrusted: [ ip=180.94.8.6 rdns=180.94.8.6 helo=mx1.mail.yahoo.co.jp by=mta155.mail.kcd.yahoo.co.jp ident= envfrom= intl=0 id= auth= msa=0 ] [ ip=180.94.8.6 rdns= helo= by= ident= envfrom= intl=0 id= auth= msa=0 ] [31190] dbg: metadata: X-Spam-Relays-Internal: [31190] dbg: metadata: X-Spam-Relays-External: [ ip=180.94.8.6 rdns=180.94.8.6 helo=mx1.mail.yahoo.co.jp by=mta155.mail.kcd.yahoo.co.jp ident= envfrom= intl=0 id= auth= msa=0 ] [ ip=180.94.8.6 rdns= helo= by= ident= envfrom= intl=0 id= auth= msa=0 ]

一例 [31190] dbg: metadata: X-Spam-Relays-Untrusted: [ ip=180.94.8.6 rdns=180.94.8.6 helo=mx1.mail.yahoo.co.jp by=mta155.mail.kcd.yahoo.co.jp ident= envfrom= intl=0 id= auth= msa=0 ] [ ip=180.94.8.6 rdns= helo= by= ident= envfrom= intl=0 id= auth= msa=0 ] 上記仮想ヘッダを検出するルール header GLOBALSPEED_PH X-Spam-Relays-Untrusted =~ /^\[ ip=180\.94\.(?:\d|[12]\d|3[01])\.\d{1,3} / describe GLOBALSPEED_PH [PH]GLOBALSPEED-PH score GLOBALSPEED_PH 1.5

ルールの書き方 spamの特徴を見極める spamの特徴を捉えた正規表現を書く

spamの特徴を見極める 類似spamを複数用意して見比べる From:は殆ど無意味 bodyよりもheader grep,pager(jless等),エディタを使い慣れる From:は殆ど無意味 特定のメイルアドレスを登録してもいたちごっこになるだけ 但し、携帯電話を偽るspamを認識する場合は効果的 bodyよりもheader 日本語キーワードは意外に効果が薄い mimeheaderよりもfull mimeheaderを見るなら全てのコンテンツ定義文字列を見 るのが良い

spamの特徴を捉えた正規表現を書く どこからどこまでマッチングさせるかを明確 にする 少しずつ書き足すとよい なるべく厳密に書く →false positive防止の為 *(0文字以上マッチング)はなるべく避ける

ルール作成の注意点 ISO-2022-JP/Shift-JIS/UTF-8等をマッチン グさせる際はrawbodyルールを使う fullルールは行頭(^)行末($)を認識しない ^はメイル先頭、$はメイル終端 ISO-2022-JP/Shift-JIS/UTF-8等をマッチン グさせる際はrawbodyルールを使う bodyルールではマッチングしない (3.2.xの仕様変更らしい) 仮想ヘッダは偽Received:を変換しない SAはReceived:行の正当性をチェックする

ルールの一例 Multipart/Alternativeなmailなのに、bodyにはQuoted-PrintableエンコーディングされたShiftJISのプレインテキストしか付されていないspamを検出するルール full MPALTSJISQPONLY /\nContent-Type: multipart\/alternative;\n\tboundary=\"(--=.+(?:[a-zA-Z0-9]|=_)|--[0-9]{14,})\"\n(?:.+\n){2,}\n--\1\nContent-Type: text\/plain;(?: charset=\"shift_jis\"){0,1}\nContent-Transfer-Encoding: quoted-printable\n\n(?:(?!\1).+\n|\n){2,}--\1--\n/

ルールの一例 (?:(?!\1).+\n|\n){2,} ←本文 full MPALTSJISQPONLY / \n ←改行 Content-Type: multipart\/alternative;\n ←ヘッダの宣言文 \tboundary=\" (--=.+(?:[a-zA-Z0-9]|=_)|--[0-9]{14,}) ←バウンダリ文字列 \"\n (?:.+\n){2,} ←ヘッダ(空行でない) \n   ←空行、つまりヘッダと本文との境界 --\1\n ←本文中最初のバウンダリ文字列 Content-Type: text\/plain;(?: charset=\"shift_jis\"){0,1}\n Content-Transfer-Encoding: quoted-printable\n  ↑マルチパート宣言文 \n  ←空行 (?:(?!\1).+\n|\n){2,} ←本文 --\1--\n  ←本文中最後のバウンダリ文字列(行末の”--”) /

最近のspamの傾向 全spam中、アジア発(APNIC)spamとその他 (ARIN/LACNIC/RIPE_NCC/AFRINIC)とはほぼ 半々の比率 ALL:59869 ASIA:30889 NOTASIA:28980 (直近62日分) 日本語spamは24%程度 全日本語spam中、アジア発は98% →日本語spamのbotnet使用率は低い? 無料webメイルサービスを悪用したspamが僅 かながら増加傾向

最後に あくまでも個人の成果物なので、無保証で す。 何か不具合や疑問点或は改善提案等がありま したら、yoh@flcl.org に御一報願います。 質疑応答等は http://spamassassin.jp/ で 行っています。

御静聴有難うございました。