DBD(Drive By Download) 공격

DBD(Drive By Download) 공격

취약점 설명

● Drive By Download의 약자

● 웹서핑 중 특정 실행파일 다운로드가 진행되는 것

● 어떤 사이트를 방문했는데 방문한 사이트에서 자신도 모르게 악성파일을 다운로드 받게 되는 것

● 공격자는 홈페이지를 해킹 후 사용자의 취약점을 익스플로잇(exploit)하는 악성 스크립트와 악성코드를 은닉

● 취약한 PC 환경의 사용자가 홈페이지에 접속 시 사용자 의도와는 무관하게 악성코드가 다운로드되어 설치되는 공격기법

 

공격 포인트

웹브라우저의 취약점을 이용한 악성코드 삽입

브라우저에 설치된 플러그인이나 확장 프로그램의 취약점 이용

 

해킹시나리오

악성코드를 배포하는 유포지를 생성하고 사용자 접속을 유도하는 페이지인 경유지를 생성합니다. 경유지에서 redirect하여 중계지를 걸쳐 유포지에 접속하도록 합니다. 유포지에 접속하면 악성코드가 자동으로 사용자PC에 다운로드 됩니다.

 

[추가설명]

* 유포지 : 악성코드를 배포하는 곳, 기존사이트를 이용 또는 공격자가 생성

* 웹쉘 : 웹을 기반으로 원격으로 클라이언트 시스템에 들어가서 공격자 마음대로 사용할 수 있도록 하는 프로그램

 

보통 공격자들이 유포지에 웹쉘 같은 쉘 프로그램을 업로드 해놓습니다. 클라이언트가 공격자의 유포지에 접속하면 자동으로 해당 프로그램이 클라이언트 컴퓨터에 다운로드 됩니다. 다운로드가 되면 그 컴퓨터는 공격자의 PC나 마찬가지입니다. 

★그럼 어떻게 클라이언트가 유포지에 접속하게 되나?? 공격자는 사용자들이 유포지에 접속할 수 있도록 중계지와 경유지를 만들어 놓습니다. 경유지로 보통 취약점이 많은 사이트를 만들어 놓습니다(보안이 철저하지 않은 사이트). 그리고 그 경유지에 리다이렉트를 걸어놓고 자동으로 중계지로 넘어갈 수 있도록 설정합니다. 중계지에서도 리다이렉트를 걸어놓고 유포지로 넘어가도록 설정해놓습니다. 즉, 사용자 자신도 모르게 유포지에 접속하게 되어 악성코드를 다운받게 됩니다. 

=> 이때 중계지가 없을 수도 있고, 여러 개 일수도 있습니다. 만약 중계지가 여러개라면? 유포지를 찾는데 오래 걸립니다. 공격자들이 자신을 쉽게 찾을 수 없도록 중계지를 많이 생성합니다. 

 

보안대책

리다이렉션 및 중계지 방어

● URL 필터링을 사용하여 악성 URL을 식별하고 차단

● DNS 보안 강화 : DNS 위조 및 중계공격을 방지

● HTTP Strict Transport Security(HSTS)를 설정하여 브라우저에게 HTTPS로만 통신하도록 함

 

악성코드 탐지 및 차단

● 정기적인 보안 감사

● 악성코드 스캔 및 탐지

 

시스템 및 네트워크보안

● IPS 및 IDS 사용

 

모니터링 및 대응

● 이상징후 탐지 : 시스템 및 네트워크에서 이상징후를 탐지하고, 보안 로그에 대한 즉각적 대응을 수행

● 로그분석 : 로그를 정기적으로 분석하여 악의적인 활동을 식별하고 대응