악성코드 분석에는 크게 3가지로 나눌 수 있다 기초분석, 정적분석, 동적분석
기초분석도 악성코드를 실행시켜서 하는 형태가 아니기 때문에 정적분석 범위 안에 들어갈 수 있다.

 

정적 분석

  • 정적 분석악성코드를 실행하지 않고 악성코드의 코드와 리소스를 분석하는 방법이다. 코드 실행 없이 파일의 구조와 내용을 분석하여 악성코드가 어떻게 동작할지 예측한다.

정적 분석의 특징:

  • 파일의 해시 값, 문자열 패턴, 메타데이터 확인 가능: 파일의 고유한 해시 값을 통해 파일의 동일성 및 악성 여부를 확인할 수 있으며, 문자열 패턴을 분석해 악성 활동을 추정할 수 있다.
  • 비교적 안전: 악성코드를 실행하지 않기 때문에 비교적 안전하지만, 코드 자체가 위험 요소를 포함할 수 있어 혹시나 파일이 실행하는 경우가 발생할 수 있으므로 가상 환경에서 분석하는 것이 권장된다.
  • 난독화 대응 어려움: 악성코드가 난독화된 경우, 분석이 어려울 수 있다.

정적분석 방법

  • 해당 파일의 해시값 확인 후 원본 파일의 해시값과 비교하고 다르다면 변조된 것, 해시값을 Virustotal에 검색
  • 파일 패킹 여부 확인 및 PE 구조 확인을 한다.
  • 악성 코드가 사용하는 문자열 확인한다.
  • 리소스를 확인하여 악성 코드 실행 파일에 저장된 리소스 분석

동적 분석

  • 동적 분석은 악성코드를 실제로 실행하여 실행 전후의 상태를 분석하고, 악성코드의 실제 동작을 관찰하는 방법이다. 시스템 콜, 파일 수정, 네트워크 트래픽 등 실제로 실행되는 프로그램의 행동을 확인할 수 있다.

동적 분석의 특징:

  • 직관적인 분석: 실행 중인 악성코드가 시스템에서 어떤 동작을 하는지 명확하게 파악할 수 있다.
  • 가상 환경에서 분석: 악성코드를 직접 실행하기 때문에 반드시 가상 환경에서 진행해야 한다.
  • 반복 분석 필요: 악성코드는 환경에 따라 다르게 동작할 수 있어 2회 이상 분석을 통해 더 명확한 결과를 얻을 수 있다.

동적분석 방법

  1. Vmware 또는 VirtualBox 등 을 이용해 가상 샌드박스 환경을 구축한다.
  2. 의심스러운 파일을 관리자 권한으로 실행 후 생성되는 프로세스 확인
  3. 레지스트리 및 파일 변화 확인
  4. 패킷 캡쳐 툴로 네트워크 동작 확인

(미리 보는) 동적분석 Tool

  1. 프로세스 관련 Tool  - process explore
  2. 파일 및 레지스트리 관련 Tool - autoruns
  3. 네트워크 관련 Tool - wireshark

정적 분석과 동적 분석의 차이점

구분정적 분석동적 분석

분석 방법 악성코드 실행 없이 코드와 리소스를 분석 악성코드를 실행하여 실행 전후 상태를 분석
분석 대상 파일의 해시 값, 문자열, 메타데이터 분석 실행 후 시스템 콜, 파일 수정, 네트워크 트래픽 분석
분석 시간 비교적 빠름 실행 과정 모니터링으로 시간이 더 소요됨
위험성 비교적 안전하지만 가상 환경에서 진행 필요 악성코드 실행으로 시스템에 피해를 줄 수 있음
환경 의존성 실행 환경과 무관 실행 환경에 따라 다른 결과가 나올 수 있음
반복 분석 단일 분석 가능 2회 이상 반복 분석 필요

 

정적 분석과 동적 분석은 각각의 장단점이 있어, 보다 정확한 분석을 위해서는 두 방법을 병행하는 것이 좋다.

 

동적/정적 분석을 위한 Tool 조사 및 사용법

정적분석

  1. VirusTotal :
    • 백신에 따른 악성코드 확인과 해시값 조회를 통한 과거 검사 이력 확인을 할 수 있다.
    • 사용법: VirusTotal에 파일을 업로드하면, 여러 보안 엔진이 파일의 해시값을 통해 악성 여부를 분석한다.
  2. Exeinfo PE :
    • 해커들은 악성코드의 크기를 줄여 빠르게 유포하고 분석하기 어렵게 악성코드를 압호화 및 압축하는 패킹기법을 사용한다
    • PE 파일(옮겨 다니면서 실행시키는 파일) 분석 도구로, 파일의 패킹 여부와 파일의 구조를 분석한다.
    • 사용법: exe 파일을 프로그램에 드래그하면 패킹 유무 및 추가 정보를(어느 언어로 작성, 그립팅, 프로테틱 등) 확인할 수 있다.
    • PEiD도 비슷한 방식으로 사용되며 패킹 여부와 어떤 툴로 패킹을 하였는지 확인한다.
      내 컴퓨터에 있는 zoom.exe 파일을 분석해봤다.

  3. BinText :
    • 실행 파일 내에서 문자열을 나열하여, 중요한 정보를 찾는 도구이다.
    • 도메인 주소, ip주소, 실행파일, 명령어, 함수 등을 분석하여 악성코드와 관련된 정보가 있는지 확인한다.
    • 패킹이 되어있을 경우에는 제대로 된 정보가 나오지 않기 때문에 언패킹을 진행한 후에 사용해야 한다.
    • 사용법: 분석할 파일을 선택하고, 추출된 문자열을 통해 의심스러운 정보를 확인한다
      왼쪽이 문자열이다.

 

동적분석

  1. Process Explorer :
    • 시스템에서 실행 중인 모든 프로세스실시간으로 모니터링하는 도구이다.
    • 실행 중인 프로세스 파악 및 우선권 변경, 정지, 강제 종료등 조치 기능을 포함하고 있다.
    • 사용법: 실행한 후, 각 프로세스를 클릭하여 CPU, 메모리 사용량과 같은 상세 정보를 확인할 수 있다.
      실행중인 프로세스를 눌러보면 보이는 상세정보 창
  2. Autoruns :
    • 시스템 시작 시 자동으로 실행되는 모든 항목을 모니터링할 수 있는 도구이다. 악성코드의 지속성 유지 기법을 분석할 때 유용하다. 
    • 주의사항: 악성 코드 분석 시 어떤 부분이 변경되었는지 확인하기 위해 해당 악성 파일을 실행하기 전 스냅샷을 촬영하고 실행 후 스냅샷과 비교추천
  3. WireShark :
    • 네트워크 트래픽을 분석하는 도구로, 악성코드가 통신하는 서버나 전송되는 데이터를 모니터링할 수 있다.
    • 사용법: 네트워크 인터페이스를 선택하고 실시간 패킷을 캡처한 후 분석한다.

 

 

이러한 도구들을 활용하면 악성코드의 정적/동적 분석을 효과적으로 수행할 수 있다.

 

참고

악성코드 정적,동적분석 (velog.io)

악성 코드 정적 분석 ( 특징, 방법, 정적 분석 툴, 패킹, PE 구조) — Maker's security (tistory.com)

Wireshark란? / 설치법 :: hongPossible (tistory.com)

자세한 사용법 : 

정적 분석 Tool ( Exeinfo PE, PEiD ) 기능 및 사용 — Maker's security (tistory.com)

파일에 포함된 문자열 확인 툴 ( BinText, Strings ) 기능 및 사용법 — Maker's security (tistory.com)

프로세스 분석 툴 기능 및 사용법 ( Process Explorer, Process Monitor, System Explorer ) — Maker's security (tistory.com)

 

 

 

ppt

[12주차]악성코드 정적,동적분석.pptx
2.82MB

'Security > 보안관제' 카테고리의 다른 글

악성코드 샘플 분석  (0) 2024.11.03
정적, 동적 Tool 실습  (4) 2024.10.26
샘플 분석 환경 구성  (4) 2024.10.12
Virustotal  (0) 2024.09.19
보안관제란?  (3) 2024.09.05

VirusTotal - Home

 

VirusTotal

 

www.virustotal.com

 

1. VirusTotal의 기능

VirusTotal은 파일, URL, 도메인, IP 주소 등을 다양한 백신 엔진, 웹사이트 스캐너 및 도구들을 통해 분석하여 악성 여부를 판단해 주는 온라인 보안 서비스이다. 이 서비스는 다음과 같은 기능을 제공한다:

  • 파일 분석: 사용자가 업로드한 파일을 다수의 백신 엔진을 통해 분석하여 악성 여부를 판별.
  • URL 분석: 특정 웹사이트나 링크가 악성인지 검사하고 피싱, 멀웨어, 스팸 사이트 여부를 확인.
  • 도메인 및 IP 주소 분석: 도메인 이름이나 IP 주소에 대한 평판 정보 제공.
  • 악성코드 탐지 기록: 분석된 파일이나 URL의 과거 이력 및 탐지 기록을 확인 가능.
  • API 지원: VirusTotal API를 통해 자동화된 파일 분석 및 악성코드 탐지 기능을 구현할 수 있음.
  • 커뮤니티 기반 피드백: VirusTotal 커뮤니티의 사용자들이 제공하는 피드백과 평판 정보.

 

2. VirusTotal의 세부적인 사용 방법 (세부 내용 분석 및 활용 방안)

Virustotal은 사용법이 직관적으로 잘 표현이 되어 있어 쉽게 사용이 가능하다

  • 파일 업로드 분석:
    • 파일을 VirusTotal 웹사이트에 업로드하거나, API를 이용해 자동으로 분석할 수 있다.
    • 다수의 백신 엔진과 도구들이 해당 파일을 분석하고, 악성 여부를 결과로 제공한다.
    • 결과는 악성코드 탐지 여부(탐지된 엔진 수), 파일 해시값, 파일의 메타데이터 및 네트워크 연결 정보 등을 포함한다.

  • 파일탭에서 파일을 직접 업로드하여 악성 여부를 검사할 수 있다.

  1. 내 폴더에 있는 아무 파일을 집어 넣어서 검사해 본 결과 정상으로 결과가 나왔다.
  2. 좌측 상단에 0/64 동그라미는 64개의 백신 엔진들이(ex.안랩v3..) 검사하여 0개의 엔진이 해당 파일을 악성 코드로 탐지하였다는 결과이다.
  3. 아래에 여러 엔진들 이름과 'undetected'라고 적혀 있는 것은 해당 엔진이 정상 파일로 인식했다고 보면 된다.

 

출처:https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fckr2Ow%2FbtsIGkOf9LS%2FrJ0tUz6g7a2uE6qgiXur21%2Fimg.png

  • 이번에는 악성 코드 파일을 분석한 예시를 가져왔다.
  1. 이번에는 74개의 엔진에서 66개의 엔진이 악성코드를 감지했다.
  2. 안랩v3엔진은 트로이 목마를 감지한 것으로 본다.
  3. detail앱을 들어가면 더 자세히 내용을 알 수 있다.

 

출처:https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FxQAPo%2FbtsID4fte4F%2FNSdSuWESkPLoiLDDVOpczK%2Fimg.png

  • 디테일 탭을 들어왔을 때 화면이다.
  1. 다양한 해시 함수들로 해당 파일의 해시값을 확인 가능하다.( MD5, SHA-1, SHA-256 등과 같은 해시함수로 해당 파일의 해시값을 확인 할 수 있다.)
  2. history 메뉴에는 파일이 생성된 날짜, 처음 업로드 된 날짜, 마지막 업로드 된 날짜 등 확인이 가능하다
  3. Names 메뉴에서 해당 파일의 이름이 어떤 식으로 변경되어 왔는지도 확인이 된다.

 

  • URL 분석:
    • 웹사이트 링크를 입력하여 악성인지 확인한다.
    • 웹사이트가 멀웨어를 배포하거나, 피싱 목적으로 사용되는지 여부를 다수의 엔진을 통해 분석한다.
    • 악성 웹사이트로 확인될 경우, 해당 도메인 및 관련 IP 주소에 대한 정보가 함께 제공된다.

  1. 이번에는 파일이 아닌 웹사이트 링크를 시도 해봤는데 내 블로그로 검사해봤다.
  2. 문제 없이 0/96으로 나오는 걸 볼 수 있다.

 

  • 도메인 및 IP 주소 분석:
    • 도메인 또는 IP 주소를 입력하면 해당 주소의 신뢰도를 평가하고, 연결된 악성 활동 기록을 확인할 수 있다.
    • Whois 정보, 관련 도메인, 그리고 해당 IP 주소와의 관계를 파악하여 악성 활동 여부를 분석한다.

  • 위에 URL과 똑같은 방법으로 하면 된다.
  • Virus토탈은 방대한 데이터베이스를 가지고 있어서 이전에 검사한 파일의 경우 해시값을 입력해서 이전의 검사 기록을 확인 할 수 있다.

 

  • 주의사항
    • 바이러스 토탈에 업로드된 파일은 커뮤니티에 공개가 되기 때문에 기밀 또는 민감한 정보는 올리면 안된다.
    • 검사 결과를 맹신하지 말자! 
    • 파일을 압축하여 업로드할 경우 다양한 보안 제품에서 지원되지 않을 수 있음. => 압축하여 업로드 검사를 하고자 한다면 범용성이 있는 ZIP 파일 형식이 권장된다.
    • 검사 결과의 순서가 꼬일 수 있으므로 압축파일이 아닌 하나의 파일만 검사하는 것이 좋다

 

3. VirusTotal을 통한 분석 방법

악성코드 분석은 총 3가지 기초 분석, 정적 분석, 동적 분석으로 분류된다.

  • 기초 분석: 파일의 기본 정보와 메타데이터를 확인해 빠르게 의심 여부를 판단.
  • 정적 분석: 파일을 실행하지 않고 내부 코드와 구조를 분석해 악성 행위를 파악.
  • 동적 분석: 가상 환경에서 파일을 실행해 실제 동작과 악성 행위를 모니터링.

바이러스 토탈의 경우 기초 분석에 해당하며, 악성코드의 기초 정보를 확인한다.

  • 기초 정보 확인 후, 정적 분석, 동적 분석을 통해 해당 파일의 악성 여부를 판단해야 한다.
  • 바이러스 토탈의 결과를 맹신하지 않아야 하며 악성코드 분석 시 참고자료 정도로 생각하며 상세 분석을 한다.

참고

Virustotal 기능 및 사용법 / 악성코드 기초 분석 — IT-log (tistory.com)

Virustotal 기능 / Virustotal 사용법 / 악성 코드 기초 분석 / 바이러스 토탈 — Maker's security (tistory.com)

 

 

 

ppt

[11주차]virustotal.pptx
2.80MB

'Security > 보안관제' 카테고리의 다른 글

악성코드 샘플 분석  (0) 2024.11.03
정적, 동적 Tool 실습  (4) 2024.10.26
샘플 분석 환경 구성  (4) 2024.10.12
악성코드 정적, 동적분석  (0) 2024.09.27
보안관제란?  (3) 2024.09.05

보안관제란?

  • 보안관제는 기업이나 조직의 정보, 기술, IT 자산을 해킹이나 바이러스 등 사이버 공격으로부터 보호하기 위해 수행되는 지속적이고 체계적인 활동이다.
  • 보안관제의 주요 목표는 보안 위협을 실시간으로 탐지하고, 신속하게 대응하며, 장기적으로는 보안 사고를 예방하는 것이다.
  • 보안관제는 보안관제센터(SOC: Security Operations Center)에서 24시간 교대 근무 체제로 운영된다.

수행 원칙 3가지:

  • 무중단: 보안관제는 24시간 무중단으로 운영되어야 하며, 어떤 상황에서도 시스템의 가용성과 보안을 유지해야 한다.
  • 전문성: 보안관제는 고도로 전문화된 지식과 기술이 필요하다. 이를 위해 지속적인 교육과 훈련이 필수적이다.
  • 정보 공유: 보안 사고 발생 시, 관련된 모든 부서와 정보를 신속히 공유하여 공동 대응이 가능하도록 해야 한다.

출처:https://www.boannews.com/media/upFiles2/2023/08/925284394_241.jpg



보안관제 업무 절차

보안관제 업무 절차는 예방, 탐지, 대응, 보고, 공유 및 개선의 다섯 단계로 이루어진다.

  1. 예방 (Prevention):
    • 보안 위협을 사전에 차단하기 위한 조치를 취한다. 이는 보안 정책 수립, 취약점 점검 및 패치 적용, 사용자 교육, 방화벽 및 침입 방지 시스템 설정 등을 포함한다.
  2. 탐지 (Detection):
    • 실시간으로 네트워크 및 시스템 로그를 모니터링하여 보안 이벤트를 탐지하고, 이상 징후가 발견되면 즉시 분석하여 위협 여부를 판단한다.
  3. 대응 (Response):
    • 탐지된 위협에 대해 신속하게 대응한다. 공격이 확인된 경우, 시스템을 격리하거나 악성 코드를 제거하며, 네트워크 트래픽을 차단하는 등의 조치를 취한다.
  4. 보고 (Reporting):
    • 보안 사고와 대응 과정에 대해 상세한 보고서를 작성하여 내부적으로 공유하고, 필요 시 외부 관계자에게 보고한다.
  5. 공유 및 개선 (Sharing & Improvement):
    • 사고 이후, 관련 정보를 조직 내외부에 공유하고, 사고에서 얻은 교훈을 바탕으로 보안 정책과 절차를 개선한다. 추가적인 보안 테스트와 모의 훈련을 통해 보안 수준을 강화한다.

출처:https://cdn.prod.website-files.com/65f40252d97e8a476f9d7ad2/660ad15c4f965f687860e0dc_Control-tab02-img01.webp

 

보안관제의 유형 및 특징

보안관제는 주로 온프레미스클라우드 두 가지 환경에서 이루어지며, 각각의 환경에 따라 여러 유형으로 나뉜다.

온프레미스(On-Premise)

온프레미스 보안관제는 조직의 물리적인 인프라 내부에서 이루어지며, 다음과 같은 유형으로 구분된다:

  1. 원격관제 (Remote Monitoring):
    • 보안관제센터에서 원격으로 고객사의 IT 자산을 모니터링하고, 보안 이벤트를 탐지하고 대응한다. 이 방식은 고객사의 현장에 보안 전문가가 상주하지 않아도 되며, 경제적으로 효율적일 수 있다.
  2. 파견관제 (Onsite Monitoring):
    • 보안 전문가가 직접 고객사에 파견되어 현장에서 보안관제를 수행한다. 파견관제는 고객사의 특수한 요구나 민감한 데이터를 다루는 경우에 유용하며, 현장 상황에 대한 즉각적인 대응이 가능하다.
  3. 자체관제 (In-House Monitoring):
    • 고객사가 자체적으로 보안관제센터(SOC)를 구축하고 운영한다. 자체관제는 조직 내부에서 모든 보안 작업을 수행하며, 보안에 대한 완전한 통제를 제공한다. 그러나 높은 비용과 운영의 복잡성이 동반될 수 있다.

클라우드(Cloud)

클라우드 보안관제는 클라우드 인프라에 대한 보안을 관리하는 서비스이다. 클라우드 환경은 유연성과 확장성이 뛰어나지만, 그만큼 새로운 보안 위협이 존재할 수 있다. 클라우드 보안관제는 다음과 같은 특징을 가진다:

  1. 클라우드 관제 (Cloud Monitoring):
    • 클라우드 서비스 제공자가 제공하는 보안 도구와 서비스(예: AWS CloudTrail, Azure Security Center)를 통해 클라우드 환경의 보안을 모니터링하고, 위협을 탐지 및 대응한다. 클라우드 관제는 원격에서 이루어지며, 클라우드 자원의 동적인 특성에 맞춰 보안 정책을 적용하고 관리한다.

 

*원격 관제클라우드 관제의 차이점

  1. 공통점
    • 두 관제 방식 모두 원격으로 시스템을 모니터링한다는 점에서는 동일하다.
  2. 온프레미스(물리적 환경) vs 클라우드(가상 환경) 차이
    • 온프레미스: 물리적 환경에 기반하여 장비를 설치하고 운영하며, 추가로 구축할 경우 장비를 별도로 구입하고 설치하는 시간이 소요된다. 또한, 하드웨어 호환성 문제나 설치 공간, 전산센터 보안을 위한 보안요원이나 CCTV 등 물리적 요소를 고려해야 한다.
    • 클라우드: 가상 환경에서 장비를 실시간으로 생성, 삭제, 변경할 수 있으며, 이를 통해 보다 유연한 오케스트레이션이 가능하다. 클라우드에서는 물리적 장비 설치와 관련된 문제가 발생하지 않으며, 물리적 보안 요건도 온프레미스보다 간소화된다.
    • (오케스트레이션이란 IT 환경에서 여러 개의 시스템, 소프트웨어, 서비스 등을 자동으로 관리하고 조정하는 것을 의미한다. )
  3. 클라우드의 이점
    • 유연성: 필요할 때마다 실시간으로 리소스를 확장하거나 축소할 수 있어 관리가 더 효율적이다.
    • 비용 절감: 물리적 장비를 구입하고 유지보수하는 비용을 절감할 수 있다.
    • 보안 관리: 물리적 보안 요소가 줄어들어 관리할 부분이 간소화된다.

 

보안관제 업무 시 활용하는 웹 페이지에 대해 조사

보안관제 업무에서는 다양한 웹 페이지와 툴을 활용하여 위협을 탐지하고 분석한다. 몇 가지 주요 페이지 및 툴은 다음과 같다:

  • KISA Whois(한국인터넷진흥원 후이즈): 한국 인터넷 진흥원에서 제공하는 Whois 서비스, 국내의 IP 검색을 할 때 유용하다( KISA 후이즈검색 whois.kisa.or.kr (xn--c79as89aj0e29b77z.xn--3e0b707e) )
  • Ipconfig(아이피컨피그): KISA Whois에서 찾지 못하는 해외 IP주소를 찾을 수 있다
  • Virustotal(바이러스토 토탈): 구글의 자회사로 파일의 해시값 또는 URL로 바이러스, 웜, 트라이목마 등을 검사해주는 사이트 -> 검사시 해당 파일 검사결과를 공유하게 되기 때문에 개인정보나 기밀사항 등을 검사할 경우 정보가 노출되니 주의해야 한다(https://xn--c79as89aj0e29b77z.xn--3e0b707e/)
  • Zone-h: 해커들이 웹 해킹한 사이트를 과시하기 위해 올리는 사이트-> 사이버 해킹 피해를 검색하기 위해 확인하는 사이트로 사용될 수 있다( Zone-H.org - Unrestricted information )
  • Mozilla Observatory(모질라): 웹페이지의 보안을 시험해주고 보안 취약점과 개선점 등을 파악하여 보고서를 만들어주는 사이트(Mozilla Observatory )
  • Shodan: 인터넷에 연결된 기기를 검색할 수 있는 엔진으로, 특정 IP 대역이나 포트에서 실행 중인 서비스를 탐지하여 취약한 장비를 확인할 수 있다.( Shodan Search Engine )
  • CVE (Common Vulnerabilities and Exposures): 공개된 소프트웨어의 보안 취약점을 모아 놓은 데이터베이스로, 특정 시스템이나 소프트웨어의 취약점을 확인하고 대응책을 마련하는 데 도움을 준다.( CVE Website )
  • Wireshark: 네트워크 프로토콜 분석 도구로, 네트워크 트래픽을 캡처하고 분석하여 이상 징후를 발견할 수 있다.( Wireshark · Go Deep )

*PPT

[10주차]보안관제.pptx
3.63MB

 

 

출처

https://maker5587.tistory.com/11

Zero Trust 다양한 IT정보와 보안 이야기 (tistory.com)

‘보안관제’에 관한 모든 것 : 네이버 블로그 (naver.com)

 

'Security > 보안관제' 카테고리의 다른 글

악성코드 샘플 분석  (0) 2024.11.03
정적, 동적 Tool 실습  (4) 2024.10.26
샘플 분석 환경 구성  (4) 2024.10.12
악성코드 정적, 동적분석  (0) 2024.09.27
Virustotal  (0) 2024.09.19

+ Recent posts