- 관련게시물 : 싱글벙글 방금 핵쟁이들 컴퓨터 벽돌만들어버린 게임사

28b9d932da836ff137eb87ed4680776f1e1c1c312c15f50707e7a5026c3e5d73c232

원래 말도 많고 탈도 많던 라이엇 뱅가드가 최근에 새로운 업데이트를 단행했다

이걸로 하드웨어 핵들을 대량으로 조져버렸다고 하는데

핵이 감지되면 컴퓨터를 영구적으로 조진다느니 불법 아니냐느니 여러 이야기가 돌고 있다

그럼 뱅가드는 우리 pc 안에 심어진 시한폭탄이라는 걸까?


DMA 핵이 뭔지, 이걸 막는다고 한 IOMMU가 뭔지 알아보도록 하자




7ee98927b28a39a06cee87b742d4726c0db9142fe1e3b4fe500cd69b6ea5e10156dfab86009e8fbeccda0de4660fa46c

DMA(Direct Memory Access)라는 기술이 있다

원래는 하드웨어 장치가 신호를 CPU로 보내고 이를 CPU가 처리해서 메모리를 건드리는 방식인데

DMA 기술이 적용된 장치는 CPU를 거치지 않고 장치가 독자적으로 메모리를 변조하는 기능을 갖고 있다
덕분에 처리 속도가 획기적으로 빨라진다


식당으로 비유하자면 원래 손님이 카운터에 주문하고 카운터가 주문을 정리해서 주방에 보내줬는데

손님이 주방에 직접 주문해서 카운터의 부담을 덜어준다는 거다


DMA 자체는 아주 오래된 정상적인 기술이고 우리가 메인보드에 직통으로 연결해서 쓰는 무선랜카드, 그래픽카드, SSD 등이 모두 기본적으로 사용하고 있다





28b9d932da836ff137eb87e34684746c7629a65775755d9bfa489c2139f97731404f

문제는 안티치트와 게임핵 사이 창과 방패의 싸움이 심화되면서 핵 제작자들이 이 DMA 기술로 눈을 돌렸다는 거다

위에서 설명했듯이 DMA 기술은 CPU를 거치지 않고 직접 메모리를 참조 및 변조할 수 있다


즉, 커널 레벨 안티치트가 부릅뜨고 메인보드를 감시하고 있어도,

물리적으로 외부에 있는 DMA 하드웨어 장치에서 비정상적인 프로그램이 돌아가고 있는 건 알 수 없다




2eb1c524a8c13da57baddfa10f9c232800889bf7e1eb7441b7703226e2beedc4ae529200f953c19b2d62

물론 기존의 메인보드 제조사들도 바보가 아니라 이런 보안 취약점을 막기 위해 오래전부터 방어 장치를 달아 놓았는데


이게 바로 IOMMU(Input-Output Memory Management Unit)다
일반적으로 CPU 내부에는 프로그램들이 서로의 메모리를 침범하지 못하게 하는 MMU라는 장치가 있는데, 이걸 외장 부품인 I/O 장치에도 적용한 것이 IOMMU이다

이 IOMMU는 DMA 장치들이 원래 허용된 영역 밖의 메모리를 맘대로 건드릴 수 없게 막아준다


또 식당으로 비유하자면 경비가 주방 문 앞에 버티고 서서 손님이 음식 주문만 하고 주방 냉장고 털어서 쌀먹하지는 못하게 막는다는 거다



안티치트들은 이 IOMMU를 필수 가동시키도록 강제해서 DMA 핵을 방어하고 있었다




9

그런데 이 방식에도 한계가 있었다

DMA 핵이 위조 신분증을 이용해서 IOMMU를 속이고 메모리 영역에 접근할 권한을 얻거나

PC가 켜지고 IOMMU가 가동되기 직전 찰나의 순간에 선수를 쳐서 IOMMU를 무력화시킬 수 있었다는 거다



즉 메인보드는 경비원이 배치됐다고 신호를 보냈지만 실제로는 경비원이 의자에 앉아 졸고 있는 상황이 발생하는 버그가 있었는데

기존에 가장 비싼(진보된) 핵이었다는 H-2 보드도 이런 식으로 안티치트를 우회하고 있었다





3fba9d25eadf75b06fb1d1a017c32070974287ad2bacda6ca8ebcd827a881ded0675be654532c9f889c2a5b6d267d56469f4cbf384725bf33d

그럼 이번에 라이엇 뱅가드가 한 일은 무엇이냐

IOMMU가 제대로 가동중인지 확인하는 로직을 추가해서 게임 도중에 졸고 있는 IOMMU를 확인하면 IOMMU를 재시작하도록 했다

즉 경비원이 일 잘하고 있나 슥 보고 경비원이 졸고 있으면 '야 쟤 깨워'라고 막아섰다는 거다



그리고 이 다음이 핵심인데

그렇게 재가동된 IOMMU로 SATA나 NVMe SSD로 위장하고 있는 DMA 핵 하드웨어들을 저격, '보안 위협 장치'로 낙인찍고, 그 장치가 메모리를 건드리지 못하도록 장벽을 세워버렸다

무서운 점은 이 장벽이 내 컴퓨터의 하드웨어/운영체제 레벨에 박혀버린다는 거다

아무리 PC를 재부팅하고 안티치트를 삭제하고 장치를 재연결해도, 그 장치는 내 컴퓨터의 영구 블랙리스트에 등록돼서 윈도우를 재설치하지 않으면 메모리에 접근할 수 없게 된다




4

그럼 중붕이들이 가장 궁금해 할 부분은


이놈의 뱅가드가 오진해서 내 SSD를 영구적으로 조져버릴 가능성이 있냐?는 부분일 텐데


일단 컴퓨터나 장치를 고장내는 게 아니라 이 컴퓨터에 그 장치가 연결 안 되도록 영구적 장벽을 세워놓는 거

정상적인 제조사의 정상적인 드라이버와 하드웨어 ID를 달고 있는 정상적인 부품은 아무 걱정할 필요가 없다... 는 게 얘네 입장이다



그럼에도 뱅가드가 찜찜하고 아니꼬운 건 사실이다만

어차피 아직도 뱅가드 깔아서 증바람 돌리고 있는 롤대남들은 그런 거 신경도 안 쓰잖아 그렇지?