2011년 7월 6일 수요일

ActiveX Hacking Simulation

자료는 ActiveX 보안 취약성을 알리기 위한 목적으로 가상의 Hacking 계획을 수립해서 알리는 것이다. 자료를 근간으로 해서 Hacking 경우에 발생할 있는 모든 책임은 이를 수행한 사람에게 있다는 사실을 주지하시기 바랍니다.



  1. Hacking 위한 환경 구성
    1. 현재의 ActiveX 활용한 보안 System Virtualization 대한 대응이 완벽한 상태는 아니다. 특히 Linux에서 진행되는 Virtualization 대해서는 속수 무책인 부분이 많다.
    1. Virtualization 이용해서 ActiveX 설치되는 운영체제인 Microsoft사의 Windows XP 이상과 Internet Explorer 8 또는 Internet Explorer 9 설치한다.
    2. Virtualization 통해서 설치된 운영체제가 사용하는 Network 정보를 모두 외부에 인증될만한 정보로 교체할 있도록 한다. IP MAC Address 이에 해당한다.
    1. Network 사용 정보를 수집하기 위한 중간 Gateway 역할을 Server 구축한다. Network 상의 정보를 수집할 있는 Snipping 가능해야 한다.
    2. Web 보안의 경우에 https 비해서는 매우 낮은 수준의 보안을 제공하는 경우가 대부분이다. ActiveX 통해서 통신이 이루어지기 때문에 ActiveX 분석하면 어떻게 해석하고 바꿀 있는 확인이 가능하다. 이에 대한 다양한 방법은 공개되어 있다.
    3. 가장 어려운 부분이 공인인증서 부분으로 알려져 있는데, 공인 인증서의 보안 취약점은 국내가 아닌 해외에서 이미 공개가 되어 있는 상태이다. 공인 인증서 파일을 취할 있다면, 행위 분석을 통해서 동일하게 사용하는 것이 가능하다. 공인 인증서에 대한 내용은 Hacking Simulation 부분에서 직접적으로 다룰 없음을 인지하기 바란다. (검색하면 나온다, 영어로 번역해서 Google에서 검색해 보면 많은 자료를 구할 있다.)

  1. ActiveX 분석
    1. ActiveX 분석 방법은 여러 가지가 제공되는 , 가장 쉬운 방법은 Visual Studio 이용하는 것이다.
    1. Visual Studio SPY++ 기능은 해당 실행 파일 ActiveX 어떻게 동작하는지를 있다.

    1. 해당 DLL이나 OCX IDE에서 Loading하면 구조를 파악할 있다. 구조 정보는 SPY++ 통해서 얻은 정보를 참조해서 실행에 필요한 관계를 파악할 있다.

      1. Core 가까운 부분은  De-Assembler 이용하는 방법이다. 방대한 양의 Code 나타나게 되겠지만, 참조하는 DLL(Object)이나 Library 등의 정보가 있다면, C/C++ 기반으로 Pseudo Code 수준까지 얻을 있다.

    1. 공격 대상 Site 행위 분석
      1. Network 중간에 감시할 있는 Server 구축이 되어 있으며, Snipping 여기서 진행하도록 한다.
      2. ActiveX 보안의 취약성이 가장 극대화되는 Browser Internet Explorer 9이다. ActiveX 처리하는 부분이 Browser Engine에서 분리되어 별도의 Plug-in으로 개발이 되었다.
      1. Internet Explorer 8이나 Internet Explorer 9 이용해서 해당 사이트에 접근해서 핵심이 되는 업무를 진행하면서 Network에서 처리되는 내용과 호출되는 명령에 대해서 시간을 Matching해서 확인한다.
      1. 행위 분석을 Flow 개념으로 도식화해서 정리한다. 각각의 예외 경우도 테스트를 통해서 확인한다.

    1. Virtualization 대한 원격 정보 수집 교체
      1. Virtualization 설치된 환경에서 진행되는 정보를 중간에서 수집하거나 변경하는 것을 목적으로 한다.
      2. ActiveX 주고 받는 정보를 감시해서 원하는 내용을 수집하거나 변경하는 것을 목적으로 한다.
      3. Virtualization 대한 API 분석하면 과정을 쉽게 수행하는 것이 가능하다.
      4. Virtualization 직접 원격 제어하는 것이 불가한 경우가 있는데, 때는 Snipping 이용한 Network 상의 정보 수집 교체를 수행한다. ActiveX 자체를 변화시킬 경우에 보안에 의해서 실행이 중지되는 경우가 있으며, Network 통해서 진행되는 정보를 수집하고 변경하는 것은 보안이 감지를 못하는 경우가 많다.

    1. 공격 행위 Modeling
      1. Site 대한 공격은 목적에 의해서 다양한 방법을 동원하게 된다. 위에서 준비된 재료를 활용해서 Modeling 해야 한다.
      2. 첫째로 고려해야 부분은 추적에 대한 대비이다. IP MAC 정보를 변경하는 것으로 1차적인 준비는 끝나 있다고 있다.
      3. 국내가 아닌 해외의 VPN 이용해서 접근함으로써 추적을 피하기 위한 2차적인 준비는 끝난다.
      1. 접근 Scenario 맞춰서 Data Modeling 기획한다. Data Modeling ActiveX 통해서 이루어지는 모든 Data 대상으로 해서 이루어진다.
      1. 과정에서 발생할 있는 예외 상황에 대한 처리를 명시한다.
      2. 목적 달성의 표지를 설정한다. 행위가 종료될 있는 표지를 설정하고,흔적 지우기와 결과물 저장 방법을 처리한다.

    1. Program 개발
      1. 공격 행위는 2가지 상황으로 나누어져 있으며, 2개는 개별적인 Program 개발을 요구한다.
      2. 공인 인증서 무력화보다는 정보 변경을 목적으로 한다면, 일반 사용자 System 침입하고 설치한 후에 작동하는 구조를 선택한다.
      1. 공인 인증서 무력화가 가능하다면, 외부 Network 통해서 Dummy System 이용해서 원하는 목적을 달성하는 것이다.
      1. Program 개발 과정에서 회피를 위한 Code 기법을 충분히 구성하며, 자동 소멸될 있도록 조건 설정은 필수이다.
      2. 행위의 실행에 관련해서는 기술하지 않는다.

    1. 주의 사항
      1. ActiveX 통해서 구현되는 경우에도 Site 내에 보안 구조가 설치되어 있는 경우가 있다.이것이 Network 통하지 않는 보안 구조일 경우(예를 들어 OTP) 공격을 해도 주요한 요소를 변경시킬 없다. 대신, 사용자의 입력 정보를 변경시켜서 목적을 달성할 수도 있다.
      2. 부당한 이익을 위해서 해당 Simulation 방법을 사용하는 일은 없도록 하자.
      1. 내용은 정말로 행위에 필요한 대략적인 내용만 다루고 있다. 이유는 실제적인 Code 단위의 내용을 다루면 그건 엄연히 불법이기 때문이다.


    댓글 없음:

    댓글 쓰기