本文の内容は、2022年3月2日にDavid Gonzalezが投稿したブログ(https://sysdig.com/blog/why-mfa-prevents-attacks/)を元に日本語に翻訳・再構成した内容となっております。
最近、クラウドセキュリティに関連して、認証情報の漏洩や破壊に基づく侵害が繰り返し問題になっています。ユーザーは、ユーザーとパスワードの組み合わせなど、単一要素システムを使用してアカウントにログインする傾向があります。これは、アカウントのセキュリティに単一障害点を導入することになります。
数週間前、AWS Lambda ファンクションをクリプトマイニングに使用するために攻撃者に奪われた鍵のために、AWSの巨額請求に対処している人についてのツイートを読みました。1ヶ月後、彼らは$45,000のAWS請求書に直面しました。彼らのケースは厳密には盗まれたパスワードではないにせよ、1要素認証の例です。
その経緯を知ることは、とても興味深いことです。
実話に基づく
最初に思ったのは、”それは、そういうクラウドプロバイダー中心の企業・ユーザーの問題だ “ということかもしれません。しかし、その後、エンドユーザー中心のユースケースがいくつか思い浮かびました。数年前、私たちはGoogle Cloud Platformへの登録が必要なMOOCに参加したことを思い出しました。それ以来、私たちはGoogleから毎月0.00ドルの請求書を受け取っています。
クラウドプロバイダーで資格取得の準備をしているときのことを考えてみてください。あるいは、Amazonアカウントで設定したAWS Glacier、Google Nearline、Azure Storageなどのストレージソリューションとのストレージ同期を提供する、購入したNASを考えてみてください。クラウドプロバイダーへの登録は、いくつかの方法があります。
そんな思いで夜も眠れなくなっていませんか?
MFAを使用しない場合、認証を破ることがいかに簡単か
あなたのパスワードだけでログインした人が、マシン(またはlambdaファンクション)を起動し、暗号解読ソフトをインストールし、あなたが気づくまで実行させることができるでしょうか?様々なクラウドプロバイダーを利用する際に、膨大な_amount_of_optionsに精通していなければ、例えば、普段使っていないリージョンで余計なインスタンスが動いている可能性に気付かないことはよくあることです。また、私たちのように個人アカウントにコストアラームを設定していない場合、請求書が届いてハッキングされたことに気づくまで1ヶ月かかることもあります。
私たちはテストを行い、シークレットのウェブブラウザウィンドウからGoogle Cloud Platformアカウントでインスタンスを作成してみました(完全なログインプロセスを行うため)。すると、ほら、携帯電話に送られたコードを入力するように求められました(MFAを有効にするよう主張したGoogleに感謝します)。
私のアカウントでMFAが有効になっていることを知って、私たちはよりリラックスしましたが、その関連性を意識することが重要だと考えています。シングル認証のアカウントは、いくつかのタイプの攻撃に対して脆弱です。
ブルートフォース攻撃
この表は、ブルートフォースでパスワードを解読するのにかかる時間を見ています。パスワード復旧の目安表
また、ブルートフォースアタック(ユーザーとパスワードの組み合わせだけでなく、ポートスキャンや既知の脆弱性も含む)には、Burp suiteやHydraのようなツールが有効です。
資格情報漏洩
ディスプレイ上のポスト、エラーでアップロードされた資格情報、Githubレポへの見落とし、あるいはソーシャルネットワークのプロフィールなど、すべてソーシャルエンジニアリングのカテゴリーに属し、攻撃者があなたの大切なパスワードを入手する方法となります。フィッシング攻撃
フィッシング攻撃の例としてよくあるのが、セキュリティ上の問題から、皮肉にも「パスワードをリセットしてください」というメールが届くケースです。しかし、一度パスワードをリセットしてしまうと、あなたは彼らに捕まってしまいます。多要素認証(MFA)を有効にする
多要素認証(MFA)を有効にするだけで、あなたのアカウントがハッキングされる複雑さのレベルが上がることは明らかです。当たり前といえば当たり前ですよね。認証のシナリオでは、IDを確認する3つの異なる方法を観察します。
- あなたが知っているもの:パスワード
- 所有するもの:携帯電話、物理的なキー、座標カード
- 自分自身:指紋、虹彩
パスワードは、最も簡単で、ユーザー獲得のための摩擦が少ないため、圧倒的に普及しています。しかし、パスワードは、どこからでも簡単に推測することができ、攻撃者がパスワードを破るために必要なものは時間だけであるため、最も弱いものです。
マイクロソフトによると、これらの攻撃の99.9%は、アカウントにMFAを有効にするだけで防ぐことができるそうです。
企業の観点からは、組織内のすべてのアカウントでMFAを強制的に実行できるようにする必要があります。Amazon AWS、Google Cloud Platform、Azureなどのクラウドプロバイダーは、不正なログイン試行とMFAを使用しないログイン成功の両方をログサービスに登録しています。
教訓
夜、安心して眠りたいなら、アカウントがハッキングされるリスクを減らすために、第二の認証要素を設定する必要があります。個人と企業の両方のアカウントでMFAの使用を有効化し、強制する。
長くて複雑なパスワードが安全であっても、単一の認証方法に依存することは安全ではありません。パスワードは推測されるのではなく、盗まれる可能性があります。多要素認証を使用することで、企業や個人のアカウントのセキュリティも強化されます。
ここSysdigでは、重要なイベントを登録するトリガーにしようと思い、2つのアラームを設定しました。
- MFAを無効にしたアカウントでユーザーがログインしたときに作動するアラーム。
- y個の時間枠の中でx回の不正なログインを試みた後に作動するアラーム(xとyは自分で定義できます)。このような「状態」を実装したのは、ユーザーがログインに失敗するたびにイベントをトリガーするのはうるさすぎるからです。