2FA 뚫는 에빌진스…세션 쿠키 탈취로 인증 우회
작성일
2단계 인증(2FA) 우회하는 해킹툴 에빌진스, 세션 쿠키 탈취가 핵심
패스키·보안키 도입이 최선의 방어책으로 꼽혀

한동안 해커들의 골칫거리였던 2단계 인증(Two-Factor Authentication, 2FA)이 더는 안전하지 않다는 경고가 나왔다. 비밀번호(알고 있는 것)와 함께 휴대폰으로 전송되는 인증 코드나 지문·안면 인식(가지고 있는 것 또는 본인 자체)을 요구하는 2FA는 그동안 원격에서 계정을 탈취하려는 사이버 범죄자들에게 넘기 힘든 장벽이었다. 하지만 ‘에빌진스(Evilginx)’라는 도구를 악용한 공격 기법이 이 장벽을 무력화하고 있는 것으로 나타났다.
해커들은 로그인이 완료된 뒤 생성되는 세션 쿠키를 가로채는 방식으로 2FA를 우회한다. 세션 쿠키는 로그인 성공 여부와 세션 정보를 담고 있는 브라우저 내 임시 데이터 파일로, 이를 훔치면 웹사이트가 해커를 정상 사용자로 오인하게 만들 수 있다. 즉 해커는 사용자가 로그인 절차를 마칠 때까지 기다린 뒤, 비밀번호는 물론 계정에 저장된 개인정보 전체에 접근할 수 있게 된다.
에빌진스, 어떻게 2FA를 무력화하나
일반적인 피싱 공격은 은행이나 클라우드 서비스, 소셜미디어, 이커머스 사이트의 로그인 페이지를 그대로 베낀 가짜 사이트를 만드는 방식으로 이뤄진다. 문제는 2FA 코드가 사용자의 휴대폰으로 전송되기 때문에, 이를 가로채려면 추가적인 속임수가 필요하다는 점이다. 에빌진스는 이 문제를 해결하기 위해 가짜 로그인 페이지 뒤에 자리 잡고 사용자와 실제 웹사이트 사이에서 정보를 그대로 중계한다. 사용자가 가짜 사이트에 로그인 정보를 입력하면 에빌진스가 이를 실제 사이트로 전달하고, 반대 방향으로도 정보를 오간다.
사용자가 인증을 완료하는 순간 에빌진스는 세션 쿠키를 낚아채 실제 웹사이트가 해커를 정상 사용자로 인식하게 만든다. 사용자 본인은 정작 그 웹사이트에 로그인한 적이 없는데도, 해커가 사용자 행세를 하며 모든 정보에 접근하는 셈이다. 가짜 웹사이트를 흉내 내고 정보를 중계하며 세션을 가로채 계정을 장악하는 이 일련의 과정은 ‘적대적 중간자 공격(Adversary-in-the-Middle, AitM)’으로 분류된다.

원래는 보안 강화용 오픈소스 도구였다
에빌진스가 처음부터 AitM 공격을 목적으로 만들어진 도구는 아니다. 원래는 취약한 다중 인증(MFA)을 세션 하이재킹 방식으로 노출시켜 보안을 강화하는 데 쓰이는, 피싱 시뮬레이션용 오픈소스 사이버보안 도구였다. 그러나 오픈소스라는 특성상 소스 코드가 공개돼 있다 보니, 해커들이 이를 변형해 악의적인 목적으로 사용하게 된 것으로 전해졌다.
이는 보안 연구와 실제 공격 사이의 경계가 얼마나 얇은지를 보여주는 사례다. 방어 목적으로 개발된 기술이 그대로 공격 도구로 둔갑할 수 있다는 점에서, 보안 업계에서는 오픈소스 침투 테스트 도구의 관리와 배포 방식에 대한 고민이 커질 수밖에 없다.
문자·앱 기반 2FA의 한계와 대안
에빌진스식 공격의 핵심은 문자메시지나 푸시 알림으로 전달되는 인증 코드가 특정 기기에 물리적으로 종속되지 않는다는 점을 노린다는 데 있다. 세션 쿠키만 훔치면 코드 자체를 빼낼 필요조차 없기 때문이다. 이 때문에 다수 웹사이트들이 패스키와 보안 키 도입을 늘리고 있다. 패스키는 비밀번호 없이 휴대폰이나 태블릿, 컴퓨터에 내장된 지문 인식이나 안면 인식 같은 기기 자체 인증 방식으로 로그인하는 기술이다. 유비키(YubiKey) 같은 보안 키는 패스키와 동일한 원리로 작동하지만, USB 형태의 장치를 직접 꽂아 인증하는 방식이다.
이런 인증 방식의 장점은 특정 기기에 종속돼 있다는 점이다. 해커가 세션을 가로채더라도 웹사이트가 실제 사용자의 기기가 아니라는 사실을 감지해 접근을 거부할 수 있다. 만약 에빌진스에 의한 공격이 의심된다면 모든 세션에서 로그아웃한 뒤 패스키나 보안 키로 다시 로그인하는 것이 권장된다. 이 외에도 의심스러운 링크는 클릭하지 말고, 확실하지 않다면 바이러스토탈(VirusTotal) 같은 서비스로 링크의 유해성을 미리 확인하는 것이 좋다.
실시간 보호 기능을 제공하는 백신 프로그램을 사용하는 것도 권장된다. 예를 들어 마이크로소프트 디펜더의 스마트스크린(SmartScreen) 기능은 유해 사이트를 탐지하고 차단하는 역할을 한다. 비밀번호 재사용을 피하고 비밀번호 관리자를 활용해 비밀번호를 생성·자동 입력하는 것도 유효한 방법이다. 비밀번호 관리자는 비밀번호가 생성된 정확한 사이트에서만 자동 입력되기 때문에, 가짜 URL로는 속일 수 없다는 장점이 있다. 이런 방법들을 개별적으로가 아니라 함께 적용해야 에빌진스를 악용하는 공격자들보다 한발 앞서 나갈 수 있다.