web-dev-qa-db-ja.com

SMS(二要素認証))を傍受するのはどれくらい難しいですか?

2要素認証メカニズムの多くは、SMSを使用して、使い捨てパスフレーズをユーザーに配信します。それで、どれほど安全ですか?SMS =パス​​フレーズを含むメッセージ?モバイルネットワークはSMSで何らかの暗号化を使用していますか?

2要素認証とそれが攻撃される方法に関する興味深い記事を見つけました。

http://www.schneier.com/blog/archives/2012/02/the_failure_of_2.html

121

[〜#〜] gsm [〜#〜] 暗号化による保護が含まれています。携帯電話とプロバイダー(つまり、プロバイダーのネットワークの一部である基地局)は、プロバイダーに知られていてユーザーのSIMカードに保存されている共有シークレットに対して相対的に認証します。 「A3」および「A8」というコード名で知られているいくつかのアルゴリズムは、認証に関与しています。次に、データ(無線リンクを介して送信される)は、「A5」と呼ばれるアルゴリズムと、A3/A8から得られた鍵と共有秘密で暗号化されます。

「A5」という名前で隠れる実際のアルゴリズムがいくつかあります。使用されるアルゴリズムは、プロバイダーによって異なります。プロバイダーは、地域の規制によって制約を受け、GSMコンソーシアムから何をライセンスできるかによって異なります。また、アクティブな攻撃者(偽の基地局を使用)は、携帯電話に他のバリアントを使用するように強制する可能性があり、それ以外の場合とは異なり、それについてユーザーに警告する電話は多くありません(さらに少ないユーザー)誰も気にしないだろう)。

  • A5/0は「暗号化なし」を意味します。データは暗号化されずに送信されます。一部の国では、これが唯一許可されているモードです(インドはそのような国だと思います)。
  • A5/1は、ヨーロッパと北米で使用されている古い「強力な」アルゴリズムです。
  • A5/2は、古い「弱い」アルゴリズムであり、名目上は「良い友達であるにもかかわらず、それでも完全に信頼していない国」向けです(それはGSM仕様ではそのように記述されていませんが、それが考え方です)。
  • A5/3は、GPRS/UMTSの新しいアルゴリズムです。

A5/3は [〜#〜] kasumi [〜#〜] とも呼ばれるブロック暗号です。それはまともなセキュリティを提供します。これには、「壊滅的に壊れる」原因となるいくつかの欠点がありますが、実際に適用できるものはありません。

このレポート で説明されているように、A5/2は確かに弱いです。攻撃にはほんの一瞬が必要ですが、PCでの計算時間が1時間未満であり、数ギガバイトのストレージが必要です(それほど多くはありません)。主にGSMプロトコル自体が複雑であるため、技術的な詳細がありますが、A5/2レイヤーは壊れやすいと考えることができます。

A5/1はより強力ですが、それほど強力ではありません。 64ビットのキーを使用しますが、アルゴリズムの構造は弱く、約242.7基本的な操作(12年前に書いた この記事 を参照)。主に事前計算を行い、アルゴリズムの内部状態が特定の構造に到達するのを待つことにより、この複雑さを解消する出版物がいくつかあります。そのような出版物はわずかに低い複雑さの数字を宣伝しますが(約240)、それらには、数千の既知の平文ビットを必要とするなど、適用が困難になる欠点があります。既知のプレーンテキストビットが64個しかないため、複雑さは242.7。私は10年間それを実装することを試みていなかったので、現代のPCは当時使用していたワークステーションよりも速く実行されると考えられます。概算として、コードが完全に最適化されたクアッドコアPCは、1時間でクラックできるはずです。

A5/1の内部状態のサイズ、およびA5/1がデータを暗号化するために適用される方法は、 Rainbow tables などの時間とメモリのトレードオフに対しても脆弱になります。もう一度、Barkan-Biham-Kellerの記事を参照してください。これは、攻撃者がonce本当に大規模な計算を実行し、テラバイトのデータを格納したことを前提としています。その後、攻撃のオンライン段階はかなり速くなる可能性があります。保有しているストレージスペースの量、オンラインフェーズで使用できるCPUパワーの量、および結果を待機する準備ができている時間の長さによって、かなり詳細な情報が表示されます。最初の計算フェーズは巨大ですが、技術的に実行可能です(数千のPCで十分です)。オープンな配布 そのためのプロジェクト がありましたが、彼らがどこまで進んだのかはわかりません。

SMSの傍受は依然として特定のシナリオです。これは完全な音声会話ではありません。実際に交換されるデータの量は少なく、接続は非常に短時間で終了します。これにより、上記の攻撃の適用性が制限される可能性があります。さらに、攻撃は高速でなければなりません。攻撃のポイントは、SMSとして送信された秘密のパスワードを取得して、攻撃者がそれを使用できるようにすることですbefore通常のユーザー。攻撃者は迅速でなければなりません:

  • サーバーは通常、そのパスワードに数分などの短いタイムアウトを適用します。 SMS送信は数秒の問題であると想定されています。
  • ユーザーは患者ではありません(ユーザーは決して患者ではありません)。 SMSが5分以内に届かない場合、おそらく彼は新しいものを要求し、サーバー上の十分に考慮された2要素認証システムが以前のワンタイムパスワードを無効にします。 。

攻撃者が最初の認証要素を既に破っていれば、攻撃者にとっては物事が簡単になります(それが、2要素認証を使用する理由です。1つでは不十分なためです)。その場合、攻撃者はターゲットユーザーが気づかないうちに認証要求を開始する可能性があるため、SMSの受信に失敗した場合、または二重に不要なSMS(攻撃者は夜遅くに攻撃を行う可能性があります。攻撃されたユーザーは、正当でないSMS目覚めたときのみ攻撃者に数時間を与えます)彼のいたずらを制定するため)。

GSM暗号化は無線リンク専用です。上記のすべてにおいて、携帯電話と携帯電話の間で送信されるデータを盗聴する攻撃者に集中しました基地局。必要な無線機器は利用可能であるように見えます 既製 。このシナリオが実際に適用可能であることは容易に想像できます。ただし、SMSは、基地局から携帯電話にのみ移動するわけではありません。その完全な旅は、サーバー施設で始まり、インターネット、プロバイダーのネットワークを経由して、ベースステーション-そして、その時点でのみ、使用されるA5バリアントで暗号化されます。

プロバイダーのネットワーク内、およびプロバイダーとサーバーの間でSMSの送信を希望する)データはどのように保護されているかは、GSM仕様の範囲外です。攻撃者isプロバイダー、負けます。法執行機関が人々を盗聴したい場合は、通常、常に遵守しているプロバイダーにきちんと尋ねることで行います。これが、特にメキシコの麻薬カルテルの理由です。コロンビアは 彼ら自身のセルネットワーク を構築する傾向があります。

104
Thomas Pornin

GSMネットワーク 暗号化されています 。しかし、それはもちろんそれが完全に防弾になるわけではありません。それは妥協することができます。ただし、Rook(およびより詳細にはThomas Pornin)で説明されている攻撃は非常に局所化されており、達成するにはかなりの努力が必要です。それらは不可能ではありませんが、非常に困難です。 SMSが送信されると同時に、携帯電話の近くにあるGSMネットワークを切断する必要があります。ネットワークオペレーターの誰かがSMSを傍受する可能性もあります。特定の人物が標的にされ、攻撃者が非常に洗練された手段と多額のお金を使う国家安全保障/スパイ活動シナリオについては、それは間違いなく可能です。ハードウェアトークンプロバイダーからシード値を取得する場合もほぼ同じです。

このSMS攻撃が成功した場合でも、ユーザー名とパスワードの取得が必要になる場合があります(SMSが唯一の認証方法ではなく、コンポーネント。ユーザーがSMSメッセージをサーバーに送信し、サーバーが要求されたチャレンジ/トークンと一致することを確認できる他の代替手段があります。サーバーは発信者の発信者IDを確認することもできます。 。もちろん、これにも制限がありますが、正しく実行すると、理論的には少し保護が強化されます。

ほとんどの場合のように、2要素認証を提供することによってセキュリティを向上させることが目的である場合、SMSをミックスに追加すると、標準のユーザー名/パスワードよりも劇的に向上します。使用しているという事実2つの別々の通信チャネル(TCP/IPとGSM)により、すでにより安全になっています。非常に大まかな個人的な見積もりとして、SMSトークンは、ハードウェアベースのトークン、セキュリティとほぼ同等です)もちろん神(または悪魔)は細部に至るまでです。

14
Yoav Aner

暗号化についての議論は興味深いものですが、重要な質問は次のとおりです。キャリアはセキュリティに関心を持っていますか?私は答えが「いいえ」であることを恐れています。 SMSシステムを保護するためにお金を使うインセンティブは何ですか?彼らはシステムを管理しているのでしょうか、それとも外部委託していますか?彼らが提供するセキュリティの保証は何ですか?を管理している人々をどれだけ信頼していますか?サーバー?

さらに、これについては、1億人の顧客がいて、パスワードをリセットするのが少し難しくなると、ヘルプデスクへの電話が途切れることになります。これが、誰かのアカウントを乗っ取るのがとても簡単な理由です。

さらに、認証局フレームワークで見たように、SMSインフラストラクチャが攻撃の標的になります。

私は最近これらのポイントをリンクで要約することについてブログ投稿を書きました: http://www.wikidsystems.com/WiKIDBlog/fraudsters-defeat-poor-risk-management-not-two-factor-authentication 。リスク管理の観点から、SMS authはパスワードよりも優れていますが、長い間信用しないでください。現在の攻撃は金融機関を標的としていますが、攻撃のコストが低下するにつれて、もっと。

9
nowen

サービスにXSS、SQLインジェクション、または トランスポート層保護が不十分 などの一般的な脆弱性がある場合、多要素セキュリティシステムは役に立ちません。これらの欠陥は、使用する認証システムに関係なく、アカウントまたは情報の侵害につながる可能性があります。

とはいえ、被害者の近くにいると、非常に厄介な攻撃を仕掛けることができます。たとえば、被害者がGSMキャリアを使用している場合、攻撃者は レインボーテーブルでGSMを破壊 し、SMSメッセージを傍受できます。被害者のネットワークを制御している場合、 SSLStrip または SSLSniff のようなツールを使用して、HTTPログインポータルを攻撃します。

「Remember Me」はevilです。 SMS mutulti-factor authentication(Googleと同様))の実装によっては、デバイスを30日間祝福することができます。これは、30日間認証トークンとして機能する永続的なCookieです。所有している場合被害者のマシンにアクセスすると、このCookieを取得して認証に使用できます。「Remember Me」機能を安全に実装する方法はありません。

ハードウェアベースの暗号トークンは、妥協するのがはるかに困難です。これは本当にSMSからのステップアップです。これは、これがあなたが持っているトークンであり、妥協するのが難しいはずです。もちろん RSAのハードウェアトークン を使用しない限り、これはほとんどの場合に当てはまります。

6
rook

他の回答はすでにGSMのセキュリティと技術的な攻撃に関与するテクノロジーを説明しています。

ただし、技術的な保護を迂回する他の多くの攻撃があります。

トランザクション認証番号に関するドイツ語のWikipediaの記事 (SMSによって送信されることが多い)は、いくつかの攻撃を示しています。

  • 被害者の携帯電話を盗む、または密かにアクセスする
  • 特にスマートフォンの場合、携帯電話にマルウェアをインストールする
  • モバイルサービスプロバイダーでのインサイダー攻撃
  • ソーシャルエンジニアリングを使用してシステムを回避する。たとえば、次のようにします。
    • メッセージへのアクセスを取得する
    • サービスプロバイダーから新しいSIMカードを取得する
    • 電話番号を別のアカウントに移植する

たとえば、2015年にドイツで一連の不正送金があり、詐欺師はお客様の名前で新しいSIMカードを入手しました。以前にも同様の攻撃が発生していたため、携帯電話プロバイダーは新しいSIMカードを注文する顧客の認証を改善しました。これを回避するために、電話プロバイダーに電話をかけると、詐欺師は携帯電話ショップから従業員になりすまして、顧客に代わってSIMを有効化すると主張しました(出典[ドイツ語]: オンラインバンキング:Neue Angriffe auf die mTAN )。

明らかに、攻撃者がそれらを迂回できた場合、すべての技術的保護は役に立ちません。

6
sleske

最近、多くの携帯電話アプリがSMSメッセージへのアクセスを要求し、ユーザーはアプリに興味があるため、それを許可します。これにより、モバイルネットワークでSMSを傍受するよりも攻撃が難しくなりません。

3
AdnanG

私はこれがあなたの質問に直接答えないことを知っていますが、それがいくつかの懸念に対処することを望みます:

実装が適切に行われていれば、SMSインターセプトについてはそれほど心配しません。これは、1回限りのSMS認証システムが実際の潜在的な攻撃に対する警告時間-認証システムが傍受された場合、それをすぐに認識し、迅速に対応できる可能性が高くなります。

開始しようとした認証セッション中にSMSが傍受された場合、次の2つのいずれかが発生します。

  • 最初に認証に成功した場合、攻撃者の試みは失敗するはずです。これは、システムがオーセンティケータの再利用を拒否する必要があるためです。この状況では、攻撃は完全に阻止されます。

  • 攻撃者が最初に認証に成功した場合、オーセンティケーターの再利用により、認証の試行は失敗するはずです。システムは、これが失敗の理由であることも通知する必要があります。この時点で、アカウントを再度保護するために必要なアクションを実行する必要があります。そうすることができれば、攻撃の潜在的な影響を制限できます。

攻撃者があなた以外の人が認証を開始しようとした場合、SMSがあなたが要求しなかったことが表示されます。実際に誰かが不正に行う可能性のある手段はいくつかあります。傍受SMS電話に送信せずに受信するか、すぐに他の何かが間違っていることに気づきます。

とにかく、これはすべて Man-in-the-Browser 攻撃にさらされている場合は、疑わしくレンダリングされます。

また、ほとんどのSMS認証実装では、SMSオーセンティケータをsecondとして使用します)要素、私は本当にfirst認証要素がどのように危険にさらされているかについてもっと心配したいです。または、システムにキーロガーをもたらしたOSの悪用次に、Man-in-the-Browserの状況から、認証方法に関係なく完全に妥協する効果的なステップはあまりありません。

2
Iszi

誰もが(シュナイアーさえ?)重要な部分を見逃しているようです:

スマートフォンが紛失/盗難にあった場合、SIMが入っているので、すでに乾杯しています

私の知る限り、これに誰も気づいていないように見えるのは驚くべきことですが、SMSは、データにアクセスする必要さえないという事実に悩まされていますあなたの電話。

次の場合でも通信は暗号化されており、次の場合でも電話がロックおよび暗号化されている場合SMSまたは通話ベースの認証が有効で、あなたの電話が盗まれたら、あなたは完全に乾杯です。あなたのプロバイダーにあなたのSIMを非アクティブ化させる方法を見つけ出すまで(そして法執行機関に報告するなど)、攻撃者は文字通り以下を必要としますSIMカードを取り外して別の電話に入れてテキストメッセージを取得するのに1分かかるため、問題を報告するまでに、彼はこれを数十回試してから電源を切る機会があったはずです。電話をかけるか、元に戻して追跡できないようにします。

SMS 2FAを使用する場合のここでのonly幸運は、攻撃者があなたのsernameを知らない場合、またはSIMが安全にロックされている場合です別の電話で使用:

  1. 紛失または盗難時にスマートフォンがオンになっていた場合は、ログイン画面のどこかに書き込まれているか、通知としてポップアップ表示される可能性があります。

  2. 強盗を受けてスマートフォンの電源を切ることができた場合は、IDまたはクレジットカードがスマートフォンに付属している可能性があります。その場合、ユーザー名やメールは、Googleで推測したり見つけたりすることはそれほど難しくありません。電話がオンになっている場合は、(1)もやはりリスクです。

  3. 攻撃者が何らかの方法でknewとしたら、ほぼ間違いなく乾杯です。
    たとえば、昼食をとっている間、スマートフォンを机の上に置いたままにしておくと、誰かがSIMを交換してSMSを受け取り、元に戻します。誰も見ていなければ、数分しかかかりません。

ですから、誰かがStingrayのような装置との通信を妨害したり、電話プロバイダーの施設に侵入したりすることを心配することはできますが、実際には中間者実際のリスクではありません多くの人々にとって。本当のリスクはendpoint-つまりyoです。電話をなくすと、パスワードや暗号化がどれほど強力であっても、電話とSMSベースの検証が完全に拒否されます。

1
user541686