본문 바로가기

악성코드 분석

악성코드란..??

반응형

이번 카테고리에서는 악성코드란 무엇인지 살펴보고 악성코드를 분석하는 방법에 대해 알아보도록 할께

최근에 악성코드로 인한 기업들의 피해 사례가 정말 많이 일어나고 있는데......

 

https://www.boannews.com/media/view.asp?idx=107696 

 

2022년 상반기 ‘가상자산’ 노린 사이버 공격 급증했다

2022년 상반기에 가장 많이 발생한 사이버 위협은 가상자산을 노린 금융권 대상 공격인 것으로 조사됐다. 라이프 케어 플랫폼 SK쉴더스(대표 박진효)가 2022년 상반기 주요 보안 트렌드 및 사이버

www.boannews.com

 

올해 상반기에만 해도 악성코드로 인해 기업들의 자산이 위협받고 있는 사례들이 계속해서 나오고 있어

가장 대표적인 예가 바로 ransomware지...!! 

타겟이 된 pc의 파일들을 암호화하고 이에 대한 대가로 몸값을 요구하는 공격이 ransomware

아무튼...!! 이번 카테고리에서는 악성코드들을 직접 분석해보는 시간을 가져보려고 해

이제 악성코드 분석 방법에 대해서 알아보도록 하자~

 

 

 

 

1. 악성코드 분석 : 악성코드를 해부하는 기술

주로 signature라는 문자를 통해서 악성코드를 구별해
코드상의 글자, 라이브러리 함수, DLL 파일 등등...... signature가 될 수 있지
그리고 주로 악성코드는 백신 개발할 때 많이 사용하고 있어

 

 

- 악성코드의 실행 기반 


host 기반: 피해 pc 내의 시스템 상에서 돌아가는 기반
network 기반: ip나 network와 관련된 트래픽 모니터링 기반

 


- 분석 순서


1. 기초 정적분석파일을 실행하지 않고 파일내부를 조사하는 분석, 라이브러리, 구조 파악
을 통한 어느정도 예측이 가능할 때 분석하는 방식

2. 기초 동적분석실제로 파일을 실행한 후 흔적들을 제거하고 signature들을 직접적으로
보는 방식 

3. 고급 정적분석: 좀 더 코드에 깊숙이 분석에서 디스어셈블러로 로드하여 악성코드 내부를 
역공하는 방식 --> 리버싱 기술 (IDA를 이때 사용하는거야..!!)

4. 고급 동적분석: 직접 디버거를 통해 어떤 라이브러리들이 동작하고 있는지 확인하는 방식


 



-악성코드 유형

1. 백도어
공격자의 접근을 허용할 목적으로 컴퓨터 자기자신에게 설치
부분 인증이나 무인증으로 로컬 시스템에서 명령 후, 실행한다.

2.RAT 

원격 관리도구 (Remote Admin Tool) 원격에 있는 컴퓨터를 제어하는 공격
즉, 일종의 표적공격이라고 볼 수 있다..!

3.Botnet
공격자가 시스템에 접속할 수 있어 백도어랑 비슷하다...
botnet에 감염되면 이를 제어하는C&C라는 서버에서 명령어를 내리면 
다 똑같은 명령을 실행하도록 한다.

 


여기서 잠깐~!!! 

--> DoS와 DDoS 차이를 알고 계시나요..??


DoS는 단순한 service 거부 공격이지만, 하나의 컴퓨터가 다른 하나의 컴퓨터를 직접적으로
공격하는 방식이야..!!
DDoS는 이 servie 거부 공격을 분산시켜서 

단순히 한명의 공격자로 인해 이 공격이이뤄지는 것이 아닌 

좀비 pc들을 통해서 하나의 host를공격하는 방식이지

이 때 사용하는 것이 C&C server와 botnet이야 

이 둘은 자주 사용되는 용어니까 잘 알아두도록..!!

 

여기서 발전된 공격 == DrDoS
DrDoS는 기본적으로 spoofing을 한 상태에서 공격을 시도하고 

여러가지 reflected server 들을 거쳐서 공격을 하다보니까 공격자 추적은 불가능에 가까워

몇 년전에도 DrDoS 공격으로 인한 피해사례들이 종종 있었지...!!

 

 

--> botnet과 RAT의 차이
RAT는 표적공격목적
botnet은 다수의 host들을 감염

botnet = 대량 공격 ////  RAT = 표적 공격



4.netcat과 reverse shell
nc --> reverse shell을 원격으로 제어할 수 있도록하는 명령어
공격자는 nc나 다른 악성코드에 포함되어있는 패키지를 사용해 명령을 활성시킨다.
metatsploit == reverse shell 응용방법


5.downloader
파일 안에 숨겨진 파일인데
정상적인 다운로더가 설치되지만 여기에 악성코드를 실어온다.
즉, 다운로더 자체가 악성코드는 아니지만, 안에 있는 리소스가 안전한지 알 수 없다..!
실행을 하게되면 여러개의 파일이 설치하게 되거나, 생성되도록 하는 파일


6. 정보유출 악성코드(information-stealing malware)
컴퓨터에서 정보를 수집해서 공격자에게 전송하는 악성코드
스니퍼, 패스워드 해시 수집, 키로거 등등


7. rootkit = (권한획득 공격)
다른 코드내에서 자신의 존재를 숨기는데
백도와 같이 쓰여 공격자의 원격접속을 허용시키고 
피해자가 코드를 탐지하기 어렵게 만든다. --> setuid를 통한 권한상승 공격을 진행


8. worm/virus
요새는 바이러스 축에도 못 낌......
자기 자신을 복제해 추가로 컴퓨터를 감염시킨다.

 

 

 



악성코드 분석전 알고 갈 것..!!!


1. 너무 깊이 파고들지 말자! 모든 세부사항보다 주요 특징에 초점을 두자!
즉, 어떤 행위가 이뤄지고 있는지를 알아봐야한다.


2. 작업할 때 여러가지 도구와 접근방식이 존재한다. 이를 잘 활용해보도록 하자!


3. 항상 바뀌지만 원리는 바뀌지 않는다! 구조 파악에 집중하도록 하자!

 

다음 시간부터는 PE 분석 방법을 배워보도록 할께...!! 

 

 

반응형

'악성코드 분석' 카테고리의 다른 글

LAB1-2 (악성코드분석)  (1) 2023.01.12
PE 분석(2)  (0) 2023.01.12
PE 분석  (0) 2022.11.02
Key Logger 분석  (0) 2022.08.04
동적분석 (LAB 3-1)  (0) 2022.08.01