Internet-Scale Measurement of React2Shell Exploitation Using an Active Network Telescope
이 논문은 2025 년 12 월 공개된 React2Shell 취약점 (CVE-2025-55182) 에 대한 인터넷 규모의 측정 연구를 통해, 능동형 네트워크 망원경을 활용해 취약점 악용 시도를 탐지하고 그 시간적 진화, 지리적 분포, 스캐너 행동 특성 및 공격 인프라를 체계적으로 분석한 최초의 연구 결과를 제시합니다.
원저자:Aakash Singh, Kuldeep Singh Yadav, Md Talib Hasan Ansari, V. Anil Kumar
현대 웹사이트는 마치 레고 블록처럼 작은 부품 (컴포넌트) 들을 조립해서 만듭니다. 이 레고 블록을 서버에서 조립해주는 기술이 'React Server Components'입니다.
하지만 2025 년 12 월, 이 레고 조립 과정에 치명적인 구멍이 발견되었습니다. 바로 CVE-2025-55182(React2Shell)입니다.
비유: 해커가 레고 조립사에게 "이 블록을 가져와서 조립해줘"라고 말했을 때, 조립사가 "어떤 블록이든 가져와서 조립해"라고 무조건 믿고 실행해버리는 상황입니다.
결과: 해커가 악성 코드를 레고 블록으로 위장해 보내면, 서버는 이를 진짜 레고로 착각해 실행해 버립니다. 이렇게 되면 서버의 모든 권한을 해커가 가져가게 됩니다. (CVSS 점수 10.0 만점!)
🕵️ 2. 연구 방법: 어둠 속의 '감시 망원경' (Active Network Telescope)
연구팀은 이 해킹 시도가 얼마나 많이 일어났는지, 어디서 왔는지 알기 위해 **능동형 네트워크 망원경 **(Active Network Telescope)을 사용했습니다.
**기존의 망원경 **(수동형) 아무도 쓰지 않는 빈 IP 주소 (빈 집) 를 두고, 그쪽으로 오는 전화를 그냥 '받지 않고' 기록만 합니다. 그래서 해커가 뭐라고 말했는지 (패킷 내용) 는 들을 수 없습니다.
**이 연구의 망원경 **(능동형) 연구팀은 빈 집처럼 보이지만, 실제로는 해커의 전화에 "네, 받겠습니다"라고 대답하는 시스템을 만들었습니다.
비유: 해커가 "여기서 뭐 해?"라고 전화하면, 연구팀이 "여기서 뭐 하냐고? 들어와 봐"라고 대답해 문을 열어줍니다.
효과: 해커가 문을 열고 들어와서 무엇을 하려는지 (악성 코드 내용) 를 직접 볼 수 있게 되었습니다. 이를 통해 해커가 어떤 명령을 내렸는지, 어디로 연결하려 했는지 완벽하게 분석할 수 있었습니다.
📊 3. 주요 발견: 해커들의 움직임 (분석 결과)
① 속도와 규모: 불이 붙은 듯 빠르게
발견: 이 취약점이 공개된 지 단 5 일 만에 전 세계적으로 해킹 시도가 시작되었습니다.
비유: 화재 경보가 울린 직후, 소방차가 도착하기 전에 이미 전 세계의 방화범들이 불을 지르러 달려온 것과 같습니다. 자동화된 해킹 프로그램 (봇) 들이 순식간에 취약한 웹사이트를 찾아냈습니다.
② 해커의 위치: 전 세계에 흩어져 있지만, 본부는 집중되어 있음
**스캐너 **(해커의 탐정) 해킹을 시도한 컴퓨터들은 네덜란드, 폴란드, 미국 등 전 세계 여러 곳에 흩어져 있었습니다. 마치 전 세계 각지에서 소규모 팀이 동시에 건물을 훑어보는 형국입니다.
**백엔드 서버 **(해커의 본부) 하지만 해커들이 악성 코드를 보내거나 데이터를 받을 때 사용한 **실제 서버 **(본부)는 네덜란드와 튀니지 등 아주 적은 수의 국가에 집중되어 있었습니다.
비유: 전 세계의 '탐정들'이 각자 움직이지만, 그들이 보고하는 '본부'는 몇몇 건물에 모여 있는 것입니다. 이는 해커들이 전 세계의 컴퓨터를 빌려서 공격하되, 실제 운영은 소수의 강력한 서버에서 통제하고 있음을 보여줍니다.
③ 공격 대상: 특정 문만 노림
해커들은 모든 문을 두드리지 않았습니다. 웹사이트를 운영하는 **특정 포트 **(80, 443, 3000 번 등)만 집중적으로 노렸습니다.
비유: 도둑이 집 전체를 뒤지기보다, 현관문이나 창문처럼 들어가기 쉬운 특정 문만 집중적으로 훑어보는 것과 같습니다.
💡 4. 결론: 우리가 무엇을 배웠는가?
이 연구는 다음과 같은 중요한 교훈을 줍니다.
대응의 중요성: 중요한 보안 구멍이 알려지면, 해커들은 몇 시간, 몇 일 안에 공격을 시작합니다. 패치 (수리) 가 늦어지면 큰일이 납니다.
구조적 불균형: 해커들은 전 세계에 흩어져 있어 잡기 어렵지만, 그들이 사용하는 본부는 좁은 지역에 모여 있습니다. 따라서 전 세계의 해커 하나하나를 잡기보다, **그들이 모여 있는 본부 **(서버)하는 것이 더 효과적일 수 있습니다.
기술의 양면성: 웹사이트를 더 빠르고 똑똑하게 만드는 기술 (React 등) 이 발전할수록, 그 기술의 복잡성 때문에 새로운 해킹 구멍이 생길 수 있음을 보여줍니다.
🚀 요약
이 논문은 **"새로운 해킹 구멍이 생기자마자, 전 세계의 자동화된 해커들이 어떻게 달려들었는지, 그리고 그들이 어떻게 조직적으로 움직였는지"**를 능동형 감시 망원경으로 낱낱이 파헤친 보고서입니다. 해커들의 발걸음을 따라가 보니, 그들은 전 세계를 누비지만 본부는 몇 군데에 모여 있다는 사실을 발견했습니다. 이는 사이버 보안 전문가들에게 "어디를 막아야 가장 효과적인가"에 대한 중요한 힌트를 줍니다.
논문 요약: 활성 네트워크 망원경 (Active Network Telescope) 을 이용한 React2Shell 악용의 인터넷 규모 측정
1. 문제 정의 (Problem Statement)
배경: 서버 사이드 컴포넌트 기반 웹 프레임워크 (Next.js, Remix 등) 의 확산으로 인해 React Server Components (RSC) 와 React Flight 프로토콜을 통한 새로운 애플리케이션 계층 공격 표면이 등장했습니다.
취약점: 2025 년 12 월 3 일 공개된 치명적인 원격 코드 실행 (RCE) 취약점 **CVE-2025-55182 (React2Shell)**은 React Server Components 의 불안전한 역직렬화 (insecure deserialization) 를 악용합니다.
공격자는 __proto__ 를 통한 프로토타입 체인 주입과 constructor 접근을 통해 전역 Function 생성자를 획득하고, 이를 then 속성을 통해 비동기적으로 실행시켜 서버에서 임의의 코드를 실행할 수 있습니다.
CVSS 점수는 10.0 으로, 패치 전까지 전 세계적으로 광범위한 악용이 예상되었습니다.
연구 격차: Log4Shell 이나 Spring4Shell 과 같은 과거 사례와 달리, React2Shell 에 대한 공개된 학술적 연구는 부재했습니다. 공개 직후의 악용 패턴, 지리적 분포, 공격자 인프라의 규모에 대한 실증적 데이터가 부족했습니다.
기존 방법론의 한계: 기존의 수동 (Passive) 네트워크 망원경은 TCP 연결이 성립되지 않아 (SYN/ACK 응답 부재) 실제 페이로드를 관찰할 수 없어, React2Shell 과 같은 TCP 기반 애플리케이션 계층 공격의 페이로드 분석이 불가능했습니다.
2. 방법론 (Methodology)
이 연구는 **활성 네트워크 망원경 (Active Network Telescope, ANT)**을 활용하여 수동 망원경의 한계를 극복하고 실제 페이로드를 포착하는 새로운 측정 프레임워크를 제시합니다.
활성 망원경 (ANT) 인프라:
CSIR-4PI 에서 운영하는 두 개의 관측 지점 (VP1: /23 블록, 511 개 IP; VP2: /25 블록, 124 개 IP) 을 사용합니다.
핵심 기술: 망원경 IP 에 들어오는 TCP SYN 패킷에 대해 SYN/ACK 응답을 보내어 TCP 연결을 성공적으로 수립합니다. 이를 통해 공격자의 페이로드 (초기 혼잡 창 크기 내) 를 포착하고, 소스 IP 의 스푸핑 여부를 확인합니다.
탐지 파이프라인 (Detection Pipeline):
데이터 수집 및 재조립: 포착된 패킷을 TCP 스트림으로 재조립하여 애플리케이션 계층 바이트 스트림을 복원합니다.
페이로드 디코딩 및 정규화: UTF-8, URL 디코딩, Base64, 압축 해제 (gzip, zlib 등) 를 적용하여 페이로드를 텍스트 형태로 변환합니다.
결정론적 서명 탐지 (Deterministic Signature Detection): React2Shell 악용 페이로드의 고유한 구조적 특징을 기반으로 한 3 가지 조건을 동시에 만족하는지 확인합니다.
__proto__ 명시적 참조 (프로토타입 체인 주입 시도)
constructor: constructor 문자열 (생성자 체이닝)
React Flight 참조 토큰 패턴 ($d+:)
이 서명은 정상적인 React/Next.js 트래픽과 구별되도록 설계되었습니다.
3. 주요 기여 (Key Contributions)
React2Shell 탐지 파이프라인 개발: ANT 데이터에서 연결 수준 페이로드를 재구성하고, CVE-2025-55182 의 메커니즘에 기반한 다중 계층 디코딩 및 서명 탐지 프레임워크를 구축했습니다.
시간적 상관관계 검증: 두 개의 독립적인 관측 지점 (VP1, VP2) 에서 수집된 데이터를 동기화하여, 공개 전에는 악용 트래픽이 없었으며 공개 직후 급증하는 시간적 패턴을 통계적으로 유의미하게 (상관계수 r=0.87) 검증했습니다.
지리적 및 인프라 분포 분석: 스캐너의 지리적 분포와 백엔드 서버 인프라의 분포를 정량화하여, 스캐너는 전 세계적으로 분산되어 있으나 백엔드 인프라는 특정 지역에 집중되어 있음을 규명했습니다.
공격자 행동 및 페이로드 특성 분석: 공격자가 도메인 대신 직접적인 서버 IP 주소를 주로 사용하며, 자동화된 스캐닝 캠페인임을 입증했습니다.
4. 주요 결과 (Key Results)
악용 활동의 시간적 진화:
첫 번째 악용 패킷은 공개일 (12 월 3 일) 이후인 12 월 5 일 05:55 (IST) 네덜란드에서 관측되었습니다.
공개 직후 자동화된 스캐닝 캠페인이 시작되어 12 월 19 일 정점을 찍었으며, VP1 에서 하루 평균 약 35,195 건의 악용 이벤트가 관측되었습니다.
지리적 분포 (스캐너 vs 백엔드):
스캐너: 네덜란드 (37.1%), 폴란드 (30.1%), 미국 (16.8%) 등 전 세계적으로 분산되어 있습니다.
백엔드 서버: 스캐너와 달리 매우 집중되어 있습니다. 네덜란드 (62.6%), 튀니지 (26.1%) 등 상위 2 개 국가가 백엔드 트래픽의 약 90% 를 차지합니다.
비대칭성: 스캐너는 다양한 AS(자율 시스템) 와 국가에 분산되어 있지만, 실제 악용을 지원하는 백엔드 인프라는 소수의 서버에 집중되어 재사용되고 있습니다.
네트워크 특성:
총 735 개의 고유한 스캐너 IP 와 239 개의 고유한 AS 가 관측되었습니다.
IP 수는 급격히 증가했으나 AS 수는 상대적으로 안정적이어서, 기존 인프라를 활용한 집중적인 스캐닝이 이루어졌음을 시사합니다.
포트 타겟팅: 80, 443, 3000, 3001, 8080 등 웹 서비스 관련 포트에 집중적으로 공격이 이루어졌습니다.
페이로드 특성: 악용 페이로드의 대부분이 도메인 이름 대신 직접적인 서버 IP 주소를 포함하고 있어, 인프라의 IP 기반 의존도가 높음을 보여줍니다.
5. 의의 및 결론 (Significance)
실증적 데이터 제공: React2Shell 과 같은 최신 웹 프레임워크 취약점에 대한 인터넷 규모의 첫 번째 정량적 분석을 제공하여, 공격자의 행동 양식과 인프라 구조에 대한 이해를 높였습니다.
방어 전략 수립: 스캐너는 분산되어 있으나 백엔드 인프라가 집중되어 있다는 발견은, 개별 스캐너를 차단하는 것보다 집중된 백엔드 서버를 차단하거나 패치하는 것이 더 효과적인 방어 전략임을 시사합니다.
측정 방법론의 발전: 수동 망원경의 한계를 극복하고 TCP 페이로드를 포착할 수 있는 '활성 망원경' 기법의 유효성을 입증하여, 향후 유사한 애플리케이션 계층 공격 연구의 표준 방법론으로 자리 잡을 수 있음을 보였습니다.
경고: 오픈 소스 웹 프레임워크의 취약점이 공개된 후 수 시간~수 일 내에 자동화된 도구와 봇넷에 의해 급격히 무장화 (Weaponization) 된다는 점을 재확인했습니다.
이 연구는 React2Shell 취약점의 전파 양상을 체계적으로 규명함으로써, 보안 운영자 (SecOps) 와 정책 입안자에게 실시간 위협 대응 및 패치 관리의 중요성을 강조하는 중요한 통찰을 제공합니다.