나무모에 미러 (일반/밝은 화면)
최근 수정 시각 : 2024-05-03 19:25:25

2022년 Roblox 채팅 취약점 사태

주의. 사건·사고 관련 내용을 설명합니다.

사건 사고 관련 서술 규정을 유의하시기 바랍니다.

파일:Roblox 로고.svg파일:Roblox 로고 화이트.svg
논란 및 사건 사고
{{{#!wiki style="margin:0 -10px -5px"
{{{#!folding [ 펼치기 · 접기 ]
{{{#!wiki style="margin:-5px -1px -11px"
<colbgcolor=#dee1e3><colcolor=#000> 2012 만우절 해킹 사건
2017 CP 업로드 사건
2021 서버 다운 사건
2022 사운드 업데이트 논란
5월 서버 다운 사건
채팅 취약점 사태
10월 아시아 서버 다운 사건
2023 서버 연속 다운 사건
2024 그날의 광주 5.18 민주화 운동 모욕 사건
튀르키예 차단 사건
30개 게임 한국 차단 사건
}}}}}}}}} ||


1. 개요2. 전개3. 원인
3.1. 채팅 시스템
4. 영향

1. 개요

당시 사건을 알려주는 greenlegocats123의 영상
실제 작동원리를 보여주는 데 잘 알려진 피해 영상.[1]

해당 게임 링크 (현재 접속 불가)

해킹 그룹 DWC에서 Roblox의 채팅 시스템의 취약점과 자동 처벌 시스템을 악용하여 게임에 접속만 해도 무고밴을 당하게 만드는 게임을 만들어 최소 수 만명의 무고밴 피해자를 양산한 사건.

채팅 취약점을 이용해 성희롱, 아동 성범죄와 관련된 발언 등 부적절한 발언을 말하게끔 채팅을 조작해 무고밴을 유도하는 방식으로 무고밴을 이루어냈다. 자세한 설명은 후술한다.

이 사건은 2022 Crosswoods Incident[2], 2022 chat vulnerability incident으로 알려져 있다.

2. 전개

2022년 7월 18일[3] 디스코드트위치 등지에 문제의 게임 링크가 배포되면서 대략적으로 자신의 게임을 테스트 해달라며 도와달라는 이야기로 게임을 접속하도록 유도했다.

당연히 이 게임에 들어가면 위의 영상처럼 로딩 중에 갑자기 강제 퇴장당하며 계정 삭제가 되어 있는 화면을 보게 된다.

이 영상이 퍼지면서 유명 Roblox 그룹인 Rolimons에서 최초로 피해 사실을 알리고 함부로 다른 게임을 들어가지 말 것을 경고했다.
파일:채팅 피해 보고.png
최초로 피해 사실을 알린 Rolimons의 공지.[4]

이후 함부로 타인이 보내는 게임 링크에 들어가지 말라는 소식이 퍼지고 갑작스럽게 문제의 게임을 닫히면서 단순 해프닝으로 끝나는 듯 했지만 하루가 지난 7월 19일 해커들이 일부 비정품 어드민 툴을 해킹하면서 문제의 게임을 강제로 다른 유저들의 계정에 만들면서 피해자가 눈덩이처럼 불어나기 시작했다.

사태 시작으로부터 2일만인 7월 20일 비공식적으로 Roblox 직원이 이 문제를 일시적으로 해결했다고 선언한 후 더이상 무고밴 유저가 발생하지 않았으며 무고밴을 당한 유저들을 상대로 복구 작업을 진행하면서 사태가 일단락되었다.

3. 원인

채팅 시스템 취약점의 원리가 밝혀졌으나 어드민 전용 권한인 ReportAbuse를 호출하는 부분은 현재까지도 알려져 있지 않다.

3.1. 채팅 시스템

가장 큰 문제는 ChatGui를 절대 접근 불가인 CoreGui에 넣지 않아서 발생한 문제다.[5]

우선적으로 ChatSystem을 이용해서 채팅 필터링을 제거한다.[6] 이 부분만 통과하면 여러 취약점을 이용한 방법을 통해 다양한 악용이 가능하다.

다음 코드는 해킹의 원리 중 일부다.
#!syntax lua
local Player = game.Players.LocalPlayer
local chat = Player:FindFirstChild("PlayerGui"):FindFirstChild("ChatBar", true)
while tast.wait(1) then
    chat:CaptureFocus()
    chat:Text("") -- 여기에 욕설 등 비속어를 넣음
    chat:ReleaseFocus(true)
end


코드는 단순하다. 그냥 ChatBar를 찾아서 CaptureFocus라는 함수와 ReleaseFocus라는 함수를 이용해 엔터키를 치는 것과 동일한 효과를 만드는데 중간에 그냥 아무 문자를 넣으면 그대로 출력되는 원리다.

이후 ReportAbuse라는 신고 함수를 이용하는데 문제는 ReportAbuse를 모든 유저가 접근할 수 있는 수준인 LocalUserSecurity로 만들어 놓은 것이다.[7]

CoreGui 또는 HttpRbxApiService나 아예 FE injection을 이용했다는 설이 지배적이지만 모두 일반적으로는 맵 개발자 입장에서는 불가능하거나 취약점이라기 보다는 핵에 가까운 방법이라서 아직까지 풀리지 않은 난제 중 하나다.

4. 영향

2022 has been the worst year Roblox has ever seen and it's not even close and we still have 5 months to go.
2022년은 Roblox의 최악의 해중 하나였으며 아직도 많이 남았으며 우리는 5개월을 더 지내야 한다.
greenlegocats123의 채팅 취약점 사태 영상 발언 중 일부

이 사건으로 최소 계정이 1만개 이상 삭제 또는 정지되었다.

Roblox의 보안에 대한 의문이 다시 한 번 도마위에 올랐으며 이런 심각한 사태가 일어났음에도 공식 반응이 없고 공지도 오직 커뮤니티를 통해서만 이루어졌다는 점에서 소통면에서도 큰 비판을 받았다.


[1] 일부는 이 영상이 최초로 피해를 당한 유저의 영상이라고 주장하지만 엄밀히 말하면 최초로 피해가 보고된 것은 아니다. 후술하겠지만 이미 2021년 11월에 최초의 피해자가 보고됐다.[2] 이는 피해자들을 유인한 게임의 이름이 Crosswoods였기 때문이다.[3] 한국 시간 기준[4] 최초 공지에서는 XSS 취약점 공격이라고 했으나 이후 XSS와는 관련이 없는 것으로 밝혀져 수정한 버전이다.[5] 한마디로 사용자 권한을 제대로 제약하지 않아 발생한 문제다.[6] 사실 이 부분부터 정상적인 상황은 아니다. 접근 수준이 RobloxScriptSecurity, 즉 아무도 접근이 불가능한 것이 아니라 LocalUserSecurity로 접근 수준이 낮기 때문에 가능한 부분이다. 그러나 이렇게 접근 수준을 낮춘 것은 일부 게임이 무조건적인 채팅 필터링으로 게임이 망가지는 경우가 있었기 때문에 풀어 놓았는데 이를 악용했다. 이 접근 수준에 대한 문제점은 밑에 신고 기능에서 더 심각하게 다루어진다.[7] 다만 해당 설명 링크에 들어가면 오직 Command Bar에서만 사용할 수 있다고 설명되었으나 어찌된 영문인지 해커들은 뚫어냈다. https://developer.roblox.com/en-us/api-reference/function/Players/ReportAbuse