Last Updated on 2월 12th, 2020, By
 In AppSealing News, 앱실링 블로그

 

OWASP(Open Web Application Security Project)는 비정기적으로 모바일 또는 웹 기반의 애플리케이션에 관한 보안 위협 상위 10개의 목록을 발표합니다. OWASP는 웹 기반의 애플리케이션과 연관된 보안 위협을 알리기 위해서 2001년 온라인 커뮤니티로 시작하였습니다. 시작과 동시에 널리 알려지게 되었고, 발표되는 리소스 자료와 위협 목록은 개발자가 반드시 참조해야 할 업계 표준으로 인식되었습니다. 상업적인 이익에 종속되는 단체가 아닌 커뮤니티 중심의 전문가 집단에서 발표하는 관련 도메인의 보안 위협 목록은 포괄적이었고, 내용에 대해서도 신뢰할 수 있었습니다.

가장 최근의 OWASP 모바일 상위 10가지 위험 목록은 2016년에 발표되었습니다. (참고로 2017년에 작성된 웹앱용 위험 후보 목록에 포함된 내용들 중에 상당수는 웹과 모바일간의 컨버전스 증가로 모바일 분야에서도 고려해 봐야 할 것들이 있습니다.) 이 목록은 주요 위험 및 환경에 대해서 모바일 애플리케이션을 보호하기 위해서 우선적으로 고려해야 할 중요한 영역들을 설명하고 있습니다. 따라서 모바일 앱 개발자라면 자신들의 모바일 앱을 보호하는 첫번째 단계로 OWASP 모바일 상위 10가지 위험 목록을 반드시 고려해야 합니다.

베타 뉴스의 보고서에 따르면 다운로드 수 기준 상위 30위내에 랭크된 모바일 앱의 94%가 3개 이상의 보안 허점을 포함하고 있습니다. Android 바이러스 백신 소프트웨어도 모바일 앱을 완벽하게 보호하지 못합니다.  독립적인 테스트 기관인 AV-Comparatives의 최근 리포트에 따르면, Android 백신 소프트웨어의 3분의 2가 전체 위협의 30% 미만을 차단한다고 합니다.

모바일 애플리케이션의 아키텍처가 변화하는 것과 함께 모바일 위협에 관한 인지 방식도 급속하게 변화하고 있음을 알아 두는 것이 중요합니다. 최근 Bootstrap, Electron, Angular, React 등의 최신 웹 프레임워크 인기로 인해 앱 소스가 더 이상 보안 서버에 한정되지 않고, 상대적으로 신뢰할 수 없는 브라우저로 이동하고 있는 현상은 그 일례로, 이는 OWASP의 2017 RC 목록으로 확인해 볼 수 있습니다. OWASP는 개발 조직을 위한 커뮤니티 기반의 위험 평가 방법론을 개발하여 앱이 생산주기를 시작하기 전에 위협으로부터 보호 받을 수 있도록 방법론을 제공합니다.

모바일 상위 10가지 위험

OWASP가 정의한 모바일 앱에 대한 위협과 그에 따른 대응 방법을 자세히 살펴 보겠습니다.

M1 : 부적절한 플랫폼 사용

AppSealing은 부적절한 플랫폼에서의 앱 실행을 방지하고 루팅된 디바이스에서 앱을 보호하는 기능을 제공합니다. 안드로이드 에뮬레이터와 같은 안전하지 않은 환경에서 앱 실행을 방지할 수 있습니다. 더불어 실행되는 앱 구성요소에 대한 강력한 암호화와 해시 검증을 통하여 유효성을 확인합니다.

루팅된 디바이스에서 애플리케이션을 보호하는 방법에 관한 블로그를 읽어보세요.

M2 : 안전하지 않은 데이터 저장소

OWASP는 AES-256, SHA-256과 같은 안전한 암호화 또는 해시 알고리즘을 사용하여 앱에서 사용하는 모든 데이타를 안전하게 보호하고, 손상이 발생할 경우에 대한 오용 가능성을 제거할 것을 권장합니다.

M3 : 안전하지 않은 커뮤니케이션

해커는 네트워크를 스누핑하고 디바이스와 서버간에 통신되는 데이터를 캡처하여 API를 통해 이루어진 커뮤니케이션 프로토콜을 이해합니다. 개발자는 데이타를 보호하기 위해서 MITM(Man In The Middle) 공격을 방지하고, SSL 기반의 통신을 하도록 조치해야 합니다. 훌륭한 보안 서비스는 적절한 세션 처리를 보장하고 애플리케이션과 서버간의 통신에 사용되는 데이타를 탈취하는 “패킷 스니퍼”가 있는지 감시하는 기능을 제공 합니다.

M4 : 안전하지 않은 인증, M5 : 안전하지 않은 인가 (권한 부여)

인증과 인가에 대한 검증이 제대로 이루어지지 않으면 해커가 서버에 직접 접속하여 서버에 저장된 데이터를 “감염”시킬 수 있습니다. 적절한 사용자 프로파일링 및 관리, 사용자 액세스 권한 제한 및 서버측 인증은 이러한 위협을 처리하는데 도움이 됩니다.

M6 : 암호화가 충분하지 않음

모바일 자산은 해커가 중요한 데이터와 수익에 민감한 지적 재산을 훔쳐 가지 않도록 end-to-end 암호화 되어야 합니다. 전체 소스 코드 암호화 및 바이너리 보호는 디버깅 공격과 디컴파일 공격을 방어하는 강력한 방법 입니다. 암호화에 사용되는 키는 안전한 방식으로 관리되어야 합니다.

M7 : 클라이언트 코드 품질, M8 : 코드 변조

앱을 구성하는 모든 요소에 대한 해시 검증을 통해서 코드를 변조하거나 앱을 변조하는 행위에 대해서 감시를 해야 합니다. 더불어 런타임시에 메모리 정보를 덤프하여 이를 기반으로 코드를 변조하는 공격 행위에 대해서도 올바르게 처리되어야 합니다. 개발자는 앱이 오프라인 모드에 있더라도 안전한지 확인해야 합니다. 코드를 변경하려는 시도를 방지하기 위해 주기적으로 무결성을 확인하는 보안 단계가 준비 되어야 합니다.

애플리케이션의 무결성을 보장하기 위한 해시 검증 과정은 매우 중요합니다. 이 과정을 통해서 악성코드를 삽입하는 행위에 대한 차단이 이루어집니다. 또한 애플리케이션에 사용되는 다양한 3rd party 라이브러리의 안전성을 검증하여 외부 모듈에 의한 악성 코드 탑재 가능성을 완전히 제거해야 합니다. 무결성 검증과 함께 메모리 덤프 공격에 대한 방어는 AppSealing과 같은 전문적인 보안 서비스를 사용하여 올바르게 처리되어야 합니다. 개발자는 오프라인 환경에서도 애플리케이션이 안전하게 동작함을 보증해야 합니다. 코드를 변경하려는 시도를 방지하기 위해서 항상 모니터링하는 수단이 필수적으로 필요합니다.

M9 : 리버스 엔지니어링

AppSealing은 강력한 안티 디버깅 및 안티 디컴파일 기능을 제공합니다. 앱 분석에 사용되는 다양한 디버깅 도구의 사용을 방해하고, 코드를 분석하지 못하도록 전체 암호화를 지원합니다.

리버스 엔지니어링 공격으로부터 앱을 방어하는 방법에 관한 블로그를 읽어보세요.

M10 : 관계없는 기능

개발자는 백도어 기능을 숨기거나 제품으로 릴리즈 되지 않을 예정인 기능을 포함하여 라이브하지 않아야 합니다. 예를 들면 개발자의 실수로 하이브리드 앱의 댓글에 비밀번호를 포함 할 수 있습니다. 또 다른 사례로 테스트를 위해서 이중요소 인증을 사용하지 않도록 수정된 코드가 제품에 포함되는 일이 발생할 수 있습니다.

AppSealing 보안 계층

AppSealing은 OWASP 모바일 상위 10가지 목록에 나열된 많은 공통 위험으로부터 안드로이드 및 iOS 모바일 앱을 보호하기 위한 포괄적이고 효과적인 방법을 제공합니다. 더불어 보안 적용을 위해 번거롭게 코딩을 할 필요가 없습니다. AppSealing은 보안 서비스는 빌드된 앱에 직접 적용하며, 성능과 배터리 등의 사용에 영향을 미치지 않습니다.

AppSealing은 스마트 리포팅 및 지능형 대시 보드와 같은 통찰력 있는 보고서를 실시간으로 제공합니다. OWASP에서 언급된 많은 취약점으로부터 당신의 모바일 앱을 보호합니다.

지금 바로 무료 평가판을 시작하십시오.

자세한 내용이 궁금하신 분은 앱실링 보안 전문가와 상의하십시오.

Dustin Hong
Dustin Hong
Dustin은 잉카엔트웍스의 앱실링 비즈니스 개발을 이끌고 있습니다. 그는 사이버 보안, IT, 컨텐츠 및 애플리케이션 보안 분야의 소프트웨어 개발과 혁신에 많은 관심을 가지고 있습니다. 또한 사이버 보안 세계에서 주요 사건의 대상, 이유 및 방법에 대해 다양한 사람들에게 공유하고 토론하는 것을 좋아합니다. 업계 동향 및 모범 사례에 대한 그의 견해는 기사, 백서에 실려있으며, 여러 보안 행사에서 유사 주제로 발표를 하였습니다.

Leave a Comment

Stop Mobile App HackingPentesting vs Vulnerability