SendGridのフィッシングメール対策

SendGridのフィッシングメール対策

この記事は Ridding Email Phish at Massive Scale の抄訳です。

月間500億通を配信するプラットフォームで正当なメールの比率を99.97%まで高める方法

SendGridは月間500億通ものメールを配信しており、90日間で世界中のメール利用者の半分にリーチできるほどになりました。この規模になると、受信者の個人情報や認証情報を危険なフィッシング攻撃から守ることが不可欠です。

一般的なプラットフォームのセキュリティは何か問題が発生して初めて話題になりますが、SendGridやその他のパブリッククラウドのようなオープンプラットフォームは常に攻撃にさらされているため、日頃から備えておかなければなりません。

専門家の調査によると、「フィッシング攻撃を受けたことがある」と回答した人の割合は2017年の76%から2018年の83%にまで上がっているそうです(参考)。また、被害を受けた中規模企業の損失額は平均160万ドルにも上るという調査結果もありました(参考)。

このような状況を踏まえ、SendGridがリーチするおよそ20億人の受信者を守るため、 「Inbox Protection Rate(受信ボックス保護率)」という評価指標を設けて、コンプライアンスの取り組みを自己評価しています。

2019年3月31日現在、SendGridから配信するメールの99.97%は正当なメールです

受信ボックス保護率を測ることで、到達率だけではなく、サービスが抱える潜在的なリスクや、そのリスクがメールのエコシステム全体に与える影響についても追跡しています。この取り組みはSendGridユーザやその顧客への透明性を確保することにもつながります。

フィッシングメールとは

まずはフィッシングメールとスパムメールの違いを理解しましょう。スパムメールは、受信者の興味にマッチしない一斉配信メールのような、望まれないメールを指します。スパムメールの中にはオプトインを取っていないだけで内容自体は正当なものもあり、多くの場合、受信者をだましたり個人情報にアクセスしたりする意図はありません。

一方で、フィッシングメールは、パスワードや社会保障番号のような重要な個人情報を抜き取るという明確な目的を持って送信されます。マルウェアの添付やランサムウェアを仕込んだWebサイトへの誘導といった手段を取りますが、受信者は脅されたり好奇心をあおられたりして知らないうちに情報を開示してしまいます。

フィッシング攻撃の内容は様々で、不正なファイルを添付しただけの単純なケースもあれば、既存の法人サイトのコンテンツをそのまま利用して成りすまし、CTAのリンク先だけが不正なURLになっているような巧妙なケースもあります。特に @yah00.com、@payypal.com、@applle.com、@go0gle.com のような実在の企業とそっくりなドメインが利用されると、より騙されやすくなります。

スペルミスや非ネイティブが書いたような文面、不自然なFromアドレスといった特徴から受信者自身で気が付くこともありますが、ある程度はプラットフォーム側で検出できることが望ましいでしょう。以下、SendGridにおけるフィッシングの検出方法について紹介します。

機械学習によるフィッシングメールの検出

大量のメールを配信するプラットフォームでは、手動でフィッシングメールを除去してメールの品質を上げることは不可能で、ネットワークを含む適切なシステム設計と悪意のある送信者の攻撃手法の両面を理解した上で対策する必要があります。

SendGridでは、メールコンテンツに関する広い知識をもとに、機械学習ベースのフィッシングメール検出システム(「Phisherman」)を開発しました。Phishermanでは、TensorFlowを使って構築したニューラルネットワークによりフィッシングメールである確率を計算します。パターン識別のために単語ベクトルを使い、正当なメールからフィッシングメールを選り分けるためのモデルと比較します。

一般的な企業では学習データを準備すること自体が困難ですが、SendGridでは機械学習に適した良いメール・悪いメールのデータセットを十分に集めることができます。大規模なデータセットを使うことに加え、フィッシング攻撃の変化に合わせて追加学習することで検出精度を上げてきました。

ただし、誤検出もあり得るため、自動検出されたメールはすべてコンプライアンス担当者がチェックし、正当なメールを除去しないよう細心の注意を払っています。また、誤検出の情報もPhishermanの改良に役立てています。

このように、自動検出に頼って悪意のある送信者を特定するだけではなく、誤検出を抑えて正当なユーザに悪影響を与えないよう運用しなければなりません。

メール送信サービスの信頼性と透明性の向上

企業にとって自社の欠点は大きな関心事ではなく、議論を避ける傾向にあります。しかし、メールのエコシステムを守るためには、データの使い道だけではなく受信者を守るシステムの構築方法についても情報を開示し、透明性を高めることが重要だと考えています。具体的には、SaaSプロバイダがサービスの評価基準として稼働時間や可用性を公開するのと同じように、他のメール送信業者も「受信ボックス保護率」のような値を公開してくれることを期待しています。SaaSの登場で強力なテクノロジーが簡単に手に入るようになりましたが、サービス自体のチェックを怠れば、世界中で悪用されてしまうかもしれません。システムの成功の判断基準を明確にすることで、サービスの拡大に伴って発生する問題をうやむやにせず、率直に会話できるのです。

悪意のある送信者に対抗するためには、透明性を確保し、業界として団結しなければなりません。テクノロジーの監視はすべての企業の責務です。

Twilio社(※2018年にSendGrid社を買収)における、全てのチャネルで信頼性の高い顧客コミュニケーションを取るための取り組みについては、こちらのブログ記事を参照してください。

受信ボックス保護率とは

受信ボックス保護率は、SendGridのサーバを経由して送信されたメールのうち、正当なメール(正当なビジネスで作成された非フィッシングメール)の割合を示します。スパムか否かは受信者の主観的な判断となるため、スパム判定の正確性や受信者からの評価を測るものではありません。また、SendGridから外部へ送信するメッセージを評価するだけでなく、宛先側の受信拒否など何らかの問題が発生して戻ってきたバウンス通知の内容についても分析しています。

さらに、凍結したアカウントを目視で確認した結果、フィッシングメールを送っていると判断した場合は、アカウントを停止し悪意のあるユーザとしてタグ付けします。タグ付けしたアカウントが過去に送信したメッセージをカウントして統計を取り、それらのメッセージを自動検出の仕組みに取り込んで効率化や堅牢性・検出率の向上に役立てています。