Secure Software Lab. 1 Behavior Based Software Theft Detection 고급 운영체제론 2013 년 10 월 7 일 이 찬 희이 찬 희

Slides:



Advertisements
Similar presentations
CI(Continuous Integration) 이학성. C ontinuous I ntegration? 2 지속적으로 품질관리 를 적용하는 과정 개발자가 기존 코드의 수정 작업 을 시작할 때, 코드 베이스의복사본을 받아서 작업을 시작하면서 코드의 변경.
Advertisements

경영학과 이은지 경영학과 윤혜리 경영학과 이지은 경영학과 유승연 경영 성공사례 분석.
1 ‘ 우리나라의 주요공업 ’ - 정도웅, 주민혁, 안수진, 백경민, 엄다운, 박경찬 -.
Real Time Systems Lab. rtlab.knu.ac.kr 무인 헬리콥터 자율비행 소프트웨어의 실시간 성능 개선을 위한 CAN 기반 센서 네트워크 경북대학교 실시간 시스템 연구실 이재신.
IT집중교육1 (Mobile Multimedia Service & System Design)
Linux/UNIX Programming
공부할 내용 조상들이 살던 곳 자연과 잘 어울리는 한옥 지방에 따라 서로 다른 집의 모양 섬 지방의 집
사랑, 데이트와 성적 자율성 :데이트 성폭력!!! 성폭력예방교육 전문강사 / 여성학 전공 신 순 옥.
1636 쇼핑몰.
Image & Video processing
퇴계와 율곡의 사회사상 비교 남 일 재 동서대학교 교수/ 정치학 박사 1. 퇴계 이황과 율곡 이이의 약전(略傳)
1. 신뢰할 수 있는 싸이트 등록 인터넷 익스플로러 실행 후 실행
9장. C 언어의 핵심! 함수. 9장. C 언어의 핵심! 함수 9-1 함수의 정의와 선언 main 함수 다시 보기 : 함수의 기본 형태 { } 그림 9-1.
501. 군인들의 세상 502. 민정 이양과 한일회담 이선용.
컴퓨터 프로그래밍 기초 [Final] 기말고사
Power Java 제2장 자바 개발 도구.
KAI 장학생 모집 요강 선발개요 선발일정 지원내역 문 의 처
Ubiquitous Computing Practice - Part I (Installation) -
07. 디바이스 드라이버의 초기화와 종료 김진홍
CHAPTER 02 OpenCV 개요 PART 01 영상 처리 개요 및 OpenCV 소개.
컴퓨터과학 전공탐색 배상원.
컴퓨터정보공학부 서버 안내 [ IBM x3500 ] it.sangji.ac.kr ict.sangji.ac.kr 혹은
for Robust Facial Landmark Localization
WinCE Device Driver 실습 #3
WinCE Device Driver 실습 #2
Power Java 제14장 배치 관리자.
병렬 처리/컴퓨터 기초.
ATmega128 FND 실습 휴먼네트웍스 기술연구소
Microprocessor I/O Port & CLCD Noh Jin-Seok.
AVR – ATmega103(ATMEL) Compilers & ISP
Method & library.
Linux/UNIX Programming
이름 : 황 상 두 전화번호 : 이메일 : PinTool 이름 : 황 상 두 전화번호 : 이메일 :
Go Lang 리뷰 이동은.
10. 소프트웨어 아키텍처 뷰 설계 명지대학교 융합소프트웨어학부 김정호 교수.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
Tiny OS와 NesC Tiny OS Part1. Won Mi Sun – 17 지능제어 연구실.
About ‘GPs’ 베트남어과 김지연 영어학과 박진형.
소아 알레르기 발표자: 김제범 김재운, 김은진, 김지윤, 김지혜.
정치개혁의 가능성 논의 권력구조 개편을 통하여 본 -개헌을 통한 정부형태의 변화를 중심으로 [한국정치론] 윤성이 교수님
평가기준 개요 및 보안기능요구사항 사업부 평가사업팀 조규민.
Linux/UNIX Programming
치유정원 화훼디자인계열 가드닝전공 오현경.
10장. 실현기술 10.1 유한 어장 영향 10.2 디지털 필터의 기본 하드웨어 10.3 하드웨어에 의한 디지털필터 실현
9장. C 언어의 핵심! 함수. 9장. C 언어의 핵심! 함수 9-1 함수의 정의와 선언 main 함수 다시 보기 : 함수의 기본 형태 { } 그림 9-1.
노년기 발달 장안대 행정법률과 세류반 정 오 손
클러스터 시스템에서 효과적인 미디어 트랜스코딩 부하분산 정책
DK-128 개발환경 설정 아이티즌 기술연구소
13주 실습강의 학기, 소프트웨어 설계 및 실험(Ⅰ).
태국 문학 욜라다 왓짜니 싸란차나 팟차라와라이 끼따야펀 르앙다우 타니다.
7주차: Functions and Arrays
창 병 모 숙명여대 전산학과 자바 언어를 위한 CFA 창 병 모 숙명여대 전산학과
세일즈의 원칙과 기술.
발표자 : 이지연 Programming Systems Lab.
2장. 솔라리스10 설치. 2장. 솔라리스10 설치 Solaris 1. 솔라리스10 설치 전 시스템 정보 확인 하드웨어 / 소프트웨어 준비 사항 설치 과정 이해 웹사이트 활용 VMware 다운로드 Solaris10 SPARC.
운영체제 (Operating Systems)
톡 튀는 컬러의 상큼한 오피스 톡 사무공간계획 토탈실내건축을 다녀오고 나서 김효선 류문경
08. 소프트웨어 아키텍처 설계 전략 명지대학교 융합소프트웨어학부 김정호 교수.
Numerical Analysis Programming using NRs
.Net FrameWork for Web2.0 한석수
동적메모리와 연결 리스트 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원 E304호,
RPTree 코드분석 (월) Dblab 김태훈.
4. IP 데이터그램과 라우팅 (6장. 인터넷과 IP) IP 데이터그램 : 특정 물리망에 종속되지 않은 가상의 패킷 형식.
워밍업 실뭉치 전달게임.
Power Java 제14장 배치 관리자.
29장. 템플릿과 STL 01_ 템플릿 02_ STL.
음파성명학 최종욱.
프로젝트 개요 OPENSTACK을 이용한 교육용 CLOUD 환경 구축! 교수님(관리자)와 학생(이용자)으로 구분.
7 생성자 함수.
LEON3 DBT 엔진을 이용한 ERC32 기반의 하이퍼바이저 프로토 타입 개발
Presentation transcript:

Secure Software Lab. 1 Behavior Based Software Theft Detection 고급 운영체제론 2013 년 10 월 7 일 이 찬 희이 찬 희

Secure Software Lab. 소프트웨어 버스마크 : – 프로그램을 식별하는데 사용될 수 있는 프로그램의 고유한 특징 What is Software Birthmark?

Secure Software Lab. (R1) Resiliency to semantics-preserving obfuscation techniques (R2) Capability to detect theft of components, which may be only a small part of the original program (R3) Scalability to detect large-scale commercial or o pen source software theft (R4) Applicability to binary executables (R5) Independence to platforms such as operating systems and program languages (R1) ~ (R5) 모두를 만족시키지는 못함 기존 소프트웨어 버스마크의 한계

Secure Software Lab. SCDG –System Call Dependence Graph 제안 소프트웨어 버스마크 Data dependence Control dependence

Secure Software Lab. 시스템 개요

Secure Software Lab. SCDGB: SCDG Birthmark SCDGB is the subgraph of the graph SCDG

Secure Software Lab. 전단사함수 : 일대일 대응 동형 전단사 (bijective function) & 동형 (ismorphic)

Secure Software Lab. 수학에 맞설 수 있는 용기를 … Break time…

Secure Software Lab. System Design

Secure Software Lab. Valgrind 의 플러그인 형태로 Hawk 개발 Valgrind 를 통한 바이너리 decompile  IR Block Valgrind 는 시스템 콜 후킹 기능 제공 Hawk – 메모리 바이트와 레지스터 조작 및 analysis code 를 instrumentation – 후킹한 시스템 콜을 통해 노드 및 edge 등 생성 – 현재 data dependence 만으로 충분하여 control dependence 사용 X Dynamic analysis

Secure Software Lab. 대형 프로그램에서의 메모리 관리를 위해 참조 카운팅 사용 오버헤드를 줄이기 위해 지연된 참조 카운팅 사용 Dynamic analysis – IR instrumentaion

Secure Software Lab. Noise 때문에 같은 System call sequence 가 다른 행위 를 하는 것으로 판단 몇몇 타입의 시스템 콜 무시 –gettimeofday 모든 메모리 관리 system call 무시 – 모든 malloc 함수가 시스템 콜을 가지진 않음 – 동일한 프로그램이 상이한 메모리 크기를 가진다 편의를 위해 비슷한 시스템 콜 무시 –fstat, stat … 실패한 시스템 콜 무시 –open twice Noise Filtering

Secure Software Lab. Elsa 와 같은 툴로 컴포넌트 함수정보를 가진 list L 생성 혹은 Valgrind 를 사용하여 DLL 컴포넌트에서 정보 도출 –callers of invoked system call SCDG 및 동적 콜 트리 생성 ( 콜 스텍 합성 ) SCDG 를 여러 개의 subgraphs 로 분할 중복되는 SCDG subgraphs 제거 Extraction of SCDG Birthmarks

Secure Software Lab. n * m pairs subgraph isomorphism testing –n, m : birthmarks VF subgraph isomorphism 알고리즘 사용 Pruning Search Space Birthmark Comparison

Secure Software Lab. capability to detect component theft for large-scale p rograms credibility to independently developed program resiliency to obfuscation. Evaluation

Secure Software Lab. Blind test TEST

Secure Software Lab. Obfuscation Techniques – 시스템 콜 기반이므로 결국 호출되는 시스템 콜의 시퀀스는 같았음 Compiler Optimization Levels –-O0, -O1, -O2, -O3 and –Os – 시스템 콜 시퀀스가 같아서 컴파일러 옵션에 강건성을 가짐 Different Compilers –TCC, GCC 사용 – 역시 시스템 콜 시퀀스가 달라지지 않음 TEST

Secure Software Lab. 네이버 수학대박과 일반수학 ( 단국대학교 ) Valgrind – 프로그램의 구조적 특성을 사용한 자바 버스마크 – 한국정보과학회 – 장준혁, 조유근, 홍지만 Reference

Secure Software Lab. Any Question? Thank you