자동차용 S/W 취약성 점검을 위한 딥러닝 기반의 바이너리 코드 분석기법에 관한 연구
저자
발행사항
서울 : 숭실대학교 대학원, 2023
학위논문사항
학위논문(박사)-- 숭실대학교 대학원 : IT정책경영학과(일원) 2024. 2
발행연도
2023
작성언어
한국어
주제어
발행국(도시)
서울
기타서명
A Study on Deep Learning-based Binary Code Analysis Techniques for Vehicle Software Vulnerability Check
형태사항
124 p. : 삽화, 도표 ; 26 cm
일반주기명
숭실대학교 논문은 저작권에 의해 보호받습니다.
지도교수: 신용태
참고문헌 수록
UCI식별코드
I804:11044-200000721907
소장기관
자동차용 S/W 취약성 점검을 위한 딥러닝 기반의 바이너리 코드 분석기법에 관한 연구 변경근 IT정책경영학과 숭실대학교 대학원 자동차 제작사들은 자동차 첨단기능 제공 및 유연한 기능 개선·패치 기반 마련을 위해 오픈소스를 활용하여 자율주행 프로그램 등 각종 S/W와 자체 통합운영체제의 개발·탑재를 추진 중이다. 오픈소스의 활용은 개발 속도의 향상과 비용절감에 크게 기여하지만, 노출된 코드로 인해 취약성 발굴이 손쉬워 보안 위협이 증가하였다. 자 동차용 S/W를 대상으로 제로데이 공격이 발생할 경우, 사회 전반에 치 명적인 피해 발생이 우려된다. 자동차용 S/W의 취약성을 사전에 점검하고 발견하여 차단하는 것이 피해를 예방할 수 있는 가장 효과적인 방법이다. 본 논문에서는 딥러닝을 기반으로 한국인터넷진흥원에서 제공한 오픈 소스 취약성 바이너리셋을 대상으로 자동차용 S/W 바이너리 코드의 취 약성 분석 모델을 생성하여 취약성을 분류하고 바이너리 코드에서 취약 성이 발생하는 위치까지 확인하여 제시하였다. 본 논문에서 다양한 보안 취약성 중 포맷 스트링, 힙 오버플로우, 스택 오버플로우, 사용후 재사용 등의 네 가지 보안 취약성을 분석하였다. 바이너리 코드의 구조적 특성과 제어 흐름을 효과적으로 표현할 수 있 는 CFG(Control Flow Graph)를 활용하여 네 가지 취약성과 취약성이 제 거된 정상 CFG를 분류 예측하였다. 이와 관련 Canny 알고리즘을 활용하여 이미지의 외곽선을 보강하여 CFG의 특징을 강화하였다. 다만, 바이너리 셋 자체가 딥러닝의 훈련·검증에 필요한 데이터의 양에 미치지 못하여 이 미지 증강기법을 사용, CFG 이미지 데이터셋을 확대하여 활용하였다. 이렇게 제작된 데이터셋의 각 픽셀 데이터를 추출하여 CSV 파일로 전 환하였다. CSV 파일의 데이터를 훈련용과 테스트용으로 8대2로 분류하여 합성곱 신경망 기반 분류 모델을 생성, 예측 성능을 검증하였다. 취약성과 정상 CFG 분류 예측 성능 평가에 정확도(Accuracy), 정밀도 (Precision), 재현율(Recall), F1-score 등의 지표를 사용하였다. 네 가지 보안 취약성․정상 CFG의 분류 성능 평가 결과를 살펴보면, 첫째 정확도(Accuracy)에서는 포맷 스트링, 힙 오버플로우, 스택 오버플로우, 사용후 재사용 등이 모두 우수하였다. 특히 Epoch 값이 10·20·30이고 Batch size가 128일 때 정확도(Accuracy)가 가장 우수하였다. 둘째, 정밀도(Precision) 측면에서는 포맷 스트링, 힙 오버플로우, 스택 오버플로우, 사용후 재사용 모두 Epoch 값이 10~30이고 Batch Size가 128일 때 가장 우수하였다. 셋째, 재현율(Recall) 측면에서는 포맷 스트링, 힙 오버플로우, 스택 오버플로우, 사용후 재사용 모두 Epoch 값이 15~30 이고 Batch Size가 128일 때 가장 우수하였다. 마지막으로 F1-score에서 는 포맷 스트링, 힙 오버플로우, 스택 오버플로우, 사용후 재사용 모두 Epoch 값이 20~30이고 Batch Size가 64~128 때 가장 우수하였다. 한편, 바이너리 코드에서 취약성이 발생한 위치 확인에 있어서는 개략적인 위 치 확인에는 용이하였으나 정확한 위치 확인에는 개선이 필요하였다. 한편, 본 논문의 학문적 의의 및 시사점을 살펴보면, 첫째, 기존 국내 딥러닝을 이용한 바이너리 코드 취약성 분석 연구는 대부분 악성코드의 분류에 집중되었다. 그러나, 본 논문에서는 바이너리 코드 자체에 존재하 는 취약성 분석을 그 대상으로 삼아, 취약성 연구 분야를 확장하였다. 둘 째, 바이너리 코드의 CFG를 활용한 취약성 분석 모델을 정립함으로써 관련 연구의 토대를 마련하였다. 셋째, CFG는 바이너리 코드 취약성을 분석하는데 필요한 전반적인 정보를 제공할 수 있음을 확인하고 CFG를 활용한 접근법이 취약성 분석 연구에서 가치가 있는 연구 주제임을 실증 하였다. 실용적 의의 및 시사점으로는 첫째, 바이너리 코드의 소스 코드를 사 용할 수 없을 때 취약성 분석 연구가 난해한데 이러한 한계성을 극복하 기 위해 바이너리 코드 자체를 취약성 분석 연구 대상으로 설정하여 본 논문의 실용적 가치를 제고하였다. 둘째, 보안 취약성의 CFG 이미지를 생성하여 딥러닝을 활용한 분석 모델을 구성하였기 때문에, 신규 취약성 의 특징점 CFG의 이미지를 추가할 경우, 분석 성능을 계속해서 개선할 수 있다. 셋째, 취약성 CFG는 바이너리 코드의 제어 흐름에서 취약성 코 드가 발생하는 위치를 확인하는데 필요한 수단을 제공할 수 있다는 것을 제시하였다. 마지막으로 본 논문의 딥러닝 취약성 분석 모델은 대량의 바이너리 코 드를 단시간에 정확하게 분석할 수 있는 장점이 있다. 본 논문을 통해 자동차용 S/W 바이너리 코드 취약성 연구가 더욱 활발해지기를 기대한다.
더보기A Study on Deep Learning-based Binary Code Analysis Techniques for Vehicle Software Vulnerability Check BYUN, KYUNGKEUN Department of IT Policy and Management Graduate School of Soongsil University Automakers are using open source to develop and install various software and their own integrated operating systems, including autonomous driving programs, in order to provide advanced automotive functions and provide a flexible function improvement and patching base. The use of open source contributes significantly to improving development speed and reducing costs, but it also increases security threats as exposed code makes it easier to discover vulnerabilities. If a zero-day attack occurs against automotive software, it could cause catastrophic damage to the entire society. The most effective way to prevent damage is to proactively check, discover, and block vulnerabilities in automotive software. In this study, based on deep learning, we created a vulnerability analysis model for automotive software binary code based on the open source vulnerability binary set provided by the Korea Internet & Security Agency to classify vulnerabilities and identify the location of vulnerabilities in the binary code. Among the various security vulnerabilities, this study analyzed four security vulnerabilities: format string, heap overflow, stack overflow, and use after free. Utilizing the Control Flow Graph (CFG), which can effectively represent the structural characteristics and control flow of binary code, we predicted the classification of four vulnerabilities and a normal CFG with the vulnerabilities removed. In addition, the Canny algorithm was utilized to enhance the features of the CFG by enhancing the outline of the image. However, the binary set itself was insufficient for the amount of data required for training and validation of deep learning, so we used image augmentation techniques to expand and utilize the CFG image dataset. Each pixel data of the dataset was extracted and converted into a CSV file. We created a convolutional neural network-based classification model by dividing the data in the CSV file 8:2 for training and testing, and verified the prediction performance. Metrics such as accuracy, precision, recall, and F1-score were used to evaluate the prediction performance of vulnerability and normal CFG classification. Looking at the classification performance evaluation results of the four security vulnerability and normal CFGs, first, Accuracy was excellent for format string, heap overflow, stack overflow, and use after free. In particular, the best accuracy was achieved with Epoch values of 10․20․30 and a batch size of 128. Second, in terms of precision, format string, heap overflow, stack overflow, and use after free all performed best with Epoch values of 10~30 and a Batch Size of 128. Third, in terms of Recall, Format String, Heap Overflow, Stack Overflow, and use after free all performed best with epoch values of 15~30 and a batch size of 128. Finally, in terms of F1-score, format string, heap overflow, stack overflow, and use after free all perform best when the Epoch value is 20~30 and the Batch Size is 64~128. On the other hand, when it came to identifying the location of the vulnerability in the binary code, it was easy to identify a schematic location using images, but it needed improvement for accurate location. Regarding the academic significance and implications of this paper, first, most of the existing research on binary code vulnerability analysis using deep learning in Korea has focused on the classification of malware. However, in this study, we expanded the field of vulnerability research by analyzing vulnerabilities in binary code itself. Second, this study lays the foundation for related research by establishing a vulnerability analysis model using the CFG of binary code. Third, we verified that CFGs can provide the overall information needed to analyze binary code vulnerabilities and demonstrated that an approach using CFGs is a valuable research topic in vulnerability analysis. In terms of practical significance and implications, first, vulnerability analysis research is difficult when the source code of binary code is not available, and to overcome this limitation, we set the binary code itself as the subject of vulnerability analysis research, which enhances the practical value of this research. Second, since we have created CFG images of security vulnerabilities and constructed an analysis model using deep learning, we can continue to improve the analysis performance by adding CFG images of new vulnerability features. Third, we have shown that vulnerability CFGs can provide the necessary means to identify where vulnerable code occurs in the control flow of binary code. Finally, our deep learning vulnerability analysis model has the advantage of being able to accurately analyze large amounts of binary code in a short time. We hope that this research will contribute to further research on automotive software binary code vulnerabilities.
더보기분석정보
서지정보 내보내기(Export)
닫기소장기관 정보
닫기권호소장정보
닫기오류접수
닫기오류 접수 확인
닫기음성서비스 신청
닫기음성서비스 신청 확인
닫기이용약관
닫기학술연구정보서비스 이용약관 (2017년 1월 1일 ~ 현재 적용)
학술연구정보서비스(이하 RISS)는 정보주체의 자유와 권리 보호를 위해 「개인정보 보호법」 및 관계 법령이 정한 바를 준수하여, 적법하게 개인정보를 처리하고 안전하게 관리하고 있습니다. 이에 「개인정보 보호법」 제30조에 따라 정보주체에게 개인정보 처리에 관한 절차 및 기준을 안내하고, 이와 관련한 고충을 신속하고 원활하게 처리할 수 있도록 하기 위하여 다음과 같이 개인정보 처리방침을 수립·공개합니다.
주요 개인정보 처리 표시(라벨링)
목 차
3년
또는 회원탈퇴시까지5년
(「전자상거래 등에서의 소비자보호에 관한3년
(「전자상거래 등에서의 소비자보호에 관한2년
이상(개인정보보호위원회 : 개인정보의 안전성 확보조치 기준)개인정보파일의 명칭 | 운영근거 / 처리목적 | 개인정보파일에 기록되는 개인정보의 항목 | 보유기간 | |
---|---|---|---|---|
학술연구정보서비스 이용자 가입정보 파일 | 한국교육학술정보원법 | 필수 | ID, 비밀번호, 성명, 생년월일, 신분(직업구분), 이메일, 소속분야, 웹진메일 수신동의 여부 | 3년 또는 탈퇴시 |
선택 | 소속기관명, 소속도서관명, 학과/부서명, 학번/직원번호, 휴대전화, 주소 |
구분 | 담당자 | 연락처 |
---|---|---|
KERIS 개인정보 보호책임자 | 정보보호본부 김태우 | - 이메일 : lsy@keris.or.kr - 전화번호 : 053-714-0439 - 팩스번호 : 053-714-0195 |
KERIS 개인정보 보호담당자 | 개인정보보호부 이상엽 | |
RISS 개인정보 보호책임자 | 대학학술본부 장금연 | - 이메일 : giltizen@keris.or.kr - 전화번호 : 053-714-0149 - 팩스번호 : 053-714-0194 |
RISS 개인정보 보호담당자 | 학술진흥부 길원진 |
자동로그아웃 안내
닫기인증오류 안내
닫기귀하께서는 휴면계정 전환 후 1년동안 회원정보 수집 및 이용에 대한
재동의를 하지 않으신 관계로 개인정보가 삭제되었습니다.
(참조 : RISS 이용약관 및 개인정보처리방침)
신규회원으로 가입하여 이용 부탁 드리며, 추가 문의는 고객센터로 연락 바랍니다.
- 기존 아이디 재사용 불가
휴면계정 안내
RISS는 [표준개인정보 보호지침]에 따라 2년을 주기로 개인정보 수집·이용에 관하여 (재)동의를 받고 있으며, (재)동의를 하지 않을 경우, 휴면계정으로 전환됩니다.
(※ 휴면계정은 원문이용 및 복사/대출 서비스를 이용할 수 없습니다.)
휴면계정으로 전환된 후 1년간 회원정보 수집·이용에 대한 재동의를 하지 않을 경우, RISS에서 자동탈퇴 및 개인정보가 삭제처리 됩니다.
고객센터 1599-3122
ARS번호+1번(회원가입 및 정보수정)