ワンタイムパスワード(OTP)乗っ取りのからくりと防止策とは
Table of Contents
はじめに
2FA(2要素認証)が広く普及した現在でも、認証プロセスは依然として脆弱なままです。その主な原因は、2FAで広く使われている 「SMS 経由での OTP(ワンタイムパスワード)」や「メール経由での OTP 」による認証方法にあります。
TeamPassword は、シンプルかつ効率的にチームのログイン名とパスワードを保存・共有し、トラブル防止、安全なプロジェクト管理や資産の保護を実現するパスワードマネージャーです。こちらをクリックして、14日間の無料トライアルをぜひご体験ください。
ワンタイムパスワード(OTP)とは
ワンタイムパスワード(OTP)は、2FA(2要素認証)の一部です。一般的にOTPは、サービスがユーザーの電話やメールにテキストメッセージとして送信したり、認証アプリで生成したりする数桁の数字であり、ユーザーは、本人であることを証明するための追加のセキュリティ層として、その数字を入力する必要があります。
多くの場合、ユーザーは便利で手間のかからない方法として、SMS経由の2FAを選びますが、この方法にどれだけの脆弱性があるのかは知られていません。この脆弱性を利用すれば、ハッカーはアカウントを乗っ取ることができ、そのアカウントを完全にコントロールすることができてしまうのです。そこで、ハッカーがどのようにしてアカウントを乗っ取るのか、またそれを防ぐ方法について以下で見ていきましょう。
SMS経由によるOTPの乗っ取り
SMSベースの2FA方式には、セキュリティ上の重大な欠点がいくつかあります。ここでは、SMS経由の2FAで OTP を使うべきでない理由と、他の認証方法を優先させるべき理由についてお話します。
ロック画面の通知:ハッカーはロックされた携帯電話の通知などをこっそり見て、OTP を取得することができます。
SIMの基本:SIM(加入者IDモジュール)には、ユーザーの電話番号や携帯電話会社の情報、その他の情報が含まれており、盗まれたり、侵入者が携帯電話でのSMSや通話の受信のために使うことができます。
SIMスワッピング :SIMの情報は、よくデジタルで保存され、転送されます。ハッカーなどサイバー犯罪者は、被害者の携帯電話上の「トロイの木馬(正当を装った不正なプログラム)」を使ってこの情報を自分の携帯電話に転送したり、ソーシャルエンジニアリングハックを適用してベンダーの技術サポートから情報を取得したりします。この情報があれば、ハッカーは被害者の携帯電話をモバイル・ネットワークから切り離すことができます。
SS7(共通線信号No.7)攻撃:SS7メッセージ送信プロトコルの重大なセキュリティ上の欠陥を利用した犯罪者によって、OTPコードは傍受される可能性があります。
SMS経由のメッセージによるパスワードリセットを提供するサービスも多くありますが、前述のデメリットを考えると、ハッカーがユーザーアカウントを乗っ取って100%主導権を握り、アカウントへのアクセスを制限することが可能です。
認証アプリを使っていても、ハッカーは、特定のサービス上で疑わしい動きがあることを示すSMSを送信することができ、そうすると、アプリケーションによって生成されたコードに応答してSMSの送信が必要になります。このコードはサイバー犯罪者によって傍受され、さらにサービスにアクセスすることができるのです。
メール経由によるOTPの乗っ取り
SS7 攻撃、フィッシング攻撃、または認証情報の漏洩によって、サーバー犯罪者が特定のメールアカウントを支配した場合、その侵害されたメールアカウントをさらに悪質な目的で使うことができます。メールベースの復旧方法において、メールアカウントがメインのメールとして記載されている場合、ハッカーは複数の異なるサービスアカウントを簡単に乗っ取ることができます。
また、自動化されたボットが被害者に電話をかけてアカウントの不正利用を警告し、認証アプリが生成した OTP の入力を促すケースもあります。するとそのコードはハッカーに転送され、ハッカーはこのコードを使ってアカウントを乗っ取ります。
乗っ取りを防ぐには
アカウントの乗っ取りを防ぐには、以下が有効です。
長いパスワードを使う: パスワードは小文字、大文字、数字、特殊記号が入り混じった8文字以上でないといけません。それによってブルートフォースアタック(総当たり攻撃)からアカウントを守ることができます。
サービスごとに異なるパスワードを適用する: これによって、いずれかのサービスが侵害された場合に認証情報の漏えいを防ぐことができます。
定期的にパスワードを変更する:定期的にパスワードを変更することで、データが流出した場合にアカウントの乗っ取りを回避することができます。
パスワードマネージャを使う:パスワードを暗号化して保存することで、「トロイの木馬」による盗難を防ぐことができます。
OSやプログラムをアップデートする:セキュリティに関する問題はデベロッパーが継続的に改善しており、最新のソフトウェアを使用することで、従来のハッキング手法から保護することができます。
フィッシングメールやテキストメッセージに注意する:不審なリンクはクリックしないようにしましょう。不正なサイトに情報が入力されると、ハッカーは認証情報を盗むことができます。
SSL証明書付きのサイトのみ使う:サイト認証を提供し、暗号化された接続を可能にすることで、中間者攻撃による機密データの傍受を回避しましょう。また、信頼できるSSL認証付きのWebサイトのみを訪問するよう心がけましょう。
ロック画面の通知を無効にする:これによって、サイバー犯罪者があなたのワンタイムパスワードを覗き見する危険性が排除されます。
PIN(暗証番号)でSIMカードを保護する:携帯電話やSIMカードが盗難にあった場合、SIMの不正使用を防止することができます。
SMSベースのアプリを使わない:アプリのデータは、あなたが知らないうちに第三者に簡単に渡せない仕組みになっています。これにより、SIMスワップ攻撃を防止することができます。
メールやSMSを使った復旧方法はなるべく避ける:このような方法はアカウント乗っ取りの危険性があります。
ブラウザに直接OTPを入力する:SMSでコードを送り返したり、電話中にプロンプトからコードを入力することは絶対にしないでください。信頼できるサービスでは、このような認証オプションは提供されません。
できれば、信頼できる認証アプリやU2F(Universal Second Factor)ハードウェア認証を使うようにする:これで、SMS経由の2FAやメール経由の2FA方式の弱点を避けられます。
まとめ
2FA は、使わないより使った方がより安心です。利用するアプリやサービスが2FAを提供している場合は、有効活用しましょう。認証情報の保存にセキュリティ対策プログラムを導入し、データとアカウントを保護するために、ネットワークセキュリティに対する知識と意識を継続的に向上させましょう。
TeamPassword は、パスワードの生成と管理に最適なソフトウェアです。もっと詳しくご覧になりたい方は、14日間の無料トライアルをぜひお試しください。
Enhance your password security
The best software to generate and have your passwords managed correctly.