2020.02.14

윈도우 네트워크에 숨은 악성코드 퇴치법

Susan Bradley | CSO
윈도우 시스템에 있는 서비스 이름을 나열하면, 진짜 서비스와 가짜를 구별할 수 있을까? 공격자는 종종 악성 코드를 포함하고 있지만 진짜 윈도우 서비스가 작동하는 것처럼 보이도록 고안한 가짜 서비스를 사용한다. 윈도우 업데이트가 진짜 윈도우 업데이트일까? 혹은 악성 코드를 컴퓨터에서 “윈도우 업데이트”라고 하는 걸까? 시간을 내어 네트워크의 컴퓨터에서 어떤 서비스와 프로세스가 정상인지 확인해 본 적은 있는가?
 
ⓒ GettyImagesBank
 

윈도우 서비스의 기준 만들기

확인한 적이 없다면, 네트워크에 어떤 서비스가 있어야 하는지 보여주는 기준을 만들어야 한다. 파워셸 get-service는 시스템에서 실행 중인 서비스 목록을 가져오는 빠르고 간편한 방법이다. 
 
ⓒ Susan Bradley

시스템 기준을 정할 땐, 기본부터 시작하자. 시스템에서 어떤 서비스가 실행 중일 것이라 예상하는가? 특히 서버 시스템에 새로운 서비스가 추가될 때 경보를 위해 공들여 모니터링 서비스를 추가한 적이 있는가? 워크스테이션은 새로운 서비스를 불규칙적으로 추가할 수 있지만, 서버의 서비스는 자주 변경되지 않는다. 서비스와 중요 루트 디렉토리의 변경 사항에 대해 서버를 모니터링하는 것은 고려해봐야 할 보안 프로세스이다. 예를 들어 시스템 모니터(Sysmon)를 서버에 추가해 시스템의 변경 사항을 모니터할 수 있다. 
 

악성 코드를 숨기는 전술에 대한 방어

과거에는 악성 소프트웨어가 대상 시스템에 숨으려고 너무 열심히 노력할 필요가 없었다. 서비스와 드라이버로 들어가 일반 서비스처럼 보이곤 했다. 그러나 시스템이 강화됨에 따라, 공격자는 시스템에 악성코드를 숨기려면 더 복잡한 작업을 해야 한다. 

악성 소프트웨어는 암호화, 압축, 인코딩 등 수많은 방법을 동원해 시스템에 숨고 발각되지 않을 수 있다. 이제 백신은 파일명, 서비스명, 유형보다 의심스러운 행동을 더 많이 탐색한다. 예를 들어 애플리케이션이 기밀이 포함될 가능성이 높은 파일에 갑자기 접근하기 시작하면, 백신은 이 애플리케이션이 적절한 행동을 하는지 모니터링한다. 

HP가 인수한 보안 전문업체 브로미움(Bromium)에 따르면, 공격자가 주로 악용하는 해석(interpret)된 언어는 파워셸, VBScript, JScript, VBA(Visual Basic for Applications), 명령 셸(cmd.exe)로 해석되는 명령을 포함한다. 예를 들어 이모텟(Emotet), 트릭봇(TrickBot)은 이메일 첨부파일에 악성 자바스크립트 페이로드(payload: 정상적으로 보이는 악성 코드 중 실제로 공격을 실행하는 구성 요소)를 숨기고 열어보도록 유인하는 대표적인 트로이목마 종류의 악성 프로그램이다. 자바스크립트 난독화로 이런 공격을 방어할 수 있다. 

먼저 악성 페이로드가 시스템에 침입하지 않도록 막아야 한다. 이메일 보호 기능을 통해 회사로 들어오는 모든 첨부파일을 스캔하고 검사해야 한다. 직원 교육도 간과하면 안된다. 교육받은 사용자는 공격자에 대한 최선의 방어책이 될 수 있다. 비정상적인 첨부파일이나 시스템이 이상하게 작동해 성능이 저하되는 징후를 보이는 컴퓨터의 사용자는 보안팀에 알리도록 교육해야 한다. 때로는 성능 저하만이 시스템이 손상된 것을 알리는 유일한 증상이다. 
 

예방을 위한 방법

공격자는 서비스가 가상머신이나 샌드박스에서 실행되고 있지 않은지를 확인한다. 공격자는 종종 감시자가 사용하는 테스트 머신에서 그들이 어떻게 작업하는지를 숨기려고 한다. 때문에, 공격자는 기본 행동을 바꾸고 공격 과정의 작동 방식을 계속 숨긴다. 

시스템에서 걷잡을 수 없이 퍼지는 것을 숨기도록 고안된 악성코드를 어떻게 방지할 수 있을까? 몇 가지 방법이 있다. 

먼저 .js나 .jse 파일이 이메일에 첨부되어 사내 사용자에게 전달되는 것을 차단할 수 있다. 악성 파일은 일반적으로 매크로가 활성화된 워드 문서를 통해 들어온다. (공격자가 보낸 위험한 메일을 열어보는) 위험한 결정에 사용자를 노출하지 않도록, 오피스 콘텐츠를 공유할 수 있는 안전한 대체 방법을 고려해야 한다. 

악성코드 탐지 및 방지 솔루션인 윈도우 디펜더 ATP(Windows Defender Advanced Threat Protection, WDATP) 라이선스를 구입하는 것이 이상적이다. 이 클라우드 기반 서비스는 윈도우 10 E5 또는 마이크로소프트 365 E5 라이선스에 포함돼 있다. 윈도우 10에 연결해 활동을 감시할 수 있다. 악의적 활동이 감지되면, ATP는 공격자가 침입한 방식과 시스템에 미치는 영향을 그래픽 이미지로 알려준다. 



2020.02.14

윈도우 네트워크에 숨은 악성코드 퇴치법

Susan Bradley | CSO
윈도우 시스템에 있는 서비스 이름을 나열하면, 진짜 서비스와 가짜를 구별할 수 있을까? 공격자는 종종 악성 코드를 포함하고 있지만 진짜 윈도우 서비스가 작동하는 것처럼 보이도록 고안한 가짜 서비스를 사용한다. 윈도우 업데이트가 진짜 윈도우 업데이트일까? 혹은 악성 코드를 컴퓨터에서 “윈도우 업데이트”라고 하는 걸까? 시간을 내어 네트워크의 컴퓨터에서 어떤 서비스와 프로세스가 정상인지 확인해 본 적은 있는가?
 
ⓒ GettyImagesBank
 

윈도우 서비스의 기준 만들기

확인한 적이 없다면, 네트워크에 어떤 서비스가 있어야 하는지 보여주는 기준을 만들어야 한다. 파워셸 get-service는 시스템에서 실행 중인 서비스 목록을 가져오는 빠르고 간편한 방법이다. 
 
ⓒ Susan Bradley

시스템 기준을 정할 땐, 기본부터 시작하자. 시스템에서 어떤 서비스가 실행 중일 것이라 예상하는가? 특히 서버 시스템에 새로운 서비스가 추가될 때 경보를 위해 공들여 모니터링 서비스를 추가한 적이 있는가? 워크스테이션은 새로운 서비스를 불규칙적으로 추가할 수 있지만, 서버의 서비스는 자주 변경되지 않는다. 서비스와 중요 루트 디렉토리의 변경 사항에 대해 서버를 모니터링하는 것은 고려해봐야 할 보안 프로세스이다. 예를 들어 시스템 모니터(Sysmon)를 서버에 추가해 시스템의 변경 사항을 모니터할 수 있다. 
 

악성 코드를 숨기는 전술에 대한 방어

과거에는 악성 소프트웨어가 대상 시스템에 숨으려고 너무 열심히 노력할 필요가 없었다. 서비스와 드라이버로 들어가 일반 서비스처럼 보이곤 했다. 그러나 시스템이 강화됨에 따라, 공격자는 시스템에 악성코드를 숨기려면 더 복잡한 작업을 해야 한다. 

악성 소프트웨어는 암호화, 압축, 인코딩 등 수많은 방법을 동원해 시스템에 숨고 발각되지 않을 수 있다. 이제 백신은 파일명, 서비스명, 유형보다 의심스러운 행동을 더 많이 탐색한다. 예를 들어 애플리케이션이 기밀이 포함될 가능성이 높은 파일에 갑자기 접근하기 시작하면, 백신은 이 애플리케이션이 적절한 행동을 하는지 모니터링한다. 

HP가 인수한 보안 전문업체 브로미움(Bromium)에 따르면, 공격자가 주로 악용하는 해석(interpret)된 언어는 파워셸, VBScript, JScript, VBA(Visual Basic for Applications), 명령 셸(cmd.exe)로 해석되는 명령을 포함한다. 예를 들어 이모텟(Emotet), 트릭봇(TrickBot)은 이메일 첨부파일에 악성 자바스크립트 페이로드(payload: 정상적으로 보이는 악성 코드 중 실제로 공격을 실행하는 구성 요소)를 숨기고 열어보도록 유인하는 대표적인 트로이목마 종류의 악성 프로그램이다. 자바스크립트 난독화로 이런 공격을 방어할 수 있다. 

먼저 악성 페이로드가 시스템에 침입하지 않도록 막아야 한다. 이메일 보호 기능을 통해 회사로 들어오는 모든 첨부파일을 스캔하고 검사해야 한다. 직원 교육도 간과하면 안된다. 교육받은 사용자는 공격자에 대한 최선의 방어책이 될 수 있다. 비정상적인 첨부파일이나 시스템이 이상하게 작동해 성능이 저하되는 징후를 보이는 컴퓨터의 사용자는 보안팀에 알리도록 교육해야 한다. 때로는 성능 저하만이 시스템이 손상된 것을 알리는 유일한 증상이다. 
 

예방을 위한 방법

공격자는 서비스가 가상머신이나 샌드박스에서 실행되고 있지 않은지를 확인한다. 공격자는 종종 감시자가 사용하는 테스트 머신에서 그들이 어떻게 작업하는지를 숨기려고 한다. 때문에, 공격자는 기본 행동을 바꾸고 공격 과정의 작동 방식을 계속 숨긴다. 

시스템에서 걷잡을 수 없이 퍼지는 것을 숨기도록 고안된 악성코드를 어떻게 방지할 수 있을까? 몇 가지 방법이 있다. 

먼저 .js나 .jse 파일이 이메일에 첨부되어 사내 사용자에게 전달되는 것을 차단할 수 있다. 악성 파일은 일반적으로 매크로가 활성화된 워드 문서를 통해 들어온다. (공격자가 보낸 위험한 메일을 열어보는) 위험한 결정에 사용자를 노출하지 않도록, 오피스 콘텐츠를 공유할 수 있는 안전한 대체 방법을 고려해야 한다. 

악성코드 탐지 및 방지 솔루션인 윈도우 디펜더 ATP(Windows Defender Advanced Threat Protection, WDATP) 라이선스를 구입하는 것이 이상적이다. 이 클라우드 기반 서비스는 윈도우 10 E5 또는 마이크로소프트 365 E5 라이선스에 포함돼 있다. 윈도우 10에 연결해 활동을 감시할 수 있다. 악의적 활동이 감지되면, ATP는 공격자가 침입한 방식과 시스템에 미치는 영향을 그래픽 이미지로 알려준다. 



X