[01] 악성코드 분석_2주차
1. 완전 자동화 분석(Fully-automated analysis)
- 정적 분석 및 동적 분석을 통해 악의적인 행위를 판단
- 자동 분석 수행 (파일 생성, 수정 과정의 분석, 레지스트리 분석, 네트워크 분석 등)
- 상세하거나 정확하지 않을 수 있음
- 악성코드 분석 제공 서비스
2. 정적 속성 분석
- 악성코드의 추가 분석을 위해 필요한 단계
- 문자열 헤더 정보, 해시 값, 리소스 정보, 패킹 여부 등 신속하게 정보 획득
- 정보들을 활용해 실해 파일 간의 비교 데이터베이스 구성
- 바이러스 토탈 서비스
3. 대화형 동적 분석
- 레지스트리, 파일시스템, 프로세스, 네트워크 활동을 이해하기 위해 분리된 가상 머신 환경에서 실행하며 분석
- 메모리 분석을 통해 다른 행위를 추가적으로 분석
- 악의적인 행위의 상세한 과정들을 확인
- 분석가들의 분석 시간이 많이 소요
4. 수동 코드 역공학 분석
- 1, 2, 3이 완료된 후에 추가적인 정보를 획득하기 위해 분석하는 행위
악성코드 샘플 수집 사이트
http://malware-traffic-analysis.net/
Malware-Traffic-Analysis.net
www.malware-traffic-analysis.net
악성코드 분석을 할 때 가상환경에 구성하는 이유
1. 악성코드가 호스트PC에 감염될 위협이 있기 때문
2. 악성코드를 분석할 때 반복적으로 수행 (스냅샷)
3. 자동화 분석을 하기 위해
악성코드 유형
1. 랜섬웨어(Ransomware)
: 파일(주로 문서, 사진)을 암호화해 접근을 차단하고 잠금 해제를 위한 금전 요구
-> 주로 합법적인 전자 메일로 위장해 첨부 파일을 다운로드 혹은 실행을 유도한다.
-> sha 256 이상을 사용하기 때문에 복호화가 굉장히 어려움
2. 트로이목마(Trojan)
: 신뢰할 수 있는 소프트웨어나 응용 프로그램으로 위장
-> 다른 것으로 위장해 접근함 (배포하는 방식)
-> 크랙 제품, 블로그나 전자 메일에 첨부하여 다운로드, 실행 유도
-> 백신에서 쉽게 볼 수 있는 악성코드
3. 웜(Worm)
: 네트워크 상의 취약점을 찾아 스스로 복제
-> 자체 복제 및 확산됨
-> 네트워크 연결된 컴퓨터에도 서로 옮길 수 있음
4. 키로거(KeyLogger)
: 키 입력을 추적해 숨김 파일로 저장 후 자동으로 파일 전송, 정보 탈취
-> 주로 피씨방 등에 숨겨 게임 ID, PW 탈취에 사용
-> 키 입력 데이터를 사용해 암호 또는 개인, 비즈니스 정보를 해커에게 자동 전송
5. 봇(Bot)
: 자동화된 컴퓨터 프로그램으로 작동하는 악성 소프트웨어의 일종
-> 해커가 여러 봇에 감염된 컴퓨터를 제어하는 웹 사이트를 공격하는데 사용하는 하나 이상의 봇
-> 봇넷을 사용하여 DDoS 공격을 하는 등 다양한 공격 가능
6. 루트킷(Rootkit)
: 컴퓨터에 액세스하거나 제어하도록 설계된 정보를 훔치는 악성코드
-> 루트 권한을 쉽게 얻게 하는 키트, 주로 파일이나 레지스트리를 숨김
-> 제거하기 매우 어려움
7. 스파이웨어(Spyware)
: 사용자 활동을 감시하는 악성 소프트웨어
-> 브라우저 히스터리, 데이터 수집에 이르는 사용자 활동 감시
-> 합법적인 용도 : 자녀 보호 온라인 소프트웨어, 민감 정보 누설 방지를 위한 회사 컴퓨터 모니터링
-> 악의적인 용도 : 신원 도난을 위한 개인 정보 수집, 은행 세부 정보로 사용자 금전 액세스
8. 바이러스(Virus)
: 프로그램이나 응용 프로그램에 붙어 실행되는 악의적인 프로그램