강좌 강좌
비인증(unauthenticated)이란? ServiceNow 취약점으로 배우는 입문
보안 뉴스에 자주 나오는 '비인증'이라는 말의 뜻을 처음 배우는 독자를 위해 풀어 설명합니다. 실제로 보고된 ServiceNow 취약점을 곁들여 이 개념이 왜 중요한지 확인합니다.
이 강좌를 마치면 (1) 비인증의 뜻을 한 문장으로 말하고, (2) 어떤 사례가 어떤 조건에서 문제가 되는지 설명하고, (3) 시스템을 직접 운영하는 경우와 서비스 제공사가 운영하는 경우의 대응과 한계를 구분할 수 있습니다. 사전 지식은 ‘로그인이 신원을 확인하는 절차’라는 점과, 프로그램이 요청을 받는 접점(엔드포인트)으로 요청을 주고받는다는 점이면 충분합니다.
한 문장으로 이해하기
비인증(unauthenticated, 신원이 인증되지 않음)은 로그인 같은 신원 확인 절차를 거치지 않은 상태를 뜻합니다. 즉 해당 요청을 보낸 주체의 신원이 인증되지 않은 상태를 가리킵니다. 어떤 기능이 ‘비인증으로 동작한다’고 하면, 신원 확인을 거치지 않은 요청에도 반응한다는 의미입니다. 다만 비인증이라는 사실 하나만으로 그 기능이 위험한지는 알 수 없습니다.
왜 필요한가
이 개념을 알면 뉴스에 나오는 취약점을 성급히 단정하지 않고 조건을 따져 읽을 수 있습니다. 핵심은 두 가지를 나눠 보는 것입니다. 하나는 ‘신원 확인이 필요한가’라는 조건이고, 다른 하나는 ‘그 상태에서 어떤 동작까지 허용되는가’입니다. 예로 ServiceNow 인공지능(AI) 플랫폼의 결함에는 공개적으로 알려진 취약점에 붙는 식별번호인 CVE-2026-6875가 부여됐습니다. 이 결함은 특정 조건에서 비인증 사용자가 공격자가 선택한 코드를 실행할 수 있는 샌드박스 탈출(격리된 실행 공간을 벗어나는 것) 유형으로 설명됐습니다. 한 출처는 이 결함의 심각도를 공통 취약점 등급 체계(CVSS)로 9.5라고 전했습니다.
어떻게 이루어지는가
개념을 잡기 위해 가상 예시의 A회사를 놓고, 이런 결함이 다뤄지는 흐름을 단계로 정리합니다.
- 가상 예시에서 A회사 시스템에는 로그인 전에도 요청에 응답하는 접점(사전 인증 엔드포인트)이 있습니다.
- 그 접점으로 요청이 도착합니다. 여기서 HTTP는 시스템끼리 웹 요청과 응답을 주고받는 통신 방식이고, POST는 요청에 데이터를 담아 보내는 방식입니다.
- 특정 조건이 맞으면 격리 공간을 벗어나는 샌드박스 탈출로 이어질 수 있습니다.
- 그 결과로 공격자가 선택한 코드를 실행하는 것 같은 동작이 가능해질 수 있습니다. 실제 CVE-2026-6875에서 보고된 악용 활동은 사전 인증 엔드포인트인 ‘/assessment_thanks.do’에 HTTP POST 요청을 보내는 방식이었습니다. 시스템 내부에서 요청을 어떻게 처리했는지 같은 세부는 출처에 없으므로 여기서 단정하지 않습니다.
하나의 예시로 따라가기
앞의 가상 예시를 그대로 이어 갑니다. 가상 예시에서 A회사는 서버를 직접 운영하는(자체 호스팅) 방식으로 플랫폼을 씁니다. 가상 예시에서 A회사는 로그인 화면 뒤의 기능만 신경 썼는데, 앞 단계처럼 로그인 전에도 응답하는 접점이 하나 열려 있었습니다. 가상 예시에서 그 접점으로 요청이 도착하고 특정 조건이 맞으면, 신원 확인을 거치지 않은 상태에서 예상치 못한 동작이 일어날 수 있습니다. 가상 예시의 교훈은, A회사가 ‘비인증으로 열려 있다’는 사실뿐 아니라 ‘그 상태에서 무엇까지 허용되는가’와 ‘자체 운영이라 대응을 스스로 해야 한다’는 조건까지 확인해야 한다는 점입니다. 이 예시는 개념 설명용이며, 실제 CVE-2026-6875의 확인된 사실과는 구분해 읽어 주세요.
언제 쓰고 언제 쓰지 않는가
비인증은 신원이 인증되지 않은 상태를 가리키는 말입니다. 그래서 비인증이라는 이유만으로 취약점이라고 단정할 수 없고, 허용된 동작과 악용에 필요한 조건을 함께 확인해야 합니다. 실제 사례에서도 불확실성과 조건이 중요합니다. Searchlight Cyber가 기술 정보를 공개한 뒤 Defused가 공개된 정보를 활용한 악용 활동을 관찰했다고 전했습니다. 다만 SecurityWeek는 그 활동이 취약한 시스템을 찾던 보안 업계 관계자의 것일 가능성도 있다고 했습니다. ServiceNow는 조사 시점까지 자사가 호스팅하는 인스턴스와 관련된 활동이라는 증거를 확인하지 못했다고 밝혔습니다. 대응 방식도 나뉩니다. ServiceNow는 자사 호스팅 인스턴스에 보안 업데이트를 배포했다고 밝혔고, 자체 호스팅 고객은 패치를 직접 설치해야 합니다.
핵심 정리와 확인문제
핵심은 하나입니다. 비인증은 신원이 인증되지 않은 상태일 뿐이며, 문제 여부는 그 상태에서 허용되는 동작과 필요한 조건을 함께 봐야 판단할 수 있습니다.
확인문제
- 비인증(unauthenticated)의 뜻을 한 문장으로 쓰세요.
- CVE-2026-6875에서 보고된 악용 활동은 어떤 접점에 어떤 방식으로 요청을 보냈고, 어떤 한정이 붙어 설명됐나요?
- 이 결함에서 서비스 제공사가 호스팅하는 인스턴스와 자체 호스팅 고객의 대응은 어떻게 달랐고, 관찰된 활동에는 어떤 불확실성이 있었나요?
정답·해설
- 정답: 로그인 같은 신원 확인 절차를 거치지 않은, 요청 주체의 신원이 인증되지 않은 상태를 뜻합니다. 해설: 비인증은 상태를 가리킬 뿐이며, 위험 여부는 허용된 동작과 조건을 따로 봐야 합니다.
- 정답: 사전 인증 엔드포인트인 ‘/assessment_thanks.do’에 HTTP POST 요청을 보내는 방식이었고, 코드 실행은 ‘특정 조건에서’ 가능하다고 한정해 설명됐습니다. 해설: 비인증이라는 사실만으로 항상 코드 실행이 되는 것은 아닙니다.
- 정답: ServiceNow는 자사 호스팅 인스턴스에 보안 업데이트를 배포했고 자체 호스팅 고객은 패치를 직접 설치해야 했으며, 관찰된 활동은 보안 업계 관계자의 것일 가능성이 있고 ServiceNow는 자사 호스팅 인스턴스 관련 증거를 확인하지 못했습니다. 해설: 같은 결함이라도 운영 방식에 따라 대응이 다르고, 관찰만으로 피해나 공격 주체가 확정되지는 않습니다.