본문 바로가기

Study/Android

어플 보호 방법 & 보호 솔루션




문제상황


  • Java로 짠 안드로이드 앱은 APK파일을 추출해 디컴파일해서 자바디컴파일러를 이용해 소스코드를 볼 수 있고, 수정하여 APK로 만들 수 있음
  • 유니티 역시 같은 방식으로 C#용 디컴파일러를 이용해 소스 형태로 볼 수 있음 (디컴파일 툴 : .netReflextor, ILSpy) 
  • C#, Java 같은 관리코드가 아닌 네이티브 코드인 C/C++을 사용하는 언리얼은 디컴파일이 쉽지 않음




어플 보호 방법




1. Proguard & Dexguard


  • 디컴파일 시 보이는 소스코드를 해독하지 못하게 소스코드를 난독화 해주는 오픈소스 서비스
  • SW 소스코드의 원천기술 유출을 방지하는 것이 목적
  • Proguard는 무료버전, Dexguard는 유료버전




2. Android Market LVL(Licence Verification Library)



  1. 구글에서 무료로 제공하는 라이브러리
  2. APK 추출하여 다른 디바이스에서 실행하는 것을 차단
  3. 다른 계정으로 로그인된 디바이스에 해당 계정이 구매 이력이 없다면 실행을 차단
  4. 우회가 매우 쉬움 (치명적인 단점, 크래커들이 LVL 제거 된 APK들을 배포하고 공유)
  5. 원스토어에선 ARM이라는 라이센스 체크 라이브러리 제공





보호 솔루션





1. 앱실링(AppSealing)




  • 암호화 및 다양한 기능들로 소스코드 숨김, 위변조로부터 보호
  • 유명한 게임 개발 엔진 지원 (유니티, 언리얼)
  • 평가판 무제한 제공
  • 재접속 디바이스
  • 매월 재접속 디바이스 3000대까지 무료 
    • 재접속 디바이스 - 게임 론칭 후 1주일동안 최소 2번 이상 게임을 실행한 디바이스
  • 별도의 설치 또는 서비스 호스팅이 필요하지 않음
  • 언제든지 게임 실링을 하지 않고 마켓에 배포 가능
  • https://www.appsealing.com/kr/



2. 방클(Bancle)



  • 중국 모바일 앱 보안 관련 서비스 부분 1위
  • 중국 내의 은행과 증권가의 약 90% 이상이 사용할 정도로 높은 신뢰도
  • 무료 실딩과 유료 실딩으로 나눠서 서비스
    • 무료 실딩 - 무제한으로 사용 가능하지만 별도의 고객 서비스 제공하지 않음
    • 유료 실딩 - 계약에 따라 사용 기간이 제한되지만 24시간 실시간 모니터링 지원
  • 무료 실딩에서 유료 실딩으로의 전환은 자유로운 편, 복잡한 절차 없이 간편하게 전환 가능
  • http://www.bangcle.co.kr/




3. LIAPP




  • 안드로이드 앱의 소스유출을 방지 (소스코드 전체 암호화)
  • 유료
  • https://liapp.hostway.co.kr/business/





4. 터치엔 솔루션

  • http://touchen.raonsecure.com/mobile/mobile_04.php




5. 지란지교시큐리티

  • https://www.jiransecurity.com/support/contactus




참고 사이트
LVL        - http://m.blog.naver.com/leost118/220564263170
Proguard - http://dwfox.tistory.com/18