방어Agent 분석 — CVE-2020-13573
📋 요약
- 한 줄 정의: RSLinx Classic의 Ethernet/IP 서버 기능에서 메모리 결함(CWE-400 Out-of-Bounds Read)을 통해 공격자는 특수 제작된 네트워크 요청을 통해 서비스 거부 상태를 유발할 수 있음.
- 영향 한 줄: 성공 시 해당 시스템은 응답 불능 상태에 빠져 생산 라인 제어 중단, 데이터 손실 위험 증가 (KEV: 높음 / CVSS: 7.5).
🎯 영향 범위 / 자산 식별
- 영향 받는 제품·버전 범위: Rockwell Automation RSLinx Classic 버전 <=2.57.00.14 CPR 9 SR 3
- 안전한 최소 패치 버전: 업데이트된 버전 (예시로 >=2.6X 시리즈 확인 필요) 또는 공식 보안 패치 적용 권장
- 노출 조건: 네트워크에 노출되어 있으며, 기본 설정에서도 취약할 수 있음; Ethernet/IP 통신 프로토콜 활성화가 필수적임
- 내 자산 식별 방법:
네트워크 스캔 도구를 사용하여 배너 확인 (예:nmap -sV TARGET_HOST)/rslinxwebadmin.exe또는 관련 설정 파일에서 버전 정보 검색 (TARGET_HOST/rsli...version)CIP 통신 로그 분석으로 Ethernet/IP 트래픽 패턴 확인 및 이상 징후 탐지
🔍 공격 방법
① 취약 컴포넌트: RSLinx Classic의 Ethernet/IP 서버 기능 내에서 특정 메모리 처리 로직 결함 (버전 2.57.00.14 CPR 9 SR 3)
- 함수 경로 추정:
EthernetIpServerProcessPacket()또는 유사한 네트워크 패킷 처리 함수 내부에서 발생 가능
기본 노출 여부: 네트워크에 연결되어 있으며, 특정 통신 프로토콜 활성화 시 취약성 노출 위험 증가.
② 전제조건:
- 인증 필요: 인증된 사용자 권한이 요구될 수 있으나, 일부 공격 시나리오는 인증 없이도 가능
- 네트워크 위치: 내부 네트워크 내에서 Ethernet/IP 트래픽을 모니터링할 수 있어야 함
활성화 기능: Ethernet/IP 통신 프로토콜 활성화가 필수적임.
③ 트리거 경로:
- 공격자는
CVE-2020-13573취약점을 악용하기 위해 다음과 같은 네트워크 요청을 전송합니다.:text1METHOD: POST2PATH: /EthernetIpServer/ProcessPacketRequest HTTP/1.1 (예시 엔드포인트)3HEADERS: Content-Type: application/json; charset=UTF-8, X-SessionCookie: SESSION_COOKIE placeholder4BODY: {"packet": "maliciousPayload", ...} # 추정된 악성 패킷 구조 예시 - 이 요청은 특정 메모리 주소를 초과하여 읽거나 쓰려고 시도하며, 시스템의 처리 로직 결함으로 인해 서비스 거부 상태 발생.
- 결과적으로 서버는 응답을 중단하고 정상적인 운영이 불가능해짐.
④ 성공 시 영향:
- 획득 권한: 제한된 서비스 거부 공격자에게 직접적인 권한 상승은 어려울 수 있으나, 시스템 마비로 인한 간접적 제어 불능 상태 유발 가능성 존재
- 후속 피벗 및 지속성: 일시적으로 네트워크 연결 중단으로 인해 추가적인 내부 네트워크 접근 시도는 지연되나, 다른 취약점을 탐색할 기회 제공. 즉시 패치 없이는 장기적 지속 공격의 기반 마련될 수 있음.
💣 예시 코드 (PoC)
기본 요청 변형 1 - 서비스 거부 유발
1# 용도: 특수 패킷으로 인한 메모리 결함 악용 시도 2METHOD: POST 3PATH: /EthernetIpServer/ProcessPacketRequest HTTP/1.1 (실제 엔드포인트 확인 필요) 4HEADERS: Content-Type: application/json, X-SessionCookie: SESSION_COOKIE placeholder 5BODY: {"packet": "A"*1024+"maliciousOffset", ...} # 추정된 오프셋과 악성 데이터 조합 예시 # 핵심: maliciousOffset 값이 메모리 범위를 벗어나 처리 오류 유발, 서비스 거부 상태 유도 시도.
``# 확인`: 응답 코드가 5xx 시리즈 또는 응답 시간 지연 증가로 판별 가능 (예: 응답 없음 / 매우 느린 응답).
WAF 우회 변형 예시 - 특정 헤더 인코딩 활용
1METHOD: POST 2PATH: /EthernetIpServer/ProcessPacketRequest HTTP/1.1 (실제 엔드포인트 확인 필요) 3HEADERS: Content-Type: application%20json, X-SessionCookie: SESSION_COOKIE placeholder # URL 인코딩 적용 4BODY: {"packet": "\uFFFD\uFFFF"*512+"maliciousPayload", ...} # 유니코드 문자로 범위 초과 시도 # 핵심: 유니코드 문자를 이용한 범위 초과 및 WAF 필터링 우회.
``# 확인`: 정상적인 응답 지연 또는 서비스 거부 상태 발생 여부 관찰 (예: 응답 없음 / 매우 느린 응답).
🛡️ 탐지
[시스템 로그]: 네트워크 트래픽 분석을 통한 비정상적인 패킷 패턴 감지 (예:Suricata규칙 예시)
1alert tcp $EXTERNAL_NET any -> $EXTERNAL_HOST any proto tcp portrange 1024-65535 sid 1 ruleuid 10000, msg "Potential RSLinx Classic DoS attempt detected", flowid "$HOME_ID"인코딩 우회 탐지 한계: 인코딩된 공격 패턴은 시그니처 기반 탐지에서 벗어날 수 있음.
[네트워크 트래픽]: 특정 엔드포인트로의 과도한 요청 빈도 및 크기 감지 (예:Snort규칙 예시)
1alert tcp $EXTERNAL_NET any -> $ANYSOURCE any proto tcp flags:SYN ack tcp multi/analysis drop title "RSLinx Classic DoS attempt detected" cid=123456789 desc "Unusual traffic pattern indicative of potential Out-ofBounds exploit attempts."인코딩 우회 한계 명시: 복잡한 인코딩 기법은 탐지 시그니처를 우회할 수 있음.
🔧 방어·완화
1 코드패치 / 설정변경:
- 위치 및 방법: Rockwell Automation 공식 패치 적용 (예:
rslinx_patch_<version>업데이트)
설정 키 예시:/config/securitySettings.xml, 특정 메모리 처리 로직 수정 확인 필요
1<SecuritySetting key="MemoryBoundsCheckEnabled">true</SecuritySetting> 2 입력검증 / 네트워크 제한:
- 위치 및 방법: 네트워크 트래픽 필터링 규칙 적용 (예:
firewall설정)으로 특정 엔드포인트로의 비정상적인 요청 차단
정규식 예시:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}]+(예시 패턴 매칭)
3 WAF 활용 / 모니터링 강화: - 위치 및 방법: 웹 애플리케이션 방화벽(WAF) 설정으로 특수 패킷 필터링, 이상 트래픽 감지 규칙 적용
설정 키 예시:waf/ruleset.json,"out_of_bounds"관련 패턴 포함하여 차단 규칙 추가 필요
1{ "id": "__OUTBOUNDS__", "pattern": ".*(\\u[0-9a-f]{4})+.*" } 임시 완화 조치: 즉시 패치 적용이 불가능한 경우, 네트워크 트래픽 모니터링 강화 및 이상 징후에 대한 실시간 경보 시스템 구축 권장.
⚖️ 위험도 / 패치 우선순위
KEV: 높음 | CVSS: 7.5 (높은 악용 난이도와 노출 가능성 고려)
패치 권고: 이번 주 내 패치 적용 필수 - 현재 네트워크 환경에서 서비스 거부 공격이 즉시 실행될 수 있으며, 생산 시스템의 중단 위험성이 매우 높기 때문에 빠른 대응 필요함을 강조합니다._CISA 및 Rockwell Automation 공식 권고를 따름.
🌐 실제 동향
현재 보도와 악용 사례는 주로 산업 제어 시스템 내에서의 취약점 활용 가능성과 관련된 경고가 증가하고 있습니다 (출처: www.cisa.gov). 공격자들은 이러한 서비스 거부 취약점을 통해 생산 라인 중단 및 운영 장애를 유발하려는 시도가 보고되고 있으며, 특히 제조 및 에너지 분야에서 주의 깊게 모니터링 중입니다._CISA Advisory 참고