web-dev-qa-db-ja.com

SMSのみの認証は安全ですか?

多くのAndroidモバイルアプリケーション(Whatsapp、Telegramなど)、デバイスで初めて使用するとき、SMSメッセージ。

同じメカニズムを使用して、ユーザーがデバイスを変更したりアプリを再インストールしたりした場合に、ユーザーがアカウントに再ログインできるようにします(元の電話番号のSIMカードをまだ使用している場合)。

このメカニズムは、「ユーザーフレンドリー」なパスワードなしの認証を可能にするために使用されていると思います。

このメカニズムが「安全」であると見なすことができる範囲を考えていました。

特に、被害者のデバイスにインストールされた悪意のあるアプリは、簡単に次のことができます。

  • 以前に作成したアカウントへのログインを要求するアプリのバックエンドと通信する
  • 認証SMSを受信して​​その内容を読み取る
  • 受け取ったコードを使用して、被害者のアカウントに(サイレントで)ログインします

この種の攻撃を防ぐ方法はありますか?

5
user45614

通常、セキュリティをそうであるかそうでないかを考えるのは間違いです。あなたは本当に基本的なリスク評価を行う必要があります。比較として、「私の家は安全ですか?」この質問に対する答えは「はい」でも「いいえ」でもありません。それは本当にあなたの家がどこにあるかなどの要因に依存します。つまり、最も近い町から30マイルは、犯罪や強盗の多い郊外よりもおそらく安全です。田舎の家の場合、標準的な鍵だけを持っているかもしれませんが、都市の家の場合、高品質のデッドボルト錠、警報器、番犬などを持っているかもしれません。それは私のカントリーハウスで、私はタウンホースをクラッシュパッドとしてタウンにいるときだけ使用します。カントリーハウスのアラームと犬に投資するかもしれませんが、あまり価値がないのでタウンホースについて心配する必要はありません。そこに、誰かが侵入したとしても、それはおそらく私にあまり影響を与えません。

もう1つ考慮すべき点は、誰かが本当に私の家に侵入したいのなら、おそらく彼らを止めることはできないだろうということです。私が実際にできることは、泥棒が侵入するコストを、彼らが得る報酬/価値よりも高くすることです。

検証などでのSMSの使用に関しても同じ考え方が当てはまります。Googleの2段階検証(SMSコード)。例を参照してください http://gizmodo.com/how-hackers-reportedly-side-stepped-gmails-two-factor-a-1653631338 携帯電話上の悪意のあるアプリのリスクに加えてその情報(これを行うバンキングマルウェアの多数のレポートがあります)、また、誰かがあなたのサービスプロバイダーをハッキングし、あなたの番号を彼らの電話にリダイレクトするリスクもあります。これが、優れたシステムのほとんどがSMSだけに依存していない理由です。 SMSは、アクセスするために必要な1ビットの情報であることがよくあります。

ただし、家の例と同様に、安全かどうかはリスクの評価にかかっています。たとえば、ToDoアイテム、ブックマーク、その他のメモを記録するアプリを使用しています。パスワードを忘れた場合や、新しいデバイスからアクセスする場合は常に、アカウントを回復する方法としてSMSを使用します。これは安全ですか?私にとっては、十分に安全です。誰かが私の電話をリダイレクトして私のSMSコードを取得し、サイトにアクセスするとしたら、どうでしょうか。彼らは私のToDoリストとSMSメッセージにアクセスできます。ほとんどの場合、それは単に不便です。ただし、私の銀行がSMSコードを使用して私を認証した場合は、銀行を切り替えることになります。これははるかにリスクが高いためです。

そのため、一般に、認証の形式としてのSMSはそれだけでは十分ではありませんが、一部の場合には十分であり、他の場合には十分でない場合があります。これが認証プロセスの一部であり、追加情報が必要な場合は、おそらくそれが適切ですが、アプリケーションによっては、少し過剰な場合があります。基本的に、コンテキストでの使用を評価し、それが安全である、または安全ではないという陳述に注意する必要があります。

4
Tim X