메뉴 건너뛰기
.. 내서재 .. 알림
소속 기관/학교 인증
인증하면 논문, 학술자료 등을  무료로 열람할 수 있어요.
한국대학교, 누리자동차, 시립도서관 등 나의 기관을 확인해보세요
(국내 대학 90% 이상 구독 중)
로그인 회원가입 고객센터 ENG
주제분류

추천
검색

논문 기본 정보

자료유형
학위논문
저자정보

조대희 (단국대학교, 단국대학교 대학원)

지도교수
조성제
발행연도
2016
저작권
단국대학교 논문은 저작권에 의해 보호받습니다.

이용수4

표지
AI에게 요청하기
추천
검색

이 논문의 연구 히스토리 (3)

초록· 키워드

오류제보하기
인터넷을 통해 유통되는 불법 소프트웨어를 효율적으로 필터링하기 위해, 소프트웨어 분류(Software Classification) 기법이 도입되었다. 소프트웨어 분류는 새로운 소프트웨어를 이미 알려진 카테고리로 분류하는 기법이다. 소프트웨어 분류는 특징을 알 수 없는 불법 소프트웨어를 탐지하거나 분석하는데 유용한 기법하다. 소프트웨어 필터링 시스템은 의심스러운 소프트웨어를 다른 정상 소프트웨어와 비교하여, 불법 소프트웨어를 탐지?차단한다. 이때, 소프트웨어 분류 기법을 사용하여 기존 정상 소프트웨어를 서로 유사한 카테고리로 미리 분류한 후 필터링을 진행하면, 전반적으로 비교 횟수를 줄일 수 있다. 본 논문에서는 MS 윈도우 실행파일을 분류하기 위해, API 호출 빈도를 이용한 분류 기법과 문자열 정보를 이용한 분류 기법을 제안한다.
API 호출 빈도를 이용한 소프트웨어 분류 기법은 추출된 API 호출 빈도 정보를 이용하고, 랜덤 포레스트 기계학습 알고리즘을 사용하여 의심스러운 프로그램을 하나의 카테고리로 분류한다. 본 논문에서 랜덤 포레스트 알고리즘을 사용한 이유는, 그 알고리즘이 분산된, 고차원 입력 데이터를 분류하는데 좋은 성능을 보이기 때문이다. 제안 기법을 검증하기 위해, 프로그램 다운로드 사이트들에서 범용적으로 많이 사용되는 9개의 카테고리를 사용하였고, 카테고리 별 55개씩 총 495개 프로그램(실행파일)을 사용하였다. 495개 프로그램을 대상으로 WEKA 기계학습 프로그램을 사용하고, 10번의 교차 검증을 수행하였다. 랜덤 포레스트를 이용한 API 분류 실험에서는 평균 97.2%(480개,97%/482개,97.4%)의 정확도를 보였다.
문자열(단어) 정보를 이용한 기법은 TF-IDF(Term Frequency - Inverse Document Frequency)를 변형한 LDF-IDF-ICF(Local Document Frequency - Inverse Document Frequency - Inverse Category Frequency) 기법을 사용하여 분류한다. 이 기법은 MS 실행파일(.exe 확장자)의 .text, .data, .rdata, .rsrc 섹션에서 문자열을 추출하고, 카테고리 별 각 문자열에 대한 LDF-IDF-ICF 점수표를 작성한다. 의미 있는 문자열 50개 이상 포함하고 있는 프로그램을 대상으로, 문자열 점수표를 사용하여 카테고리 별 점수를 측정한다. 최종적으로, 가장 높은 점수의 카테고리로 분류한다. 만약, 최고점 카테고리가 2개 이상일 경우 분류하지 않는다. 제안 기법의 효과를 검증하기 위해, 첫 번째 기법에서 사용한 495개의 프로그램을 대상으로 실험을 수행한다. 실험 결과, 495개의 프로그램들에서 평균 86.5%(413개,83.4%/443개,89.5%)가 50개 이상의 유용한 문자열을 포함하고 있었고, 495개 프로그램들을 대상으로 평균 74.8%(361개,72.9%/380개,76.8%)가 정확하게 분류됨을 보였다.
결론적으로, MS 윈도우 실행파일을 대상으로 분류하는데 있어, API 호출 빈도를 이용한 기법이 문자열 정보를 이용한 기법보다 더 좋은 성능을 나타낸다.

목차

Ⅰ. 서 론
1.1 소프트웨어 중심 사회로 변화
1.2 소프트웨어 불법 복제 증가
1.3 소프트웨어 필터링 필요성
1.4 연구 목적 및 범위
1.5 논문의 구성
Ⅱ. 관련연구
2.1 소프트웨어 특징정보
2.1.1 명령어 기반 특징정보
2.1.2 API 기반 특징정보
2.2 소프트웨어 및 악성코드 분류
2.2.1 API 기계학습 기반 및 문자열 TF-IDF 기반 소프트웨어 분류
2.2.2 사용한 프로그램 수 점수 기반 애플리케이션 분류
2.2.3 문자열 및 API 특징정보 기반 악성코드 분류
2.3 기계학습(Machine Learning)
2.3.1 랜덤 포레스트(Random Forest)
2.3.2 서포트 벡터 머신(SVM; Sopport Vector Machine)
2.4 TF-IDF
Ⅲ. 문자열 및 API 정보를 활용한 MS 윈도우 실행파일 분류
3.1 소프트웨어 특징정보 선정
3.1.1 API 특징정보
3.1.2 문자열 특징정보
3.2 API 및 문자열 정보를 활용한 MS 윈도우 실행파일 분류
3.2.1 실행파일 수집 및 비교대상 실행파일
3.2.2 패킹(실행 압축) 유/무 확인
3.2.3 특징정보 추출 및 정제
3.2.3.1 API 특징정보 추출
3.2.3.2 문자열 특징정보 추출
3.2.3.3 문자열 특징정보 정제
3.2.4 윈도우 실행파일 분류를 위한 데이터/자료구조 생성
3.2.4.1 API 기반 분류를 위한 기계학습을 위한 데이터 생성
3.2.4.1 문자열 기반 분류를 위한 LDF-IDF-ICF 점수표 생성
3.2.5 윈도우 실행파일 분류 기법
3.2.5.1 API 정보와 기계학습 기반 분류 기법
3.2.5.1 문자열 정보와 점수표 기반의 분류 기법
Ⅳ. 실험 및 평가
4.1 실험용 프로그램 수집
4.2 랜덤 포레스트 기계학습을 사용한 API 분류
4.2.1 API 정보 기반 제안 기법 분류율
4.3 LDF-IDF-ICF 점수표를 사용한 문자열 분류
4.3.1 문자열 정보 기반 제안 기법 추출율 및 분류율
4.3.2 문자열 정보 기반 제안 기법 분류율
4.4 제안 기법 성능평가
4.5 API 특징정보 기반 새로운 프로그램 분류 실험
Ⅴ. 제안 기법과 기존 기법 비교 분석
5.1 API 기반 기계학습 방식과의 비교
5.2 API 기반 소프트웨어 몽타주 방식과의 비교
5.3 문자열 정보 기반 TF-IDF 변형 방식과의 비교
5.4 비교 분석 정리
Ⅵ. 결 론
참고문헌

최근 본 자료

전체보기

댓글(0)

0