はじめに
2FA(2要素認証)が広く普及した世界では、安全な認証プロセスにはまだ脆弱性があり、その主な原因は、広く使われている 「SMS 経由での OTP(ワンタイムパスワード」や「メール経由での OTP 」の2FA 方式にあります。
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日間の無料トライアルにぜひお申し込みください。