디시인사이드 갤러리

최근 방문

NEW

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

갤러리 본문 영역

[유치] 에셋 취약점 분석

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

05b2de23fcd139ab2eed86e7429c756c6234547c8eb2c4a5497e108cbbce011b559ab6477b5cecf0d89421efac1


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

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


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

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

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


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

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

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


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


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


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

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

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


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

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

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


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


위는 GetFooterLength 메서드의 코드야

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

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

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

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


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


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

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


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


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

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

positionCount에 큰 양수가 들어가게 됨

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

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


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


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


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

대충 -10000000 넣어봤음

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


05b2de23fcd139ab2eed86e7429c756c6234587c8eb0c4a2487e1085bbce011b8eaac7130e7f6bf9f181ba29fb307


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

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

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

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


[세줄 요약]

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

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

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


[추가]

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

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

추천 비추천

22

고정닉 13

4

댓글 영역

전체 댓글 3
등록순정렬 기준선택
본문 보기
  • ㅇㅇ(118.235)

    에타에 한요한이라드마

    2022.10.30 05:48:38
    • ㅇㅇ(124.51)

      힙찔이가 힙찔이 했농 ㅋㅋ

      2022.10.30 05:49:07
  • ㅇㅇ(183.98)

    박봄 유아인이라고하던데 유튭댓에선 - dc App

    2022.10.30 05:50:35
1
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 말머리 제목 글쓴이 작성일 조회 추천
2956 설문 나라가 위기에 처하면 가장 먼저 나설 것 같은 스타는? 운영자 24/12/09 - -
4393896 뉴스 애플 비전 프로 겨냥, 삼성전자 신형 XR 헤드셋 공개 게임메카갤로그로 이동합니다. 24.12.13 80 0
4384176 공지 징집 및 종신 파딱 가이드 라인 [1] 눈바로갤로그로 이동합니다. 24.12.09 734 4
4376947 공지 노예 호출기 [11] 조개껍데기갤로그로 이동합니다. 24.12.06 2727 3
3619193 공지 번개/교류회 가이드라인 [9] 조개껍데기갤로그로 이동합니다. 24.01.14 27472 16
3792623 공지 번개/교류회 집합 장소 はくや갤로그로 이동합니다. 24.04.09 22376 13
4374790 공지 VRChat 마이너 갤러리 운영 2024/12/05 [1] 소라껍데기갤로그로 이동합니다. 24.12.05 893 1
4182926 공지 갤러리 정보글 시트 1.40 [4] 소라껍데기갤로그로 이동합니다. 24.09.22 18146 9
3697933 공지 VRChat 마이너 갤러리 커미션 공지 [25] 눈바로갤로그로 이동합니다. 24.02.24 30890 17
4123452 공지 무선 VR 사용시 공유기 추천 목록 _백야_갤로그로 이동합니다. 24.08.27 9063 1
2964409 공지 아바타 안보이면 질문을 하지말고 이 글 보셈 (230521 내용추가) [15] 고희원갤로그로 이동합니다. 23.04.26 70568 39
2514607 공지 초임 징병 파딱을 위한 마이너 갤러리 관리 안내 초안 [22] 먀먀나나갤로그로 이동합니다. 22.12.05 73401 32
4395362 유치 씻고 저댄키기 vs 저댄하고 씻기 ㅇㅇ(121.146) 15:53 6 0
4395361 유치 호딱 씻고 식당가서 티비보면서 밥먹어야지 [1] 밤명주갤로그로 이동합니다. 15:52 11 0
4395360 유치 갤보다가 녹차 타놓고 그냥 자리에옴 [1] 냥캣77갤로그로 이동합니다. 15:52 14 0
4168009 교류/ 12. 14. 번개 리스트 ㅇㅇ갤로그로 이동합니다. 09.16 34770 78
4395359 유치 브챗이 진짜 수면제인게 [2] ㅇㅇ갤로그로 이동합니다. 15:51 23 0
4395358 유치 뽀송샤워 하구와쩡 [4] Desuwa갤로그로 이동합니다. 15:50 20 0
4395357 교류/ 12/14 23:30 랜매 대기방 #1 라미.갤로그로 이동합니다. 15:50 20 0
4395356 유치 본녀가 누웠다는 소식인데요 미찌갤로그로 이동합니다. 15:50 14 0
4395355 유치 poe 왤케제밋음근데 [4] Yaksok갤로그로 이동합니다. 15:49 32 0
4395354 유치 거리두는거보면 좀 슬퍼짐 [1] 접근금지갤로그로 이동합니다. 15:48 19 0
4395353 유치 오늘저녁은치킨머글가 [5] 실고밍갤로그로 이동합니다. 15:48 25 0
4395352 유치 짜증나 [5] 잘못갤로그로 이동합니다. 15:47 28 0
4395351 유치 어케 사람키가 일케 작지 플랫화이트갤로그로 이동합니다. 15:47 32 0
4395350 유치 님들 그거 암? [4] 계란짬뽕갤로그로 이동합니다. 15:47 30 0
4395349 유치 암호화 거는게 맞긴한데 [1] ㅇㅇ(211.36) 15:47 27 0
4395348 유치 브붕아 나 샤워하고올게 [1] 슈크림라떼갤로그로 이동합니다. 15:47 24 0
4395347 유치 퀘3 충전독 사기 꺼려지는 이유 NULL갤로그로 이동합니다. 15:47 19 0
4395346 교류/ 22:00 음교회 대기방 내일이_오면갤로그로 이동합니다. 15:46 25 0
4395345 유치 컨트롤러 usb c 충전단자 달았음 [4] NULL갤로그로 이동합니다. 15:42 35 0
4395344 유치 이쁜애들중에 머리 안좋은애들이 많다던데 [1] ㅇㅇ(122.42) 15:42 44 0
4395343 유치 한튜랑 화본역에 리퍼 돌아다니네요 [4] Yeo갤로그로 이동합니다. 15:41 57 0
4395342 유치 아실수로코코이햇삼.. [4] 혼다갤로그로 이동합니다. 15:41 40 0
4395341 유치 브붕이 화장실 못가게 막고 [6] Shila갤로그로 이동합니다. 15:39 47 0
4395340 유치 나 어제 술 먹고 사고쳤나 ㅇㅇ갤로그로 이동합니다. 15:39 25 0
4395339 유치 으흐흐 새로 입힌옷 짱 이쁘다고 칭찬받음 [2] 내일이_오면갤로그로 이동합니다. 15:39 50 0
4395338 유치 우웅 브부이 로아온 볼래 삼중하나갤로그로 이동합니다. 15:38 26 0
4395337 유치 그냥 평생 침대에 누워있고싶다 [2] 샘플카린갤로그로 이동합니다. 15:38 28 0
4395336 유치 브붕이 묶어두고 나쁜짓 ㅈㄴ마렵내 [2] 소망갤로그로 이동합니다. 15:36 44 0
4395335 교류/ 12/14 17:30 저댄강의 vrcg [7] 파란색귤갤로그로 이동합니다. 15:36 60 0
4395334 유치 번개자주가는편임? [2] 라임소다갤로그로 이동합니다. 15:36 35 0
4395332 유치 시폰놀이로 시폰생산하기 [7] 샘플카린갤로그로 이동합니다. 15:32 58 0
4395331 유치 떡갈비양배추계란다진마늘 [3] 닝닝즈갤로그로 이동합니다. 15:32 38 0
4395330 유치 유니티 사진찍기 이거은근재밌네 신났노갤로그로 이동합니다. 15:30 45 0
4395329 유치 린킨파크 노래 첨듣는데 맛잇네 [9] 밤명주갤로그로 이동합니다. 15:29 54 0
4395328 유치 운동후에는 항상 뜨거운물로 씻어 [2] ㅇㅇ갤로그로 이동합니다. 15:29 37 0
4395327 유치 치킨시켜두고 로아온보기 [1] 달소리갤로그로 이동합니다. 15:29 25 0
4395326 유치 시폰냥이 [4] Desuwa갤로그로 이동합니다. 15:27 49 0
4395325 유치 생각해보니 베스 하나 어따달지 [8] 천년여우비갤로그로 이동합니다. 15:25 72 0
4395324 유치 일어났으니 어제안한 유니티 마저해야지 [4] 모로칸도_비바니_슈왈첼트2세갤로그로 이동합니다. 15:25 33 0
뉴스 김수현·황정민→에스파·데이식스까지…김태호 PD 새 예능 초호화 라인업 [종합] 디시트렌드 14:00
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/4