• 제목/요약/키워드: 정적 프로그램 분석

Search Result 903, Processing Time 0.029 seconds

Design of Structure for Loop Bound Analysis based on PS-Block (PS-Block 구조 기반의 반복횟수 분석 구조 설계)

  • Kim Yun-Kwan;Shin Won;Kim Tae-Wan;Chang Chun-Hyon
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2006.05a
    • /
    • pp.195-198
    • /
    • 2006
  • 실시간 프로그램은 항공기, 선박, 철도 예매 시스템 등 다양한 분야에서 사용되고 있으며, 그 개발자는 논리적, 시간적 정확성을 고려해야 한다. 시간적 정확성은 실시간 프로그램에서 가장 중요한 부분이며, 이를 위한 데드라인은 개발자에 의해 정의된다. 따라서 개발자는 데드라인의 정의를 위하여 기준점을 제시할 수 있는 정적 실행시간 분석이 필요하다. 정적 실행시간 분석에서 프로그램의 반복횟수의 분석은 큰 비중을 차지한다. 기존 연구에서 반복횟수의 분석은 사용자 입력에 의존하였고 현재 반복횟수 분석을 자동화하는 연구가 진행 중이다. 하지만 반복횟수의 분석은 반복횟수에 영향을 주는 제어변수의 결정정책에 따라 결과가 달라진다. 따라서 본 논문에서는 PS-Block구조를 기반으로 반복 횟수에 영향을 주는 제어변수들을 종합적으로 분석하여 보다 정밀하고 사용자의 입력을 자동화하는 반복횟수의 분석이 가능한 방법을 제시한다. 이로써 정적 실행시간 분석은 반복횟수의 정밀한 분석을 통하여 분석 결과의 정확도를 높이고 신뢰성을 향상시킬 수 있다.

  • PDF

Automatic Discovery of Interval Domain Specification by Static Analysis (양방향 정적 분석을 통한 정수구간 명세 자동유추)

  • Kim, Narae;Lee, Oukseh;Doh, Kyung-Goo
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2014.04a
    • /
    • pp.559-562
    • /
    • 2014
  • 일반적으로 정적 분석은 자동으로 후 조건은 유추할 수 있지만 전조건은 유추하지 못한다. 만약 전조건을 분석할 수 있다면 프로그램을 부품 별로 분석 할 수 있게 되고 이는 계산 양을 줄이면서도 유의미한 결과를 가지는 분석을 가능하게 한다. 본 연구는 정수 구간 도메인에 한해 기존 정적 분석을 변형하여 양방향 분석정보를 토대로 전조건을 유추하는 방법을 처음으로 제시한다.

Estimation of Static Memory Usage for Embedded Java System by Class File Analysis (내장형 자바 시스템에서 클래스 파일의 분석을 통한 정적 메모리 사용량의 예측)

  • Yang, Hee-Jae
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2003.11a
    • /
    • pp.467-470
    • /
    • 2003
  • 한 개의 자바 프로그램은 다수 개의 클래스 파일로 구성된다. 자바 프로그램이 실행되기 위해서는 클래스 파일이 메모리에 적재되어져야 하는데, 본 논문에서는 개별 클래스들이 어느 정도의 메모리를 사용할지를 정적으로 예측할 수 있게 하는 방법에 대해 알아보았다. 본 논문의 관심은 클래스 영역의 메모리, 즉 정적 메모리에 맞추어져 있으며, 힙 영역의 메모리 등 동적 메모리에 대한 예측은 향후 연구로 남겨 두었다. 클래스를 이루는 필드와 메소드 등의 값들이 메모리 사용량에 미치는 영향을 수식으로 유도하였으며, 이 수식의 유효성을 실제 실험을 통해 확인하였다.

  • PDF

A Out-of-Bounds Read Vulnerability Detection Method Based on Binary Static Analysis (바이너리 정적 분석 기반 Out-of-Bounds Read 취약점 유형 탐지 연구)

  • Yoo, Dong-Min;Jin, Wen-Hui;Oh, Heekuck
    • Journal of the Korea Institute of Information Security & Cryptology
    • /
    • v.31 no.4
    • /
    • pp.687-699
    • /
    • 2021
  • When a vulnerability occurs in a program, it is documented and published through CVE. However, some vulnerabilities do not disclose the details of the vulnerability and in many cases the source code is not published. In the absence of such information, in order to find a vulnerability, you must find the vulnerability at the binary level. This paper aims to find out-of-bounds read vulnerability that occur very frequently among vulnerability. In this paper, we design a memory area using memory access information appearing in binary code. Out-of-bounds Read vulnerability is detected through the designed memory structure. The proposed tool showed better in code coverage and detection efficiency than the existing tools.

The Generation of the Function Calls Graph of an Obfuscated Execution Program Using Dynamic (동적 분석을 이용한 난독화 된 실행 프로그램의 함수 호출 그래프 생성 연구)

  • Se-Beom Cheon;DaeYoub Kim
    • Journal of IKEEE
    • /
    • v.27 no.1
    • /
    • pp.93-102
    • /
    • 2023
  • As one of the techniques for analyzing malicious code, techniques creating a sequence or a graph of function call relationships in an executable program and then analyzing the result are proposed. Such methods generally study function calling in the executable program code through static analysis and organize function call relationships into a sequence or a graph. However, in the case of an obfuscated executable program, it is difficult to analyze the function call relationship only with static analysis because the structure/content of the executable program file is different from the standard structure/content. In this paper, we propose a dynamic analysis method to analyze the function call relationship of an obfuscated execution program. We suggest constructing a function call relationship as a graph using the proposed technique.

Airac: Static Analyzer for Automatic Verification of Array Index Ranges in C Programs (아이락: C 프로그램의 메모리 오류 정적 분석기)

  • Jung Yungbum;Kim Jaehwang;Shin Jaeho;Yi Kwangkeun
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2005.11b
    • /
    • pp.964-966
    • /
    • 2005
  • 아이락(Airac)은 C 프로그램의 버퍼오버런(buffer overrun)오류를 찾아주는 정적 프로그램 분석기(static program analyzer)이다. 아이락은 요약해석(abstract interpretation)의 틀 속에서 디자인되었다. 설계 및 구현 과정에서 프로그램 분석 분야에서 축적되어온 다양한 기술들을 적용하여 분석의 성능 및 정확도 향상을 이룩하였다. 아이락은 리눅스 커널(linux kernel), GNU 소프트웨어, 상용 소프트웨어등에 적용되어 오류를 찾아냈다.

  • PDF

A Visualization System for Permission Check in Java using Static Analysis (정적분석을 이용한 자바 언어의 권한검사 시각화 시스템)

  • Kim, Yun-Kyung;Chang, Byeong-Mo
    • The KIPS Transactions:PartA
    • /
    • v.13A no.5 s.102
    • /
    • pp.399-404
    • /
    • 2006
  • In Jana 2, to enforce a suity policy of a program, programmer writes permission sets required by the code at the policy file, sets Security Manager on system and executes the program. Then Security Manager checks by stack inspection whether an access request to resource should be granted or denied whenever code tries to access critical resource. In this paper, we develop a visualization tool which helps programmers enforce security policy effectively into programs. This system is based on the static permission check analysis which analyzes permission checks which must succeed or fail at each method. Based on this analysis information, programmer can examine visually how permission checks and their stack inspection are performed. By modifying program or policy file if necessary and examining analysis information repeatedly, programmer can enforce security policy correctly.

Static Slicing of First-Order Functional Language based on Operational Semantics (오퍼레이셔널 의미에 기반한 일차 함수형 언어의 정적 분할)

  • Ahn, Joon-Seon;Han, Tai-Sook
    • Journal of KIISE:Software and Applications
    • /
    • v.27 no.8
    • /
    • pp.877-885
    • /
    • 2000
  • Static slice means a set of parts of a program that potentially affect the values computed at a slicing criterion considering all the possible input values. In this paper, we have formally defined static slice of a first-order functional language based on operational semantics. And, we have presented a sound method to analyze static slice using abstract interpretation.

  • PDF

Refinement for Loops in Buffer-Overrun Abstract Interpretation (요약해석을 이용한 버퍼오버런 분석에서 루프 분석결과의 정교화)

  • Oh, Hak-Joo;Yi, Kwang-Keun
    • Journal of KIISE:Computing Practices and Letters
    • /
    • v.14 no.1
    • /
    • pp.111-115
    • /
    • 2008
  • We present a simple and effective method to reduce loop-related false alarms raised by buffer-overrun static program analyzer. Interval domain buffer-overrun analyzer raise many false alarms in analyzing programs that frequently use loops and arrays. Firstly, we classified patterns of loop-related false alarms for loop-intensive programs, such as embedded programs or mathematical libraries. After that we designed a simple and effective false alarm refiner, specialized for the loop-related false alarms we classified. After the normal analysis of program in which alarms considered as false. We implemented this method on our buffer-overrun analyzer with the result that our refinement method decreased the number of false alarms by 32% of total amount the analyzer reported.

Analysis of Effecting Factor of Communication for Timing Analysis in Distributed Real-Time Systems (분산 실시간 시스템에서 실시간성 분석을 위한 통신 요소 분석)

  • 구현우;홍영식
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2004.10a
    • /
    • pp.610-612
    • /
    • 2004
  • 실시간 시스템은 논리적 정확성뿐만 아니라 시간적 정확성을 요구한다. 시간적 정확성을 만족시키기 위해서 실시간 시스템의 설계자는 작업들의 스케줄 가능성에 대한 연구를 선행하여야 한다. 스케줄 가능성 분석을 위해 작업들에 대한 실행 시간 예측이 필요하다 작업들의 실행 시간 예측을 위한 방법으로 측정과 정적 분석이 연구되었다. 측정 및 정적 분석은 비용 및 막장성에 문제점을 지니고 있고 실시간 시스템의 발전을 따라가지 못하여 분석 결과의 정확성이 만족스럽지 못하다. 본 논문에서는 정적 분석을 단일 시스템이 아닌 분산 실시간 시스템에 적용할 수 있는 확장된 정적 분석 도구의 개발을 위해 분산 실시간 시스템으로 전환에 의해 발생되는 통신 영향 요소의 분석 및 통신 영향 요소 분석기를 설계한다. 실행 시간에 영향을 미치는 요소들의 분석을 통해 원시 프로그램에서 자동적으로 예측된 실행 시간의 정확도와 신뢰도를 높인다.

  • PDF