web-dev-qa-db-ja.com

Twitterの数字によるログイン(sms認証コード)は安全ではありませんか?

Twitterが(少し前に) Digits という名前の新しいキットをリリースしました。これにより、クライアントは電話番号と認証コード(smsで受信)でログインできます。私はそれがユーザーエクスペリエンスに優れていると感じ、アプリ/ウェブサイトにも実装することを考えていましたが、これは「非常に」安全ではありませんか?私はいくつかの問題を想像することができます:

  • 電話番号は簡単に推測されます:これにより、攻撃者は場所ベース(州、市区町村、市区町村)でもブラインドSPAMキャンペーンを成功させることができます。ほとんどのインターネットユーザーが電子メールアドレスの代わりに電話番号を使用する場合、受信するスパムの量は増えると思います。スパマーは、電子メールアドレスの収集について心配する必要はありません。彼らは電話番号を生成するだけで、有効でアクティブな電話番号をキャッチするチャンスがあります。
  • SMSは安全ではありません:電子メールサービスとは異なり、SMSには(私の知る限り)このような認証プロトコルはありません) DKIM、SPFなので、経験豊富なクライアントでさえ、送信者の完全性を検証することができません(つまり、それがTwitterであるか、なりすまし番号であるかを確認できません)。電話番号で登録/認証すると、SMS通信チャネルです。つまり、SMSを介して受信する認証コードだけでなく、すべての通信(確認またはTwitterが送信するもの)は、認証をサポートしないチャネルを介して送信されます。これは基本的に、DKIM、SPFなしの電子メールのようなものです。 SPAMフィルターなし。
  • disturbance:ブルートは、有効な電話番号のほとんどを、楽しみのためだけに強制的に妨害を発生させます(つまり、Twitterにすべての可能な電話番号に認証コードを送信させます)。賢明なIP制限があるかもしれませんが、これが攻撃者を阻止するのを見ることができません。
  • データ収集->マルウェア:攻撃者はTwitterに登録されている電話番号を見つけ(ブルートフォースを参照)、それらに送信しますSMS(Twitter通知のように見えます)悪意のあるリンク。
  • フィッシング:クライアントは、SMSより受信したコードをパスワードよりも開示する方が進んでいる可能性があります。フィッシングフォームがTwitter(MITM)から受信したSMSを要求している場合、コードは要求時に受信されるため(クライアントが記憶している秘密ではない)、クライアントはパスワードよりも提供する用意があると思います。 (SMSを待って、コピー/貼り付け)すると、クライアントがログインページの邪魔になります。SMS通知は、 UI(アドレスバー)。 enter image description here

enter image description here

11
themihai

Digitsは、多要素認証で一般的に使用される単一の「要素」を活用します。「何か持っているもの」、この場合は携帯電話です。はい。パスワードだけを使用する場合と同じように、単一の要素のセキュリティには弱点がありますが、単純なパスワードに加えて長所もあります。

  • disturbance-はい、攻撃者は電話ネットワークをスパムする可能性がありますが、それ自体はプロセスのセキュリティを低下させません。それはmightバックエンドでのDigitsの設計方法に応じてDoSシナリオを作成します。
  • データ収集->マルウェア-Twitterに登録されていない電話でデモを試しましたが、うまくいきました。私はこれを、標的型フィッシングの登録済みTwitterユーザーを発見する有効な方法とは考えていません。ブランケットスパムと同じです。
  • データ収集->フィッシング-フィッシング研究者として、私はこれが本当であると想像できました。しかし、ユーザーがこの方法で他のどのタイプのパスワードのフィッシングよりも現実的にフィッシングの影響を受けやすいかどうかはわかりません。ここであなたの脅威のシナリオを理解しているとは思いません。
  • SMSは安全ではありません-はい、SMSは電子メールのように安全なチャネルではありませんが、コードの送信をトリガーしたときにコードを取得します。私は不要なコードを受け取って、ログインするためにログインしなかったアプリを探すためにそれを探し始めるかどうかわかりません。MITMに関しては、Webサイトと同じ保護が証明書やDNSなどに適用されます。脅威は、パスワードベースのログインでは一般的です。

あなたのリスクモデルを考えると、Digitsがパスワードほど安全ではないかどうかはわかりません。これは、電話を要素として使用するチャレンジ/レスポンスメカニズムです。ユーザーは、ログインページの保護と電話の個人保護(ロック、暗号化、リモート管理)をすべて使用して、通常のパスワードメカニズムよりも安全にすることができます。はい、それは単一の要素であり、ユーザーがこれを安全でない方法にする方法はありますが、メカニズム自体は本質的に安全ではありません。

8
schroeder

ワイヤードに関するこの記事によると、そうです。

https://www.wired.com/2016/06/hey-stop-using-texts-two-factor-authentication/

攻撃:「...ハッカーは、彼が言うように、ベライゾンに電話をかけ、なりすまし、会社に自分のテキストメッセージを別のSIMカードにリダイレクトし、1回限りのログインコードを傍受するように説得しました。」

1
aaronvargas

はい、ユーザーのプライバシーを侵害するだけでなく、安全ではありません。

このソリューションは、Twitter、ユーザーのモバイルキャリア、およびTwitterと前述のキャリアがビジネスを展開している国のさまざまな政府が、ユーザーに気付かれずにプラットフォームでユーザーになりすます機能を提供します。より明確にするために、Twitter内の悪意のある従業員や攻撃者、またはユーザーのキャリアは、任意のユーザーとしてログインできます。

そして、それがまだ十分ではなかったかのように、これによりTwitterはユーザーがログインした場所からの時間と場所(IP、ユーザーエージェント、任意のブラウザーメタデータ)を認識するので、Twitterはこれらの情報を関連付けてプロファイルを作成できますユーザーは、どのサイトで、いつログオンし、Twitterアカウントを持っているか(ユーザーはDigitsドメインと通常のTwitterドメインの両方を制御しているため、Cookieに基づいています)。彼らがユーザーについて今知っている情報。

最後に、ユーザーにあなたのサイトにサインアップさせたい場合、電話番号を尋ねることは良い考えではありません-技術に精通したユーザーとしては、上記の理由でそれを明かしませんが、技術に精通していないユーザーは潜在的なSMSスパムを回避するためだけに、これを拒否します。

0
user42178

リストに追加する2つの問題を次に示します。

  1. ターゲットの電話番号に対して、デバイスで数字認証を開始します。次に、ターゲットをショルダーサーフィンして、電話のロック画面から認証コードを取得します(必要に応じて、デバイスを使用してターゲットデバイスの写真を撮ります)。デバイスにコードを入力すると、ターゲットのアカウントになります。

  2. SMSによってモバイルデバイスにロックされているため、デバイスの所有者だけがそのデバイスからアプリケーションにログインできます。所有者が誰かにデバイスを借りて他の人自身のデータにアクセスすることを許可している場合(Webブラウザーが他の誰かのデバイスでメールをチェックするように)、認証の明白な方法(手にあるモバイルデバイスの番号を使用)デバイスの所有者のアカウントに誤ってアクセスすることになります。

0
David K. Hess