체인에서 작동해야 하며 지갑 키에 보안 잠금 장치를 추가해야 합니다.

Web3.0 세계에서는 개인 키와 시드 단어의 보안이 가장 중요합니다. 한 번 소유하면 자신의 디지털 자산에 마음대로 접근할 수 있기 때문에 분실이나 도난 시 사용자의 재산에 막대한 피해를 줄 수 있습니다.
Web 3.0 공간에서 모바일 지갑 애플리케이션이 부상함에 따라 이러한 키를 보호하는 다양한 보안 메커니즘을 이해하는 것이 중요합니다.
이 기사에서는 Web3.0 모바일 지갑 애플리케이션이 제공하는 다양한 수준의 보안 보호를 요약합니다. 9개의 인기 있는 오픈소스 모바일 지갑에 대한 연구를 통해 간단한 암호 보호에서 하드웨어 지원 신뢰할 수 있는 실행 환경 등의 보안 보호에 이르기까지 이러한 인기 있는 지갑이 실제로 사용자의 개인 키 또는 니모닉 문구를 구현하는 방법에 대해 논의했습니다. 연구를 통해 우리는 이러한 보안 보호 메커니즘 중 일부가 일반적인 개인 키 도난 공격을 효과적으로 해결할 수 있음을 발견했습니다. 그러나 시스템 수준의 위협(예: 루트 악용 등)은 대체로 무시되는 것으로 나타났습니다.
월렛 보안 코어: 개인 키 보호
모바일 지갑 애플리케이션에서 가장 중요한 데이터는 개인 키와 시드 문구입니다.
따라서 모바일 지갑 애플리케이션에 대한 가장 심각한 위협은 개인 키 또는 시드 문구의 유출입니다. 이 위협을 적절하게 완화하기 위해 잘 설계된 모바일 지갑 애플리케이션은 저장 또는 사용 단계에서 개인 키를 보호하기 위한 체계적인 접근 방식을 가져야 합니다.

위의 표에는 Android 모바일 장치에서 사용자의 개인 키를 보호하기 위해 Web3.0 지갑에서 사용하는 일반적인 관행이 요약되어 있습니다. 이 표에는 Android 모바일 장치의 지갑에서 개인 키 및 시드 문구 보호에 대한 일반적인 관행이 요약되어 있습니다. 각 수준의 보안 사례는 보안 수준이 높아지는 순서대로 나열되며 완전히 해결되지 않는 해당 위협을 포함합니다.
9개의 인기 있는 오픈 소스 Web 3.0 지갑을 조사하여 다양한 수준의 보안으로 분류하고 이러한 관행이 실제 세계에 어떻게 적용되는지 더 잘 이해할 수 있습니다.
아래 이미지는 이러한 모바일 지갑 앱의 이름과 Google Play 스토어에서의 다운로드 횟수도 보여줍니다.

지갑 보안: S 0에서 S 4까지
보조 제목
S 0(메모리 보호 없음)
S 0 레벨의 보안 관행은 개인 키 및 니모닉 문구 등을 포함하여 모든 사용자의 개인 정보를 응용 프로그램의 저장 공간에 저장하는 것입니다. 이는 일반적으로 권한이 없는 사용자나 애플리케이션이 스토리지 파일에 직접 액세스하는 것을 방지합니다.
이미지 설명

Protobuf 파일에서 Bitcoin 지갑 복원
Android 기기에서 권한을 얻는 것이 불가능하지 않다는 점은 주목할 가치가 있습니다. 사용자가 적극적으로 기기를 루팅하고 악성 앱에 의해 추가로 악용되는 것 외에도 권한을 얻기 위해 취약점을 악용하는 사이버 범죄자가 Android 기기에 대한 새로운 위협입니다.
이미지 설명

Sqlite 데이터베이스에서 단순 비트코인 지갑 복원
보조 제목
S 1(비밀번호 암호화)
S1 수준의 지갑 보안은 사용자 정의 암호를 사용하여 개인 키와 니모닉 문구가 포함된 저장소 파일을 암호화하여 권한이 없는 사용자나 응용 프로그램이 저장소 파일에 직접 액세스하지 못하도록 합니다. 그러나 애플리케이션이 시작되면 저장된 파일을 해독해야 권한이 있는 사용자나 애플리케이션이 지갑을 해킹하고 암호화된 비밀번호를 가로챌 수 있습니다. 이렇게 하면 암호화된 키 파일을 로컬에서 해독하거나 직접 무차별 대입할 수 있습니다.
이미지 설명

보조 제목
S 2 [Keystore(Trustzone)]
Keystore 파일의 암호화 키가 공격자에 의해 메모리에서 가로채는 것을 방지하기 위해 Metamask와 같은 일부 지갑 애플리케이션은 Android Keystore 시스템을 사용하여 암호화 키를 생성하고 사용합니다.
키 저장소 시스템은 Android의 TEE(신뢰할 수 있는 실행 환경)에서 실행되는 신뢰할 수 있는 애플리케이션에 의해 구현됩니다. 이 환경은 기본 운영 체제와 격리되며 하드웨어 기반 보안 기능으로 보호됩니다. Keystore 시스템을 사용하면 저장된 파일의 암호화 또는 암호 해독이 TEE에서 발생하여 암호화 키가 손상될 가능성이 줄어듭니다.
보조 제목
S 3 [키스토어(Trustzone)+루트 감지]
S2 수준 보호의 보안을 강화하기 위해 일부 지갑 앱은 한 단계 더 나아가 모바일 장치가 루팅되었는지 여부를 확인하여 사용자 자산을 보호합니다. 이 탐지는 루팅된 장치가 공격자에 의해 더 쉽게 악용되기 때문에 장치의 무결성을 보장하는 데 도움이 됩니다.
보조 제목

S 4(전용 신뢰 실행 환경 TA 신뢰 애플리케이션)
모바일 지갑 애플리케이션에서 최고 수준의 보안 관행은 개인 키 정보를 저장하고 처리하기 위해 전용 TEE(Trusted Execution Environment)를 사용하는 것입니다. 이는 장치에 전용 TEE 기반 TA(신뢰할 수 있는 응용 프로그램)를 설치하여 달성됩니다.
예를 들어, 이 보호 방법은 현재 일부 고급 삼성 스마트폰의 삼성 블록체인 애플리케이션에서 사용됩니다. 이 접근 방식은 개인 키 정보가 TEE에서만 저장되고 사용되기 때문에 추가 보호를 제공합니다. 이 TEE는 기본 운영 체제와 격리되고 공급업체에서 신뢰할 수 있는 코드로만 액세스할 수 있습니다. 권한이 있는 사용자나 애플리케이션도 이 정보에 직접 액세스할 수 없습니다. 그러나 이 접근 방식은 스마트폰 제조업체가 지갑 개발자가 TEE를 사용할 수 있도록 특정 인터페이스를 제공해야 한다는 점에서 제한적입니다.
모바일 지갑 앱 보안
S 3 레벨 보호에서 사용자의 개인 정보를 보호하기 위해 Keystore 시스템과 함께 루트 감지를 사용할 수 있다고 언급했습니다. 루트 감지는 장치가 근본적인 무결성을 유지하도록 보장하는 중요한 측면이며 더 높은 수준의 보호를 보장하기 위해 모든 보안 관행과 함께 구현되어야 합니다.
그러나 주의해야 할 점은 루트 감지 기술이 다양할 수 있으며 반드시 효과적이지는 않다는 것입니다. 예를 들어, Airgap Vault r은 테스트 장치에 루팅되었지만 Samourai Wallet은 동일한 테스트 환경에서 루팅된 장치를 성공적으로 감지하지 못했습니다.
또한 이 연구는 추가 하드웨어 구현 없이 모바일 장치의 소프트웨어 지갑 애플리케이션만 포함합니다. 하드웨어 기반 웹 3.0 지갑과 콜드 월렛 보안 모두 매력적인 보안 기능을 제공하며 각각의 기사에서 자세히 설명할 가치가 있습니다.
요약하다
요약하다
이 백서에서 CertiK의 전문가 팀은 모바일 장치의 Web3.0 지갑 응용 프로그램이 직면한 위협, 특히 개인 키 저장 및 관련 잠재적 위협을 분석합니다. 9개의 인기 있는 지갑 응용 프로그램에 대한 테스트 및 연구를 통해 CertiK의 전문가 팀은 각 응용 프로그램에 사용되는 보안 수준을 밝혔으며 대부분의 주요 지갑이 암호화를 해결하기 위해 하드웨어 지원 키 보호 기술을 사용한다는 사실을 발견했습니다. 안드로이드의 시스템.
그러나 대부분의 지갑이 루팅 여부와 같은 장치의 무결성을 확인하지 않아 메모리에서 개인 키 작업을 수행할 때 보안 문제가 발생할 수 있음을 발견했습니다. 이 기사에서 요약한 5가지 수준의 보안 사례 외에도 지갑 개발자는 일반적인 위험을 더 잘 완화하기 위해 Android에서 Trustzone 설계를 최대한 활용하는 방법에 주의를 기울여야 한다고 생각합니다. 향후 기사에서 이 주제를 계속 소개하고 개발자가 사용자 자산을 더 잘 보호할 수 있도록 지원할 것입니다.


