Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

2,442 views

Published on

ETRI에서 발표한 악성 코드 대응을 위한 사이버 게놈 기술에 대한 기술동향 발표자료를 정리한 자료입니다.

Published in: Software
  • Be the first to comment

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

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

×