1. VirusTotal이란?
의심스러운 파일을 업로드하거나 의심스러운 해시값, IP주소, 도메인, URL을 검색할 수 있는 도구이다. 파일 업로드 시 샌드박스 환경에서 다양한 백신엔진을 통해 검사하기 떄문에 악성으로 의심되는 정보들을 검색하는데 유용하게 사용된다.
예를 들어 악성코드 기초분석 시 사용되는데, 악성코드의 해시값을 통해 이전에 분석된 기록들을 확인하거나 악성코드를 업로드하여 분석하기도 한다.
*샌드박스(Sandbox)는 보안 분야에서 악성 프로그램이나 의심스러운 코드를 안전하게 실행하고 분석할 수 있는 격리된 가상 환경을 의미한다.
2. VirusTotal의 주요 기능
- 파일 업로드 기능
여러 회사의 안티바이러스 엔진과 샌드박스로 파일을 분석하고 탐지된 내용을 보고받을 수 있습니다. 단, 검사 결과가 VirusTotal 데이터베이스에 저장되므로 기밀정보 및 개인정보 유출에 유의해야 한다. - 검색기능
파일 해시, 도메인, IP, 웹사이트 주소 등을 검색하여 이전 검사 기록을 확인할 수 있다. - API
VirusTotal API를 활용하여 자신의 애플리케이션에 악성코드 검사 기능을 통합할 수 있다.
3. VirusTotal 사용 시 주의사항
3.1 민감한 정보가 있는 파일 업로드
민감한 정보가 있는 파일 업로드 은 VirusTotal에 업로드해서 분석하지 않아야 한다. 해당 파일은 분석을 위해 프리미엄 사용자에게 VirusTotal에 공개되어 존재하기 때문이다.
3.2 최신화
검사시점을 확인하고 오래되었다면 Reanalyze(재분석)를 통해 최신 검사를 기반으로 확인해야 한다.
3.3 결과에 대한 절대적인 신뢰
샌드박스 분석 결과는 제한된 가상환경에서 진행되었으므로, 분석결과에 한계가 있다. 악성코드는 항상 동일한 동작을 수행하지 않기 때문에 VirusTotal에 대한 결과를 참고용으로만 사용하고 완전하게 신뢰해서는 안된다.
3.4 파일 업로드
압축파일 분석 시 압축파일 내에 제일 상단에 위치한 파일 하나만 검사하기 때문에 분석결과가 정확하지 않기 때문에 압축된 파일은 압축해제를 하여 개별적으로 분석해야 한다.
3.5 감지태그
백신엔진에서 악성으로 확인되었다고 악성이라고 파악해서는 안된다. 다운로드파일에 광고를 삽입하면 애드웨어로 진단하여 악성코드라고 진단하기 때문이다. 항상 해시태그나 벤더들의 분석 태그를 확인하여 판단해야한다.
참고자료
- https://app.letsdefend.io/training/lessons/virustotal-for-soc-analysts
- VirusTotal 공식 사이트
- VirusTotal Wiki - Wikipedia