표준 보안(L1)이란 무엇인가요? 충분히 안전한가요? MASVS(모바일 Application Security 검증 기준)에서 OWASP 테스터, 보안 엔지니어, 애플리케이션 소유자 등 애플리케이션 보안을 분석하는 모든 사람을 위한 사실상의 표준입니다.
... 할 목적으로 안전한 애플리케이션을 설계하다애플리케이션이 구축된 기반을 신뢰해야 합니다. 앱과 운영체제, 펌웨어와 하드웨어, 브라우저의 웹페이지 등 기반 자체가 안전하지 않다면 어떻게 될까요?
R – 회복탄력성은 MASVS에서 중요한 주제이며, 일부는 "R"을 권장 사항으로 간주합니다. Digital.ai 우리는 복원력이 안전하지 않은 환경에서 실질적인 보안 기반이라고 믿습니다. "R" 수준은 L1 "표준 보안" 수준을 보호하는 데 필수적입니다. 왜 그럴까요? L-1에 설명된 표준 보안 조치는 앱이 안전하지 않은 환경에서 실행될 때 너무 쉽게 무너지기 때문입니다. 안전하지 않은 환경에는 탈옥 또는 루팅된 모바일 기기, 에뮬레이터, 심지어 맬웨어에 감염된 기기가 포함됩니다. 이러한 환경은 모두 흔합니다. 실제로 수백만 개의 앱 인스턴스에 대한 메타 분석에서 Digital.ai 보호합니다. 우리는 매주 우리가 보호하는 앱의 절반 이상이 삭제된다는 것을 발견했습니다.safe 환경.
다음 블로그 게시물에서는 복원력 요구 사항과 이를 충족하는 방법에 대해 설명합니다. 코드 난독화, 모니터링 및 RASP 도구또한 L1-표준 보안 권장 사항, 해당 공격 벡터, 그리고 이를 완화할 수 있는 방법에 대한 통찰력과 의견을 공유합니다. 마지막으로, 애플리케이션 엔지니어가 L-1 권장 사항만 따를 때 발생하는 몇 가지 과제에 대해 논의합니다. 먼저 MASVS에서 논의된 최상위 수준 또는 "복원력" 요구 사항부터 살펴보겠습니다.
MASVS란 무엇인가요?
The 모바일 Application Security 검증 기준또는 "MASVS"는 네트워킹, 스토리지, 무결성 등 여러 영역에 걸쳐 다양한 권장 사항을 정리한 목록입니다. 이러한 권장 사항은 세 가지 주요 모델로 분류됩니다.
- MASVS-L1 – 표준 보안: 코드 품질, 민감한 데이터 처리, 모바일 환경과의 상호 작용 등 최상의 보안 관행으로 구성됩니다.
- MASVS-L2 – 심층 방어: 이 모델에는 MASVS-L1에 포함된 모든 내용이 포함되어 있으며, 특히 민감한 데이터를 처리하는 은행 및 의료와 같은 산업에 대한 위협 모델을 기반으로 한 추가 권장 사항도 포함되어 있습니다.
- MASVS-R – 역엔지니어링 및 변조에 대한 복원력: 변조, 모딩과 같은 특정 클라이언트 측 공격으로부터 보호, 또는 역공학.
복원력 요구 사항을 충족하는 방법
MSTG-회복력-1
앱은 루팅되거나 탈옥된 기기가 있는 경우 이를 감지하고 사용자에게 경고하거나 앱을 종료하여 대응합니다.
Digital.ai 앱 보안 다양한 정교한 루팅 및 탈옥 탐지 방법을 감지합니다. 심지어 운영 체제 자체 코드의 변조도 감지할 수 있습니다.
MSTG-회복력-2
앱이 디버깅을 방지하거나 디버거가 연결된 것을 감지하고 대응합니다. 사용 가능한 모든 디버깅 프로토콜을 준수해야 합니다.
Digital.ai 앱 보안은 디버거로부터 완벽한 보호 기능을 제공합니다.
MSTG-회복력-3
이 앱은 자체 샌드박스 내에서 실행 파일과 중요 데이터가 변조되는 것을 감지하고 대응합니다.
OpenSSL 및 Mbed-TLS와 같은 오픈 소스 암호화 라이브러리는 공격자가 쉽게 탐지할 수 있습니다. 당사의 보호 기능은 다음과 같은 무기고를 제공합니다. 화이트박스 암호화 독점적인 구현을 사용하는 알고리즘 Digital.ai 고객은 공격자가 식별할 수 있는 흔적을 남기지 않고도 효율적으로 무결성 검사를 구현할 수 있습니다.
MSTG-회복력-4
이 앱은 장치에서 널리 사용되는 역엔지니어링 도구와 프레임워크의 존재를 감지하고 대응합니다.
Digital.ai Application Security FRIDA, FRIDA-gadget, cycript와 같은 동적 계측 툴킷, 프레임워크, 리버스 엔지니어링 툴의 존재를 감지합니다.
MSTG-회복력-5
앱은 에뮬레이터에서 실행되는 것을 감지하고 응답합니다.
Digital.ai Application Security 보호된 앱이 실행되는 CPU를 테스트하여 QEMU와 같은 에뮬레이터를 감지할 수 있습니다.
MSTG-회복력-6
앱은 자체 메모리 공간에서 코드와 데이터의 변조를 감지하고 대응합니다.
Digital.ai Application Security 감지하고 고객이 다음을 수행할 수 있도록 합니다. 변조 이벤트에 대한 사용자 정의 응답 생성또한, 변조 감지를 우회하려는 시도도 감지할 수 있습니다. GameGuardian 및 iGameGod와 같은 메모리 편집기도 감지하며, 변조 행위가 중단될 때 메모리 스캔도 감지할 수 있습니다.
MSTG-회복력-7
이 앱은 각 방어 범주(8.1~8.6)에 대해 여러 메커니즘을 구현합니다. 복원력은 사용된 메커니즘의 양, 다양성, 그리고 독창성에 따라 달라집니다.
Digital.ai Application Security 고객은 구현 및 호출 시기와 방법을 선택합니다. 다양한 검출 방법예를 들어, 숨겨진 백그라운드 프로세스나 일반 무결성 위반으로 인해 변조 이벤트가 감지될 때마다 고객은 원하는 것을 선택할 수 있습니다. (초조) 대응. 고객은 애플리케이션을 종료하거나, 최종 사용자에게 2단계 인증을 사용하여 재인증을 요구하거나, 게임의 중력 설정을 0으로 설정하여 부정행위자의 게임 플레이를 방해하면서도 원래 변조 감지 코드의 흔적을 남기지 않을 수 있습니다.
MSTG-회복력-8
탐지 메커니즘은 지연된 대응과 은밀한 대응을 포함한 다양한 유형의 대응을 유발합니다.
Digital.ai Application Security 고객이 맞춤형 핸들러와 은밀한 스케줄러를 통해 보호 기능이 언제 어디서 호출되는지 직접 제어할 수 있도록 합니다. 충돌을 유발한 코드의 출처를 공개하지 않고 애플리케이션을 갑자기 종료하는 '충돌' 기능도 제공합니다.
MSTG-회복력-9
난독화는 프로그래밍 방식의 방어에 적용되며, 이는 동적 분석을 통한 난독화 해제를 방해합니다.
코드 난독화 저희 기술의 기본 기반입니다. 저희는 코드 난독화 관련 특허 6건을 보유하고 있으며, 그중에는 코드 난독화와 관련된 최초의 특허도 포함되어 있습니다. Digital.ai Application Security 코드를 고도로 난독화하는 코드 평탄화 솔루션을 제공합니다. 또한, 화이트박스 암호화 변수와 상수는 난독화되어 짧은 시간 동안 메모리에 "살아" 있기 때문에 프로세스 덤핑이나 자동 암호 스캐너가 아무런 효과를 낼 수 없습니다. 또한 런타임 문자열 난독화 보호 기능과 Java 및 Objective-C와 같은 텍스트 런타임에 대한 완전한 난독화 기능을 제공합니다.
MSTG-회복력-11
앱에 속한 모든 실행 파일과 라이브러리는 파일 수준에서 암호화되거나, 실행 파일 내의 중요 코드와 데이터 세그먼트는 암호화되거나 압축됩니다. 간단한 정적 분석으로는 중요한 코드나 데이터를 파악할 수 없습니다.
저희는 코드와 데이터 모두에 대해 다양한 암호화 솔루션을 제공합니다. 예를 들어 Android에서는 Digital.ai Application Security DEX 암호화와 네이티브 공유 라이브러리 암호화를 지원하고, 화이트박스 암호화와 디버깅 방지 및 계측 기능을 결합하면 제품을 정적, 동적으로 모두 보호하여 공격자가 아무것도 알아차리지 못하게 할 수 있습니다.
MSTG-회복력-12
난독화의 목적이 민감한 연산을 보호하는 것이라면, 해당 작업에 적합하면서도 현재 발표된 연구 결과를 고려하여 수동 및 자동 난독화 해제 방식에 대해 강력한 난독화 기법을 사용합니다. 난독화 기법의 효과는 수동 테스트를 통해 검증해야 합니다. 가능한 경우 난독화보다 하드웨어 기반 격리 기능이 선호됩니다.
모든 난독화는 결국에는 해독될 수 있지만, 좋은 난독화 도구는 자동으로 난독화를 해제할 수 없습니다. 우리의 난독화 기술 디난퓨스케이터와 에뮬레이터에 대한 많은 활성 보호 기능이 포함되어 있으며 JEB 디컴파일러를 포함한 모든 공개적으로 사용 가능한 솔루션에 대해 테스트되었습니다.
MSTG-레질리언스-13
심층적인 방어 수단으로, 통신 당사자의 보안을 강화하는 것 외에도 애플리케이션 수준의 페이로드 암호화를 적용하여 도청을 더욱 차단할 수 있습니다.
공격자는 통신을 도청하기 위해 3가지 주요 방법을 사용합니다.
- 중간자 공격(MITM) 수행(예: 인증서 고정 제거)
- 암호화 기능 변조
- 네트워크 기능 변조
Application Security 이 솔루션은 OS 자체 코드 변조를 포함한 모든 유형의 변조를 감지합니다. 당사의 키 및 데이터 보호 제품은 공개적으로 제공되는 도구를 사용하여 자동으로 감지할 수 없습니다. 이 두 가지 솔루션을 함께 사용하면 위에 설명된 세 가지 방법을 방지할 수 있습니다.
L1 요구 사항
MSTG-ARCH-1
모든 앱 구성 요소가 식별되어 필요한 것으로 알려져 있습니다.
소프트웨어 엔지니어로서 우리는 가능한 한 간결하고 효율적인 코드를 원합니다. 하지만 보안 관점에서 불필요한 코드를 제거하면 공격 표면이 늘어날 수 있습니다. 모바일 애플리케이션의 경우 간결한 코드는 오히려 해로울 수 있습니다. 식별 가능한 작은 구성 요소는 공격자에게 큰돈을 벌어줄 수 있습니다. 코드 난독화는 정적 리버스 엔지니어링에 대한 최전선 방어선이며, 간결하고 논리적인 방식으로 코딩하면 오히려 공격자의 수고를 덜어줍니다.
MSTG-ARCH-10
보안은 소프트웨어 개발 수명 주기의 모든 단계에서 다루어집니다. 체크 표시를 하고 다음 단계로 넘어가는 것은 매우 쉽습니다.
보안은 실제로 인식에 관한 것이며, 인식은 항상 당신을 가장 예상치 못한 곳으로 데려다줍니다. Digital.ai Application Security 변조가 불가능한 블랙박스로 앱을 보호하는 동시에, 손상된 환경에서도 신뢰할 수 있는 전략적 기능을 제공합니다.
MSTG-스토리지-1
PII, 사용자 자격 증명과 같은 민감한 데이터를 저장하려면 시스템 자격 증명 저장 시설을 사용해야 합니다., 또는 암호화 키.
이상적으로 시스템 자격 증명 시설은 민감한 데이터를 저장하는 유일하게 신뢰할 수 있는 방법입니다. 하지만 운영 체제가 변조된 경우 저장 시설의 신뢰성이 떨어질 수 있습니다. 이러한 안전한 저장소에 무작정 의존하여 기밀 정보를 저장해서는 안 됩니다. 루팅, JB(버퍼링 백엔드), 에뮬레이션 등을 식별하는 다양한 기술과 위협에 따른 맞춤형 조치가 있는 상황에서, 공격자는 완전히 다른 보호 메커니즘을 사용하는 다음 버전이 출시되는 동안 대상 시스템에 접근하기 어려워 공격자를 좌절시킬 수 있습니다.
MSTG-스토리지-10
앱은 필요 이상으로 오랫동안 민감한 데이터를 메모리에 보관하지 않으며, 사용 후 메모리는 명확하게 지워집니다.
저희의 화이트박스 암호화는 세션 키의 자동 관리 및 유출 기능을 제공합니다. 암호화 외에도, Digital.ai Application Security 또한 운영 체제 전반에서 허용되지 않은 메모리 액세스를 모니터링하여 고객이 맞춤형 논리로 대응할 수 있도록 합니다.
MSTG-크립토-2
이 앱은 암호화 기본 요소의 검증된 구현을 사용합니다.
암호화 구현에는 많은 잠재적 함정이 있으며, 이러한 알고리즘을 신중하게 구현하려면 해당 분야 전문가여야 합니다. 다행히도 Digital.ai Application Security 는 믿고 바로 사용할 수 있는 다양한 암호화 알고리즘을 제공합니다. 하지만 시중에 나와 있는 알려지고 검증된 암호화 라이브러리에는 몇 가지 문제가 있습니다. OpenSSL, Mbed-TLS와 같은 일부 라이브러리와 Android 및 iOS 운영 체제에서 제공하는 라이브러리는 식별 가능한 바이너리 서명을 가지고 있어 공격자가 코드의 민감한 부분을 정확히 파악하고 인증서 고정 해제와 같은 일부 프로세스를 자동화할 수도 있습니다. 변조 방지 이 솔루션은 대상 코드가 이러한 공개 라이브러리를 사용하는 변조 시나리오로부터 보호하는 동시에 코드 내부에 완벽하게 내장되고 보호되며 숨겨진 암호화 솔루션을 제공하여 공격자가 암호화 솔루션의 흔적을 볼 수 없도록 합니다.
MSTG-플랫폼-1
앱은 필요한 최소한의 권한만 요청합니다.
당사의 기술은 특별한 허가 없이도 많은 보안 기능을 제공합니다.
MSTG-코드-1
앱은 유효한 인증서로 서명되고 제공되었으며, 개인 키는 적절하게 보호됩니다.
운영 체제 자체의 무결성 메커니즘 외에도 Digital.ai Application Security 재패키징 및 메모리 내 패치를 감지하고 보호하는 기술을 제공합니다.
결론 및 추가 생각거리
MASVS는 자원봉사자들이 작성한 진정한 문서로, 모바일 소프트웨어 보안 공급업체, 잠재 고객, 그리고 고객에게 없어서는 안 될 필수 자료입니다. 위 내용이 독자 여러분께 본 문서의 L1 및 R 섹션에 포함된 권장 사항을 안내하는 데 도움이 되기를 바랍니다. 다음은 MASVS가 "전진" 보고서에서 취하는 몇 가지 입장, 특히 "보안 보호"와 "보안 제어"를 구분하는 섹션에 대한 몇 가지 의견입니다. 이 부분에 대해서는 추가 논의가 필요하다고 생각합니다.
서론에서 언급했듯이, MASVS에서 명시한 L1 요구 사항은 애플리케이션 보안, 특히 개인 정보 보호 관련 보안의 기반을 형성합니다. MASVS가 파악한 기반은 위협 행위자가 흔히 사용 가능하고 자주 사용되는 몇 가지 에뮬레이터, 디버거, 그리고 동적 계측 툴킷을 활용함으로써 근본적으로 흔들릴 수 있다고 생각합니다. 예를 들어, MASVS "Forward"에서 다음과 같이 언급합니다. "소프트웨어 보호가 쓸모없는 것은 아니지만 궁극적으로 우회될 수 있으므로 보안 제어를 대체하는 데 사용되어서는 안 됩니다." 코더가 보안을 위해 운영 체제에 의존하고 모든 L-1 요구 사항을 철저히 준수하더라도, 기반 운영 체제가 손상되면(즉, 탈옥 또는 루팅) L-1 요구 사항은 기본적인 보안 기능을 제공하지 못할 것이라고 반박합니다. 이 경우에는 정반대입니다. "복원력" 섹션에 설명된 대로 변조 감지와 같은 소프트웨어 보호 기능을 사용하는 것이 보안을 확보하는 유일한 방법입니다. 왜 그렇게 생각할까요? 키스토어를 예로 들어 보겠습니다. 키스토어가 완전히 노출되면 애플리케이션의 샌드박스도 완전히 노출됩니다. 이 경우 앱과 해당 파일이 변조, 재패키징 및 계측될 수 있으며, 이를 통해 인증서 고정 해제 및 리소스 추출과 같은 일부 프로세스가 자동화될 수 있습니다. 또한, L-1이 개인 정보를 충분히 보호하지 못하는 경우도 있습니다. 예를 들어, 모바일 기기 맬웨어는 모바일 운영 체제를 손상시키고 공격자가 바이너리 서명을 식별하여 전략적 API나 공개 프레임워크를 연결하여 인스턴트 메시징이나 VOIP 앱을 쉽게 도청할 수 있도록 합니다.
또한 MASVS는 Forward에서 다음과 같이 주장합니다. "모바일 보안은 데이터 보호에 관한 것입니다.". 이는 종종 사실이지만 항상 그런 것은 아닙니다. 단기 토큰과 같은 민감한 정보를 다룰 때는 이 정보에 접근할 수 없도록 해야 합니다. 보안은 개인정보 보호 그 이상이며, 비즈니스 연속성 및 수익과 밀접한 관련이 있습니다. 예를 들어, 게임 내에서 많은 거래가 발생하는 게임은 클라이언트 측에만 영향을 미칠 수 있습니다. 또한, 많은 게임 이벤트는 지연 시간 때문에 서버가 사용자 입력을 신뢰하도록 요구합니다. 예를 들어, FPS 게임의 샷은 특정 이벤트의 고유한 빈도(일반적으로 총알당 한 번의 이벤트)로 인해 많은 최적화가 필요합니다.
클라이언트 측 보안은 끊임없는 고양이와 쥐의 게임입니다. 앱 개발자/코더가 충분한 보안을 제공하면 공격자는 좌절감에 빠져 다른 공격 대상으로 이동할 것입니다. 게다가, 다형성 난독화를 이용한 클라이언트 업데이트를 자주 배포하면 기존 애플리케이션에 대한 지속적인 연구가 무의미해져 공격자의 좌절감이 더욱 커집니다.
에 대한 자세한 내용은 Digital.ai Application Security클릭 여기에서 확인하세요.
소개 Digital.ai
Digital.ai 는 글로벌 5000대 기업의 디지털 혁신 목표 달성을 지원하는 업계 선도적인 기술 기업입니다. AI 기반 DevSecOps 플랫폼은 소프트웨어 수명 주기 전반에 걸쳐 통합, 보호 및 예측적 통찰력을 생성합니다. Digital.ai 조직이 소프트웨어 개발팀을 확장하고, 더 높은 품질과 보안을 갖춘 소프트웨어를 지속적으로 제공하는 동시에, 새로운 시장 기회를 발견하고 보다 스마트한 소프트웨어 투자를 통해 비즈니스 가치를 향상할 수 있도록 지원합니다.
추가 정보 Digital.ai 에서 찾을 수 있습니다. digital.ai 및에 트위터, 링크드인 Facebook.
에서 자세한 내용보기 Digital.ai Application Security
