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

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

리플렉션과 문자열 암호화를 이용한 안드로이드 API 난독화 도구 (An Android API Obfuscation Tool using Reflection and String Encryption)

  • 이주혁;박희완
    • 정보처리학회논문지:컴퓨터 및 통신 시스템
    • /
    • 제4권1호
    • /
    • pp.23-30
    • /
    • 2015
  • 자바 리플렉션은 프로그램 구성 요소들을 조사하여 호출 및 조작할 수 있는 자바 언어의 기능이다. 이를 이용하면 보다 많은 호출 단계를 거치는 구조로 변형되기에 난독화 효과를 얻을 수 있다. 그러나 이를 이용할 때, 프로그램 자체의 구성 요소 이름이 문자열 형태로 노출된다. 본 논문에서는 안드로이드 애플리케이션에서 리플렉션을 적용하여 난독화하고, 이때 노출되는 문자열들을 비즈네르 암호화 알고리즘으로 은닉하여 정적분석을 방해하는 기법 및 도구를 제시한다. 실험 결과 소스 코드의 전체적인 복잡도를 증가시키는 데 효과가 있었다. 또한 서버와 로컬 기반의 두 가지 복호화 방법을 제공하는데, 이는 애플리케이션의 실행속도에 영향을 미치기 때문에 API의 중요도에 따라 선택할 수 있다.

모바일 게임 보안을 위한 게임내 데이터 난독화에 관한 연구 (A Study on Obfuscation of the InGame Data for the Mobile Game Security)

  • 김효남
    • 한국컴퓨터정보학회:학술대회논문집
    • /
    • 한국컴퓨터정보학회 2017년도 제55차 동계학술대회논문집 25권1호
    • /
    • pp.179-180
    • /
    • 2017
  • 현재 국내 모바일 게임 시장 규모와 사용자들이 지속적으로 증가되고 있으며, 스마트폰을 이용하여 게임을 즐기는 시간도 계속 늘어나고 있다. 이런 시장 현황의 이면에는 모바일 게임 시장이 사이버 범죄의 진원지로 급부상하고 있다. 본 논문에서는 모바일 게임을 개발하는데 있어서 게임 내부에서 사용하고 있는 데이터들의 난독화 기술과 관련한 프로그램을 제안하여 게임의 원본 소스 데이터를 해킹으로부터 보호할 수 있는 게임 보안 기술을 제안한다.

  • PDF

파워쉘 기반 악성코드에 대한 역난독화 처리와 딥러닝 기반 탐지 방법 (Deobfuscation Processing and Deep Learning-Based Detection Method for PowerShell-Based Malware)

  • 정호진;유효곤;조규환;이상근
    • 정보보호학회논문지
    • /
    • 제32권3호
    • /
    • pp.501-511
    • /
    • 2022
  • 2021년에는 코로나의 여파로 랜섬웨어를 활용한 공격이 유행했으며 그 수는 매년 급증하고 있다. 그 중 파워쉘은 랜섬웨어에 주요 기술로 사용되고 있어 파워쉘 기반 악성코드 탐지 기법의 필요성은 증가하고 있으나 기존의 탐지기법은 난독화가 적용된 스크립트를 탐지하지 못하거나 역난독화에 시간이 오래 소요되는 한계가 존재한다. 이에 본 논문에서는 간단하고 빠른 역난독화 처리과정, Word2Vec과 CNN(Convolutional Neural Network)으로 구성되어 스크립트의 의미를 학습하고 특징을 추출해 악성 여부를 판단할 수 있는 딥러닝 기반의 분류 모델을 제안한다. 2021 사이버보안 AI/빅데이터 활용 경진대회의 AI 기반 파워쉘 악성 스크립트 탐지 트랙에서 제공된 1400개의 악성코드와 8600개의 정상 스크립트를 이용하여 제안한 모델을 테스트한 결과 기존보다 5.04배 빠른 역난독화 실행시간, 100%의 역난독화 성공률, 0.01의 FPR(False Positve Rate), 0.965의 TPR(True Positive Rate)로 악성코드를 빠르고 효과적으로 탐지함을 보인다.

IOCP 게임 서버 및 게임 변수 난독화 프로그램 성능 평가 (Performance Evaluation of IOCP Game Server and Game Variable Obfuscation Program)

  • 차은상;김영식
    • 한국게임학회 논문지
    • /
    • 제19권6호
    • /
    • pp.71-82
    • /
    • 2019
  • 본 논문은 상용 게임 엔진인 언리얼 엔진이 지원하는 네트워킹 기능과 사용자 제작 IOCP 게임 서버의 성능을 게임 내의 변수 전달 관점에서 비교 분석하였다. 이를 위하여 언리얼 엔진 4를 기반으로 3D 게임과 IOCP 게임 서버를 자체 제작하였다. 그리고 코드 변조 게임 해킹 프로그램의 메모리 수정을 방지하기 위해서 게임 변수 난독화 프로그램에 관하여 고찰한다. 이를 위하여 언리얼 엔진 솔루션 인 SCUE4 안티-치트 Solution을 활용하여 메모리 수정을 하는 것을 방지하는 방법을 연구하고 성능 트레이드 오프에 대한 분석을 수행한다.

안드로이드를 위한 난독화 도구 프로가드(Proguard) 성능 평가 (An Evaluation of the Proguard, Obfuscation Tool for Android)

  • 박희완;박희광;고광만;최광훈;윤종희
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2012년도 춘계학술발표대회
    • /
    • pp.730-733
    • /
    • 2012
  • 소프트웨어는 대부분 바이너리 형태로 배포되기 때문에 역공학 분석이 쉽지 않다. 그러나 안드로이드는 자바를 기반으로 한다. 즉, 자바 언어로 프로그래밍하고 생성된 클래스 파일을 dx라는 도구를 사용하여 안드로이드용 달빅(Dalvik) 코드로 변환한다. 따라서 안드로이드 역시 자바의 취약점을 가지고 있고, 자바용으로 개발된 역공학 도구에 의해서 쉽게 분석될 수 있다. 한편으로 자바 프로그램의 저작권을 보호하고 핵심 알고리즘이 노출되지 않도록 다양한 난독화 도구들이 개발되었다. 그 중에서 안드로이드 SDK에 포함되어 함께 배포되고 있기 때문에 널리 사용되고 있는 프로가드(Proguard)에 대해서 대표적인 기능 및 사용법, 프로가드로 난독화된 코드가 원본과 비교하여 어떻게 변경되었는지 평가한다. 그리고 프로가드가 가지고 있는 한계를 알아보고, 이것을 극복할 수 있는 방법을 모색한다.

동적 분석을 이용한 난독화 된 실행 프로그램의 함수 호출 그래프 생성 연구 (The Generation of the Function Calls Graph of an Obfuscated Execution Program Using Dynamic)

  • 천세범;김대엽
    • 전기전자학회논문지
    • /
    • 제27권1호
    • /
    • pp.93-102
    • /
    • 2023
  • 악성코드 분석을 위한 기술 중 하나로 실행 프로그램의 함수 호출 관계를 시퀀스 또는 그래프 작성한 후, 그 결과를 분석하는 기술이 제안되었다. 이러한 기술들은 일반적으로 실행 프로그램 파일의 정적 분석을 통해 함수 호출 코드를 분석하고, 함수 호출 관계를 시퀀스 또는 그래프로 정리한다. 그러나 난독화 된 실행 프로그램의 경우, 실행 프로그램 파일의 구성이 표준구성과 다르기 때문에 정적분석 만으로는 함수 호출관계를 명확히 분석하기 어렵다. 본 논문에서는 난독화 된 실행 프로그램의 함수 호출관계를 분석하기 위한 동적 분석 방법을 제안하고, 제안된 기술을 이용하여 함수 호출관계를 그래프로 구성하는 방법을 제안한다.

난독화와 변화량 분석을 통한 IoT 센싱 데이터의 경량 유효성 검증 기법 (Lightweight Validation Mechanism for IoT Sensing Data Based on Obfuscation and Variance Analysis)

  • 윤준혁;김미희
    • 정보처리학회논문지:컴퓨터 및 통신 시스템
    • /
    • 제8권9호
    • /
    • pp.217-224
    • /
    • 2019
  • 최근 가정, 교통, 의료, 전력망 등 우리 생활과 밀접한 연관을 가진 여러 분야에서 IoT(Internet of Things) 센서 장치를 활용해 데이터를 수집하는 센서 네트워크를 구축하고 활용하고 있다. 이러한 센서 네트워크에서 센싱 데이터 조작은 재산 상, 안전 상의 심각한 위협이 될 수 있다. 따라서 외부 공격자가 센싱 데이터를 조작하지 못하도록 하는 방법이 필요하다. 본 논문에서는 외부 공격자에 의해 조작된 센싱 데이터를 효과적으로 제거하기 위해 데이터 난독화와 변화량 분석을 활용한 IoT 센싱 데이터 유효성 검증 기법을 제안한다. IoT 센서 장치는 난독화 함수에 따라 센싱 데이터를 변조하여 사용자에게 전송하고, 사용자는 전송받은 값을 원래의 값으로 되돌려 사용한다. 적절한 난독화를 거치지 않은 거짓 데이터는 유효 데이터와 다른 변화 양상을 보이고, 변화량 분석을 통해 거짓 데이터를 탐지할 수 있다. 성능 분석을 위해 데이터 유효성 검증 성능 및 검증 소요시간을 측정하였다. 그 결과, 기존 기법에 비해 최대 1.45배 거짓 데이터 차단율을 향상시키고, 0.1~002.0% 수준의 오검출률을 보였다. 또한 저전력, 저성능 IoT 센서 장치에서 검증 소요시간을 측정 결과, 데이터량 증가에 따라 2.5969초까지 증가되는 RSA 암호화 기법에 비해 제안 기법은 0.0003초로 높은 검증 효율을 확인하였다.

난독화 알고리즘을 이용한 자바 역컴파일 방지기법에 관한 연구 (A Study on the Java Decompilation-Preventive Method by Obfuscating Algorithm)

  • 안화수
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2007년도 춘계학술발표대회
    • /
    • pp.1457-1458
    • /
    • 2007
  • 자바 언어의 중요한 특징 중의 하나는 어떤 기계에서든지 실행될 수 있다는 점이다. 이러한 플랫폼에 대한 독립성은 자바 프로그램이 바이트 코드 형태로 배포되기 때문에 가능한 일이다. 바이트 코드는 특정 기계에 종속되지 않고 자바 가상 머신(Java Virtual Machine:JVM)를 지원하는 곳이면 어디에서든지 실행 가능하다. 그런데 바이트 코드로 번역된 코드에는 자바 소스 코드의 정보가 그대로 포함되어 있는데, 이로 인해서 바이트 코드에서 자바 소스코드로의 역컴파일(Decompilation)이 쉽게 이루어진다는 취약점이 있다. 본 논문에서는 자바 바이트 코드의 난독화 기법을 살펴보고, Code Encryption Algorithm을 이용해서 역컴파일 하기 어려운 형태로 만드는 기술인 코드 난독처리(Code Obfuscation) 기법을 제안하였다.

  • PDF

최신 버전의 Themida가 보이는 정규화가 어려운 API 난독화 분석방안 연구 (A Study on the Analysis Method to API Wrapping that Difficult to Normalize in the Latest Version of Themida)

  • 이재휘;이병희;조상현
    • 정보보호학회논문지
    • /
    • 제29권6호
    • /
    • pp.1375-1382
    • /
    • 2019
  • 최근 상용 프로텍터인 Themida의 최신 버전이 업데이트되면서, 추적할 초기 데이터를 제공하는 가상 메모리 할당을 사용하지 않도록 변경해 기존 연구의 정규화된 대응방안을 적용할 수 없게 되었다. 또한, 실행 중에 결정되는 값이 많아 동적으로 추적하기 수월했던 기존의 버전에 비해, 프로텍터를 적용하는 시점에 결정된 고정값이 많아 동적으로 추적하는데 어려움이 생겼다. API 난독화 과정을 정규화하기 어려워지도록 최신 버전의 Themida가 어떤 방식을 채용했는지 알아보고, 이를 해제하는 자동화된 시스템을 추후 개발하기 위해 어떠한 기술을 적용할 수 있을지 가능성을 검토해 본다.