모바일 어플리케이션 위협과 모바일 어플리케이션 보안 요구사항

미국의 NIST가 2018년 7월 발간한 ‘Vetting the Security of Mobile Application’ 개정판 리포트 내에 포함되어 있는 모바일 어플리케이션 보안 요구사항과 리포트 개정의 배경이 되는 모바일 어플리케이션에 대한 보안 위협 동향에 대하여 소개합니다. (해당 리포트는 2015년 처음 발간되었으며, 최근 개정판에 대한 의견을 수렴 중에 있습니다.)

 

주요 모바일 어플리케이션 보안 위협

모바일 디바이스가 사용자와 기업 모두의 정보를 취급하는 핵심 채널로 자리 잡으면서 모바일 디바이스에 담긴 정보 및 모바일 디바이스를 통한 사용자, 기업의 정보를 노리는 위협 역시 빠르게 진화하고 있습니다. 이 중 모바일 어플리케이션은 높은 접근성과 디바이스의 주요 기능 제어 그리고 개발사의 어플리케이션 출시 속도(시장 내 경쟁이 치열해지면서 충분한 어플리케이션에 대한 테스트 미실시) 등의 요인에 의해 심각한 위협으로 대두되고 있습니다. 모바일 어플리케이션 위협의 대표적인 두 가지 유형은 악의적인 목적으로 개발된 악성 어플리케이션과 취약한 어플리케이션을 통한 정보유출 위협이 있으며, 공격자들은 악성 모바일 어플리케이션을 배포하기 위하여 다양한 방법을 시도하고 있는 상황입니다.

글로벌 보안 벤더 소포스의 2018년 악성코드 예측에 따르면 지난 4년간 안드로이드 악성 어플리케이션은 2013년 약 50만 개에서 2017년 350만 개로 꾸준히 증가하고 있는 추세로 나타났습니다. 2017년 가장 인기 있는 안드로이드 악성코드는 Rootnik로 구글 플레이에 등록되어 있는 다수의 모바일 어플리케이션이 해당 악성코드와 관련 있는 것으로 조사되기도 했습니다. 이처럼 악성 모바일 어플리케이션은 악의적인 목적으로 개발된 어플리케이션뿐만 아니라 정상적인 어플리케이션의 취약점을 노리고 악성코드가 삽입되는 유형의 공격까지 다양한 형태로 시도되고 있기 때문에 공식적인 마켓에서 다운로드 받은 어플리케이션도 100% 안전하다고 말할 수 없는 상황입니다.

2017년 발표된 WhiteHat Security Application Security Statisics Report는 모바일 어플리케이션의 취약성에 대한 지표를 통해 심각성을 경고하고 있습니다. 해당 리포트에는 Andorid와 iOS 어플리케이션의 취약성에 대하여 다음과 같은 통계를 제공합니다.

Android/iOS

보안 문제를 가지고 있는 모바일 어플리케이션의 90%가 ‘allowBackup’ 플래그를 ‘true’로 설정하고 있었습니다. 이러한 설정은 공격자가 디바이스의 앱 폴더를 백업하고 콘텐츠에서 개인정보를 추출할 수 있다는 것을 의미합니다. 80%의 어플리케이션은 소스코드에 대한 기본적인 난독화도 적용되어 있지 않은 것으로 나타났습니다. 대체적으로 구글 플레이의 뉴스, 게임, 라이프 스타일 카테고리에서 위의 보안 문제를 포함하고 있는 어플리케이션이 많이 발견되었습니다.

iOS의 경우 약 30%의 모바일 어플리케이션에서 ‘Secure 플래그가 없는 쿠키’가 주요 보안 위협으로 나타났으며, 암호화 하지 않고 민감한 데이터를 전송하는 어플리케이션도 약 19%를 차지하고 있는 것으로 조사되었으며, 앱 스토어의 음악, 뉴스, 금융 카테고리에서 보안 문제를 포함하고 있는 어플리케이션이 많이 발견되었습니다.

 

모바일 위협 유형 및 지표
모바일 위협 유형 및 지표

 

모바일 어플리케이션의 위협이 심화됨에 따라 ‘Mobility’가 강조되는 현대 비즈니스 환경에서 모바일 어플리케이션 보안 역시 중요한 화두로 부상하기 시작했습니다. 모바일 어플리케이션 플랫폼 기업부터 개발사까지 많은 기업들이 보안을 강화하기 위하여 노력하고 있지만 더욱 지능화되고 있는 보안 위협에 대응할 수 있는 강력한 움직임이 필요해진 것이죠. 미국의 NIST가 발표한 ‘Vetting the Security of Mobile Application’에는 어플리케이션 보안 요구사항부터 어플리케이션 검사 프로세스, 어플리케이션 테스트 및 취약점 분류, 어플리케이션 검사 고려사항, 어플리케이션 검사 시스템, 모바일 어플리케이션 위협 등 모바일 어플리케이션 위협(어플리케이션 취약성)을 최소화 할 수 있는 가이드가 포함되어 있습니다. 본 콘텐츠에서는 모바일 어플리케이션 보안 요구사항에 대하여 알아보고자 합니다.

 

보안 요구사항

NIST는 모바일 어플리케이션 보안 검사를 시작하기 전에 조직에서 승인을 받기 위하여 반드시 모바일 어플리케이션이 충족해야 하는 보안 요구사항을 정의하여야 한다고 권고하면서 충족시켜야 하는 어플리케이션 보안 요구사항을 두 가지 유형(일반, 조직 별)으로 정의하고 있습니다.

1. 일반적인 요구사항

일반적인 어플리케이션 보안 요구사항은 어플리케이션의 보안을 보장하기 위해 존재해야 하거나 존재하지 않아야 하는 소프트웨어와 행동 특성이 정의되어 있습니다. 이러한 요구사항은 모든 모바일 어플리케이션에 적용 가능하기 때문에 ‘일반’으로 분류됩니다. 일반적인 어플리케이션 보안 요구사항은 NIAP, OWASP, MITER 및 NIST에 지정된 다양한 표준, 모범 사례 등을 참고할 수 있습니다. 각각의 요구사항의 특성은 다음과 같습니다.

NIST가 발간한 리포트에서는 NIAP(National Information Assurance Partnership)가 요구하는 기능들에 대하여 다음과 같은 표로 정의하고 있습니다. 이 중 몇 가지를 살펴보면 Access to Platform Resources(어플리케이션이 접근하는 모든 하드웨어 자원을 정의하고 이를 보장할 것 등), Encryption of Sensitive Application Data(민감한 데이터를 암호화, 민감정보는 저장하지 않을 것 등), Use of Supported Service and APIs(문서화된 플랫폼API만 사용할 것), Protection of Data in Transit(어떤 데이터도 전송하지 않을 것, 민감한 데이터를 전송하지 않을 것, 모든 송신되는 민감한 데이터를 암호화할 것 등), User Consent for Transmission of Personally Identifiable Information(네트워크를 통해 개인 식별 정볼르 전송하지 않을 것, 해당 기능을 실행하기 전에 사용자 승인을 요구할 것 등) 등이 있습니다.

Functional Requirements_NIAP
Functional Requirements_NIAP

OWASP(Open Web Application Security Project)는 Mobile AppSec Verification을 통해 모바일 어플리케이션 테스트 및 보안과 관련된 다양한 리소스를 제공하고 있습니다. 해당 보고서에는 아키텍처, 디자인, 위협 모델링 요구사항부터 데이터 자장 및 프라이버시, 암호화, 인증 및 세션 관리, 네트워크 커뮤니케이션, 플랫폼 상호작용, 코드 품질 및 빌드 세팅 등의 항목으로 보안 요구사항을 분류하고 있으며, 항목별로 보안 검증을 위한 요구사항을 별도로 정의하고 있습니다.

2. 조직 별 요구사항

조직 별 요구사항은 조직의 보안 상태를 보장하기 위해 조직에서 준수해야 하는 정책, 규정 및 지침을 정의합니다. 예를 들어 조직의 모바일 디바이스 설치되는 특정 어플리케이션(소셜)과 특정 공급 업체에서 개발한 어플리케이션을 설치할 수 없도록 하는 것이 대표적입니다. 조직 별 보안 요구사항은 어플리케이션의 보안 상태에 영향을 줄 수 있는 비 취약점 관련 요인을 파악하는 것이 중요합니다. 그리고 이러한 요인에 대하여 NIST는 다음과 같은 기준을 가이드로 제공하고 있습니다.

– 정책 : 보안, 개인정보보호, 수용 가능한 사용자 정책, 소셜 미디어 가이드라인 등 조직에 적용되는 각종 규정

– 출처 : 개발자, 개발자 조직, 개발자의 평판, 소비자 리뷰 등

– 데이터 민감도 : 어플리케이션이 수쥡, 저장 또는 전송하는 데이터의 민감도

– 어플리케이션 중요도 : 어플리케이션이 조직의 비즈니스에 미치는 영향도

– 대상 유저 : 조직이 의도하는 어플리케이션 사용자 그룹

– 대상 디바이스 : 의도하는 하드웨어 플랫폼, 운영체제 및 어플리케이션을 배포하기 위한 구성

– 목표 환경 : 의도된 어플리케이션 운영환경 (대중 이용  vs 민감한 군사 환경)

– 디지털 서명 : 바이너리, 라이브러리, 패키지에 적용될 디지털 서명

– 앱 매뉴얼 : 사용자 가이드, 테스트 계획, 테스트 결과, SLA 등

 

NIST는 모바일 어플리케이션 보안을 높이기 위해서는 개발 이전부터 보안 요구사항을 정의하는 것이 중요하다는 것을 리포트를 통해 이야기하고 있습니다. 특히 어플리케이션이 가지는 취약성 이외에도 보안에 영향을 줄 수 있는 조직 별 요구사항 역시 비즈니스 리스크를 최소화하는데 중요한 고려사항이라는 것은 큰 의미를 담고 있다고 말할 수 있습니다. 쏟아지는 모바일 어플리케이션 시대에서 경쟁에 이기기 위해 더 빨리 출시하는 것이 목표가 되어버린 지금, 모바일 어플리케이션 보안 위협은 우리가 만들고 있는 것은 아닌지 생각해볼 필요가 있습니다.

레퍼런스

– 2018 Malware Forecast: the onward march of Android malware, naked security by SOPHOS

The rise of the fraudulent mobile app: How to protect your brand and business, FraudWatch International

Security Report Details Top iOS, Android Vulnerabilities, WhiteHat Security

Requirements for Vetting Mobile Apps from theProtection Profile for Application Software, NIAP

Mobile AppSec Verification, OWASP

– NIST Upcoming Mobile Application Security Recommendations, HORNECYBER


※ 해당 사이트의 모든 콘텐츠는 저작자표시-비영리-변경금지 라이선스 정책이 적용됩니다. by-nc-nd

목록