일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- 개인정보보호위원회
- 모듈러 연산
- 개인정보안전성
- Writeup
- 한국산업인력공단
- 호이스팅
- 곱셈 암호
- 개인정보보호
- 한국정보보호산업협회
- 국가인적자원개발컨소시엄
- 확장 유클리드 알고리즘
- pwnable.tw
- package-lock.json
- 백엔드입문
- 백엔드
- 포너블
- package.json
- 한국정보보호산업협회기자단
- 개인정보보호교육
- 동적타이핑
- 무료교육
- function scope
- 웹 프레임워크
- arrow function
- 가명정보처리
- 디오판투스 알고리즘
- 덧셈 암호
- 마감임박
- node.js
- 유클리드_알고리즘
- Today
- Total
짱짱해커가 되고 싶은 나
[안드로이드 취약점 진단] 1-1. 안드로이드 아키텍처 본문
안드로이드 : 안드로이드 사에서 개발한 리눅스 기반 운영체제
-> 이후 구글 사에서 인수하여 장치에 맞게 설계
리눅스 커널
안드로이드 아키텍처의 최하위 레이어는 리눅스 커널로 구성되어 있다. 안드로이드의 커널을 ACK라고 하는데 리눅스 커널의 LTS가 release 될 때마다 Android 관련 패치를 추가해 안드로이드 기본 develop 브랜치인 android-mainline에 병합해서 사용한다.
리눅스 커널 레이어는 카메라, 오디오, 무선 와이파이 등 다양한 드라이버로 구성되어 있다.
안드로이드는 보안, 메모리 관리, 프로세스 관리, 네트워크 스택, 드라이버 모델 같은 주요 시스템 서비스를 리눅스에 의존한다.
리눅스 커널은 하드웨어와 소프트웨어 스택의 나머지 부분 사이에서 추상화 역할을 수행한다.
https://source.android.com/devices/architecture/kernel/android-common?hl=ko
Android 일반 커널 | Android 오픈소스 프로젝트 | Android Open Source Project
Android 일반 커널 AOSP 일반 커널(Android 일반 커널 또는 ACK라고도 함)은 kernel.org 커널의 다운스트림이며 메인라인 또는 LTS(장기적 지원) 커널로 병합되지 않은 Android 커뮤니티의 관심 패치를 포함합
source.android.com
라이브러리
리눅스 커널 위에는 안드로이드의 네이티브 라이브러리가 있다. (C/C++로 작성된 라이브러리)
라이브러리에는 안드로이드 시스템의 다양한 컴포넌트가 사용된다. (장치에 여러 종류의 데이터를 처리하는 방법을 알려주는 명령어 집합)
라이브러리는 리눅스 커널 내에서 프로세스로 동작한다.
안드로이드 런타임
안드로이드 런타임은 라이브러리와 같은 레이어로 핵심 자바 라이브러리와 달빅(Dalvik) 가상 머신으로 구성된다.
Core Library
- 안드로이드 기반 애플리케이션 개발에 사용
Dalvik 가상 머신
- 구글 사에서 개발 (이름 유래 : 선조가 살던 아이슬란드 마을 이름)
- 빌드 과정 : 덱스 컴파일러로 변환한 후 달빅 바이트 코드를 생성해서 동작 (JVM과 차이점)
(∵ 모바일 환경에 맞춰 성능 고려 and Open Java VM으로 대체되었기 때문)
- 메모리 관리 개선
- 각 애플리케이션이 권한 없이 다른 애플리케이션을 제어할 수 있는 권한 제한
- 스레딩 지원
각 안드로이드 애플리케이션은 별도의 가상 인스턴스에서 실행 -> 각 애플리케이션에는 고유 사용자 ID가 부여 (설치 시 할당받아서 동작)
안드로이드에 설치된 모든 응용 프로그램은 일반 사용자 권한으로 실행
응용 프로그램에 사용자의 데이터에 접근하면 모든 사항을 응용 프로그램 사양에 명시해야하고 데이터 접근 시 사용자 동의 필요 (설치 동의 포함)
'모바일' 카테고리의 다른 글
[안드로이드 취약점 진단] 1-3. 안드로이드 파일시스템 및 프로젝트 파일 구성 (0) | 2022.06.07 |
---|---|
[안드로이드 취약점 진단] 1-2. 안드로이드 애플리케이션 구성요소 (0) | 2022.06.07 |
14-3. 콘텐트 프로바이더 (0) | 2021.02.27 |
14-2. 브로드캐스트 리시버 (0) | 2021.02.27 |
14-1. 서비스 (0) | 2021.02.27 |