검색 : [ keyword: Static Analysis ] (11)

자연어처리 모델을 이용한 무기체계 소프트웨어 정적시험 거짓경보 저감 연구

이인섭, 남효주, 정남훈, 조규태, 노성규

http://doi.org/10.5626/JOK.2024.51.3.244

최근 무기체계 첨단화 과정에서 소프트웨어 안정성 확보에 대한 필요가 대두된다. 이를 위해 방위사업청에서는 무기체계 소프트웨어를 대상으로 정적 분석 도구를 통해 신뢰성 시험을 수행한다. 하지만 시험 과정에서 많은 거짓경보가 발생하여 시간적, 자원적 낭비가 발생된다. 이를 위해 본 논문은 정적분석 도구의 로그를 활용하여 데이터셋을 만들고, 자연어처리 모델을 훈련시켜 높은 정/오탐 분류율을 달성하는 것을 목표로 하였다. 또한 연구 과정에서 무기체계 소프트웨어의 정적분석 특성에 맞는 데이터 처리 기법 및 모델 구성에 대해 조사 및 분석을 실행하였다. 분석 결과, 하이퍼파라미터 최적화 도구인 Optuna를 활용하여 C/CPP, 자연어로 선행학습 된 CodeBert 모델이 기존 SoTA모델보다 F1 Score 기준 4~5% 높은 성능을 보이는 것을 알 수 있었다. 소프트웨어 정적 시험에서 본 논문에서 제안하는 모델을 일차적으로 사용한다면 많은 수의 오탐이 식별될 수 있다.

디지털 포렌식 소프트웨어의 처리되지 않은 예외 분석에 있어서 타입 정보 기반 정교화

이서우, 이동권, 김세훈

http://doi.org/10.5626/JOK.2023.50.12.1071

본 논문에서는 포렌식 과정의 신뢰성을 높이기 위하여 파이썬으로 작성된 디지털 포렌식 소프트웨어의 처리되지 않은 예외를 사전에 검출하는 기법을 설계한다. 처리되지 않은 예외 검출에 있어서 일반적으로 사용되는 집합 제약식 기반 분석 방법을 기반으로 하며 이 과정에서 발생할 수 있는 허위 경보를 줄이기 위해 Pyright의 타입 분석 기능을 결합한다. 파이썬의 리스트나 딕셔너리 등 특정 타입에서는 발생할 수 없는 키가 없는 오류나 첨자 범위 오류 등의 예외들을 제거함과 아울러 모듈 내 지점들의 종속관계를 나타내는 트리를 이용하여 경보의 중복 검출을 제거한다. 개발한 정적 분석기를 디지털 포렌식 소프트웨어 분석 모듈 9 개의 벤치마크에서 수행시킨 결과는 기존에 찾지 못한 키가 없는 오류, 첨자 범위 오류, 0으로 나누기 오류 등 3 가지 패턴의 예외 발생 지점 10 개를 특정함과 아울러 각 벤치마크에 대해 평균 84%, 최대 89%의 허위 경보를 제거함을 보인다.

Dhash 기반 고속 악성코드 변종 탐지기법

김홍비, 신현석, 황준호, 이태진

http://doi.org/10.5626/JOK.2019.46.11.1207

악성코드 생성 도구와 난독화 기법의 대중화로 악성코드는 지능화되고 있지만 기존의 악성코드 탐지 기법은 악성코드에 대해 완벽하지 못한 탐지를 보여주고 있다. 이에 새롭게 등장하는 악성코드 중 다수가 기존에 발생했던 악성코드의 변종이라는 것과 변종 악성코드는 원본 악성코드와 비슷한 바이너리 데이터를 갖는 특징을 고려해 파일의 바이너리 데이터를 통해 이미지를 분류하는 Dhash 기반 악성코드 탐지 기법을 제시하며, Dhash 알고리즘의 전수비교로 인한 느린 분석 시간을 개선한 10-gram 알고리즘을 제시한다. 변종 악성코드 탐지에서 우수한 ssdeep 기법과의 비교를 통해 ssdeep이 탐지하지 못하는 영역에 대해 Dhash 알고리즘이 탐지했음을 보이며, 기존의 Dhash 알고리즘과 본 논문에서 제안하는 알고리즘의 탐지 속도 성능 비교 실험을 통해 제안하는 알고리즘의 우수성을 증명한다. 향후 다른 LSH기반 탐지 기법과 연계한 변종 악성코드 분석 기술 개발을 지속 진행할 예정이다.

V-그램: 명령어 기본 블록과 딥러닝 기반의 악성코드 탐지

정성민, 김현석, 김영재, 윤명근

http://doi.org/10.5626/JOK.2019.46.7.599

악성코드가 급증하여 기계 학습 기반의 자동 탐지 연구가 중요해지고 있다. 악성코드 실행파일로부터 추출되는 opcode 시퀀스는 악성코드 탐지에 좋은 특징이기 때문에 바이트 기반의 n-그램 처리 기법을 거쳐 기계 학습의 입력 데이터로서 폭넓게 사용되고 있다. 본 논문에서는 처리 속도와 저장 공간 측면에서 기존 n-그램 방식을 크게 향상시키는 기본 블록 단위의 딥러닝 입력 데이터 가공 기법인 V-그램을 새롭게 제안한다. V-그램은 opcode 시퀀스로부터 의미 없는 입력 데이터의 불필요한 생성을 막을 수 있다. 본 논문에서는 64,000개 이상의 실제 정상 및 악성코드 파일을 수집하여 진행한 실험을 통해서, V-그램이 처리 속도와 저장 공간, 그리고 탐지 정확도 측면에서 모두 기존의 n-그램 기법보다 우수하다는 것을 검증하였다.

난독화된 악성코드 판별을 위한 2차원 배열 기반의 기술 연구

황선빈, 김호경, 황준호, 이태진

http://doi.org/10.5626/JOK.2018.45.8.769

일평균 20만개 이상의 악성코드가 출현하고 있으며, 대부분의 침해사고는 악성코드를 이용하여 발생한다. 그런데, 공격자의 악성코드 제작기술이 점차 지능화되고 있으며 역 공학 분석을 방지하기 위해 패킹이나 암호화를 하여 악성코드를 제작한다. 정적 분석의 경우 분석 파일이 난독화가 되면 분석을 하는데 한계가 있으며, 이에 대응할 수 있는 방안이 필요하다. 본 논문에서는 난독화 시에도 악성코드를 판별할 수 있는 방안으로 문자열, 심볼, 엔트로피 기반 접근 방법을 제시하였다. 특히, 고정된 feature-set 뿐 아니라, 고정되지 않은 Feature-set 처리를 위해 2차원 배열을 적용하였으며, 15,000개의 악성/정상 샘플을 DNN(Deep Neural Network)를 통해 검증을 진행하였다. 본 연구는 향후 여러 악성코드 탐지기법과 연계되어 동작 시 보완적인 형태로 동작할 것으로 예상하며, 난독화된 악성코드 변종 분석에서 활용 가능할 것으로 기대한다.

WALA와 Boa를 활용하여 대규모 소프트웨어 저장소를 정적으로 분석하는 도구 개발

박경희, 류석영

http://doi.org/10.5626/JOK.2017.44.10.1081

대규모 공개 소스 소프트웨어 저장소를 대상으로 프로그램 분석을 수행하면, 각 저장소의 소프트웨어의 변화 과정을 살펴볼 수 있고, 방대한 양의 프로그램을 분석함으로써 신뢰도가 높은 분석 결과를 얻을 수 있다는 점에서 의의가 있다. 본 논문에서는 대규모 소프트웨어 저장소를 대상으로 확장 가능하게 정적 프로그램 분석을 수행할 수 있는 프레임워크인 WALABOA를 소개한다. 나아가, 정적 분석 결과인정적 함수 호출 그래프와 동적 분석 결과인 동적 함수 호출 그래프를 비교하는 모듈을 WALABOA에 추가하여, 자바스크립트 분석기 WALA에서 제공하는 분석 기법 중 하나인 필드 기반 분석(field-based analysis) 결과를 평가하는 데 활용하였다.

안드로이드 장치 드라이버에 대한 효과적 취약점 탐지 기법

정영기, 조성제

http://doi.org/

안드로이드 및 리눅스 기반 임베디드 시스템에서는 디바이스 드라이버가 커널 함수로 포함되는 구조로 되어 있다. 어떤 디바이스 드라이버들의 경우, 여러 Third-party에 의해 제공되는 소프트웨어(펌웨어)가 포함되는데, 그 보안 수준에 대해 검토되지 않고 사용되는 경우가 많다. 보안 취약점 분석을 위해 일반적으로 사용되는 정적 분석의 경우, 오탐 가능성으로 인하여 실제 권한상승과 같은 주요 취약점을 확인하는데 많은 비용이 발생한다. 본 논문에서는 안드로이드 시스템에서 사용되는 디바이스 드라이버를 대상으로 정적 및 동적 분석 기반의 효과적인 보안 취약점 탐지 기법을 제시하고 그 효용성을 확인한다.

확장성을 조절할 수 있는 자바스크립트 앱 정적 분석 프레임워크

고윤석, 류석영

http://doi.org/

본 논문에서는 벤치마크용이 아닌 실제 자바스크립트 프로그램을 효과적으로 분석하기 위해서 정확도와 확장성을 조절하는 정적 분석 프레임워크를 제시한다. 본 논문에서 제안하는 방식은 전분석과 본 분석의 두 단계로 구성된다. 전분석은 분석 대상을 조절해서 분석의 정확도를 결정하기 위한 분석 대상의 윤곽을 계산한다. 본분석은 주어진 분석 대상의 윤곽 안에서 실행 의미를 빠뜨리지 않고 안전하게 분석한다. 두 단계 분석 기법을 소개한 후, 전분석에서 분석 대상의 윤곽을 조절하여 본분석의 정확도와 확장성을 조절할 수 있음을 보이고 그 방식의 올바름을 증명한다.

신뢰성 시험 프로세스 개선을 통한 무기체계 내장형 소프트웨어 소스코드 품질확보에 관한 연구

권경용, 주준석, 김태식, 오진우, 백지현

http://doi.org/

국방 분야에서 무기체계가 첨단화 되면서 무기체계 내장형 소프트웨어의 중요성이 증대되고 있으며, 현대의 전장상황이 네트워크 중심전(NCW)으로 전개됨에 따라 무기체계 내장형 소프트웨어의 신뢰성 및 품질 확보가 중요시 되고 있다. 또한 내장형 소프트웨어의 문제점이 개발단계에서 양산단계로 이관되어 막대한 손실이 발생되고 있으며, 개발업체에서는 소프트웨어 신뢰성 시험에 대한 체계적인 활동이 이루어지지 않고 있다. 본 연구에서는 다양한 소스코드 신뢰성 검증사례 분석을 바탕으로 소프트웨어 소스코드 품질검증체계 확립에 대한 접근방안을 제시한다. 방위사업청의『무기체계 소프트웨어 개발 및 관리 매뉴얼』의 동적분석 평가항목 및 코드실행률 목표값 기준을 제시하고, 개발업체의 소프트웨어 개발능력 향상을 유도하기 위한 방안을 제안한다.

악성코드 분류를 위한 중요 연산부호 선택 및 그 유용성에 관한 연구

박정빈, 한경수, 김태근, 임을규

http://doi.org/

최근 새롭게 제작되는 악성코드 수의 증가와 악성코드 변종들의 다양성은 악성코드 분석가의 분석에 소요되는 시간과 노력에 많은 영향을 준다. 따라서 효과적인 악성코드 분류는 악성코드 분석가의 악성코드 분석에 소요되는 시간과 노력을 감소시키는 데 도움을 줄 뿐만 아니라, 악성코드 계보 연구 등 다양한 분야에 활용 가능하다. 본 논문에서는 악성코드 분류를 위해 중요 연산부호를 이용하는 방법을 제안한다. 중요 연산부호란 악성코드 분류에 높은 영향력을 가지는 연산부호들을 의미한다. 실험을 통해서 악성코드 분류에 높은 영향력을 가지는 상위 10개의 연산부호들을 중요 연산부호로 선정할 수 있음을 확인하였으며, 이를 이용할 경우 지도학습 알고리즘의 학습시간을 약 91% 단축시킬 수 있었다. 이는 향후 다량의 악성코드 분류 연구에 응용 가능할 것으로 기대된다.


Search




Journal of KIISE

  • ISSN : 2383-630X(Print)
  • ISSN : 2383-6296(Electronic)
  • KCI Accredited Journal

사무국

  • Tel. +82-2-588-9240
  • Fax. +82-2-521-1352
  • E-mail. chwoo@kiise.or.kr