• Title/Summary/Keyword: 라이브러리 함수 호출

Search Result 15, Processing Time 0.023 seconds

Tracing Library Function Calls on ARM Linux Environment using Ltrace (ARM 리눅스 환경에서 ltrace 를 이용한 라이브러리 함수 호출 추적)

  • Kim, Hong-Gyu;Kim, Hong-June;Egger, Bernhard;Lee, Jae-Jin
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2012.06a
    • /
    • pp.140-142
    • /
    • 2012
  • 리눅스 환경에서는 빠른 개발 및 디버깅을 위한 다양한 시스템 도구들이 존재하는데 라이브러리 함수 호출을 추적할 수 있는 도구로는 ltrace 가 널리 사용되고 있다. 현재 제공되는 ltrace 에는 ARM 리눅스 환경에 대한 지원이 있지만 커널 내부의 기능 미구현으로 정확한 동작을 하지 않는 상태이다. 본 논문에서는 현재 ltrace 가 ARM 리눅스 환경에서 갖는 문제점을 제시하고, 이에 대한 방안을 ltrace 의 내부에 직접 구현하여 문제없이 실행 가능하도록 한다. 이를 통해 실제 ARM 리눅스 환경에서 Parsec 벤치마크의 7개 프로그램을 실행하고, 각 프로그램의 라이브러리 함수 호출을 추적하여 정상적으로 동작함을 보인다.

User-defined Function Support in RDBMSs (관계형 데이터베이스 시스템에서의 사용자 정의 함수 지원)

  • Go, Jeong-Mi;Jeong, Jae-Mok;Kim, Hyeong-Ju
    • Journal of KIISE:Computing Practices and Letters
    • /
    • v.5 no.3
    • /
    • pp.295-304
    • /
    • 1999
  • 관계형 데이터베이스 시스템의 기능이 점차 확대되면서 사용자 정의 함수의 역할이 다양하게 되었다. 이에 따라 사용자 정의 함수의 수행 속도뿐 아니라 데이터베이스 시스템의 안정성과 보안의 중요성이 부각되었다. 사용자 정의함수 지원방식은 크게 3가지로 나눌 수 있다. : 정적로딩 방식, 공유 라이브러리 방식, 프로세스 호출 방식, 기존의 데이터베이스 시스템에서 사용되는 공유 라이브러리 방식은 속도면에서 우수하나 안정성, 보안에 대한 요구를 만족시키지 못하며 시스템에 이식할 때 문제가 있다. 우리는 프로세스 호출 방식을 개선하여 사용자 정의 함수지원을 구현하였다. 본 논문에서는 관계형 데이터베이스시스템에서 사용하는 사용자 정의함수를 구현하는데 있어서 고려해야할 점들을 살펴보고 성능을 측정한다. 성능 평가를 통해 우리가 구현한 방식이 공유 라이브러리방식과 성능차이는 적은 반면 장점이 많다는 것을 보인다.

A Study of Coverage Improvement for Library Fuzzing (라이브러리 퍼징의 커버리지 향상 방법 연구)

  • Kim, Seoyoung;Cho, Mingi;Kim, Jongshin;Kwon, Taekyoung
    • Journal of the Korea Institute of Information Security & Cryptology
    • /
    • v.30 no.6
    • /
    • pp.1079-1085
    • /
    • 2020
  • Fuzzing is used to find vulnerabilities for a library. Because library fuzzing only tests the implemented functions, in order to achieve higher code coverage, additional functions that are not implemented should be implemented. However, if a function is added without regard to the calling relationship of the functions in the library, a problem may arise that the function that has already been tested is added. We propose a novel method to improve the code coverage of library fuzzing. First, we analyze the function call graph of the library to efficiently add the functions for library fuzzing, and additionally implement a library function that has not been implemented. Then, we apply a hybrid fuzzing to explore for branches with complex constraints. As a result of our experiment, we observe that the proposed method is effective in terms of increasing code coverage on OpenSSL, mbedTLS, and Crypto++.

Design and Implementation of Event Trace FAcilities for Debugging RPC-oriented Distributed Systems (RPC에 기반한 분산 시스템의 디버깅을 위한 이벤트 추적 기능의 설계 및 구현)

  • Seo, Yeong-Ae;Lee, Eun-Jeong;Park, Chang-Sun
    • Journal of KIISE:Computing Practices and Letters
    • /
    • v.5 no.3
    • /
    • pp.313-325
    • /
    • 1999
  • 분산 프로그램의 디버깅이 순차 프로그램의 디버깅보다 어려운 이유중의 하나는 수행중인 프로세스들 간의 통신 때문이다. 비록 분산 시스템을 위해 구축된 디버거들이 많이 있음에도 불구하고 , 프로세스들간의 통신 이벤트를 효과적으로 디버깅할수 있는 실용적인 수준의 디버거는 없는 실정이다. 본 논문에서는 분산 시스템의 개발에 널리 사용되고있는 RPC 매커니즘을 이용한 프로그램간의 통신을 효과적으로 디버깅하는 방법을 제시한다. 이를 위하여 RPC 통신 이벤트를 디버깅 객체로 정의한 RPC 이벤트 모델을 제안하고 이에 기초하여 RPC 이벤트 추적 기능을 설계 및 구현하였다. RPC 프로토콜을 분석한 결과를 이용하여 메시지의 송.수신 이벤트를 추적 기능을 설계 구현하였다. RPC 프로토콜을 분석한 결과를 이용하여 메시지의 송.수신 이벤트를 라이브러리 함수의 호출과 자료의 값으로 기술하고 해당라이브러리 함수의 호출이 발생한 위치를 인지함으로써 모든 통신 이벤트의 발생을 탐지할수 있었다. 제안된 RPC 이벤트 추적기능은 현재 분산 디버거인 유니뷰 시스템에 구현되었다. 이벤트 추적 기능의 추가적 구현으로 인하여 유니뷰 시스템은 추적된 통신의 내용을 보면서 관련된 소스 코드를 보거나 프로그램을 제어하고 원격 함수 호출에 사용된 매개변수의 값을 보는 등의 행위가 가능하다. 또한 이러한 이벤트 추적기능을 수행하기 위하여 별도의 라이브러리나 수행환경이 요구되지 않으므로 실제분산시스템의 개발 환경에 적응하기가 용이한 장점을 가진다.

Linkage System of ARToolkit Library and OpenVRML in OpenCV Working Environment (OpenCV 작업 환경에서 ARToolkit 라이브러리 및 OpenVRML 연동 시스템)

  • Kim, Dae-Young;Lee, Chil-Woo
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2012.06c
    • /
    • pp.356-358
    • /
    • 2012
  • 본 논문에서는 OpenCV를 이용한 영상처리 작업환경에서 영상처리 결과에 따라 마커를 기반으로 한 복잡한 형태의 3D 애니메이션 객체를 띄우기 위해 사용되는 증강현실 라이브러리(ARToolkit, OpenVRML)를 함께 사용하는 시스템을 제시하였다. OpenCV 라이브러리와 증강현실 라이브러리는 카메라로부터 이미지를 얻어오기 위한 함수 및 가져온 이미지 타입이 다르고 각각의 라이브러리에 맞게 이미지를 처리하기 위한 설정 및 최종적으로 디스플레이 하기 위한 일련의 과정에 있어서 호출되는 모듈들이 상이하였다. 또한 ARToolkit내에서도 보다 복잡한 3D객체의 렌더링을 수월하게 하기 위한 OpenVRML 기반 렌더링과 개발자가 원하는 렌더링을 손쉽게 수행할 수 있는 OpenGL 기반 렌더링과의 병렬적인 연동에 있어서 두 라이브러리를 사용하는 프로젝트의 카메라 및 렌더링 설정과 렌더링 처리 절차에 차이가 있어 두 프로젝트의 기능별 모듈을 하나로 통합하였다. 그리고 영상처리 라이브러리의 이미지 처리에 대한 모듈을 전체 시스템의 처리 순서에 맞게 알맞은 함수들로 배정하여 이 함수 내에서 추후 개발자가 개발한 시스템에 맞게 직접 편집하여 활용할 수 있도록 하였다.

Design and Implementation of a Java RPC Supporting ONC RPC Standard (ONCPRC 표준을 지원하는 Java RPCD의 설계 및 구현)

  • 이국희;한욱신;이민재;황규영
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 1999.10c
    • /
    • pp.206-208
    • /
    • 1999
  • 로컬 환경의 함수 호출 기능을 분산 환경으로 확장한 RPC는 분산 시스템 개발을 위한 필수 패키지이다. 본 논문에서는 ONC RPC 표준을 지원하는 RPC를 Java 프로그래밍 언어를 사용하여 설계하고 구현하였다. 본 논문의 Java RPC를 이용하면 웹 환경을 지원하는 분산 시스템을 쉽게 개발할 수 있다. 본 논문의 Java RPC는 외부 데이터표현의 표준 규약인 XDR 프로토콜을 처리하는 라이브러리 클래스와 TCP/IP 기반의 RPC 라이브러리 클래스를 제공한다. 또한 자동으로 RPC 응용 클래스를 생성해주는 RPCGEN 유틸리티를 제공하여, Java 프로그래밍 언어를 이용한 RPC 응용 프로그램을 손쉽게 작성할 수 있도록 한다.

  • PDF

Hierarchical Software Context Analysis Technique for Performance Analysis of Linux Based Embedded System (리눅스 기반 임베디드 시스템의 성능 분석을 위한 소프트웨어 계층별 문맥 분석 기법)

  • Kwak, Sangheon;Lee, Horim;Lee, Namseung;Lim, Sung-Soo
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2009.11a
    • /
    • pp.57-58
    • /
    • 2009
  • 임베디드 시스템이 복잡해질수록, 성능 병목을 파악할 수 있는 성능 분석도구가 요구되고 있다. 현존하는 리눅스 기반의 소프트웨어 성능 분석 도구는 전체 시스템 관점에서 소프트웨어 계층에 따라 응용 소프트웨어의 실행 흐름을 파악하기에는 한계가 있다. 본 논문에서는 모든 소프트웨어 계층에서의 실행 흐름을 일관적으로 파악할 수 있는 문맥 분석 기법을 제안한다. 이 도구를 통해서 사용자 영역의 사용자 정의 함수와 라이브러리 함수, 커널 영역에서의 시스템 호출과 커널 이벤트에 대한 호출자와 피호출자에 대한 관계를 모두 파악할 수 있다.

Automated Building Fuzzing Environment Using Test Framework (테스트 프레임워크를 활용한 라이브러리 퍼징 환경 구축 자동화)

  • Ryu, Minsoo;Kim, Dong Young;Jeon Sanghoonn;Kim, Huy Kang
    • Journal of the Korea Institute of Information Security & Cryptology
    • /
    • v.31 no.4
    • /
    • pp.587-604
    • /
    • 2021
  • Because the library cannot be run independently and used by many applications, it is important to detect vulnerabilities in the library. Fuzzing, which is a dynamic analysis, is used to discover vulnerabilities for the library. Although this fuzzing technique shows excellent results in terms of code coverage and unique crash counts, it is difficult to apply its effects to library fuzzing. In particular, a fuzzing executable and a seed corpus are needed that execute the library code by calling a specific function sequence and passing the input of the fuzzer to reproduce the various states of the library. Generating the fuzzing environment such as fuzzing executable and a seed corpus is challenging because it requires both understanding about the library and fuzzing knowledge. We propose a novel method to improve the ease of library fuzzing and enhance code coverage and crash detection performance by using a test framework. The systems's performance in this paper was applied to nine open-source libraries and was verified through comparison with previous studies.

Debugging of communication Events Based on the RPC Event Model (RPC 이벤트 모델에 기반한 통신 이벤트의 디버깅)

  • Seo, Yeong-Ae;Jo, Yeong-Uk;Lee, Gong-Seon;Park, Chang-Sun
    • The Transactions of the Korea Information Processing Society
    • /
    • v.6 no.1
    • /
    • pp.225-233
    • /
    • 1999
  • One of the reasons that debugging distributed programs is much more difficult than sequential programs is the communication among processes. Even though there are many debuggers constructed on distributed system environment, no available debugger provides an efficient way to debug communication events.. In this paper, we show the way to debug RPC communication, which is regarded as one of the most popular communication protocol in distributed system development. This paper presents the implementation of the RPC event trace function based on the RPC event model, which is proposed to accommodate communication events into debugging objects. Analyzing conventional RPC protocols, we formalized library function calls as corresponding actions to sending and receiving of messages. B recognizing the locations of library calls the debugger can detect all occurrences of communication events, This RPC event trace function is implemented on the on-line distributed debugger UniVIEW system.

  • PDF

Comparative Analysis of NoSQL Database's Activities and Scalability Investigation With Library Introspection

  • Seo, Chang-Ho;Tak, Byungchul
    • Journal of the Korea Society of Computer and Information
    • /
    • v.25 no.9
    • /
    • pp.1-9
    • /
    • 2020
  • In this paper, we propose a method of in-depth analysis of internal operation process by recording library calls and related information that occur in the operation process of NoSQL database. It observes and records the specified library calls, compares the internal behavior differences between the NoSQL databases through recorded library call information, and evaluates the characteristics and scalability of each database by observing changes in the number of input data. The development of computing performance and the activation of big data have led to the emergence of different types of NoSQL databases for recording and analyzing various and large amounts of data, and it is necessary to evaluate the scalability of each database in order to select a database suitable for each environment. However, it is difficult to analyze or predict how a database operates in traditional ways, such as benchmarking, observing external behavior through performance models, or analyzing structural features based on design. Therefore, it is necessary to utilize the techniques proposed in this paper to understand the scalability of NoSQL databases with high accuracy.