이중인증(Two-factor authentication, 2FA)은 해커로부터 계정을 보호하는 추가 방어막이다. 비밀번호가 도난당하거나 추측되더라도 또 2FA 절차가 있어 계정 접근을 차단한다. 많은 보안 전문가가 주요 이메일 주소나 금융 서비스 같은 중요 계정에는 2FA를 활성화하는 것이 현명한 보안 조치라고 조언한다. 그러나 안타깝게도 2FA 역시 완벽한 수단은 아니다.
사실 절대적으로 안전한 보안 수단은 없다. 2FA 역시 마찬가지다. 해커는 인간적 약점이나 잘 알려진 시스템 취약점을 악용하는 방식으로 2FA를 우회한다. 이는 마치 이중 잠금 장치가 걸린 문을 그냥 힘으로 부수고 들어오는 것과 다르지 않다.
그러나 2FA가 어떤 방식으로 우회되는지 알고 있으면 해커의 속임수를 피하고 2FA의 이점을 계속 누릴 수 있다. 집의 현관문을 더 단단한 금속판과 긴 나사로 보강해 잠금 장치를 한층 튼튼하게 만드는 것과 비슷하다.
문자메시지 탈취
가장 단순한 형태의 2FA는 SMS 문자메시지로 일회용 코드를 받는 방식이다. 하지만 이 방법은 여러 방식으로 메시지가 가로채질 수 있기 때문에 가장 취약한 인증 수단으로 꼽힌다.
잘 알려진 방식은 SIM 스와핑(SIM swapping)이다. 해커가 사용자의 전체 전화번호를 가로채는 공격으로, 공격자가 이동통신사를 속여 사용자의 번호를 새로운 SIM 카드(또는 eSIM)에 연결한다. 그 순간부터 해커는 사용자의 모든 문자메시지를 받게 된다. 여기에는 2FA 코드도 포함된다.
SS7 공격도 대표적이다. SS7은 전 세계 이동통신망에서 문자와 전화를 중계하는 오래된 통신 신호 프로토콜로, 공격자는 이 프로토콜을 조작해 SMS 메시지를 중간에서 다른 곳으로 전송되도록 조작한다. 사용자는 메시지가 발송됐다는 사실조차 알 수 없으며, 누군가가 그 메시지를 가로챘다는 것도 눈치채지 못한다. 이는 통신망 프로토콜 구조 자체의 한계에서 비롯된 것이기 때문에 사용자가 직접적으로 피할 방법은 없다.
예방 방법 : SIM 스와핑을 막으려면 이동통신사 고객센터에 문의하거나 계정 설정에서 확인해 계정 변경 시 반드시 입력해야 하는 별도의 PIN 번호나 비밀번호를 설정하는 것이 좋다. 이렇게 하면 새로운 SIM 카드 발급 같은 절차가 추가 보안 검증 없이는 진행되지 않는다. 더 확실한 보호책은 아예 문자 기반 2FA 대신 다른 방식의 인증을 선택하는 것이다. 이는 SS7 공격 위험도 차단할 수 있다. 문자 메시지를 이용한 2FA는 통신 인프라 구조적 한계 때문에 본질적인 취약점을 안고 있다.
승인 알림 스팸
인증 앱의 푸시 알림을 통한 2FA는 상대적으로 안전하다. 새로운 기기에서 접속을 시도하면, 앱이 사용자 스마트폰으로 알림을 보내 승인 여부를 묻고, 사용자가 이를 허용하면 계정에 접근하는 방식이다. 하지만 해커는 이 알림 시스템을 악용도 수 있다. 기기로 수십, 수백 건의 승인 요청을 보내 사용자가 무심코 허용 버튼을 누르도록 만드는 것이다. 반복되는 알림 폭탄에 지쳐 제대로 확인하지 못하거나, 단순히 알림을 지우다 잘못된 버튼을 누르는 실수로 이어질 수 있다.
예방 방법 : 각 계정마다 고유하고 강력한 비밀번호를 설정하는 것은 기본이며, 피싱 공격을 경계해야 한다. 공격자가 비밀번호를 훔치거나 추측하거나 해킹하지 못한다면, 승인 요청 스팸 공격도 시도할 수 없다. 실제로 이런 2FA 피로 공격(fatigue attack)을 겪게 된다면 즉시 계정 비밀번호를 변경해야 한다. 계정에 로그인해야 비밀번호를 바꿀 수 있다면, 백업 코드 같은 대체 2FA 수단을 활용해 접근한 뒤 조치를 취하는 것이 안전하다.
피싱
일회용 2FA 코드는 문자 메시지로 전달되든, 인증 앱에서 생성되든 관계없이 누구나 사용할 수 있는 정보다. 따라서 전화를 통해 코드를 불러주거나, 화면을 캡처해 다른 사람에게 보내면, 상대방은 비밀번호만 가지고 있어도 계정에 접속할 수 있다. 피싱 공격은 비밀번호뿐 아니라 2FA 코드까지 함께 탈취할 수 있다. 가짜 로그인 페이지나 보안이 뚫린 사이트에 정보를 입력하면, 해커는 즉시 해당 계정에 접근할 수 있다. 이는 누군가 전화를 걸어와 앱에 표시된 현재 2FA 코드를 요구할 때도 마찬가지다.
예방 방법 : 누군가 2FA 코드를 요구하더라도 절대 제공하지 말아야 한다. 또한 방문하는 웹사이트와 입력하는 양식을 신중히 확인해야 한다. 권장되지 않은 앱이나 브라우저 확장 프로그램도 설치하지 않는 것이 안전하다. 잘못하면 악성코드가 기기에 깔려 2FA 코드를 몰래 탈취할 수 있기 때문이다.
FIDO 키 우회
유비키(Yubikey) 같은 보안 키는 가장 안전한 2FA 방식으로 꼽힌다. 사용자가 물리적으로 키를 가지고 있어야 하고, 인증 과정에서 직접 버튼을 눌러야 하기 때문이다. 해커가 실제 보안 키를 손에 넣지 않는 한 이 인증을 통과할 수 없다. 그런데 이 방식 역시 우회될 가능성이 있다. 일부 서비스는 이미 등록된 기기를 이용해 새 기기를 인증하도록 허용한다. 예를 들어, 처음에는 유비키를 사용해 로그인했지만, 이후에는 기존 기기를 통해 추가 인증 요청을 승인하는 식이다. 이 경우 해커가 다른 취약한 2FA 방식을 다시 활용할 수 있다. 이렇게 해서 해커는 앞서 설명한 승인 알림 스팸 공격을 다시 실행할 수 있다.
예방 방법 : 계정 보안 설정에서 이 같은 기기 간 인증 방식을 비활성화해야 한다. 보안키만 2FA 인증 수단으로 사용하는 것이 가장 안전하다.
dl-itworldkorea@foundryco.com
Alaina Yee editor@itworld.co.kr
저작권자 Foundry & ITWorld, 무단 전재 및 재배포 금지
이 기사의 카테고리는 언론사의 분류를 따릅니다.
언론사는 한 기사를 두 개 이상의 카테고리로 분류할 수 있습니다.
