• 제목/요약/키워드: Execution Behavior

검색결과 184건 처리시간 0.028초

동적 제어 정보를 이용한 효율적인 프로그램 슬라이싱 알고리즘 (An Efficient Program Slicing Algorithm using Dynamic Control Information)

  • 박순형;정은이;박만곤
    • 한국멀티미디어학회논문지
    • /
    • 제3권1호
    • /
    • pp.92-100
    • /
    • 2000
  • 일반적인 소프트웨어 시스템은 새로운 요구와 오류의 발견으로 인해 계속적인 개발과 확장 그리고 수정이 요구된다. 이러한 일련의 작업과정에서 기존 프로그램의 정확한 이해는 매우 필요하다. 어떤 프로그램의 특정 명령문에 있는 변수에 대한 관련 명령문을 찾고 싶을 때 프로그래머는 입력 자료의 값에 대해 프로그램의 실행궤도 추적을 통해 프로그램을 분석한다. 그러므로, 현재 입력 값에 영향을 끼치는 모든 명령문들에 관련된 동적 프로그램 슬라이싱(dynamic program slicing)과 이를 구현하는 기술의 개발은 매우 중요하다고 할 것이다. 그러나 전통적인 동적 슬라이싱 기법은 구현 초기에 프로그램 실행이력을 만들어야 하는 불편이 있었다. 본 논문에서는 실행이력 파일을 사용하지 않고 동적 제어 정보와 프로그램 슬라이싱 기법을 사용하여 효율적으로 프로그램 슬라이스를 산출하는 알고리즘을 제시하였고 이것을 프로그래밍한 뒤 예제 프로그램을 적용시켜 구현하였다. 그리고, 본 논문에서 제시한 슬라이스 생성기법이 기존의 기법보다 더 효율성이 높다는 것을 보였다.

  • PDF

안드로이드 저장소 취약점을 이용한 악성 행위 분석 및 신뢰실행환경 기반의 방어 기법 (Analysis of Malicious Behavior Towards Android Storage Vulnerability and Defense Technique Based on Trusted Execution Environment)

  • 김민규;박정수;심현석;정수환
    • 정보보호학회논문지
    • /
    • 제31권1호
    • /
    • pp.73-81
    • /
    • 2021
  • 휴대폰 이용 시 앱 또는 웹 기반 어플리케이션을 이용하여 파일 다운로드 시, 다운로드 되는 파일들은 어플리케이션 마다 특정 디렉토리에 저장하도록 기본 경로가 설정되어 있다. 파일 관리자를 비롯하여 저장소로 접근이 필요한 여러 어플리케이션들은 여러 기능들과 서비스를 제공하기 위해, 저장소의 읽기 및 쓰기 권한을 요구한다. 이는 다운로드 경로에 직접 접근하여 사용자가 저장해놓은 수많은 중요 파일들에 직접 접근할 수 있게 됨을 의미한다. 본 논문에서는 이러한 다운로드 된 파일들의 저장 공간의 보안 취약점을 이용한 공격 가능성을 증명하기 위해 암호화를 위장한 파일 탈취 어플리케이션 기능을 개발하였다. 암호화를 진행한 파일은 암호화됨과 동시에 백그라운드에서는 해커에게 E-mail을 통해 전송된다. 개발한 어플리케이션을 악성 분석 엔진인 VirusTotal을 이용하여 검사한 결과, 74개의 엔진 모두에서 악성 앱으로 탐지되지 않았다. 최종적으로 본 논문에서는 이러한 저장소 취약점을 보완하기 위한 신뢰실행 환경 기반의 방어 기법과 알고리즘을 제안한다.

리플렉션이 사용된 앱의 실행 로그 기록 및 분석을 통한 의심스러운 분기문 탐지 (Detecting suspicious branch statements through recording and analyzing execution logs of apps using reflection)

  • 이수민;박민호;홍지만
    • 스마트미디어저널
    • /
    • 제12권5호
    • /
    • pp.58-64
    • /
    • 2023
  • 로직 밤에서 악성 행위를 트리거하는 분기문의 조건은 미리 파악할 수 없어 안드로이드 악성 앱 분석을 어렵게 하고 있다. 로직 밤과 트리거일 수 있는 잠재적으로 의심스러운 분기문을 탐지하기 위한 다양한 연구가 진행되었으나, 리플렉션과 같이 런타임에 결정되는 정보가 포함된 앱에서는 의심스러운 분기문을 제대로 탐지할 수 없다. 본 논문에서는 안드로이드 앱에 리플렉션이 사용되어도 앱 실행 로그 기록과 분석을 통해 의심스러운 분기문을 탐지할 수 있는 도구를 제안한다. 제안한 도구는 안드로이드 앱이 실행되는 동안 로그에 호출된 사용자 정의 메소드와 자바 API, 리플렉션으로 호출된 메소드 정보와 분기문 정보를 기록하고 이를 분석하여 호출된 메소드와 분기문간의 관계를 파악하여 의심스러운 분기문을 탐지할 수 있다. 실험을 통해 리플렉션이 사용된 앱에서도 의심스러운 분기문을 탐지할 수 있음을 확인하였다.

정의되지 않은 행동에 의한 안전성 검사 무효화 탐지 기법 (Detection of invalidated sanity checks caused by undefined behaviors)

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

비젼기반 축구로봇시스템을 위한 복합제어구조에서 행위계층설계 및 시험적 평가 (Design and Experimental Evaluation of Action Level in a Hybrid Control Structure for Vision Based Soccer Robot)

  • 심현식;성윤경;김종환
    • 제어로봇시스템학회논문지
    • /
    • 제6권2호
    • /
    • pp.197-206
    • /
    • 2000
  • A hybrid control structure for vision-based soccer robot system is considered. The structure is om-posed of four levels such as the role action behavior and execution levels. The control structure which is a combination of hierarchical and behavioral structures can efficiently meet the behavior and design specifications of a soccer robot system Among the four levels only the design of the action level is proposed in the paper and is experimentally evaluated. Design hypothesis and evaluation method are presented to improve the reliability and accomplishment of the robot system. Due to the essential element of soccer robot system design a systematic design procedure of the action level is proposed With the proposed structure and algorithm of the action level the excellent result was shown at the MiroSot'98 held in France.

  • PDF

Memory Behavior in Scientific vs. Commercial Applications

  • Kim, Taegyoun;Heejung Wang;Lee, Kangwoo
    • 대한전자공학회:학술대회논문집
    • /
    • 대한전자공학회 1999년도 추계종합학술대회 논문집
    • /
    • pp.421-425
    • /
    • 1999
  • As the market size of multiprocessor systems for commercial applications, parallel systems, especially cache-coherent shared-memory multiprocessors that are conventionally designed for scientific applications need to be tuned in different fashion to achieve the best performance for new application area. In this paper, indepth investigation on the memory behavior which is the primary cause for performance changes were made. We chose representative benchmarks in scientific and commercial application areas. After running execution-driven simulation for bus-based cache-coherent shared-memory multiprocessors, we experienced significant differences and conclude that the systems must be carefully and differently designed to achieve the best performance when they are built for distinct applications.

  • PDF

코레어그래피 기반 웹 서비스 조합의 구현 적합성 평가 및 테스트 방법 (Conformity Assessment and Test Method for Implementation of Web Services Compositions based on Choreography)

  • 국승학;서용진;김현수
    • 인터넷정보학회논문지
    • /
    • 제13권1호
    • /
    • pp.83-98
    • /
    • 2012
  • 최근 웹 서비스 기반 서비스 지향 구조가 분산된 애플리케이션의 효율적인 통합을 위한 방법으로 널리 활용되고 있다. 서비스 지향 구조에서의 코레어그래피는 기업 간 비즈니스 프로세스 환경에서 메시지 교환에 초점을 맞춘 협업 방식으로 참여하는 서비스들 사이의 작업 진행 순서와 메시지 교환 프로토콜을 정의함으로써 거시적인 측면에서 전체 프로세스를 모델링하기 위해 사용된다. 그러나 이러한 코레어그래피는 웹 서비스 조합을 실행시키는 방법이 아니기 때문에 구현 모델로 변환 후 사용된다. 따라서 코레어그래피 모델을 실행시키기 위한 구현 모델은 기능적인 측면에서 코레어그래피 모델을 정확하게 구현하였는지 반드시 평가되어야 한다. 이에 본 논문에서는 코레어그래피 모델과 구현 모델의 서비스 조합 적합성을 평가하는 방법과 수행을 통한 동작의 일치성을 보장하기 위한 테스트 방법을 제시한다.

Registry 분석을 통한 악성코드 감염여부 탐지 방법 연구 (Research on Registry Analysis based Malware Detection Method)

  • 홍성혁
    • 한국융합학회논문지
    • /
    • 제8권5호
    • /
    • pp.37-43
    • /
    • 2017
  • 윈도우 운영체제(Operating System)에서 OS와 어플리케이션 프로그램 운영에 필요한 정보를 저장하기 위해 개발된 계층형 DB인 registry는 부팅에서 사용자 로그인, 응용 서비스 실행, 어플리케이션 프로그램 실행, 사용자 행위 등 모든 활동에 관여하기 때문에, registry를 분석을 통한 디지털증거획득이 많이 사용되고 있다. 최근 사용자가 인식하지 못하는 방법으로 악성코드가 시스템에 침투하여 귀중한 기술정보를 유출하거나 도용하여 금전적 피해가 많이 발생하고 있다. 따라서 본 연구에서는 고가의 디지털포렌식 프로그램 사용 없이 셰어웨어 어플리케이션을 이용하여 악성코드를 탐지하는 방법을 제시하여 해킹의 피해를 분석하고 동일한 피해를 예방하기 위해 본 연구를 진행하였으며, 악성코드를 탐지하고 분석하기 위해 고가의 상용프로그램을 사용하지 않고도 정확히 분석할 수 있기 때문에 학문적 기여도는 클 것으로 기대한다.

오토마타기반의 병행 프로그램을 위한 결정적 수행 테스팅 기법 (Deterministic Execution Testing for Concurrent Programs based on Automata)

  • 정인상;김병만;김현수
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제28권10호
    • /
    • pp.706-719
    • /
    • 2001
  • 이 논문에서는 병행 프로그램을 테스팅하기 위해 오토마타에 기반을 둔 새로운 결정적 수행방법을 제시한다. 이 논문에서는 제안한 방법은 부분 순서 방법에서 상태 폭발 문제를 해결하기 위해 사용되는 이벤트 독립 개념을 사용하여 주어진 이벤트 시퀸스와 의미적으로 동일한 시퀸스들을 받아들이 수 있는 오토마타를 구축한다. 따랏 프로그램이 주어진 시퀀스를 직접적으로 구현하지 않았다 할지라도 그 와 의미적으로 동일한 대안 시퀀스가 존재한다면 프로그램의 실행을 허락한다. 이 방법의 장점을 프로그램이 명세에 기술된 대로 정확하게 구현되어있지 않은 상황에서도 적용할수 있다는 점이다.

  • PDF

Algorithmic GPGPU Memory Optimization

  • Jang, Byunghyun;Choi, Minsu;Kim, Kyung Ki
    • JSTS:Journal of Semiconductor Technology and Science
    • /
    • 제14권4호
    • /
    • pp.391-406
    • /
    • 2014
  • The performance of General-Purpose computation on Graphics Processing Units (GPGPU) is heavily dependent on the memory access behavior. This sensitivity is due to a combination of the underlying Massively Parallel Processing (MPP) execution model present on GPUs and the lack of architectural support to handle irregular memory access patterns. Application performance can be significantly improved by applying memory-access-pattern-aware optimizations that can exploit knowledge of the characteristics of each access pattern. In this paper, we present an algorithmic methodology to semi-automatically find the best mapping of memory accesses present in serial loop nest to underlying data-parallel architectures based on a comprehensive static memory access pattern analysis. To that end we present a simple, yet powerful, mathematical model that captures all memory access pattern information present in serial data-parallel loop nests. We then show how this model is used in practice to select the most appropriate memory space for data and to search for an appropriate thread mapping and work group size from a large design space. To evaluate the effectiveness of our methodology, we report on execution speedup using selected benchmark kernels that cover a wide range of memory access patterns commonly found in GPGPU workloads. Our experimental results are reported using the industry standard heterogeneous programming language, OpenCL, targeting the NVIDIA GT200 architecture.