'sanbox'에 해당되는 글 1건

  1. 2010.06.28 나만의 바이러스 연구소를 만들어 보자(환경 구축 편) (4)
악성 프로그램(컴퓨터 바이러스)에 관심이 있는 일반 사람들은 보통 아래와 같은 단계로 진화하는 경향이 있습니다.

1 단계: 바이러스, 보안에 관심을 가지는 단계로 다양한 안티바이러스 제품을 설치해 이용하거나, 하루에 한번씩 열심히 바이러스 검사를 하는 등, 처음 눈을 뜨는 단계입니다.

2 단계: 이제 악성프로그램을 예방하는 단계에서 그치지 않고 악성 코드를 인터넷에서 또는 P2P에서, 아는 사람들을 통해 수집하여 검사하거나 안티바이러스 업체에 신고하는 보다 생산적인 활동을 하는 단계입니다.

3 단계: 보다 어려운 단계로 악성 프로그램을 수집하여 내부를 분석하거나, 정상 시스템에서 감염되는 단계를 분석하는 재미에 돌입하는 단계입니다.

오늘 설명하고자 하는 단계는 바로 마지막 단계인 악성 프로그램을 분석하는 방법에 대한 것입니다. 참고로, 설명 내용 가운데에는 다양한 서드파티 프로그램과 윈도우 내부적인 복잡한 사항이 포함될 수 있습니다.

이제 악성 프로그램을 분석하이 위해 필요한 프로그램에 대해 설명합니다. Sandbox의 경우에는 설명하기에는 너무나 많은 시간 및 기술적인 설명이 필요하여 간략히 정리했습니다.


1. 바이러스토탈(http://www.virustotal.com) - 수십여가지 안티바이러스 엔진을 하나의 웹사이트에서 통합 운영할 수 있도록 하는 진단 서비스로, 의심이 가는 파일을 업로드하면 순차적으로 안티바이러스 엔진이 진단하여 진단명을 일목요연하게 표시해 줍니다. 이 외에도 유사한 사이트가 몇가지 더 있습니다.

주) 새로운 악성 프로그램이 감염된 것으로 의심되는 파일은 바로 확인할 수 있기 때문에 초기 대응 단계에서 많이 사용합니다.


2. 가상화 시스템(Vitual System) - 일반적으로 컴퓨터는 물리적인 자원(CPU, 메모리, HDD 등등)을 바탕으로 운영체제를 설치하게 됩니다. 가상화는 이러한 물리적인 자원을 소프트웨어로 처리하게 되며, 이러한 경우 윈도우 내에서 윈도우, 리눅스 내에서 윈도우 운영체제를 돌릴 수 있습니다. 가상화를 지원하는 소프트웨어로 대표적인 프로그램은 바로 VMWare입니다.

주) 악성 프로그램을 분석하기 위해서는 운영 체제에서 안티바이러스 제품의 실시간 감시 기능을 꺼야 합니다. 하지만, 실제 컴퓨터에서 이렇게 하기란 거의 불가능하므로, 가상화 시스템으로 운영하여 시간 및 효율을 극대화합니다.


3. 샌드박스(Sandbox) - 악성 프로그램은 나름대로 컴퓨터에 침투하는 다양한 행동을 취합니다. 예를 들면, 파일 덮어쓰기/새로 만들기, 레지스트리 수정/새로 만들기, 서비스 만들기/시작하기, BHO 등등이 포함됩니다. 이러한 경우 깨끗한 시스템에서 감염된 시스템으로 망가지는 과정에서 어떠한 변경사항이 있는지 알아내는 프로그램입니다.

이 이외에도 새로 생성되는 프로세스를 진단하는 Process Monitor, API 훅(Hook)의 변경 상태를 볼 수 있는 API Monitor 등등 다양한 시스템 소프트웨어가 다수 사용될 수 있으며, 이를 사용자의 취향에 따라 달라집니다.

주) CWSandbox는 Sunbelt Software라는 보안 회사가 개발한 프로그램으로 악성 프로그램 분석시에 유용하게 사용할 수 있습니다. 아래는 안철수 연구소에서 발표한 내용 중 일부입니다.  http://kr.ahnlab.com/securityinfo/infoView.ahn?seq=9531&category=01

주) 일반인이 CWSandbox 프로그램을 이용하는 것으 어려울 수도 있으므로, Sandboxie 라는 프로그램을 이용하는 경우가 대부분입니다. http://www.sandboxie.com/

감사합니다.


 

reTweet
Posted by 문스랩닷컴
blog comments powered by Disqus


    Web Analytics Blogs Directory