IT/ISSUE

디스코드때문에 내 컴퓨터에 해커가? CDN 취약점

종금 2019. 11. 4. 14:11
반응형

 

 

 

디스코드(DisCord)

게임하는 사람이라면 서로 통화하듯이 게임하기 위해 꼭 한번쯤은 들어봤을 프로그램이 이름이다.

 

 

이 디스코드에서 CDN 취약점이 발견되었으며 이로 인해 해커들이 만든 멀뭬어를 유통시키는데 지대한 역할을 할 수 있다고 한다. 

 

지금부터 왜 이러한 상황이 발생하고 어떻게 유통하는지에 대해 알아보자

 

먼저 디스코드를 설치해서 실행하면 아래와 같은 화면이 나온다.

사용해보신분은 누구나 알겠지만 디스코드란 정해진 서버에 입장을 하면

그 서버에 어느 채팅 및 음성 채널에 대해 입장하고 나가고가 자유로우며 이곳에 저장된 채팅은 누구나 쉽게 접근할 수 있는 어플리케이션으로 해커는 이를 이용했다.

 

먼저 유포 되는 과정에 대해 실험을 해보자.

1. 현재 디스코드 서버에 채팅을 올릴때 첨부파일까지 올린다.

  

2. 링크를 복사한다.

 

3. 원본파일을 삭제한다.

 

4. 링크를 클릭한다.

 

대체 왜인지 모르겠지만 위에건 안되고 밑에거(2번째) 된다... 왜지? 

=> 수정한다. cdn에 올리고 한번 실행하면 그때부터는 원본을 삭제해도 링크로 접속이 가능하다.

즉 1번은 올리자마자 링크 복사하고 삭제하였고

2번의 경우에는 링크로 한번 접속해서 다운로드 받고 원본을 삭제하였다. 

 

즉 해커들은 이곳에 자신의 멀뭬어를 올리고 한번 실행시켜 CDN에 업로드한 뒤 링크를 복사하여 원본은 삭제하고 

디스코드 채팅방을 돌아다니며 뿌리고 다니며 누군가가 링크를 클릭만 해도 다운로드가 바로 되는 만큼 

위험한 유통경로가 된다. (클릭만으로 프로그램이 실행될 수 있도록 스크립트 실행 형태로 만들 수 있다.)

 

이때 자꾸 등장하는 CDN이라는 단어가 신경쓰인다면 이 취약점에 대해 정확히 이해한 것이다.

그럼 CDN은 무엇이기에 이 취약점에서 가장 큰 문제가 될까

 

CDN은 Contents Delivery Network & Contents Distribution Network로

다수의 캐시서버를 각 ISP마다 지역마다 설치하며 사용자가 어플리케이션에서 콘텐츠를 업로드할 때 가까운 캐시서버에 업로드한다. (분산하여 여러군데에 저장) 이후 Origin 서버에 데이터가 옮겨지고 복사하여 여러 캐시서버에 데이터를 저장한뒤 누군가가 다운로드를 요청하면 가까운 캐시서버에서 콘텐츠를 전송하는 기술이다.

(P2P와 비슷하지만 CDN은 직접 서버를 설치하고 해당 서버를 사용하는 사용자들을 대상으로 데이터를 전송한다.)

출처: cloudflare

 

여기서 확실히 알 수 잇는 사실은 콘텐츠가 저장되는 서버가 너무 많다. 그리고 요청이 오면 해당 CDN 캐시 서버로 콘텐츠가 저장이 된다는 것이다. -> 그러기에 아까 위에 나온 에러가 발생한 것 같다. 해당 캐시 서버에 업로드 되어야 하는데 업로드 되기전에 삭제하여 더이상 오리지날 서버에 콘텐츠가 남아 있지 않기 떄문에 캐시서버도 못불러오고 그로인해 다운로드가 불가능하다는 것이다. 하지만 한번 요청을 하면 CDN 서버에 캐시 값이 남게 되어 해당 링크에 저장 되어 있는 콘텐츠는 Origin Server에 존재하지 않아도 다운로드가 가능하다.

 

 

#여담: 분명 이 취약점은 CDN의 취약점이다. 디스코드보다 CDN의 캐시 서버로 인해 생긴 문제점이고 CDN 서버를 사용하지 않으면 해결될 문제지만 이를 디스코드가 포기하지 않을 것 같다.

디스코드는 분명 편한 프로그램이다. 누구나 URL만 있다면 참여할 수 있는 서버, 서버에만 참여한다면 접근제어가 없어 누구나 파일을 업로드와 다운로드할 수 있다.

결국 디스코드는 CDN을 포기할 수 없고 사용자는 디스코드의 편함을 포기할 수 없다면 사용자 조심이 제일 중요하다. 캐시서버는 분명 정책에 정해진 대로 용량이 정해진 대로 다운로드 클릭시 해당 ISP의 캐시 서버에 저장될 것이고 이는 분명 사각지대에 놓인 악성 파일이 될 것이며 사용자의 방심으로 큰 재앙을 일으킬 것이다.

 

 

반응형