0. 과제 및 과정 소개
과제 발표에 사용한 PPT파일을 첨부합니다. 이 과제는 AI스쿨 리팩토링 보안 과정의 일부로 2024년 2월 24일에 발표되었으며 악성코드 샘플 분석을 위한 Vmware 구성, 향후 악성코드 샘플 획득을 위한 샘플 사이트 등을 다루었습니다. 만약 리팩토링 교육과정에 참여하고자 하신다면 아래 AI스쿨 공식 카페에 방문해 주세요.
https://cafe.naver.com/itscholar
정보보안전문가 취업카페 스칼라 : 네이버 카페
비전공자 전문IT교육, 정보보안전문가, 보안을 아는 개발자, AI 양성교육, IT기술리더, 창업가 양성
cafe.naver.com
1. Vmware 설치 오류와 극복
1-1. Vmware란?
VMware는 대표적인 가상화 소프트웨어 중 하나입니다. 가상화는 하나의 물리적 컴퓨터 위에서 여러 개의 운영체제를 동시에 실행할 수 있게 해주는 기술로 이를 통해 악성코드 분석, 서버 분리, 테스트 환경 구성 등 다양한 목적에 활용됩니다. 즉, 컴퓨터 안에 또 하나의 컴퓨터를 만들어서 별도의 독립된 환경 하에 테스트를 진행한다고 보시면 됩니다. 이번 실습에서는 VMware를 사용하여 Windows 7 환경을 구축하고 악성코드를 분석할 준비를 합니다.
1-2. Vmware의 설치
VMware 설치 방법은 다양한 블로그에서 자세히 다루고 있어, 본 글에서는 과정 전체를 설명하기보다는 참고 링크를 공유하고 실습 중심으로 사례만 소개하겠습니다.
[VMware] Windows 7 64Bit 설치하기
[VMware] Windows 7 64Bit 설치하기 실습 환경 VMware Workstation 15 Player (FREE 버전) Windows 7 64Bit 저희 블로그에서는 Windows 7 ISO 파일을 제공하지 않습니다. VMware Workstation 15 Player를 실행합니다. 실행한 후 상
nan491.tistory.com
VMware에 Window7(x64 설치)
VMware에 Window7(x64 설치) 1. VMware에서 Create a New Virtual Machine 클릭 2. Typical (recommended) 선택 후 Next 버튼 클릭 - Custom은 좀 더 상세하게 가상 머신을 설정할 수 있는 항목이다. 3. 나중에 ISO 이미지를 넣
peemangit.tistory.com
위 링크에서는 Windows 7 ISO를 이용해 가상 환경을 구성하는 과정이 잘 정리되어 있습니다.
1-3. 구성환경
본 실습에서는 다음과 같은 구성으로 VMware 환경을 세팅했습니다.
- VMware 버전: VMware Workstation 15
- 운영체제: Windows 7 Professional K x64
- 가상 머신 설정:
- 메모리: 4GB
- 프로세서: 2개
- 하드디스크: 60GB
- 추가 설정:
- 네트워크 구성: 이후 단계에서 설명
- 스냅샷 기능 활성화
- 분석 도구 사전 배포
해당 환경은 악성코드 분석에 적합한 최소 구성을 기준으로 하였습니다.
1-4. VMware 실행 오류 및 해결 방법
1차 문제
설치 후 VMware 실행 시 다음과 같은 오류 메시지가 나타났습니다. 위 메시지를 검색해본 결과, Vmware를 설치할 윈도우 환경은 Hyper-V라는 가상화 기능을 사용합니다. 이는 시스템 리소스, 하드웨어 가속 기능 등을 가능하게 하는데 문제는 Hyper-V와 Vmware는 호환되지 않으므로 하드웨어 접근 측면에서 충돌이 발생했다는 것입니다. 둘 중 하나를 비활성화해야 합니다.
2차 문제
일반적으로는 "Windows 기능 켜기/끄기"에서 Hyper-V 항목을 비활성화하면 해결되지만, Windows 10 Home 버전에서는 Hyper-V 메뉴가 표시되지 않아 전통적인 방법으로는 해제가 불가능했습니다. 이에 따라 아래와 같은 우회적 해결 방법을 시도하였습니다.
- Gpedit 설치 및 설정 변경
- gpedit.msc를 별도로 설치한 뒤, 그룹 정책 편집기에서 '가상화 기반 보안' 비활성화 설정을 진행했습니다.
- 로컬 그룹 정책 편집기 > 컴퓨터 구성 > 관리 템플릿 > 시스템 > Device Guard 경로에서 옵션 수정.
- Windows 업데이트 실행
- 시스템 안정성을 위해 필수 업데이트를 모두 설치해 잠재적 충돌을 방지했습니다.
- PowerShell을 통한 Hyper-V 구성 해제
- 관리자 권한 PowerShell을 실행하여 다음 명령어를 입력했습니다
bcdedit /set hypervisorlaunchtype off
4. 기타 가상화 옵션 제거
- 제어판 > 프로그램 > Windows 기능 켜기/끄기에서 '가상 머신 플랫폼', 'Windows 하이퍼바이저 플랫폼' 등 가상화 관련 항목을 모두 비활성화했습니다.
위의 조치들을 모두 적용한 뒤 재부팅하자, Vmware가 정상적으로 실행되는 것을 확인할 수 있었습니다.
2. Vmware 네트워크 유형
악성코드 분석 환경에서 네트워크 설정은 보안상 중요한 요소입니다. 외부와의 연결을 차단하면서도 내부 분석이 가능해야 하고, 경우에 따라 인터넷 연결이 필요하기도 합니다. VMware에서는 이를 위해 세 가지 대표적인 네트워크 유형을 제공합니다: Bridged, NAT, Host-Only. 각각의 구조와 특성을 아래와 같이 정리해봅니다.
2-1. Bridged: 실제 네트워크처럼 직접 연결
Bridged 모드는 가상머신이 마치 물리적인 컴퓨터처럼 호스트 PC의 랜카드를 공유하여 외부 네트워크에 직접 연결되는 방식입니다.
- 특징
- 가상머신은 실제 네트워크에서 하나의 독립적인 장비로 인식됩니다.
- 호스트의 DHCP 서버나 외부 라우터로부터 고유 IP를 할당받습니다.
- 실제 네트워크 자원(인터넷 포함)에 직접 접근 가능하므로 편리하지만, 외부에 노출되는 위험이 존재합니다.
- 주의점
- 네트워크 상 악성코드 확산 위험이 있어, 보안 분석 환경에는 적합하지 않은 방식입니다.
- VM이 외부에 직접 연결되는 만큼, 분석용으로 사용 시 신중한 설정이 필요합니다.
2-2. NAT: 내부망처럼 구성되는 간접 연결
NAT(Network Address Translation) 모드는 호스트 시스템을 통해 외부와 연결되는 간접적인 네트워크 방식입니다.
- 특징
- 가상머신은 내부 IP를 할당받으며, 인터넷 연결 시에는 호스트의 공인 IP를 통해 대역 번역되어 외부와 통신합니다.
- 외부에서는 가상머신의 IP를 알 수 없으며, 보안상 상대적으로 안전합니다.
- VMware 자체 DHCP 서버가 IP를 부여하고, NAT 서비스가 포트 매핑을 처리합니다.
- 활용
- 내부 보안 테스트 환경이나 악성코드의 외부 통신 탐지 등 다양한 목적에 활용됩니다.
- 가상 공유기를 구성하는 느낌으로 사용 가능하며, 분석환경에서는 가장 범용적으로 사용됩니다.
2-3. Host-Only: 완전한 내부망 격리
Host-Only 모드는 가상머신을 외부 네트워크로부터 완전히 차단하는 네트워크 구성입니다.
- 특징
- 호스트와 가상머신 간 통신만 가능하며, 인터넷 등 외부 접속은 차단됩니다.
- VMware에서 생성한 가상 네트워크 어댑터를 통해 로컬 영역만을 구성합니다.
- 가상머신 간 내부 프라이빗 통신은 가능하지만, 그 외에는 모두 단절됩니다.
- 활용
- 악성코드가 외부로 전파되는 것을 방지하거나, 완전히 고립된 테스트 환경이 필요한 경우 적합합니다.
- 디버깅, 로깅 중심의 정밀 분석에 많이 사용됩니다.
3. Vmware 네트워크 구성
3-1. Virtual Network Editor로 구성 시작하기
VMware에서는 기본 설정만으로도 가상머신을 실행할 수 있지만, 네트워크 세부 설정은 반드시 Virtual Network Editor를 통해 구성해야 합니다.
- VMware 실행 → 상단 메뉴에서 Edit → Virtual Network Editor 클릭
- 하단의 Change Settings 버튼을 클릭해 관리자 권한 활성화
- 설정 가능한 네트워크 목록 확인 (VMnet0, VMnet1, VMnet8 등)
관리자 권한 활성화가 필요한 이유는?
Virtual Network Editor에서는 단순히 보기만 할 수 있는 것이 아니라, 네트워크 어댑터를 추가하거나 브리지를 설정하는 등 시스템 레벨의 변경 작업이 요구됩니다. 이 때문에 관리자 권한 없이 접근하면 설정이 비활성화되어 있습니다. 반드시 Change Settings 버튼을 눌러 관리자 권한을 획득한 상태에서 설정을 변경해야 정상적으로 반영됩니다.
3-2. 연결 가능한 네트워크 구조 확인
기본적으로 VMware는 VMnet0(Bridged), VMnet8(NAT), VMnet1(Host-only)을 제공합니다. 구성된 VMnet이 연결 가능한지 아래 항목들을 확인합니다.
- Host Connection: 호스트 컴퓨터와 연결되었는지 여부
- DHCP: IP를 자동으로 부여할 수 있는지 여부
- Subnet Address: 가상 네트워크 대역 (예: 192.168.x.x)
예를 들어 VMnet8이 NAT 모드라면 192.168.221.0 대역이 할당되고, 해당 범위 내에서 가상머신 IP가 자동 할당됩니다.
3-3. 인터넷 연결 확인 및 점검
가상머신이 인터넷에 연결되어야 하는 경우 다음 단계를 반드시 확인합니다.
- 가상머신 내부에서 `ipconfig /all` 입력 → IP가 제대로 잡혔는지 확인
- `ping google.com` 으로 실제 인터넷 통신이 되는지 확인
- 연결되지 않는다면 아래 항목 확인
- VMware DHCP Service와 NAT Service가 실행 중인지
- 호스트 PC의 네트워크 어댑터 공유 설정이 올바른지
- VM에서 할당받은 어댑터가 네트워크 설정에서 활성화되어 있는지
이 단계를 통해 가상머신이 외부 인터넷과 통신 가능한지 여부를 테스트할 수 있습니다.
4. Vmware 스냅샷
4-1. 스냅샷이란?
악성코드 분석 실습을 하다 보면 가상머신이 망가지는 경우가 자주 발생합니다. 악성코드가 시스템을 변경하거나, 네트워크 설정이 꼬이거나, 실수로 중요한 설정을 잃어버릴 수도 있습니다. 이런 상황을 대비하기 위한 기능이 바로 스냅샷(Snapshot) 입니다.
스냅샷은 가상머신의 현재 상태(메모리, 디스크, 설정 포함) 를 그대로 저장해두는 기능입니다. 마치 게임에서 저장 슬롯을 만들어두는 것처럼, 특정 시점으로 돌아갈 수 있게 해줍니다.
- VM의 상태를 정지된 시점으로 보존합니다.
- 문제 발생 시 언제든지 해당 시점으로 복구할 수 있습니다.
- 설치 직후, 분석 직전, 환경 세팅 완료 후 등 필요 시점마다 스냅샷 생성이 권장됩니다.
4-2. 스냅샷 사용법
1. 스냅샷 생성
- 가상머신이 중지 또는 실행 중일 때 상단 메뉴에서 VM > Snapshot > Take Snapshot 선택합니다.
- 스냅샷 이름과 간단한 설명을 입력합니다.
- 확인을 누르면 몇 초 내로 현재 상태가 저장됩니다.
2. 스냅샷 복원
- VM > Snapshot > Snapshot Manager 클릭합니다.
- 목록에서 원하는 시점의 스냅샷을 선택합니다.
- Go To 또는 Revert 버튼을 클릭하여 복구합니다.
주의: 복원 시 현재 작업 중이던 내용은 사라질 수 있으므로 꼭 필요한 경우에만 복원을 권장합니다.
3. 스냅샷 실습 팁
다음과 같은 시점에서 스냅샷을 꼭 찍어두는 것이 좋습니다.
- OS 설치 직후
- 분석 도구 설치 직후
- 악성코드 실행 직전
- 분석 완료 직후
5. 악성코드 샘플 공유 사이트
악성코드 공유 사이트는 보안 연구와 분석 목적을 위해 공개된 샘플을 제공하는 곳입니다. 하지만 다음 사항을 반드시 숙지하고 활용해야 합니다.
- 개인 PC에서 직접 실행하지 마세요.
- 반드시 분리된 분석 환경(예: 가상 머신, 샌드박스)에서만 취급해야 합니다.
- 샘플을 다운로드받는 순간부터, 보안사고의 책임은 본인에게 있습니다.
- 실제 악성코드는 시스템을 파괴하거나 개인정보를 유출할 수 있으므로 보안 지식이 없는 경우 접근을 삼가야 합니다.
- 악성코드 공유는 합법적 분석 목적에서만 사용되어야 하며, 무단 배포 또는 악용은 법적 책임을 초래할 수 있습니다.
5-1. VirusShare
VirusShare.com
Tuesday, June 24, 2025 03:15 UTC: Fixes are ongoing, but should be just about back to normal. Please be nice to the server while I am still testing it.
virusshare.com
- 가장 많이 언급되는 대표적인 악성코드 공유 사이트입니다.
- 다양한 파일 해시(MD5, SHA1, SHA256)를 기반으로 악성코드 샘플 정보를 제공합니다.
- 수십 테라바이트(TB) 규모의 악성코드 샘플을 보유하고 있으며, 회원가입 후에만 다운로드가 가능합니다.
- 사용자는 분석 시 SSDeep, 파일 구조, 탐지 정보 등 부가적인 메타데이터를 확인할 수 있습니다.
- 초보자보다 중급 이상의 보안 연구자에게 적합하며, 다운로드는 반드시 로그인이 필요합니다.
- 실제로 악성코드 분석 실습 자료에서 기본 샘플 출처로 가장 많이 활용됩니다.
5-2. Malware Feed
https://github.com/MalwareSamples/Malware-Feed
GitHub - MalwareSamples/Malware-Feed: Bringing you the best of the worst files on the Internet.
Bringing you the best of the worst files on the Internet. - MalwareSamples/Malware-Feed
github.com
- CISA, FBI, AV 기업 등에서 배포하는 샘플들을 정리해놓은 깃허브 기반 피드입니다.
- 샘플뿐만 아니라 IOC, 분석 리포트, 시그니처까지 함께 제공되어 보안 실무에서 참고하기 좋습니다.
- 단, 샘플은 모두 실제 악성코드이기 때문에 반드시 격리 환경에서 테스트해야 합니다.
- 단순 샘플 외에도 공격 트렌드와 연계된 분석 흐름까지 파악할 수 있어 학습용으로도 적합합니다.
5-3. MalwareBazaar
MalwareBazaar | Malware sample exchange
Authenticate for API access | If you are experiencing issues with receiving data from abuse.ch platforms via API, please ensure your requests are authenticated. ➡️ Read here for more info
bazaar.abuse.ch
- Abuse.ch에서 운영하며 악성코드 태그 분류 체계가 매우 체계적입니다.
- 단일 해시 검색, YARA 시그니처 기반 필터링, API 자동화 접근 등이 강점입니다.
-
자동화된 도구와 시스템이 악성코드 데이터베이스에 접근할 수 있도록 API를 제공합니다.
5-4. Contagio
http://contagiodump.blogspot.com/
contagio
malware dump
contagiodump.blogspot.com
- 비교적 고급 사용자 및 모바일 악성코드 연구자들을 위한 블로그입니다.
- iOS/Android 기반 악성 앱 분석이 주요 주제이며, 실제 위협 사례 중심으로 큐레이션되어 있습니다.
- 정제된 글과 함께 관련 분석도 따라볼 수 있어 전문성 있는 리서치 기반 자료로 적합합니다.
- 직접 다운로드 기능은 제한되어 있어 운영자에게 요청을 보내야 하는 경우도 있습니다.
5-5. VirusSign
VirusSign
Giant malware database dedicated to combating threats in the digital world. The biggest malware samples repository for researchers.
www.virussign.com
- 악성코드를 다양한 카테고리로 분류하여 제공하며, 자체 분석 및 다운로드 기능도 지원합니다.
- 무료 계정의 경우 하루 100건까지 다운로드 가능하며, 유료 서비스는 리눅스에서도 사용 가능합니다.
- 신뢰도 높은 글로벌 기업들과 협력하며, AI 기반 악성코드 분석 엔진도 탑재되어 있습니다.
- 다량 수집 + 자동 분석 파이프라인이 구축된 보안팀에 특히 유용합니다.
참고자료
이하는 글을 작성하기 위해 주로 참고한 자료들입니다.
Vmware 환경 구축
https://data-is-power.tistory.com/201
[환경설정] VMware Workstation을 활용한 가상화 환경 설정
안녕하세요. 바른호랑이입니다.이번 게시글에서는 가상화 환경을 설정할 수 있게 해주는 Vmware Workstation을 설치하여 가상화환경을 구축하는 방법에 대해 알아볼 예정입니다. VMware Workstation은 사
data-is-power.tistory.com
https://blog.naver.com/PostView.naver?blogId=islove8587&logNo=223004216580
[VMWare] Bridge, Host-Only, NAT 차이점
[참고사이트] - [네트워크] 눈으로 확인해 보는 Vmware Host-Only, Nat, Bridge 차이 1. VMware 네...
blog.naver.com
[VMware] Windows 7 64Bit 설치하기
[VMware] Windows 7 64Bit 설치하기 실습 환경 VMware Workstation 15 Player (FREE 버전) Windows 7 64Bit 저희 블로그에서는 Windows 7 ISO 파일을 제공하지 않습니다. VMware Workstation 15 Player를 실행합니다. 실행한 후 상
nan491.tistory.com
2. 악성코드 샘플 사이트 리스트
https://zeltser.com/malware-sample-sources
Free Malware Sample Sources for Researchers
Malware researchers frequently seek malware samples to analyze threat techniques and develop defenses. In addition to downloading samples from known malicious URLs, researchers can obtain malware samples from the following free sources: Be careful not to i
zeltser.com
https://github.com/Virus-Samples/Malware-Sample-Sources
GitHub - Virus-Samples/Malware-Sample-Sources: Malware Sample Sources
Malware Sample Sources. Contribute to Virus-Samples/Malware-Sample-Sources development by creating an account on GitHub.
github.com
'AI스쿨 리팩토링' 카테고리의 다른 글
15주차 - 악성코드 샘플 분석 1차 (1) | 2025.07.04 |
---|---|
12주차 - 정적분석 & 동적분석 (4) | 2025.06.28 |
11주차 - VirusTotal (5) | 2025.06.24 |
10주차 - 보안관제 (4) | 2025.06.23 |
9주차 - 분류 성능 평가 지표와 악성코드 종류 (9) | 2025.06.22 |