2012년 10월 25일 목요일

몇가지 노트

New Document 두서 없이 적어보는 안드로이드 노트.
SEAndroid를 이해하기 위해서는 SELinux를 알아야 한다. 안드로이드 커널이 리눅스 커널을 모체로 하고 있으니까. 잠시 (사실 거의 같다) 암패치 해 주시는 뭐시기 킹께 감사.
SE리눅스는 NSA에서 개발했고 지금은 kernel.org에 속속들이 들어가고 있다. nsa에 커널 2.6대까지 밖에 없어서 중단되었냐고 물어보니까 걍 각 패키지에 녹아 들어가서 거기서 알아서 하고 있다고 한다. 결국 NSA가 만들긴 했지만 수많은 기여자가 열심히 SE 안드로이드를 개발하고 있는 것이다.

SE 리눅스 설정파일 /etc/sysconfig/selinux 에 있다.

켤려면 enforcing 끌려면 disabled.

이정도로 하고 SE Android...
SE Android 는 NSA의 Open Source Project 로 시작 Android의 부족한 Security 부분을 보완
일반적인 Linux의 DAC 방식 대신 MAC 방식 채용
DAC 란 : Discretionary Access Control. 임의적 접근 통제. 객체 접근 시 소유자, 그룹, 접근허가 집합 등에 의거하여 통제.
MAC 란 : Mandatory Access Control. 강제적 접근 통제. 주어진 객체의 보안레벨에 따라 자원접근을 통제.
Policy control 을 통한 process, daemon, app 등의 제한적 권한 설정 가능
Policy 설정에 따라 root 권한도 특정 device 에 접근하지 못하도록 하는 것이 가능

LSM이 약자인 리눅스 시큐리티 모듈은 그럼 언제 활성화 되는가?
DAC를 통과하면(우리가 생각하는 chmod 777권한
rwxrwxrwx... MAC퍼미션을 체크하는데 이 때 가동이 된다.)

Kernel : SELinux feature 의 enable, android binder patch, xattr support feature enable
Bionic : xattr support
Build : make_ext4fs tool 수정
external : libselinux, libsepol, checkpolicy, sepolicy
framework/base : selinux 를 위한 JNI binding 추가
각 daemon 별, 중요 process 별로 policy file 을 가짐.
Application 의 경우 release, media, shared, platform 의 4개의 key 중 하나를 가지며, SE Android 는 이 key 를 기반으로 policy 를 정함.
키 정보

댓글 없음:

댓글 쓰기

국정원의 댓글 공작을 지탄합니다.

UPBIT is a South Korean company, and people died of suicide cause of coin investment.

 UPBIT is a South Korean company, and people died of suicide cause of coin. The company helps the people who control the market price manipu...