제목 | [뉴스레터] 11월 2주 : 5. [저작권기술 R&D 프로젝트 소개] 바이너리코드 동적고유정보 기반 SW 유사성 감지 기술 개발 | ||
---|---|---|---|
담당부서 | 저작권기술팀 이민선 | 등록일 | 2015-11-27 |
5. [저작권기술 R&D 프로젝트 소개] 바이너리코드 동적고유정보 기반 SW 유사성 감지 기술 개발
□ 개발 기술 개요 ○ 개발내용 ► 바이너리코드의 동적 고유정보 기반으로 유사성 감지, 검증 기술 ► 프로파일 기반 바이너리 코드의 고유정보 수집 및 압축, 분석 기술 ► 바이너리코드에서 유사성 비교 방해요소 제거 기술 ► 바이너리코드 기반으로 불법 sw 필터링에 활용할 수 있는 기술 ○ 활용분야 ► SW 저작권 분쟁 분야에 활용 ► 비의도적 SW 저작권 침해 예방 ► 공개 SW 저작권 보호 분야 ► 불법 도용 SW 유통 조기 차단 ► 변종 악성코드 및 바이러스 식별 ○ 기대효과 ► 바이너리코드 동적고유정보 기반 SW 저작권보호 기술 확보 ► SW 소스코드 없이 SW 복제 여부 판단을 위한 객관적 표준 제시 ► 국내 포털 및 자료 공유 사이트 연계를 통한 불법 앱 유포 초기 차단 기술 개발 ► SW 저작자 권리보호 및 소규모 SW 개발 중소기업의 원천기술 보호 □ 기술내용 (정적/동적 바이너리 특징정보 추출 기술) ○ 버스마크 기반의 불법 SW 필터링 ► 별도의 식별정보 추가가 필요 없는 SW 버스마크 기반 필터링 시스템 연구 ► 불법 SW 유포 유형별 적합한 필터링 특징정보 선정 및 DB 구성 연구 ► SW 유형별 효율적인 필터링 기법과 분류 및 추천 기술 연구 ○ 필터링 성능을 고려한 단계별 필터링 기법 ► 추출 및 비교가 용이한 특징정보를 우선 비교하는 총 3단계 필터링 기법(변경가능)을 통해 필터링 성능을 향상 ► 실제 SW 유포 형태를 고려하여, SW설치파일→실행파일 헤더→실행코드 순서로 단계적 필터링 수행 ○ 안드로이드 앱 필터링 기법 ► 안드로이드 앱 설치파일(APK) 및 실행파일(Dex) 파일 대상 필터링 ► 필터링 시스템의 신뢰성 및 강인성 향상을 위해, 실제 크랙된 앱 32개를 수집 및 분석하여 변조 유형 분석 ► 변조유형 분석 결과를 기반으로 강인성이 높은 특징정보 선정(APK의 Android Manifest.xml에 포함된 ‘PackgeNme', 'Appversion', 'Component')
□ 기술내용 (버스마크 기반 불법 SW 탐지 및 필터링 기술) ○ 정적 바이너리 고유정보 수집 및 가공 ► 바이너리 실행코드의 역어셈블을 통한 바이너리로부터의 어셈블리 명령어 추출 ► 정적 API 참조 빈도 및 서열 정보 분석 ► 바이너리의 어셈블리 명령어 정보 분석을 통해, 함수 정보 추출 및 Call graph를 생성 ► 명령어의 정보들로 프로그램의 Basic Block 추출 및 CFG를 생성 ○ 정적 바이너리 특징정보 추출 ► 바이너리 코드 간의 유사성을 분석할 수 있는 특징정보 추출 기법 연구 ► API 참조 빈도 정보로부터, 벡터 정보를 생성하는 연구 ► N-gram 기법을 사용하여 명령어 시퀀스 및 API 참조 서열로부터 집합 정보를 생성하는 연구 ○ 동적 바이너리 특징정보 추출 ► 바이너리 실행 시나리오 기반 고유정보 수집 및 특징정보 추출 ► API, Call graph, CFG, 스택정보 기반의 특징정보를 실행흐름에 따라 추출 ○ 정적/동적 특징정보를 이용한 통합 유사성 비교 ► jaccard coefficient, Cosine similarity 등의 기존 유사성 분석 알고리즘 적용 연구 ► 정적/동적 특징정보에 가중치를 부여하여 통합 유사도를 측정하는 기법 연구 ○ 모바일 앱 유사성 분석 연구 ► 안드로이드 앱을 중심으로 모바일 앱 유사성 분석 연구 ► 앱(APK) 역패키징을 통한 설정 및 권한, 리소스 관련 고유정보 수집 ► 앱 실행파일(Dex)의 역어셈블을 통한 Java 클래스 및 기타 고유 정보 수집 ► Java 클래스 및 메서드 수준 Call graph 및 CFG 생성
□ 기술의 특징 (로그정보 위변조 탐지/추적기술) ○ PC 및 안드로이드 상에서 SW(앱) 특징정보 기반 바이너리 유사성 분석 가능 ► MS Windows용 바이너리 코드 유사성 비교를 위한 정적 프로파일링 도구 및 동적 프로파일링 도구 개발 ► 바이너리 코드로 배포되는 MS Windows용 애플리케이션 간의 유사성 분석 가능 ► 동적/정적 분석을 이용한 바이너리 코드의 유사도 측정 기술 ► 유사성 분석 방해요소(패킹, 이기종 컴파일러/최적화 옵션 등) 적용된 프로그램에 대한 유사성 분석 가능 ► 안드로이드 앱의 설치파일 및 실행파일의 특성을 고려한 특징정보 추출 및 비교 기술 개발 |