누적식 보안의 위험: 취약점 클리닝 서비스에서 발견된 RCE 사례

티오리 Frontier Squad 팀은 KISA의 보안 취약점 클리닝 서비스 1차 시범 운영 기간 중 프로그램에서 원격 코드 실행 취약점을 발견하였습니다. 본 포스트에서는 보안 취약점 클리닝 서비스의 사례를 바탕으로 국내 보안 생태계에 자리잡은 누적식 보안의 실효성과 안전성을 고찰합니다.
Frontier Squad's avatar
Nov 28, 2025
누적식 보안의 위험: 취약점 클리닝 서비스에서 발견된 RCE 사례

들어가며

2025년 11월 12일, 한국인터넷진흥원(KISA)은 보안 취약점 클리닝 서비스의 2차 시범 운영 계획을 발표했습니다. 해당 서비스는 2026년 1분기 정식 서비스 출시를 목표로 하고 있으며, 올해 7월에 1차 시범 운영이 진행된 바 있습니다.

보안 취약점 클리닝 서비스
백신을 통해 취약 소프트웨어를 식별하고, 취약점이 제거된 최신 소프트웨어로 신속히 업데이트할 수 있도록 사용자에게 공식 보안패치를 안내·지원하는 대국민 정보보호 서비스

티오리 Frontier Squad 팀은 1차 시범 운영 기간 중, 해당 서비스의 실제 동작을 분석하여 취약점을 발견하고 이를 KISA에 제보하였습니다. 또한, 중앙 집중형 업데이트 방식을 기반으로 하는 서비스의 동작에서 발생할 수 있는 위험에 대한 우려 사항을 함께 전달하였습니다.

이번 포스트에서는 KISA의 보안 취약점 클리닝 서비스 1차 시범 운영 당시 확인한 취약점과 구조적 문제를 공유하며, 국내 보안 시스템이 차용하고 있는 기존 구조 위에 새로운 기능을 쌓아 올리는 누적식 보안의 실효성과 안전성을 고찰해 보겠습니다.


배경

보안 취약점 클리닝 서비스의 등장과 보안상 우려

해킹 그룹에 의한 악성코드 유포 사고가 지속적으로 발생하는 상황에서, 악성코드로 인한 피해를 최소화하기 위해서는 취약한 소프트웨어에 대한 패치가 필수적입니다. 더욱이, 취약점 패치 배포 후에도 모든 사용자의 PC 환경에 패치가 적용되기까지는 많은 시간이 소요되기 때문에 이미 알려진 취약점이 지속적으로 위험을 야기하기도 합니다. 이에 KISA는 취약점이 발생한 오래된 소프트웨어가 사용자 PC에 남아 위험으로 이어지는 상황을 해결하기 위해 여러 보안 프로그램 제조사들과 함께 보안 취약점 클리닝 서비스를 도입했습니다.

보안 취약점 클리닝 체계(출처: KISA)

해당 서비스의 목표는 사용자 PC에 이미 설치된 보안 프로그램들을 통해, 사용자 PC의 오래된 소프트웨어를 발견하여 자동으로 조치할 수 있도록 돕는 것입니다. 취약한 소프트웨어를 정리한다는 취지에 따라 설계된 서비스이지만, 1차 시범 운영 당시 배포된 서비스는 패치 프로그램을 다운로드하고 설치·실행하는 높은 권한을 요구하는 기능을 포함하고 있어 해당 기능에 취약점이 존재할 경우 보안 위험이 확장될 수 있다는 우려가 제기되었습니다.

국내 보안 프로그램 생태계에서는 단기적 대응을 목적으로 추가된 기능이 장기간 유지되며 예상하지 못한 공격 경로로 사용되는 사례가 여러 차례 확인된 바 있습니다. 1차 시범 운영 단계의 보안 취약점 클리닝 서비스 역시 이미 배포되어 있는 여러 보안 프로그램에 기능을 추가하는 형태였기 때문에, 티오리 Frontier Squad 팀은 해당 서비스의 실제 동작 방식을 분석하여 구조적 위험 요소의 존재 여부를 확인하였습니다. 점검 결과, 보안 취약점 클리닝 서비스에서도 실제 취약점으로 이어지는 설계적 결함이 발견되었습니다.

국내 사용자 PC 환경에 설치된 보안 프로그램의 보안 위험

대한민국의 금융·공공 서비스는 2000년대 중반부터 키로깅 및 계정 탈취와 같은 실제 해킹 공격 사례에 대응하기 위해 다양한 추가 보안 프로그램 설치를 요구해 왔습니다.

인터넷뱅킹 로그인 시 추가 보안 프로그램 설치 요구

이로 인해 서비스 이용자들은 PC 환경에 키보드 보안, 방화벽, 인증서 관리 프로그램 등을 동시에 설치하게 되었고, 이 구조는 현재까지도 지속되고 있습니다. 해당 구조 하에서 시간이 지남에 따라, 국내 사용자 PC 환경은 서로 다른 제조사의 보안 프로그램이 누적되고 높은 권한을 사용하는 모듈들이 복합적으로 얽힌 특수한 형태로 변화하였습니다.

티오리는 공동 연구를 통해 해당 환경(Korea Security Application 2.0)에 존재하는 다양한 보안 위험을 식별하고, 연구 결과를 올해 8월 Usenix Security에서 발표했습니다. 연구에서는 국내 보안 프로그램에 내재된 구조적 위험과 더불어, 업데이트 체계의 미비로 인해 많은 이용자가 취약한 버전의 오래된 소프트웨어를 사용하고 있는 현재의 문제 상황을 지적합니다. 국내 보안 프로그램의 설계상 취약성업데이트 부재로 인한 취약성은 국내 사용자 PC 환경에 동시에 누적되어 왔고, 이 두 문제는 각각이 서로의 영향을 키우는 형태로 상호작용하며 더 큰 위험을 만들고 있습니다. 이용자의 안전을 위한 보안 소프트웨어가 공격의 통로로 악용되는 현 상황은 국내 보안 생태계의 보안 패러다임 전환이 필요함을 시사합니다.


보안 취약점 클리닝 서비스 취약점

보안 취약점 클리닉 서비스 동작 구조(1차 시범 운영 당시)

보안 취약점 클리닝 서비스는 독립적으로 실행되는 프로그램이 아닌, 사용자 PC에 설치되어 있는 기존에 배포된 특정 보안 프로그램의 내부 모듈로서 동작합니다.

본문에서는 KISA와 협력하여 보안 취약점 클리닝 서비스(KISA 소프트웨어 긴급 보안 패치 시스템)를 제공하는 특정 보안 프로그램을 보안 프로그램(A)으로 표기하였습니다.

사용자가 PC를 부팅하면 보안 프로그램(A)은 시스템에 설치된 여러 소프트웨어를 스캔하고, 취약한 버전이 확인될 경우 아래와 같은 팝업을 노출합니다.

소프트웨어 보안 업데이트 팝업

해당 팝업을 확인한 사용자가 [취약점 해결하기]를 클릭하면, 이후 과정은 자동으로 진행됩니다. 1차 시범 운영 당시 서비스의 전체 동작 흐름은 아래와 같습니다.

  1. 최신 버전의 설치 파일(.exe) 다운로드
    예: https://download.xxx.co.kr/.../xxx_Installer_rc1.exe

  2. 다운로드한 설치 파일의 디지털 서명(코드 서명) 검증

    1. 신뢰할 수 있는 인증기관에서 발급된 서명인지 검증

    2. 서명 주체의 CN(Common Name)이 제조사 정보와 일치하는지 검증

  3. 검증 통과 시 SYSTEM 권한으로 설치 파일 실행

  4. 설치 완료 시 취약점 패치 완료 메시지 팝업 노출
     

    패치 완료 팝업

보안 취약점 클리닝 서비스의 업데이트 절차는 표면적으로 HTTPS를 통해 파일을 다운로드하고, 이후 디지털 서명을 검증하는 구조입니다. 이는 일반적인 소프트웨어 업데이트 과정에서 신뢰성을 확보하기 위해 널리 사용되는 구조이지만, 안전하게 동작하기 위해서는 다운로드와 서명 검증이 의존하는 신뢰 기반 자체가 안전해야 한다는 전제가 필요합니다.

사설 Root CA에 의한 신뢰 체계 붕괴

1차 시범 운영에서 사용한 보안 프로그램(A)은 브라우저와 로컬에서 동작하는 보안 모듈 간 통신을 위해 자체적으로 사설 Root CA(루트 인증서)를 시스템에 설치하였습니다. 공개 인증기관(CA)은 localhost 및 각 PC의 내부 식별 도메인에 대해 인증서를 발급하지 않기 때문에, 이를 대신하기 위한 방법이었습니다. 하지만 분석 결과, 사설 Root CA의 Private Key가 프로그램 내부에 포함된 상태로 배포되는 문제가 존재하였습니다. 사설 Root CA와 Private Key가 모든 사용자에게 동일하게 배포되었고, 추가적인 보호 없이 패키지 안에 포함되어 있어 모든 사용자가 리버싱을 통해 해당 값을 추출할 수 있었습니다. 이와 같은 구조에서는, 키를 한번 추출할 경우 보안 프로그램(A)이 설치된 모든 PC를 대상으로 동일한 수준의 공격을 실행할 수 있습니다.

티오리 Fronter Squad 팀은 해당 보안 프로그램이 사용하는 Root CA의 Private Key를 직접 추출하는 데 성공하였고, 추출한 키를 이용하여 google.com 도메인에 대한 인증서를 생성하였습니다.

google.com 도메인 인증서 생성

이후, 보안 프로그램(A)이 설치된 환경에서 브라우저가 해당 인증서를 정상 인증서로 처리하는 것을 확인하였습니다. 이는 공격자가 동일한 Root CA를 사용하여 임의의 HTTPS 연결을 정상 TLS 통신으로 위장할 수 있음을 의미합니다.

이때, 사설 Root CA가 단순 TLS 연결을 신뢰하는 용도를 넘어 운영체제 수준에서 최상위 신뢰 권한으로 등록되어 있어 문제가 심화되었습니다. 최상위 신뢰 권한으로 등록된 인증서는 TLS뿐 아니라 실행 파일의 디지털 서명 검증에도 영향을 줄 수 있기 때문에, 취약점의 파급력 확인을 위해 hacked.exe라는 악성코드를 제작하고 Root CA의 Private Key를 이용하여 디지털 서명을 진행하였습니다.

인증서 정보

확인 결과, 보안 프로그램(A)이 설치된 PC에서는 아래와 같이 해당 디지털 서명을 정상 제조사의 서명으로 인식하였습니다. 결과적으로, 취약점을 통해 동일한 키로 TLS 인증서 외 실행 파일의 디지털 서명을 생성할 수 있었습니다.

디지털 서명 생성

SYSTEM 권한 임의 코드 실행

사설 Root CA의 Private Key를 추출할 수 있다면, 제조사와 KISA뿐만 아니라 공격자도 보안 프로그램(A)이 사용하는 업데이트 경로에 접근할 수 있습니다. 보안 프로그램(A)에서 업데이트 파일 다운로드 과정 및 파일의 디지털 서명 검증 과정이 모두 동일한 사설 Root CA를 기반으로 하기 때문에, Root CA의 Private Key를 알고 있는 공격자는 모든 검증 단계를 우회할 수 있습니다. 즉, 해당 구조에서 Private Key를 획득한 공격자는 정상 패치 서버로 보이는 HTTPS 엔드포인트를 생성하고, 서명을 생성하여 임의 실행 파일을 정상 제조사 파일로 위장할 수 있습니다.

티오리 Frontier Squad 팀은 분석 과정에서 추출한 Private Key를 이용하여 테스트용 인증서와 실행 파일 서명을 생성한 후, 동일한 네트워크 환경(예: 카페 Wi-Fi)에서 트래픽을 중간에 가로채 업데이트 요청을 공격자 서버로 향하게 만들었습니다. 그 결과, 보안 프로그램(A)은 공격자 서버를 정상 업데이트 서버로 인식했습니다. 공격 작업 이후 변화한 보안 프로그램(A)의 작업 흐름은 아래와 같이 정리할 수 있습니다.

단계

보안 프로그램(A)이 기대한 동작

실제 발생한 동작

HTTPS 연결

제조사 업데이트 서버와 통신

공격자 서버 연결

파일 다운로드

제조사가 제공한 최신 패치 수신

공격자가 제작한 악성 파일 수신

디지털 서명 검증

파일의 디지털 서명 유효성 검사

공격자가 생성한 서명 정상 인식

실행

최신 패치 설치

SYSTEM 권한으로 공격 코드 실행

변화한 작업 흐름으로 인한 동작은 아래 데모 영상을 통해 확인할 수 있습니다. 프로그램에 의해 발생한 알림을 확인한 사용자가 [취약점 해결하기]를 클릭하면, 전체 공격 체인이 자동으로 진행됩니다. 업데이트 진행 과정에서 공격자가 생성한 악성 파일은 정상 패치 파일로 인식되고, 결과적으로 OS에서 SYSTEM 권한으로 공격 코드가 실행됩니다.

데모 영상에서 사용자는 보안 조치를 위해 보안 취약점 클리닝 서비스[취약점 해결하기]를 클릭합니다. 그러나 몇 초 뒤, 화면에서는 “Hacked by Theori” 메시지가 포함된 cmd.exeSYSTEM 권한으로 실행됩니다. 파일 실행 이후 패치 완료 메시지가 출력되지만, 실제로는 패치 파일이 아닌 공격자의 악성 파일이 실행되었기 때문에 취약점에 대한 조치는 이루어지지 않았습니다. 이와 같은 공격은 보안 취약점 클리닝 서비스를 통해 추가한 취약한 보안 프로그램 업데이트 기능이 역으로 가장 높은 권한을 가진 공격 벡터로 활용될 수 있음을 보여줍니다.

취약점 조치

티오리는 1차 시범 운영 단계에서 확인한 취약점에 대한 분석 내용을 과학기술정보통신부와 KISA가 주관한 보안 취약점 클리닝 서비스 간담회에서 사전 공유하였습니다. KISA는 공유한 내용을 바탕으로 취약점을 조치하였으며, 패치 업데이트 기능이 잠재적인 위험이 될 수 있다는 결론 하에 이후 2차 시범 운영 단계에서 기존의 패치 업데이트 기능을 취약한 소프트웨어를 제거하는 기능으로 변경하였습니다.


누적식 보안에 대한 우려

선제적인 분석과 조치 덕분에 보안 프로그램(A)의 취약점은 공격자의 실제 악용으로 이어지지 않았습니다. 하지만, 본 포스트를 통해 이야기하고 싶은 내용의 핵심은 “보안 취약점 클리닝 서비스에서 취약점이 발견되었고 현재는 조치되었다.”가 아닙니다. 구조적인 맥락에 집중하면, 국내 보안 생태계에서는 아래의 흐름이 반복되고 있습니다.

  1. 새로운 보안 위협 등장(예: 키로깅, 위변조, 취약한 소프트웨어 방치)

  2. 취약점에 대응하기 위해 높은 권한을 가진 보안 프로그램 도입

  3. 시간이 지난 후 도입한 보안 프로그램에서 취약점 발생(공격 표면으로 변화)

  4. 취약점에 대응하기 위해 다른 보안 기능/서비스 추가

  5. 추가된 보안 기능/서비스에서 취약점 발생(공격 표면으로 변화)

이번 사례도 위의 흐름으로 설명할 수 있습니다. (1) 오래된 보안 프로그램을 방치하여 발생한 문제를 해결하기 위해 새로운 보안 기능(보안 취약점 클리닝 서비스)이 추가되었고, (2) 추가된 기능은 높은 권한과 자동 실행 구조를 가지고 있었으며, (3) 해당 기능의 구조적 특성을 활용하는 취약점이 발생하였습니다.

물론 이번 포스트에서 다룬 취약점은 이미 조치되었고, 동일한 구조의 공격은 현재 재현되지 않습니다. 해당 사례를 통해 이야기하고자 하는 것은 단일 기능의 버그가 아닌, 국내 보안 생태계가 오랫동안 반복해 설계 습관과 구조적 패턴의 문제점입니다. 2005년 키로깅 사건 이후 20년 동안, 대한민국의 보안 생태계는 “보안을 위해 PC 안에 또 다른 보안 모듈을 하나 더 설치하는 방식”을 반복해 왔습니다. 이와 같은 누적식 보안은 빠르게 위험을 줄여 단기적으로는 효과적일 수 있지만, 시간이 지날수록 유지보수와 검증이 어려운 복잡한 구조의 시스템을 형성합니다. 그리고 그 복잡성 속에서 예상하지 못한 취약점이 발생하고, 이를 해결하기 위한 과정에서 또 다른 보안 기능을 추가하는 순환이 발생합니다.

누적식 보안이 만드는 순환 구조에 대한 우려는 실제 위험으로 나타나고 있습니다. 2023년에는 북한 해킹 그룹이 국내 보안 프로그램을 실제 침투 경로로 악용한 사례들이 보고된 바 있고, 취약 소프트웨어 문제를 해결한다는 취지로 등장한 보안 취약점 클리닝 서비스 역시 누적된 구조적 취약점을 넓고 강력한 공격 표면으로 확장시키는 발판이 될 수 있었습니다.

기술 발전에 따라 서비스가 지속적으로 증가·축적되는 현대 IT 환경에서 공격 표면 관리는 보안의 중요한 화두입니다. 기존의 시스템에 더해지는 새로운 서비스는 기능과 편의성을 개선하지만, 그 각각이 공격 표면이 되기도 합니다. 또한, 새롭게 추가된 서비스와 기존 시스템의 상호작용 과정에서 발생하는 복잡성은 관리자가 예상하지 못한 새로운 공격 표면을 형성하고 있습니다. 하나의 서비스가 추가되면, 공격자는 기존의 무겁고 견고한 시스템을 직접 공격하는 대신, 그 위에 더해진 서비스 하나를 공격함으로써 기존의 시스템을 장악할 수 있는 기회를 마주합니다. 결국 이러한 현실은 새로운 보안 요소를 누적하는 방식이 과연 근본적인 안전성을 높이는 접근인지에 대한 고민을 남깁니다.

Reference


마치며

보안 취약점 클리닝 서비스는 단일 프로그램의 형태가 아니라, 업데이트 파일과 정책 정보, 취약 소프트웨어 목록, 그리고 이를 제공하는 여러 서버와 관리 체계가 함께 연결된 형태로 운영됩니다. 이러한 구조는 사용자 환경을 일관되게 유지하고 신속하게 업데이트를 제공하는 장점을 가집니다. 하지만 여러 요소가 하나의 신뢰 체계를 공유하는 방식이라는 점에서, 구성 요소 중 한 부분이 공격자에게 노출될 경우 그 영향이 전체 서비스 환경으로 확장될 수 있는 구조적인 위험도 가지고 있습니다.

보안 취약점 클리닝 서비스의 취지와 목표는 타당합니다. 보안 프로그램이 오랫동안 사용자 PC에 남아 있는 문제는 실제 사고로 이어질 수 있고, 이를 사용자가 스스로 해결하기에는 현실적 어려움이 존재하기 때문입니다.

하지만 그 목표를 달성하기 위한 방법이 항상 높은 권한의 보안 프로그램 위에 기능을 하나 더 얹는 누적식 보안일 필요는 없습니다. 이제는 “어떤 기능을 추가로 도입할 것인가”보다, 지금까지 구축한 보안을 대하는 기반 자체가 여전히 유효한지, 그리고 그 구조가 앞으로도 신뢰할 수 있는 방식인지 질문해야 할 시점입니다.

이번 포스트에서는 보안 취약점 클리닝 서비스의 사례를 통해 대한민국의 PC 환경에서 찾아볼 수 있는 누적식 보안의 문제점을 살펴보았습니다. 본 포스트가 대한민국의 PC 환경에서 ‘보안’이라는 이름으로 도입된 구조가 장기적인 관점에서 정말 안전한 방향으로 진화하고 있는지 함께 고민하는 출발점이 되기를 바랍니다.


About Theori Frontier Squad

티오리 Frontier Squad 팀은 실제 해커들의 공격 기법을 기반으로 고객 서비스와 인프라를 진단하며, 현실적인 공격 시나리오를 통해 보안 사각지대를 발굴하는 오펜시브 보안 전문 조직입니다. 우리는 공격자 관점에서 취약점을 분석하고, 설계 단계 위협 모델링부터 코드 분석 및 침투 테스트까지 전 과정을 입체적으로 수행하여 고객 비즈니스를 보호합니다. 나아가 오펜시브 사이버보안의 리더로서 난제급 보안 문제 해결을 즐기며, 공격자보다 한발 앞선 대응으로 더 안전한 세상을 만들어 가고 있습니다.

Share article

Theori © 2025 All rights reserved.