[관점]
경계 보안 중심으로 설계된 조직에서 가장 검증이 덜 된 구간이 로컬 권한 상승이다. 이 취약점의 전제가 인증된 저권한 로컬 사용자라는 점이 그래서 중요하다. 방화벽 정책으로는 아무것도 막히지 않는다.
실질적 대응은 분류를 바꾸는 것이다. VPN 클라이언트를 단순 접속 도구가 아니라 SYSTEM 권한으로 상시 동작하는 특권 서비스로 재분류하면, 버전 관리와 EOL 추적이 서버 장비와 같은 수준으로 따라붙는다.
신뢰받는 서비스가 적절한 접근 통제 없이 권한이 필요한 기능을 노출하면, 엔드포인트 보안은 소리 없이 무너질 수 있다. 이런 경우 로컬 저권한 사용자가 권한을 상승시키고, 설정을 변조하며, 민감한 데이터에 도달할 수 있다. 안전한 서비스 설계와 신속한 패치, 그리고 지속적인 검증이 모두 중요한 이유가 여기에 있다.
서론
Pentera Labs 의 최신 연구는 고위험도 Fortinet 취약점 CVE-2024-47574 를 밝혀내며, FortiClient 가 Windows 명명 파이프(named pipe)를 사용하는 방식에 존재하는 위험을 드러낸다. FortiClient 의 부적절한 접근 통제로 인해 공격자가 권한을 상승시키고, 설정을 변조하며, 민감한 데이터에 접근할 수 있다.
이 발견은 PipeViewer 에서 시작되었다. 「Windows 명명 파이프를 살펴보고 안전하지 않은 권한을 검색하는 GUI 도구」로 소개된 오픈소스 도구다. 이 도구가 우리 보안 연구원 중 한 명의 흥미를 끌었고, 결국 이번 발견으로 이어졌다.
Windows 의 명명 파이프(named pipe)는 프로세스 간 통신(IPC)에 널리 쓰이는 기법이다. 은행 창구 유리창에 뚫린 작은 구멍과 비슷하다. 창구 직원과 마주 선 채로 이 작은 구멍을 통해 물건이나 정보를 주고받는 것이다. 환율을 묻는 것과 같은 일부 작업은 누구나 할 수 있다. 그러나 특정 계좌에서 돈을 인출하는 것과 같은 다른 작업에는 특별한 권한이 필요하다.
안전한 시스템이라면, 이 교환에 제3자가 끼어들 수 있어서는 안 된다. 예를 들어 누군가가 당신의 계좌에서 자기 계좌로 돈을 이체하라는 요청을 끼워 넣었는데, 창구 직원이 마치 당신이 요청한 것처럼 처리해 버린다면 어떻게 되겠는가? 바로 그것이 CVE-2024-47574 와 두 번째 취약점을 통해 우리가 해낸 일이다.
이번 Pentera Labs 연구에서 우리는 FortiClient VPN 이 다른 Fortinet 관련 서비스와 통신하기 위해 Windows 의 명명 파이프를 사용하는 방식을 들여다봤다. 그 결과 두 건의 취약점을 발견하였고, 이를 통해 권한이 부여된 Fortinet 서비스의 API 에 접근하여 로컬 권한 상승(Local Privilege Escalation, LPE) 을 달성할 수 있었다. 아울러 다중 서비스 소프트웨어의 안전한 설계 방식에 대한 인사이트도 함께 공유한다.
대상 독자
- 보안 연구원 및 레드팀 — 새로운 공격 기법과 연구 기법 탐구에 참여하기 위해
- 방어팀 및 블루팀 — 잠재적 위협을 신속히 완화하고, 해당 취약점에 대한 방어 체계를 검증하며, 공격 표면 전반에 걸쳐 견고한 보안 태세를 유지하기 위해
- CISO — 새롭게 등장하는 위협을 파악하고 조직에 미칠 수 있는 잠재적 리스크를 이해하기 위해
- 소프트웨어 엔지니어 — 안전한 소프트웨어 설계의 중요성을 이해하고, 자신의 코딩 관행이 유사한 취약점을 예방하도록 만들기 위해
요약 — 뜨겁게 달아오른 Fortinet 파이프 취약점
Pentera 연구원들은 Fortinet 의 FortiClient 에서 다음 두 건의 취약점을 발견하였다.
- CVE-2024-47574 — FortiClient 의 부적절한 접근 통제 취약점으로, 인증된 저권한 위협 행위자가 서비스 설정을 변조하고, 해당 서비스의 일부 레지스트리 키를 변경하며, 민감한 로그 파일을 삭제할 수 있도록 직접적인 접근을 허용한다.
- CVE 2 — 위협 행위자가 FortiClient 서비스 실행 파일에 평문으로 저장된 암호화 키에 접근할 수 있다. 이 키에 접근하면 민감 정보를 복호화할 수 있게 된다. 본 취약점은 Pentera 가 책임 공개(responsible disclosure)하였으며, Fortinet 이 최신 FortiClient 릴리스인 7.4.1 버전에서 패치하였다. CVE 번호는 배정되었고 권고문은 곧 공개될 예정이다.
자사 해당 여부
조직이 FortiClient 7.2.4.0972 또는 그 이전 버전을 사용하고 있다면 CVE-2024-47574 의 영향을 받을 수 있다.
영향
공격자는 이 취약점들을 이용해 영향받는 Windows 머신에서 권한을 상승시킬 수 있다. 이를 통해 SYSTEM 권한 획득, 평문 자격증명 접근, Fortinet 레지스트리 값 변경, 시스템 내 민감 정보 접근이 가능해질 수 있다.
대응 방안
FortiClient 7.2.4.0972 또는 그 이전 버전을 사용 중이라면 다음을 강력히 권고한다.
- 새 FortiClient 버전으로 업데이트할 것 (Fortinet PSIRT FG-IR-24-199 참조)
- 코드 인젝션 시도를 차단할 수 있도록 EDR 을 반드시 사용할 것
- **
FCConfig.exe의 민감 파일 접근을 모니터링**할 것
국내 적용 관점
첫째, 국내 Fortinet 설치 기반의 폭이 그대로 이 취약점의 노출 면적이 된다. Fortinet 은 국내 중소·중견기업 UTM 시장에서 오랜 기간 상당한 점유를 유지해 왔고, 공공·교육기관에도 폭넓게 도입되어 있다. 다만 원문이 지목한 대상은 게이트웨이 장비가 아니라 엔드포인트에 설치되는 FortiClient(Windows) 7.2.4.0972 이하 버전이라는 점을 먼저 정확히 구분하셔야 한다. 방화벽·UTM 본체 패치 계획과 별개로, 임직원 PC 에 배포된 VPN 클라이언트의 버전 인벤토리를 별도로 확보하는 작업이 선행되어야 한다.
둘째, 재택근무 확산기에 급히 대량 배포된 VPN 클라이언트일수록 버전 파편화가 심한다. 당시 부서별·법인별로 설치 패키지를 따로 내려받아 배포한 조직이라면, 지금 사내에 몇 가지 버전대의 FortiClient 가 공존하는지 자체 파악조차 어려운 경우가 많다. 자산관리·EDR·MDM 콘솔에서 설치 소프트웨어 버전을 질의해 7.2.4.0972 이하 단말을 먼저 목록화하고, 원문이 제시한 대응 방안 중 즉시 적용 가능한 탐지 항목(FCConfig.exe 민감 파일 접근 모니터링)부터 걸어 두는 순서를 권한다.

셋째, 이 취약점의 성격상 「외부 침입 차단」 논리로는 방어되지 않다. 원문이 기술한 공격 전제는 인증된 저권한 로컬 사용자이다. 즉 이미 단말에 발판을 확보한 공격자, 혹은 내부 사용자 계정이 출발점이며, 결과는 SYSTEM 권한 획득과 평문 자격증명 접근이다. 경계 보안 중심으로 설계된 국내 다수 조직의 통제 체계에서 가장 검증이 덜 된 구간이 바로 이 지점이다. VPN 클라이언트를 단순 접속 도구가 아니라 SYSTEM 권한으로 상시 동작하는 특권 서비스로 재분류하고, 권한 상승 경로에 대한 탐지 룰이 실제로 작동하는지 점검해야 한다.
넷째, VPN 장비·클라이언트의 EOL 및 패치 거버넌스를 문서화된 절차로 끌어올릴 시점이다. 원문은 두 번째 취약점이 FortiClient 7.4.1 에서 패치되었다고만 밝히고, CVE 번호와 권고문은 「곧 공개 예정」 상태로 남겨 두었다. 벤더 권고문이 공개된 뒤에야 대응에 착수하는 방식이라면, 이처럼 패치가 선행되고 공지가 후행하는 구간에서 조직은 무방비 상태로 남다. 벤더 PSIRT 페이지를 정기 모니터링 대상에 편입하고, 클라이언트 소프트웨어에도 서버 장비와 동일한 수준의 버전 관리·EOL 추적 원칙을 적용하는 것이 현실적인 개선점이다.
출처 · Pentera (Pentera Labs), Two New Zero-Day Vulnerabilities Uncovered in FortiClient VPN (2024-11-14, Nir Chako (Senior Cyber Security Researcher, Pentera))