서론
미국 국토안보부 산하 사이버 보안 및 인프라 보안국(CISA)이 해킹당했다. 사이버 보안의 최전선에서 국가의 인프라를 보호하는 기관 자체가 공격자의 표적이 되어 뚫린 것이다. 이 사건의 진짜 충격은 난해한 제로데이(Zero-day) 취약점이 아니었다. 공격자는 이미 패치가 배포된 지 오래된 Cisco 장비의 취약점을 악용했고, 이를 통해 ‘FIRESTARTER’라는 악명 높은 백도어를 심는 데 성공했다.
우리는 종종 “우리 회사는 타깃이 아니다"라고 자위하곤 한다. 하지만 CISA 침해 사건은 공격자가 특정 기관을 노리는 것이 아니라, 취약한 인프라를 찾아 무작위로 혹은 자동화된 도구를 이용해 침투한다는 사실을 여실히 보여준다. 방화벽 뒤에 숨어 있다고 안전한 시대는 끝났다. 이 글에서는 방어적 관점에서 FIRESTARTER 백도어가 Cisco 장비를 장악하는 기술적 메커니즘을 분석하고, 여러분의 인프라가 동일한 경로로 유출되지 않도록 하기 위한 실전적인 대응 전략을 다루고자 한다.
⚠️ 윤리적 경고: 본문에 포함된 기술적 분석 및 코드 예시는 보안 연구 및 방어 목적(Defensive Security)으로만 제공됩니다. 승인되지 않은 시스템에서의 테스트는 불법이며 엄격히 금지됩니다.
본론
1. 공격 시나리오와 기술적 배경
이번 침해 사건의 핵심은 CVE-2023-20078와 같은 Cisco IOS XE 권한 상승 취약점, 그리고 이를 이용한 FIRESTARTER 백도어의 결합이었다. 공격자는 먼저 웹 인터페이스나 관리 서비스의 취약점을 이용해 초기 접근 권한을 획득한다. 이후 시스템 내부에서 권한 상승(Root 권한 획득) 공격을 시도하며, 성공 시 악성 파일을 시스템에 삽입한다.
FIRESTARTER는 단순한 악성코드가 아니다. 이 백도어는 Cisco 장비의 정상 시스템 파일(주로 lina 또는 유사한 실행 파일)을 변조하거나, 정상적인 관리 도구로 위장하여 지속적으로 활동한다. 공격자는 이 백도어를 통해 명령 제어(C2, Command & Control) 서버와 통신 채널을 열어두고, 3월까지 장악권을 유지했다.
2. 침투 경로 분석 (Mermaid 다이어그램)
아래 다이어그램은 공격자가 취약점을 발견한 순간부터 백도어를 설치하여 지속적으로 시스템을 장악하는 과정을 시각화한 것이다.
| |
3. 백도어의 동작 원리와 PoC 분석
FIRESTARTER 백도어의 핵심은 **지속성(Persistence)**과 **은폐(Stealth)**다. 공격자는 백도어가 시스템이 재부팅되어도 실행되도록 /etc/init.d/와 같은 시작 디렉토리나 시스템 데몬 설정을 변조한다.
학습 및 방어 목적을 위해, 백도어가 어떻게 네트워크 소켓을 생성하여 외부와 통신을 시도하는지 그 *개념(Concept)*을 증명하는 파이썬 코드를 작성해 보았다. 실제 백도어는 훨씬 더 복잡하고 난독화되어 있지만, 기본 동작 원리는 소켓 통신을 리스닝하거나 아웃바운드 연결을 맺는 것이다.
다음은 공격자가 백도어를 통해 장치 내부에서 명령을 대기하는 상황을 시뮬레이션한 방어 연구용 코드다.
| |