Season 1/기술 보안 [ Android ] 기초 정리 - Build & SandBox & 서명 작성자 - LRTK Build DEX (Dalvik Executable) Android 어플리케이션은 Dalvik VM에서 더 효과적으로 실행되기 위해 개발자가 JDK로 코드를 컴파일하여 만든 바이트 코드입니다. Dalvik VM에서 DEX 파일로 변환되어 실행됩니다. Smali Dalvik의 바이트 코드를 위한 어셈블리 언어입니다. 기계어 형태로 되어 있으며, 원하는 부분의 코드 패치가 가능합니다. SandBox Android의 모든 앱은 자체 프로세스와 파일 시스템 공간에 SandBox로 되어 있으며, Linux 커널의 프로세스 공간 보호 메커니즘을 이용하여 설치된 각 앱에 고유한 UID를 할당합니다. 기존 데스크톱 운영 체제(Linux, Windows, Mac 등)와 달리 Android는 UID 개념을 사용자 구분을 위해 사용하는 것이 아닌 앱을 구분하는 것으로 사용합니다. 이를 통해 커널은 애플리케이션을 메모리, 기본 하드웨어 또는 서비스에 대한 액세스를 제한하며, 디바이스의 파일 시스템에 대한 액세스를 제한할 수 있습니다. 기본적으로 각 앱의 데이터와 리소스는 앱과 핵심 프레임워크만 액세스할 수 있습니다. Application 코드 서명 Android에서는 인증서를 사용해 디지털 방식으로 서명된 APK만 기기에 설치하거나 업데이트할 수 있습니다. 이러한 이유는 악의적인 사용자가 패치한 앱의 배포를 막기 위한 목적으로 이루어집니다. KeyStore Service Android Keystore 시스템을 사용하면 암호화 키를 컨테이너에 저장하여 기기에서 키를 추출하기 어렵게 할 수 있습니다. 키 저장소에 키가 저장되면, 키 자료는 내보낼 수 없는 상태로 유지하면서 키를 암호화 작업에 사용할 수 있습니다. keystore Java의 keystore 파일으로 인증서와 비공개 키의 저장소 역할을 수행하는 바이너리 파일입니다. KeyStore AndroidKeyStore이라고도 불리며, App 자체에서 사용하는 암호키를 보다 안전하게 보관하기 위한 서비스입니다. Keystore Android에서 제공하는 KeyStore 서비스를 제공하기 위해 만들어진 하드웨어 장치로 Android Device에서 암호키를 안전하게 저장하기 위해 사용됩니다. 공유하기 게시글 관리 MSS 저작자표시 비영리 'Season 1 > 기술 보안' 카테고리의 다른 글 [ Android ] Activity Life Cycle (0) 2022.12.08 [ Android ] 기초 정리 - APK 구조 (0) 2022.12.08 [ Android ] 기초 정리 - Booting Process & Rooting (0) 2022.12.06 [ Android ] 기초 정리 - Android 공격 종류 및 구조 (0) 2022.12.06 [컨테이너 보안] 2-1장. 컨테이너 탈출 - 부적절한 Mount 설정 (0) 2022.12.01 Contents 당신이 좋아할만한 콘텐츠 [ Android ] Activity Life Cycle 2022.12.08 [ Android ] 기초 정리 - APK 구조 2022.12.08 [ Android ] 기초 정리 - Booting Process & Rooting 2022.12.06 [ Android ] 기초 정리 - Android 공격 종류 및 구조 2022.12.06 댓글 0 + 이전 댓글 더보기