• 제목/요약/키워드: 메모리 참조 오류

검색결과 4건 처리시간 0.019초

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

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

GDB 기반의 재목적 소프트웨어 디버거 설계 및 구현 (Design and Implementation of Retargetable Software Debugger based on GDB)

  • 지정훈;이건우;우균
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2007년도 추계학술발표대회
    • /
    • pp.538-541
    • /
    • 2007
  • 최근 SoC 기술이 발달하면서, 내장형 시스템을 위한 프로세서 개발이 활발해졌다. 새로운 프로세서가 개발되면, 운영체제 및 소프트웨어 개발을 위해 컴파일러 및 디버거가 필요하다. 컴파일러는 소스코드를 타겟 프로세서에서 실행 가능한 목적파일로 변환하고, 디버거는 프로그램의 개발에서 오류를 찾기 위한 도구로 소프트웨어 개발에 매우 중요한 도구들이다. 본 논문에서는 KAIST에서 개발하는 32bit 프로세서인 Core-A를 위한 소프트웨어 디버거를 설계 및 구현한다. Core-A용 디버거는 공개 소스 디버거 시스템인 GDB를 참조모델로 했으며, 레지스터와 메모리 맵과 같은 프로세서 종속적인 부분을 확장하고 외부 인터페이스 모듈과 같은 프로세스 독립적인 모듈은 재사용함으로써 개발기간을 단축시켰다. 그리고 Core-A용 디버거의 검증을 위해 상용 디버거 시스템인 ARM용 AXD 디버거와 비교 실험을 진행하였다.

구조적 접근방식의 온라인 자동 서명 겁증 기법 (A Structural Approach to On-line Signature Verification)

  • 김성훈
    • 한국컴퓨터정보학회논문지
    • /
    • 제10권4호
    • /
    • pp.385-396
    • /
    • 2005
  • 이 논문에서는 온라인 서명 검증에 대한 새로운 접근 방법으로, 서명을 필기의 기본 구성 요소들로 표현하는 구조적인 접근 방법을 제시한다. 속력의 국부 극소점을 분할점으로 하여 얻어지는 부분을 원시 패턴으로 정의하였고, 서브패턴으로서 방향 변화에 의해 얻어지는 단순 회전형 성분, 첨형 성분, 종형 성분의 세 가지 종류를 정의하여 서명을 구조적으로 표현하였다. 그리고 서브패턴을 기본 단위로 한 동적 계획정합 알고리듬을 제시하였다. 또한, 학습 샘플로부터 국부적인 부분에 대한 변화도와 복잡도를 추출하여 참조 패턴의 학습과 진위 판단 임계치를 설정하였다. 실험을 통하여, 함수적 접근과 매개변수적 접근 그리고 제안된 구조적 접근 방법을 동일 조건에서 검증률, 처리시간, 메모리의 측면에서 비교하였다. 제안된 방법에서는, 서명의 국부적인 가중치를 적용하고 복잡도를 판단임계치의 설정에 사용함으로써 평균 오류율이 14.2%에서 4.05%로 검증률이 크게 향상되었다. 또한, 시간과 메모리의 측면에서 함수적 접근 방법에 비해 효과적이면서도 함수적 접근 방법의 최고 성능에 근접한 검증률을 얻을 수 있었다.

  • PDF

차분 퍼징을 이용한 국내 공개 암호소스코드 안전성 검증 (Security Verification of Korean Open Crypto Source Codes with Differential Fuzzing Analysis Method)

  • 윤형준;서석충
    • 정보보호학회논문지
    • /
    • 제30권6호
    • /
    • pp.1225-1236
    • /
    • 2020
  • 퍼징은 예상되는 범위를 벗어난 입력값을 무작위로 생성해 소프트웨어를 동적으로 테스팅 하는 방법으로, 취약점 분석을 자동화하기 위해 주로 쓰인다. 현재 한국인터넷진흥원에서는 국내 표준 암호 알고리즘들에 대한 소스코드를 공개하고 있으며, 많은 암호모듈 개발업체들이 이 소스코드를 이용하여 암호모듈을 개발하고 있다. 만약 이러한 공개 소스코드에 취약점이 존재할 경우, 이를 참고한 암호 라이브러리는 잠재적 취약점을 가지게 되어 향후 막대한 손실을 초래하는 보안 사고로 이어질 수 있다. 이에 본 연구에서는 SEED, HIGHT, ARIA와 같은 블록암호 소스코드의 안전성을 검증하기 위한 적절한 보안 정책을 수립하였고, 차분 퍼징을 이용해 안전성을 검증하였다. 최종적으로 스택 버퍼 오버플로우와 널 포인터 역참조를 포함하는 메모리 버그 항목과 오류 처리 항목에서 총 45개의 취약점을 발견하였으며, 이를 해결할 수 있는 취약점 개선 방안을 제시한다.