시큐리티플러스, 59개 모바일 앱서 286개 보안 취약점 발견

[아이티데일리] 안드로이드 모바일 앱 당 평균 4.8개의 보안 취약점이 존재하는 것으로 드러났다.

정보보안 전문 커뮤니티 시큐리티플러스(SecurityPlus, 대표 박형근)는 국내외 안드로이드 모바일 앱 59개에 대해 보안 취약점 분석을 수행한 결과 이들 앱에서 286개의 보안 취약점을 발견했다고 밝혔다.

시큐리티플러스는 지속적으로 증가하는 모바일 위협에 대해 현재 모바일 앱의 보안 현황을 진단하기 위해 2014년 11월 11일부터 13일까지 국내에서 안드로이드 유틸리티 앱 27개, 금융 앱 13개, 소셜 네트워킹 관련 5개, 소셜 커머스 관련 5개, 앱스토어 앱 4개, 메신저 앱 4개, 안티 바이러스 1개 등 총 59개 엡에 대해 보안 취약점 분석을 수행했다.

 

 

그 결과, 발견된 보안 취약점 총 개수는 286개로 평균 모바일 앱당 4.8개의 보안 취약점이 발견됐다. 그 중 가장 많이 발견된 보안 취약점은 일반적인 웹 보안 취약점 통계와 유사하게 OWASP Mobile Top10 Risk 기준으로 ‘M8. 신뢰할 수 없는 입력에 의한 보안 결정 취약점인 사용자 입력값 검증 부재(26.9%)’였다.

이 취약점으로 인해 모바일 앱의 비정상적인 상태(DoS) 유발뿐만 아니라, 악의적인 코드 실행을 할 수 있는 메모리 오류(Memory Corruption) 등이 발생할 수 있고, 보안 취약점 테스트 중 일부 앱에서는 메모리 오류가 발생했다.

고위험군 보안 취약점들 중에서 가장 많이 발견된 보안 취약점은 중간자(MiTM) 공격에 의한 크로스사이트 스크립팅(XSS) 취약점이었다. 이 취약점은 중요 데이터 전송에 있어 암호화된 통신 채널을 사용하지 않거나, 내장 웹 브라우저 내에 자바스크립트가 활성화되어 있는 경우에 나타나게 된다.

이 취약점으로 인해 피해자의 중요 정보가 유출되거나 입력 혹은 트랜잭션 중인 데이터가 조작될 수 있다. 특히 금융 혹은 소셜 커머스 앱에서 중요 금융 데이터를 암호화한다고 해도 반드시 유의해야 할 취약점이다.

또한, 그 외에도 간과하기 쉬운 취약점들은 두 번째로 가장 많이 나온 취약점인 ‘android:allowBackup’ 속성의 활성(True)이다. 본래 이 속성값은 ADB(Android Debug Bridge)를 통해서 앱 백업과 복구를 가능케 하는 설정이나, 백업된 앱을 악용하여 앱 내의 민감한 정보를 유출할 수 있으므로 모바일 앱 내에 민감한 정보를 저장해야 하는 경우, 암호화 스토리지에 보관하는 방안 이외에도 ADB에 의한 백업을 허용하지 않아야 한다. 즉, ‘android:allowBackup’ 속성의 비활성(False) 적용을 해야 한다.

두 번째로 간과하기 쉬운 취약점은 보안 목적으로 랜덤 함수 호출 시, 취약한 java.util.Random 혹은 java.lang.Math.random 함수를 사용함으로써 공격자가 쉽게 이 앱에서 생성한 랜덤 숫자를 예측 가능한 취약점이 존재한다. 따라서 보안 목적으로 랜덤 함수를 사용할 때에는 반드시 java.security.SecureRandom 함수 혹은 보다 보안 강화된 랜덤 함수를 사용해야 한다.

박형근 시큐리티플러스 대표는 “2015년도에도 모바일 보안 위협은 지금보다도 더욱 높아질 것으로 예상된다”며, “모바일 앱 개발에 있어서도 모바일 개발자에 대한 안전한 코딩 가이드 교육, 모바일 보안 라이브러리 활용, 지속적인 취약점 관리 등 모바일 분야에도 개발보안 라이프 사이클 도입을 통해 보다 안전한 모바일 환경 만들어 나가야 한다”고 강조했다.

저작권자 © 아이티데일리 무단전재 및 재배포 금지