반응형

전체 글 805

최신 Android에서 추가된 보안 정책 및 변경 사항

최신 Android에서 추가된 보안 정책 및 변경 사항개요Android의 SELinux(sepolicy)는 보안 강화를 위해 지속적으로 발전하고 있습니다. 최신 Android 버전에서도 새로운 보안 정책이 추가되었으며, 기존 정책의 변경 사항이 적용되었습니다. 이번 글에서는 최신 Android에서 추가된 SELinux 정책과 주요 변경 사항을 분석하고, 실제 적용된 코드 예시를 포함하여 설명하겠습니다.1. SELinux 정책의 주요 변경 사항1.1 새로운 도메인 추가최신 Android에서는 보안 강화를 위해 새로운 도메인이 추가되었습니다. 이는 특정 시스템 서비스와 프로세스를 더욱 정밀하게 관리하기 위한 조치입니다. 예를 들어, system_server와 상호작용하는 특정 서비스에 대해 별도의 도메인이 ..

Android/Seploicy 2025.05.18

Yocto 커스텀 레이어: 애플리케이션과 라이브러리 레시피 작성

Yocto 커스텀 레이어: 애플리케이션과 라이브러리 레시피 작성이번 포스팅에서는 Yocto 프로젝트에서 사용자 정의 애플리케이션과 외부 라이브러리를 패키징하고 이미지에 포함하는 방법을 설명합니다. 지난 포스팅에서 Yocto 개발 환경을 설정하는 방법을 다루었으므로, 이번에는 실제로 C/C++ 애플리케이션과 외부 라이브러리를 다루는 레시피를 작성하는 실습을 진행해보겠습니다.1. 간단한 C/C++ 애플리케이션 작성과 Yocto 레시피 작성먼저, 간단한 C/C++ 애플리케이션을 작성하고 이를 Yocto 패키지로 빌드하는 방법을 살펴보겠습니다.1.1 C 애플리케이션 작성아래는 간단한 C 프로그램 예제입니다. 이 프로그램은 "Hello Yocto!"를 출력하는 역할을 합니다.hello-yocto.c 파일:#inc..

Linux/yocto 2025.05.16

Android 10~14 버전별 SELinux 정책 변화 분석

Android 10~14 버전별 SELinux 정책 변화 분석Android는 보안을 강화하기 위해 SELinux(보안 강화 리눅스)를 도입하였으며, 각 버전이 업데이트될 때마다 정책이 지속적으로 개선되고 있습니다. 본 글에서는 Android 10부터 Android 14까지의 SELinux 정책 변화를 비교 분석하고, 주요 변경 사항과 그 영향을 설명드리겠습니다.1. Android 10 (Q)의 SELinux 정책 변화Android 10에서는 보안 강화를 위한 SELinux 정책 변경이 대폭 이루어졌습니다. 주요 사항은 다음과 같습니다.1.1 APEX 모듈 도입으로 인한 SELinux 변경Android 10에서는 APEX(Application Package Extension) 모듈이 도입되면서, 시스템 파..

Android/Seploicy 2025.05.16

Yocto RK3399 커스텀 Layer 생성

Yocto RK3399 커스텀 Layer 생성이번 포스팅에서는 Yocto 프로젝트에서 Rockchip RK3399 보드를 대상으로 커스텀 레이어(Custom Layer)를 생성하는 방법에 대해 설명합니다. Yocto의 기본 레이어만으로는 특정 하드웨어나 프로젝트에 특화된 기능을 반영하기 어렵기 때문에, 별도의 커스텀 레이어를 생성하고 이를 관리하는 과정이 중요합니다.이 글에서는 새로운 레이어를 생성하고, 기본적인 layer.conf 파일을 구성하는 방법을 단계별로 설명합니다. 또한, 예제 레시피를 작성하고, 빌드 과정에서 해당 레시피가 제대로 반영되는지 확인하는 절차까지 상세하게 다룹니다.1. 커스텀 Layer의 필요성Yocto 프로젝트는 다양한 패키지와 보드를 지원하기 위해 여러 레이어로 구성됩니다. ..

Linux/yocto 2025.05.15

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

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

Android/Seploicy 2025.05.15

RK3399 이미지 커스터마이징

RK3399 이미지 커스터마이징1. 개요Yocto 프로젝트를 활용하면 임베디드 시스템을 위한 맞춤형 리눅스 배포판을 생성할 수 있습니다. 이 글에서는 Rockchip RK3399를 대상으로 Yocto 기반 이미지를 커스터마이징하는 방법을 설명합니다. 주요 작업으로는 local.conf와 bblayers.conf 설정, 기본 패키지 추가 및 제거, 부트로더와 커널 설정 방법을 다룰 예정입니다.2. Yocto 환경 준비 확인이미 Yocto 빌드 환경은 이전 포스팅에서 설명한 대로 설정되어 있다고 가정합니다. RK3399용 Yocto 프로젝트 디렉터리(build 디렉터리)로 이동한 상태에서 작업을 진행하면 됩니다.cd ~/yocto/build3. local.conf 설정local.conf는 Yocto 빌드의 ..

Linux/yocto 2025.05.14

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

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

Android/Seploicy 2025.05.14

Yocto 기본 빌드 프로세스 이해 (2) - Bitbake 기본 사용법, 이미지와 패키지 빌드, 작업 디렉터리 및 로그 분석

Yocto 기본 빌드 프로세스 이해 (2) - Bitbake 기본 사용법, 이미지와 패키지 빌드, 작업 디렉터리 및 로그 분석이전 포스팅에서 Yocto 개발 환경을 구성하는 방법과 기본적인 설정 과정을 설명드렸습니다. 이번 포스팅에서는 Yocto의 핵심 도구인 Bitbake를 사용하는 방법과 이미지 및 패키지를 빌드하는 과정, 작업 디렉터리와 로그를 분석하는 방법을 상세히 알아보겠습니다.1. Bitbake 기본 사용법Bitbake 개요Bitbake는 Yocto 프로젝트의 빌드 시스템을 담당하는 도구입니다. 메타데이터(레시피, 클래스 파일, 환경 설정)를 기반으로 패키지와 이미지를 생성하는 역할을 수행합니다. Bitbake는 여러 단계로 나뉘어 빌드를 수행하며, 각 단계는 독립적인 작업(Task)으로 처리..

Linux/yocto 2025.05.13

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
반응형