• 제목/요약/키워드: assembly language code

검색결과 30건 처리시간 0.03초

웹 어셈블리 모듈 안전성 검증을 위한 퍼징 방법 (Fuzzing Method for Web-Assembly Module Safety Validation)

  • 박성현;강상용;김연수;노봉남
    • 정보보호학회논문지
    • /
    • 제29권2호
    • /
    • pp.275-285
    • /
    • 2019
  • 웹 어셈블리는 웹 브라우저 자바스크립트의 성능 향상을 위해 설계된 새로운 바이너리 표준이다. 웹 어셈블리는 효율적인 실행 및 간결한 표현과 여러 언어를 바탕으로 작성된 코드를 네이티브에 가까운 속도로 구동될 수 있는 새로운 웹 표준으로 자리 잡고 있다. 하지만 현재 웹 어셈블리 취약성 검증은 웹 어셈블리 인터프리터 언어에 제한되어 있으며, 웹 어셈블리 바이너리 자체에 대한 취약성 검증은 부족한 상황이다. 따라서 웹 어셈블리의 자체적인 안전성 검증이 필요한 실정이다. 본 논문에서는 먼저 웹 어셈블리의 구동 방식과 현재 웹 어셈블리의 안전성 검증 방법에 대해서 분석한다. 또한 기존에 발생하였던 웹 어셈블리 안전성 검증 방식에 대해 살펴보고, 이에 따른 기존 안전성 검증 방식의 한계점을 분석한다. 최종적으로 기존 안전성 검증 방법의 한계점을 극복하기 위한 웹 어셈블리 API 기반 퍼징 방법을 소개한다. 이는 기존 안전성 검증 도구로 탐지할 수 없었던 크래시를 탐지함으로써 제안하는 퍼징의 효용성을 검증한다.

Error Recovery Script of Immunity Debugger for C# .NET Applications

  • Shinde, Rupali;Choi, Min;Lee, Su-Hyun
    • Journal of Information Processing Systems
    • /
    • 제15권6호
    • /
    • pp.1438-1448
    • /
    • 2019
  • We present a new technique, called VED (very effective debugging), for detecting and correcting division by zero errors for all types of .NET application. We use applications written in C# because C# applications are distributed through the internet and its executable format is used extensively. A tool called Immunity Debugger is used to reverse engineer executable code to get binaries of source code. With this technique, we demonstrate integer division by zero errors, the location of the error causing assembly language code, as well as error recovery done according to user preference. This technique can be extended to work for other programming languages in addition to C#. VED can work on different platforms such as Linux. This technique is simple to implement and economical because all the software used here are open source. Our aims are to simplify the maintenance process and to reduce the cost of the software development life cycle.

컴포넌트 모델구축을 위한 클래스 코드 자동생성 방법 (Class Code Generation method for Component model Construction)

  • 임근;이기영
    • 한국컴퓨터정보학회논문지
    • /
    • 제13권5호
    • /
    • pp.69-76
    • /
    • 2008
  • 본 논문에서는 컴포넌트의 단위인 클래스의 일관된 생성과정 및 정형화된 형식을 기반으로 클래스 코드생성을 위한 프로토타입을 구현하였다. 특히 컴포넌트의 기반이 되는 클래스간 연결관계와 집합관계 등을 객체지향언어로는 표현하기 어려운 문제들을 해결하기 위하여 관련성 규칙을 제안하였으며, 이를 통해서 일관성 있는 코드생성의 정형화가 가능하도록 하였다. 또한 코드 생성기를 이용해서 생성된 소스코드는 컴포넌트 모델 구축에 적용되며, 이후에 어플리케이션 개발 시 재사용 대상인 비즈니스 컴포넌트의 조립과 분배의 기반이 되도록 한다.

  • PDF

어셈블리 언어 수준에서의 소스코드 보안취약점 점검방법에 관한 연구 (The Study of Checking Source Code Vulnerability on the assembly language level)

  • 박현미;이병권;박정현;이형봉
    • 한국정보보호학회:학술대회논문집
    • /
    • 한국정보보호학회 2001년도 종합학술발표회논문집
    • /
    • pp.102-110
    • /
    • 2001
  • 대부분의 해킹 공격은 공격 대상 프로그램의 소스코드 보안취약점에 의해서 발생하지만 프로그램 개발시에 소스코드 보안성에 대해서는 고려되지 않았다. 이러한 문제점으로 인하여 해킹 공격의 근본적인 원인을 해결할 수 없었다. 본 논문에서는 취약점의 원인이 되는 코드를 컴파일시 생성된 어셈블리 코드 수준에서 탐지하는 방법을 제시하고자 한다. 취약한 코드를 컴파일러 수준에서 점검하는 것보다 어셈블리 코드 수준에서 점검하는 것은 어느 정도의 메모리 영역까지 점검할 수 있어 더 정확하다.

  • PDF

모나드를 이용한 어셈블리 언어 인터프리터 개발 (Development of an Assembly Language Interpreter Using Monad)

  • 변석우
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제37권5호
    • /
    • pp.403-410
    • /
    • 2010
  • 하스켈의 모나드는 순수 함수형 프로그래밍뿐만 아니라 명령형 형태의 프로그래밍도 가능케 하고 있다. 본 연구에서는 순수 함수형 프로그래밍 방식으로 코딩된 어셈블리 언어 인터프리터 구현을 모나드 방식으로 재 구성함으로써 모나드 추상화와 프로그래밍 기법의 특성을 부각시킨다. 모나드 프로그래밍은 스택과 심볼 테이블에 상태 모나드를 적용하는 것과, 이 모나드들을 상태 모나드 트랜스포머를 이용하여 통합 구성하는 두 단계로 이루어진다. 결과적으로, 모나드 프로그래밍에 의한 코드는 순수 함수형 스타일의 코드보다 훨씬 더 간결하고 직관적임을 볼 수 있다.

자바 바이트코드를 GVM 코드로 번역하기 위한 언어적 특성 처리 (Han fling the Language Dependent Features for Translating Java Bytecode to GVM Code)

  • 고영관;고석훈;오세만
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2002년도 봄 학술발표논문집 Vol.29 No.1 (B)
    • /
    • pp.337-339
    • /
    • 2002
  • 휴대용 무선기기의 성능 향상과 동적인 응용프로그램 실행의 필요성에 따라 모바일 응용프로그램은 기존의 네이티브 애플리케이션 제작 방법에서 가상기계(Virtual Machine)를 탑재하여 실행하는 가상기계애플리케이션 제작 방법으로 변환하였다. 가상기계를 이용한 애플리케이션의 실행은 플랫폼 독립적인 실행이 가능하며 또한 효과적인 다운로드 솔루션을 통한 동적인 응용프로그램의 실행이 가능하다. 이러한 배경으로 KVM과 CVM(General Virtual Machine)등의 가상기계가 출현하였다. 그러나 각 플랫폼에서 맞는 애플리케이션은 서로 호환되지 않으므로 가상기계 언어간의 번역을 통해 목적 가상기계에서의 실행이 요구되며 자바 바이트코드를 순수 국내 기술로 개발된 GVM 코드로 번역하는 것이 바람직하다. 본 논문에서는 KVM에서 실행가능한 자바 바이트코드를 CVM에서 실행하기 위해 바이트코드를 GVM코드인 SAL(Sinji Assembly Language)로 번역하는 번역기를 설계하고 구현한다. 이를 위해 자바의 언어 독립적 특성 외에 언어 의존적인 특성을 처리하기 위한 방법을 제안하며 언어 의존적인 특성을 배열과 문자열, 클래스와 객체, 예외, 스레드로 분류하여 처리한다.

  • PDF

Embedded ARM Processor를 이용한 MPEG-4 Simple Profile Decoder의 구현 (The Implementation of MPEG-4 Simple Profile Decoder using the Embedded ARM Processor)

  • 박성욱
    • 전기학회논문지P
    • /
    • 제52권2호
    • /
    • pp.85-90
    • /
    • 2003
  • This paper has presented the efficient implementation of MPEG-4 simple profile video decoder, which is used as video compression standard in mobile video communication. We have used the ARM9 processor in implementing this MPEG-4 simple profile, which requires much processing power and low power implementation. At first we implemented with C-language under the PC environment with ADS(ARM Developer Suite) environment, and then we have tried to reduce a clock cycle for a power consumption optimization through conversion an assembly language for C-code partly. We have verified the processor is operated at 22.47MHz operation after optimization, but 148MHz before optimization.

Adaptive Multi-Rate(AMR) 음성부호화 알고리즘 (Adaptive Multi-Rate(AMR) Speech Coding Algorithm)

  • 서정욱;배건성
    • 대한전자공학회:학술대회논문집
    • /
    • 대한전자공학회 2000년도 하계종합학술대회 논문집(4)
    • /
    • pp.92-97
    • /
    • 2000
  • An AMR(Adaptive Multi-Rate) speech coding algorithm has been adopted as a standard speech codec for IMT-2000. It is based on the algebraic CELP, and consists of eight speech coding modes having the bit rate from 4.75 kbit/s to 12.2 kbit/s. It also contains the VAD(Voice Activity Detector), SCR (Source Controlled Rate) operation, and error concealment scheme for robustness in a radio channel. The bit rate of AMR is changed on a frame basis depending on the channel condition. In this paper, we introduced AMR speech coding algorithm and performed the real-time implementation using TMS320C6201, i.e., a Texas Instrument's fixed-point DSP. With the ANSI C source code released from ETSI and 3GPP, we convert and optimize the program to make it run in real time using the C compiler and assembly language. It is verified that the decoded result of the implemented speech codec on the DSP is identical with the PC simulation result using ANSI C code for test sequences. Also, actual sound input/output test using microphone and speaker demonstrates its proper real-time operation without distortions or delays.

  • PDF

UML을 이용한 지그비 어플리케이션모델개발에 관한 연구 (A Study on ZigBee Application Model Development using UML)

  • 정승모;유주형;임동진
    • 대한전기학회:학술대회논문집
    • /
    • 대한전기학회 2009년도 제40회 하계학술대회
    • /
    • pp.1814_1816
    • /
    • 2009
  • ZigBee is a technology that is being rapidly developed since its power consumption is low and the stability of its communication is high. However, documented data which is coded using conventional programming languages such as C or assembly programming language would not be able to fulfill the various requirements upon application development by ZigBee. Unified Modelling Languge (UML) could be one of the alternatives to solve this problem. UML provides a variety of diagrams by which the results of the software development can be presented visually and by which the developers can communicate more spontaneously. This paper shows the results of an ongoing study into the application of model-driven methods for ZigBee Application. Also, this paper shows that this approach is feasible by comparing memory usage, latency, and power consumption of UML modelling code with those of handwritten code.

  • PDF

리눅스 환경에서의 함수 단위 동적 커널 업데이트 시스템의 설계와 구현 (A Dynamic Kernel Update System with a Function Granularity for Linux)

  • 박현찬;김세원;유혁
    • 한국정보과학회논문지:시스템및이론
    • /
    • 제35권5호
    • /
    • pp.223-230
    • /
    • 2008
  • 동적인 커널의 업데이트는 복잡한 운영체제 커널의 빈번한 기능 개선 및 버그 수정을 동작 중인 커널의 중단없이 수행하는 것이다. 동적인 업데이트를 위해서는 주로 명령어 단위의 업데이트 기법이 사용되지만 어셈블리 언어 수준에서 개발 및 유지, 보수가 이루어지기 때문에 실제 커널에 적용하기 어렵다. 이런 문제점을 극복하기 위해 우리는 C 언어 수준에서 함수 단위로 동적인 커널 업데이트를 수행하는 시스템을 설계하고 리눅스에 구현하였다. 이 시스템은 업데이트 개발 환경을 커널의 개발 환경과 일치시킴으로써 업데이트의 개발과 수행을 편리하게 하여 실제 커널에의 활용 가능성을 증대시킨다. 우리는 이렇게 증대된 활용 가능성을 실제로 알아보기 위해 이 업데이트 시스템을 이용하여 EXT3 파일 시스템을 간단하게 업데이트하는 사례를 보였다.