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

검색결과 104건 처리시간 0.025초

제어 흐름을 고려한 API k-gram 소프트웨어 버스마크 (A Flow-sensitive API k-gram Based Software Birthmark)

  • 박희완;최석우;임현일;한태숙
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2008년도 추계학술발표대회
    • /
    • pp.523-526
    • /
    • 2008
  • 소프트웨어 버스마크는 클래스나 바이너리를 대상으로 고유한 특징을 추출하여 유사도를 비교하는 방법이다. 본 논문에서는 자바의 제어 흐름을 고려한 API k-gram 버스마크 기법을 제안한다. 이 기법은 다른 것으로 대체하기 어려운 자바 표준 API 호출에 대한 시퀀스를 k-gram으로 사용했기 때문에 신뢰도가 높고, 제어 흐름을 반영하여 시퀀스를 추출하기 때문에 난독화에 강하다는 장점이 있다. 본 논문에서 제안하는 버스마크를 기법을 평가하기 위해서 신뢰도와 강인도에 대한 실험을 한 결과 기존의 버스마크보다 신뢰도와 강인도가 우수한 버스마크임을 확인하였다.

정적 트레이스 기반의 자바 버스마킹 기법 (Static Trace based Java Birthmarking Technique)

  • 박희완;임현일;최석우;한태숙
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2008년도 춘계학술발표대회
    • /
    • pp.281-284
    • /
    • 2008
  • 소프트웨어 버스마크는 프로그램을 식별하는데 사용될 수 있는 프로그램의 고유한 특징을 말한다. 본 논문에서는 자바 메소드의 정적 트레이스 정보에 기반한 자바 버스마킹 기법을 제안한다. 정적 트레이스는 런타임 실행 절차를 반영한다는 점에서 동적 버스마크의 장점이 있고, 정적 분석으로 추출하기 때문에 라이브러리나 함수 단위에 적용가능하다는 정적 버스마크의 장점도 있다. 본 논문에서 제안한 버스마킹 기법을 평가하기 위해서 서로 다른 프로그램을 구별할 수 있는 신뢰도와 프로그램 최적화나 난독화에 견딜 수 있는 강인도에 대한 실험을 하였다. 실험 결과로부터 본 논문에서 제안하는 버스마크가 신뢰도를 유지하면서 기존 방법보다 강인한 버스마크임을 확인할 수 있다.

악성코드 패킹유형 자동분류 기술 연구 (A Study on Automatic Classification Technique of Malware Packing Type)

  • 김수정;하지희;이태진
    • 정보보호학회논문지
    • /
    • 제28권5호
    • /
    • pp.1119-1127
    • /
    • 2018
  • 대부분의 침해공격은 악성코드를 통해 발생하고 있으며, 침해공격으로 인한 피해는 사물인터넷/사이버 물리 시스템과 연결되면서 사이버공간에만 국한되지 않고 실생활에 큰 위협이 되고 있다. 이에 따라, 다양한 악성코드 동적분석, 정적분석기술들이 연구되었는데, 악성코드 동적분석들은 결과적인 악성행위를 쉽게 확인할 수 있어 널리 사용되었으나 VM 환경탐지 시 동작하지 않는 anti-VM 악성코드가 증가하면서 어려움을 겪고 있고, 악성코드 정적분석기술들은 코드자체를 해석할 수 있어 많은 정보를 얻을 수 있으나 난독화, 패킹 기술들이 적용되어 분석가를 어렵게 하고 있다. 본 논문에서는 정적분석기술의 주요 장애물인 난독화 유형을 자동식별, 분류하는 기술을 제안한다. 특히, 제안하는 모델을 통해 알려진 패커나 알려지지 않은 패커와 상관없이 일정한 기준에 의해 모든 악성코드를 분류할 수 있는 것이 가능하다. 악성코드 분류는 다양한 활용이 가능하지만, 예를 들면 악성코드 정적 feature에 기반하여 머신러닝 기반 분석을 할 때, 전체 파일에 대해 학습 및 분석하는 방식보다 악성코드 유형별 학습 및 분석이 더욱 효과적일 것이다. 이를 위해, PE구조에서 활용 가능한 feature에 대해 지도 학습 및 비지도 학습 방식의 모델을 설계했고, 98,000여개 샘플을 통해 결과 검증을 진행하였다.

ICFGO : Inter-Procedural Control Flow Graph 난독화를 위한 UI 은닉 및 Dummy Flow 삽입 기법 (ICFGO : UI Concealing and Dummy Flow Insertion Method for Inter-Procedural Control Flow Graph Obfuscation)

  • 심현석;정수환
    • 정보보호학회논문지
    • /
    • 제30권3호
    • /
    • pp.493-501
    • /
    • 2020
  • 안드로이드 운영체제에서 Flow Analysis의 난독화를 위해서는 실행되지 않는 흐름의 코드를 생성하여 Flow Graph의 크기를 크게 만들어 분석이 어렵게 만들 수 있다. 이를 위해 논문에서는 aar 형태의 라이브러리를 구현하여 외부 라이브러리의 형태로 애플리케이션에 삽입이 가능하도록 하였다. 라이브러리는 더미 코드에서의 진입점에서 부터 최대 5개의 child node를 가질 수 있도록 설계되었으며, child node의 클래스는 각 node마다 100개부터 900개까지 2n+1개의 메서드를 가지고 있으므로 총 2,500개의 진입점으로 구성된다. 또한 진입점은 XML에서 총 150개의 뷰로 구성되며, 각각의 진입점은 비동기 인터페이스를 통해 연결된다. 따라서 Inter-Procedural 기반의 Control Flow Graph를 생성하는 과정에서는 최대 14,175E+11개의 추가적인 경우의 수를 가지게 된다. 이를 애플리케이션에 적용한 결과 Inter Procedural Control Flow Analysis 툴에서 평균 10,931개의 Edge와 3,015개의 Node가 추가 생성되었으며 평균 36.64%의 그래프 크기 증가율을 갖는다. 또한 APK를 분석 시에는 최대 평균 76.33MB의 오버헤드가 발생하였지만, 사용자의 ART 환경에서는 최대 평균 0.88MB의 실행 오버헤드만을 가지며 실행 가능한 것을 확인하였다.

스미싱 범죄 프로파일링 모델 설계 (Designing SMS Phishing Profiling Model)

  • 정영호;이국헌;이상진
    • 정보보호학회논문지
    • /
    • 제25권2호
    • /
    • pp.293-302
    • /
    • 2015
  • 스미싱 범죄 피해 사례에서 수집할 수 있는 공격정보들을 이용하여, 범죄수사에 사용하는 프로파일링 기법을 응용한 스미싱 범죄 프로파일링 모델을 제안한다. 기존에 수사기관에서는 apk 파일의 해시를 이용한 시그니처 분석과 코드 내 삽입된 C&C IP 분석방법을 사용하였으나, 시그니처의 다변화와 코드 난독화로 인해 그 활용도가 낮아졌다. 실제 수사기관에 접수된 169건의 피해사례의 분석을 통해, apk 파일 내 인증서 파일 일련번호의 재사용이 151건(89%), 퍼미션 파일의 재사용은 136건(80%)에 달한다는 점에 착안, 인증서 파일의 일련번호와 퍼미션 파일의 해시를 중심으로 한 스미싱 프로파일링 모델을 설계하여 범죄를 군집화하여 기존의 해시 기반 군집화 방법을 보완하였고, 코드 유사도 검증을 통하여 추가로 신뢰성을 확보하였다.

Intel SGX를 이용한 온라인 게임 보안 향상 방안

  • 강수인;김휘강
    • 정보보호학회지
    • /
    • 제27권4호
    • /
    • pp.22-26
    • /
    • 2017
  • 온라인 게임은 가장 성공적인 인터넷 서비스 중 하나로서 빠른 속도로 성장해 왔다. 그러나 게임을 대상으로 하는 다양한 공격들이 있었고 그로 인해 많은 정상 사용자들 및 게임서비스 회사에 피해가 발생함에 따라, 온라인 게임 서비스를 보호하기 위한 다양한 기법들이 연구되어 왔다. 실제로 대규모 이용자들이 접속하는 PC 게임들의 경우, 게임 클라이언트단, 네트워크 단, 서버 단 각 구간별로 다양한 보안 기법들이 개발되어 적용되어 왔다. 이 중, 게임 클라이언트는 사용자 및 해커 쪽에서 손쉽게 접근이 가능하기 때문에 공격에 쉽게 노출되어 있어 신뢰하기 어려운 구간이었다. 더불어, 게임 클라이언트 단에 강력한 보안을 적용할 경우 성능저하가 발생하기 때문에 상용 게임보안 솔루션에 의해 프로세스 및 메모리 보호를 받는 등 역공학 방지 기법 및 난독화 기법 정도만을 최소한으로 적용하고, 그 외에는 대부분의 탐지 및 차단 기법들을 네트워크 단 및 서버 단에 적용하는 것이 일반화 되어 있다. 하지만, 최근 하드웨어의 지원을 받아 클라이언트 단의 성능저하를 최소화 하면서도, 게임 클라이언트를 TEE (Trusted Execution Environment)에서 안전하게 실행할 수 있는 기술들이 등장하면서, 게임 클라이언트 단의 보안기술이 다시 주목받고 있다. 본 논문에서는 메모리 변조 공격 및 게임프로세스에 인젝션 공격을 하는 게임해킹 기법들에 대응하기 위하여 Intel에서 발표한 새로운 하드웨어 보안 기술인 Intel SGX(Software Guard Extensions)를 적용하는 방안에 대해 소개한다. Intel SGX를 적용하여 게임프로그램의 프로세스를 보호할 경우 코드와 데이터의 무결성 및 기밀성을 보장하며 실행시킬 수 있기 때문에, 온라인게임보안 발전에 상당히 기여할 수 있을 것으로 기대된다.

Windows PE 파일의 임포트 테이블에 기반한 소프트웨어 버스마킹(Birthmarking) 기법 (A Software Birthmark of Windows PE File Based on Import Table)

  • 박희완;임현일;최석우;한태숙
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2007년도 가을 학술발표논문집 Vol.34 No.2 (C)
    • /
    • pp.546-551
    • /
    • 2007
  • 소프트웨어 버스마크는 프로그램을 식별하는데 사용될 수 있는 프로그램의 고유한 특징을 말한다. 본 논문에서는 windows PE(Portable Executable) 파일의 API에 대한 정보를 가지는 임포트 테이블에 기반한 프로그램 버스마킹 기법을 제안한다. 버스마크의 신뢰도를 높이기 위한 방법으로 대부분의 Windows 프로그램에서 사용되는 범용의 API는 버스마크에서 제외시키고 프로그램 개개의 특성을 나타낼 수 있는 특화된 API에 초점을 맞추어서 비교하는 방법을 사용한다. 본 논문에서 제안한 버스마킹 기법을 평가하기 위해서 다양한 카테고리의 Windows 프로그램에 대해서 실험을 하였다. 신뢰도를 측정하기 위해서 같은 프로그램에 대해서 버전별로 비교를 하였고, 프로그램의 분류에 따라서 유사한 카테고리와 다른 카테고리에 대해서 비교를 하였다. 프로그램의 변환이나 난독화에도 견딜 수 있는 강인도(Resilience)를 평가하기 위해서 서로 다른 컴파일러를 사용하여 생성된 프로그램에 대해서 비교를 하였다. 실험 결과에서 본 논문에서 제안하는 버스마크가 프로그램의 특징을 충분히 표현하고 있음을 보여준다.

  • PDF

안드로이드 환경에서 클래스 반사와 예외 처리를 이용한 임의 코드 수행 방법 및 코드 은닉 방법 (Code Obfuscation using Java Reflection and Exception in Android)

  • 김지윤;고남현;박용수
    • 한국컴퓨터정보학회:학술대회논문집
    • /
    • 한국컴퓨터정보학회 2014년도 제50차 하계학술대회논문집 22권2호
    • /
    • pp.369-370
    • /
    • 2014
  • 본 논문에서는 안드로이드 환경에서 클래스 반사(Reflection)과 예외처리를 이용하여 안드로이드 보호 시스템을 우회하여 임의의 코드를 수행할 수 있는 방법을 제시한다. 일반적인 자바 환경과는 달리 안드로이드 환경에서는 보안 강화를 위해 APK 파일 내 루트 디렉토리의 클래스 파일만을 반사를 통해 동적 로딩이 가능하다. 하지만, 본 논문에서는 클래스 반사와 예외 처리를 이용하여 임의의 디렉토리 내 파일을 로딩 및 동적 실행할 수 있는 방법을 보이며 이 방법은 저자가 알기로는 기존에 알려지지 않은 방법이다. 이를 기반으로, 본 논문에서는 AES 암호와 동적 로딩을 이용하여, 모바일 어플리케이션의 내부 코드를 은폐하는 기법을 제안한다. 제안기법을 활용 시, 첫째 공격자의 입장에서는 내부 코드를 은폐하여 백신을 우회하는 악성코드 제작이 가능하고, 둘째, 프로그램 제작자의 입장에서는 핵심 알고리즘을 은폐하여 저작권을 보호하는 코드 제작이 가능하다. 안드로이드 버전 4.4.2(Kitkat)에서 프로토타입을 구현하여 제안 기법의 실효성을 보였다.

  • PDF

안드로이드 환경에서 보안 토큰을 이용한 앱 난독화 기법 (An Application Obfuscation Method Using Security Token for Encryption in Android)

  • 신진섭;안재환
    • 정보보호학회논문지
    • /
    • 제27권6호
    • /
    • pp.1457-1465
    • /
    • 2017
  • 스마트기기 시장의 성장과 함께 모바일 환경에서 악성행위가 그 영역을 점차 확대하고 있다. 이에 따라 악성앱 분석에 대한 연구가 진행되어 앱 분석을 위한 자동 분석 도구가 나오면서, 오히려 이런 자동 분석도구들로 인해 기존의 앱 보안을 위한 도구들이 공격자에게 무력해지는 부작용이 일어난다. 본 논문은 일반적인 안드로이드 앱에 적용할 수 있는 범용적인 보호 기법이 아닌 보안 토큰을 가진 스마트 기기 사용자가 이용하는 안드로이드 앱에 적용할 수 있는 앱 보호 기법에 대해 제안한다. 보안 토큰이 삽입되지 않은 경우 앱이 정상적으로 메모리로 적재되지 못하며, 해당 기법으로 보호된 부분은 노출되지 않도록 하는 것을 특징으로 한다.

하이브리드 데이터셋을 이용한 악성코드 패밀리 분류 (Classification of Malware Families Using Hybrid Datasets)

  • 최서우;한명진;이연지;이일구
    • 정보보호학회논문지
    • /
    • 제33권6호
    • /
    • pp.1067-1076
    • /
    • 2023
  • 최근 변종 악성코드가 증가하면서 사이버 해킹 침해사고 규모가 확대되고 있다. 그리고 지능형 사이버 해킹 공격에 대응하기 위해 악성코드 패밀리를 효과적으로 분류하기 위한 기계학습 기반 연구가 활발히 진행되고 있다. 그러나 기존의 분류 모델은 데이터셋이 난독화되거나, 희소한 경우에 성능이 저하되는 문제가 있었다. 본 논문에서는 ASM 파일과 BYTES 파일에서 추출한 특징을 결합한 하이브리드 데이터셋을 제안하고, FNN을 사용하여 분류 성능을 평가한다. 실험 결과에 따르면 제안하는 방법은 단일 데이터셋에 비해 약 4% 향상된 성능을 보였으며, 특히 희소한 패밀리에 대해서는 약 30%의 성능 향상을 보였다.