USB 이더넷 스푸핑으로 잠금 상태 PC의 로그인 비밀번호를 훔치는 방법과 방어

개요
보안 연구자들이 USB로 위장한 이더넷(네트워크) 어댑터를 사용해 잠긴 컴퓨터에서 로그인 자격증명을 수집하는 취약성을 보고했습니다. 공격자는 외견상 플러그 앤 플레이(Plug-and-Play) 이더넷 어댑터처럼 행동하는 장치를 연결해, 대상 PC가 장치를 네트워크 게이트웨이·DNS·WPAD 서버로 인식하도록 유도합니다. 이후 PC는 네트워크 경로를 통해 자격증명을 전송할 수 있고, 연결된 장치는 이를 가로채어 기록합니다.
누가 위험한가
- 물리적 접근이 가능한 공격자에게 노출된 PC
- 이전에 해당 계정으로 로그인이 있었고, 세션이 잠긴 상태인 기기
- 자동 장치 설치를 허용하는 운영체제와 구성(특히 자동 네트워크 구성 허용)
중요: 연구자는 이 방법이 윈도우(Windows 98부터 Windows 10까지 일부 버전)에서 동작하는 것을 확인했다고 보고했습니다. macOS(El Capitan, Mavericks)에서는 일부 환경에서 동작했으나 평균 사용자가 취약한지는 확실치 않습니다. 리눅스는 테스트되지 않았습니다.
어떻게 작동하나 (높은 수준의 기술 설명)
- 공격자는 USB 기반의 SoC(System on Chip) 장치를 사용합니다. 연구에서는 USB Armory와 Hak5 Turtle 같은 제품을 예로 들었습니다.
- 장치는 플러그 앤 플레이 이더넷 어댑터로 위장합니다. 운영체제는 새 네트워크 인터페이스로 인식하고 설치를 시도합니다.
- 위장된 장치는 자신을 네트워크 게이트웨이, DNS 서버, WPAD(Web Proxy Auto-Discovery) 서버로 광고합니다.
- 대상 시스템은 자동으로 프록시 및 네트워크 설정을 요청하거나 자격증명을 전송할 수 있습니다. 이때 전송된 자격증명이 가로채집니다.
이 공격이 가능한 이유는 대부분의 운영체제가 잠긴 상태에서도 특정 장치의 자동 설치와 네트워크 구성 요청을 허용하기 때문입니다. 공격자는 물리적으로 장치를 연결하기만 하면 됩니다.
연구자가 보고한 범위와 한계
- 테스트 대상 운영체제: Windows 98, 2000, XP SP3, 7 SP1, 10(홈·엔터프라이즈), macOS El Capitan, Mavericks.
- macOS에서의 결과는 연구자의 시스템 구성 영향일 가능성이 있으며, 일반 사용자 환경 전체에 적용된다는 보장은 없습니다.
- Linux는 실험 대상이 아니었습니다.
- 공격에는 반드시 물리적 접근이 필요합니다.
언제 이 공격이 실패하는가 (반례)
- 운영체제가 잠긴 상태에서 새로운 장치 설치를 차단하도록 구성된 경우
- 보안 정책(예: 그룹 정책, MDM)이 외부 네트워크 장치의 자동 설치를 금지하는 경우
- USB 포트가 비활성화되었거나 제한된 환경(예: Kiosk 모드, 공용 PC 보안 셸)
- 시스템이 네트워크 설정 변경 시 사용자 인증을 요구하도록 강제할 경우
대안적 공격·비교 관점
- 전통적인 키로깅이나 소프트웨어 기반 멀웨어는 네트워크가 아닌 로컬 경로로 자격증명을 수집합니다.
- USB 이더넷 스푸핑은 물리적 접근을 전제하지만, 소프트웨어 멀웨어보다 탐지하기 어려운 경우가 있습니다.
방어 및 완화 권고(관리자·사용자별 체크리스트)
- 관리자(IT):
- 그룹 정책 또는 엔드포인트 관리(MDM)를 통해 잠긴 상태에서의 디바이스 자동 설치를 비활성화하십시오.
- 알려진 하드웨어 목록(화이트리스트)만 설치 허용하도록 설정하십시오.
- 부팅 시 및 잠금 해제 시 네트워크 설정 변경을 모니터링하는 로그 규칙을 추가하십시오.
- USB 포트 제어(특히 외부 포트)의 물리적 차단이나 소프트웨어 제한을 고려하십시오.
- 사용자(일반):
- 공공 장소에서 절대 모르는 USB 장치를 연결하지 마십시오.
- 업무용 노트북은 잠금 상태에서도 물리 포트 접근을 막을 수 있는 케이블 잠금 등 물리적 보안을 사용하십시오.
- 의심스러운 네트워크 동작(예: 시스템 트레이의 프록시 변동, 인증 팝업 등)을 즉시 보고하십시오.
간단한 대응(인시던트 대응 롤북)
- 의심 장치를 즉시 분리하고 전원을 차단하지 않은 상태에서 네트워크 연결을 해제하십시오.
- 보안팀에 즉시 보고하고, 해당 시간대의 시스템 로그(보안, 이벤트, 네트워크)를 수집하십시오.
- 계정 비밀번호를 강제로 재설정하고 2단계 인증을 강제 적용하십시오.
- 포렌식 분석을 통해 장치가 생성한 네트워크 요청과 전송된 데이터의 범위를 확인하십시오.
- 관련 장비의 USB 포트 물리 제어와 정책 강화 계획을 수립하십시오.
테스트 사례와 수용 기준
- 수동 검증: 관리 정책을 변경해 잠긴 상태에서 디바이스 설치가 차단되는지 확인한다.
- 자동 모니터링: 네트워크 게이트웨이, DNS, WPAD 광고가 임의의 USB 장치로부터 발생하면 경보가 울리도록 설정한다.
- 수용 기준: 잠긴 상태에서 새 네트워크 인터페이스가 자동으로 시스템 자격증명을 요구하거나 전송하지 못할 것.
운영·보안 관점의 의사결정 모델
- 영향×노력: 물리적 보안(잠금 케이블, 포트 차단)은 노력 대비 영향이 큽니다. 그룹 정책 적용도 중간 정도의 노력으로 큰 보안 향상을 제공합니다.
팩트 박스
- 장치 유형: USB 기반 SoC 장치(예: USB Armory, Hak5 Turtle 등).
- 공격 전제: 물리적 접근성, 자동 장치 설치 허용.
- 검증된 OS: 일부 Windows 버전 및 일부 macOS 버전에서 동작 보고.
요약
- USB로 위장한 이더넷 어댑터는 시스템이 자동으로 네트워크 장치를 설치하는 동작을 악용해 자격증명을 가로챌 수 있습니다.
- 물리적 접근과 자동 설치 허용 환경이 핵심 전제입니다.
- 방어는 디바이스 설치 정책, USB 제어, 물리적 보안 강화로 가능합니다.
자주 묻는 질문
이 공격을 막으려면 무엇을 가장 먼저 해야 하나요?
관리자는 잠긴 상태에서의 장치 자동 설치를 비활성화하고, 신뢰할 수 있는 하드웨어만 허용하는 화이트리스트 정책을 적용해야 합니다. 사용자는 모르는 USB 장치를 절대 연결하지 마십시오.
이 공격은 원격으로 가능한가요?
아니요. 보고된 기법은 물리적 접근을 필요로 합니다. 원격에서 동일한 효과를 내려면 다른 취약성이 필요합니다.
내 macOS도 확실히 안전한가요?
해당 연구에서는 일부 macOS에서 동작이 확인되었지만, 환경 구성에 따른 차이가 큽니다. macOS라고 해서 자동으로 안전하다고 단정할 수는 없습니다.
요약: 물리적 보안과 정책 강화가 이 위협에 대한 가장 효과적인 방어입니다. 정책 변경 전에는 영향 평가와 광범위한 테스트를 권장합니다.