IT Solutions/Security

스마트폰 앱 서비스 보안의 현재와 미래

2016.06.07 09:30

 

지난 시간에 살펴 본 ‘스마트폰의 보안 위협과 대응 방안’, ‘IoT 보안 취약점 사례 소개 및 취약점 진단’에 이어 ‘스마트폰 앱 서비스 보안의 현재와 미래’ 편에서는 전반적인 앱 보안 취약점과 대응 기술, 그리고 준비•진행 중인 미래 보안 기술 동향 등에 관해서도 살펴보도록 하겠습니다.

  

 

2015년 미래창조과학부 모바일 보안 기획조사[각주:1]에 의하면 사용자 모바일 보안에 대한 인식은 87.7%로 높은 관심을 갖고 있는 것으로 나타났습니다. 그리고 모바일 기기의 분실•도난 경험률은 22.7%로 평균 사용자 10명 중 2명이 경험한 것으로 보고되었습니다.
 

l 모바일 보안에 대한 관심 및 인식률

 

l 모바일 기기 도난 및 분실 사고

 

보안 사고 부분에서도 분실 도난 방지나 데이터 백업 암호화 등 보안 사고 대비율은 약 61%로 분실 시 나름 사용자 측면의 대응이 이루어지고 있지만, 저장된 개인 정보 및 서비스 정보의 보안 관점에서는 개인 수준의 백업 대응은 근본적인 해결 방안이 될 수는 없습니다. 의미 있는 조사 결과로 모바일 폰을 통한 소액결제 서비스 경험 약 61%, 모바일 내 공인 인증서 설치 약 77%라고 합니다.
 

l 모바일 소액결제 경험자 비율


위 사례와 같이 스마트폰 기반의 앱 서비스 보안은 최근 모바일 핀테크 등 금융거래(86.8%)의 활성화와 맞물려 그 중요성이 나날이 커지고 있는 상황입니다.


이렇듯 우리 생활 속에 파고든 모바일 앱 서비스와 관련해서, 현재 알려진 문제점과 대응 기술 그리고 변화하고 있는 최신 기술 동향에 대해 살펴보도록 하겠습니다.


 스마트폰 앱 보안 취약점


l 최근의 핀테크 출시 서비스 경쟁


약 2년 전 모 금융회사의 앱 카드가 해킹되어 사회적인 이슈가 된 적이 있었고, 최근에는 스마트폰 기반의 각종 핀테크 및 결제 방식이 언론의 주목과 함께 사용 편의성으로 고객에게 각광을 받고 있는 상황입니다.


서비스 앱 보안성 및 사용자의 개인•거래 정보 보호, 그리고 기업의 안정적 서비스 제공을 위해 앱 서비스 보안과 관련해서 먼저 무엇을 고민해야 할지 생각해 보도록 하겠습니다.


그 첫 질문의 답은 스마트폰 앱 보안의 취약점에서 시작해야 하는데요. 스마트폰 기반의 앱 서비스는 단말부터 서비스 단까지 종단 간의 다양한 취약점을 식별해야 하고, 이 중에서도 핵심이 되는 중요한 취약점들은 어떤 것들이 있는지 먼저 확인해야 합니다.

 

l 스마트폰 앱 위협 시나리오


위 그림과 같이 스마트폰을 기반으로 한 앱 서비스의 경우, 모바일 디바이스(Mobile Device) 및 OS, 플랫폼(Platform) 기술과 관련한 모바일 단말 영역의 취약점과 전통적 네트워크(Network, N/W) 및 IT 웹 보안 영역의 위협에 함께 노출되어 있습니다.


이렇게 다양한 취약점과 함께 악성코드 등을 활용하게 된다면, 다양한 공격이 가능해져 이를 통한 개인 정보 유출 또는 중요 서비스 정보의 노출, 더 나아가서 금전적인 피해까지 입을 수 있게 됩니다.


디바이스 및 OS, 플랫폼에 관련한 보안 취약점에 대한 대응 기술은 지속적으로 개발되어 적용 중 입니다. 하지만 스마트폰 기반의 모바일 디바이스, OS, 플랫폼이 급속도로 발전하고 있어 새로운 취약점 또한 빠르게 보고되고 있는 상황입니다.


스마트폰 앱의 취약점과 관련하여 2015년 OWASP[각주:2]에서 보고한 모바일 Top10 Risks를 살펴보면 몇 가지 시사점을 얻을 수 있습니다. 


최신의 모바일 앱 관련한 1) APK Binary의 보안 취약점(M10: Lack Of Binary Protection)과 함께 2) N/W 단의 보안 취약점(M3: 부족한 Transport Layer Protection: TLS, SSL)도 높은 수준으로 보고되고 있습니다.


l OWASP Mobile Top 10 Risks


이 중 M3 관련, 부족한 송•수신 데이터 보안은 SSL, TLS 등을 적용하더라도 중간자 공격(Man In The Middle)에 취약하므로, 반드시 중요 핵심 데이터•보안 인증•암호 키 처리에 대해서는 추가적인 암호화 적용이 필요합니다. 또한 웹 서버 공격에 대한 기술적 대응(파라미터 위•변조 및 XSS 대응) 등 기존의 IT 보안의 웹 서비스 보안 또한 동일하게 필요합니다. 


안드로이드(Android) 앱 서비스 관련 구체적인 위협들에 대해 좀 더 상세하게 살펴보기 위해, 아래 표에서 앱 서비스 관련 알려지거나 예상되는 위협 시나리오를 간략히 정리해 보았습니다. 


l 모바일 앱 위협 시나리오


공격자 또는 해커의 경우 위에 언급된 취약점을 토대로 아래와 같은 일련의 순서로 서비스 앱 공격을 진행합니다.


모바일 서비스 앱 해킹 과정


위의 과정을 수행하기 위한 도구 관련해서는 현재 인터넷상에서 다양한 분석 및 해킹 툴을 입수 할 수 있습니다.


① 단말 내 인증•암호화 키 노출 

    (필요 시 직접 우회•공격 시도, 서비스 서버 임의 호출, 정보 값 변경 시도)

② 루팅 및 무결성 훼손하여 OS까지 침입

③ (해킹 대상) APK 추출 및 디컴파일(Decompile)[각주:3] 수행

④ (원본 앱) 정적 동적 분석 수행

⑤ (공격 목적에 부합하게) APP 위•변조 후 재컴파일[각주:4] + 재패키징 + 배포 또는 직접 공격


특히 기존의 APK(Android application package)를 역 분석하거나 수정 후 재패키징(Re-Packaging)을 할 수 있는 툴들이 존재하며, 안드로이드의 특성상 원래 공격의 목적이 아니더라도 앱 개발자가 잘 작성된 앱의 소스 코드 분석을 통해 개발의 도움을 얻거나, 개발이 필요한 소스를 획득하기 위해서도 사용이 되고 있는 것이 현실입니다. 


아래의 예는 역 분석 툴인 dex2jar의 사용 예이며, 쉽게 원본 소스를 획득하여 분석할 수 있습니다.

  

l APK 소스 Decompile 과정 및 결과


일련의 분석 과정을 통해 디버깅 활성화 및 코드 인젝션, 플래그 변조 등, 원래의 앱이 동작하고자 하는 기능 비활성화 또는 의도하는 기능으로 동작이 가능하게 변경 됩니다. 변경된 앱을 루팅된 단말에 설치하여 보다 더 취약한 환경에서 직접 앱을 수행•분석을 할 수 있고, 이를 통해 서비스 관련 직접적인 공격을 시도하거나 최종 해킹된 앱을 재패키징하여 공격 대상자에게 배포 후 정보나 서비스 수집을 수행할 수 있습니다.


과정상에서 보면 굳이 공격 대상자에게 재배포를 통하지 않고도 루팅된 단말을 통해 서비스와 관련된 정보 획득 및 다양한 공격을 수행할 수 있는데, 이는 앱 해킹과 루팅을 통한 단말•OS의 보안을 위협하는 아래의 취약점이 존재하기 때문입니다.

  

l 앱 및 루팅 관련 주요 취약점


 스마트폰 앱 보안 취약점 대응 방안


앞서 언급한 취약점에 대한 요약 및 보안 관련 기술적 대응 방안을 정리해 보았습니다.


현존하는 서비스 앱의 보안 기술로는 난독화, 코드 서명, 해시 검증, 바이너리 디컴파일(Decompile) 방지 및 암호화 기술 등이 있습니다. 이러한 상용 기술의 적용과 함께 최근에는 디바이스의 보안 H/W 기반 하에 플랫폼 전반에 걸친 TPM(Trusted Platform Module) 보안 기술을 적용하는 방안이 검토 진행 또는 일부 서비스에 적용 및 확산되고 있는 상황입니다.

  

l 취약점 vs 대응 방안•기술

 

시장에 나와 있는 취약점에 대한 보안 기술은 아래와 같습니다.


l 대응 기술


대응 기술은 공개된 오픈 소스 기반의 솔루션과 상용 솔루션 등이 다수 있어서, 서비스 특성에 맞추어 적용이 가능합니다. 상용 기술의 적용이 아니더라도 코드 난독화 관련 공개 툴을 사용하여 최소한의 앱 보안 관련 기술 적용을 권장합니다.


상용 툴의 적용 시에는 


암호화 적용에 따른 APK 사이즈 증가, 

게임, On-Line Trading과 같이 실시간성이 필요한 서비스 영역에서는 암•복호화에 따른 실행 시간, 성능에 유의 하여야 합니다.


그리고 안티 디컴파일(Anti Decompile) 기술의 경우


디컴파일러의 기술 진화에 따라 보안 솔루션에서도 디컴파일 방지 기술이 함께 업그레이드 해줄 수 있는 업체의 솔루션을 도입해야 합니다.


최근 2년 사이 해당 솔루션 시장이 성장하였고, 안정되고 검증된 보안 기술을 제공하는 다수의 솔루션이 있어 선택의 폭 또한 넓어졌습니다. 솔루션 도입 시에는 고객 및 서비스 특성에 맞는 기술적 특성을 고려하여 서비스 기획, 사전 예산 확보 및 솔루션 검토, 테스트 적용의 단계를 통해 도입해야 합니다.


마지막으로 신뢰 플랫폼(Trusted Platform) 기술을 통한 강력한 보안 기술 영역이 있습니다. 아래 그림에서와 같이 현존하는 대응 기술로는 디바이스 및 OS의 제약으로 완벽한 보안 통제 및 실행 환경을 제공하기 어려워 최근 주목 받는 기술로 상용 서비스 적용이 진행되고 있는 영역입니다.


l 대응 방안 기술: 현재와 미래


안전한 실행환경 보장 및 완벽한 APP 보안을 제공하기 위해서는 TPM(TrustZone, USIM, MTPM) 등의 적용이 반드시 필요합니다. 


예를 들어, 전자 금융거래용 인증서, 기기 및 생체 인증을 수행하는 인증 식별 ID 및 Key 정보, 그리고 단말 내 효율적 보안을 위해 앱에서 암호화 시에 사용하는 One Time 대칭키 등이 있습니다. 이는 중요한 거래나 서비스에서 안전하게 저장 및 관리가 되어야 하는데, 이를 위해서는 TPM과 같은 기술이 필수로 적용되고 있습니다.


현재 시장에 출시•적용 준비 중인 Mobile Pay에서는 TPM 등을 연계한 Secure Boot, SE Linux, SE Android 기술과 연계 적용하여 디바이스 및 플랫폼 전반에 걸쳐 안전한 실행환경 제공과 동시에 무결성 검증을 제공하고 있습니다.


무결성이 훼손되는 경우 Service Warrant Fuse를 통해 단말 및 서비스의 차단이 이루어지도록 보안이 적용 및 관리되고 있는 상황입니다. 이러한 보안 기술 중 ARM Core에서 제공하는 TrustZone 기술은 별도의 하드웨어 구성이 필요 없고 대부분의 안드로이드 ARM 기반의 AP에서 동작하므로 나름 강점을 갖고 있는 기술로 주목을 받고 있습니다.

  

l 신뢰 할 수 있는 보안모듈 기술


위 그림과 같이 TPM 유형의 보안 기술 적용을 통해 단말 내 보관되는 중요 크리덴셜(Credential)(Device ID, PKI 인증서, 생체인증 정보, 서비스 앱 활용 시 필요한 암호화 대칭키 등)을 보호하는 방향으로 진화하고 있습니다. 


LG에서 준비되는 LG Pay 역시 하드웨어 기반의 스마트카드 보안 기술이 함께 접목 되는 것으로 예고 되고 있습니다.


미래의 스마트폰 서비스 앱은 아래와 같은 진화가 예상 됩니다.

 

[현재 진행형(Ing)+가까운 미래] 

 

  1. 디바이스를 보안 토큰으로 사용, 사전 등록된 폰과 짧은 패스코드 입력 또는 생채 인증 정보 등 사용자 편의 중심의 서비스와 보안 제공 (폰 인증, 생체인식, 중요 인증 암호화 Key 보호 등)

  2. 안전한 Device 및 OS 실행 환경 제공과 함께 앱 자체에 대한 보호를 기술적으로 제공

  3. 상황 인지적•사용자의 이용패턴을 인지하는 서비스와 관련한 보안(집, 회사, 제3의 장소, 보안이 필요한 서비스 자동 인지 등)이 가능하도록 제공


앞서 살펴 본 바와 같이 보안 기술은 새로운 취약점의 출현과 함께 빠르게 발전하고 있고, 편리한 앱 서비스 제공을 추구하면서 동시에 서비스 이면에서는 안전하고 신뢰할 수 있는 처리를 위해 다양한 보안 기술이 개발•적용되고 있는 상황입니다.


IT 기반의 새로움을 창조하는 LG CNS에서는 IT•Mobile•IoT 기술 패러다임의 변화, 그리고 이에 따른 최신 보안 기술의 진화에 맞춰 다양한 진단 컨설팅 서비스와 솔루션을 제공하고 있으며, 이를 통해 사용자 여러분들과 서비스를 제공하는 고객에게 안전한 서비스 환경을 구축하는데 일익을 담당하고자 노력하고 있습니다. 


글 ㅣ LG CNS 보안컨설팅팀



* 해당 콘텐츠는 저작권법에 의하여 보호받는 저작물로 LG CNS 블로그에 저작권이 있습니다.

* 해당 콘텐츠는 사전 동의 없이 2차 가공 및 영리적인 이용을 금하고 있습니다.



  1. 미래창조과학부 및 인터넷 진흥원 주관 최근 1개월 이내 모바일 기기를 활용한 인터넷이용자조사 유효표본 2,000명, 2015.10.16~10.23, 모바일 보안 인식, 보안 대응, 활용영역, 보안정책 조사 [본문으로]
  2. OWASP: Open Web Application Security Project로 매년 보안 취약성에 대한 리포트를 제시함 [본문으로]
  3. 디컴파일, 또는 역컴파일(Decompile): 컴파일러와 반대의 역할을 수행하는 프로그램. 상대적으로 저수준의 추상에 있는 프로그램의 코드를 고수준의 추상으로 변형. 역컴파일러는 보통 원본 소스코드로 완벽하게 재구성될 수 없으며, 결과가 매우 다양할 수 있음. 소프트웨어 리버스 엔지니어링에서 매우 중요한 도구로 실행 파일을 입력으로 갖고, 같은 기능을 하는 소스 코드 파일 즉, 고급 언어로 만들어준다. [본문으로]
  4. 재컴파일(Recompile): 소스 프로그램을 다시 컴파일하는 것. 컴파일시에 발견된 에러를 수정한 후나 새롭게 다른 운영 체제에 실행 프로그램을 포함시키는 경우 등에 재컴파일된다. [본문으로]
저작자 표시 비영리 변경 금지
신고
Posted by IT로 만드는 새로운 미래를 열어갑니다 LG CNS
위로