• 제목/요약/키워드: 역공학 공격

검색결과 33건 처리시간 0.023초

RACC: 원격 클래스 호출을 통한 안드로이드 애플리케이션 역공학 공격 방지 (RACC: A Reliable Android Applications Execution Method against Reverse-engineering Attacks using Remote Class)

  • 임지혁;이찬희
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2012년도 한국컴퓨터종합학술대회논문집 Vol.39 No.1(A)
    • /
    • pp.116-118
    • /
    • 2012
  • 안드로이드 앱 시장이 활성화되면서, 안드로이드 앱의 불법복제나 역공학 공격으로 인한 피해가 증가하고 있다. 앱 불법복제는 앱 판매 수익의 저하뿐만 아니라 개발자의 의지를 뺏고 개발 노력에 대해 상대적 박탈감을 주게 된다. 자바 프로그램의 경우 역공학으로 인해 바이트 코드에 존재하는 핵심 알고리즘이 쉽게 노출되어 지적재산권이 유출될 수 있다는 점에서 개발자나 개발사에게 심각한 위협이 되고 있다. 본 논문에서는 안드로이드 환경에서 앱에 대한 역공학 공격의 위협을 보이고, 역공학 방지 기법인 RACC를 제안한다. RACC는 보호할 핵심 클래스를 앱으로 부터 추출하여 바이트 코드 형태로 안전한 원격 서버에 관리하여 수행하며, 스마트폰(클라이언트)에는 저장하지 않는다. 스마트폰 앱이 해당 핵심 클래스를 호출하면, 그 호출이 원격 서버로 전송되어 수행된 후 결과가 스마트폰에 반환된다. 이처럼 핵심 클래스 코드가 클라이언트에 직접 노출 없이 원격지에서 관리되고 수행됨으로써 역공학 공격을 원천적으로 방지한다.

소프트웨어에 적용된 암호화 모듈의 역공학 분석에 관한 고찰 (A Study on Reverse-Engineering Analysis of Encryption Module applied to Software)

  • 김권엽;최재민;이상진;임종인
    • 한국방송∙미디어공학회:학술대회논문집
    • /
    • 한국방송공학회 2007년도 동계학술대회
    • /
    • pp.142-145
    • /
    • 2007
  • 최근 각종 정보통신 서비스를 제공하기 위한 소프트웨어는 정보보호 기술의 핵심요소인 암호화 모듈을 탑재하고 있다. 여기서 암호화 모듈은 사용자 인증, 콘텐츠-보호, 프라이버스 보호 등의 여러 가지 정보보호 기능을 구현하기 위한 핵심 모듈이다. 그러나 악의적인 공격자에게 암호화 모듈을 사용하는 소프트웨어는 기밀한 정보를 다룬다는 점에서 공격의 대상이 될 수 있다. 또한 사람이 제작하는 소프트웨어는 크기가 커질수록 복잡해질수록 위협 요소는 증가하기 마련이다.[1] 이에 본 논문에서는 암호화 모듈이 탑재된 소프트웨어가 역공학 분석측면에서 악의적인 공격자에게 어떠한 위협 요소를 노출할 수 있는지를 살펴보고 이러한 역공학 분석 공격으로부터 보호하기 위해 소프트웨어 제작에서 고려해야 할 사항을 제시한다.

  • PDF

Visual C++ 소스코드를 위한 Obfuscation 도구 구현 (Implementation of an Obfuscation Tool for Visual C++ Source Code)

  • 조병민;장혜영;노진욱;오현수;정민규;이승원;박용수;우제학;조성제
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2006년도 가을 학술발표논문집 Vol.33 No.2 (C)
    • /
    • pp.521-525
    • /
    • 2006
  • 최근 소프트웨어의 주요 알고리즘 및 자료구조 등의 지적재산권을 역공학 분석과 같이 악의적인 공격들로부터 보호하기 위한 연구가 이루어지고 있다. 본 논문에서는 산업 현장에서 많이 사용되는 Visual C++ 또는 MFC로 작성된 프로그램의 소스 코드를 역공학 공격으로부터 보호하기 위한 Obfuscation 도구를 구현하고 그 성능을 평가한다. 구현된 도구는 3가지 Obfuscation 알고리즘을 적용하여 소스 코드를 생성하며 생성된 소스 코드들은 가독성이 떨어지고 역공학 분석이 어렵도록 변환되지만, 프로그램의 본래 기능은 그대로 유지하며 성능상의 변화가 크지 않음을 실험을 통해 확인할 수 있었다.

  • PDF

공격시스템을 위한 보안-역-공격공학 생명주기 모델과 공격명세모델 (Security-Reverse-Attack Engineering Life-cycle Model for Attack System and Attack Specification Models)

  • 김남정;공문수;이강수
    • 한국융합학회논문지
    • /
    • 제8권6호
    • /
    • pp.17-27
    • /
    • 2017
  • 최근 사이버공격이 활성화됨에 따라 이러한 많은 공격사례들이 다양한 매체를 통해 접해지고 있다. 사이버공격에 대한 보안공학이나 역공학에 대한 연구는 활발하지만, 이들을 통합하고 비용효과적인 공격공학을 통해 공격시스템을 연계하여 적용시킨 연구는 부족하다. 본 논문에서는, 보안강화형 정보시스템을 보안공학적으로 개발하고, 역공학을 통해 취약점을 식별한다. 이 취약점을 이용하여 공격공학을 통해 공격시스템을 구축하거나 리모델링하는 생명주기모델을 비교 분석하여 각 시스템의 구조 및 행동을 명세화하고, 더욱 실효성 있는 모델링을 제안한다. 또한, 기존의 모델 도구를 확장하여 공격방법 및 시나리오를 기능적, 정적, 동적과 같은 모델의 관점에서 명세하는 도형적 공격명세모델을 제시한다.

AES 알고리즘을 사용하여 안드로이드 어플리케이션을 보호하기 위한 견고한 역공학 방지기법 (Robust Anti Reverse Engineering Technique for Protecting Android Applications using the AES Algorithm)

  • 김정현;이강승
    • 정보과학회 논문지
    • /
    • 제42권9호
    • /
    • pp.1100-1108
    • /
    • 2015
  • 안드로이드 운영체제의 실행파일인 classes.dex파일은 Java 바이트코드 형식이므로 누구나 쉽게 역공학으로 소스코드를 분석하고 수정이 가능하다. 이러한 특징 때문에 많은 어플리케이션들이 불법 복제되어 유통됨에 따라 피해가 증가하고 있다. 이러한 문제를 해결하기 위해 본 논문은 classes.dex파일을 AES 암호화 알고리즘으로 암호화하여 배포하고, 암호화된 어플리케이션을 복호화하여 실행하는 어플리케이션 불법복제를 방지하는 기법을 제안한다. 암호화 및 복호화에 사용되는 Key는 랜덤한 값인 Salt값를 기반으로 조합하여 Hash함수에 대입하여 얻어진 Hash값을 Key로 사용하여 역공학 공격으로부터 견고함을 더했다. 실험을 통해 제안한 기법이 어플리케이션의 불법복제를 방지하는데 효과적이고, 역공학 공격을 불가능하게 하여 어플리케이션의 원천기술 보호와 리패키징으로 인한 악성코드의 전파도 방지할 수 있음을 보였다.

고급레벨 Obfuscation에서 자료구조 변환 및 제어흐름 변환의 비교 (Comparison of Data Structure and Control Flow Transformations in High-level Obfuscation)

  • 장혜영;조병민;조성제
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2007년도 한국컴퓨터종합학술대회논문집 Vol.34 No.1 (D)
    • /
    • pp.89-94
    • /
    • 2007
  • 자동화된 obfuscatin은 보안 목적으로 코드를 이해하기 어렵게 만들어 역공학 공격을 방어하는데 가장 효과적인 방식이라는 알려져 있다. 본 논문에서는 역공학 공격과 같은 소프트웨어 지적재산권의 침해로부터 마이크로소프트사의 비주얼 C++소스 프로그램을 보호하기 위한 obfuscator를 구현하였다. 그리고 obfuscatio 알고리즘에 따라 potency(복잡도)를 측정하여 분석하여 각 알고리즘을 평가하였다. 또한 cost(비용)과 어셈블리 코드를 비교하여 obfuscator의 성능과 유효성을 평가하였다. 그 결과, 변환된 소스 코드가 실행시간 오버헤드를 일부 유발시키긴 하지만 프로그램 보호에는 효과적임을 알 수 있었다.

  • PDF

비주얼 C++소스 코드를 위한 obfuscator 구현 (Implementation of an Obfuscator for Visual C++ Source Code)

  • 장혜영;조성제
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제35권2호
    • /
    • pp.59-69
    • /
    • 2008
  • 자동화된 obfuscation은 보안 목적으로 코드를 이해하기 어렵게 만들어 역공학 공격을 방어하는데 가장 효과적인 방식이라고 알려져 있다. 본 논문에서는 역공학 공격과 같은 소프트웨어 지적재산권의 침해로부터 마이크로소프트사의 비주얼 C++ 소스 프로그램을 보호하기 위한 obfuscation 기법을 제안하고 구현하였다. 즉, 원본 비주얼 C++ 소스 프로그램을 기능은 동일하지만 이해하기에는 훨씬 힘든 또 다른 프로그램으로 변환시켜 주는 도구인 코드 obfuscator를 구현하였다. 비주얼 C++ 소스를 다루기 위해 ANTLR이라는 파서 생성기를 도입하여, '주석 제거', '식별자 스크램블', '변수 분할', '배열 중첩', '클래스 삽입', '루프 조건 확장'. '부가 피연산자 삽입', '무의미 코드 삽입' 등의 변환 방식들을 구현하였다. 또한, 복잡도, 복원력, 비용 등의 측면에서 본 obfuscator의 성능과 유효성을 평가하였다. 원본 소스 코드와 비교하여 실험한 결과, 변환된 소스 코드가 실행시간 오버헤드를 일부 유발시키긴 하지만 프로그램 보호에는 효과적임을 알 수 있었다.

C++언어를 위한 Control Flow Obfuscator 구현 및 평가 (An Implementation of Control Flow Obfuscator for C++ Language)

  • 노진욱;조병민;오현수;장혜영;정민규;이승원;박용수;우제학;조성제
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2006년도 한국컴퓨터종합학술대회 논문집 Vol.33 No.1 (C)
    • /
    • pp.295-297
    • /
    • 2006
  • 많은 소프트웨어 개발자들은 자신들의 프로그램들이 역공학 공격의 대상이 되는 것을 우려하고 있다. 특히 프로그램 내에 핵심적인 알고리즘이 내재되어 있는 경우 역공학 공격을 대비하는 기법이 필수적이다. 또한, 유비쿼터스 컴퓨팅 시대가 발전할수록 프로그램의 규모가 대형화됨에 따라 공동 개발자들 간에 프로그램 소스가 공유될 기회가 많아졌고, 그 결과 프로그램 소스 수준의 보호 기법도 필요하게 되었다. 본 논문에서는 C++ 프로그램 보호를 위해 Control Flow Obfuscator 도구를 구현하여 실험하였으며, 실험 결과 크지 않은 오버헤드로 악의적인 공격으로부터 프로그램을 분석을 어렵게 할 수 있음을 보인다.

  • PDF

Windows 상에서 소프트웨어 역공학 방지를 위한 프레임워크 구현 (An Implementation of Framework for Software Protection against Reverse Engineering on Windows)

  • 박영웅;장혜영;조성제
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2010년도 한국컴퓨터종합학술대회논문집 Vol.37 No.1(D)
    • /
    • pp.130-135
    • /
    • 2010
  • 실형코드의 역공학(reverse engineering) 을 방지하기 위해서 패킹기법을 많이 사용하고 있다. 패킹을 적용하면 본래의 코드는 실형 압축되어 감춰지기 때문에 언패킹 과정을 거쳐야 바이너리 분석이 가능하게 된다. 언패킹을 위해 패킹된 프로그램에 스텁코드를 삽입하는데 스텁코드는 언패킹하기 위한 코드와 원본 프로그램의 IAT(Import Address Table) 등 중요한 정보를 담고 있다. 스텁코드를 보호하기 위하여 본 논문에서는 중요한 함수의 코드를 별도의 2차 스텁파일에 저장하고 중요한 함수가 있던 1차 스텁코드에는 더미코드를 삽입하여 역공학 공격을 방지하였다. 또한 본 논문에서 제안하는 프레임워크를 구현하고 성능을 평가하였다.

  • PDF

CHES 2020로 살펴본 부채널 분석 보안 컨퍼런스 연구 동향

  • 김한빛;김희석
    • 정보보호학회지
    • /
    • 제30권6호
    • /
    • pp.67-81
    • /
    • 2020
  • CHES는 암호 알고리즘의 하드웨어/소프트웨어 구현의 설계 및 분석에 대한 다양한 성과가 발표되는 부채널 분석 분야 최대 규모의 보안 컨퍼런스이다. 본 기고는 CHES 컨퍼런스에 발표된 논문들에 대하여 부채널 공격 관점, 부채널 대응 및 구현 관점, CHES에서 주제로 다루는 암호 알고리즘의 추이 관점으로 구분하여 동향을 분석한다. 이를 위하여 오류주입 공격, 머신러닝 기반 부채널 공격, 캐시공격, 부채널 누출 검증 방법론과 부채널 역공학 기술 등 다양한 부채널 공격을 소개하고 최신 논문 주제의 흐름에 대하여 논의한다. 또한, 소프트웨어 고차 마스킹과 하드웨어 TI, PUF/난수 발생기 등의 부채널 대응기술 및 구현 동향을 분석하며, CHES에 발표된 논문들이 주제로 다루는 대칭키, 공개키 암호 및 화이트박스 암호 추이를 분석한다. 이러한 CHES 컨퍼런스의 주제별 연구 동향 분석 결과는 부채널 분석 연구자에게 유용한 정보를 제공하고 향후 연구 방향에 대한 중요한 지표가 될 수 있을 것이다.