똑똑한 해커들이 애용하는 '첨단 공격 기법 7선'
5. 호스트 파일 리다이렉트(redirect)
요즘 컴퓨터 이용자들은 거의 모르는 사실이지만, ‘호스트(Hosts)’라는 이름의 DNS 관련 파일이 존재한다. 윈도우의 C:\Windows\System32\Drivers\Etc에 위치한 파일인데, 타이핑한 도메인 이름과 해당 IP 주소를 연결하는 엔트리 정보가 담겨있다.
호스트 파일은 원래 DNS가 DNS 서버에 접속하지 않고도 도메인 주소-IP(name to IP) 검색을 할 수 있도록 하기 위한 방법이었다. 그렇지만 대부분의 경우 DNS는 정상적으로 작동을 하기 때문에 대부분 사람들은 호스트 파일의 존재나 필요를 못 느끼고 살아간다.
해커나 맬웨어들은 이 호스트 파일에 악성 엔트리를 입력해 유명한 도메인 이름(예를 들어 bing.com같은 이름)을 타이핑 할 경우 악성 웹사이트로 연결되는 식의 기법을 이용한다. 이런 악성 웹사이트의 경우 실제 가려던 웹사이트와 거의 완벽할 정도로 비슷하게 꾸며져 있어 사용자는 사이트가 바뀌었다는 사실을 알아채기 쉽지 않다.
이 방식은 오늘날까지도 널리 이용되고 있다.
교훈: 왜 자꾸 다른 악성 사이트로 리다이렉트 되는지 알 수 없다면, 호스트 파일을 확인해보자.
6. 워터홀 공격(Waterhole attacks)
‘워터홀 공격’은 너무나 독창적인 공격 방식에서 그 이름이 비롯됐다. 해커는 목표물이 특정 물리적 장소나 가상의 위치에서 자주 만나거나 업무를 본다는 사실에 주목해 이를 교묘히 이용한다. 목표물이 자주 가는 지점을 파악하면 해커는 그 위치를 “오염시켜” 목표를 달성하는 것이다.
좀 더 쉽게 예를 들어보자. 대부분 대형 업체들은 회사 내부에 커피숍이나 술집, 레스토랑 등을 운영하고 있어 직원들이 이용하도록 한다. 해커는 이들 장소에 가짜 WAP를 만들어 회사의 크레덴셜(credentials)을 최대한 많이 모으는 것이다. 아니면 직원들이 자주 방문하는 웹사이트를 악의적으로 수정해 정보를 모으기도 한다. 피해자들은 공격 장소가 공공 장소이거나 소셜 포털 사이트이기 때문에 상대적으로 더 의심하지 않는 경향이 있다.
올해 애플, 페이스북, 마이크로소프트 등 유명 테크놀로지 업체의 개발자들이 자주 방문한 유명 애플리케이션 개발 웹사이트가 이런 식의 공격을 당하면서 워터홀 공격이 유명해졌다. 해커는 개발자들이 자주 가는 웹사이트에 악성 리다이렉트 자바스크립트를 깔아 개발자의 컴퓨터에 맬웨어가 깔리도록 했다. 개발자가 감염된 단말기로 피해 업체의 내부 네트워크에 액세스했음은 물론이다.
교훈: 직원들에게 이 “워터홀 공격”이 해커들이 즐겨 사용하는 공격 방식임을 교육하자.
7. 미끼와 배신(Bait and Switch)
요즘 해커들이 이용하는 방법 중 가장 흥미로운 것이 바로 이 ‘미끼와 배신’ 방법이다. 피해자들은 처음에는 뭔가를 다운로드 받거나 실행하고 있는 줄 알지만 얼마 지나지 않아 이것이 악성 프로그램으로 변하는 식이다.
맬웨어 유포자들은 심심찮게 유명 웹사이트에 광고 자리를 구매한다. 처음 구매를 할 때는 웹사이트 측에 전혀 무해한 링크나 콘텐츠를 보여준다. 웹사이트 측에서 광고를 승인하고 돈을 받아가면, 그 링크나 콘텐츠를 악성 콘텐츠로 바꿔 치기 하는 수법도 있다.
더 기가 막힌 것은 웹사이트에서 광고를 승인한 사람의 IP가 그 링크를 클릭하게 될 경우 악성 웹사이트에서 원래 웹사이트로 다시 돌아가도록 코드를 썼다는 것이다. 이 때문에 더욱 초기에 발견해 없애기가 어렵곤 했다.
내가 최근 목격한 ‘미끼와 배신’ 공격 중 가장 흥미로웠던 케이스는 누구나 다운로드 받아서 사용 가능한 “무료” 콘텐츠를 미끼로 한 공격이었다. 대개 이런 무료 컨텐츠에는 “원본 링크를 남기는 한 자유롭게 사용, 배포를 허락함”이라는 문구가 적혀 있다.
사용자는 일말의 의심도 없이 그 콘텐츠를 다운로드 하고, 원래 링크는 그대로 둔다. 처음에는 이 링크에 대개 그래픽 파일이나 기타 시시한 파일들 외에는 아무것도 들어있지 않다. 후에 악성 코드가 수천 개의 웹사이트에 깔리고 나서야 해커는 콘텐츠를 유해한 자바 스크립트 리다이렉트 같은 악성 콘텐츠로 바꿔 치기 한다.
교훈: 직접 제작한 컨텐츠나 링크가 아닌 이상 항상 주의를 기울여야 한다. 눈 깜짝할 순간에 악성 콘텐츠나 링크로 탈바꿈 할 수 있다.
스텔스 폴아웃(stealth fallout): 완전한 시스템 통제 상실
맬웨어가 처음 생겨났을 때부터 해커들은 스텔스 방식(stealth methods)를 이용해 유해 컨텐츠를 숨겨왔다. 최초의 IBM 호환 바이러스였던 ‘파키스타니 브레인(Pakistani Brain)’은 디스크 편집기에서 볼 경우 사용자를 비수정 부트 섹터(unmodified boot sector)로 리다이렉트하는 방식이었다.
해커가 스텔스 방식을 통해 시스템을 수정할 경우 그 시스템은 더 이상 당신의 것이 아니다. 해커의 것이 된다. 스텔스 공격에 대항하는 유일한 방법은 다른 공격에 대한 대비책과 다르지 않다(꾸준히 패치를 하고, 신뢰할 수 없는 프로그램은 실행하지 않는 등).
그렇지만 만일 감염이 의심되는 상황이라면, 의심을 품고 이를 알아보려 해도 더 똑똑한 맬웨어가 이 과정을 방해할 수 있다. 감염되지 않은 깨끗한 시스템으로 보이는 것이, 사실은 해커가 그렇게 보이도록 만들어 놓은 시스템일 수 있다는 이야기다.
*Roger A. Grimes는 인포월드 테스트센터 전문 기고가로, 보안 전문 컨설턴트이자 마이크로소프트 수석 보안 아키텍트다. ciokr@idg.co.kr



