슬라이드 1

Similar documents
#WI YARA 를이용한악성코드시그니처확인방법

PowerPoint 프레젠테이션

Secure Programming Lecture1 : Introduction

Table of Contents 1. 분석 유포경로 악성파일분석 드롭퍼 A 분석 드롭퍼 B 분석 페이지 2 / 17

지난시간에... 우리는 kernel compile을위하여 cross compile 환경을구축했음. UBUNTU 12.04에서 arm-2009q3를사용하여 간단한 c source를빌드함. 한번은 intel CPU를위한 gcc로, 한번은 ARM CPU를위한 gcc로. AR

The Pocket Guide to TCP/IP Sockets: C Version

메일서버등록제(SPF) 인증기능적용안내서 (HP-UX - postfix) OS Mail Server SPF 적용모듈 (Perl 기반) 작성기준 HP-UX 11.11i postfix spf-filter 년 6 월

PowerPoint 프레젠테이션

리눅스설치가이드 3. 3Rabbitz Book 을리눅스에서설치하기위한절차는다음과같습니다. 설치에대한예시는우분투서버 기준으로진행됩니다. 1. Java Development Kit (JDK) 또는 Java Runtime Environment (JRE) 를설치합니다. 2.

1. 안드로이드개발환경설정 안드로이드개발을위해선툴체인을비롯한다양한소프트웨어패키지가필요합니다 툴체인 (Cross-Compiler) 설치 안드로이드 2.2 프로요부터는소스에기본툴체인이 prebuilt 라는이름으로포함되어있지만, 리눅스 나부트로더 (U-boot)

2002 KT

PowerPoint 프레젠테이션

슬라이드 1

intro

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

Snort Install Manual Ad2m VMware libnet tar.gz DebianOS libpcap tar.gz Putty snort tar.gz WinSCP snort rules 1. 첫번째로네트워크설정 1) ifconf

경제관련 주요 법률 제,개정의 쟁점 분석.doc


메일서버등록제(SPF) 인증기능적용안내서 (AIX - sendmail) OS Mail Server SPF 적용모듈 (Perl 기반) 작성기준 AIX 5.3 sendmail spf-filter 년 6 월

ISP and CodeVisionAVR C Compiler.hwp

스마일버스 강남07(SA) 서울의료원 강남구 오케이버스 강남08(문의) 신사역 새롬교통 강남10(S) 개포주공7단지 신명운수 강동01(S) 길동신동아아파트 강동구 강동교통 강동02(S) 가래여울 서울의료원후문(기점)-서울의료원정문-강남경찰서 면허시험장-한국무 역센터 삼

PowerPoint 프레젠테이션

02 C h a p t e r Java

침입방지솔루션도입검토보고서

PowerPoint Template

Microsoft PowerPoint - chap01-C언어개요.pptx

메일서버등록제(SPF) 인증기능적용안내서 (HP-UX - qmail) OS Mail Server SPF 적용모듈 (Perl 기반) 작성기준 HP-UX 11.11i qmail 1.03 spf-filter 년 6 월

Microsoft PowerPoint 웹 연동 기술.pptx

Cuckoo Sandbox (Automated Malware Analysis) Bolaven

CKKeyPro 적용가이드

소프트웨어설치 1. 소프트웨어설치및제거 ( 소스코드 ) 소스코드컴파일을이용한 S/W 설치 1. 소스코드다운로드 - 예 ) httpd tar.gz - 압축해제 : #tar xzvf httpd tar.gz - INSTALL 또는 README파일참조

Secure Programming Lecture1 : Introduction

강북구 강서구 강북 09번(B) 강북11번(B) 강북12번(B) 강북08번(B) 강서01번(S) 강서02번(S) 강서05번(S) 강서04번(S) 강서06번(S) 드림랜드-태능갈비-오현초등교-주공1,2단지-주공2단지후문-기산아파트-주공3단지정문-한양아파트-번3동새마을금고

서현수

초보자를 위한 C++

Raspbian 설치 라즈비안 OS (Raspbian OS) 라즈베리파이 3 Model B USB 마우스 USB 키보드 마이크로 SD 카드 마이크로 SD 카드리더기 HDM I 케이블모니터

임베디드시스템설계강의자료 4 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

PowerPoint Presentation

커알못의 커널 탐방기 이 세상의 모든 커알못을 위해서

Oracle hacking 작성자 : 임동현 작성일 2008 년 10 월 11 일 ~ 2008 년 10 월 19 일 신규작성 작성내용

슬라이드 1

행당중학교 감사 7급 ~ 성동구 왕십리로 189-2호선 한양대역 4번출구에서 도보로 3-4분 6721 윤중중학교 감사 7급 ~ 영등포구 여의동로 3길3 용강중학교 일반행정 9급 ~ 1300

Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Cras

LXR 설치 및 사용법.doc

ActFax 4.31 Local Privilege Escalation Exploit

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

YARA User's Manual YARA User's Manual Ver. 1.6 Víctor Manuel Álvarez YARA Korean User's Manual Ver. 1.6 Hakawati(Woo-seo

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

슬라이드 1

¿©±âÀÚ-À¥¿ë.PDF

성도

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

4. #include <stdio.h> #include <stdlib.h> int main() { functiona(); } void functiona() { printf("hihi\n"); } warning: conflicting types for functiona

PowerPoint Presentation

JAVA PROGRAMMING 실습 02. 표준 입출력

리눅스 취약점대응방안권고 / KISA 취약점점검팀 영향받는플랫폼 OS, FAQ 추가 개요 미국보안회사 에의해 시스템의 라이브러리 의특정함수에서임의코드를실행할수있는취약점이공개 해당취약점은 CVE 지정, 도메인네임을

<31332DB9E9C6AEB7A2C7D8C5B72D3131C0E528BACEB7CF292E687770>

Microsoft Word - 3부A windows 환경 IVF + visual studio.doc

ICT03_UX Guide DIP 1605

FreeBSD Handbook

1. efolder 시스템구성 A. DB B. apache - mod-perl - PHP C. SphinxSearch ( 검색서비스 ) D. File Storage 2. efolder 설치순서 A. DB (MySQL) B. efolder Service - efolder

PowerPoint 프레젠테이션

KIDI_W_BRIEF(제1호)_본문.hwp

PowerPoint Presentation

초보자를 위한 ASP.NET 2.0

작성자 : 기술지원부 김 삼 수

Page 1 / 솔루션소개 Magento Magento 는강력한기능을제공하는오픈소스쇼핑몰제작관리도구입니다. 커스터마이징가 능한글로벌쇼핑몰구축시에사용을권장하며, 자체마켓플레이스를보유하고있을정도 로다양한기능을유 / 무료로추가할수있습니다. 2. 설치버전 하기명시된

*2008년1월호진짜

<313029B0E6B1E22E687770>

Microsoft PowerPoint - 02_Installation

슬라이드 1

DE1-SoC Board

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx

Microsoft Word - Derivatives Issue_0925

Microsoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드]

Malware Analysis

Copyright 2004 Sun Microsystems, Inc Network Circle, Santa Clara, CA U.S.A..,,. Sun. Sun. Berkeley BSD. UNIX X/Open Company, Ltd.. Sun, Su

28 THE ASIAN JOURNAL OF TEX [2] ko.tex [5]

Research & Technique Apache Tomcat RCE 취약점 (CVE ) 취약점개요 지난 4월 15일전세계적으로가장많이사용되는웹애플리케이션서버인 Apache Tomcat에서 RCE 취약점이공개되었다. CVE 취약점은 W

SBR-100S User Manual

PowerPoint 프레젠테이션

<4D F736F F F696E74202D20C1A632C0E520C7C1B7CEB1D7B7A5B0B3B9DFB0FAC1A4>

뉴욕주립대의 ITP\(Interactive Telecommunication Program\) Group

Newsletter Channel 11

2/21

untitled

10 강. 쉘스크립트 l 쉘스크립트 Ÿ 쉘은명령어들을연속적으로실행하는인터프리터환경을제공 Ÿ 쉘스크립트는제어문과변수선언등이가능하며프로그래밍언어와유사 Ÿ 프로그래밍언어와스크립트언어 -프로그래밍언어를사용하는경우소스코드를컴파일하여실행가능한파일로만들어야함 -일반적으로실행파일은다

Mango220 Android How to compile and Transfer image to Target

PowerPoint Presentation

본 사 : 서울 영등포구 여의도동 27-1 홈페이지 : : 본부별 지역 지점명 주 소 지역번 전화번호 별 호 - 서울 영업부 서울 영등포구 여의도동 27-1번지 한국투자증권 1층 강

YUM(Yellowdog Updater,Modified) : RPM 패키지가저장된서버 ( 저장소 ) 로부터원하는패키지를자동으로설치한다. : YUM 도구는 RPM 의패키지의존성문제를해결

Microsoft Word - src.doc

을풀면된다. 2. JDK 설치 JDK 는 Sun Developer Network 의 Java( 혹은 에서 Download > JavaSE 에서 JDK 6 Update xx 를선택하면설치파일을

PowerPoint Template

벤처연구사업(전동휠체어) 평가

PowerPoint 프레젠테이션

<4D F736F F D20B1B9B0A1BAB020BEC6C0CCC7C720C2F7B4DC20B0A1C0CCB5E5>

PowerPoint 프레젠테이션

구축환경 OS : Windows 7 그외 OS 의경우교재 p26-40 참조 Windows 의다른버전은조금다르게나타날수있음 Browser : Google Chrome 다른브라우저를사용해도별차이없으나추후수업의모든과정은크롬사용 한

Transcription:

Detecting Malicious code using Yara in Python Saint Security Dev Team 박건 0

소개 Introduction 박건 (Chris Park) 세인트시큐리티시스템개발팀 namegpark@gmail.com C#, C++, Python malwares.com 서비스개발 PULLer 서비스개발 (EXF) 1

목차 CONTENTS 01 악성코드소개 02 Yara 소개 03 설치및사용 04 개발 2

01 3.20 사이버테러 3.20 사이버테러에대한전반적인소개에대해설명합니다. 개요 2013 년 3 월 20 일오후주요방송사와금융기관의내부네트워크에연결된모든 PC 를공격하여디스크파괴 (MBR 영역 ) 를통해업무전산망을마비시키는사상최대의보앆사고발생 * 일시 : 2013 년 3 월 20 일오후 12 시 ~ 14 시 * 피해기관 피해기관사용네트워크백싞 KBS KT, LG U+ 하우리 MBC KT 앆랩 YTN SK 브로드밴드, LG U+ 하우리 싞한은행 KT, LG U+ 앆랩 농협 KT, SK 브로드밴드, LG U+ 앆랩 * 증상인터넷접속시, hacked by Whois Team 이라는뜨고, 부팅이앆됨 3

01-1 3.20 사이버테러분석 3.20 악성코드에대한분석과정을설명합니다. 악성코드구성 악성코드이름 ApcRunCmd.exe 파일크기 24.0 KB MD5 db4bbdc36a78a8807ad9b15a562515c4 악성코드이름 AmAgent.exe 파일크기 24.0 KB MD5 5fcd6e1dace6b0599429d913850f0364 악성코드이름 vti_rescan.exe 파일크기 417.5 KB MD5 9263e40d9823aecf9388b64de34eae54 4

01-2 3.20 사이버테러분석 3.20 악성코드에대한분석과정을설명합니다. vit_rescan 악성코드분석 (Dropper) Dropper 실행 (vit_rescan.exe) File Create 원격접속프로그램 (alg.exe) 파일전송프로그램 (comime.exe) MBR 파괴 (agentbase.exe) ~v3.log 파일체크 악성코드실행 (agentbase.exe) 5

01-3 3.20 사이버테러분석 3.20 악성코드에대한분석과정을설명합니다. vit_rescan 악성코드분석 (Dropper) 악성파일생성 6

01-4 3.20 사이버테러분석 3.20 악성코드에대한분석과정을설명합니다. vit_rescan 악성코드분석 (Dropper) 최종적으로 agentbase.exe 실행 7

01-5 3.20 사이버테러분석 3.20 악성코드에대한분석과정을설명합니다. Agentbase.exe 악성코드분석 악성코드실행 (agentbase.exe) 프로세스종료 (pasvc.exe, clisvc.exe) 물리디스크체크 MBR 파괴 드라이브체크 VBR 파괴 재부팅 (shutdown r t 0) 8

01-6 3.20 사이버테러분석 3.20 사이버테러분석에대한내용을설명합니다. MD5 : F0E045210E3258DAD91D7B6B4D64E7F3 MD5 : DB4BBDC36A78A8807AD9B15A562515C4 MD5 : 5FCD6E1DACE6B0599429D913850F0364 9

01-7 3.20 사이버테러분석 3.20 사이버테러분석에대한내용을설명합니다. 3.20 악성코드들의공통점은? 1. clisvc.exe 와 pasvc.exe 프로세스를죽인다. 2. 코드내에 shutdown 명령어가내장되어있다. 3. MBR과 VBR를 Overwrite한다 10

02 Yara 소개 Yara 에대한소개입니다. 악성코드샘플에포함된패턴을이용하여특성과프로세스를기준으로악성파일을분류하는데사용하는툴 VirusTotal 이개발하였고, 코드관리는 Google 에서하고있다. 11

02-1 Yara 소개 Yara 에대한소개입니다. Yara 의역사 Yara 는 2008 년에 1.0 버전이 VirusTotal 팀에개발이완료되어세상에공개되었고, 구글오픈소스 (Open Source) 로관리되고있다. 2015.11.25 기준 3.4.0 버전까지업데이트되었다. Yara 의장점 기존패턴매칭에비해서 EntryPoint, Offset 등을통해효율적인패턴매칭수행. 복합적인 rule 적용및태그기능지원 Yara 의단점 실습! Yara 를사용하고있는주요서비스및제품 12

02-2 Yara 특징 Yara 의특징에대해설명합니다. Yara Platform Yara 는멀티플랫폼의지원으로 Linux, Mac OS X, Windows 시스템에서모두사용할수있다. Yara 의사용 Yara 소스코드직접컴파일 Yara-Python 확장기능을통한개발 Yara 실행파일실행 Download Source Code : https://github.com/plusvic/yara (GitHub) Documentation : http://yara.readthedocs.org/en/v3.4.0/ 13

02-3 Yara Rule 작성 Yara Rule 을작성하는법에대해서설명합니다. Yara Ruleset Yara 를실행하기위해서프로세스나파일에서확인하고자하는패턴정보가담긴 Rule 을작성해야한다. Ruleset 파일은사용자가원하는디렉터리에두고실행할때불러와서실행시킨다. all and any ascii at condition contains entrypoint false filesize fullword for global in import include int8 int16 int32 int8be int16be int32be matches meta nocase not or of private rule strings them True uint8 uint16 uint32 uint8be uint16be uint32be wide Yara Rule 의기본예시 14

02-4 Yara Rule 작성 Yara Rule 을작성하는법에대해서설명합니다. 1) strings Strings section 에서는텍스트스트링, 정규표현식, Hex 스트링형태등으로작성할수있다. 앞에사용된변수명 (identifier) 을이용하여 condition 구문을작성하게된다. 1-1) Hex String Type { } 사이 hex 값을입력하게되는데모든 hex 값을알지못하더라도와일드카드를통하여대체할수있다. ex) $str_hex = { FF FF?? FF???? FF FF } 1-2) Regex Type 정규표현식형태는 / / 사이에표기하고, Yara 의정규표현식기준은 Perl 을따른다 ( 참고 : http://www.pcre.org/pcre.txt ) 1-3) string Type 사이에 ASCII 인코딩을기준으로작성할수있다. ( 대소문자를구별하지않을시 nocase 키워드를사용한다.) 15

02-5 Yara Rule 작성 Yara Rule 을작성하는법에대해서설명합니다. 2) condition condition 는 boolean 값으로만결과가나타난다. (True or False) 기본적인 C 연산자 ( 산술, 관계연산자등 ) 를지원한다. and or not >= <= > < ==!= + - * \ & << >> ~ # Rule 해석 파일시그니처내에 $str 과 $hex 가매칭되는게있다면 True 반홖 16

02-6 Yara Rule 작성 Yara Rule 을작성하는법에대해서설명합니다. Rule 해석 파일시그니처내에 $str 는 Offset 4245 에 $re 는 Offset 200 에있다면 True 반홖 Rule 해석 파일이 400KB 이상이면 True 반홖 17

02-7 Yara Rule 작성 Yara Rule 을작성하는법에대해서설명합니다. 3) meta meta 는기본적으로 Rule 에영향을미치지않는다. Strings 나 condition 에사용할수없다. meta 는추가정보를입력하는것으로룰작성자, 작성일등을기록하는데사용한다. 18

02-8 알아두면유용한키워드 알아두면유용한키워드 1) nocase 대소문자를구분하지않고탐색한다. Rule 대문자설정 문자열소문자설정 탐지! 19

02-9 알아두면유용한키워드 알아두면유용한키워드 2) wide 바이너리나파일내에문자당 2 바이트로인코딩된문자열을검색하는데유용하다. 문자당 2 바이트인코딩 탐지! 20

이렇게쉽고빠르게사용할수있는데단점이대체뭔가요? 21

02-10 Yara 단점 Yara 에대한단점을설명합니다. 테스트코드작성 콘솔화면에 Hello SecurityPlus 를출력시켜주는간단한테스트코드 Yara 실행결과 정상적으로탐지된것을확인할수있다. 22

02-11 Yara 단점 Yara 에대한단점을설명합니다. 테스트코드작성 콘솔화면에 Hello SecurityPlus 를출력시켜주는간단한테스트코드 Yara 실행결과 탐지실패 23

왜탐지를못할까? 시그니처방식의한계 24

직접해봐야이해가빠릅니다! 실습해보기 25

실습 실습내용 yara 설치및홖경구성 앞서설명한 yara 의단점에대한실습 nocase, wide 키워드실습 3.20 악성코드탐지코드자동화툴개발 실습준비물 Ubuntu 14.04 Desktop or Server (VMWare or Virtualbox image) Python 2.7 Visual Studio or C lang Compiler Windows 샘플파일 Keyword Binary : http://me2.do/gjwc4jhm 3.20 CyberTerror : http://me2.do/fqm2wgtm Password :!@chris_secu 26

03 Yara 설치 Yara 설치와시작 tar.gz 확장자소스코드다운로드 (wget 명령어사용 ) wget https://github.com/plusvic/yara/archive/v3.4.0.tar.gz 27

03-1 Yara 설치 Yara 설치와시작 소스코드압축해제 tar xvf v3.4.0.tar.gz autoreconf 설치 sudo apt-get install dh-autoreconf yara 설치 ( 소스코드압축해제 )./bootstrap.sh./configure make sudo make install yara-python 확장모듈설치 cd yara-python python setup.py build sudo python setup.py install (yara 설치후 yara-python 디렉터리생성 ) 28

03-2 Yara 설치 Yara 설치와시작 Python yara 테스트 python import yara 아래와같은에러가발생한다면? sudo echo "/usr/local/lib" >> /etc/ld.so.conf ldconfig yara 버전확인 yara -v 29

문제 ( 제한시간 5 분 ) Prob 1 아래와같은바이너리가주어졌다. securityplus 라는문자열을패턴매칭을통해탐지하는룰셋을작성하시오. 단, nocase 와 wide 키워드둘다사용해야함. 결과제출 Conference_[ 이름 ] 이라는제목으로 namegpark@gmail.com 으로룰셋제출 선착순 스타벅스기프티콘 (1 명 ) 30

감사합니다. E-mail : namegpark@gmail.com (Q & A) 31