In 앱실링 블로그
스타트업이 알아야 하는 모바일 앱 보안 위협과 대응 방법

해커들은 스타트업이 운영하는 앱 서비스를 눈여겨봅니다. 상대적으로 보안 조치가 약하면서, 서비스 제공을 위해 회원들의 개인 정보 등 돈이 되는 데이터를 많이 보유하고 있기 때문입니다. 또한 해킹 자체를 과시하는 이들도 서비스가 막 론칭된 앱을 타깃으로 불법을 저지르기도 합니다. 이는 통계 수치로도 나타납니다. 한국인터넷진흥원(KISA) 자료에 따르면 2023년 사이버 공격으로 피해를 본 기업 가운데 92%가 중소기업이었다고 합니다. 

물론 다수의 스타트업 관계자분들도 보안의 중요성을 알고 있지만, 사업의 성장이 무엇보다 중요하기에 보안은 후순위로 밀리는 경우가 다수입니다. 하지만 해킹 등 보안 문제가 발생한다면, 그 어느 것보다 성장에 브레이크를 거는 요소는 없습니다. 일례로 A 인디 게임 개발사는 해킹으로 인해 서비스 운영을 포기했습니다. 서비스를 재개하기 위해서는 상당한 비용이 들기에 힘들게 결정한 사안이라고 밝혔습니다. 

그렇다면 스타트업 입장에서 꼭 알아야 하는 모바일 앱 보안과 관련된 이슈가 무엇이고 어떻게 대응할 수 있을까요? 이번 포스팅에서는 스타트업이 모바일 앱 서비스를 운영할 때 꼭 알아야 하는 앱 보안의 모든 것에 대해서 이야기해 보겠습니다.

스타트업을 위한 모바일 앱 보안 정보 리스트업

하나, 모바일 앱 보안의 전반적인 구조 알기

모바일 앱 보안은 서버와 클라이언트 두 측면으로 나뉩니다. 서버 보안은 클라이언트(디바이스)에서 발생한 요청을 처리하고, 데이터 관리와 백엔드 운영을 담당하는 서버의 보안을 말합니다. 서버에는 일반적으로 중요한 데이터가 저장되어 있고, 서버의 데이터에 클라이언트가 접근하기 위해서는 다양한 API 호출을 사용하게 됩니다. 그렇기에 해커가 주요 타깃으로 삼는 포인트이며, 대부분의 기업에서 서버 보안을 신경 쓰는 편입니다.

클라이언트 보안은 모바일 앱이 설치된 유저의 디바이스에서 발생하는 보안 위협을 방지하는 것을 의미합니다. 해커들은 대부분 클라이언트 단에서의 취약점을 악용해 서버에 공격을 시도합니다. 그렇기에 클라이언트 보안이 취약하면 서버 보안에도 영향을 끼칠 수밖에 없습니다. 디바이스에 데이터를 저장할 때와 디바이스에서 서버로 데이터를 전송할 때의 보호, 앱 코드 보안 등 클라이언트에서 발생할 수 있는 다양한 공격을 알고 대응해야 합니다. 하지만 많은 스타트업은 클라이언트 보안을 간과하는 경우가 많습니다. 클라이언트 보안이 약하면 서버 보안이 강력해도 시스템 보안 취약해질 수 있습니다. 예를 들어 해커가 클라이언트 단에서 악성코드를 삽입하거나 데이터를 탈취하면 서버에 접근할 기회를 만들게 됩니다. 그렇기에 클라이언트 보안은 앱 시스템 보안의 최전선 방어입니다.

 

둘, 모바일 앱에서 발생하는 주요 보안 위협과 취약점

모바일 앱 보안 위협은 클라이언트, 서버 모두에서 발생하지만, 대부분 클라이언트에서 시작해 서버까지 위협이 확장됩니다. 그렇기에 클라이언트 보안 위협 요소를 자세히 알아볼 필요가 있습니다.

클라이언트에서 발생하는 대표적인 공격 방식은 ‘리버스 엔지니어링’입니다. 해커가 모바일 앱을 디컴파일(decompile)해 내부 코드를 분석하고 이 과정에서 보안 메커니즘, API 키, 인증 방식 등의 정보를 추출하려고 시도합니다. 이러한 시도가 서버 측까지 연결된다면 부정 요청이 발생하고, 서버 공격을 유도해 디도스(DDoS)나 데이터를 조작해 서버의 리소스를 과도하게 사용하게 됩니다. 

앱 위변조, 악성코드를 삽입하는 ‘무결성 위협’ 또한 클라이언트에서 발생하는 주요 보안 위협입니다. 해커가 클라이언트에서 앱을 위변조해 악성코드를 삽입하고, 변조된 앱임을 유저가 인식하지 못한 상태에서 이용하게 해 악성 활동을 수행합니다. 조작된 데이터가 서버에 전송될 경우 서버에서 데이터가 처리되는 동안 보안 문제가 발생하게 됩니다.

모바일 기기에서 구동되는 운영체제의 최상위 권한을 획득하는 ‘루팅(안드로이드)’, ‘탈옥(iOS)’ 또한 클라이언트 보안을 손상합니다. 루팅된 안드로이드 기기에서는 보안 메커니즘을 우회할 수 있고, 해커는 앱 내 데이터를 탈취하거나 내부 로직을 변경해 앱이 정상적으로 작동하지 못하게 만듭니다. 탈옥된 iOS 기기는 시스템 파일에 대한 접근 권한이 일반으로 해제되어 해커가 앱의 민감한 파일을 수정하거나 서버 통신까지 조작할 수 있게 됩니다. 

모바일 앱은 클라이언트에서 서버로 데이터를 전송하거나 요청할 때 API를 사용합니다. 해커들은 다양한 방법으로 서버 접근 권한을 불법적으로 획득하기 위해 이 API 키를 탈취하거나 토큰을 무작위로 대입하는 공격을 시도합니다. 그렇기에 ‘API’ 관련 보안 위협이 자주 발생하게 됩니다.

앞에서도 언급했듯이 서버는 유저의 데이터를 저장하고 처리하는 핵심 인프라입니다. 서버에서 발생하는 대표적인 보안 위협은 ‘SQL 인젝션’입니다. 해커는 데이터베이스 쿼리 문에 악의적인 코드를 삽입해 서버에 저장된 데이터를 불법으로 조회하거나 수정합니다.

 

셋, 모바일 앱 취약점에 대응하는 보안 도구 알기

이제는 어떤 보안 도구로 소중한 우리 앱을 보호할 수 있을지 알아볼 차례입니다. 스타트업의 경우 저비용으로도 효과적으로 보안을 강화할 수 있는 것이 중요합니다. 몇 가지 오픈소스와 상용 도구를 소개합니다. 

1. MobSF(Mobile Security Framework)

오픈소스 모바일 보안 프레임워크로 모바일 앱의 클라이언트 취약점을 분석하는 도구입니다. 안드로이드, iOS 앱의 정적 및 동적 분석을 지원해 보안 취약점을 빠르게 파악할 수 있습니다. 무료로 제공되고, 앱 초기 개발 단계부터 배포 전까지 보안을 점검할 수 있습니다. 

2. ProGuard

코드 난독화 도구로, 안드로이드 앱 개발 시 자주 사용됩니다. 이 도구는 앱의 소스 코드를 난독화하여, 해커가 앱을 리버스 엔지니어링해 내부 로직을 분석하거나 취약점을 찾아내는 것을 방지합니다.오픈소스 도구로 무료로 사용할 수 있습니다.

3. OWASP ZAP(Zed Attack Proxy)

서버 보안 및 웹 애플리케이션 보안을 위한 웹 취약점 스캐너입니다. 서버에 배포된 웹 애플리케이션을 테스트하고, SQL 인젝션, XSS(Cross-Site Scripting) 같은 보안 취약점을 탐지하는 데 효과적입니다. 모바일 앱 서버는 대부분 웹 API를 통해 클라이언트와 통신하기에 이를 통해 API 보안을 테스트할 수 있습니다. 오픈소스 도구이므로 무료로 이용 가능합니다.

4. Nmap

네트워크 보안 스캐너로, 서버가 운영 중인 네트워크 상의 열려있는 포트나 취약한 서비스를 탐지할 수 있는 도구입니다. 모바일 앱 서버가 외부와 통신하기 위해 열어둔 포트와 실행 중인 서비스는 잠재적으로 해커의 공격 대상이 될 수 있는데, Nmap을 이용하면 서버에 열려 있는 포트와 실행 중인 서비스를 탐지할 수 있습니다. 오픈소스 도구이며, 무료입니다.

5. 상용 보안 도구

오픈소스 도구의 경우 무료로 사용이 가능하지만, 이를 적절하게 활용하기 위해서는 내부에 보안 전문 지식이 있는 리소스가 필요합니다. 만약 보안 전문 인력이 부족하다면, 합리적인 비용으로 전반적인 보안 기능을 한 번에 제공하는 모바일 앱 보안 서비스를 이용하는 것도 방법입니다. 특히 클라우드 기반의 SaaS형 보안 서비스는 사용한 만큼만 비용을 지불하는 구독형 가격 정책을 제공합니다. 합리적인 비용으로 보안 전문 인력 없이도 쉽고 빠르게 앱 보안을 강화할 수 있습니다.

넷, 앱 서비스 출시 전에는 반드시 보안 적용 및 테스트 진행

모바일 앱 서비스를 기획하는 단계부터 보안 적용을 염두하는 것이 가장 좋지만 현실적으로 힘든 경우, 출시 직전에는 반드시 보안을 적용하고, 철저하게 보안 테스트를 진행해야 합니다. 출시 전 마지막 단계에서 마저도 보안을 간과하면 유저의 민감한 데이터가 유출되거나 악성 공격에 노출될 위험이 커집니다. 특히 클라이언트와 서버 간의 데이터 전송 암호화, API 보안 및 취약점 스캐닝은 필수적입니다. 오픈소스 툴이나 상용 보안 도구를 이용해 보안을 적용하고, 취약점이 존재하는지 점검 사항을 리스트 업해 테스트를 진행합니다.

다섯, 앱 서비스 출시 후에도 보안 패치 및 업데이트, 실시간 모니터링 필요

출시 후에도 모바일 앱 보안은 지속적으로 관리되어야 합니다. 클라이언트 단에서 발생하는 다양한 보안 위협은 시간에 따라 변화하며, 새로운 취약점이나 공격 기법이 지속적으로 등장합니다. 이를 방지하기 위해서는 정기적인 보안 점검과 실시간 모니터링이 필수적입니다. 

1. 보안 패치와 업데이트

새로운 보안 취약점은 항상 발견됩니다. 특히 운영체제 업데이트나 3rd party 라이브러리의 취약점은 해커들의 공격 표적이 되기 쉽습니다. 또한 해커들의 공격 기법은 계속 진화하고 있습니다. 이러한 위협에 대응하기 위해서는 지속적인 업데이트가 필요합니다. 

정기적인 보안 감사를 통해 앱 소스 코드와 외부 라이브러리를 주기적으로 점검하고, 보안 패치가 필요한 부분은 신속히 대응합니다. 더불어 유저들에게 업데이트를 제공해 앱이 최신 상태로 유지될 수 있도록 해야 합니다.

2. 실시간 모니터링

해커들은 배포된 앱을 분석해 취약점을 찾아 악의적인 활동을 할 수 있으므로 앱 보안 상태를 실시간 모니터링할 수 있는 시스템이 필요합니다. 더욱 주의 깊게 모니터링해야 하는 항목은 아래와 같습니다.

  • 루팅 및 탈옥 탐지: 앱이 실행되는 환경이 정상적인지 실시간으로 확인해, 루팅 혹은 탈옥 환경에서는 앱 실행 자체를 차단하거나 경고를 표시합니다.
  • 앱 위변조 및 악성코드 감지: 앱의 무결성이 손상 여부를 확인하고 악성코드가 탐지되면 즉시 앱 실행을 중단시켜야 합니다.
  • 실시간 네트워크 모니터링: 앱과 서버 간의 통신을 모니터링해 대량 트래픽 발생 등 비정상 적인 네트워크을 탐지하고 차단합니다.
모바일 앱 보안 실시간 모니터링
모바일 앱 보안 서비스 '앱실링' 실시간 모니터링 대시보드

많은 상용 보안 도구는 보안 기능 제공뿐 아니라 실시간 보안 모니터링을 제공합니다. 따라서 별도로 실시간 모니터링 솔루션을 도입하거나 구축하기보다는 모바일 앱 보안 서비스를 적용해 보안과 모니터링을 동시에 이용하는 것이 합리적인 선택이 될 수 있습니다.

스타트업을 위한 모바일 앱 보안 전략

‘우리는 괜찮지 않을까?’라는 안일한 생각은 해커들의 공격 타깃이 되기 쉽습니다. 해킹은 비즈니스적으로 치명적인 손해를 끼치는 만큼 낮은 확률도 제거할 수 있어야 합니다. 이를 위해서는 모바일 앱 보안 기본 구조나 주요 보안 위협 사항, 보안 취약점 등을 알고 있어야 합니다.  

앱 출시를 앞둔 스타트업이라면, 보안 적용은 고려 사항이 아닌 필수임을 인지해야 합니다. 특히 해커들의 공격이 최초로 발생하는 클라이언트 단에 대한 보안은 반드시 대응할 수 있어야 합니다. 그래야 서버뿐만 전체 시스템의 손상도 방지할 수 있습니다. 

모바일 앱 보안을 위해서 오픈소스 무료 도구도 다수 존재하지만, 이를 적절하게 활용하기 위해서는 내부에 보안 지식을 보유한 리소스가 필요합니다. 따라서 합리적인 비용으로 보안 기능은 물론 실시간 모니터링까지 제공하는 상용 보안 도구를 활용하는 것이 효율적으로 보안을 시작할 수 있는 방법입니다. 

앱실링은 전 세계 800개 이상의 모바일 앱을 보호하고 있는 보안 서비스로, 사용한 만큼만 비용을 지불하는 구독형 서비스입니다. 클라이언트 단을 보호하는 강력한 보안 기능은 물론 실시간 모니터링 대시보드를 제공합니다. 이를 통해 보안 위협 사항을 빠르게 확인해 대응할 수 있습니다. 또한 가입만 하면 30일 무료 체험 혜택을 받을 수 있습니다. 모바일 앱 보안의 중요성을 알게 되었다면, 앱실링 트라이얼을 통해 강력한 보안 기능을 직접 확인해 보시길 권장 드립니다.

모바일 앱 보안 앱실링 무료 체험 신청
모바일 앱 보안 취약점 점검 가이드 앱실링 블로그앱 개발자가 꼭 알아야 할 취약점 진단 5단계