この春に大きな問題となったランサムウェアだが、その多くは「バラマキ型攻撃」で、巧妙に偽装されたメールによる流入が多かった。

IIJによれば、2010年以降は落ち着きを見せていた迷惑メールが、ランサムウェアの流行と重なる今年3月頃から急激に増加し、ウイルスが添付されたメールの「バースト的増加」がたびたび見られたそうだ。

IIJのメールサービスで迷惑メールフィルタが検知した割合の推移

実際に警察庁も「上半期におけるサイバー空間をめぐる脅威の情勢等について」という資料を9月に公開。ウイルス添付ファイルの99%が圧縮ファイルとなっており、送信元メールアドレスを偽装した「なりすましメール」の割合も91%に上っていたそうだ。

今年起きた大規模情報漏えい事件で言えばJCBの例があるが、これについても送信元を偽装したメールにウイルスファイルが添付されており、結果的にマルウェアに感染している。

メールアドレスを偽装できる理由

そもそもなぜ、なりすましが起きるのか。これは送信者情報を定義する「メールヘッダ」の仕様に起因する。当初は「マイナビ太郎」といった使い方を想定して、ヘッダに「表示名(display name)」と「メールアドレス」を定義していた。

しかし、この仕様を悪用して「taro @ example.jp」といったアドレスのドメインとは異なるメールアドレスを表示名に設定し、迷惑メールが横行する事態となった。また、「cousin domain」と呼ばれる問題では、「m(エム)」と「rn(アールエヌ)」などの見分けがつきにくい文字列で正当なドメインであるかのように装うケースもある。

この対策には、アドレス帳に登録されたメールアドレスと、表示名ではない送信元メールアドレスをメールソフト/アプリでマッチングしてdisplay name代わりに表示する機能がある。しかし、アドレス帳登録がなければ表示される事実は変わらず、サーバーサイドでの根源的な対策が求められる。

メールヘッダの表示名をメールアドレスにすることで偽装が可能となる

その対策がSPF(Sender Policy Framework)やDKIM(DomainKeys Identified Mail)などの技術で、いずれも送信元の認証を行っている。

SPFは、送信元のDNSサーバーに送信用メールサーバー(SPFレコード、IPアドレス)が存在するか問い合わせ、メールの真偽を確認する。一方のDKIMでは、電子署名を利用してメールの真偽を確認する。具体的には、DNSサーバーで公開鍵を公開し、送信メールに電子署名を付与、受信サーバー側で電子署名を照合して認証する。

それぞれの技術が単体で動作した場合、認証チェックで漏れてしまうメールが存在する。「ドメイン認証できない場合は100%問題」というわけではなく、技術的なミスからDNSサーバーへの問い合わせが不調に終わるといった可能性もあり、すべてを排除して良いとは限らないためだ。これでは「排除が正しいのか」がわからず、結果的にドメイン判定だけでは迷惑メールを排除できない状況となっていた。

認証情報がないケースもあるため、100%とは言えないが、認証情報は「身分証明書」に相当する

この問題を解決するため、送信ドメインの認証を高度に行おうという取り組みが「DMARC(Domain-based Message Authentication,Reporting and Conformance)」だ。