계정에서 2단계 인증을 활성화하면 100% 안전하다고 생각할 수 있습니다. 이중 인증(Two-factor authentication) 은 계정을 보호하는 가장 좋은 방법 중 하나입니다. 그러나 이중 인증을 사용하도록 설정했음에도 계정이 도용될 수 있다는 소식을 듣고 놀랄 수 있습니다. 이 기사에서는 공격자가 이중 인증을 우회할 수 있는 다양한 방법에 대해 설명합니다.
이중 인증(Authentication) (2FA)이란 무엇입니까?
시작하기 전에 2FA가 무엇인지 봅시다. 계정에 로그인하려면 비밀번호를 입력해야 한다는 것을 알고 있습니다. 올바른 비밀번호가 없으면 로그인할 수 없습니다. 2FA는 계정에 보안 계층을 추가하는 과정입니다. 활성화한 후에는 비밀번호만 입력하여 계정에 로그인할 수 없습니다. 보안 단계를 하나 더 완료해야 합니다. 즉, 2FA에서 웹 사이트는 두 단계로 사용자를 확인합니다.
읽기(Read) : Microsoft 계정에서 2단계 인증을 활성화하는 방법(How to Enable 2-step Verification in Microsoft Account) .
2FA는 어떻게 작동합니까?
이중 인증의 작동 원리를 이해합시다. 2FA는 2번의 본인 인증을 요구합니다. 사용자 이름과 비밀번호를 입력하면 다른 페이지로 리디렉션되며, 여기서 귀하가 로그인하려는 실제 사람이라는 두 번째 증거를 제공해야 합니다. 웹사이트는 다음 확인 방법 중 하나를 사용할 수 있습니다.
OTP(일회성 비밀번호)
비밀번호를 입력하면 등록된 휴대폰 번호로 전송된 OTP 를 입력하여 본인인증을 하라고 나옵니다. 올바른 OTP 를 입력한 후 계정에 로그인할 수 있습니다.
프롬프트 알림
스마트폰이 인터넷에 연결되어 있으면 즉시 알림이 표시됩니다. " 예(Yes) " 버튼 을 눌러 본인 확인을 해야 합니다. 그런 다음 PC에서 계정에 로그인합니다.
백업 코드
백업(Backup) 코드는 위의 두 가지 인증 방법이 작동하지 않을 때 유용합니다. 계정에서 다운로드한 백업 코드 중 하나를 입력하여 계정에 로그인할 수 있습니다.
인증 앱
이 방법에서는 계정을 인증 앱과 연결해야 합니다. 계정에 로그인할 때마다 스마트폰에 설치된 인증 앱에 표시된 코드를 입력해야 합니다.
웹사이트에서 사용할 수 있는 확인 방법이 몇 가지 더 있습니다.
읽기(Read) : Google 계정에 2단계 인증을 추가하는 방법(How To Add Two-step Verification To Your Google Account) .
해커가 이중 인증 을 우회하는 방법(Two-factor Authentication)
의심할 여지 없이 2FA는 귀하의 계정을 더욱 안전하게 만듭니다. 그러나 해커가 이 보안 계층을 우회할 수 있는 방법은 여전히 많습니다.
1] 쿠키 도용(Cookie Stealing) 또는 세션 하이재킹(Session Hijacking)
쿠키 도용 또는 세션 하이재킹(Cookie stealing or session hijacking) 은 사용자의 세션 쿠키를 도용하는 방법입니다. 해커가 세션 쿠키를 훔치는 데 성공하면 2단계 인증을 쉽게 우회할 수 있습니다. 공격자는 세션 고정, 세션 스니핑, 사이트 간 스크립팅, 맬웨어 공격 등과 같은 여러 하이재킹 방법을 알고 있습니다. Evilginx 는 해커가 메시지 가로채기 공격을 수행하는 데 사용하는 인기 있는 프레임워크 중 하나입니다. 이 방법에서 해커는 사용자를 프록시 로그인 페이지로 안내하는 피싱 링크를 보냅니다. 사용자가 2FA를 사용하여 자신의 계정에 로그인하면 Evilginx 는 인증 코드와 함께 로그인 자격 증명을 캡처합니다. OTP 이후로사용 후 만료되고 특정 기간 동안 유효하므로 인증 코드를 캡처해도 소용이 없습니다. 그러나 해커는 사용자의 세션 쿠키를 가지고 있으며 이를 사용하여 자신의 계정에 로그인하고 이중 인증을 우회할 수 있습니다.
2] 중복 코드 생성
Google Authenticator 앱 을 사용한 적이 있다면 특정 시간 이후에 새 코드를 생성한다는 것을 알고 있습니다. Google Authenticator 및 기타 인증 앱은 특정 알고리즘에서 작동합니다. 랜덤(Random) 코드 생성기는 일반적으로 시드 값으로 시작하여 첫 번째 숫자를 생성합니다. 그런 다음 알고리즘은 이 첫 번째 값을 사용하여 나머지 코드 값을 생성합니다. 해커가 이 알고리즘을 이해할 수 있다면 쉽게 중복 코드를 만들고 사용자 계정에 로그인할 수 있습니다.
3] 브루트 포스
무차별 대입(Brute Force) 은 가능한 모든 암호 조합을 생성하는 기술입니다. 무차별 암호 대입을 사용하여 암호를 해독하는 시간은 암호 길이에 따라 다릅니다. 암호가 길수록 암호를 푸는 데 더 많은 시간이 걸립니다. 일반적으로 인증 코드의 길이는 4~6자리이며 해커는 2FA를 우회하기 위해 무차별 대입 시도를 할 수 있습니다. 그러나 오늘날에는 무차별 대입 공격의 성공률이 더 낮습니다. 인증 코드는 짧은 기간 동안만 유효하기 때문입니다.
4] 사회공학
사회 공학 은 공격자가 사용자의 마음을 속이고 가짜 로그인 페이지에 로그인 자격 증명을 입력하도록 하는 기술입니다. 공격자가 사용자 이름과 비밀번호를 알고 있든 없든 이중 인증을 우회할 수 있습니다. 어떻게? 보자:
공격자가 사용자 이름과 암호를 알고 있는 첫 번째 경우를 생각해 보겠습니다. 2FA를 활성화했기 때문에 그는 귀하의 계정에 로그인할 수 없습니다. 코드를 받기 위해 그는 악성 링크가 포함된 이메일을 보내 즉각적인 조치를 취하지 않으면 계정이 해킹될 수 있다는 두려움을 갖게 됩니다. 해당 링크를 클릭하면 원본 웹페이지의 진위를 모방한 해커 페이지로 리디렉션됩니다. 암호를 입력하면 계정이 해킹됩니다.
이제 해커가 사용자 이름과 비밀번호를 모르는 또 다른 경우를 살펴보겠습니다. 다시 말하지만(Again) , 이 경우 그는 당신에게 피싱 링크를 보내고 2FA 코드와 함께 사용자 이름과 비밀번호를 훔칩니다.
5] OAuth
OAuth 통합은 사용자에게 타사 계정을 사용하여 계정에 로그인할 수 있는 기능을 제공합니다. 인증 토큰을 사용하여 사용자와 서비스 제공자 간의 신원을 증명하는 평판 좋은 웹 애플리케이션입니다. 계정에 로그인하는 다른 방법으로 OAuth 를 고려할 수 있습니다.
OAuth 메커니즘은 다음과 같은 방식으로 작동합니다 .
- 사이트 A는 사이트 B(Site B) (예: Facebook )에 인증 토큰을 요청합니다.
- 사이트 B(Site B) 는 요청이 사용자에 의해 생성된 것으로 간주하고 사용자의 계정을 확인합니다.
- 그런 다음 사이트 B(Site B) 는 콜백 코드를 보내고 공격자가 로그인할 수 있도록 합니다.
위의 과정에서 공격자가 2FA를 통해 자신을 확인할 필요가 없음을 확인했습니다. 그러나 이 우회 메커니즘이 작동하려면 해커가 사용자 계정의 사용자 이름과 암호를 알고 있어야 합니다.
이것이 해커가 사용자 계정의 이중 인증을 우회할 수 있는 방법입니다.
2FA 우회를 방지하는 방법은 무엇입니까?
해커는 실제로 이중 인증을 우회할 수 있지만 각 방법에서 사용자를 속여서 사용자의 동의를 얻어야 합니다. 사용자를 속이지 않고 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-faсtоr authenticatiоn on yoυr 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.