SlideShare ist ein Scribd-Unternehmen logo
1 von 41
Downloaden Sie, um offline zu lesen
1
악성코드 기술관련 발표자료
악성코드 대응을 위한 사이버 게놈 기술
By Seungdols
출처 : 악성코드 대응을 위한 사이버 게놈 기술 동향
ETRI – 김종현, 김현주, 김익균 연구원
INDEX
2
1. 악성코드 대응 기술
2. 기존 대응 기술의 한계
3. 사이버 게놈 기술
4. 질의응답
3
악성코드(Malicious Code)?
악성 코드? 나쁜 코드?
도대체 어떤 녀석인지?!
알아보자.
4
악성코드(Malicious Code)
악성 소프트웨어(Malicious Software)
본래 명칭은 악성 코드가 아닌,
악성 소프트웨어가 맞습니다.
5
악성 소프트웨어의 종류?
6
바이러스 (Virus)
다른 대상을 감염시키는 형태로 실행되는 프로그램으로
대상이 존재하지 않으면 실행이 되지 않고
감염 파일에서 대상 파일로는 자가 복제를 수행하지만
네트워크를 통한 전파는 이루어지지 못한다.
7
웜 ( Worm )
감염 대상이 없어도 실행이 가능하며, 네트워크를 통한 전파가 가능하다.
모리스 웜이란 사람이 석사시절, 인터넷의 크기를 알고자
취약점을 이용해 제작한 것으로 알려져 있다.
8
트로이 목마(Trojan)
정상 파일을 가장하거나, 정상 파일 내에 삽입 된 상태로
실행 되는 것이 특징이자, 주요 목적은 사용자의 PC를 공격자에게
정보를 전달하기 위해 사용 된다.
9
백도어 ( Backdoor )
지속적으로 침입하기 위해서
시스템 내부에 문을 열어 두는 것을 말하며, 언제든지 침투가 가능하게 만들어 준다.
10
애드웨어 ( Adware )
광고프로그램으로 악의적인 행위는 하지 않으나, 브라우저를 실행 시키면
무조건 특정 광고사 페이지로 이동시키는 행동을 한다.
* 요즘은 백도어/트로이 목마를 설치하기도 한다.
11
악성 봇 ( Malicious Bot )
스스로 실행하지는 못하나, 공격자가 명령을 내리면
실행 및 제어(C&C)가 가능한 프로그램이다.
흔히 말하는 좀비PC가 악성 봇에 시스템이 감염 된 PC를 말한다.
공격자는 C&C서버를 이용하여 실행/제어를 한다.
12
악성 소프트웨어를 대응하는 기술은 ??
13
악성코드 대응 기술
14
악성코드 대응 기술
정적분석동적분석
15
악성코드 대응 기술
동적분석
분석 환경 내에서 악성 소프트웨어를
실행시킴으로 수행되는 행위를
실시간으로 모니터링하고, 추적하는 방법
16
악성코드 대응 기술
악성 소프트웨어를 실행하지 않고,
프로그램 구성 요소들의 연관성 및 호출 관계 등을
분석함으로 악성 소프트웨어의 구조와 삽입된
DDL(Dynamic Link Library)등을 파악하는 방법
정적분석
17
기존 대응 기술의 한계
18
기존 대응 기술의 한계
• 난독화
코드 난독화란 프로그램 코드의 일부 혹은 전체를 변경하는 방법으로,
프로그래밍 언어로 작성된 코드의 가독성을 떨어뜨려 분석을 어렵게 만든다.
소프트웨어를 분석하려는 역공학에 대한 대비책으로 프로그램에서
사용되는 주요 알고리즘, 아이디어를 숨기기 위해 사용한다.
19
기존 대응 기술의 한계
• 난독화
• 패킹(Packing)
Portable executable (PE)형식으로 배포되는 프로그램들을
자신의 프로그램이 역공학을 할 수 없도록 만들거나, 용량을 줄이기 위해 사용하는 방식이다.
다중 패킹/ 자체 제작 패킹툴을 사용 할 경우 ,
정적분석 기술을 우회하거나 분석을 할 수 없게끔 만든다.
20
기존 대응 기술의 한계
• 난독화
• 패킹(Packing)
• 안티 디버깅(Anti-Debuging)
악성 소프트웨어를 분석하는 방식으로 디버깅을 사용하는데,
악성 소프트웨어들은 백신 프로그램이 자신을 분석하는 것을 막기 위해
디버깅이 수행 될 때 이를 탐지하여 다른 행위를 하거나
디버깅 동작을 종료시킨다.
21
기존 대응 기술의 한계
• 난독화
• 패킹(Packing)
• 안티 디버깅(Anti-Debuging)
• 안티 가상화(Anti-Virtualization)
가상 머신 환경에서의 악성 소프트웨어 분석기술을 우회하는 방법으로
가상 머신 환경을 구축함으로 나타나는 특징을 탐색하여
악성코드가 수행할 시스템이 가상 머신 환경인지 판단하여 실행을 하지 않는다.
가상 환경을 탐지하는 방법은 프로세스, 파일 시스템, 레지스트리 요소 탐지,메모리 요소 탐지,
가상 하드웨어 주변 장치를 탐지하는 방법이 있다.
22
기존 대응 기술의 한계
• 난독화
• 패킹(Packing)
• 안티 디버깅(Anti-Debuging)
• 안티 가상화(Anti-Virtualization)
• 스케줄링(Scheduling)
자동화된 악성 소프트웨어 탐지 기술을 회피하기 위하여 웹사이트 방문 시
특정 시간 이후에 악성 소프트웨어가 실행되게 하여 자동화된 악성 소프트웨어 수집 프로그램인
Client Honeypot과 Crawler을 우회한다.
23
기존 대응 기술의 한계
• 악성 코드 대량 삽입
웹사이트에 악성 소프트웨어가 삽입되는 경우는 대부분 SQL Injection 공격으로 인해 발생한다.
데이터 베이스 문자 자료형 컬럼에 악성 소프트웨어 유포지의 주소를 삽입하여
대량의 악성 소프트웨어를 유포하는 기술을 사용한다.
24
기존 대응 기술의 한계
• 악성 코드 대량 삽입
• 악성 코드의 모듈화
최근 악성 소프트웨어 유포자들은 악성 행위 별로 모듈화하여 유포하여,
특정 모듈에 감염 되는 즉시 다른 모듈을 다운로드 하는 방식을 도입.
25
기존 대응 기술의 한계
• 악성 코드 대량 삽입
• 악성 코드의 모듈화
• 악성 코드의 은닉화
악성 코드를 은닉시키는 대표적인 기법은 루트킷이라 한다.
은닉화 방법으로는 Hooking, 시스템 프로그램의 변조, 커널 데이터 조작,
디바이스 드라이버 사용, 레지스터 변조, 콜백 함수 사용 등이 있다.
백신 프로그램 또한 시스템 서비스를 사용하기에 탐지하기가 어렵다.
26
사이버 게놈 기술
27
사이버 게놈 기술 개념
인간 게놈 프로젝트는 DNA의 모든 염기서열을 밝혀 내기 위한 연구이다.
이 것을 사이버 세상에 존재하는 악성 코드에 적용한 방법이다.
28
사이버 게놈 기술 개념
Digital DNA 기술
악성코드 및 사이버 공격의 배후와 공격 루트를 밝히는데 목적을 가지며,
악성 코드의 특징과 코드를 상세히 분석하는 방법이다.
29
사이버 게놈 기술 개념
Digital DNA 기술
악성코드의 특징별로 분류하여, 유사한 사건 발생시
악성 코드 제작자, 크래커집단, 유포지, 공격지, 공격목적 등을 빠르게 추정 가능하며,
APT(Advanced Persistent Threat) 공격의 사전 대응에도 활용 될 수 있다.
30
사이버 게놈 기술 개념
APT( Advanced Persistent Threat )
지능형 지속 공격으로 공격 루트, 공격 기법을 지속적으로 변경하며,
목표한 공격 대상을 무력화 시키는 방법이다.
31
사이버 게놈 분석의 주요 기술
악성코드 API 시퀀스 추출
IAT(Import Address Table)
PE 파일 분석을 통해 Import AddressTable(IAT)를
찾고 IAT로부터 포함된 API리스트를 추출하는 방법
바이너리 실행 파일 자체에서 추출하는 방법
32
사이버 게놈 분석의 주요 기술
악성코드 API 시퀀스 추출
프로그램 작동 중 호출되는 인터럽트를 Hooking하여 호
출되는 API를 기록하는 방법으로 주로 Native API에 대한
정보를 얻기 위해 사용된다.
커널 Hooking에는 System Service Descriptor
Table(SSDT)/Interrupt Descriptor Table(IDT)이 존재함.
프로그램 동작 중 호출되는 API를 후킹 하는 방법
IAT(Import Address Table)
33
사이버 게놈 분석의 주요 기술
API 기반의 악성코드 특성인자 추출
White List
악성코드가 아닌 정상적인 프로그램으로부터 자주 포함되는 API의 리스트를 DLL 별로
저장하여 화이트리스트(White List)를 생성.
악성코드 샘플을 실행한 후 추출된 API 리스트에서 화이트리스트의 API를 제거하게 되면
악성코드만이 갖는 고유 특성인자를 추출이 가능.
34
사이버 게놈 분석의 주요 기술
서열 정렬(Sequence Alignment)
A C G T A C G
T C G A A C C
A G T A C A
A C G A G G G
서열 정렬(sequence alignment)은 일반적으로 Bioinformatics 분야에서 두 개 혹은
그 이상의 서열 들의 유사도 값을 측정하거나 유사 구간의 관계성을 찾기 위해 사용되는 기법.
35
사이버 게놈 분석의 주요 기술
서열 정렬(Sequence Alignment)
A C G T A C G
T C G A A C C
A G T A C A
A C G A G G G
본래 서열과 가장 유사한 서열은 무엇인가?
“정량적인 기준” 필요
36
사이버 게놈 분석의 주요 기술
비교할 두 가지의 서열에 있는 모든
글자를 최대한 맞춤.
길이가 대개 비슷하고, 전체적으로
유사성이 높은 서열 간 적합
서열의 일부분을 최대한 맞춤.
길이가 서로 상이하고, 서열의 일부분에서
유사성이 나타나는 서열 간 적합
Local AlignmentGrobal Alignment
Needleman-Wunsch Algorithm Smith-Waterman Algorithm
37
사이버 게놈 분석의 주요 기술
악성코드 유사도 분석
LCS(Longest Common Subsequence)
Pairwise Alignment
최근 BioInfomatics 분야에서 동적 프로그래밍을 이용한 Pairwise Alignment와 Longest
Common Subsequence(LCS) 알고리즘을 이용하여 두 서열간의 유사도 분석을 하는데,
사이버게놈 기술에서도 이와 유사한 접근 방법을 활용 중이다.
* LCS는 두 문자열에서 공통으로 존재 하는 가장 긴 서열을 찾는 알고리즘.
38
사이버 게놈 분석의 주요 동향
Invincea - Cynomix
샌드박스에서 악성 코드를 실행한 후 Process Monitor 툴을 이용하여,
악성코드의 시스템 API 호출 로그를 추출 후 의미 있는 API 서열을 추출하기 위해
마코프 체인 알고리즘을 사용한다.
39
사이버 게놈 분석의 주요 동향
HBGary – Digital DNA
시스템 메모리상에서 실행되는 프로세스의 행위를 분석하여 악성 코드를 탐지하고, 리포팅한다.
정적 분석과 동적 분석을 통하여 프로세스 행위의 취약성을 발견하고, 해당 프로세스의 악성 여부
를 판단한 후 취약성 내용을 Digitla DNA로 변환하는 작업을 하는 제품.
40
질의 응답
단, 저는 아는 것만 대답합니다.
THANK YOU!!!
41

Weitere ähnliche Inhalte

Was ist angesagt?

SonarQube와 함께하는 소프트웨어 품질 세미나 - SonarQube 소개
SonarQube와 함께하는 소프트웨어 품질 세미나 - SonarQube 소개SonarQube와 함께하는 소프트웨어 품질 세미나 - SonarQube 소개
SonarQube와 함께하는 소프트웨어 품질 세미나 - SonarQube 소개CURVC Corp
 
[부스트캠프 Tech Talk] 진명훈_datasets로 협업하기
[부스트캠프 Tech Talk] 진명훈_datasets로 협업하기[부스트캠프 Tech Talk] 진명훈_datasets로 협업하기
[부스트캠프 Tech Talk] 진명훈_datasets로 협업하기CONNECT FOUNDATION
 
게임 애셋 스트리밍 패치
게임 애셋 스트리밍 패치게임 애셋 스트리밍 패치
게임 애셋 스트리밍 패치Seungjae Lee
 
The hitchhiker’s guide to Prometheus
The hitchhiker’s guide to PrometheusThe hitchhiker’s guide to Prometheus
The hitchhiker’s guide to PrometheusBol.com Techlab
 
[2D1]Elasticsearch 성능 최적화
[2D1]Elasticsearch 성능 최적화[2D1]Elasticsearch 성능 최적화
[2D1]Elasticsearch 성능 최적화NAVER D2
 
딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)
딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)
딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)WON JOON YOO
 
Kakao Cloud Native Platform, 9rum
Kakao Cloud Native Platform, 9rumKakao Cloud Native Platform, 9rum
Kakao Cloud Native Platform, 9rumif kakao
 
Selenium을 이용한 동적 사이트 크롤러 만들기
Selenium을 이용한 동적 사이트 크롤러 만들기Selenium을 이용한 동적 사이트 크롤러 만들기
Selenium을 이용한 동적 사이트 크롤러 만들기Gyuhyeon Jeon
 
Machine Learning Model Serving with Backend.AI
Machine Learning Model Serving with Backend.AIMachine Learning Model Serving with Backend.AI
Machine Learning Model Serving with Backend.AIJeongkyu Shin
 
Stay ahead of the Threats: Automate and Simplify SecOps to revolutionize the SOC
Stay ahead of the Threats: Automate and Simplify SecOps to revolutionize the SOCStay ahead of the Threats: Automate and Simplify SecOps to revolutionize the SOC
Stay ahead of the Threats: Automate and Simplify SecOps to revolutionize the SOCCristian Garcia G.
 
Intro to Deep Learning for Computer Vision
Intro to Deep Learning for Computer VisionIntro to Deep Learning for Computer Vision
Intro to Deep Learning for Computer VisionChristoph Körner
 
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개if kakao
 
정보보호통합플랫폼 기술 트렌드
정보보호통합플랫폼 기술 트렌드정보보호통합플랫폼 기술 트렌드
정보보호통합플랫폼 기술 트렌드Logpresso
 
Deep Learning in Computer Vision
Deep Learning in Computer VisionDeep Learning in Computer Vision
Deep Learning in Computer VisionSungjoon Choi
 
1. 아키텍쳐 설계 프로세스
1. 아키텍쳐 설계 프로세스1. 아키텍쳐 설계 프로세스
1. 아키텍쳐 설계 프로세스Terry Cho
 
4. 대용량 아키텍쳐 설계 패턴
4. 대용량 아키텍쳐 설계 패턴4. 대용량 아키텍쳐 설계 패턴
4. 대용량 아키텍쳐 설계 패턴Terry Cho
 
[D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint
[D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint [D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint
[D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint NAVER D2
 
Image Object Detection Pipeline
Image Object Detection PipelineImage Object Detection Pipeline
Image Object Detection PipelineAbhinav Dadhich
 
자동화된 소스 분석, 처리, 검증을 통한 소스의 불필요한 #if - #endif 제거하기 NDC2012
자동화된 소스 분석, 처리, 검증을 통한 소스의 불필요한 #if - #endif 제거하기 NDC2012자동화된 소스 분석, 처리, 검증을 통한 소스의 불필요한 #if - #endif 제거하기 NDC2012
자동화된 소스 분석, 처리, 검증을 통한 소스의 불필요한 #if - #endif 제거하기 NDC2012Esun Kim
 
Automated Malware Analysis and Cyber Security Intelligence
Automated Malware Analysis and Cyber Security IntelligenceAutomated Malware Analysis and Cyber Security Intelligence
Automated Malware Analysis and Cyber Security IntelligenceJason Choi
 

Was ist angesagt? (20)

SonarQube와 함께하는 소프트웨어 품질 세미나 - SonarQube 소개
SonarQube와 함께하는 소프트웨어 품질 세미나 - SonarQube 소개SonarQube와 함께하는 소프트웨어 품질 세미나 - SonarQube 소개
SonarQube와 함께하는 소프트웨어 품질 세미나 - SonarQube 소개
 
[부스트캠프 Tech Talk] 진명훈_datasets로 협업하기
[부스트캠프 Tech Talk] 진명훈_datasets로 협업하기[부스트캠프 Tech Talk] 진명훈_datasets로 협업하기
[부스트캠프 Tech Talk] 진명훈_datasets로 협업하기
 
게임 애셋 스트리밍 패치
게임 애셋 스트리밍 패치게임 애셋 스트리밍 패치
게임 애셋 스트리밍 패치
 
The hitchhiker’s guide to Prometheus
The hitchhiker’s guide to PrometheusThe hitchhiker’s guide to Prometheus
The hitchhiker’s guide to Prometheus
 
[2D1]Elasticsearch 성능 최적화
[2D1]Elasticsearch 성능 최적화[2D1]Elasticsearch 성능 최적화
[2D1]Elasticsearch 성능 최적화
 
딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)
딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)
딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)
 
Kakao Cloud Native Platform, 9rum
Kakao Cloud Native Platform, 9rumKakao Cloud Native Platform, 9rum
Kakao Cloud Native Platform, 9rum
 
Selenium을 이용한 동적 사이트 크롤러 만들기
Selenium을 이용한 동적 사이트 크롤러 만들기Selenium을 이용한 동적 사이트 크롤러 만들기
Selenium을 이용한 동적 사이트 크롤러 만들기
 
Machine Learning Model Serving with Backend.AI
Machine Learning Model Serving with Backend.AIMachine Learning Model Serving with Backend.AI
Machine Learning Model Serving with Backend.AI
 
Stay ahead of the Threats: Automate and Simplify SecOps to revolutionize the SOC
Stay ahead of the Threats: Automate and Simplify SecOps to revolutionize the SOCStay ahead of the Threats: Automate and Simplify SecOps to revolutionize the SOC
Stay ahead of the Threats: Automate and Simplify SecOps to revolutionize the SOC
 
Intro to Deep Learning for Computer Vision
Intro to Deep Learning for Computer VisionIntro to Deep Learning for Computer Vision
Intro to Deep Learning for Computer Vision
 
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개
 
정보보호통합플랫폼 기술 트렌드
정보보호통합플랫폼 기술 트렌드정보보호통합플랫폼 기술 트렌드
정보보호통합플랫폼 기술 트렌드
 
Deep Learning in Computer Vision
Deep Learning in Computer VisionDeep Learning in Computer Vision
Deep Learning in Computer Vision
 
1. 아키텍쳐 설계 프로세스
1. 아키텍쳐 설계 프로세스1. 아키텍쳐 설계 프로세스
1. 아키텍쳐 설계 프로세스
 
4. 대용량 아키텍쳐 설계 패턴
4. 대용량 아키텍쳐 설계 패턴4. 대용량 아키텍쳐 설계 패턴
4. 대용량 아키텍쳐 설계 패턴
 
[D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint
[D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint [D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint
[D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint
 
Image Object Detection Pipeline
Image Object Detection PipelineImage Object Detection Pipeline
Image Object Detection Pipeline
 
자동화된 소스 분석, 처리, 검증을 통한 소스의 불필요한 #if - #endif 제거하기 NDC2012
자동화된 소스 분석, 처리, 검증을 통한 소스의 불필요한 #if - #endif 제거하기 NDC2012자동화된 소스 분석, 처리, 검증을 통한 소스의 불필요한 #if - #endif 제거하기 NDC2012
자동화된 소스 분석, 처리, 검증을 통한 소스의 불필요한 #if - #endif 제거하기 NDC2012
 
Automated Malware Analysis and Cyber Security Intelligence
Automated Malware Analysis and Cyber Security IntelligenceAutomated Malware Analysis and Cyber Security Intelligence
Automated Malware Analysis and Cyber Security Intelligence
 

Ähnlich wie 악성코드 개념 및 대응 기술 (사이버 게놈 기술)

보안 위협 형태와 악성코드 분석 기법
보안 위협 형태와 악성코드 분석 기법보안 위협 형태와 악성코드 분석 기법
보안 위협 형태와 악성코드 분석 기법Youngjun Chang
 
보안 위협과 악성코드 분석 기법
보안 위협과 악성코드 분석 기법보안 위협과 악성코드 분석 기법
보안 위협과 악성코드 분석 기법Youngjun Chang
 
Netsec-kr 2013 발표자료 - 악성코드 유사도 분석 기술 동향 (김휘강)
Netsec-kr 2013 발표자료 - 악성코드 유사도 분석 기술 동향 (김휘강)Netsec-kr 2013 발표자료 - 악성코드 유사도 분석 기술 동향 (김휘강)
Netsec-kr 2013 발표자료 - 악성코드 유사도 분석 기술 동향 (김휘강)Korea University
 
보안 위협과 악성코드 분석 기법
보안 위협과 악성코드 분석 기법보안 위협과 악성코드 분석 기법
보안 위협과 악성코드 분석 기법Youngjun Chang
 
보안 위협과 악성코드 분석 기법
보안 위협과 악성코드 분석 기법보안 위협과 악성코드 분석 기법
보안 위협과 악성코드 분석 기법Youngjun Chang
 
악성코드 자동화 분석을 통한 인텔리전스(쿡쿠 샌드박스)
악성코드 자동화 분석을 통한 인텔리전스(쿡쿠 샌드박스)악성코드 자동화 분석을 통한 인텔리전스(쿡쿠 샌드박스)
악성코드 자동화 분석을 통한 인텔리전스(쿡쿠 샌드박스)FNGS Labs
 
백신 프로그램의 원리와 동작 차민석 20151117_security plus 발표판
백신 프로그램의 원리와 동작 차민석 20151117_security plus 발표판백신 프로그램의 원리와 동작 차민석 20151117_security plus 발표판
백신 프로그램의 원리와 동작 차민석 20151117_security plus 발표판Minseok(Jacky) Cha
 
[NDC07] 게임 개발에서의 클라이언트 보안 - 송창규
[NDC07] 게임 개발에서의 클라이언트 보안 - 송창규[NDC07] 게임 개발에서의 클라이언트 보안 - 송창규
[NDC07] 게임 개발에서의 클라이언트 보안 - 송창규ChangKyu Song
 
안드로이드 악성코드의 철학적_연구_padocon_조효제
안드로이드 악성코드의 철학적_연구_padocon_조효제안드로이드 악성코드의 철학적_연구_padocon_조효제
안드로이드 악성코드의 철학적_연구_padocon_조효제Hyoje Jo
 
KCS20 PT (2020.12.22)
KCS20 PT (2020.12.22)KCS20 PT (2020.12.22)
KCS20 PT (2020.12.22)Gunho Park
 
0514 presentation
0514 presentation0514 presentation
0514 presentation준우 명
 
20171212 [ai times] 'ai' 인공지능-ai security 개발을 위한 시도 - 1 (nlp 모델 테스트 2.2.11)...
20171212 [ai times] 'ai'   인공지능-ai security 개발을 위한 시도 - 1 (nlp 모델 테스트 2.2.11)...20171212 [ai times] 'ai'   인공지능-ai security 개발을 위한 시도 - 1 (nlp 모델 테스트 2.2.11)...
20171212 [ai times] 'ai' 인공지능-ai security 개발을 위한 시도 - 1 (nlp 모델 테스트 2.2.11)...jason min
 
모바일 악성코드, 그것이 알고싶다
모바일 악성코드, 그것이 알고싶다모바일 악성코드, 그것이 알고싶다
모바일 악성코드, 그것이 알고싶다Namjun Kim
 
[2007 CodeEngn Conference 01] 이강석 - Malware Analysis Start
[2007 CodeEngn Conference 01] 이강석 - Malware Analysis Start[2007 CodeEngn Conference 01] 이강석 - Malware Analysis Start
[2007 CodeEngn Conference 01] 이강석 - Malware Analysis StartGangSeok Lee
 
Cybereason in Korea, SMEC
Cybereason in Korea, SMECCybereason in Korea, SMEC
Cybereason in Korea, SMECSMEC Co.,Ltd.
 
Project turtle ship
Project turtle shipProject turtle ship
Project turtle shiphanbeom Park
 
악성코드와 개인 정보 보호
악성코드와 개인 정보 보호악성코드와 개인 정보 보호
악성코드와 개인 정보 보호Youngjun Chang
 
지능형지속위협공격 최신동향 분석
지능형지속위협공격 최신동향 분석지능형지속위협공격 최신동향 분석
지능형지속위협공격 최신동향 분석한익 주
 
16.02.27 해킹캠프 오픈 소스 최우석
16.02.27 해킹캠프 오픈 소스 최우석16.02.27 해킹캠프 오픈 소스 최우석
16.02.27 해킹캠프 오픈 소스 최우석KISEC
 

Ähnlich wie 악성코드 개념 및 대응 기술 (사이버 게놈 기술) (20)

보안 위협 형태와 악성코드 분석 기법
보안 위협 형태와 악성코드 분석 기법보안 위협 형태와 악성코드 분석 기법
보안 위협 형태와 악성코드 분석 기법
 
보안 위협과 악성코드 분석 기법
보안 위협과 악성코드 분석 기법보안 위협과 악성코드 분석 기법
보안 위협과 악성코드 분석 기법
 
Netsec-kr 2013 발표자료 - 악성코드 유사도 분석 기술 동향 (김휘강)
Netsec-kr 2013 발표자료 - 악성코드 유사도 분석 기술 동향 (김휘강)Netsec-kr 2013 발표자료 - 악성코드 유사도 분석 기술 동향 (김휘강)
Netsec-kr 2013 발표자료 - 악성코드 유사도 분석 기술 동향 (김휘강)
 
보안 위협과 악성코드 분석 기법
보안 위협과 악성코드 분석 기법보안 위협과 악성코드 분석 기법
보안 위협과 악성코드 분석 기법
 
보안 위협과 악성코드 분석 기법
보안 위협과 악성코드 분석 기법보안 위협과 악성코드 분석 기법
보안 위협과 악성코드 분석 기법
 
Quick bcc
Quick bccQuick bcc
Quick bcc
 
악성코드 자동화 분석을 통한 인텔리전스(쿡쿠 샌드박스)
악성코드 자동화 분석을 통한 인텔리전스(쿡쿠 샌드박스)악성코드 자동화 분석을 통한 인텔리전스(쿡쿠 샌드박스)
악성코드 자동화 분석을 통한 인텔리전스(쿡쿠 샌드박스)
 
백신 프로그램의 원리와 동작 차민석 20151117_security plus 발표판
백신 프로그램의 원리와 동작 차민석 20151117_security plus 발표판백신 프로그램의 원리와 동작 차민석 20151117_security plus 발표판
백신 프로그램의 원리와 동작 차민석 20151117_security plus 발표판
 
[NDC07] 게임 개발에서의 클라이언트 보안 - 송창규
[NDC07] 게임 개발에서의 클라이언트 보안 - 송창규[NDC07] 게임 개발에서의 클라이언트 보안 - 송창규
[NDC07] 게임 개발에서의 클라이언트 보안 - 송창규
 
안드로이드 악성코드의 철학적_연구_padocon_조효제
안드로이드 악성코드의 철학적_연구_padocon_조효제안드로이드 악성코드의 철학적_연구_padocon_조효제
안드로이드 악성코드의 철학적_연구_padocon_조효제
 
KCS20 PT (2020.12.22)
KCS20 PT (2020.12.22)KCS20 PT (2020.12.22)
KCS20 PT (2020.12.22)
 
0514 presentation
0514 presentation0514 presentation
0514 presentation
 
20171212 [ai times] 'ai' 인공지능-ai security 개발을 위한 시도 - 1 (nlp 모델 테스트 2.2.11)...
20171212 [ai times] 'ai'   인공지능-ai security 개발을 위한 시도 - 1 (nlp 모델 테스트 2.2.11)...20171212 [ai times] 'ai'   인공지능-ai security 개발을 위한 시도 - 1 (nlp 모델 테스트 2.2.11)...
20171212 [ai times] 'ai' 인공지능-ai security 개발을 위한 시도 - 1 (nlp 모델 테스트 2.2.11)...
 
모바일 악성코드, 그것이 알고싶다
모바일 악성코드, 그것이 알고싶다모바일 악성코드, 그것이 알고싶다
모바일 악성코드, 그것이 알고싶다
 
[2007 CodeEngn Conference 01] 이강석 - Malware Analysis Start
[2007 CodeEngn Conference 01] 이강석 - Malware Analysis Start[2007 CodeEngn Conference 01] 이강석 - Malware Analysis Start
[2007 CodeEngn Conference 01] 이강석 - Malware Analysis Start
 
Cybereason in Korea, SMEC
Cybereason in Korea, SMECCybereason in Korea, SMEC
Cybereason in Korea, SMEC
 
Project turtle ship
Project turtle shipProject turtle ship
Project turtle ship
 
악성코드와 개인 정보 보호
악성코드와 개인 정보 보호악성코드와 개인 정보 보호
악성코드와 개인 정보 보호
 
지능형지속위협공격 최신동향 분석
지능형지속위협공격 최신동향 분석지능형지속위협공격 최신동향 분석
지능형지속위협공격 최신동향 분석
 
16.02.27 해킹캠프 오픈 소스 최우석
16.02.27 해킹캠프 오픈 소스 최우석16.02.27 해킹캠프 오픈 소스 최우석
16.02.27 해킹캠프 오픈 소스 최우석
 

악성코드 개념 및 대응 기술 (사이버 게놈 기술)

  • 1. 1 악성코드 기술관련 발표자료 악성코드 대응을 위한 사이버 게놈 기술 By Seungdols 출처 : 악성코드 대응을 위한 사이버 게놈 기술 동향 ETRI – 김종현, 김현주, 김익균 연구원
  • 2. INDEX 2 1. 악성코드 대응 기술 2. 기존 대응 기술의 한계 3. 사이버 게놈 기술 4. 질의응답
  • 3. 3 악성코드(Malicious Code)? 악성 코드? 나쁜 코드? 도대체 어떤 녀석인지?! 알아보자.
  • 4. 4 악성코드(Malicious Code) 악성 소프트웨어(Malicious Software) 본래 명칭은 악성 코드가 아닌, 악성 소프트웨어가 맞습니다.
  • 6. 6 바이러스 (Virus) 다른 대상을 감염시키는 형태로 실행되는 프로그램으로 대상이 존재하지 않으면 실행이 되지 않고 감염 파일에서 대상 파일로는 자가 복제를 수행하지만 네트워크를 통한 전파는 이루어지지 못한다.
  • 7. 7 웜 ( Worm ) 감염 대상이 없어도 실행이 가능하며, 네트워크를 통한 전파가 가능하다. 모리스 웜이란 사람이 석사시절, 인터넷의 크기를 알고자 취약점을 이용해 제작한 것으로 알려져 있다.
  • 8. 8 트로이 목마(Trojan) 정상 파일을 가장하거나, 정상 파일 내에 삽입 된 상태로 실행 되는 것이 특징이자, 주요 목적은 사용자의 PC를 공격자에게 정보를 전달하기 위해 사용 된다.
  • 9. 9 백도어 ( Backdoor ) 지속적으로 침입하기 위해서 시스템 내부에 문을 열어 두는 것을 말하며, 언제든지 침투가 가능하게 만들어 준다.
  • 10. 10 애드웨어 ( Adware ) 광고프로그램으로 악의적인 행위는 하지 않으나, 브라우저를 실행 시키면 무조건 특정 광고사 페이지로 이동시키는 행동을 한다. * 요즘은 백도어/트로이 목마를 설치하기도 한다.
  • 11. 11 악성 봇 ( Malicious Bot ) 스스로 실행하지는 못하나, 공격자가 명령을 내리면 실행 및 제어(C&C)가 가능한 프로그램이다. 흔히 말하는 좀비PC가 악성 봇에 시스템이 감염 된 PC를 말한다. 공격자는 C&C서버를 이용하여 실행/제어를 한다.
  • 15. 15 악성코드 대응 기술 동적분석 분석 환경 내에서 악성 소프트웨어를 실행시킴으로 수행되는 행위를 실시간으로 모니터링하고, 추적하는 방법
  • 16. 16 악성코드 대응 기술 악성 소프트웨어를 실행하지 않고, 프로그램 구성 요소들의 연관성 및 호출 관계 등을 분석함으로 악성 소프트웨어의 구조와 삽입된 DDL(Dynamic Link Library)등을 파악하는 방법 정적분석
  • 18. 18 기존 대응 기술의 한계 • 난독화 코드 난독화란 프로그램 코드의 일부 혹은 전체를 변경하는 방법으로, 프로그래밍 언어로 작성된 코드의 가독성을 떨어뜨려 분석을 어렵게 만든다. 소프트웨어를 분석하려는 역공학에 대한 대비책으로 프로그램에서 사용되는 주요 알고리즘, 아이디어를 숨기기 위해 사용한다.
  • 19. 19 기존 대응 기술의 한계 • 난독화 • 패킹(Packing) Portable executable (PE)형식으로 배포되는 프로그램들을 자신의 프로그램이 역공학을 할 수 없도록 만들거나, 용량을 줄이기 위해 사용하는 방식이다. 다중 패킹/ 자체 제작 패킹툴을 사용 할 경우 , 정적분석 기술을 우회하거나 분석을 할 수 없게끔 만든다.
  • 20. 20 기존 대응 기술의 한계 • 난독화 • 패킹(Packing) • 안티 디버깅(Anti-Debuging) 악성 소프트웨어를 분석하는 방식으로 디버깅을 사용하는데, 악성 소프트웨어들은 백신 프로그램이 자신을 분석하는 것을 막기 위해 디버깅이 수행 될 때 이를 탐지하여 다른 행위를 하거나 디버깅 동작을 종료시킨다.
  • 21. 21 기존 대응 기술의 한계 • 난독화 • 패킹(Packing) • 안티 디버깅(Anti-Debuging) • 안티 가상화(Anti-Virtualization) 가상 머신 환경에서의 악성 소프트웨어 분석기술을 우회하는 방법으로 가상 머신 환경을 구축함으로 나타나는 특징을 탐색하여 악성코드가 수행할 시스템이 가상 머신 환경인지 판단하여 실행을 하지 않는다. 가상 환경을 탐지하는 방법은 프로세스, 파일 시스템, 레지스트리 요소 탐지,메모리 요소 탐지, 가상 하드웨어 주변 장치를 탐지하는 방법이 있다.
  • 22. 22 기존 대응 기술의 한계 • 난독화 • 패킹(Packing) • 안티 디버깅(Anti-Debuging) • 안티 가상화(Anti-Virtualization) • 스케줄링(Scheduling) 자동화된 악성 소프트웨어 탐지 기술을 회피하기 위하여 웹사이트 방문 시 특정 시간 이후에 악성 소프트웨어가 실행되게 하여 자동화된 악성 소프트웨어 수집 프로그램인 Client Honeypot과 Crawler을 우회한다.
  • 23. 23 기존 대응 기술의 한계 • 악성 코드 대량 삽입 웹사이트에 악성 소프트웨어가 삽입되는 경우는 대부분 SQL Injection 공격으로 인해 발생한다. 데이터 베이스 문자 자료형 컬럼에 악성 소프트웨어 유포지의 주소를 삽입하여 대량의 악성 소프트웨어를 유포하는 기술을 사용한다.
  • 24. 24 기존 대응 기술의 한계 • 악성 코드 대량 삽입 • 악성 코드의 모듈화 최근 악성 소프트웨어 유포자들은 악성 행위 별로 모듈화하여 유포하여, 특정 모듈에 감염 되는 즉시 다른 모듈을 다운로드 하는 방식을 도입.
  • 25. 25 기존 대응 기술의 한계 • 악성 코드 대량 삽입 • 악성 코드의 모듈화 • 악성 코드의 은닉화 악성 코드를 은닉시키는 대표적인 기법은 루트킷이라 한다. 은닉화 방법으로는 Hooking, 시스템 프로그램의 변조, 커널 데이터 조작, 디바이스 드라이버 사용, 레지스터 변조, 콜백 함수 사용 등이 있다. 백신 프로그램 또한 시스템 서비스를 사용하기에 탐지하기가 어렵다.
  • 27. 27 사이버 게놈 기술 개념 인간 게놈 프로젝트는 DNA의 모든 염기서열을 밝혀 내기 위한 연구이다. 이 것을 사이버 세상에 존재하는 악성 코드에 적용한 방법이다.
  • 28. 28 사이버 게놈 기술 개념 Digital DNA 기술 악성코드 및 사이버 공격의 배후와 공격 루트를 밝히는데 목적을 가지며, 악성 코드의 특징과 코드를 상세히 분석하는 방법이다.
  • 29. 29 사이버 게놈 기술 개념 Digital DNA 기술 악성코드의 특징별로 분류하여, 유사한 사건 발생시 악성 코드 제작자, 크래커집단, 유포지, 공격지, 공격목적 등을 빠르게 추정 가능하며, APT(Advanced Persistent Threat) 공격의 사전 대응에도 활용 될 수 있다.
  • 30. 30 사이버 게놈 기술 개념 APT( Advanced Persistent Threat ) 지능형 지속 공격으로 공격 루트, 공격 기법을 지속적으로 변경하며, 목표한 공격 대상을 무력화 시키는 방법이다.
  • 31. 31 사이버 게놈 분석의 주요 기술 악성코드 API 시퀀스 추출 IAT(Import Address Table) PE 파일 분석을 통해 Import AddressTable(IAT)를 찾고 IAT로부터 포함된 API리스트를 추출하는 방법 바이너리 실행 파일 자체에서 추출하는 방법
  • 32. 32 사이버 게놈 분석의 주요 기술 악성코드 API 시퀀스 추출 프로그램 작동 중 호출되는 인터럽트를 Hooking하여 호 출되는 API를 기록하는 방법으로 주로 Native API에 대한 정보를 얻기 위해 사용된다. 커널 Hooking에는 System Service Descriptor Table(SSDT)/Interrupt Descriptor Table(IDT)이 존재함. 프로그램 동작 중 호출되는 API를 후킹 하는 방법 IAT(Import Address Table)
  • 33. 33 사이버 게놈 분석의 주요 기술 API 기반의 악성코드 특성인자 추출 White List 악성코드가 아닌 정상적인 프로그램으로부터 자주 포함되는 API의 리스트를 DLL 별로 저장하여 화이트리스트(White List)를 생성. 악성코드 샘플을 실행한 후 추출된 API 리스트에서 화이트리스트의 API를 제거하게 되면 악성코드만이 갖는 고유 특성인자를 추출이 가능.
  • 34. 34 사이버 게놈 분석의 주요 기술 서열 정렬(Sequence Alignment) A C G T A C G T C G A A C C A G T A C A A C G A G G G 서열 정렬(sequence alignment)은 일반적으로 Bioinformatics 분야에서 두 개 혹은 그 이상의 서열 들의 유사도 값을 측정하거나 유사 구간의 관계성을 찾기 위해 사용되는 기법.
  • 35. 35 사이버 게놈 분석의 주요 기술 서열 정렬(Sequence Alignment) A C G T A C G T C G A A C C A G T A C A A C G A G G G 본래 서열과 가장 유사한 서열은 무엇인가? “정량적인 기준” 필요
  • 36. 36 사이버 게놈 분석의 주요 기술 비교할 두 가지의 서열에 있는 모든 글자를 최대한 맞춤. 길이가 대개 비슷하고, 전체적으로 유사성이 높은 서열 간 적합 서열의 일부분을 최대한 맞춤. 길이가 서로 상이하고, 서열의 일부분에서 유사성이 나타나는 서열 간 적합 Local AlignmentGrobal Alignment Needleman-Wunsch Algorithm Smith-Waterman Algorithm
  • 37. 37 사이버 게놈 분석의 주요 기술 악성코드 유사도 분석 LCS(Longest Common Subsequence) Pairwise Alignment 최근 BioInfomatics 분야에서 동적 프로그래밍을 이용한 Pairwise Alignment와 Longest Common Subsequence(LCS) 알고리즘을 이용하여 두 서열간의 유사도 분석을 하는데, 사이버게놈 기술에서도 이와 유사한 접근 방법을 활용 중이다. * LCS는 두 문자열에서 공통으로 존재 하는 가장 긴 서열을 찾는 알고리즘.
  • 38. 38 사이버 게놈 분석의 주요 동향 Invincea - Cynomix 샌드박스에서 악성 코드를 실행한 후 Process Monitor 툴을 이용하여, 악성코드의 시스템 API 호출 로그를 추출 후 의미 있는 API 서열을 추출하기 위해 마코프 체인 알고리즘을 사용한다.
  • 39. 39 사이버 게놈 분석의 주요 동향 HBGary – Digital DNA 시스템 메모리상에서 실행되는 프로세스의 행위를 분석하여 악성 코드를 탐지하고, 리포팅한다. 정적 분석과 동적 분석을 통하여 프로세스 행위의 취약성을 발견하고, 해당 프로세스의 악성 여부 를 판단한 후 취약성 내용을 Digitla DNA로 변환하는 작업을 하는 제품.
  • 40. 40 질의 응답 단, 저는 아는 것만 대답합니다.