• 제목/요약/키워드: 난독화

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

효율적인 안드로이드 코드 난독화 기법 (An Efficient Android Code Obfuscate)

  • 정효란;이수현
    • 한국컴퓨터정보학회:학술대회논문집
    • /
    • 한국컴퓨터정보학회 2014년도 제50차 하계학술대회논문집 22권2호
    • /
    • pp.57-59
    • /
    • 2014
  • 공개 플랫폼을 지향하는 안드로이드는 손쉽게 안드로이드 설치파일(APK)를 얻을 수 있어 디컴파일 하기 쉽다. 보안에 민감한 금융 앱이나 웹서버를 이용하여 데이터를 주고받는 앱일 경우 역공학을 통해 얻는 정보가 매우 위험할 수 있다. 이러한 문제는 최근에 사회적 큰 이슈가 되기 때문에 안드로이드 코드 보안에 유의해야 한다. 이 논문에서는 안드로이드 코드 난독화의 동향과 안드로이드에서 제공하는 프로가드의 기술에 대해서 알아보고 프로가드의 한계에 대해서 파악한 후 향후 안드로이드 코드 난독화 개선 방법에 대해서 알아본다.

  • PDF

메소드 분산을 통한 자바 프로그램 난독화 기법 (A obfuscating technique for Java program by distributing methods)

  • 최석우;박회완;한태숙
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2003년도 가을 학술발표논문집 Vol.30 No.2 (1)
    • /
    • pp.238-240
    • /
    • 2003
  • 자바 프로그램은 자바 바이트코드로 컴파일되어 배포된다. 자바 바이트코드는 심볼릭 정보를 그대로 유지하고 있기 때문에 역컴파일(decompile) 도구에 의해서 쉽게 소스 파일이 노출될 수 있다는 취약성이 있다. 따라서 자바 역컴파일에 대한 위험을 방지 혹은 최소화 할 수 있는 방법에 대한 연구가 필요하다. 본 논문에서는 이러한 보안 취약성 및 문제점을 인식하고 거기에 대처할 수 있는 대응 기법에 대한 연구로서 메소드 분산을 이용한 프로그램 난독화 기법을 제시하려고 한다. 본 논문에 제안된 난독화 기법을 사용하면 역컴파일에 성공했다 하더라도 역컴파일된 소스 프로그램을 쉽게 이해하거나 재활용하기 어렵게 만들 수 있으며 다른 난독화 기법을 적용할 수 있는 범위를 넓혀 줄 수 있다.

  • PDF

호스트레벨의 난독화 된 악성 스크립트 대응 기술 연구 (Host level of obfuscated malicious script corresponding technology)

  • 오상환;정종훈;김환국
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2015년도 추계학술발표대회
    • /
    • pp.658-660
    • /
    • 2015
  • W3C가 발표한 차세대 웹 표준 HTML5의 등장으로 자바스크립트의 기능이 대폭 향상 되었다. 별도의 플러그인 설치 없이 자바스크립트만으로 미디어 재생, 3D 그래픽 처리, 웹 소켓 통신 등을 제공함으로서 Active X와 같은 비표준 기술을 대체할 만큼 강력한 기능을 제공하고 있다. 이러한 흐름에 맞추어 HTML5 기능의 핵심이 되는 자바스크립트를 악용한 위험성을 인지하고 이와 관련된 연구도 활발히 이루어지고 있다. 하지만, 현재의 악성 스크립트를 탐지하는 기술은 대부분 시그니처를 기반으로 하는 패턴 매치이기 때문에 난독화 된 악성 스크립트를 탐지하기에는 많은 한계가 있다. 따라서 본 논문에서는 이런 한계를 극복하기 위해 호스트레벨에서 난독화 된 악성 스크립트를 탐지 및 실행을 방지할 수 있는 난독화 된 악성 스크립트 대응 기술을 제안한다.

실행 파일 형태로 복원하기 위한 Themida 자동 역난독화 도구 구현 (Implementation of the Automated De-Obfuscation Tool to Restore Working Executable)

  • 강유진;박문찬;이동훈
    • 정보보호학회논문지
    • /
    • 제27권4호
    • /
    • pp.785-802
    • /
    • 2017
  • 악성코드를 이용한 사이버 위협이 꾸준히 증가함에 따라 많은 보안 및 백신 관련 업체들이 악성코드 분석 및 탐지에 많은 노력을 기울이고 있다. 그러나 소프트웨어의 분석이 어렵도록 하는 난독화 기법이 악성코드에 적용되어 악성코드에 대한 빠른 대응이 어려운 실정이다. 특히 상용 난독화 도구는 빠르고 간편하게 변종 악성코드를 생성해 낼 수 있기 때문에 악성코드 분석가가 새로운 변종 악성코드의 출현 속도에 대응할 수 없도록 한다. 분석가가 빠르게 악성코드의 실제 악성행위를 분석하도록 하기 위해서는 난독화를 해제하는 역난독화 기술이 필요하다. 본 논문에서는 상용 난독화 도구인 Themida가 적용된 소프트웨어를 역난독화하는 일반적인 분석방법론을 제안한다. 먼저 Themida를 이용하여 난독화가 적용된 실행파일을 분석하여 알아낸 Themida의 동작 원리를 서술한다. 다음으로 DBI(Dynamic Binary Instrumentation) 프레임워크인 Pintool을 이용하여 난독화된 실행파일에서 원본 코드 및 데이터 정보를 추출하고, 이 원본 정보들을 활용하여 원본 실행파일에 가까운 형태로 역난독화할 수 있는 자동화 분석 도구 구현 결과에 대해 서술한다. 마지막으로 원본 실행파일과 역난독화한 실행파일의 비교를 통해 본 논문의 자동화 분석 도구의 성능을 평가한다.

소스 코드 난독화 기법에 의한 Clang 정적 분석 도구의 성능 영향 분석 (Analysis of Detection Ability Impact of Clang Static Analysis Tool by Source Code Obfuscation Technique)

  • 진홍주;박문찬;이동훈
    • 정보보호학회논문지
    • /
    • 제28권3호
    • /
    • pp.605-615
    • /
    • 2018
  • 사물 인터넷 시장 규모의 급격한 성장에 따라 임베디드 시스템에서 가장 많이 쓰이는 언어인 C/C++ 언어의 사용도 증가하고 있다. C/C++ 언어의 코드 품질을 향상시키고 개발 비용을 절감시키기 위해 소프트웨어 개발 전반부에서 수행 가능한 소프트웨어 검증기법인 정적 분석을 사용하는 것이 좋다. 많은 프로그램들이 정적 분석을 사용하여 소프트웨어의 안전성을 검증하고 있으며 많은 정적 분석 도구들이 사용 및 연구되고 있다. 본 논문에서는 Clang 정적 분석도구를 사용하여 검증된 시험 코드에 대한 보안 약점 검출 성능을 확인한다. 또한 소스 코드 난독화 기법인 구획 난독화, 데이터 난독화, 제어 흐름 난독화 기법이 각각 적용된 시험 코드에 대한 정적 분석 결과와 원본 시험 코드에 대한 정적 분석 결과를 비교하여 소스 코드 난독화 기법에 따른 Clang 정적 분석 도구의 성능 영향을 분석한다.

레이아웃 파일 변환을 이용한 안드로이드 난독화 기법의 설계 및 구현 (Design and implementation of Android obfuscation technique using layout file transformation)

  • 박희완
    • 한국융합학회논문지
    • /
    • 제11권11호
    • /
    • pp.1-7
    • /
    • 2020
  • 안드로이드 앱은 주로 apk 파일 형태로 배포되고, apk 파일의 압축 해제하면 앱 디자인과 관련된 xml 파일, 이미지, 사운드와 같은 리소스 파일을 추출할 수 있다. 만일 은행이나 금융과 관련된 앱의 리소스가 도용되어 가짜 앱이 배포된다면 개인정보가 유출되거나 금융사기를 당할 수 있다. 따라서 앱을 배포할 때 코드뿐만 아니라 디자인을 도용하기 어렵게 만드는 노력이 필요하다. 본 논문에서는 xml 파일을 자바 코드로 변환한 후 프로가드(Proguard)를 이용하여 난독화하는 도구를 구현하였고 실행 성능을 평가하였다. 본 논문에서 제안하는 레이아웃 난독화 기법을 사용하면 앱구동 성능을 높일 수 있으며 화면 디자인 도용으로 인한 불법 복제 피해를 예방하는 효과도 있을 것으로 기대한다.

난독화된 자바스크립트의 자동 복호화를 통한 악성코드의 효율적인 탐지 방안 연구 (An Enhanced method for detecting obfuscated Javascript Malware using automated Deobfuscation)

  • 지선호;김휘강
    • 정보보호학회논문지
    • /
    • 제22권4호
    • /
    • pp.869-882
    • /
    • 2012
  • 웹 서비스의 증가와 자동화된 공격 도구의 발달로 최근 대부분의 악성코드 유포 경로는 웹 서비스를 통하여 이루어지고 있다. 또한 웹의 기본 언어인 자바스크립트를 이용한 난독화 기법을 통해 악성코드 은닉 사이트의 URL이나 공격 코드를 숨기기 때문에, 기존 패턴 매칭 기반의 네트워크 보안 솔루션으로는 탐지에 한계가 존재하게 된다. 이를 해결하기 위하여 사용자의 웹브라우저에서 악성 자바스크립트를 탐지하기 위한 여러 방안이 제시되었지만, 최근 APT공격과 같이 특정 기업이나 조직 네트워크에 침투하기 위한 고도화된 공격에 대응하기에는 한계가 존재한다. 이런 유형의 공격에 대응하기 위해, 외부에서 유입되는 트래픽에 대해 난독화된 악성코드가 웹을 통해 유입되는지 일괄적인 탐지가 필요하며, 기존 패턴 매칭 기반 솔루션에서 탐지율의 한계를 극복하기 위해 난독화된 자바스크립트를 복호화 하여 숨겨진 악성코드를 탐지할 수 있는 새로운 방법이 필요하다. 본 논문에서는 오픈소스인 Jsunpack-n[1] 을 개량하여 자바스크립트의 함수 오버라이딩 기법과 별도의 자바스크립트 인터프리터를 통해 악성코드에 적용된 난독화 기법에 상관없이 숨겨진 악성코드를 자동적으로 탐지할 수 있는 도구를 제안한다.

대입문 병합을 이용한 효율적인 자바 난독화 기법 (An Effective Java Obfuscation Technique Using Assignment Statements Merging)

  • 이경호;박희완
    • 한국컴퓨터정보학회논문지
    • /
    • 제18권10호
    • /
    • pp.129-139
    • /
    • 2013
  • 자바 바이트코드는 타겟 머신이 아닌 자바 가상머신 상에서 동작된다. 이러한 자바 바이트코드는 바이너리 코드보다 고수준 표현을 사용하고 있어서 대부분의 자바 바이트 코드는 다시 자바 소스 파일로 바꿀 수도 있다. 난독화란 기본적으로 코드를 이해하기 어렵게 만드는 기술을 의미한다. 자바 코드의 보호를 위해서는 난독화가 사용될 수 있다. 그러나 프로그램을 복잡하게 만드는 난독화 기법은 대부분 프로그램의 크기를 증가시키고 실행 속도 또한 느려지게 만드는 원인이 된다. 본 논문에서는 대입문 병합 기법을 이용한 효율적인 자바 난독화 기법을 새롭게 제안한다. 대입문 병합 기법이 적용되면 대입문에 부작용(side effects)이 추가되어 대입문을 이해하기 어렵게 된다. 추가적으로 바이트코드의 크기가 줄어드는 장점도 있다.

유전 알고리즘을 이용한 코드 난독화에서의 효율적 함수 호출 인라인 기법 (Effective Technique for Inlining Function Calls in Code Obfuscation Using Genetic Algorithm)

  • 김정일;이은주
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2010년도 한국컴퓨터종합학술대회논문집 Vol.37 No.1(B)
    • /
    • pp.53-58
    • /
    • 2010
  • 코드 난독화 기법 중의 하나인 인라인(Inline)은 코드의 복사를 통하여 함수의 호출 구조를 파괴하여서 코드의 복원과 이해를 어렵게 만든다. 하지만 적절한 전략 없이 인라인 기법을 적용하게 되면, 프로그램 성능이 저하되며 난독화의 결과도 기대 이하일 가능성이 존재한다. 따라서 지나친 성능의 저하를 막으면서 결과적으로 코드의 복원과 이해를 최대한 어렵게 하기 위한 인라인 수행 전략이 필요하다. 이를 위하여 본 논문에서는 정적 함수 호출 그래프를 기반으로 인라인의 적용 여부를 유전 알고리즘을 사용하여 결정하도록 한다. 그리고 인라인 전후의 효용을 보여주기 위하여 정보이론 및 제어 흐름의 복잡도에 기반하여 전체 프로그램의 복잡도를 정의하였다. 마지막으로 해당 기법의 효용을 실험을 통해 보였다.

  • PDF

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

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