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

검색결과 903건 처리시간 0.041초

TMO 기반의 정적 분석 도구를 위한 PS-Block 구조 설계 (Design of PS-Block Structure for TMO Model based Static Analysis Tool)

  • 김윤관;신원;김태완;장천현
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2005년도 추계학술발표대회 및 정기총회
    • /
    • pp.263-266
    • /
    • 2005
  • 실시간 시스템은 시간적 정확성을 갖기 때문에 소형 임베디드 시스템부터 대형 분산 시스템까지 많은 분야에서 사용되고 실시간 시스템을 기반으로 하는 실시간 프로그램도 많은 분야에서 사용되고 있다. 이러한 실시간 프로그램의 시간적 특성을 지키기 위해 개발자들은 프로그램 개발에 집중하지 못하고 실행시간의 정의와 정의한 실행시간의 정확성 검사에 많은 시간을 보내고 있다. 실시간 시스템에 대한 연구 결과로서 TMO 모델은 실시간 개념에 따른 시간 처리의 다양한 기능을 지원하고, 응답시간을 보장하여 개발자가 프로그램 개발에 집중할 수 있다. 하지만, 실행시간의 정의는 개발자에 의해 이루어지기 때문에 이를 정의하고 그 정확성 여부를 확인하는 작업은 어렵다. 이러한 문제로 인하여 실행시간 정의의 기준점을 제시할 수 있는 도구가 필요하지만 이를 위한 TMO 분석 도구에 대한 연구는 미흡하다. 이에 본 논문에서는 TMO 기반 정적 분석 도구를 위한 PS-Block을 제시한다. PS-Block은 블록 단위로 실행시간을 분석할 수 있는 기반으로써 프로그램을 작업 단위로 분리하여 분석할 수 있도록 한다. 이를 기반으로 실행시간을 분석하여 시간 정보 결정의 기준으로 하고, 실시간 메소드의 적시성 확인을 쉽게 함으로써 실시간/신뢰성의 향상과 개발 기간을 단축할 수 있다.

  • PDF

다단계 프로그램을 위한 타입 기반의 실행흐름 분석 (Type based Control Flow Analysis of Multi-Staged Program)

  • 진민식;이광근
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2007년도 한국컴퓨터종합학술대회논문집 Vol.34 No.1 (C)
    • /
    • pp.516-520
    • /
    • 2007
  • 이 논문에서는 다단계 프로그램의 실행흐름을 타입을 기반으로 분석하는 방법을 제시하고 있다. 다단계 프로그램이란 실행 중 코드를 만들고 실행할 수 있는 언어를 말한다. 본 논문에서는 기존의 고차 함수형 언어의 실행흐름을 분석하는 방법을 다단계 언어를 위해서 확장한 방법을 제시하고 있다. 이 분석은 한 수식이 평가될 때 호출될 수 있는 함수들의 집합을 정적으로 분석하여 다단계 프로그램의 실행흐름 정보를 제공한다.

  • PDF

동적-정적 분석 데이터와 딥러닝을 이용한 난독화된 악성코드 탐지 기법 (Obfuscated malware detection Approach using Dynamic and Static Analysis Data and Deep Learning)

  • 김해수;김미희
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2023년도 춘계학술발표대회
    • /
    • pp.131-133
    • /
    • 2023
  • 악성코드를 유포할 때 프로그램 코드만으로 악성코드의 유무를 확인할 수 없도록 조치하여 분석을 지연시키는 방식을 사용하는 방향으로 발전하고 있다. 악성코드를 실행하지 않고 코드와 구조만으로 분석하는 정적 분석으로는 악성코드를 판별할 수 없어 코드를 직접 실행해 분석하는 동적 분석을 이용해야 한다. 본 논문에서는 난독화된 비정상적인 코드를 직접 실행한 동적 분석데이터와 일반적이지 않은 섹션들의 정보를 추출한 정적 분석데이터를 이용해 동적-정적 분석 데이터와 딥러닝 모델을 통해 난독화 및 패킹된 악성코드를 탐지하는 기법을 제안한다.

요약해석을 인용한 정보흐름 제어 (Information Flow Centre1 using Abstract Interpretation)

  • 신승철;도경구;이수호
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2002년도 봄 학술발표논문집 Vol.29 No.1 (B)
    • /
    • pp.355-357
    • /
    • 2002
  • 정보 흐름 보안성은 프로그램 보안성 검증 문제의 하나로서 주어진 프로그램이 각 변수들에 미리 정해진 보안수준이 허용하는 범위 내에서만 정보가 교환되는지를 검증하는 것이다. 프로그램 정적 분석을 위한 여러 가지 방법들 중에서 요약 해석법은 프로그램 분석의 기조를 마련할 뿐 아니라 저장기반 데이터흐름 분석 문제를 간략하게 해주는 장점을 가지고 있다. 본 논문에서는 요약해석을 이용하여 정보흐름 보안성을 검증하는 방법을 설명하고 이를 이용하여 프로그램 개발 시에 유용한 디버깅 정보를 제공하는 방법을 제시한다.

  • PDF

요약파싱기법을 사용한 웹 접근성의 정적 분석 (Static Analysis of Web Accessibility Based on Abstract Parsing)

  • 김현하;도경구
    • 정보과학회 논문지
    • /
    • 제41권12호
    • /
    • pp.1099-1109
    • /
    • 2014
  • 웹 접근성 평가 도구는 웹 사이트가 웹 접근성 지침을 잘 지키고 있는지 검사하는 도구이다. 국내외 법과 제도가 마련된 이후 지침 준수여부를 검사하는 도구가 많이 나왔지만, 대부분 동적으로 페이지를 수집해서 분석하는 방법을 사용한다. 특히 자동화된 도구들은 페이지를 수집한 후에 분석하는데, 실행환경이나 접근권한의 문제로 수집하지 못해서 분석결과에서 빠지는 경우가 발생할 수 있다. 본 연구는 기존 방법과 달리 정적으로 분석하여 웹 접근성을 평가하는 방법을 제안한다. 정적인 분석방법은 실행 가능한 모든 경로를 고려하기 때문에 놓치는 페이지 없이 분석할 수 있다. 요약해석기법에 파싱이론을 접목한 요약파싱 기술을 사용해서 동적으로 생성될 웹 페이지의 웹 접근성을 정적으로 분석하는 도구를 개발하였다. 실험 대상 PHP 프로그램을 제안하는 연구방법으로 개발한 도구와 비교 대상 도구에서 분석한 결과를 비교해서 비교 대상 도구에서는 접근권한이나 실행경로 등의 문제로 분석하지 못하고 놓치는 웹 페이지가 있음을 확인하였다.

프로그램 변환을 이용한 자바 프로그램의 동적 예외 분석 (Dynamic Exception Analysis for Java Program by Program Transformation)

  • 오희정;창병모
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2004년도 봄 학술발표논문집 Vol.31 No.1 (B)
    • /
    • pp.847-849
    • /
    • 2004
  • 프로그램 내에서 심각하지 않은 에러를 예외라고 한다. 자바에서는 프로그래머가 이러한 예외를 명시적으로 처리할 수 있으며 신뢰성 있는 프로그램 개발을 위해서는 발생 가능한 예외에 대한 적절한 처리가 중요하다. 이러한 예외의 처리 여부에 대한 연구는 주로 정적 분석을 중심으로 이루어져 왔으나 프로그램 실행 중에 예외 발생, 전파 경로에 대한 정확한 정보는 제공해주지 못한다. 본 연구에서는 프로그램 변란을 이용해 실행 중에 발생. 처리, 전파되는 예외 정보를 실시간으로 제공할 수 있는 시스템을 설계 개발한다.

  • PDF

PHP 파일 삽입 취약성 검사를 위한 정적 분석기의 구현 (Implementation of a Static Analyzer for Detecting the PHP File Inclusion Vulnerabilities)

  • 안준선;임성채
    • 정보처리학회논문지A
    • /
    • 제18A권5호
    • /
    • pp.193-204
    • /
    • 2011
  • 인터넷 상의 웹 응용 프로그램은 불특정 다수의 사용자가 접근할 수 있기 때문에 보안상의 위험이 가중된다. 특히, 응용 프로그램의 소스코드에 보안 취약성이 있을 경우에는 침입 탐지 시스템과 같은 시스템 수준의 방어가 어렵기 때문에 이를 미리 제거하는 것이 중요하다. 본 논문에서는 웹 응용 프로그램의 대표적인 소스 코드 취약성인 PHP 파일 삽입 취약성을 자동으로 검출할 수 있는 정적 분석기의 구현에 대해 다룬다. 본 연구에서는 의미 기반의 정적 분석을 사용하여 소스 코드의 취약성을 미리 자동으로 검출하고 수정하도록 함으로써, 기존의 침입 테스트 기법이나 응용 프로그램 방화벽 사용과 다르게 보안 취약성을 안전하게 제거하면서 추가적인 실행 시간 부하를 피하고자 하였다. 이를 위하여 의미 기반 분석 방법인 요약 해석 방법론을 적용했으며, PHP 삽입 취약성에 최적화된 요약 분석 공간을 설계하여 사용함으로써 PHP의 특성인 복잡한 문자열 기반 자료 흐름을 효과적으로 처리하면서 목적으로 하는 취약성을 효과적으로 검출할 수 있었다. 프로그램의 취약성 분석 결과는 Java GUI 도구를 통해 확인할 수 있으며, 분석된 취약성 지점에서의 메모리 상태 및 계산 정보도 같은 도구를 사용해 확인할 수 있다. 구현된 분석기의 취약성 검출의 정확성과 실행 속도를 검증하기 위하여 공개된 PHP 프로그램을 사용하여 성능 실험을 수행하였으며, 이를 통해 구현된 분석기의 실용성을 확인하였다.

임베디드 기기 바이너리 취약점 분석 효율성 제고를 위한 중간어 변환 기술 (Intermediate-Representation Translation Techniques to Improve Vulnerability Analysis Efficiency for Binary Files in Embedded Devices)

  • 정병호;김용혁;배성일;임을규
    • 스마트미디어저널
    • /
    • 제7권1호
    • /
    • pp.37-44
    • /
    • 2018
  • 임베디드 기기는 시퀀스 제어 기능과 수치연산 기능을 활용하여 제어 프로그램에 따라 산업현장의 기기 등 다양한 자동화 시스템에 활용된다. 현재 임베디드 기기는 기업의 산업현장, 원전, 대중교통 같은 국가기반시설에서 제어 시스템으로 활용되고 있다. 따라서 임베디드 기기를 대상으로 하는 공격은 큰 경제적 손실과 사회적 손실을 야기할 수 있다. 임베디드 기기를 대상으로 하는 공격은 대부분 데이터, 코드 변조로서 제어 프로그램을 대상으로 이루어진다. 산업 자동화 임베디드 기기의 제어 프로그램은 일반적인 프로그래밍 언어와 달리 회로 구조를 표현하기 위하여 설계되었고, 대부분의 산업 자동화 제어 프로그램은 그래픽 기반 언어인 LAD로 설계되어있어 정적분석이 용이하지 않다. 이러한 특징으로 인하여 산업 자동화 제어 프로그램에 대한 취약점 분석 및 보안 관련 연구는 정형 검증, 실시간 모니터링 수준에 그친다. 또한 사전에 취약점을 탐지하고 공격에 대한 대비가 가능한 산업 자동화 제어 프로그램 정적분석 연구는 매우 저조한 실정이다. 따라서 본 연구에서는 산업 자동화 임베디드 프로그램에 대한 정적분석 효율성 증대를 위하여 회로 구조를 표현하기 위해 설계된 산업 자동화 제어 프로그램을 논리식으로 표현하기 위한 방법을 제시한다. 또한 다양한 제조사의 산업 자동화 제어 프로그램을 통합적으로 분석하기 위하여 LLVM IR을 활용한 중간어 변환 기술을 제안한다. LLVM IR을 활용함으로서 동적 분석에 대한 통합분석이 가능하다. 본 연구에서는 해당 방법에 대한 검증을 위하여 S 사(社)의 제어 프로그램을 대상으로 하여 논리식 형태의 중간어로 변환하는 프로그램의 시제품을 개발하였다.

바이너리 코드의 정적 제어 흐름 분석을 위한 프레임워크 (Framework for Static Control Flow Analysis of Binary Codes)

  • 백영태;김기태
    • 한국컴퓨터정보학회:학술대회논문집
    • /
    • 한국컴퓨터정보학회 2010년도 제42차 하계학술발표논문집 18권2호
    • /
    • pp.67-70
    • /
    • 2010
  • 본 논문은 바이너리 코드 수준에서 정적인 프로그램 분석을 수행하는 프레임워크를 설계 및 구현한다. 정적으로 바이너리 코드 수준에서 분석을 수행하려는 이유는 일반적으로 컴퓨터에 설치되는 실행 파일은 소스 코드 없이 단지 바이너리로 된 실행 파일만 주어지는 경우가 대부분이고, 정적 제어 흐름 분석을 통해 수행 전에 동작을 파악하기 위해서이다. 본 논문에서는 바이너리 실행 파일로부터 실행 순서 및 제어 흐름 등의 정보를 표현할 수 있는 제어 흐름 그래프를 작성하여 바이너리 파일의 실행 흐름과 위험한 함수의 호출 여부를 동시에 파악할 수 있도록 하며, 그래프 시각화를 통해 바이너리 파일의 분석을 용이하게 한다. 또한 실행 흐름에 대한 자동 탐색 방법을 제공한다.

  • PDF

공개 정적 분석도구를 활용한 JAVA 보안취약성 분석 (JAVA Security Vulnerability Improvement Using Open Static Analysis Tools)

  • 오동준;장영수
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2015년도 춘계학술발표대회
    • /
    • pp.392-395
    • /
    • 2015
  • 인터넷 확산에 따라 소프트웨어의 보안 취약점을 이용한 공격이 커지고 있다. 이와 같은 공격을 방지하기 위해서는 응용프로그램을 사전에 보안 취약점을 분석하여 분석된 취약점에 대해서는 시큐어 코딩을 적용하여 취약한 코드를 개선해야한다. 본 논문에서는 보안취약점을 분석하기 위한 공개 정적분석도구를 활용하여 분석하고 취약점 유발 코드는 시큐어 코딩을 적용하여 소프트웨어 보안을 할 수 있게 적용하였다.