반응형

전체 글 811

사용자 정의 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

Yocto의 주요 구성 요소 이해

Yocto의 주요 구성 요소 이해Yocto 프로젝트는 임베디드 시스템 개발을 위한 강력한 도구로, 다양한 플랫폼에 맞춘 리눅스 배포판을 생성할 수 있도록 지원합니다. 이를 효과적으로 활용하기 위해서는 Yocto의 주요 구성 요소와 이들이 상호작용하는 방식에 대한 이해가 필수적입니다. 이번 포스팅에서는 Yocto의 주요 구성 요소인 BitBake, Poky, OpenEmbedded, 그리고 BSP 레이어와 Machine Configuration에 대해 살펴보고, Yocto의 핵심인 레시피 구조를 분석해보겠습니다.BitBake, Poky, OpenEmbedded 이해1. BitBakeBitBake는 Yocto 빌드 시스템의 중심 역할을 하는 도구입니다. 이는 Yocto에서 소프트웨어 패키지를 빌드하고 이미지..

Linux/yocto 2025.05.12

Yocto 프로젝트 클론 및 첫 빌드

Yocto 프로젝트 클론 및 첫 빌드이 글에서는 Yocto 프로젝트를 클론하고, Rockchip RK3399 보드를 대상으로 하는 BSP Layer를 다운로드한 후, 기본 이미지인 core-image-minimal을 빌드하는 과정을 설명합니다. 마지막으로 빌드된 이미지를 RK3399 보드에 플래시하고 부팅하는 방법까지 안내해 드리겠습니다.1. Yocto 프로젝트 클론Yocto 프로젝트의 공식 리포지토리에서 poky를 클론하는 것으로 시작합니다. 다음 명령어를 사용해 poky를 클론합니다.# 작업 디렉터리 생성 및 이동mkdir -p ~/yocto/rk3399cd ~/yocto/rk3399# Yocto 프로젝트 클론 (mickledore 버전 예)git clone -b mickledore git://git..

Linux/yocto 2025.05.11

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

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

Android/Seploicy 2025.05.11

Yocto 개발 환경 설정: 호스트 환경 구축과 필수 패키지 설치

Yocto 개발 환경 설정: 호스트 환경 구축과 필수 패키지 설치Yocto 프로젝트는 임베디드 리눅스 시스템을 구성하는 강력한 도구입니다. 이 프로젝트를 활용하려면 먼저 호스트 환경을 적절히 구성하는 과정이 필요합니다. 이번 포스팅에서는 Ubuntu 기반의 호스트 환경에서 Yocto 개발을 위한 필수 패키지 설치와 환경 변수 설정 방법에 대해 설명합니다.1. 개발 환경 요구 사항Yocto 프로젝트는 특정 시스템 요구 사항을 충족하는 환경에서 원활하게 실행됩니다. Ubuntu LTS(Long Term Support) 버전을 사용하는 것이 권장되며, 이 글에서는 Ubuntu 22.04 LTS를 기준으로 설명합니다.1.1 하드웨어 요구 사항Yocto 빌드 과정은 상당한 시스템 자원을 필요로 합니다. 권장되는 ..

Linux/yocto 2025.05.10
반응형