2010년 11월 1일 월요일

EMET(Enhanced Mitigation Experience Toolkit) 보안 설정도구 소개

인터넷을 사용하는 한, '보안' 이라는 부분에서는 안전해지기 어려운 것이 현실이다. 소프트웨어는 취약점에 계속 노출되어 있고, 인터넷이라는 연결을 통해 외부에서 누군가가 접근할 수도 있다.
대중적으로 많이 이용되는 인터넷 익스플로러와 같은 브라우저, 플래쉬, PDF 의 취약점이 계속 보고되고 있는 것도 이런 이유이다. 대중적인 것이기 때문에 위험에 더욱 많이 노출되어 있다.

사용하는 내 컴퓨터 시스템을 더욱 안전하게 사용할 수 있는 도구를 하나 소개해 보고자 한다. 마이크로소프트사에서 배포하는 Enhanced Mitigation Experience Toolkit 이 바로 그것이다. 현재 2.0 버전이며, 다운로드는 아래 '참고' 의 링크를 이용하면 된다.

다운받아 설치 한 후, 실행하면 아래와 같은 간단한 화면을 볼 수 있다.


DEP(Data Execution Prevention), SEHOP(Structured Exception Handler Overwrite Protection), ASLR(Address Space Layout Randomization) 상태를 볼 수 있고, 그 아래 화면은 프로세스별 적용 상태를 나타낸다.  이 DEP, SEHOP, ASLR 은 공격에 이용되는 주요 기술들을 차단해 주는 방법중에 하나이다. 여기서는 이 기법에 대해서 자세히 설명하지는 않겠다.

일단 EMET 를 한마디로 요약하자면 취약점으로 부터 시스템을 보호해 줄 수 있는 기능을 제공해 주는 것이다. 가장 좋은 방법은 프로그램 자체가 안전하게 코딩되면 좋지만, 우리가 사용하는 프로그램마다 안전한 방식을 기대하기란 어렵다. EMET 는 소스코드 같은 것이 없어도 프로세스단위로도 취약한 상태를 완화 시킬 수 있는 기능을 제공해 주므로 보다 안전한 환경을 원한다면 유용한 도구가 될 것이다.

예를 들어, 최근에 공개된 어도비사의 아크로뱃 리더를 이용한 취약점은 데이터 실행 방지 기술인 DEP를 우회하기 위해 ROP(Return Oriented Programming) 기법을 사용하고 있다. 일반적으로 이런 경우는 ASLR 기술이 적용되어 방지할 수 있지만, 해당 제품에서는 ASLR 을 사용하지 않고 있다. 그러므로 공격에 이용될 주소가 예측이 가능해진다. 하지만 ASLR 을 이용하면 취약점으로부터 안전해 질 수 있는 것이다.

어찌되었던 이 툴킷을 이용해 100% 완벽하게 지킬 수는 없지만, 각 기능을 사용하지 않는 것 보다는 충분히 안전한 환경을 제공해주는 것은 맞다. 사용하는 것도 간단하므로, 관심있는 사용자라면 한번 시도해 보는 것이 좋을것 같다.

Configure System 을 클릭하면 사전에 설정된 프로파일이 있으므로 생소한 분들은 다음 2가지중 하나를 선택하면 된다.

- Maximum Security Settings : 보안 설정을 최고로 원하는경우
- Recommended Security Settings : 보안 설정이 최고는 아니지만 권장하는 형태로 원하는 경우
(설정을 적용한 후에는 시스템 재 부팅이 필요하다)

설정을 다 적용한 경우에, 상황에 따라 시스템에서 동작하던 응용프로그램이 예외현상이 발생할 수 도 있다. 이런 경우는 정책을 제거하고 EMET 설정에 의해 발생한 것인지 확인해 보아야 한다.

참고로, 사용가능한 환경은 아래와 같다:

Client Operating Systems
• Windows XP service pack 3 and above
• Windows Vista service pack 1 and above
• Windows 7 all service packs

Server Operation Systems
• Windows Server 2003 service pack 1 and above
• Windows Server 2008 all service packs
• Windows Server 2008 R2 all service packs

[참고]
1. EMET 다운로드
2. EMET 2.0 소개
3. EMET 소개 동영상

댓글 2개:

  1. 안녕하세요. 오늘 IE 취약점 관련 기사가 떴는데, 거기에 EMET에 대해 나와서 뭔가 하고 찾다가 이 곳에 오게 되었습니다. 여기 설명을 보고 다운 받아서 설치를 했는데 위에 EMET 소개 링크들을 봐도 userguide 파일을 읽어봐도 사실 이게 뭐고 어떤 원리로 동작하는지 하나도 모르겠네요.. 뭐 그래도 유용한 프로그램이라고 하니 그냥 쓰려고 합니다만 이게 프로그램이 너무 간단해서 사용법을 잘 모르겠습니다. 일단 깔고나서 configure만 해주면 되는 건지, 아니면 이걸 매번 컴퓨터를 사용할 때 마다 실행시켜놔야 하는건지 조언 주시면 매우 감사하겠습니다.

    답글삭제
  2. EMET 에서 설정하는 기능들은, 사용자들이 보다 편리하게 도구를 통해서 보안설정을 한단계 업그레이드 할 수 있는 것이라고 볼 수 있습니다. DEP, SEHOP, ASLR 등이 다 공격을 방어하기 위한 하나의 기법입니다. DEP는 가장 유행했던 공격방법중의 하나인 버퍼오버플로우(Buffer Overflow)를 차단하기 위한 방법으로 소개되었습니다. 하지만, 이를 우회하기 위한 다양한 공격방법이 나오면서 그 기법등을 막아주기 위한 방법도 나오게 된 것입니다. 일단, 한번 설정하시면 매번 컴퓨터를 사용할때 마다 실행은 안 시켜놔도 됩니다. 참고로, EMET 가 설치된 폴더에서 커맨드를 통해서도 설정된 리스트를 확인해 볼 수도 있습니다.

    C:\Program Files\EMET>EMET_Conf.exe --list

    Executable Path
    ---------- ----
    NetworkMiner.exe C:\PlayGround\NetworkMiner-0.91

    때로는 그 차단방법을 다 적용하였을때 시스템에 따라 문제가 발생하는 경우도 있습니다. 그럴때는 문제가 되는 기능을 disable 시키면 됩니다. 추후에 이 차단 기법에 대해서, 소개하는 글을 작성해 보겠습니다.

    도움이 되었는지 모르겠네요 ^^.

    답글삭제