Product

업계 최초 4 Layered Protection Technology

디컴파일 방지, 암호화, 난독화 및 리패키징 방지 등 업계 최초의 4 계층 구조의 강력한 앱보안 및 앱난독화 기술 들을 계층적으로 적용함으로써 해킹을 철저히 차단하여 앱을 보호합니다.
계층 1 : 디컴파일 방지 기술(해커가 리버스 엔지니어링 툴로 앱의 원본 소스 코드를 복원하는 것을 방지함)
계층 2 : 암호화 기술(코드 암호화, 문자열 암호화, 리소스 암호화, 자바스크립트 암호화로 소스 코드를 읽을 수 없게 함)
계층 3 : 난독화 기술(클래스명 난독화, 메소드명 난독화, 필드명 난독화로 소스 코드를 이해할 수 없게 함)
계층 4 : 리패키징 방지 기술(계층1, 2, 3을 성공적으로 뚫었다 해도 리패키징시 오류를 발생시켜 결국 해킹에 실패하게 함)

Corporate 모바일 앱 보안 표준 플랫폼 구축

2014년, 2015년 공개 경쟁을 통해 SK텔레콤과 LGU+의 앱보안 및 앱난독화 업체로 선정되었으며,

2018년에는 업계 최초로 SK텔레콤과 LGU+에 Corporate 모바일 앱보안 표준 플랫폼을 구축하였습니다.
매년 SK텔레콤과 LGU+의 250여 개의 앱에 앱캐모(AppCAMO)가 적용됩니다.

  • 대한민국 모바일 가입자 70% 스마트폰에서 안정적으로 사용

    새로운 안드로이드 버전 출시시 SK텔레콤과 LGU+의 Pre-load 앱에 앱캐모(AppCAMO)를 적용함으로써 어떤 경쟁사 보다도 먼저 기술의 안정성을 확보할 수 있으며, SK텔레콤(M/S 50%)과 LGU+(M/S 20%) 가입자 스마트폰, 즉 대한민국 3,500만대의 스마트폰에서 앱캐모가 적용된 앱이 안정적으로 사용되고 있습니다.

  • No SDK, No Coding으로 웹 GUI 상에서 클릭만으로 손쉽게 보안 기술 적용

    SDK, 플러그인 등을 사용함으로써 보안 기술을 적용하기 위한 학습시간과 코딩이 필요한 타 솔루션과는 달리, AppCAMO는 보안 기술들을 적용하기 위한 학습시간과 코딩이 필요하지 않습니다. AppCAMO는 웹 GUI를 통해 사용자가 직관적으로 보안 기술들을 클릭만으로 선택하여 쉽고 편리하게 사용할 수 있습니다.

100% 자체 기술 확보, 인증 및 수상

다수의 특허 기술을 독자 개발함으로써 100% 자체 원천 기술 확보(특허 등록 4건)하고 있습니다.

모바일보안 기술의 혁신성을 인정받아 기술혁신형 중소기업(INNO-BIZ) 인증 및 한국일보 주최 2016년 디지털 이노베이션 대상을 

수상하였습니다. 또한, 한국정보통신기술협회 GS인증 1등급(제21-0110호) 획득하였습니다.

특허 제10-1532763 : 어플리케이션 불법복제 방지 시스템 및 방법
특허 제10-1532765 : 어플리케이션 위변조 방지 및 방법
특허 제10-1540089 : 어플리케이션 위변조 검증 시스템 및 방법
특허 제10-1924047 : 암호화 방법 및 이를 이용한 송신장치, 복호화 방법 및 이를 이용한 수신장치

강력한 안드로이드 및 iOS 앱 보안 기술



앱캐모(AppCAMO)는 안드로이드/iOS 앱 둘다에 대한 앱난독화 및 위변조 방지 기술을 제공합니다.

 

 

 

AppCAMO-Android

  


AppCAMO-Android는 안드로이드 앱의 소스코드 난독화를 통해 주요 정보를 보호하여 해킹, 리버스 엔지니어링, 디컴파일 등으로 인한 소스코드 접근을 차단하는 강력한 앱 보안 솔루션입니다. Java, Kotlin 등과 같은 Native 앱, Cordova, Ionic, React Native 등과 같은 Cross-Platform 앱을 역공학 및 위변조로부터 보호합니다. 


AppCAMO-Android는 OWASP(Open Web Application Security Project)를 준용하는 20가지 이상의 앱보안 기술을 제공하고 있으며정적분석 방지(Code Hardening) 기술과 동적분석 방지(RASP : Runtime Application Self Protection) 기술로 나누어 집니.  


AppCAMO-Android의 정적분석 방지(Code Hardening) 기술은 APK 또는 AAB 파일을 해킹으로부터 보호하는 기술로서 디컴파일 방지리패키징 방지클래스명 난독화메소드명 독화필드명 난독화코드 암호화문자열 암호화리소스 암호화, 하이브리드 앱 암호화(자바스크립트 암호화, 웹뷰 암호화), 커스텀 하이브리드 앱 암호화(커스텀 웹뷰 암호화), 디버그 정보 제거로그캣 로그 제거 등이 있습니다.


디컴파일 방지 디컴파일 툴로 앱을 디컴파일하지 못하게 막습니다. 이 기술은 코드 암호화 다음으로 강력한 앱 보안 기술로, 소스가 노출되지 않도록 막음으로써 위변조의 가능성을 차단하고 알고리즘 등의 중요 정보 노출을 막을 수 있습니다. 또한, 이 기술은 앱의 실행 속도에 영향을 주지 않기 때문에 모든 앱에 기본적으로 적용하기를 권장하는 기술입니다. 앱난독화 솔루션을 검토할 때 이 기술을 제공하는 지를 반드시 확인할 필요가 있습니다.


리패키징 방지 : 리패키징 방지 기술이 적용된 앱을 디컴파일한 다음 다시 앱으로 빌드할 때 오류가 발생하면서 빌드가 되지 않도록 막습니다. 이 기술을 적용하면 앱이 위변조될 가능성을 훨씬 줄일 수 있습니다. 


코드 암호화 : 가장 강력한 앱 보안 기술로 안드로이드 앱에서 실행 코드가 저장되는 파일인 DEX(Dalvik EXecutable) 파일 전체를 암호화한 다음, 앱이 안전한 환경에서 실행될 경우에만 복호화하여 실행하는 기술입니다. 


리소스 암호화 : 이미지, 데이터 파일, 자바스크립트, HTML, CSS 등 앱의 동작에 필요한 리소스 파일들을 암호화한 다음, 앱이 안전한 환경에서 실행될 경우에만 복호화 하는 기술입니다.


하이브리드 앱 암호화(자바스크립트 암호화, 웹뷰 암호화) : 코도바(Cordova) 및 코도바 계열, 아이오닉(Ionic), 리액트 네이티브(React Native)와 같은 프레임워크 및 커스텀 프레임워크(커스텀 웹뷰)를 기반으로 만들어진 하이브리드 앱의 경우, 앱의 중요한 동작 로직이 자바스크립트로 작성되는데, 이 자바스크립트는 리소스 영역에 있기 때문에 난독화나 암호화의 대상에서 제외됩니다. 따라서 이 경우에는 이 기술로 암호화함으로써 코드나 데이터가 노출되지 않도록 합니다. 이 기술은 보안성이 뛰어나고 강력하지만 구현하기가 까다로워 타 보안 업체들은 주로 자바스크립트 난독화 또는 자바스크립트 문자열 암호화로 제공하고 있습니다.


문자열 암호화소스 코드 상에 정의된 문자열들을 찾아서 암호화하고, 안전한 환경에서 앱이 실행될 경우에만 복호화하도록 만드는 기술입니다앱을 개발할 때 서버 주소와 같은 문자열 값을 소스 상에 하드 코딩 한 경우 디컴파일을 하면 그 값이 그대로 노출됩니다. 디컴파일러들로 하드 코딩된 문자열은 확인할 수 있으며, 서버 주소, API , 사용자 계정, 토큰 등과 같이 민감한 값이 해커에게 노출될 경우 서버가 공격당하는 등의 2차 피해가 발생할 수 있습니다. 따라서 이 기술은 모든 앱에 기본으로 사용하는 것을 권장합니다.


식별자 난독화 : 클래스명 난독화, 메소드명 난독화, 필드명 난독화가 있으며, 난독화 기술은 디컴파일 된 소스의 분석을 어렵게 만들어 소스 분석을 지연 또는 방지하는 기술입니다. 식별자 난독화 기술은 소스 상의 클래스, 메서드, 멤버 변수의 이름을 의미 없는 값으로 대체하여 식별자로부터 어떤 의미를 분석하지 못하게 하는 기술입니다. 난독화 기술은 기본적으로 디컴파일된 소스가 있다는 가정을 하기 때문에, 암호화 기술이나 디컴파일 방지 기술보다는 보안성이 낮습니다.


디버그 정보 제거 : 앱이 디컴파일 되었을 때 메서드 파라메터명, 로컬 변수명, 원본 소스 상의 라인번호 등이 노출되지 않도록 DEX 상에서 해당 영역을 제거하는 기술이며, 소스 분석을 좀 더 어렵게 합니다.


로그캣 로그 제거 : 개발자가 앱을 개발하면서 디버깅 목적으로 작성한 로그캣 로그 메시지가 출력되지 않도록 막는 기술입니다. 개발자가 작성한 로그에는 사용자가 입력한 개인 정보나 서버에서 수신한 응답 메시지 또는 서버 API 주소 등 중요 정보가 노출될 수 있기 때문에 로그를 제거하는 것이 좋습니다.

 

앱 보안 기술을 적용할 앱의 특성에 따라 위와 같이 정적 분석을 방지하는 앱 보안 기술 옵션을 선별하여 적용할 수 있습니다.


AppCAMO-Android의 동적분석 방지(RASP) 기술은 앱이 실행 중시도되는 해킹을 탐지하여 차단하는 기술로서 위변조 탐지, 무결성 탐지, 디버거 탐지루팅 탐지이뮬레이터 탐지(Virtual Machine 탐지), 루팅 탐지 우회 차단(Magisk/Magisk Hide 탐지), 해킹 툴 탐지((Frida 탐지), API 후킹 방지메모리 해킹 방지스크린 캡쳐 방지클립보드 복사 방지앱 사용 시간 제어 등이 있습니다.


위변조 탐지 : 앱 실행시 앱의 소스 코드 및 데이터에 대한 무결성을 검증하여 위변조가 있을 경우 앱이 실행되지 못하도록 막는 기술입니다.


루팅 탐지 : 앱 실행시 루팅된 단말인 지를 탐지하여 루팅 단말일 경우 앱이 실행되지 못하도록 막는 기술입니다.


디버거 탐지 :앱 실행시 앱이 디버깅 툴에서 실행됨을 탐지할 경우 앱이 실행되지 못하도록 막는 기술입니다.


에뮬레이터 탐지(Virtual Machine 탐지) : 앱 실행시 앱이 이뮬레이터 등과 같은 VM 상에서 실행됨을 탐지할 경우 앱이 실행되지 못하도록 막는 기술입니다.


루팅 탐지 우회 차단 : 루팅을 하는 과정에서 변화되는 파일, 권한, 프로세스 등을 탐지하지 못하도록 변조하거나 속이는 것 등으로 우회하여 루팅 탐지 기술을 무력화하는 해킹 앱들(Magisk/Magisk Hide)이 있으며, 이와 같은 해킹 앱들을 탐지하는 기술입니다. 이를 탐지할 경우 앱이 스스로 종료하여 해킹되지 않도록 막습니다.


해킹 툴 탐지 Frida는 다양한 운영체제(안드로이드, iOS, 윈도우 등)에서 실행되는 앱을 제어하여 테스트나 문제를 수정하는데 사용하는 툴인데, 해킹에 많이 사용됩니다. Frida를 이용하면, 해커가 스크립트를 작성하여 대상 앱의 동작을 원하는 대로 변경할 수 있습니다Frida 탐지는 OWASP에서 권장하는 방식으로 Frida 툴의 실행을 감지하여 앱이 스스로 종료하도록 하는 자기 방어 메커니즘입니다. 


메모리 해킹 방지 메모리 해킹은 앱이 실행 중에 메모리에 저장하는 값을 읽어서, 앱으로부터 정보를 빼내거나 값을 변경하여 앱이 오작동하도록 만드는 것을 말합니다. 메모리 해킹 기술을 이용해서 해커는 게임 앱의 점수 및 능력치를 조절하거나, 서버와 주고 받는 정보를 빼낼 수 있습니다. 메모리 해킹 방지는 앱에서 메모리 해킹이 가능한 환경을 감지하고 스스로 종료하여 해킹되지 않도록 막는 자기 방어 메커니즘입니다.


API 후킹 방지API 후킹은 앱의 기능 동작을 위해서 앱이 호출하는 기능(또는 함수)를 탐지하여, 해당 기능이 호출될 때 해커가 정의한 기능을 실행, 결과 값 변경 또는 호출 파라메터 등을 기록하는 것을 말합니다. API 후킹 기술을 이용해서 해커는 앱의 특정 기능이 오작동하도록 만들 수 있습니다. API 후킹 방지는 앱에서 API 후킹이 감지되거나, API 후킹이 가능한 환경일 경우, 스스로 종료하여 해킹되지 않도록 막는 기술입니다.


클립보드 복사 방지 : 앱에서 클립보드로 텍스트를 복사하지 못하도록 막는 기술입니다. 이 기술을 사용하면, 앱 안의 텍스트를 사용자가 클립보드로 복사해서 외부로 유출하는 것을 차단할 수 있습니다.


화면 캡처 방지 : 앱의 화면을 캡처하지 못하도록 막는 기술입니다. 이 기술을 사용하면, 앱 화면의 캡처가 차단되어 앱 안에 표시된 중요 정보를 이미지로 외부에 유출하는 것을 차단할 수 있습니다.


앱 사용 시간 제어 : 앱의 사용 가능한 시간을 지정하는 기술입니다. 지정된 시간이 아닌 경우에는 앱 실행이 차단됩니다.

 

앱 보안 기술을 적용할 앱의 특성에 따라 루팅 탐지, 디버거 탐지, 클립보드 복사 방지, 화면 캡처 방지, 앱사용 시간 제어 등의 보안 기술 옵션들은 선별하여 적용할 수 있으며, 이외의 동적 분석 방지 기술들은 정적 분석 방지 기술들이 적용될 때 디폴트로 함께 적용됩니다.

 

AppCAMO-Android는 프로가드(ProGuard)와 호환되며, 프로가드에서 앱캐모(AppCAMO)로 쉽게 업그레이드가 가능합니다.

 

 


AppCAMO-iOS



AppCAMO-iOS는 iOS 앱의 소스코드 난독화를 통해 주요 정보를 보호하여 해킹, 리버스 엔지니어링, 디컴파일 등으로 인한 소스코드 접근을 차단하는 강력한 앱 보안 솔루션입니다. Objective-C, Swift  등과 같은 Native 앱을 역공학 및 위변조로부터 보호합니다. 


AppCAMO-iOS는 OWASP를 준용하는 14가지의 보안 기술을 제공하고 있으며정적분석 방지(Code Hardening) 기술과 동적분석 방지(RASP) 기술로 나누어 집니.


AppCAMO-iOS의 정적분석 방지(Code Hardening) 기술은 XCarchive 파일을 해킹으로부터 보호하는 기술로서 클래스명 난독화메소드명 독화필드명 난독화프로프티명 난독화카테고리 메소드명 난독화카테고리 프로프티명 난독화프로토콜명 난독화프로토콜 메소드명 난독화프로토콜 프로퍼티명 난독화문자열 암호화디버그 정보 제거 등이 있습니다.


식별자 난독화 : 식별자 난독화 기술은 클래스명 난독화메소드명 독화필드명 난독화프로프티명 난독화카테고리 메소드명 난독화카테고리 프로프티명 난독화프로토콜명 난독화프로토콜 메소드명 난독화프로토콜 프로퍼티명 난독화를 포함합니다. 그리고 이 기술은 소스 상의 클래스, 메서드, 프로토콜, 카테고리, 프로퍼티, 필드 등의 이름을 의미 없는 값으로 대체하여 식별자로부터 어떤 의미를 분석하지 못하게 합니다. 식별자 난독화 기술은 식별자의 이름을 의미 없는 바꾸는 기술인데, Sever/DB와 통신하는 JSON 등의 파싱 모듈로 호출하는 부분, 동적 class/method 호출부 등 이름이 변경되어 iOS 앱 실행 시 오류가 발생될 가능성이 있는 부분이 있습니다. 이런 경우 사용자가 직접 난독화 제외 필터에 필터로 입력하여 식별자 난독화 기술이 적용되지 않도록 해야 합니다.


문자열 암호화 : 소스 코드 상에 정의된 문자열들을 찾아서 암호화하고안전한 환경에서 앱이 실행될 경우에만 복호화하도록 만드는 기술입니다앱을 개발할 때 서버 주소와 같은 문자열 값을 소스 상에 하드 코딩 한 경우 디컴파일을 하면 그 값이 그대로 노출됩니다디컴파일러들로 하드 코딩된 문자열은 확인할 수 있으며서버 주소, API 사용자 계정토큰 등과 같이 민감한 값이 해커에게 노출될 경우 서버가 공격당하는 등의 2차 피해가 발생할 수 있습니다따라서 이 기술은 모든 앱에 기본으로 사용하는 것을 권장합니다문자열 암호화의 기본 적용 범위는 번들명 내에 해당되는 문자열들, 즉 개발자가 개발한 iOS 앱 내에 있는 문자열들입니다. 번들명은 info.plist 상에 명시되어 있는 Bundle name을 말합니다.


디버그 정보 제거 : 앱이 디컴파일 되었을 때 메서드 파라메터명, 로컬 변수명, 원본 소스 상의 라인번호 등이 노출되지 않도록 IPA 상에서 해당 영역을 제거하는 기술이며, 소스 분석을 좀 더 어렵게 합니다. 

 

 


AppCAMO-iOS의 동적분석 방지(RASP) 기술은 앱이 실행 중에 시도되는 해킹을 탐지하여 차단하는 기술로서 디버거 탐지, 탈옥(Jailbreak) 탐지뮬레이터 탐지 등이 있습니다. 



탈옥(Jailbreak) 탐지 : 앱 실행시 탈옥된 단말인 지를 탐지하여 탈옥 단말일 경우 앱이 실행되지 못하도록 막는 기술입니다. 


디버거 탐지 :앱 실행시 앱이 디버깅 툴에서 실행됨을 탐지할 경우 앱이 실행되지 못하도록 막는 기술입니다.


시뮬레이터 탐지(Virtual Machine 탐지) : 앱 실행시 앱이 시뮬레이터 등과 같은 VM 상에서 실행됨을 탐지할 경우 앱이 실행되지 못하도록 막는 기술입니다.



AppCAMO의 실제 사례를 AppCAMO 블로그 https://blog.naver.com/appcamo 를 통해 확인하실 수 있습니다. 


솔루션 핵심 기술

  • 강력한 방지 기술 적용

    디컴파일 방지 기술은 코드 암호화 다음으로 강력한 보안 기술로서 가장 유명한 컴파일러들인 APKTool, DEX2JAR, Jadx 및 APKTool Extensions 등으로부터 소스코드 유출을 방지하여 해킹을 차단합니다. 이 기술은 소스코드가 노출되지 않도록 막음으로써 위변조의 가능성을 차단하고 알고리즘 등의 중요 정보 노출을 막을 수 있습니다.


    리패키징 방지 기술은 아주 강력한 디컴파일러에 의해 소스코드 추출이 이루어졌다고 하더라도 앱을 빌드시 오류를 발생시킴으로써 해킹을 차단합니다. 이 기술을 적용하면 앱이 위변조될 가능성을 훨씬 줄일 수 있습니다.

  • 강력한 암호화 기술 적용

    코드 암호화 기술은 가장 강력한 앱보안 기술로서 개발자가 작성한 소스코드가 디컴파일러 등에 의해서 노출되지 않도록 하기 위해서 모든 DEX를 암호화 시키고, 런타임 시에 안전한 환경일 경우에만 복호화해서 실행하도록 하여 해킹을 불가능하게 합니다. 


    리소스 암호화 기술은 리소스 영역에 있는 이미지, 데이터 파일, 자바스크립트, HTML, CSS 등 앱의 동작에 필요한 모든 데이터를 암호화하여 데이터가 유출되지 않도록 합니다.


    하이브리드 앱 암호화 기술(자바스크립트 암호화, 웹뷰 암호화) 아이오닉(Ionic), 코도바(Cordova), 리액트 네이티브(React Native)와 같은 프레임워크를 기반으로 만들어진 하이브리드 앱의 중요한 동작 로직이 자바스크립트로 작성되는데, 이 자바스크립트는 리소스 영역에 있어 식별자 난독화나 암호화의 대상에서 제외되므로 이 기술을 사용하여 암호화 함으로써 코드나 데이터가 노출되지 않도록 합니다. 이 기술은 보안성이 뛰어나고 강력하지만 구현하기가 까다로워 타 보안 업체들은 주로 자바스크립트 난독화를 제공하고 있습니다.

AppCAMO 분류 세부 보안 기술
AppCAMO
보안기술
정적 분석 방지
소스 코드 분석 시 중요 정보 제거
- 디버그 정보 제거
- 로그캣 로그 제거


소스 코드 이해를 불가능하게 하거나 암호화하여 읽을 수 없게함
- 클래스명 난독화
- 메소드명 난독화
- 필드명 난독화
- 코드암호화(클래스 암호화)
- 문자열 암호화
- 리소스 암호화(하이브리드 앱 암호화)


역공학 방지를 위한 보호 코드 삽입
- 디컴파일 방지
- 리패키징 방지
- API 호출 숨김

동적 분석 방지
앱 실행시 앱 해킹 방지
- 위변조 탐지
- 디버거 탐지
- 루팅 탐지
- 이뮬레이터 탐지
- Frida 탐지
- API 후킹 방지
- 메모리 해킹 방지


앱 실행 시 앱 보안 강화
- 스크린 캡쳐 방지
- 클립보드 복사 방지
- 앱 사용시간 제어

개인정보처리방침

닫기

이메일무단수집거부

닫기

사이트맵

Product
Company
Customers
Recruiting
Contact
닫기