88%라는 숫자는 우리가 모바일 앱에 소비하는 시간이 하루 중에 차지하는 비율입니다. 세상에는 말 그대로 존재하는 모든 것을 위한 앱이 존재합니다. 모바일 앱은 2023년까지 9,350억 달러의 매출을 기록할 것으로 예상되며 Google Play 스토어에는 이미 약 287만 개의 앱이 있습니다. 평균적인 스마트폰 사용자는 하루에 거의 10개의 앱을 사용합니다. 이는 단순한 수치가 아니라 비즈니스용이든 개인용이든 우리 삶에서 모바일 앱의 중요성과 성장에 대한 흥미로운 이야기입니다. 또한 지금과 같은 때에 모바일 애플리케이션 보안의 중요성도 시사합니다. 앱 래핑은 모바일 애플리케이션 개발 과정 및 그 이후에 필요한 보안 관련 목표를 달성하는 한 가지 방법입니다. 하지만 그걸로 충분할까요? 한 번 확인해보겠습니다.
앱 래핑이란?
소프트웨어 관리자 및 개발자는 앱 래핑을 통해 특정 작업을 허용/제한하는 애플리케이션에 보안 정책을 구현할 수 있습니다. 이는 기업 소유 디바이스 또는 개인 디바이스를 보유한 회사 직원들이 걱정 없이 앱을 다운로드할 수 있도록 도와줍니다. 앱 래핑은 기능에 어떠한 영향도 미치지 않으며 소스의 데이터를 보호하는 데 도움이 됩니다. 또한, 사용자가 수행한 모든 작업을 정책 및 규칙에 따라 관리하도록 운영 체제를 보호할 수 있도록 합니다. 예를 들어, iOS 기기에서 SMS를 보내는 것은 자체 내장 앱을 통해서만 가능합니다. 앱 래핑은 일반적으로 앱의 SDK를 사용하거나 EMM(엔터프라이즈 이동성 관리) 공급업체를 통해 수행됩니다.
앱 래핑의 작동 방식
앱 래핑의 핵심은 사용자가 어떤 행동을 취할 수 있는 지에만 관심이 있다는 것입니다. 즉, 보안의 허점이나 데이터 유출을 방지하는 것이 핵심입니다. 특정 지침을 다루는 간단한 코드가 앱의 기능이나 기능에 영향을 미치지 않고 엔터프라이즈 바이너리에 주입됩니다. 사소한 수정만이 필요하고, 사용자가 제어해야 할 요소를 선택하고 선택할 수 있으며, 일반적으로 제한된 요소를 위한 기존 소프트웨어를 제공합니다.
앱 래핑 보안 정책
특정 작업이 제한되도록 하기 위해 회사에서 정책을 설정할 수 있습니다. 정책의 일반적인 예는 다음과 같습니다.
- 보안 정책: 여러 기기 및 OS에서 안전하게 실행될 수 있는 자체 방어 앱을 개발하는 데 초점을 맞추고 있습니다. 암호화, 인증, 탈옥 탐지, 런타임 검사 등의 시나리오가 포함될 수 있습니다. 기타 예는 VPN 액세스 적용, Single Sign-On, 선택적 데이터 삭제, 인쇄, 복사, 파일 내보내기 등의 작업 제어 등이 있습니다.
- 관리 정책: 사용자를 보호하고 특정 사용자에게 중요한 권한/역할을 부여하여 데이터가 공개되거나 불법으로 공유되지 않도록 하는 데 중점을 둡니다.
- 분석 정책: 이러한 기능은 팀이 앱의 상태, 앱 사용자, 앱 사용 이유 등을 알 수 있도록 돕는 데 중점을 둡니다.
앱 래핑 vs. 컨테이너화
컨테이너화는 모바일 앱을 보호하는 또 다른 방법이기도 하지만 약간 다른 방식으로 수행됩니다. 컨테이너화의 경우, 앱과 데이터는 모바일 장치 내의 별도의 암호화된 영역에 저장됩니다. 각기 다른 버전의 코드가 사용되며 자체 제한이 있습니다. 타사 앱으로 확장하는 것이 어렵고 보통 한 세트의 정책만 제공되기 때문에 이 방법은 앱 래핑보다 조금 더 복잡합니다. 즉, 한 번의 유출이 발생할 경우 회사와 관련된 많은 다른 앱들이 노출된다는 것을 의미합니다. 또한 직원이 사용할 수 있는 앱 수에도 제한이 있습니다.
앱 래핑의 장단점
앱 래핑은 일정한 절차에 따라 구현되며 엄격한 제어를 통해 간단하게 OS와 사용자를 보호할 수 있습니다. 예를 들어, 관리자는 앱에 있는 회사 데이터에 대한 복사 붙여넣기 작업을 제한할 수 있습니다. OS 종류에 따라 다른 제한을 적용할 수도 있습니다. 예를 들어, 특정 애플리케이션에서 카메라 캡처를 차단할 수 있습니다. 그러나 이 메소드는 프로세서 성능, 데이터 스토리지 등과 같은 리소스에 많은 부하를 줍니다. 따라서 성능이 저하되고 최종 사용자 환경에 영향을 미칠 수 있습니다. 때때로 기업들은 래핑 도구 자체를 보호하기 위해 추가 도구에 투자해야 할 수도 있습니다. 보안 또한 완벽하지는 않으며 최첨단도 아닙니다. 예를 들어 래퍼를 사용하면 다른 애플리케이션이 특정 애플리케이션에 연결되지 않도록 보호할 수 있지만 디바이스에 이미 있는 데이터는 여전히 노출되고 액세스할 수 있습니다.
앱 래핑을 고려해야 하는 이유
앱 래핑은 좋은 출발점이지만 한계는 간과할 수 없습니다. 보안 정책이 정기적으로 업데이트되기 때문에 애플리케이션을 보다 전체적인 방식으로 보호해야 합니다. 앱 래핑만으로는 부족할 수 있습니다. 런타임 애플리케이션 자가 보호(RASP) 솔루션은 모바일 애플리케이션을 전체적으로 실시간으로 검색하여 위협이나 보안 허점을 발견하는 방식으로 보안성을 높일 수 있습니다. 애플리케이션은 다른 분야와는 별개로 사용자, 백엔드 서버, 데이터베이스와 같은 모바일 생태계의 다른 수많은 업체와 상호 작용하기 때문에 앱 및 사용자 데이터 보호가 모두 중요합니다. 공격 벡터는 계속 발전하고 있으며, RASP가 이러한 벡터에 대한 완벽한 해결책이라고 할 수 있습니다. 왜냐하면 실시간으로 위협을 모니터링하는 것 외에도 RASP가 위협을 차단하기 위한 조치를 개시할 수 있기 때문입니다. 앱실링(AppSealing)의 코드 없는 구축 및 원활한 통합을 통해 RASP 프로그램을 앱 프로그램의 코드에 포함시켜 지속적인 모니터링과 보호를 위한 강력한 프레임워크를 만들 수 있습니다. 또한 학습 기능을 통해 공격자보다 항상 한 발 앞서 있을 수 있습니다. 지금 바로 이용해 보십시오!