3

アプリのサーバーを構築し、アプリでの登録の手順の 1 つは、電話番号の確認コードを入力することです。確認コードが SMS 経由で電話に送信されます。登録を続行するには、確認コードを入力する必要があります。

アプリはサーバーにリクエストを送信しますが、誰かがその URL を見つけて、偽の電話確認コード リクエストをサーバーに送信し続けることは可能ですか? どのように攻撃を防ぎますか?

4

2 に答える 2

2

登録されている電話番号が本物であり、登録している人のものであることを確認するためにこれを行っていると思います.

シナリオ 1:

-合法的なユーザー登録

-正当なユーザーがSMSを受信

-正当なユーザーが認証コードをサーバーに送信する

コードが送信されたものと一致する場合は、ユーザーをアクティブ化します

シナリオ 2:

・アタッカーレジスター

-攻撃者は、自分のものではない電話番号を入力したため、SMS を受信しません。

-ランダムな人がSMSを受信します

-攻撃者は、検証サーバーに対して DoS を開始し、コードを推測しようとします。

この場合の DoS 問題は、X 回の試行が失敗した後の単純なブロックで解決できます。たとえば、失敗した各検証試行をテーブルに保存し、アカウントの試行が 5 回失敗した場合、検証を X 分間ブロックします。これは、ユーザー名とパスワードでのログインに数回失敗するのと似ています。ブルート フォース攻撃が実行できないように、検証コードには十分な組み合わせが必要です。

もう 1 つの問題は、あなたのサービスがランダムな人々に検証 SMS を送信するために使用される可能性があることです。X時間間隔ごとにIPごとに登録を制限するか、同様のことを行う必要があります。キャプチャを使用して、自動登録を防ぐこともできます。

シナリオ 3:

・アタッカーレジスター

- 攻撃者が偽の電話番号を入力したため、誰も SMS を受信できませんでした

-SMS サーバーが SMS の配信に失敗するため、実際には何も起こりません。SMS の送信に使用された確認コードは無効になります。

これが多少役に立てば幸いです。あなたの意図を正しく理解しました。

于 2013-12-30T13:07:01.713 に答える