소프트웨어 보안을 위한 바이너리 분석 기법 동향

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

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

untitled

example code are examined in this stage The low pressure pressurizer reactor trip module of the Plant Protection System was programmed as subject for

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

SW¹é¼Ł-³¯°³Æ÷ÇÔÇ¥Áö2013


aeg

<B1D4B0DDBCAD202D20C4DAB5E520B1E2B9DD2E687770>

Secure Programming Lecture1 : Introduction

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

버퍼오버플로우-왕기초편 10. 메모리를 Hex dump 뜨기 앞서우리는버퍼오버플로우로인해리턴어드레스 (return address) 가변조될수있음을알았습니다. 이제곧리턴어드레스를원하는값으로변경하는실습을해볼것인데요, 그전에앞서, 메모리에저장된값들을살펴보는방법에대해배워보겠습

KEY 디바이스 드라이버

ESP1ºÎ-04

Microsoft PowerPoint - CSharp-10-예외처리

김기남_ATDC2016_160620_[키노트].key

untitled

Adobe Flash 취약점 분석 (CVE )

mytalk

±èÇö¿í Ãâ·Â

월간 CONTENTS 3 EXPERT COLUMN 영화 점퍼 와 트로이목마 4 SPECIAL REPORT 패치 관리의 한계와 AhnLab Patch Management 핵심은 패치 관리, 왜? 8 HOT ISSUE 2016년에 챙겨봐야 할 개인정보보호

F1-1(수정).ppt

2007 상반기 실적회의 - DRM Extension

vm-웨어-앞부속

untitled

Secure Programming Lecture1 : Introduction

슬라이드 1

여행기

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

슬라이드 1

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


6주차.key


백서2011표지

제 KI011호사업장 : 서울특별시구로구디지털로26길 87 ( 구로동 ) 02. 공산품및소비제품 생활용품검사검사종류검사품목검사방법 안전확인대상생활용품 생활 휴대용레이저용품 안전확인대상생활용품의안전기준부속서 46 ( 국가기술표준원고시제 호 (

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

취약점분석보고서 [Photodex ProShow Producer v ] RedAlert Team 안상환

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

서현수

C++ Programming

Chap 6: Graphs

Microsoft PowerPoint - Windows CE Programming_2008 [호환 모드]

<30382E20B1C7BCF8C0E720C6EDC1FD5FC3D6C1BEBABB2E687770>

Visual Studio online Limited preview 간략하게살펴보기

Deok9_Exploit Technique

ThisJava ..

<목 차 > 제 1장 일반사항 4 I.사업의 개요 4 1.사업명 4 2.사업의 목적 4 3.입찰 방식 4 4.입찰 참가 자격 4 5.사업 및 계약 기간 5 6.추진 일정 6 7.사업 범위 및 내용 6 II.사업시행 주요 요건 8 1.사업시행 조건 8 2.계약보증 9 3

제20회_해킹방지워크샵_(이재석)

PowerPoint 프레젠테이션

최종_백서 표지

<4D F736F F D20C0CCBEBEC1A6BEEE5FC3A5BCD2B0B35F >

ISO17025.PDF

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

Main Title

EMCA-EC_STO_BES_E_ a_ k1

Oracle9i Real Application Clusters

3. 클라우드 컴퓨팅 상호 운용성 기반의 서비스 평가 방법론 개발.hwp

<4D F736F F F696E74202D20C1A632C0E520C7C1B7CEB1D7B7A5B0B3B9DFB0FAC1A4>

BMP 파일 처리

1 SW

SW

PCServerMgmt7

Microsoft PowerPoint APUE(Intro).ppt

인도 웹해킹 TCP/80 apache_struts2_remote_exec-4(cve ) 인도 웹해킹 TCP/80 apache_struts2_remote_exec-4(cve ) 183.8

정보기술응용학회 발표

02 C h a p t e r Java

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

Interstage5 SOAP서비스 설정 가이드

U.Tu System Application DW Service AGENDA 1. 개요 4. 솔루션 모음 1.1. 제안의 배경 및 목적 4.1. 고객정의 DW구축에 필요한 메타정보 생성 1.2. 제품 개요 4.2. 사전 변경 관리 1.3. 제품 특장점 4.3. 부품화형

2002년 2학기 자료구조

PowerPoint 프레젠테이션



Bluetooth

목 차 주요내용요약 1 Ⅰ. 서론 3 Ⅱ. 스마트그리드산업동향 6 1. 특징 2. 시장동향및전망 Ⅲ. 주요국별스마트그리드산업정책 17 Ⅳ. 미국의스마트그리드산업동향 스마트그리드산업구조 2. 스마트그리드가치사슬 3. 스마트그리드보급현황 Ⅴ. 미국의스마트그리드정

목 차 1. 개 요 배경 요약 정보 대상시스템 원리 공격 기법 및 기본 개념 Heap Spray Font 공 격..

The Self-Managing Database : Automatic Health Monitoring and Alerting

PowerPoint 프레젠테이션

** 5 개이발생한주요소프트웨어별취약점세 EDB 번호취약점종류공격난이도공격위험도취약점이름소프트웨어이름

lecture4(6.범용IO).hwp

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

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

untitled

Microsoft Word - 임베디드월드_WindowsEmbeddedCompact7_rev

4S 1차년도 평가 발표자료

USER GUIDE

JVM 메모리구조

APICS 컨퍼런스 수정 2

Microsoft PowerPoint - chap03-변수와데이터형.pptx

FMX M JPG 15MB 320x240 30fps, 160Kbps 11MB View operation,, seek seek Random Access Average Read Sequential Read 12 FMX () 2

DE1-SoC Board

ecorp-프로젝트제안서작성실무(양식3)

KARAAUTO_4¿ù.qxd-ÀÌÆå.ps, page Normalize

<4D F736F F F696E74202D C61645FB3EDB8AEC7D5BCBA20B9D720C5F8BBE7BFEBB9FD2E BC8A3C8AF20B8F0B5E55D>

IPAK 윤리강령 나는 _ 한국IT전문가협회 회원으로서 긍지와 보람을 느끼며 정보시스템 활용하 자. 나는 _동료, 단체 및 국가 나아가 인류사회에 대하여 철저한 책임 의식을 가진 다. 나는 _ 활용자에 대하여 그 편익을 증진시키는데 최선을 다한다. 나는 _ 동료에 대해

Microsoft PowerPoint - chap-02.pptx

Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3

PowerPoint 프레젠테이션

Transcription:

소프트웨어보안을위한 바이너리분석기법동향 동국대학교손윤식

4 차산업혁명시대 : 소프트웨어중심사회

4 차산업혁명시대의위협 : 소프트웨어버그 / 에러 / 오류 ( 일반적인 ) 버그 : 정상적작동중설계 / 코딩등의잘못으로발생하는버그 SW 품질, 안전성, 신뢰성등저하 취약점 : 정상적작동중공격자의의도로발생하는보안약점 사이버공격에사용

소프트웨어안전성 (Safety) 탄생 SW 공학에 Safety 개념도입 SW 신뢰성 SW 안전성 IEC 61508 제정 Functional safety of electrical/electronic/prog rammable electronic safety-related systems Therac-25 사고 AECL 방사선암치료기 1982 년 SW 제어서비스시작 1985 년 ~ 1987 년 : 6 번의사고 3 명사망 치사량을초과하는 X 선에환자가노출 SW 오류로인명이살상된첫사례 제어프로그램의오류 소프트웨어의안전성에대한충분한분석이없이하드웨어안전장치제거

소프트웨어안전성 소프트웨어안전성정의 시스템이재앙 ( 인명의손상, 시스템의파괴등 ) 과같은실패없이동작하는능력 The ability of the system to operate without catastrophic failure. Software Engineering 10 th edition, Sommerville, 2016 Safety-critical ( 안전필수, 고안전, 안전중심 ) 정의 A term applied to a condition, process or item of whose proper recognition, control performance, or tolerance is essential to safe operation or use; e.q., safety, critical function,, safety critical path.. Air Force System Safety Handbook, 2000

산업분야별기능안전표준 표준 DO-178C (12) IEC 62304 (06) ISO 26262 (11) IEC 61508 (98) EN50128(01) 개정일자 2012 2006 2011 1998 2001 분야 항공 의료기기 자동차 전기 / 전자 / 임베 디드시스템 특징 -안전수준 5등급 -class 3등급 -ASIL 4등급 -IEC 61508 기반 테스팅 정형기법 - 정적분석 - 동적분석 - 정형기법권고 Level A 필수 - 정적분석 - 동적분석 - 정적분석 - 동적분석 -SIL 4 등급 - 다른 SIL 사용표준의모태 - 정적분석 - 동적분석 -정적분석 -정적분석 -정형기법권고 SIL 4 필수 철도 -SIL 5 등급 -IEC 61508 기반 - 정적분석 - 동적분석 - 정형기법권고 SIL 4 권고

SW 보안 (Security) 탄생, 사이버사고 (1): DDoS

SW 보안 (Security) 탄생, 사이버사고 (2): 해킹

SW 보안 (Security) 탄생, 사이버사고 (3): 사이버전쟁

소프트웨어보안성 (Security) 실수또는고의의외부침입으로부터시스템을보호할수있는능력 The ability of the system to protect itself against accidental or deliberate intrusion. Software Engineering 10 th edition, Sommerville, 2016. 소프트웨어보안 (Software Security) 의다른정의 소프트웨어가포함하고있는취약점 ( 보안약점 ) 의밀도

소프트웨어보안의어려운점 프로그래밍언어의의미론이명확하지않아, 모르는보안약점이존재함. 제로데이취약점을줄여야함. 취약점의원인이되는보안약점을줄여야함. 명세에정의된영역의입력이아닌정의가안된범위의입력을사용 예 ) SQL 삽입공격, 버퍼오버플로공격등 즉, 일반적인테스트방법과다른방법이활용

소프트웨어보안의어려운점 공격자는새로운보안약점을지속적으로찾아내고, 이를활용하여제로데이취약점 ( 사이버무기 ) 를개발하고있음. Automatic Exploit Patch-based Exploit

소프트웨어중심사회소프트웨어특징 (1) 신뢰성 / 안전성 / 보안성한속성만중요한것이아니다. 신뢰성 ( 정확성 ) 과안전성도함께중요하고, 또는신뢰성 ( 정확성 ), 안전성, 보안성도중요하다. 미국토안보부 : Secure Software 속성 : Dependable ( 기능신뢰성 ) Trustworthy ( 보안신뢰성 ) Resilient/Survivality ( 생존성, 지속성 ) 소프트웨어및소프트웨어공급망보증 (Software and Supply Chain Assurance, SSCA) 강화 Build Security in 포탈을통한자료공개, Secure Coding 및 S-SDLC, BSIMM 지속적발전

소프트웨어중심사회소프트웨어특징 (2) 미국방부에서 2011 년 US RQ-170 사건이후 SW 개념의변경 High-Assurance Software Correctness ( 기능정확성 ) Security ( 보안성 ) Safety ( 안전성 ) 2014년 5월미국방성에서 Hack-Proof Drone 기술발표및실용화 수학적으로증명 / 보증된커널소프트웨어개발 18개월의성공적테스팅 실전배치준비중

소프트웨어중심사회소프트웨어특징 (3) High Confidence Software and Systems 미 NTRND complex and networked, distributed computing systems and CPS life-, safety-, and mission-critical applications. 시스템의설계및구현에있어규모나구성에관계없이그속성을평가할수있는시스템디자인혁신등이시도 NSA, NASA, 의료등다양한분야에서연구되고있음.

소프트웨어중심사회도래 소프트웨어로인한많은사고발생 문제가뭐지?? 무엇이필요하지?? 소프트웨어보안을위한공감대형성, 프로세스, 분석방법론개발 소프트웨어를잘만들자!!

그러나현실은 SW 개발사역량, 개발비용 제도적인문제 개발자와해커의관점이다름 SW 의복잡도증가

미국도로교통안전국, 일본다카타에어백결함 리콜명령

You can't trust code that you did not totally create yourself. No amount of source-level verification or scrutiny will protect you from using untrusted code. Ken Thompson Reflections on Trusting Trust CACM 1984

SW 보안의어려움 소스코드분석기술만으로프로그램의보안성을보장할수없음 SW 는수많은라이브러리 ( 바이너리 ) 와의결합으로구현됨 특히내가직접개발하지않은 40% 의임베디드소프트웨어는 3rd-party library 를사용중 2015 VDC Report: Software Quality and Security Challenges from Rapid Rise of Third-Party Code

소프트웨어보안분석기법의다변화필요 특정 SW 의보안성수준 = 해당 SW 의가장약한컴포넌트의보안성수준 SW 는다양한라이브러리, COTS 와의결합으로구성 소스코드가존재하지않는경우도매우빈번

우리가보는소스코드가실행되는것이아님 #include <stdio.h> int main (void) { } printf( hello world!\n ); 0101010101011111010 1010101010101010001 0010010001111111010 1111101001010100010 0010110100010110100 0101001001010010111 1110101010000001010 1011000001000001011

바이너리분석에서의고려사항 바이너리파일획득방법 ISP, jtag, UART, Flash Memory, 하드웨어 : Intel x86/x64, ARM, MIPS 등 운영체제 : Windows, VxWorks, Linux 등 실행파일포맷 : PE 32/64, COFF, ELF 등 파일타입 : 실행파일, 라이브러리 프로그래밍언어 : C/C++, Ada, Java 등 컴파일러 : MS C/C++ 컴파일러, GCC 등 최적화유무 바이너리분석파일분석이슈

기존바이너리분석기법 전통적인역공학기법 파일구조분석 디스어셈블러 제어흐름생성 패턴매칭 동적테스팅 Manual approach

바이너리분석기법 퍼징 보안취약점유발입력데이터자동생성기술 API 퍼징 bestorm, peach, AxMan, COMRaider, Hamachi, MangleMe Machine learning 기법과결합추세 모델링자동화, 탐색공간축소

바이너리분석기법 사후디버깅 메모리덤프분석 + 결함위치추정 결함위치추정 AI, Model traversing, Fault propagation 커버리지, 모델, 프로그램상태, 프로그램스펙트럼, 기계학습기반방법론

바이너리분석기법 Exploit 자동추출기술 취약점을식별, 제한적인조건하에서 exploit을자동으로생성 APEG(Automatic Patch-based Exploit Generation) Proof of Vulnerability, Shell 을실행시키지않음 AEG(Automatic Exploit Generation) Symbolic Execution, Fuzzing -> 코드커버리지확대 사후디버깅 -> 취약점식별 Exploit 공식 -> Exploit 자동추출 Buffer Overflow, Format String Bug

최근연구동향및이슈 바이너리 중간언어변환 Program abstraction 정보재구성정밀화 ( 타입, 자료구조, 객체 ) 소스코드정적분석기법과의결합 인공지능기법과의결합 바이너리분석자동화 Automatic Exploit Generation Static Analysis Symbolic Execution SMT solver

바이너리보안약점분석자동화기술목표 바이너리파일에존재하는보안약점을자동으로검출 검출된보안약점이실제로공격가능한지확인 검출된보안약점의패치자동화

Cyber Grand Challenge 2016 The World's First All-Machine Hacking Tournament

전세계적인관심증폭 싱가폴 NUS 에서는 70 억규모의대형프로젝트가진행중 MS 에서도바이너리분석툴을상용화하려고계획중 바이너리보안약점분석자동화기술의방향 SW보안, 자동화된해킹-보호기법의핵심 정적분석기법을통한취약점자동탐지 기호실행을통한공격코드생성 취약점보호를위한패치자동생성 인공지능기술과결합 하나이상의취약점의연계, 다양한취약점공격에대한자동화 취약점탐지의효율향상을위한탐색전략개발

Question?