-
[악성코드 분석 따라하기 5] 악성코드 식별공부/악성코드 분석 2021. 8. 17. 16:55
정의
식별(Fingerprinting)은 의심스러운 바이너리 내용을 바탕으로 암호 해시 값을 생성하는 활동을 포함한다.
- 파일명을 기준으로 악성코드 샘플을 식별하는 것은 동일한 악성코드 샘플이 다른 파일명을 사용할 수 있어 효과적이지 못해 이를 구분 하기위해 암호해시를 이용하여 식별한다. (암호해시는 유일한 식별자)
- 동적 분석과정에서 드롭퍼 같은 경우 다른 위치에 자신을 복사하거나 다른 악성코드를 드롭할 수 있다.
이런 경우 새롭게 드롭된 샘플이 원본샘플과 동일한지 식별하는데 암호해시가 도움을 준다.
- 파일 해시는 발견한 샘플이 온라인 또는 바이러스 토털과 같은 다중 백신 스캐닝 서비스의
데이터 베이스를 검색해 이전에 탐지된 적이 있는지 판단할 수 있다.
VirusTotal
www.virustotal.com
이러한 파일 해시를 생성하는 방법은 다음과 같다.
1. 도구를 이용한 암호 해시 생성
리눅스에서는 md5sum, sha256sum 등 도구를 이용해 파일 해시를 생성할 수 있다.
해시 생성 윈도우에서는 해시 생성 도구가 온라인에 다양하게 있다
책에서는 HashMyFiles라는 도구를 이용하였는데 장점으로는 동일한 해시 값을 색깔로 강조해주며, 여러개의 파일을 동시에 생성가능하다.
파일이름이 변경되도 두개의 파일의 해시값은 같은파일이므로 동일하다. 2. Python을 이용한 암호해시 파악
파이썬에서는 hashlib 모듈을 이용해 파일 해시를 생성할 수 있다.
바이러스 스캐닝
의심 바이너리를 다중 백신 스캐너로 스캐닝하면 의심파일의 악성코드 시그너처가 존재하는 확인가능하다.
이런 정보를 확인하는 방법으로는
1. 바이러스 토털(Vriustotal)
위에서 언급했지만 바이러스 토털은 유명한 웹 기반 악성코드 스캐닝 서비스로 파일을 업로드하면 다양한 백신스캐너로 스캐닝하고 실시간으로 스캔 결과를 웹페이지로 보여준다.
VirusTotal
www.virustotal.com
더불어 기존 파일업로드와 더불어 해시 , IP , 도메인 등을 이용하여 기존 데이터베이스를 검색할 수 있는 인터페이스를 제공해준다.
바이러스토털은 공개 API를 이용하여 스크립트를 작성할 수있는 기능을 제공한다.
이런 API를 이용하여 해시값을 식별하거나 제공하는 기능을 이용할 수 있다.
'공부 > 악성코드 분석' 카테고리의 다른 글
[악성코드 분석 따라하기 4] 파일 유형 식별 (0) 2021.08.17 [악성코드 분석 따라하기 3] 윈도우 VM 환경 설정 (0) 2021.07.27 [악성코드 분석 따라하기 0] vmware OS 설치 (0) 2021.07.27 [악성코드 분석 따라하기 2] 우분투 InetSIm 환경 설정 (0) 2021.07.22 [악성코드 분석 따라하기 1] Ubuntu Desktop 환경에서 inetsim 설치 (0) 2021.07.15