디시인사이드 갤러리

마이너 갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

[유치] 에셋 취약점 분석

댕댕충갤로그로 이동합니다. 2024.11.08 13:57:42
조회 4170 추천 22 댓글 62
														

05b2de23fcd139ab2eed86e7429c756c6234547c8eb2c4a5497e108cbbce011b559ab6477b5cecf0d89421efac


어제 고아건이 안먹히는 월드가 있다고 누가 제보했는데

나는 그거 때문에 브챗이 아니라 월드에 취약점이 있다고 생각했음


아바타 고아건은 우리가 블락하면 안보이니까 상관없어지는데

월드는 숨길수도 없고 블락한 유저가 보낸 데이터도 동기화되니까 먹힌다는거임

즉 월드 고아건이라고도 할수잇을거같음


그래서 월드에 있는 어떤게 취약점이 있는가하고 생각해봤을 때

가장 많이 사용하는 펜 에셋인 QvPen을 먼저 떠올렸음 (사실 오래전에 친구가 넌지시 말한건데 누가 QvPen을 이용한거라고 이미 분석한걸로 착각했음)

그래서 QvPen을 테스트용 월드에 넣고 코드를 이리저리 살펴봤는데 실제로 고아건으로 작동할만한 부분이 있더라고


아래부터는 그냥 어떤 부분인지 설명하는거라 마지막 움짤이랑 결론만 읽어도 됨


viewimage.php?id=3baf&no=24b0d769e1d32ca73de98ffa1bd62531904e3409f6e528d418e9c4060d2f664aed2f5aa61b935ffb3bf503abfddfbeb50ddf37251b48ed0cc5


이 메서드인데 선의 점 데이터를 받아서 유니티 LineRenderer로 오브젝트화 하는 메서드임

여기서 눈여겨볼건 983번째 줄의 positionCount를 설정하는 부분인데

여기서 positionCount를 data.Length - GetFooterLength(data)로 결정하고 있음


나는 처음에는 엄청 큰 데이터를 보내서 렉을 유발하는걸로 생각했는데 그건 아니었음

브챗에도 대역폭 제한이 있어서 큰 데이터를 보낼수도 없고 빨리 보내려고 해도 엄청 느리게 보내짐

그래서 우동으로 동기화되는 data의 길이인 data.Length는 문제가 아님


viewimage.php?id=3baf&no=24b0d769e1d32ca73de98ffa1bd62531904e3409f6e528d418e9c4060d2f664aed2f5aa61b935ffb3bf505aaf8dcbcb7432f35eca508621865


위는 GetFooterLength 메서드의 코드야

QvPen은 동기화할때 추가 정보를 뭔가 다른 변수로 공유하는게 아니라 Vector3 배열 끝에 넣어서 공유하더라고

여기서 주목할 점은 GetData(data, FOOTER_ELEMENT_DATA_INFO).z 인데

그냥 Vector3 배열의 정해진 부분을 읽고 z 원소를 쓰는거임

저 부분의 z 원소에는 footer size라는게 들어가는데


viewimage.php?id=3baf&no=24b0d769e1d32ca73de98ffa1bd62531904e3409f6e528d418e9c4060d2f664aed2f5aa61b935ffb3bf506aaf3d2bab1acfd8924ac6615711b


위 메서드로 클라이언트 측에서 결정해서 넣어서 보내는거임

나도 정확히 뭘 위한건지 모르겠지만 아무튼 중요한건 저 footer size가 들어가는 부분을 클라이언트가 결정한다는 거임


viewimage.php?id=3baf&no=24b0d769e1d32ca73de98ffa1bd62531904e3409f6e528d418e9c4060d2f664aed2f5aa61b935ffb3bf508a7fad8bdb83ace3222e9b5293f7d


그러면 위에 CreateInkInstance 메서드의 983번 줄로 돌아가보면

결국 data의 footer length가 들어가는 부분에 큰 음수값을 넣으면

positionCount에 큰 양수가 들어가게 됨

정확힌 모르지만 line renderer에 positionCount에 큰 값을 넣으면 그 만큼 배열 할당하면서 CPU랑 메모리도 올라갈거임

footer size를 클라이언트가 패킷에 넣어서 보내는 방식이기 때문에 해커들이 뭔가 엄청난걸 할 필요도 없고 걍 보내는 데이터에 저 부분만 조작하면 됨


이걸 테스트하기 위해서 저 부분에 원하는 값을 넣어서 보낼 수 있는 버튼을 만들었음


viewimage.php?id=3baf&no=24b0d769e1d32ca73de98ffa1bd62531904e3409f6e528d418e9c4060d2f664aed2f5aa61b935ffb3bf509abfad9beb506657b92b2d53115fa


저렇게 원하는 footer size 값을 정해서 넣을 수 있음

대충 -10000000 넣어봤음

이러면 positionCount가 5 - 10000000 = 9999995가 됨


05b2de23fcd139ab2eed86e7429c756c6234587c8eb0c4a2487e1085bbce011b8eaac7130e7f6bf9f181ba29fb30


위는 버튼 눌렀을 때 다른 유저 메모리가 폭증하면서 튕기는걸 재현한 모습

버튼 누른 쪽은 안튕기는데 이건 버튼 누른 사람은 펜으로 안그려지게 QvPen 코드 약간 수정했음 (어차피 해커들은 걍 패킷 바로 쏘는거일테니 별 상관없음)

근데 문제는 펜을 끄면 동기화가 안일어나서 안튕긴다는 거임

그래서 꼭 이게 지금 유행하는 고아건이 사용하는 방식이라는 법은 없긴함


[세줄 요약]

1. 지금 유행하는 고아건은 월드의 특정 에셋의 취약점을 이용하는 "월드 고아건" 인거같다. => 특정 에셋에 국한된 문제가 아님이 밝혀짐. 또한 메모리 오버플로 고아건은 VRChat 자체 취약점을 활용한 것으로 추정됨.

2. 변조 클라이언트를 사용하면 취약점이 있는 에셋을 이용해 다른 사용자의 클라이언트에 영향을 끼칠 수 있다

3. 따라서 VRChat에서 쓰이는 에셋도 보안적인 부분을 신경쓰는 것을 권장하고 싶음


[추가]

이 방법은 정말로 누구나 사용할 수 있는 것이 아니며 이렇게 월드 내에 트리거를 직접 만들거나 변조 클라이언트 등의 불법적인 방법을 이용해야 함

또한 지금 유행하는 메모리 오버플로 버그는 해당 취약점을 활용한게 아닌것으로 밝혀짐

추천 비추천

22

고정닉 13

4

댓글 영역

전체 댓글 0
등록순정렬 기준선택
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 말머리 제목 글쓴이 작성일 조회 추천
2956 설문 나라가 위기에 처하면 가장 먼저 나설 것 같은 스타는? 운영자 24/12/09 - -
2957 이슈 [디시人터뷰] ‘피의 게임3’ 게임판을 흔드는 플레이어, 유리사 운영자 24/12/09 - -
4384176 공지 징집 및 종신 파딱 가이드 라인 [1] 눈바로갤로그로 이동합니다. 24.12.09 449 3
4376947 공지 노예 호출기 [13] 조개껍데기갤로그로 이동합니다. 24.12.06 2031 3
3619193 공지 번개/교류회 가이드라인 [9] 조개껍데기갤로그로 이동합니다. 24.01.14 27277 16
3792623 공지 번개/교류회 집합 장소 はくや갤로그로 이동합니다. 24.04.09 22206 13
4374790 공지 VRChat 마이너 갤러리 운영 2024/12/05 [1] 소라껍데기갤로그로 이동합니다. 24.12.05 688 1
4182926 공지 갤러리 정보글 시트 1.40 [4] 소라껍데기갤로그로 이동합니다. 24.09.22 17881 9
3697933 공지 VRChat 마이너 갤러리 커미션 공지 [26] 눈바로갤로그로 이동합니다. 24.02.24 30723 17
4123452 공지 무선 VR 사용시 공유기 추천 목록 _백야_갤로그로 이동합니다. 24.08.27 8898 1
2964409 공지 아바타 안보이면 질문을 하지말고 이 글 보셈 (230521 내용추가) [15] 고희원갤로그로 이동합니다. 23.04.26 70301 39
2514607 공지 초임 징병 파딱을 위한 마이너 갤러리 관리 안내 초안 [22] 먀먀나나갤로그로 이동합니다. 22.12.05 73129 32
4390542 유치 댓글 버닝 이벤트 웃기네 ㅇㅇ갤로그로 이동합니다. 10:31 4 0
4390541 유치 아이리가 바디 만족도 하난 탑임 ㅇㅇ갤로그로 이동합니다. 10:30 5 0
4390540 유치 한시간만 더 잔다는게 [2] 모생선갤로그로 이동합니다. 10:30 9 0
4390539 유치 브붕이를 죽인다 [1] ㅇㅇ(211.234) 10:30 10 0
4390538 유치 유니티 kisekae 질문점 ㅇㅇ(211.223) 10:28 18 0
4390537 유치 댓글 못써서 답답한 브붕이들 댓글 엄청다네 ㅋㅋ [5] 오피녀갤로그로 이동합니다. 10:28 32 0
4390536 유치 이거 겉옷으로 후드 입히는거 뇌절인가? [2] 아무튼고닉임갤로그로 이동합니다. 10:28 27 0
4390535 유치 흠 잘 본 거 같은데 [2] 메론갤로그로 이동합니다. 10:28 23 0
4390534 유치 정신차리려고 [4] 용용죽겟지갤로그로 이동합니다. 10:27 26 0
4390533 유치 아가일어났어 [6] 실고밍갤로그로 이동합니다. 10:27 27 0
4390532 유치 댓글 이벤트에요? [2] 루블갤로그로 이동합니다. 10:26 27 0
4390531 유치 좋은아침 [2] 라임소다갤로그로 이동합니다. 10:26 19 0
4390530 유치 저 영어 발음 대참사남 [6] 니디갤로그로 이동합니다. 10:24 44 0
4390529 유치 댓글 3배이벤트 머임 [3] 냥캣77갤로그로 이동합니다. 10:22 39 0
4390528 유치 선인장을 손에 쥐고 있으면 [12] 증류쉐이갤로그로 이동합니다. 10:22 45 0
4390527 유치 빵빵굽쓰 브분 [12] 밤비_갤로그로 이동합니다. 10:21 40 0
4390526 유치 반갑다 브붕 [10] ChoiKatz갤로그로 이동합니다. 10:20 36 0
4390525 유치 이제댓글잘달려????? [18] 나_리갤로그로 이동합니다. 10:20 74 0
4390524 유치 아이리만들어주셈 [3] ㅇㅇ갤로그로 이동합니다. 10:19 27 0
4390523 유치 ai가 유니티 훈수해주는 특이점이 온다!!! [6] 말랑홀갤로그로 이동합니다. 10:18 51 0
4390522 유치 병원 갔는데 나 "시폰 알러지" 래..... [2] ㅇㅇ(223.38) 10:17 53 2
4390521 유치 브부이손잡고싶다 [2] ㅇㅇ갤로그로 이동합니다. 10:17 26 0
4390520 유치 댓글안달려서 답답해죽을뻔함 [16] 고래토리7갤로그로 이동합니다. 10:16 62 0
4390519 유치 브붕 뭐하지 [2] ㅇㅇ(122.39) 10:14 32 0
4390518 유치 헤드에 매달면 안보이는거 어디까지야? [5] 요리타요시노갤로그로 이동합니다. 10:13 45 0
4390517 유치 다시생각해봐도 이상함 [12] 우사뿅갤로그로 이동합니다. 10:13 63 0
4390516 유치 약속시간 11시인데 도착을 10시에 했어 [10] AVI갤로그로 이동합니다. 10:12 43 0
4390515 유치 맞다 약 바뀌었는데 잘 맞으려나 [2] ㅇㅇ(61.41) 10:11 32 0
4390514 유치 드디어 장비 고침 [6] 따뚜샤갤로그로 이동합니다. 10:11 46 0
4390513 유치 얘쟤걔 [7] 눈바로갤로그로 이동합니다. 10:10 51 0
4390512 유치 건전브붕이 벗겨서 [14] 이오닉스갤로그로 이동합니다. 10:09 80 0
4390511 유치 브부이발만지고싶다 [9] ㅇㅇ갤로그로 이동합니다. 10:07 48 0
4390510 유치 브분 모닝 유니티 [6] 나쵸갤로그로 이동합니다. 10:07 50 0
4390509 유치 존나추워시밯진자 [11] 오피녀갤로그로 이동합니다. 10:06 50 2
4390508 유치 만들고잇는거 왤케 맘에 안들지 [15] 햄스바리갤로그로 이동합니다. 10:05 83 0
4390507 유치 왤케 졸리지 [2] ㅇㅇ(61.41) 10:05 20 0
4390506 유치 잘자 [4] ㅇㅇ(39.119) 10:03 41 0
4390505 유치 날씨 개추우니까 조심해라 얘들아 [1] ㅇㅇ갤로그로 이동합니다. 10:02 34 2
4390504 유치 어재 브알끼고 술마시고 전담피다 다 토했음 [4] 카데바갤로그로 이동합니다. 10:02 43 0
4390503 유치 의외로 현실에서 하면 안되는 이야기 [4] 파란색귤갤로그로 이동합니다. 10:02 54 0
뉴스 김태호PD, 지디와 MBC서 새 예능 론칭하나…“긍정적으로 논의 중” [공식] 디시트렌드 10:00
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2