SMS の恐ろしい仕様
ショート・メッセージ・サービス(SMS)は、携帯電話との間で短いメッセージを送受信する機能です。メッセージの送信は、受信者の電話番号宛に行われます。
この SMS 上で起こるフィッシング詐欺 (スミッシング) は増え続けています。
セキュリティ上の問題点
SMS の問題としてプロトコル自体に送信者を認証する仕組みがない事が挙げられます。
SMS のなりすましは、送信元 ( Alphanumeric Sender ID ) に英数字を利用した場合に発生します。送信元が電話番号の場合は、なりすましを判別できるので送信されることなく廃棄されます。
しかし SMS の送信元に英数字が設定されている場合、なりすましの判別は不可能です。これは受信側に送信元の電話番号がデータとして送られないためです。 SMS の送信元が電話番号である場合は、フィルタリングを行うことは可能ですが、送信元に英数字が設定されている場合、送信元の電話番号がわからないため、なりすましを検知することができません。
この仕様がスミッシング ( SMS によるフィッシング詐欺 ) による被害を増加させます。
スレッドが同じでも送信者が同じとは限らない
ほとんどのモバイル端末(少なくとも Android と iPhone)では、送信元ごとにスレッドが作られるようです。この時に送信元が英数字の場合、偽装されたメッセージと正規なメッセージを判別できません。よって、偽装したメッセージと正規のメッセージが同じスレッドに表示されてしまいます。 2019 年には、ドコモに偽装したメッセージが送信された事件も発生しています。
私の環境で試しに Twilio を使い、 Slack を偽装してメッセージを送信してみました。
以下のように送信元が Slack のスレッドの中に私の偽装したメッセージが表示されているのが確認できます。
送信者側の対策
送信者がスミッシングによる被害を抑えるためには、電話番号を送信元に設定することが重要です。送信元に英数字を設定することはマーケティングの観点から見ると魅力的ですが、受信者のセキュリティリスクが高まります。送信元に電話番号を使用することで、なりすましのリスクを軽減し、同じスレッドに偽装されたメッセージが表示されることを防ぐことができます。
SMS の送信元の設定は、慎重な検討をお勧めします。
参考
Discussion