アカウントで2要素認証を有効にすると、100%安全になると思うかもしれません。2要素認証(Two-factor authentication)は、アカウントを保護するための最良の方法の1つです。ただし、2要素認証を有効にしているにもかかわらず、アカウントが乗っ取られる可能性があると聞いて驚かれるかもしれません。この記事では、攻撃者が2要素認証をバイパスするさまざまな方法について説明します。
二要素認証(Authentication)(2FA)とは何ですか?
始める前に、2FAとは何かを見てみましょう。アカウントにログインするには、パスワードを入力する必要があることを知っています。正しいパスワードがないと、ログインできません。2FAは、アカウントにセキュリティレイヤーを追加するプロセスです。有効にした後は、パスワードのみを入力してアカウントにログインすることはできません。もう1つのセキュリティ手順を完了する必要があります。これは、2FAでは、Webサイトが2つのステップでユーザーを検証することを意味します。
読む(Read):Microsoftアカウントで2段階認証プロセスを有効にする方法(How to Enable 2-step Verification in Microsoft Account)。
2FAはどのように機能しますか?
二要素認証の動作原理を理解しましょう。2FAでは、自分自身を2回確認する必要があります。ユーザー名とパスワードを入力すると、別のページにリダイレクトされます。このページでは、自分が実際にログインしようとしている人物であることを示す2番目の証明を提供する必要があります。Webサイトでは、次の検証方法のいずれかを使用できます。
OTP(ワンタイムパスワード)
パスワードを入力すると、登録した携帯電話番号で送信されたOTPを入力して、自分自身を確認するようにWebサイトに通知されます。正しいOTPを入力したら、アカウントにログインできます。
迅速な通知
スマートフォンがインターネットに接続されている場合は、プロンプト通知が表示されます。「はい(Yes)」ボタンをタップして確認する必要があります。その後、PCでアカウントにログインします。
バックアップコード
バックアップ(Backup)コードは、上記の2つの検証方法が機能しない場合に役立ちます。アカウントからダウンロードしたバックアップコードのいずれかを入力して、アカウントにログインできます。
Authenticatorアプリ
この方法では、アカウントを認証アプリに接続する必要があります。アカウントにログインするときはいつでも、スマートフォンにインストールされている認証システムアプリに表示されるコードを入力する必要があります。
Webサイトで使用できる検証方法は他にもいくつかあります。
読む(Read):Googleアカウントに2段階認証プロセスを追加する方法(How To Add Two-step Verification To Your Google Account)。
ハッカーが2要素認証を回避する方法(Two-factor Authentication)
間違いなく、2FAはあなたのアカウントをより安全にします。しかし、ハッカーがこのセキュリティ層を回避する方法はまだたくさんあります。
1] Cookieの盗用(Cookie Stealing)またはセッションハイジャック(Session Hijacking)
Cookieの盗用またはセッションハイジャック(Cookie stealing or session hijacking)は、ユーザーのセッションCookieを盗む方法です。ハッカーがセッションCookieの盗用に成功すると、2要素認証を簡単にバイパスできます。攻撃者は、セッション固定、セッションスニッフィング、クロスサイトスクリプティング、マルウェア攻撃など、ハイジャックの多くの方法を知っています。Evilginxは、中間者攻撃を実行するためにハッカーが使用する人気のあるフレームワークの1つです。この方法では、ハッカーはユーザーにフィッシングリンクを送信し、プロキシログインページに誘導します。ユーザーが2FA(Evilginx)を使用して自分のアカウントにログインすると、 Evilginxは認証コードとともにログイン資格情報を取得します。OTP以降使用後に有効期限が切れ、特定の時間枠でも有効であるため、認証コードをキャプチャすることはできません。ただし、ハッカーはユーザーのセッションCookieを持っており、これを使用して自分のアカウントにログインし、2要素認証をバイパスできます。
2]重複コード生成
Google Authenticatorアプリを使用したことがある場合は、特定の時間が経過すると新しいコードが生成されることをご存知でしょう。Google Authenticatorおよびその他の認証システムアプリは、特定のアルゴリズムで動作します。ランダム(Random)コードジェネレーターは通常、最初の数値を生成するためにシード値から開始します。次に、アルゴリズムはこの最初の値を使用して残りのコード値を生成します。ハッカーがこのアルゴリズムを理解できれば、重複したコードを簡単に作成して、ユーザーのアカウントにログインできます。
3]ブルートフォース
ブルートフォース(Brute Force)は、考えられるすべてのパスワードの組み合わせを生成する手法です。ブルートフォースを使用してパスワードを解読する時間は、パスワードの長さによって異なります。パスワードが長いほど、パスワードを解読するのに時間がかかります。通常、認証コードの長さは4〜6桁で、ハッカーは2FAをバイパスするブルートフォース攻撃を試みることができます。しかし、今日、ブルートフォース攻撃の成功率は低くなっています。これは、認証コードが短期間しか有効でないためです。
4]ソーシャルエンジニアリング
ソーシャルエンジニアリングは、攻撃者がユーザーの心をだまそうとし、偽のログインページにログイン資格情報を入力するように強制する手法です。攻撃者がユーザー名とパスワードを知っているかどうかに関係なく、攻撃者は2要素認証をバイパスできます。どのように?どれどれ:
攻撃者があなたのユーザー名とパスワードを知っている最初のケースを考えてみましょう。2FAを有効にしているため、彼はあなたのアカウントにログインできません。コードを取得するために、彼は悪意のあるリンクを含む電子メールを送信する可能性があり、すぐに行動を起こさないとアカウントがハッキングされる恐れがあります。そのリンクをクリックすると、元のWebページの信頼性を模倣したハッカーのページにリダイレクトされます。パスコードを入力すると、アカウントがハッキングされます。
ここで、ハッカーがユーザー名とパスワードを知らない別のケースを考えてみましょう。この場合も、彼はフィッシングリンクを送信し、 2FA(Again)コードとともにユーザー名とパスワードを盗みます。
5] OAuth
OAuth統合により、ユーザーはサードパーティのアカウントを使用して自分のアカウントにログインすることができます。これは、認証トークンを使用してユーザーとサービスプロバイダー間のIDを証明する評判の高いWebアプリケーションです。アカウントにログインする別の方法としてOAuthを検討できます。
OAuthメカニズムは次のように機能します。
- サイトAはサイトB(Site B)(Facebookなど(Facebook))に認証トークンを要求します。
- サイトB(Site B)は、リクエストがユーザーによって生成されたと見なし、ユーザーのアカウントを確認します。
- 次に、サイトB(Site B)はコールバックコードを送信し、攻撃者にサインインさせます。
上記のプロセスでは、攻撃者が2FAを介して自分自身を確認する必要がないことを確認しました。ただし、このバイパスメカニズムが機能するには、ハッカーがユーザーのアカウントのユーザー名とパスワードを持っている必要があります。
これは、ハッカーがユーザーのアカウントの2要素認証をバイパスする方法です。
2FAバイパスを防ぐ方法は?
ハッカーは確かに2要素認証をバイパスできますが、いずれの方法でも、ユーザーをだまして同意する必要があります。ユーザーをだまさずに、2FAをバイパスすることはできません。したがって(Hence)、次の点に注意する必要があります。
- リンクをクリックする前に、その信頼性を確認してください。これを行うには、送信者のメールアドレスを確認します。
- (Create a strong password)アルファベット、数字、特殊文字の組み合わせを含む強力なパスワードを作成します。
- (Use)Google認証システム、Microsoft認証システムなどの本物の認証システムアプリのみを使用してください。
- バックアップコードをダウンロード(Download)して安全な場所に保存します。
- ハッカーがユーザーの心を騙すために使用するフィッシングメールを絶対に信用しないでください。
- セキュリティコードを他人と共有しないでください。
- (Setup)2FAの代わりに、アカウントにセキュリティキーを設定します。
- パスワードは定期的に変更してください。
読む(Read):ハッカーをWindowsコンピュータから遠ざけるためのヒント(Tips to Keep Hackers out of your Windows computer)。
結論
二要素認証は、アカウントをハイジャックから保護する効果的なセキュリティレイヤーです。ハッカーは常に2FAをバイパスする機会を得たいと考えています。さまざまなハッキングメカニズムを認識していて、パスワードを定期的に変更する場合は、アカウントをより適切に保護できます。
How Hackers can get around Two-factor Authentication
You may think that enabling two-factor authentіcation on your account makes it 100% secure. Two-factor authentication is among the best methods to protect your account. But you may be surprised to hear that your account can be hijacked despite enabling two-factor authentication. In this article, we will tell you the different ways by which attackers can bypass two-factor authentication.
What is Two-factor Authentication (2FA)?
Before we begin, let’s see what 2FA is. You know that you have to enter a password to log into your account. Without the correct password, you cannot log in. 2FA is the process of adding an extra security layer to your account. After enabling it, you cannot log into your account by entering the password only. You have to complete one more security step. This means in 2FA, the website verifies the user in two steps.
Read: How to Enable 2-step Verification in Microsoft Account.
How Does 2FA Work?
Let’s understand the working principle of two-factor authentication. The 2FA requires you to verify yourself two times. When you enter your username and password, you will be redirected to another page, where you have to provide a second proof that you are the real person trying to log in. A website can use any of the following verification methods:
OTP (One Time Password)
After entering the password, the website tells you to verify yourself by entering the OTP sent on your registered mobile number. After entering the correct OTP, you can log into your account.
Prompt Notification
Prompt notification is displayed on your smartphone if it is connected to the internet. You have to verify yourself by tapping on the “Yes” button. After that, you will be logged into your account on your PC.
Backup Codes
Backup codes are useful when the above two methods of verification won’t work. You can log into your account by entering any one of the backup codes you have downloaded from your account.
Authenticator App
In this method, you have to connect your account with an authenticator app. Whenever you want to log into your account, you have to enter the code displayed on the authenticator app installed on your smartphone.
There are several more methods of verification that a website can use.
Read: How To Add Two-step Verification To Your Google Account.
How Hackers can get around Two-factor Authentication
Undoubtedly, 2FA makes your account more secure. But there are still many ways by which hackers can bypass this security layer.
1] Cookie Stealing or Session Hijacking
Cookie stealing or session hijacking is the method of stealing the session cookie of the user. Once the hacker gets success in stealing the session cookie, he can easily bypass the two-factor authentication. Attackers know many methods of hijacking, like session fixation, session sniffing, cross-site scripting, malware attack, etc. Evilginx is among the popular frameworks that hackers use to perform a man-in-the-middle attack. In this method, the hacker sends a phishing link to the user that takes him to a proxy login page. When the user logs into his account using 2FA, Evilginx captures his login credentials along with the authentication code. Since the OTP expires after using it and also valid for a particular time frame, there is no use in capturing the authentication code. But the hacker has the user’s session cookies, which he can use to log into his account and bypass the two-factor authentication.
2] Duplicate Code Generation
If you have used the Google Authenticator app, you know that it generates new codes after a particular time. Google Authenticator and other authenticator apps work on a particular algorithm. Random code generators generally start with a seed value to generate the first number. The algorithm then uses this first value to generate the remaining code values. If the hacker is able to understand this algorithm, he can easily create a duplicate code and log into the user’s account.
3] Brute Force
Brute Force is a technique to generate all the possible password combinations. The time for cracking a password using brute force depends on its length. The longer the password is, the more time it takes to crack it. Generally, the authentication codes are from 4 to 6 digits long, hackers can try a brute force attempt to bypass the 2FA. But today, the success rate of brute force attacks is less. This is because the authentication code remains valid only for a short period.
4] Social Engineering
Social Engineering is the technique in which an attacker tries to trick the user’s mind and forces him to enter his login credentials on a fake login page. No matter whether the attacker knows your username and password or not, he can bypass the two-factor authentication. How? Let’s see:
Let’s consider the first case in which the attacker knows your username and password. He cannot log into your account because you have enabled 2FA. To get the code, he can send you an email with a malicious link, creating a fear in you that your account can be hacked if you do not take immediate action. When you click on that link, you will be redirected to the hacker’s page that mimics the authenticity of the original webpage. Once you enter the passcode, your account will be hacked.
Now, let’s take another case in which the hacker does not know your username and password. Again, in this case, he sends you a phishing link and steals your username and password along with the 2FA code.
5] OAuth
OAuth integration provides users with a facility to log into their account using a third-party account. It is a reputed web application that uses authorization tokens to prove identity between the users and service providers. You can consider OAuth an alternate way to log into your accounts.
An OAuth mechanism works in the following way:
- Site A requests Site B (e.g. Facebook) for an authentication token.
- Site B considers that the request is generated by the user and verifies the user’s account.
- Site B then sends a callback code and lets the attacker sign in.
In the above processes, we have seen that the attacker does not require to verify himself via 2FA. But for this bypass mechanism to work, the hacker should have the user’s account username and password.
This is how hackers can bypass the two-factor authentication of a user’s account.
How to prevent 2FA bypassing?
Hackers can indeed bypass the two-factor authentication, but in each method, they need the users’ consent which they get by tricking them. Without tricking the users, bypassing 2FA is not possible. Hence, you should take care of the following points:
- Before clicking on any link, please check its authenticity. You can do this by checking the sender’s email address.
- Create a strong password that contains a combination of alphabets, numbers, and special characters.
- Use only genuine authenticator apps, like Google authenticator, Microsoft authenticator, etc.
- Download and save the backup codes at a safe place.
- Never trust phishing emails that hackers use to trick the users’ minds.
- Do not share security codes with anyone.
- Setup security key on your account, an alternative to 2FA.
- Keep changing your password regularly.
Read: Tips to Keep Hackers out of your Windows computer.
Conclusion
Two-factor authentication is an effective security layer that protects your account from hijacking. Hackers always want to get a chance to bypass 2FA. If you are aware of different hacking mechanisms and change your password regularly, you can protect your account better.