본문 바로가기
KERD
논문KCI 등재

정의되지 않은 행동에 의한 안전성 검사 무효화 탐지 기법

Detection of invalidated sanity checks caused by undefined behaviors

1

조회

0

다운로드

0

인용

0

참고문헌

키워드

주제분류컴퓨터학

초록

C언어에는 프로그래머의 의도와는 다르게 동작하는 정의되지 않은 행동(undefined behavior)들이 존재한다. 정상적인 데이터를 확인하기 위한 안전성 검사에서 정의되지 못한 행동에 해당되는 경우를 인지하지 못하고 사용하여안전성 검사가 컴파일러에 의해 무효화 되는 문제점이 발생한다. 본 논문에서는 이러한 문제점들을 해결하기 위해 소스코드에서 안전성 검사를 표기하고 실행파일에서 유효성을 확인하는 자동화된 시스템을 제안한다.

Abstract

C programming language has undefined behaviors, which cause unintended execution of a program. When a programmeradds sanity checks without caring about undefined behaviors, compilers may misunderstand and invalidate the sanity checks. Thus, we propose an automated system to detect invalidated sanity checks by marking sanity checks in source code andchecking the marks in binary code.

참고문헌 (7)

  1. X. Wang, "Towards optimization-safe systems: analyzing the impact of undefined behavior", Proceedings of the 24th ACM Symposium on Operating Systems Principles, pp.260~275 (2013)
  2. X. Wang, "Undefined behavior: what happened to my code?", Proceedings of the 3rd ACM SIGOPS Asia-Pacific conference on Systems (2012)
  3. "What every C programmer should know about undefined behavior" (2011)[URL]
  4. "assert(int+100 > int)optimized away", GCC Bug 30475, ~ (2007)
  5. "ext4: fixpoint divide exception at ext4_fill_super", Linux Bug 14287, ~ (2009)
  6. "C compilers may silently discard some wraparound checks", Vulnerability Note VU#162289, US-CERT, ~ (2008)
  7. G. Necula, "CIL : Intermediate language and tools for analysis and transformation of C programs", Compiler Construction, pp.213~218 (2002)

관련 논문AI추천

이 간행물의 다른 논문 (23건)