반응형

Android 203

사용자 정의 SELinux 정책이 AOSP 보안 가이드라인을 준수하는지 검토하는 방법

사용자 정의 SELinux 정책이 AOSP 보안 가이드라인을 준수하는지 검토하는 방법SELinux는 Android 보안 모델의 핵심 요소 중 하나로, 강력한 보안 정책을 통해 시스템의 무결성을 유지합니다. AOSP(Android Open Source Project)에서는 SELinux 정책을 정의할 때 준수해야 할 다양한 가이드라인을 제공하고 있으며, 사용자 정의 정책을 추가할 때 이러한 가이드라인을 위반하지 않도록 철저한 검토가 필요합니다. 본 포스팅에서는 사용자 정의 SELinux 정책이 AOSP 보안 가이드라인을 준수하는지 검토하는 방법을 설명하겠습니다.1. AOSP SELinux 보안 가이드라인 이해하기AOSP에서 제공하는 SELinux 보안 가이드라인은 크게 다음과 같은 원칙을 따릅니다.최소 권..

Android/Seploicy 2025.05.15

SELinux 정책 최소화 및 최적화 기법

SELinux 정책 최소화 및 최적화 기법SELinux(Security-Enhanced Linux)는 강력한 보안 정책을 제공하지만, 과도한 정책은 시스템 성능 저하를 초래하고 유지보수의 복잡성을 증가시킬 수 있습니다. 따라서 최소한의 정책을 유지하면서도 보안을 강화하는 것이 중요합니다. 이번 포스팅에서는 SELinux 정책을 최소화하고 최적화하는 방법에 대해 설명하겠습니다.1. SELinux 정책 최소화 원칙SELinux 정책을 최소화하기 위해서는 다음과 같은 원칙을 따르는 것이 좋습니다.최소 권한 원칙(Principle of Least Privilege, POLP)프로세스가 필요한 최소한의 권한만 가지도록 정책을 작성해야 합니다.불필요한 도메인 및 규칙 제거사용하지 않는 도메인이나 파일 컨텍스트를 제..

Android/Seploicy 2025.05.14

Sepolicy neverallow 정책을 활용한 보안 강화

Sepolicy neverallow 정책을 활용한 보안 강화1. 개요Android의 SELinux(SeLinux)는 보안 정책을 적용하여 시스템의 무결성을 보호하는 중요한 역할을 합니다. 그중에서도 neverallow 정책은 특정 보안 규칙을 강제하여 허용되지 않는 동작을 사전에 차단하는 역할을 합니다. 본 글에서는 neverallow 정책의 개념과 이를 활용하여 Android 보안을 강화하는 방법을 설명합니다.2. neverallow 정책이란?neverallow는 SELinux 정책에서 사용되는 특별한 규칙으로, 특정 도메인(domain)이나 속성(attribute)이 특정한 작업을 수행하지 못하도록 강제하는 역할을 합니다. 일반적인 allow 규칙과 달리, neverallow는 상위 정책에서라도 해당..

Android/Seploicy 2025.05.13

dmesg와 logcat을 활용한 SELinux 디버깅

dmesg와 logcat을 활용한 SELinux 디버깅1. 개요SELinux(Security-Enhanced Linux)는 Android에서 필수적으로 적용되는 보안 메커니즘으로, 시스템의 보안을 강화하기 위해 강력한 접근 제어 정책을 적용합니다. 그러나 SELinux 정책이 예상하지 못한 동작을 하거나 새로운 바이너리 및 서비스를 추가할 때, 접근이 차단되면서 정상적으로 동작하지 않는 경우가 발생할 수 있습니다. 이때 dmesg와 logcat을 활용하면 SELinux 문제를 효과적으로 디버깅할 수 있습니다.본 글에서는 dmesg와 logcat을 활용한 SELinux 디버깅 방법을 설명하고, 예제 로그를 기반으로 문제를 해결하는 방법을 소개하겠습니다.2. SELinux 디버깅을 위한 기본 도구SELinu..

Android/Seploicy 2025.05.12

audit2allow를 활용한 SELinux 정책 생성 및 검증

audit2allow를 활용한 SELinux 정책 생성 및 검증SELinux(보안 강화 리눅스)는 Android 시스템에서 보안 정책을 적용하는 중요한 역할을 합니다. SELinux 정책을 적용하다 보면 새로운 바이너리나 서비스가 기존 정책에 의해 차단되는 경우가 발생합니다. 이러한 문제를 해결하려면 SELinux 정책을 적절하게 수정하고 보완해야 합니다. audit2allow는 SELinux의 avc: denied 로그를 기반으로 필요한 정책을 생성하는 도구로, 정책 작성과 검증 과정에서 필수적으로 활용됩니다. 이번 포스팅에서는 audit2allow를 활용하여 SELinux 정책을 생성하고 검증하는 방법을 상세히 설명하겠습니다.1. SELinux avc: denied 로그 분석SELinux 정책이 특정..

Android/Seploicy 2025.05.11

adb logcat에서 avc: denied 로그 분석 및 해결 방법

adb logcat에서 avc: denied 로그 분석 및 해결 방법SELinux(보안 강화 리눅스)는 Android에서 중요한 보안 정책을 담당하는 핵심 구성 요소입니다. 시스템에서 수행되는 각종 작업이 SELinux 정책에 의해 허용되거나 차단되며, 허용되지 않은 작업이 발생하면 avc: denied 로그가 생성됩니다. 이 글에서는 adb logcat을 활용하여 avc: denied 로그를 분석하고, 문제를 해결하는 방법에 대해 설명하겠습니다.1. SELinux avc: denied 로그란?Android SELinux는 강제 접근 제어(MAC)를 기반으로 동작하며, 정책에 정의되지 않은 접근이 발생하면 이를 차단하고 avc: denied 로그를 기록합니다. 이 로그는 adb logcat 명령을 통해 ..

Android/Seploicy 2025.05.10

Third-party 앱을 위한 SELinux 정책 설정 (untrusted_app, isolated_app)

Third-party 앱을 위한 SELinux 정책 설정 (untrusted_app, isolated_app)Android에서는 보안 강화를 위해 SELinux(SeLinux Enforcing Linux)를 활용하여 앱 및 시스템 컴포넌트의 권한을 제어합니다. 특히, Third-party 앱(서드파티 앱)은 기본적으로 untrusted_app 또는 isolated_app 도메인에 속하며, 이 정책을 적절히 구성해야 보안과 기능을 모두 만족하는 환경을 구축할 수 있습니다.이번 글에서는 Third-party 앱을 위한 SELinux 정책을 설정하는 방법을 설명하고, untrusted_app 및 isolated_app 도메인의 차이점과 함께 예제 코드를 제공합니다.1. Android SELinux에서 Thir..

Android/Seploicy 2025.05.09

Vendor 영역에서 추가한 바이너리에 대한 정책 적용 (vendor_sepolicy)

Vendor 영역에서 추가한 바이너리에 대한 정책 적용 (vendor_sepolicy)Android의 보안 모델에서 SELinux(보안 강화 리눅스)는 중요한 역할을 담당합니다. 특히, AOSP(Android Open Source Project) 기반으로 커스텀 빌드를 진행하는 경우, Vendor 영역에서 추가된 바이너리에 대한 적절한 SELinux 정책을 적용하는 것은 필수적인 작업입니다. 이 글에서는 Vendor 영역에 추가한 바이너리에 대한 SELinux 정책을 적용하는 방법을 자세히 설명하겠습니다.1. Vendor 영역에서 실행되는 바이너리란?AOSP에서 system 영역과 vendor 영역은 분리된 보안 경계를 가집니다. 일반적으로 vendor 영역에는 SoC 벤더가 제공하는 드라이버, HAL(..

Android/Seploicy 2025.05.08

Android 사용자 정의 System Service를 위한 SELinux 정책 작성

Android 사용자 정의 System Service를 위한 SELinux 정책 작성개요Android에서 새로운 System Service를 추가할 때, 해당 서비스가 정상적으로 동작하기 위해서는 SELinux 정책을 적절히 설정해야 합니다. SELinux는 Android 보안 모델의 핵심 요소로, 서비스가 접근할 수 있는 리소스를 엄격히 제한합니다. 본 포스팅에서는 새로 추가한 System Service에 대한 SELinux 정책을 작성하고 적용하는 방법을 설명하겠습니다.1. SELinux 정책 개요SELinux(Security-Enhanced Linux)는 보안 컨텍스트를 기반으로 액세스를 제어하는 강제 접근 제어(MAC) 시스템입니다. Android는 SELinux를 Enforcing 모드로 실행하..

Android/Seploicy 2025.05.08

Android sepolicy: 커스텀 보드(sepolicy) 추가 및 적용 방법

Android sepolicy: 커스텀 보드(sepolicy) 추가 및 적용 방법1. 서론Android의 보안 정책을 담당하는 SELinux(sepolicy)는 시스템의 보안성을 유지하는 핵심 요소입니다. 제조사나 개발자가 새로운 커스텀 보드를 추가할 경우, sepolicy를 수정하여 보드에 맞는 SELinux 정책을 설정해야 합니다. 본 포스팅에서는 커스텀 보드의 sepolicy를 추가하고 적용하는 방법을 설명하겠습니다.2. 커스텀 보드의 sepolicy 추가 개요Android Open Source Project(AOSP)에서 커스텀 보드를 추가하려면 다음 단계가 필요합니다.커스텀 보드 디렉터리 생성 및 설정sepolicy 디렉터리 및 정책 파일 생성파일 컨텍스트 및 권한 정의AOSP 빌드 시스템에 적..

Android/Seploicy 2025.05.06
728x90
반응형