IoTcube를 이용한 소프트웨어 보안 취약점 자동...

41
IoTcube이용한 소프트웨어 보안 취약점 자동 분석 이희조 교수 고려대학교 소프트웨어보안 국제공동연구센터 [email protected] http://cssa.korea.ac.kr 2016.07.11.

Transcript of IoTcube를 이용한 소프트웨어 보안 취약점 자동...

Page 1: IoTcube를 이용한 소프트웨어 보안 취약점 자동 분석secuinside.com/archive/2016/2016-1-3.pdfIoTcube를 이용한 소프트웨어 보안 취약점 자동 분석 이희조

IoTcube를 이용한 소프트웨어 보안 취약점 자동 분석

이희조 교수

고려대학교

소프트웨어보안 국제공동연구센터

[email protected]

http://cssa.korea.ac.kr

2016.07.11.

Page 2: IoTcube를 이용한 소프트웨어 보안 취약점 자동 분석secuinside.com/archive/2016/2016-1-3.pdfIoTcube를 이용한 소프트웨어 보안 취약점 자동 분석 이희조

• 공격의 시작 인터넷 최초의 인터넷 웜

› Unix의 finger, rsh/rexec 소프트웨어가 가지고 있던 취약점을 이용

실생활에 영향을 미치는 형태로 발전

› Jeep 자동차에 대한 브레이크 원격 제어 사례

› 무선 제어를 통한 비행기 해킹 가능성 보고

• 소프트웨어 보안취약점은 생명의 위협을 초래 개발단계에서 취약점을 줄이는 것이 가장 효과적

1 /40

컴퓨터역사 박물관 ‘모리스 웜’ 디스크(미국 켈리포니아)

Jeep 자동차의 브레이크를 원격에서 제어

소프트웨어 취약점이란?

Page 3: IoTcube를 이용한 소프트웨어 보안 취약점 자동 분석secuinside.com/archive/2016/2016-1-3.pdfIoTcube를 이용한 소프트웨어 보안 취약점 자동 분석 이희조

기술 개요

국내대학 – 고려대학교 (주관기관)

국내기관 – 한국인터넷진흥원(KISA)

해외대학 – CMU / Oxford / ETH

주관 및 참여 기관

IoT SW 취약성 문제 증가로 인한 취약점 자동분석 플랫폼 필요

체계적인 취약점 분석 협업 환경 필요

과제 수행 필요성

참여 기관별 기 보유 기술기준 팀 구성

국제공동연구를 통한 세계수준 원천기술 확보

해킹 커뮤니티 연계 및 자문단 구성으로 최신 동향 반영

과제 추진 전략

기간: 2015년 6월 1일~2018년 5월 31일 (3년)

화이트박스∙블랙박스∙네트워크 팀별 자동분석 모듈 구현

각 팀별 모듈 통합 및 취약점 자동분석 플랫폼 구축

연구 개발 기간 및 내용

< IoT 소프트웨어 보안 취약점 자동분석 플랫폼 개념도 >

보안 비전문가도 IoT SW 취약점 전문적 분석 및 관리 가능한 취약점 자동 분석 플랫폼 개발

2 /40

Page 4: IoTcube를 이용한 소프트웨어 보안 취약점 자동 분석secuinside.com/archive/2016/2016-1-3.pdfIoTcube를 이용한 소프트웨어 보안 취약점 자동 분석 이희조

IoT SW 사용의 기하급수적 증가로 인한 관련 취약점 증가

보안 취약 소프트웨어 사용으로 IoT 디바이스 70% 공격에 노출

오픈소스 SW 보안 취약점으로 인한 상용시스템 위협 OpenSSL HeartBleed, 네트워크 통신 모듈

취약점으로 인한 피해

그러나, IoT 시스템 SW 관리 체계 미비 임베디드 SW 취약점 정보 공유 부족

IoT SW 취약점 문제 증가

자동검증기술을 통한 보안 비전문가도 IoT SW 취약점 전문적 분석 및 관리

취약점 분석 결과 공유를 통한 국내외 일원화된 전문 분석

IoT 시스템 소프트웨어 관련 국내외 보안 커뮤니티 조성

해결 방안

“美전문가, 여객기 수십 차례 해킹…엔진까지

조작했다“, 2015-5-18, 이데일리

“할리우드장로병원 전산망 해킹...용의자 360만 달러 요구 “ 2016.02.16 미주 중앙일보

기술 개발의 필요성

취약점 자동 분석 및 관리 플랫폼 필요

3 /40

Page 5: IoTcube를 이용한 소프트웨어 보안 취약점 자동 분석secuinside.com/archive/2016/2016-1-3.pdfIoTcube를 이용한 소프트웨어 보안 취약점 자동 분석 이희조

블랙박스테스팅, 화이트박스테스팅, 네트워크테스팅 세 가지 기술로 구성

각 분야별 세계 최고 수준의 해외 연구진과의 기술 개발 및 교류와 국제공동연구 추진

자동화된 탐지 및 검증 플랫폼으로 비전문가도 손쉽게 취약점 점검 가능

IoT 소프트웨어 취약점 자동분석 플랫폼 개발

연구 개발 목표

4 /40

Page 6: IoTcube를 이용한 소프트웨어 보안 취약점 자동 분석secuinside.com/archive/2016/2016-1-3.pdfIoTcube를 이용한 소프트웨어 보안 취약점 자동 분석 이희조

이희조 교수 김정현 교수

오학주 교수 허준범 교수 김환국 팀장

CMU David Brumley 교수

바이너리 취약점 분석

세계적 석학

Oxford Hongseok Yang 교수

소프트웨어 오류검증

세계적 석학

ETH Adrian Perrig 교수

네트워크 및 시스템 보안

세계적 석학

* 2016 QS 세계 대학 순위표 (Computer Science & Information Systems)

3개국 소재 세계 10대 대학의 세계적 석학들로 구성

기관별 대표 연구원

5 /40

Page 7: IoTcube를 이용한 소프트웨어 보안 취약점 자동 분석secuinside.com/archive/2016/2016-1-3.pdfIoTcube를 이용한 소프트웨어 보안 취약점 자동 분석 이희조

세계 TOP 10 대학 중 3개 대학 연구팀 참여로 세계선도 원천기술 개발(3위, 5위, 8위)

온/오프라인 정기 회의 공유 추진

고려대 내 국제 공동 연구 센터 설립 방학기간 2개월 방문연구 (해외 3개 대학 3~6명 파견) 월별 온라인 연구회의 / 분기별 전체 실적회의 /

연도별 오프라인 결과발표회의

국제 협력 연구

국내외 해킹 그룹 및 개발자 커뮤니티와 협력

세계 최고 해킹 팀 CMU PPP, 국내 해킹 그룹 CodeRed

세미나 및 기술 교류, 오픈소스 개발 커뮤니티에서 할용 및 피드백 반영

12개 대학 보안동아리 연합 Incognito

자동분석기술 소개 및 취약점 찾기 대회 추진

자문위원단 구성

연 2회 자문 위원회 개최 피드백 및 사용성 검증

커뮤니티 연계 및 자문

추진 전략

인코그니토 취약점 경진대회 자문 위원단 회의

6 /40

Page 8: IoTcube를 이용한 소프트웨어 보안 취약점 자동 분석secuinside.com/archive/2016/2016-1-3.pdfIoTcube를 이용한 소프트웨어 보안 취약점 자동 분석 이희조

센터의 주요 활동 및 연구 분야 홍보기사 게재

연합뉴스 2015.11.19 < 사물인터넷 보안기술, 해외 유명대학과 공동 연구한다> 보안뉴스 2016.03.10 <IoT 소프트웨어 보안 국제공동연구센터 탐방記> 연구개발을 위해 설립한 센터에 대한 소개 한국경제신문 2016.04.25 <사물인터넷 SW보안 취약점 자동으로 찾아주는 플랫폼 개발 > YTN 사이언스 2016.05.25

‘ 미래를 여는 K-ICT ‘ 다큐멘터리

국제공동연구센터 설립

각국의 연구원들 간 긴밀한 협력 관계 구축 목적

고려대학교 자연계캠퍼스 이학관 별관 내 106A호 국제 공동 연구 센터 설립

센터 전경 ▶

국제 공동연구센터

센터 언론 홍보 기사

▲ 보안뉴스 ▲ 연합뉴스

▲ 한국경제신문 ▲ YTN 사이언스

7 /40

Page 9: IoTcube를 이용한 소프트웨어 보안 취약점 자동 분석secuinside.com/archive/2016/2016-1-3.pdfIoTcube를 이용한 소프트웨어 보안 취약점 자동 분석 이희조

연구개발팀

연구 개발 내용

8 /40

Black-box Testing Team

• 동적 블랙박스 테스팅 기법에 기반한 취약점 분석 및 자동화 검증 도구 개발

• 카네기멜론대학교, 고려대학교

White-box Testing Team

• 정적 화이트박스 테스팅 기법에 기반한 취약점 분석 및 자동화 검증 도구 개발

• 옥스포드대학교, 고려대학교

Network Testing Team

• 네트워크 코드/프로토콜 취약점 탐지 자동화 연구

• 스위스연방공과대학교, 고려대학교

Platform Team

• 블랙박스, 화이트박스, 네트워크 취약점 분석 모듈의 통합 플랫폼 개발 및 취약점 DB를 이용한 검증

• 한국인터넷진흥원, 고려대학교

Page 10: IoTcube를 이용한 소프트웨어 보안 취약점 자동 분석secuinside.com/archive/2016/2016-1-3.pdfIoTcube를 이용한 소프트웨어 보안 취약점 자동 분석 이희조

블랙박스 테스팅 팀

상태기반 스마트 퍼징 프로토콜 상태별 패킷 구조를 따르는 시드값 기반 필드값 변조

(1) Random Fuzzing 필드 구조 고려 X 올바르지 않은 메시지 규격 크래시 유발 확률 저하 프로토콜 상태 고려 X 일부 상태에 한정된 퍼징

(2) Smart Fuzzing 필드 구조 고려 O 올바른 메시지 규격 크래시 유발 확률 상승 프로토콜 상태 고려 O RFC 문서에 명시된 모든 프로토콜 상태 퍼징

실제 유효 크래시 여부 판별 퍼징 중 Instrumentation 을 통한 실제 크래시 유효성 확인

9 /40

Page 11: IoTcube를 이용한 소프트웨어 보안 취약점 자동 분석secuinside.com/archive/2016/2016-1-3.pdfIoTcube를 이용한 소프트웨어 보안 취약점 자동 분석 이희조

블랙박스 테스팅 팀

현재 • Bluetooth 지원 기기 대상 Stateful Fuzzer

• RFC 기반 State Machine 구성 및 자동 스케줄링

• 타겟 Bluetooth Stack의 Spec 유효성 검사 가능

• 프로토콜 대상 State를 자동으로 Traverse 하는 Scheduler 모듈 탑재 • 사용자로부터 Protocol 구조에 대한 지식 요구 X

• 발생 크래시 대상 웹 플랫폼 내 분석 Visualization

미래 • 지원 프로토콜 확대 및 웹 분석 플랫폼 탑재

• Bluetooth -> Wi-Fi / ZigBee / …

• 유효 크래시 분석 구체화 • 패킷 송신 로그 도식화 / Packet field 세부 도식화 / 변조 과정 시각화

블랙박스 테스팅의 현재와 미래

10 /40

Page 12: IoTcube를 이용한 소프트웨어 보안 취약점 자동 분석secuinside.com/archive/2016/2016-1-3.pdfIoTcube를 이용한 소프트웨어 보안 취약점 자동 분석 이희조

Bluetooth Stack Smasher

B사 Bestorm C사 Defensics bfuzz

금액 무료 (오픈소스) 유료 (상용) 유료 (상용) 무료 (오픈소스)

스마트퍼징

O O O O

길이 변조 O O O O

스테이트퍼징

△ (Transition 없음) X O O

퍼징가능 블루투스 프로토콜

1 / 4 L2CAP(AVCTP,

AVDTP)

4 / 4 L2CAP(AVCTP, AVDTP) / SDP /

RFCOMM / OBEX

4 / 4 L2CAP(AVCTP, AVDTP) / SDP /

RFCOMM / OBEX

4 / 4 L2CAP(AVCTP,

AVDTP) / SDP / RFCOMM / OBEX

커버리지 약 40 % (Transition

없음) 약 20 %

(1개의 state) 100 % 100 %

데이터 변조

X (단순변조) O O O

사전취약패킷 정의

X O X O

블랙박스 테스팅 팀

주요 퍼징 도구 기능별 비교

11 /40

Page 13: IoTcube를 이용한 소프트웨어 보안 취약점 자동 분석secuinside.com/archive/2016/2016-1-3.pdfIoTcube를 이용한 소프트웨어 보안 취약점 자동 분석 이희조

• Fuzzing 환경 OS : Ubuntu 14.04 / CPU : i7-5600U 2.66Ghz / RAM : 16GB Bluetooth Stack : BlueZ (version 5.35) Target Device : L사 스마트 냉장고 CSSA의 경우 사전 알려진 취약 패킷을 우선적으로 등록

Tools Metric Defensics CSSA

Target Protocol

L2CAP

Test case # 17 1

수행 시간 4 분 37 초 <1 초

크래시 발생 7 1

RFCOMM

Test case # 1 1

수행 시간 <1 초 <1 초

크래시 발생 1 1

SDP

Test case # 1590 182000

수행 시간 38 분 4 초 21 분 52 초

크래시 발생 0 0

Severe Crash

Severe Crash

Fast Testing

블랙박스 테스팅 팀

주요 퍼징 도구 성능 비교

12 /40

Page 14: IoTcube를 이용한 소프트웨어 보안 취약점 자동 분석secuinside.com/archive/2016/2016-1-3.pdfIoTcube를 이용한 소프트웨어 보안 취약점 자동 분석 이희조

블랙박스 테스팅 팀

ROADMAP

2015년 10월

2015년 5월

2016년 5월

2016년 10월

2017년 5월

퍼징 모듈 개발 퍼징 모듈 개발

퍼징 분석 웹 UI 퍼징 분석 웹 UI

퍼징 모듈 개발

퍼징 분석 웹 UI

Windows 퍼징 모듈 Windows 퍼징 모듈

완료 진행 계획

13 /40

Page 15: IoTcube를 이용한 소프트웨어 보안 취약점 자동 분석secuinside.com/archive/2016/2016-1-3.pdfIoTcube를 이용한 소프트웨어 보안 취약점 자동 분석 이희조

화이트박스 테스팅 팀

오픈소스 소프트웨어의 증가와 더불어 코드 클론이 증가 • 코드 재사용으로 코드 클론의 점진적 증가 • 2,500개의 유명 오픈 소스 소프트웨어 중 85 % 에서 코드 클론이 발견됨 • 코드 클론을 통한 취약점의 확산 가능성 존재

코드 클론 탐지 기술 개발 • 취약 코드 수집 및 분류 자동화 • 유사 코드 클론 탐지 기술 도입

› 추상화, 정규화 기법 이용

취약점 검증 자동화 기술 개발 • 역방향 데이터 추적

› 취약 지점부터 초기 입력 지점까지 역방향 추적 후 Concolic 테스팅을 위한 테스트 코드 삽입

• Concolic 테스팅 기반 취약점 검증 › 무작위로 생성된 입력을 통한 취약점 검증

코드클론 기반의 취약점 탐지 및 검증

취약 코드 발굴 프로세스

취약점 DB 개발 소스 코드

취약 함수 발견

코드 클론 탐지

14 /40

Page 16: IoTcube를 이용한 소프트웨어 보안 취약점 자동 분석secuinside.com/archive/2016/2016-1-3.pdfIoTcube를 이용한 소프트웨어 보안 취약점 자동 분석 이희조

의미적

코드 클론

화이트박스 테스팅 팀

현재 • Syntax 기반 추상화 및 정규화 기술 적용

• 변수명, 자료형, 함수 인자가 바뀌어도 코드 클론 탐지

• 개행, 공백, 주석의 변화가 있어도 코드 클론 탐지

미래 • Semantics 기반 추상화 기술 도입

• Syntax가 달라도, 의미가 같다면 코드 클론으로 탐지

취약 코드 클론 탐지의 현재와 미래

int i = 0; for(i = 0; i < 10 ; i ++){ printf(“%d\n”, i); }

int i; i = 0; while(i < 10){ printf(“%d\n”, i); i++; }

15 /40

Page 17: IoTcube를 이용한 소프트웨어 보안 취약점 자동 분석secuinside.com/archive/2016/2016-1-3.pdfIoTcube를 이용한 소프트웨어 보안 취약점 자동 분석 이희조

화이트박스 테스팅 팀

Apache HTTPD Server

• 세계 웹 서버의 52.2 % 점유 (W3Techs.com, 2016년 7월 기준)

• IoTcube 플랫폼을 통해 HTTPD의 최신 버전 (2.4.20)에서 13개의 취약 코드 클론 탐지

• 그 중, CVE-2012-0876의 코드 클론이 존재함을 확인 • XML 파싱 라이브러리인 expat의 구 버전에서 발생하는 Hash DoS Attack

• 2012년에 expat 개발팀에서 취약점 패치를 배포하였음

• 검증팀을 통해 해당 취약점 검증 실시 • 해당 취약점을 trigger 하여 최신 버전 Apache 서버에 DoS 공격 성공

• 공격시 Daemon process의 CPU 사용률을 100 % 로 만들어 서버에서의 다른 작업이 불가능하도록 만듦

• Apache security team에 취약점 보고 완료 • 2016년 5월 보고

• 보안 팀과 개발 팀이 library dependency 해결을 위해 discuss 하겠다는 답변

IoTcube를 통한 실제 취약점의 발견

16 /40

Page 18: IoTcube를 이용한 소프트웨어 보안 취약점 자동 분석secuinside.com/archive/2016/2016-1-3.pdfIoTcube를 이용한 소프트웨어 보안 취약점 자동 분석 이희조

화이트박스 테스팅 팀

Apache HTTPD Server

• 취약점 개요

IoTcube를 통한 실제 취약점의 발견

17 /40

Page 19: IoTcube를 이용한 소프트웨어 보안 취약점 자동 분석secuinside.com/archive/2016/2016-1-3.pdfIoTcube를 이용한 소프트웨어 보안 취약점 자동 분석 이희조

최신 Android OS 탑재 스마트폰 테스트 결과 74개의 취약점 발견

CVSS 7.0 이상의 심각한 취약점 16건 발견 - CVE-2014-3153, CVE-2015-5157 등

IoTcube 플랫폼을 통해 261개의 소프트웨어가 테스트됨 (5월 17일 1개월 운영 기준)

• 2,807,435 파일, 36,226,883 함수, 1,848,121,663 라인 • 그 중 20,639 개의 취약 함수 발견

신규 취약점 탐지 누적 건 수 (안드로이드 사례 분석) IoT 소프트웨어를 대표하는 Android에서 발견된 취약점 중

기존에 발견되지 않은 새로운 취약점 탐지 건수

0 0 0 2 0 0 1 6 7

49

9

0

20

40

60

2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016

연도별 취약점 분포

스마트폰 2016년 5월 출시

안드로이드Marshmallow

2015년 9월 배포

Linux kernel 3.18 2014년 12월 배포

화이트박스 테스팅 팀

18 /40

Page 20: IoTcube를 이용한 소프트웨어 보안 취약점 자동 분석secuinside.com/archive/2016/2016-1-3.pdfIoTcube를 이용한 소프트웨어 보안 취약점 자동 분석 이희조

화이트박스 테스팅 팀

코드 클론에 의한 취약점 발생 원인

• Android 기기의 개발 생태계 상 발생 • “리눅스 커널 안드로이드 OS 제조사별 제품” 의 과정을 통해 스마트폰이 개발됨

• 사용하는 리눅스 커널의 배포일과 스마트 폰의 출시일 사이에 1.5 ~ 2년의 격차가 존재

• 그 사이에 발생하거나 보고된 취약점의 보안 패치는 출시 제품에 반영되지 않음

• 라이브러리 업데이트 미실시로 인해 발생 • 깃허브 상위 1000개의 오픈소스 프로젝트 중 102개의 프로젝트에서 취약점 발견

• 그 중, 87개 (85.3 %)의 프로젝트에서 발견된 취약점이 구 버전의 라이브러리에 존재

• 미사용 코드의 방치로 인해 발생 • 개발 편의 상 미사용 코드 (테스트 코드, 버그가 있는 코드, 업데이트 전의 코드 등)를 삭제하지

않고 방치하는 경우 해당 부분에서 취약점이 발생함

취약점 탐지 사례 연구를 통한 원인 분석

19 /40

Page 21: IoTcube를 이용한 소프트웨어 보안 취약점 자동 분석secuinside.com/archive/2016/2016-1-3.pdfIoTcube를 이용한 소프트웨어 보안 취약점 자동 분석 이희조

화이트박스 테스팅 팀

Q) 취약 코드가 발견되었지만, 우리 프로그램에서 사용하지 않는 코드입니다. 이 경우 문제가 되나요?

A) Dead code나 unreachable code 일지라도 control flow bending 등의 조작을 통해 해당 코드에 도달하여 취약점을 trigger할 수 있습니다.

Q) 발견된 취약점은 특정 flag 를 enable 했을 때만 발생하는데, 우리 프로그램은 절대 flag를 enable하지 않습니다. 이 경우 문제가 되나요?

A) 공격자는 Buffer overflow 등 기법을 통해 flag값을 조작하여 해당 취약점에 도달할 수 있으며, 이로부터 각종 공격을 펼칠 가능성이 존재합니다.

Q) 취약 코드 클론이 너무 많이 발견되었는데, 이제 뭘 하면 되나요?

A) IoTcube에서 분석하여 제공하는 CVSS 분포를 보고, CVSS 점수가 높은 취약점부터 우선적으로 조치하는 것이 좋습니다. 또한, 라이브러리에서 취약점이 발견된 경우, 최신 버전의 라이브러리로 업데이트하세요.

자주 묻는 질문

20 /40

Page 22: IoTcube를 이용한 소프트웨어 보안 취약점 자동 분석secuinside.com/archive/2016/2016-1-3.pdfIoTcube를 이용한 소프트웨어 보안 취약점 자동 분석 이희조

화이트박스 테스팅 팀

ROADMAP

2015년 10월

2015년 5월

2016년 5월

2016년 10월

2017년 5월

취약 코드 클론 탐지 기술 연구 개발

취약 코드 클론 탐지 IoTcube 탑재

취약점 자동 검증 엔진 IoTcube 탑재

취약점 자동 검증 엔진 기술 연구

유사 취약 코드 탐지 기술 연구 개발

유사 취약 코드 탐지 IoTcube 탑재

취약 코드의 지속적 수집

완료 진행 계획

21 /40

Page 23: IoTcube를 이용한 소프트웨어 보안 취약점 자동 분석secuinside.com/archive/2016/2016-1-3.pdfIoTcube를 이용한 소프트웨어 보안 취약점 자동 분석 이희조

네트워크 프로토콜 취약점 자동 분석 SSL/TLS 취약점 자동분석 기술 개발 내용

SSL/TLS 취약점 분류 취약점 탐지기준 설정

NVD(Network Vulnerability Detection) Tool 개발 지정한 서버를 대상으로 탐지 수행 발견된 취약점 정보를 웹으로 출력 Heartbleed, RC4, POODLE, SLOTH, DROWN 탐지가능 나머지 취약점 탐지 및 신규 취약점 탐지 방법 연구 수행 예정

네트워크 테스팅 팀

22 /40

Page 24: IoTcube를 이용한 소프트웨어 보안 취약점 자동 분석secuinside.com/archive/2016/2016-1-3.pdfIoTcube를 이용한 소프트웨어 보안 취약점 자동 분석 이희조

SSL/TLS 공격 모델 정의

• SSL/TLS 공격 모델을 3가지 카테고리로 분류 이론(theory), 프로토콜(protocol), 구현(Implementation)

• 17개의 공격 모델 분류

SSL StrippingRC4 Attack

Padding Oracle...

Theory

CRIMEBREACHBEAST

...

Protocol

HeartbleedFREAK

POODLE...

Implementation

SSL/TLS

네트워크 테스팅 팀

23

Page 25: IoTcube를 이용한 소프트웨어 보안 취약점 자동 분석secuinside.com/archive/2016/2016-1-3.pdfIoTcube를 이용한 소프트웨어 보안 취약점 자동 분석 이희조

네트워크 취약점 탐지 (NVD) 툴

1. CSSA serve에서 취약점탐지 프로그램 다운

2. 타깃서버의 IP 또는 Host 이름 입력

3. 타깃서버 정보로 부터 ‘.Info’ 파일 생성

4. CSSA server에서 ‘.Info’ 파일 분석

5. 웹상에서 분석결과 확인

CSSA Server

Local Network

Client PC

Target Server Run

Executive Program

→ Info

Request

Response

Info Web view results

네트워크 테스팅 팀

24

Page 26: IoTcube를 이용한 소프트웨어 보안 취약점 자동 분석secuinside.com/archive/2016/2016-1-3.pdfIoTcube를 이용한 소프트웨어 보안 취약점 자동 분석 이희조

25

• 스캐닝 대상 웹사이트 Alexa top 100 웹사이트 (global top websites)

한국 top 100 웹사이트 (Korea top websites)

한국 공기업 291 웹사이트 (Korean enterprise websites)

IoTcube를 통한 실제 웹사이트 취약점 현황

Ⅱ-5. 네트워크 테스팅 팀

Page 27: IoTcube를 이용한 소프트웨어 보안 취약점 자동 분석secuinside.com/archive/2016/2016-1-3.pdfIoTcube를 이용한 소프트웨어 보안 취약점 자동 분석 이희조

26

• 스캐닝 결과

웹사이트 TLS 지원 현황

IoTcube를 통한 실제 웹사이트 취약점 현황

84%

76%

68%

0% 20% 40% 60% 80% 100%

Sup

po

rt o

f TL

S co

nn

ect

ion

Korea top websites Global top websites Korea public enterprise websites

Ⅱ-5. 네트워크 테스팅 팀

Page 28: IoTcube를 이용한 소프트웨어 보안 취약점 자동 분석secuinside.com/archive/2016/2016-1-3.pdfIoTcube를 이용한 소프트웨어 보안 취약점 자동 분석 이희조

27

• 스캐닝 결과

탐지된 취약점 및 취약한 암호 primitives 사용 현황

IoTcube를 통한 실제 웹사이트 취약점 현황

91%

0%

9%

19% 15%

0%

9%

99%

0% 0% 0%

36%

0% 0%

98%

0%

16%

67%

14%

0%

16%

0%

20%

40%

60%

80%

100%

POODLE Heartbleed SLOTH DROWN RC4 MD5 SHA1

Korea top websites

Global top websites

Korea public enterprise websites

SSL/TLS 취약점 취약한 암호 primitives

Ⅱ-5. 네트워크 테스팅 팀

Page 29: IoTcube를 이용한 소프트웨어 보안 취약점 자동 분석secuinside.com/archive/2016/2016-1-3.pdfIoTcube를 이용한 소프트웨어 보안 취약점 자동 분석 이희조

28

기존 네트워크 탐지 도구 비교

기존 탐지 툴과의 비교

Censys NVD

• Internet-wide 스캐닝

• 얕고 간단한 분석 • Heartbleed 탐지에 한정

• 타깃 서버에 대한 깊이 있는 분석

• 다양한 취약점 탐지 • Heartbleed, SLOTH, DROWN,

POODLE, 취약한 암호 primitives

Ⅱ-5. 네트워크 테스팅 팀

Page 30: IoTcube를 이용한 소프트웨어 보안 취약점 자동 분석secuinside.com/archive/2016/2016-1-3.pdfIoTcube를 이용한 소프트웨어 보안 취약점 자동 분석 이희조

Ⅱ-5. 네트워크 테스팅 팀

SSL/TLS 프로토콜 취약점 탐지 3가지 카테고리 (이론, 프로토콜, 구현 상의 취약점) 로 분류

0

SSL/TLS 취약점 탐지 기준 확립 Heartbleed, POODLE, SLOTH, DROWN, 취약약 암호 primitives (RC4, MD5, SHA1) 에 대한 분석 및 취약점 탐지 기준 확립

Page 31: IoTcube를 이용한 소프트웨어 보안 취약점 자동 분석secuinside.com/archive/2016/2016-1-3.pdfIoTcube를 이용한 소프트웨어 보안 취약점 자동 분석 이희조

30

ROADMAP

2015년 10월

2015년 5월

2016년 5월

2016년 10월

2017년 5월

Heartbleed, PODDLE, SLOTH, DROWN, 및 3가지 취약한 암호 primitives 탐지 툴 구현

SSL/TLS 취약점 탐지 IoTcube 탑재

네트워크 응용계층 취약점 탐지 IoTcube 탑재

쿠키 활용 신규 취약점 탐지 연구

완료 진행 계획

SSL/TLS 취약점 탐지 기준 확립 및 구현

Malformed 패킷 활용신규 취약점 탐지 연구

Ⅱ-5. 네트워크 테스팅 팀

Page 32: IoTcube를 이용한 소프트웨어 보안 취약점 자동 분석secuinside.com/archive/2016/2016-1-3.pdfIoTcube를 이용한 소프트웨어 보안 취약점 자동 분석 이희조

분석 플랫폼

1 . D e s i g n 사용자에게 친화적이고 요구에

적합한 인터페이스 디자인

2. Implement 새로운 기능 및 피드백 적용

3. Feedback 실 사용자를 대상으로 사용성 분석 및 검증

취약점 분석도구 플랫폼 사용자 인터페이스 디자인 및 인터액션 모델 설계 • 잠재 사용자의 사용자 분석 결과 및 HCI의 인터페이스 디자인 이론에 입각

실 사용자의 사용성 평가를 바탕으로 인터페이스를 지속적으로 개선 및 고도화

사용자 분석을 통한 요구사항 도출

HCI 사용자

인터페이스 디자인

이론에 기초

자동분석 플랫폼 개발 및 검증

31 /40

Page 33: IoTcube를 이용한 소프트웨어 보안 취약점 자동 분석secuinside.com/archive/2016/2016-1-3.pdfIoTcube를 이용한 소프트웨어 보안 취약점 자동 분석 이희조

단기강좌 프로그램 구성 및 : 오픈소스 소프트웨어와 보안

2016 겨울 방문연구 : CMU, Oxford, ETH (학생6인 파견) KISA - George Washinton Univ. IoT 보안 연합 세미나 발표

캄보디아 정부대표단 방문 인코그니토 취약점 찾기 대회 개최 지원 양홍석 교수 세미나 개최 주관 (Univ. of Oxford) 차상길 박사 세미나 개최 주관 (Carnegie Mellon University )

2015.06 소프트웨어보안 국제공동연구센터 오픈 연구과제 : IoT 소프트웨어 보안 취약점 자동 분석 기술 개발

2015.08

2015.09

2015.11 소프트웨어보안 국제공동연구센터 개소식 개최

2016.01

2016.04 취약점 분석 플랫폼 <IoTcube> 서비스 개시 제 1회 결과 발표회 Workshop 개최

2016.05

센터 활동

32 /40

Page 34: IoTcube를 이용한 소프트웨어 보안 취약점 자동 분석secuinside.com/archive/2016/2016-1-3.pdfIoTcube를 이용한 소프트웨어 보안 취약점 자동 분석 이희조

2015.08.25 : 캄보디아 정부 대표단 방문

캄보디아 정부대표단 방문, 국제 공동연구 및 보안 기술 소개

2015.08.29 : 인코그니토 취약점 찾기 대회 개최 국내 주요 12개 대학 연합 보안 동아리(Inc0gnito) IoT 기기 취약점 찾기 대회 진행 실제 IoT 기기의 취약점을 찾고 설문을 진행하여 자료 수집 및 연구에 활용

2015.06 : 소프트웨어 보안 국제공동 연구센터 개소 연구명 : IoT 소프트웨어 보안 취약점 자동 분석 기술 개발

2015.09.16 : 차상길 박사 세미나 (카네기멜론 대학교) 강연 제목 :Towards Resource-Aware Fuzzing

2015.09.17 : 양홍석 교수 세미나 (옥스퍼드 대학교) 강연제목 : How to find a good program abstraction automatically?

33 /40

Page 35: IoTcube를 이용한 소프트웨어 보안 취약점 자동 분석secuinside.com/archive/2016/2016-1-3.pdfIoTcube를 이용한 소프트웨어 보안 취약점 자동 분석 이희조

2015.11.19 : 소프트웨어보안 국제공동연구센터 개소식 및 자문위원회 회의 개최

2016. 01 ~ 2016.03 : 2016 겨울 방문연구 - CMU, Oxford, ETH (학생6인 파견)

카네기멜론대학교

옥스퍼드 대학교

취리히연방공과대학교

34 /40

Page 36: IoTcube를 이용한 소프트웨어 보안 취약점 자동 분석secuinside.com/archive/2016/2016-1-3.pdfIoTcube를 이용한 소프트웨어 보안 취약점 자동 분석 이희조

2016.04.28 : 소프트웨어보안 국제공동연구센터 제 1회 워크숍 행사 및 자문위원회 개최

2016.05.12 : 단기강좌 프로그램 구성 및 후원 < 오픈소스 소프트웨어와 보안 >

35 /40

Page 37: IoTcube를 이용한 소프트웨어 보안 취약점 자동 분석secuinside.com/archive/2016/2016-1-3.pdfIoTcube를 이용한 소프트웨어 보안 취약점 자동 분석 이희조

분석플랫폼 프로토타입 개발 <IoTcube> <IoTcube> 분석플랫폼 프로토타입 데모

<IoTcube> 자동분석 플랫폼

http://iotcube.korea.ac.kr/ 2016.04.19 오픈

36 /40

Page 38: IoTcube를 이용한 소프트웨어 보안 취약점 자동 분석secuinside.com/archive/2016/2016-1-3.pdfIoTcube를 이용한 소프트웨어 보안 취약점 자동 분석 이희조

2016년 7월 6일 기준 : 총 사용자 244명 - 블랙박스 : 5개의 기기에서 총 37개의 충돌(crash) 발견 - 화이트박스 : 약 5,700만개 함수와 약 28억 line의 코드 분석

<IoTcube> 통계

37 /40

Page 39: IoTcube를 이용한 소프트웨어 보안 취약점 자동 분석secuinside.com/archive/2016/2016-1-3.pdfIoTcube를 이용한 소프트웨어 보안 취약점 자동 분석 이희조

Ⅵ-3. <IoTcube> 시연 동영상

<화이트박스 테스팅> 최신 Android 스마트폰 대상 취약 코드클론 탐지

<블랙박스 테스팅> 타겟 디바이스 대상 Bluetooth 프로토콜 스캔 및 자동 Stateful 퍼징 분석

<네트워크 테스팅> 타겟서버 대상 SSL/TLS 프로토콜 취약점 탐지 및 분석

38 /40

Page 40: IoTcube를 이용한 소프트웨어 보안 취약점 자동 분석secuinside.com/archive/2016/2016-1-3.pdfIoTcube를 이용한 소프트웨어 보안 취약점 자동 분석 이희조

• IoT 소프트웨어 및 네트워크 보안 강화

• 비전문가도 단시간에 취약점 점검 가능

• 취약점 점검 커뮤니티 활성화로 고급인력 양성

• 높은 수준의 취약점 분석 결과를 활용하여 안전한 IoT 인프라 구축 효과

• 국내 취약점 분석 시장의 해외 기술 의존도 감소

• 미국, 영국, 스위스 등 기술 선도국과의 공동 연구를 통한 글로벌 리더십 확보 및 기술격차 해소

• IoT 기반 사회 인프라의 안전도 향상

기술적 측면

경제∙산업적 측면 사회적 측면

“Here have we established the center for everyone in the world

who can secure their own IoT devices by themselves!”

Center Mission

기대효과

39 /40

생각 못한 많은 취약점이 IoTcube를

통해 발견되고 있음 IoTcube는 지속적인 업그레이드를

통해 SW 취약점 발견과 제거에 활용될 기술 개발 예정임

Page 41: IoTcube를 이용한 소프트웨어 보안 취약점 자동 분석secuinside.com/archive/2016/2016-1-3.pdfIoTcube를 이용한 소프트웨어 보안 취약점 자동 분석 이희조

We are hoping for your kind attentions and interests toward the ceaseless efforts of CSSA!

감사합니다 !

40 /40