2018.04.09

해커와 악성코드, 그들은 '왜·어떻게' 공격하는가

Roger A. Grimes | CSO
모든 종류의 위협은 2가지 경로 중 하나로 다가온다. 하나는 인적 요소이고, 다른 하나는 악성코드다. 해커는 이미 널리 알려진 수십 만 가지 컴퓨터 취약점이나 공격 방식을 이용해 컴퓨터나 기기에 침투한다. 그런 일이 일어나기 전에 미리 패치를 해 두었다면 좋았겠지만 (그리고 실제로 많은 소프트웨어 프로그램이 자동으로 업데이트 하도록 바뀌고 있지만) 아직도 많은 컴퓨터와 기기가 업데이트를 게을리해 공격에 취약한 상태로 남아 있다. 해커가 가장 좋아하는 먹잇감이다.



한편, 전 세계에 존재하는 악성코드 프로그램의 종류는 수억 가지에 달한다. 그리고 지금도 매일 같이 새로운 악성코드 수만 개가 만들어진다. 악성코드는 크게 3개 카테고리로 나눌 수 있다. 바이러스(자가 복제), 웜(자가 이동), 그리고 트로이 목마 프로그램(실행을 위해 엔드 유저의 액션이 필요함)이다.

보통 웹 페이지나 이메일을 통해 감염되는 오늘날의 악성코드는 이 셋 중 둘 이상의 조합인 경우가 많다. 수상한 스텁(stub) 프로그램 다운로드 등으로 최초의 접속에 성공하면 악성코드 살포자, 혹은 진원지와 통신해 구체적인 지시 사항을 받은 후 더 정교하고 복잡한 악성코드를 다운로드, 설치한다.

스텁 프로그램을 다운로드 하면 보통 10개가 넘는 악성코드가 함께 딸려온다. 이들 각각은 안티멀웨어 프로그램의 악성코드 탐지 및 제거 시스템을 피하도록 설계돼 있다. 악성코드 제작자는 구글의 바이러스토탈과 비슷한 자체적인 악성코드 멀티 디텍션 서비스를 운영하는데, 이들이 자동 업데이트 서비스와 연동돼 기기에 설치된 안티멀웨어 엔진에 발각되지 않도록 한다. 이처럼 순간적으로 업데이트를 하므로 그토록 다양하고 독특한 악성코드 프로그램이 생성, 배포될 수 있는 것이다.

악성코드 제작자와 배포자가 돈을 받고 완전히 다른 악성코드로 기기를 감염시키기도 한다. 직접 해킹한 기기를 사용하는 것보다 해킹한 기기를 대여해 주는 것이 더 돈이 되므로 당연히 그 쪽을 택하는 것이다. 뿐만 아니라 기기를 해킹하는 입장에서는 이렇게 돈을 버는 쪽이 리스크가 훨씬 적다.

많은 해커(그리고 해커 단체)가 악성코드를 이용해 우선 기업 전반 또는 최대한 넓은 범주의 타깃에 침입한다. 일단 이런 노력이 성공하면 그 후에 개별적으로 더 취약한 타깃을 선정해 집중 공략하는 전략을 사용한다. 때에 따라서는 랜섬웨어와 마찬가지로 하나의 악성코드 프로그램이 기기에 침투해 돈을 송출하는 과정에 이르기까지 전 과정을 해커의 개입 없이 해내기도 한다.

일단 악성코드를 배포하고 나면, 해커가 해야 할 일은 그저 뒷짐 지고 결과를 기다렸다가 부정한 결과물을 수확하는 것뿐이다. 해커는 악성코드를 제작할 뿐이며, 이를 사용, 배포하고자 하는 동기를 가진 이들에게 악성코드를 판매 또는 대여한다.

해킹을 하는 이유
해커가 범죄를 저지르는 이유는 여러 가지가 있겠지만, 크게 금전적 동기, 국가 기관의 의뢰/사이버 전쟁, 산업 스파이, 핵티비즘, 자원 절도, 게이머 이슈 등으로 나눌 수 있다.

이들 중 가장 큰 비중을 차지하는 것은 아마도 금전적 동기와 국가 기관의 사주일 것이다. 10여 년 전까지만 해도, 일반인에게 해커의 이미지는 컴퓨터 앞에 앉아 햄버거를 먹으며 빠르게 타자를 치는 외로운 젊은이의 모습이었다. 그때까지만 해도 이들의 주요 동기는 그저 다른 이들에게 뭔가를 해킹할 수 있다는 것을 증명해 보이는 것, 또는 자신이 만든 기발한 악성코드를 선보이는 것이었다. 즉 실체적인 해악을 끼치는 존재가 아니었다.

오늘날 해커 대부분은 전문 해커 그룹에 소속돼 활동한다. 그리고 이들 단체는 대개 금전적인 대가를 위해 행동하며 무시할 수 없는 정도의 피해와 해악을 끼치고 있다. 이들이 사용하는 악성코드는 들키기 전까지 최대한 모습을 감추도록, 그리고 가능한 한 많이 가치 있는 정보를 수집하도록 설계됐다.


해킹을 하는 방법
동기가 무엇이 되었든, 기본적으로 해커나 악성코드는 같은 방식으로 컴퓨터 시스템에 침투하며, 같은 수단, 방식으로 정보나 가치 있는 자원을 취득한다. 주로 소셜 엔지니어링, 패치가 이루어지지 않은 소프트웨어 및 하드웨어 취약점 공략, 제로 데이 공격, 브라우저 공격, 패스워드 공격, 도청, 서비스 거부(Denial of service), 물리적 공격 등이다.

이밖에도 내부자에 의한 위협이나 의도치 않은 데이터 유출, 시스템 구성 오류, 사용자 에러 등 의도적인 해킹과 관련 없는 수많은 위험 요소가 있다. 사실 기기가 해킹 당하는 가장 큰 이유는 소프트웨어 패치가 제 때 이루어지지 않았거나, 소셜 엔지니어링에 당하는 경우이다. 이러한 요인은 대부분 환경에서 전체 리스크의 95% 이상을 차지한다. 이 문제만 해결해도 보안 위협 대부분을 해결했다고 말할 정도다.

해커나 악성코드 프로그램이 공공에 잘 알려지지 않은 취약점을 공략하는 제로 데이 공격은 그래서 더 주의 깊게 봐야 한다. 왜냐하면 이런 공격에 대한 패치는 아직까지 마련돼 있지 않기 때문이다. 그러나 제로 데이 공격은 한 해에도 발각되는 건수가 한 손에 꼽을 정도다. 이들은 발견돼 분석, 패치가 이루어지기까지 주로 한 기업이나 소수의 기업만 타깃으로 삼는다.

아마도 우리가 아는 것보다 훨씬 많은 제로 데이 공격이, 특히 국가 기관에 의해 자행되고 있겠지만 해커 역시 제로 데이 공격은 아주 드물게만 시행하기 때문에 실제로 발각되는 경우는 잘 없다. 그래서 같은 수법을 반복해서 사용하기도 한다.

악성 공격의 절대 다수는 인터넷을 통해 이루어지며 사용자의 특정 행동이 동반돼야 한다. 수상한 링크를 클릭한다거나, 의심스러운 파일을 다운로드해 실행하거나 혹은 자신의 로그인 정보를 제공하는 식이다. 다행히 요즘은 브라우저 보안이 많이 개선돼 사용자가 아무런 행동도 하지 않았는데 단순히 어떤 웹 페이지를 방문했다는 이유만으로, 혹은 특정 이메일을 열어 보았다는 이유만으로 감염이 되는 ‘사일런트 드라이브 바이(silent drive-by)’ 공격은 줄고 있다.

어떻게 대비해야 할까
해커 및 악성코드와의 전쟁에서 승리하려면 그들이 해킹을 하는 동기가 무엇이든 애초에 이들이 목적을 달성할 수 있도록 허용하는 빈 틈을 빠짐 없이 메워야 한다. 앞서 설명한 보안 취약점을 잘 살펴 보고, 이들 중 어떤 부분이 우리 기업에 가장 위협이 될 만한 요소인지 생각해 본 후 기존 방어 시스템을 더 강화해야 한다. 그렇게만 한다면, 대부분 위협에는 끄떡도 하지 않는 철옹성을 구축할 수 있을 것이다. ciokr@idg.co.kr 

2018.04.09

해커와 악성코드, 그들은 '왜·어떻게' 공격하는가

Roger A. Grimes | CSO
모든 종류의 위협은 2가지 경로 중 하나로 다가온다. 하나는 인적 요소이고, 다른 하나는 악성코드다. 해커는 이미 널리 알려진 수십 만 가지 컴퓨터 취약점이나 공격 방식을 이용해 컴퓨터나 기기에 침투한다. 그런 일이 일어나기 전에 미리 패치를 해 두었다면 좋았겠지만 (그리고 실제로 많은 소프트웨어 프로그램이 자동으로 업데이트 하도록 바뀌고 있지만) 아직도 많은 컴퓨터와 기기가 업데이트를 게을리해 공격에 취약한 상태로 남아 있다. 해커가 가장 좋아하는 먹잇감이다.



한편, 전 세계에 존재하는 악성코드 프로그램의 종류는 수억 가지에 달한다. 그리고 지금도 매일 같이 새로운 악성코드 수만 개가 만들어진다. 악성코드는 크게 3개 카테고리로 나눌 수 있다. 바이러스(자가 복제), 웜(자가 이동), 그리고 트로이 목마 프로그램(실행을 위해 엔드 유저의 액션이 필요함)이다.

보통 웹 페이지나 이메일을 통해 감염되는 오늘날의 악성코드는 이 셋 중 둘 이상의 조합인 경우가 많다. 수상한 스텁(stub) 프로그램 다운로드 등으로 최초의 접속에 성공하면 악성코드 살포자, 혹은 진원지와 통신해 구체적인 지시 사항을 받은 후 더 정교하고 복잡한 악성코드를 다운로드, 설치한다.

스텁 프로그램을 다운로드 하면 보통 10개가 넘는 악성코드가 함께 딸려온다. 이들 각각은 안티멀웨어 프로그램의 악성코드 탐지 및 제거 시스템을 피하도록 설계돼 있다. 악성코드 제작자는 구글의 바이러스토탈과 비슷한 자체적인 악성코드 멀티 디텍션 서비스를 운영하는데, 이들이 자동 업데이트 서비스와 연동돼 기기에 설치된 안티멀웨어 엔진에 발각되지 않도록 한다. 이처럼 순간적으로 업데이트를 하므로 그토록 다양하고 독특한 악성코드 프로그램이 생성, 배포될 수 있는 것이다.

악성코드 제작자와 배포자가 돈을 받고 완전히 다른 악성코드로 기기를 감염시키기도 한다. 직접 해킹한 기기를 사용하는 것보다 해킹한 기기를 대여해 주는 것이 더 돈이 되므로 당연히 그 쪽을 택하는 것이다. 뿐만 아니라 기기를 해킹하는 입장에서는 이렇게 돈을 버는 쪽이 리스크가 훨씬 적다.

많은 해커(그리고 해커 단체)가 악성코드를 이용해 우선 기업 전반 또는 최대한 넓은 범주의 타깃에 침입한다. 일단 이런 노력이 성공하면 그 후에 개별적으로 더 취약한 타깃을 선정해 집중 공략하는 전략을 사용한다. 때에 따라서는 랜섬웨어와 마찬가지로 하나의 악성코드 프로그램이 기기에 침투해 돈을 송출하는 과정에 이르기까지 전 과정을 해커의 개입 없이 해내기도 한다.

일단 악성코드를 배포하고 나면, 해커가 해야 할 일은 그저 뒷짐 지고 결과를 기다렸다가 부정한 결과물을 수확하는 것뿐이다. 해커는 악성코드를 제작할 뿐이며, 이를 사용, 배포하고자 하는 동기를 가진 이들에게 악성코드를 판매 또는 대여한다.

해킹을 하는 이유
해커가 범죄를 저지르는 이유는 여러 가지가 있겠지만, 크게 금전적 동기, 국가 기관의 의뢰/사이버 전쟁, 산업 스파이, 핵티비즘, 자원 절도, 게이머 이슈 등으로 나눌 수 있다.

이들 중 가장 큰 비중을 차지하는 것은 아마도 금전적 동기와 국가 기관의 사주일 것이다. 10여 년 전까지만 해도, 일반인에게 해커의 이미지는 컴퓨터 앞에 앉아 햄버거를 먹으며 빠르게 타자를 치는 외로운 젊은이의 모습이었다. 그때까지만 해도 이들의 주요 동기는 그저 다른 이들에게 뭔가를 해킹할 수 있다는 것을 증명해 보이는 것, 또는 자신이 만든 기발한 악성코드를 선보이는 것이었다. 즉 실체적인 해악을 끼치는 존재가 아니었다.

오늘날 해커 대부분은 전문 해커 그룹에 소속돼 활동한다. 그리고 이들 단체는 대개 금전적인 대가를 위해 행동하며 무시할 수 없는 정도의 피해와 해악을 끼치고 있다. 이들이 사용하는 악성코드는 들키기 전까지 최대한 모습을 감추도록, 그리고 가능한 한 많이 가치 있는 정보를 수집하도록 설계됐다.


해킹을 하는 방법
동기가 무엇이 되었든, 기본적으로 해커나 악성코드는 같은 방식으로 컴퓨터 시스템에 침투하며, 같은 수단, 방식으로 정보나 가치 있는 자원을 취득한다. 주로 소셜 엔지니어링, 패치가 이루어지지 않은 소프트웨어 및 하드웨어 취약점 공략, 제로 데이 공격, 브라우저 공격, 패스워드 공격, 도청, 서비스 거부(Denial of service), 물리적 공격 등이다.

이밖에도 내부자에 의한 위협이나 의도치 않은 데이터 유출, 시스템 구성 오류, 사용자 에러 등 의도적인 해킹과 관련 없는 수많은 위험 요소가 있다. 사실 기기가 해킹 당하는 가장 큰 이유는 소프트웨어 패치가 제 때 이루어지지 않았거나, 소셜 엔지니어링에 당하는 경우이다. 이러한 요인은 대부분 환경에서 전체 리스크의 95% 이상을 차지한다. 이 문제만 해결해도 보안 위협 대부분을 해결했다고 말할 정도다.

해커나 악성코드 프로그램이 공공에 잘 알려지지 않은 취약점을 공략하는 제로 데이 공격은 그래서 더 주의 깊게 봐야 한다. 왜냐하면 이런 공격에 대한 패치는 아직까지 마련돼 있지 않기 때문이다. 그러나 제로 데이 공격은 한 해에도 발각되는 건수가 한 손에 꼽을 정도다. 이들은 발견돼 분석, 패치가 이루어지기까지 주로 한 기업이나 소수의 기업만 타깃으로 삼는다.

아마도 우리가 아는 것보다 훨씬 많은 제로 데이 공격이, 특히 국가 기관에 의해 자행되고 있겠지만 해커 역시 제로 데이 공격은 아주 드물게만 시행하기 때문에 실제로 발각되는 경우는 잘 없다. 그래서 같은 수법을 반복해서 사용하기도 한다.

악성 공격의 절대 다수는 인터넷을 통해 이루어지며 사용자의 특정 행동이 동반돼야 한다. 수상한 링크를 클릭한다거나, 의심스러운 파일을 다운로드해 실행하거나 혹은 자신의 로그인 정보를 제공하는 식이다. 다행히 요즘은 브라우저 보안이 많이 개선돼 사용자가 아무런 행동도 하지 않았는데 단순히 어떤 웹 페이지를 방문했다는 이유만으로, 혹은 특정 이메일을 열어 보았다는 이유만으로 감염이 되는 ‘사일런트 드라이브 바이(silent drive-by)’ 공격은 줄고 있다.

어떻게 대비해야 할까
해커 및 악성코드와의 전쟁에서 승리하려면 그들이 해킹을 하는 동기가 무엇이든 애초에 이들이 목적을 달성할 수 있도록 허용하는 빈 틈을 빠짐 없이 메워야 한다. 앞서 설명한 보안 취약점을 잘 살펴 보고, 이들 중 어떤 부분이 우리 기업에 가장 위협이 될 만한 요소인지 생각해 본 후 기존 방어 시스템을 더 강화해야 한다. 그렇게만 한다면, 대부분 위협에는 끄떡도 하지 않는 철옹성을 구축할 수 있을 것이다. ciokr@idg.co.kr 

X