• 제목/요약/키워드: 어셈블리어 기반 분석

검색결과 7건 처리시간 0.034초

어셈블리어 코드 기반의 메모리 오류 가능성 검출 (Detection of Potential Memory Access Errors based on Assembly Codes)

  • 김현수;김병만;배현섭;정인상
    • 정보처리학회논문지D
    • /
    • 제18D권1호
    • /
    • pp.35-44
    • /
    • 2011
  • 메모리 사용에 관련한 오류는 해당 프로그램뿐 아니라 시스템의 오작동을 유발할 수 있다. 특히 발생 빈도가 매우 낮은 일부 메모리 오류의 경우 제대로 된 동작 테스트를 할 수 없어, 오류에 대한 파악 및 수정이 힘들다. 이에 본 논문에서는 실행 프로그램을 역어셈블(Dis-Assemble)하여 만들어진 어셈블리어 코드를 구문 분석하여 명령어 전이도를 도출하고 이에 기반을 두어 메모리 사용 오류 가능성을 검출하는 방법을 제안하였다. 몇 가지 프로그램을 검사대상으로 선정하여 Local Memory Return Error, Null Pointer Access Error, Uninitialized Pointer Access Error를 검출하였으며 그 중 오픈 소스 프로젝트(Open Source Project)인 아파치 웹 서버와 PHP 스크립트 해석기에서도 메모리 사용 오류의 가능성이 있는 코드가 검출되었다.

역어셈블에 기반한 포인터 참조 오류 검출 방법 (A Method of Detecting Pointer Access Error based on Disassembled Codes)

  • 김현수;김병만;허남철;신윤식
    • 한국산업정보학회논문지
    • /
    • 제20권5호
    • /
    • pp.13-23
    • /
    • 2015
  • 본 논문에서는 소프트웨어 구동 시 발생 가능한 메모리 오류 중 발생 빈도가 매우 낮은 일부 메모리 오류에 대해 실행 파일을 역어셈블하여 만들어진 어셈블리어의 구문을 분석하여 메모리 오류 가능성을 검출하는 방법을 제안한다. 몇 개의 프로그램을 대상으로 선정하고, 제안한 방법을 이용하여 메모리 오류 가능성을 검출한 결과, 약 만 개의 함수, 백만 라인의 어셈블리어 명령어에서 750여 개의 메모리 오류 가능성을 검출하였고, 검출에 걸린 시간은 총 90초 정도가 소요되었다.

어셈블리어 코드 기반의 Invalid Function Pointer Access Error 가능성 검출 (Detection of Potential Invalid Function Pointer Access Error based on Assembly Codes)

  • 김현수;김병만
    • 한국정보통신학회:학술대회논문집
    • /
    • 한국해양정보통신학회 2010년도 춘계학술대회
    • /
    • pp.938-941
    • /
    • 2010
  • 일반적으로 컴파일러가 프로그램 번역시 메모리 사용 오류에 대한 검사도 병행하지만, 코드 레벨에서는 검사가 불가능한 함수 포인터는 정상적인 검사가 매우 힘들다. 이에 본 논문에서는 실행 프로그램을 역어셈블하여 만들어진 어셈블리 언어 프로그램을 구문 분석하여 함수 포인터 사용의 형태(패턴)를 어셈블리 명령어 전이도를 기반으로 "Invalid Function Pointer Access Error"에 대한 오류 가능성을 검출한다. 검사대상인 3개 프로그램은 약 10,000개의 함수와 1,000,000 개의 어셈블리 명령어로 구성되어 있으며, 본 논문에서 제안한 방법을 사용하여 함수 포인터의 사용 오류를 검출한 결과 1,100개의 함수 포인터 사용 중 약 500개의 비정상적 함수 포인터의 사용을 검출하였으며 검출에 걸린 시간은 총 82초 정도가 소요되었다.

  • PDF

사용자 정의 함수를 이용한 BERT 와 LSTM 기반 랜섬웨어 패밀리 분류 방법 연구 (A Study on BERT and LSTM-based Ransomware family classification methods using User-defined functions)

  • 김진하;최두섭;임을규
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2024년도 춘계학술발표대회
    • /
    • pp.377-380
    • /
    • 2024
  • 최근 악성코드 제작 기술의 고도화에 따라 악성코드의 변종이 전세계적으로 급격히 증가하고 있다. 이러한 대량의 악성코드를 신속하고 정확하게 탐지하기 위한 새로운 악성코드 탐지 기술에 관한 연구가 절실히 필요하다. 본 연구는 기존의 정적 분석과 동적 분석 방법의 한계를 극복하기 위한 방법을 제안한다. 신속한 데이터 수집을 위하여 정적 분석을 이용하여 사용자 정의 함수의 어셈블리어 데이터를 수집하고 BERT 로 임베딩하고 LSTM 으로 악성코드를 분류하는 모델을 제안한다. 분류 데이터는 행위가 정확한 랜섬웨어를 사용하였고 총 세 종류의 랜섬웨어를 분류하였고 다중 분류의 결과로 85.5%의 분류 정확도를 달성하였다.

스트립된 바이너리에서 LSTM을 이용한 함수정보 추출 기법 (Extraction Scheme of Function Information in Stripped Binaries using LSTM)

  • 장두혁;김선민;허준영
    • 한국소프트웨어감정평가학회 논문지
    • /
    • 제17권2호
    • /
    • pp.39-46
    • /
    • 2021
  • 악성코드를 분석하여 방어하기 위해, 함수 위치 정보 등을 분석 방식으로 리버스 엔지니어링을 활용한다. 하지만, 스트립 된 바이너리는 함수 심볼 정보가 제거되어 함수 위치 등의 정보를 찾기가 쉽지 않다. 이를 해결하기 위해, BAP, BitBlaze IDA Pro 등 다양한 바이너리 분석 도구가 존재하지만, 휴리스틱을 기반으로 하므로 일반적인 성능이 우수하진 못하다. 본 논문에서는 재귀 하강 방식으로 역 어셈블리어에 대응되는 바이너리를 데이터로 N-byte 기법의 알고리즘을 제시해 LSTM 기반 모델을 적용하여 함수정보를 추출하는 기법을 제안한다. 실험을 통해 제안 기법이 수행 시간과 정확도 면에서 기존 기법들보다 우수함을 보였다.

바이너리 코드-SIL 중간언어 변환 검증을 위한 시각화 도구 구현 (A Visualization Tool Implementation for Evaluation of Binary Code to Smart Intermediate Language Conversion)

  • 임정호;이태규;백도우;손윤식;정준호;최진영;고광만;오세만
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2017년도 춘계학술발표대회
    • /
    • pp.280-282
    • /
    • 2017
  • 최근 소프트웨어에 내장된 취약점 분석을 위한 자동화 도구 개발 연구가 각 분야에서 활발히 연구되고 있다. 그 중 바이너리 코드를 대상으로 바로 보안취약점을 분석하는 방법이 아닌 중간언어를 활용하여 분석하는 방법이 대두되고 있으며 이를 위한 다양한 중간언어가 제시되었다. 그 중 하이레벨 언어 수준의 내용의 기술이 가능하며 명령어 자체적으로 자료형을 유지하여 보안 취약점 분석에 효과적인 언어로 SIL 중간언어가 재조명 받고 있다. 따라서 본 논문에서는 이룰 위해서 x86/64 기반 어셈블리어를 SIL 로 효과적으로 변환하며 프로그램의 의미가 변하지 않는 것을 확인하기 위해서 프로그램의 제어흐름을 시각화하는 기능을 가진 시스템을 제안한다.

낮은 복잡도의 Deeply Embedded 중앙처리장치 및 시스템온칩 구현 (Low-Complexity Deeply Embedded CPU and SoC Implementation)

  • 박성정;박성경
    • 한국산학기술학회논문지
    • /
    • 제17권3호
    • /
    • pp.699-707
    • /
    • 2016
  • 중앙처리장치를 중심으로 하는 각종 내장형 시스템은 현재 각종 산업에 매우 광범위하게 쓰이고 있다. 특히 사물인터넷 등의 deeply embedded (심층 내장형) 시스템은 저비용, 소면적, 저전력, 빠른 시장 출시, 높은 코드 밀도 등을 요구한다. 본 논문에서는 이러한 요구 조건을 만족시키는 중앙처리장치를 제안하고, 이를 중심으로 한 시스템온칩 플랫폼을 소개한다. 제안하는 중앙처리장치는 16 비트라는 짧은 명령어로만 이루어진 확장형 명령어 집합 구조를 갖고 있어 코드 밀도를 높일 수 있다. 그리고, 다중사이클 아키텍처, 카운터 기반 제어 장치, 가산기 공유 등을 통하여 로직 게이트가 차지하는 면적을 줄였다. 이 코어를 중심으로, 코프로세서, 명령어 캐시, 버스, 내부 메모리, 외장 메모리, 온칩디버거 및 주변 입출력 장치들로 이루어진 시스템온칩 플랫폼을 개발하였다. 개발된 시스템온칩 플랫폼은 변형된 하버드 구조를 갖고 있어, 메모리 접근 시 필요한 클락 사이클 수를 감소시킬 수 있었다. 코어를 포함한 시스템온칩 플랫폼은 상위 언어 수준과 어셈블리어 수준에서 모의실험 및 검증하였고, FPGA 프로토타이핑과 통합형 로직 분석 및 보드 수준 검증을 완료하였다. $0.18{\mu}m$ 디지털 CMOS 공정과 1.8V 공급 전압 하에서 ASIC 프론트-엔드 게이트 수준 로직 합성 결과, 50MHz 동작 주파수에서 중앙처리장치 코어의 논리 게이트 개수는 7700 수준이었다. 개발된 시스템온칩 플랫폼은 초소형 보드의 FPGA에 내장되어 사물인터넷 분야에 응용된다.