모바일 앱 보안 위협 및 완화 방법
게시 됨: 2021-11-10미래는 모바일입니다.
얼마 전까지만 해도 모바일 사용자가 급증하고 모바일 산업 이해 관계자가 전례 없이 증가함에 따라 이는 전 세계 비즈니스 환경에 반향을 일으켰습니다.
그러나 이 위대한 휴대용 혁신은 사이버 공격의 온상으로 판명되었습니다.
2,100만 고객 기록이 노출된 ParkMobile 사건이나 악명 높은 T-Mobile SIM 스왑 공격과 같은 최근 보안 침해로 인해 모바일 앱 보안은 시대의 필수품이 되었습니다.
전 세계의 조직은 기밀 비즈니스를 포함하여 대부분의 비즈니스 프로세스를 휴대폰에서 수행합니다. 이는 포괄적인 모바일 앱 보안 체크리스트가 필수이며 비즈니스 계획에서 모바일 앱 보안을 건너뛰는 것은 독이 될 수 있음을 의미합니다!
모바일 앱 위험이 급증함에 따라 조직은 위협 행위자가 기밀 또는 민감한 데이터를 염탐하지 못하도록 모바일 앱 보안에 집중해야 합니다.
모바일 앱 보안이란 무엇입니까?
모바일 앱 보안은 디지털 사기 및 멀웨어와 같은 외부 위협으로부터 모바일 앱을 보호하는 것을 의미합니다. Android, iOS 및 Windows와 같은 다양한 플랫폼에서 실행되는 모바일 앱에 중점을 둡니다.
앱은 수많은 기밀 데이터에 액세스할 수 있으므로 무단 액세스 및 사용을 통해 데이터를 손상시킬 수 있는 모든 위반을 피해야 합니다.
사기 거래의 71%는 모바일 앱과 브라우저에서 발생합니다. 또한 모바일 장치 36대 중 1대에는 고위험 앱이 설치되어 있습니다.
이러한 공격의 대부분은 모바일 앱의 일반적인 취약성에서 비롯되며 비즈니스를 무릎 꿇게 할 수 있습니다. 이러한 일반적인 취약점 중 일부를 살펴보겠습니다.
일반적인 모바일 앱 보안 위협
모바일 앱은 위협 공격의 가장 쉬운 진입점입니다. 모바일 앱에서 흔히 볼 수 있는 보안 위협에 대해 자세히 알아보기만 하면 해당 위협을 인식하고 이를 안전하게 유지하기 위한 적절한 조치를 취하는 것이 현명합니다.
약한 서버 측 제어
대부분의 모바일 앱에는 Google Play와 같은 앱 스토어가 클라이언트인 클라이언트-서버 아키텍처가 있습니다. 최종 사용자는 이러한 클라이언트와 상호 작용하여 구매하고 메시지, 경고 및 알림을 봅니다.
서버 구성 요소는 개발자 측에 있으며 인터넷을 통해 API를 통해 모바일 장치와 상호 작용합니다. 이 서버 부분은 앱 기능의 올바른 실행을 담당합니다.
서버 구성 요소의 40%는 평균 이하의 보안 상태를 가지고 있으며 35%는 다음을 포함하여 매우 위험한 취약점을 가지고 있습니다.
- 코드 취약점
- 구성 결함
- 앱 코드 취약점
- 보안 메커니즘의 잘못된 구현
안전하지 않은 데이터 저장
신뢰할 수 없는 데이터 저장소는 데이터 도난 및 심각한 재정적 문제로 이어지기 때문에 가장 중요한 앱 취약점 중 하나입니다. 조직의 43%는 종종 앱 출시 경쟁에서 모바일 앱 보안을 간과합니다.
이 수치는 모바일 뱅킹, 쇼핑, 거래와 같이 기밀 회계 세부 정보를 저장하는 중요한 앱을 고려할 때 무섭습니다. 안전한 저장 및 데이터 암호화는 데이터 보호를 용이하게 하지만 모든 암호화 방법이 동등하게 효과적이거나 보편적으로 적용되는 것은 아니라는 점을 이해해야 합니다.
불충분한 TLS(전송 계층 보호)
모바일 앱이 클라이언트-서버 아키텍처에서 데이터를 교환하는 동안 데이터는 모바일 장치의 이동통신사 네트워크와 인터넷을 통과합니다. 위협 에이전트는 이 순회 중에 취약점을 악용하고 맬웨어 공격을 일으켜 WiFi 또는 로컬 네트워크를 통해 저장된 기밀 정보를 노출할 수도 있습니다.
이 결함은 최종 사용자의 데이터를 노출시켜 계정 도용, 사이트 노출, 피싱 및 메시지 가로채기(man-in-the-middle) 공격으로 이어집니다. 기업은 개인정보 침해 혐의를 받고 사기, 신분 도용 및 평판 손상을 입을 수 있습니다.
신뢰할 수 있는 CA 인증서 공급자, 전송 계층의 SSL/TLS 보안 및 견고한 암호 제품군을 사용하여 이 취약점을 쉽게 해결할 수 있습니다.
클라이언트 측 주입
대부분의 취약점은 클라이언트에 존재하며 그 중 상당 부분이 모바일 앱 보안에 대한 높은 위험입니다. 이러한 취약점은 다양하며 인증 문제 및 소프트웨어 감염으로 이어질 수 있습니다.
대부분의 앱은 클라이언트 측에서 사용자를 인증합니다. 이는 데이터가 안전하지 않은 스마트폰에 저장되었음을 의미합니다. 서버 측에서 앱 데이터를 저장 및 인증하고 이를 해시 값으로 전송하여 안전하지 않은 채널을 통해 전송된 데이터의 무결성을 확인하는 것을 고려할 수 있습니다.
맬웨어는 새로운 모바일 장치의 또 다른 일반적인 취약점이므로 처음부터 품질 보호 조치를 취하는 것이 중요합니다.
보안 구성 오류
모바일 앱에 대한 적절한 보안 조치가 없는 것도 취약점이지만 부적절한 구성이나 구현도 앱의 보안 태세에 치명적입니다. 앱이나 서버에 대한 모든 보안 제어를 구현하지 못하면 공격자에게 취약해지고 비즈니스가 위험에 처하게 됩니다.
조직 전체가 서로 다른 인프라에 분산되어 있는 하이브리드 클라우드 환경에서는 위험이 확대됩니다. 느슨한 방화벽 정책, 앱 권한, 적절한 인증 및 유효성 검사를 구현하지 못하면 엄청난 결과를 초래할 수 있습니다.
부적절한 로깅 및 모니터링
로그 및 감사 추적은 회사에 모든 네트워크 활동에 대한 통찰력을 제공하고 쉽게 오류를 해결하고, 사고를 식별하고, 이벤트를 추적할 수 있도록 합니다. 또한 규정 요구 사항을 준수하는 데 도움이 됩니다.
부적절하거나 부적절한 로깅 및 모니터링은 정보 격차를 만들고 보안 사고를 방해하고 대응하는 능력을 방해합니다.
적절한 로그 관리 및 감사 추적은 평균 데이터 침해 탐지 및 억제 시간을 최소화합니다. 더 빠른 침해 탐지 및 완화 조치를 가능하게 하여 시간, 평판 및 비용을 절약합니다.
민감한 데이터 노출
민감한 데이터 노출은 모바일 앱의 또 다른 일반적인 취약점입니다. 모바일 앱, 개발자 회사 또는 이와 유사한 이해 관계자가 실수로 개인 데이터를 노출하는 경우 발생합니다. 데이터 노출은 공격자가 사용자 정보에 액세스하고 도용하는 데이터 침해와 다릅니다.
노출되기 쉬운 데이터의 일반적인 예는 다음과 같습니다.
- 은행 계좌 번호
- 신용 카드 번호
- 세션 토큰
- 사회 보장 번호(SSN)
- 의료 데이터
데이터 노출은 여러 요인으로 인해 발생합니다. 이러한 요인 중 일부는 부적절한 데이터 보호 정책, 데이터 암호화 누락, 부적절한 암호화, 소프트웨어 결함 또는 부적절한 데이터 처리입니다.
취약한 모바일 앱 보안의 영향
취약한 앱 보안은 비즈니스에 다양한 장기 및 단기 영향을 미칠 수 있습니다. 단기 효과는 다음과 같습니다.
- 나쁜 평판
- 평판 상실로 인한 재정적 영향
- 갑작스러운 고객 감소
장기적 효과는 단기적 효과보다 더 중요합니다. 공격자가 앱 보안에서 취약점을 발견하면 이러한 취약점을 다양한 방식으로 활용할 수 있습니다. 예를 들어 무단 통신, 데이터 도난, 정보 스니핑 및 메시지 가로채기 공격에 포트를 사용합니다.
반복적이고 드물게 발생하는 보안 실패를 극복하는 것이 더 쉽지만 브랜드 자산에 복구를 넘어 손상을 입히고 복구의 기회가 없을 수 있습니다.

고객 정보 손실
해커가 로그인 데이터 또는 계정 자격 증명과 같은 고객 정보에 액세스하면 고객 이탈에서 비즈니스 손실에 이르는 심각한 결과에 직면할 수 있습니다.
수익 손실
해커는 특히 OTP(일회성 암호) 인증이 필수가 아닌 경우 신용 카드 또는 직불 카드 번호를 제어하고 은행 거래를 조작할 수 있습니다. 당신이 금융 회사나 은행 회사라면 그러한 공격은 당신의 비즈니스를 망칠 수 있습니다.
공격자는 또한 실제로 비용을 지불하지 않고도 프리미엄 기능에 액세스하기 위해 취약점을 악용할 수 있습니다. 따라서 모든 단계에서 모바일 앱 보안을 보장하고 비즈니스 데이터를 보호해야 합니다.
브랜드 신뢰도
열악한 앱 보안으로 인해 고객의 신뢰를 잃을 수 있습니다. 보안 사고로 인해 고객이 회사를 떠날 때 비즈니스는 거의 회복할 수 없는 손실을 입습니다. 이는 차례로 브랜드 이미지에 영향을 미치고 브랜드 신뢰도에 큰 타격을 줍니다.
규정 준수 및 규제 문제
대부분의 앱 규정 준수 인증서 및 규제 문서에는 적절한 보안 지침 및 필수 항목이 함께 제공됩니다. 모바일 앱이 이러한 규정 준수에 미치지 못하거나 앱 취약점으로 인해 데이터를 잃거나 공격의 희생양이 되면 비즈니스를 말살시킬 거대한 소송에 휘말리게 됩니다.
모바일 앱 보안 작동 방식
모바일 앱 보안은 주요 위협 행위자로부터 사용자를 보호하고 모바일 앱에 대한 추가 보안 계층을 제공합니다.
공격자의 주요 목표는 4가지입니다.
- 자격 증명 (기기 및 외부 서비스)
- 개인 데이터 (이름, SSN, 주소 및 위치)
- 카드 소지자 데이터 (카드 번호, CVV 및 만료일)
- 장치에 대한 액세스 (연결 스니핑, 봇넷, 스팸, 영업 비밀 도용 등)
공격자가 악용하는 세 가지 주요 위협 지점도 있습니다.
- 키 저장소, 구성 파일, 캐시, 앱 데이터베이스 및 앱 파일 시스템과 같은 데이터 스토리지 옵션
- 리버스 엔지니어링, 코드 취약성, 내장된 자격 증명 및 키 생성 알고리즘과 같은 이진 방법
- 기능 후킹, 모바일 봇넷, 맬웨어 설치 및 앱 아키텍처 결정과 같은 플랫폼
모바일 앱 보안은 공격자로부터 이러한 모든 대상과 위협 지점을 보호하는 총체적이고 통합된 엔티티입니다. 모든 위협 지점은 서로 연결되어 있으며 그 중 하나라도 약점이 있으면 악용을 유발할 수 있습니다.
앱과 장치를 보호하기 위해 무엇을 선택해야 하는지 항상 알고 있어야 합니다. 모든 면에서 귀하를 보호하는 안정적이고 강력한 보안 제공업체를 확보하는 것은 공격 및 사이버 범죄로부터 비즈니스를 보호하는 열쇠입니다. 그러나 이러한 보안 공급자는 앱을 보호하기 위해 무엇을 하고 있습니까?
앱 보안 테스트에 들어갑니다.
모바일 앱 보안 테스트 에는 공격자 또는 해커로 앱을 테스트하는 것을 포함하여 보안 견고성과 취약성에 대해 모바일 앱을 테스트하는 작업이 포함됩니다.
모바일 앱 보안 테스트 절차 중 일부는 다음과 같습니다.
- 정적 분석: 코드나 앱을 실행하지 않고 보안 취약점 테스트 및 확인
- 동적 분석: 실시간으로 앱 작업 및 최종 사용자로서의 동작 테스트
- 침투 테스트: 네트워크, 서버, 웹 앱, 모바일 장치 및 기타 엔드포인트와 같은 취약점 테스트
- 하이브리드 테스트: 둘 이상의 테스트 절차 결합
철저한 모바일 앱 보안 테스트를 수행하면 앱의 동작과 앱이 데이터를 저장, 전송 및 수신하는 방식을 이해할 수 있습니다. 또한 애플리케이션 코드를 철저히 분석하고 디컴파일된 애플리케이션 코드의 보안 문제를 검토할 수 있습니다. 이 모든 것이 함께 위협과 보안 취약성이 위험으로 변하기 전에 식별하는 데 도움이 됩니다.
Android 및 iOS 앱의 모바일 앱 보안 위협
Android 및 iOS는 오늘날 우리가 사용하는 대부분의 모바일 장치를 구성하므로 앱 인프라를 보호하는 데 최우선 순위입니다. Android 및 iOS의 모바일 앱에 대해 잘 알려진 보안 위험 중 일부는 아래에 설명되어 있습니다.
리버스 엔지니어링
공격자는 리버스 엔지니어링을 사용하여 모바일 앱이 작동하는 방식을 이해하고 공격에 대한 익스플로잇을 공식화합니다. 자동화된 도구를 사용하여 애플리케이션 바이너리를 해독하고 코드 난독화라고도 하는 앱 소스 코드를 다시 빌드합니다.
코드 난독화는 사람과 자동화된 도구가 앱의 내부 작동을 이해하는 것을 방지하며 리버스 엔지니어링을 완화하는 가장 좋은 방법 중 하나입니다.
부적절한 플랫폼 사용
부적절한 플랫폼 사용은 앱 개발자가 특정 API나 문서화된 보안 지침을 오용하는 등 시스템 기능을 오용할 때 발생합니다.
위에서 언급했듯이 모바일 앱 플랫폼은 공격자가 악용하는 가장 일반적인 위협 지점 중 하나입니다. 따라서 보안을 유지하고 올바르게 사용하는 것이 주요 관심사 중 하나여야 합니다.
낮은 업데이트 빈도
새로운 기능, 기능 및 미학 외에도 앱 업데이트는 많은 보안 관련 변경 사항과 앱을 최신 상태로 유지하기 위한 정기 다운로드 업데이트로 구성됩니다. 그러나 대부분의 사람들은 모바일 앱을 업데이트하지 않기 때문에 보안 공격에 취약합니다.
모바일 앱 업데이트는 또한 더 이상 작동하지 않으며 공격자가 악용할 수 있는 취약점이 있을 수 있는 관련 없는 기능이나 코드 시퀀스를 제거합니다. 낮은 업데이트 빈도는 앱 보안에 직접적인 위협이 됩니다.
루팅/탈옥
탈옥은 전화 사용자가 운영 체제(OS) 루트에 대한 전체 액세스 권한을 얻고 모든 앱 기능을 관리할 수 있음을 의미합니다. 루팅은 앱을 실행하는 휴대 전화에 대한 제한을 제거하는 것을 의미합니다.
대부분의 앱 사용자는 코딩 및 OS 관리 전문 지식이 없기 때문에 공격자가 악용할 수 있는 기능을 실수로 활성화하거나 비활성화할 수 있습니다. 결국 데이터 또는 앱 자격 증명을 노출하여 재앙을 초래할 수 있습니다.
모바일 앱 보안: 점진적이고 일관되며 철저합니다.
항상 기억하십시오. 보안은 건물처럼 건설하고 나중에 잊어버릴 수 있는 것이 아닙니다. 보안 정책과 방법을 사전에 종합적으로 모니터링하고 평가해야 합니다.
강력하고 안정적이며 자체 수정하는 보안 태세는 일관된 노력의 결과이며 시간이 지남에 따라 보안 조치를 배포하고 이해함에 따라 점진적으로 달성됩니다. 비즈니스 네트워크 전반에 걸쳐 이러한 보안 조치를 구현하고 관리하는 것은 엄청난 작업에 불과합니다.
따라서 인내심을 갖고 보안 전략을 단계별로 개발하십시오.
마지막으로, DAST(Dynamic Application Security Testing) 소프트웨어를 주의 깊게 살펴보십시오. 단순한 보안 위협으로 평판이 훼손될 수 있기 때문입니다.