AppArmor
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
AppArmor는 리눅스 운영 체제의 접근 제어 보안 모듈로, 설치된 소프트웨어가 수행할 수 있는 작업을 제한한다. AppArmor는 학습 모드를 통해 프로필 위반 사항을 기록하고, 이를 기반으로 프로그램의 일반적인 동작에 기반한 프로필을 생성할 수 있으며, 파일 경로를 통해 작동한다. SELinux와는 달리 파일 시스템에 독립적이며, SELinux보다 배우기 쉽고 기존 시스템과의 호환성이 뛰어나다는 장점이 있다. Immunix 리눅스에서 처음 사용되었으며, SUSE, Ubuntu, Debian 등 다양한 리눅스 배포판에서 활용되고 있다.
더 읽어볼만한 페이지
- 리눅스 커널 특징 - 커널 기반 가상 머신
커널 기반 가상 머신(KVM)은 리눅스 커널의 가상화 확장 기능으로, CPU와 메모리 가상화를 지원하며 QEMU와 함께 완전한 가상화 솔루션을 구성하고 다양한 관리 도구를 제공한다. - 리눅스 커널 특징 - 크립토 API (리눅스)
크립토 API는 리눅스에서 사용자 프로그램이 커널의 암호화 엔진을 사용하도록 지원하는 인터페이스로, 명령어 집합 구조를 이용하거나 커널 드라이버를 통해 접근하며, AF_ALG와 cryptodev 등의 인터페이스를 제공한다. - 리눅스 보안 소프트웨어 - GNU 프라이버시 가드
GNU 프라이버시 가드는 붸르너 코흐가 개발한 공개 키 암호 방식 기반의 암호화 소프트웨어로, PGP와 호환되며 OpenPGP 표준을 준수하고 다양한 운영체제에서 사용 가능하다. - 리눅스 보안 소프트웨어 - 카스퍼스키 안티바이러스
카스퍼스키 안티바이러스는 악성 코드 탐지 및 제거 기능을 제공하는 소프트웨어이며, 2022년 구독 비즈니스 모델로 전환되어 다양한 운영 체제를 지원하고 보안 관련 논란이 있었다.
| AppArmor - [IT 관련 정보]에 관한 문서 | |
|---|---|
| 일반 정보 | |
| 이름 | AppArmor |
| 개발자 | 이뮤닉스 (1998-2005) SUSE (노벨의 일부, 2005-2009) 카노니컬 (2009-) |
| 최초 출시일 | 1998년 |
| 최신 버전 | 3.1.6 |
| 저장소 | https://gitlab.com/apparmor |
| 프로그래밍 언어 | C Python C++ sh |
| 운영 체제 | 리눅스 |
| 장르 | 보안 리눅스 보안 모듈 (LSM) |
| 라이선스 | GNU 일반 공중 사용 허가서 |
| 웹사이트 | https://apparmor.net |
2. 상세
AppArmor는 리눅스 보안 모듈(LSM) 커널 인터페이스를 사용하여 구현되며, 프로필을 수동으로 생성하는 것 외에도 학습 모드를 제공한다. 학습 모드에서는 프로필 위반 사항이 기록되지만 방지되지는 않으므로, 이 기록을 통해 프로그램의 일반적인 동작을 기반으로 AppArmor 프로필을 생성할 수 있다.
AppArmor는 SELinux의 대안으로 제공되는데, SELinux가 관리자가 설정하고 유지 관리하기 어렵다는 비판을 받기 때문이다.[2] SELinux는 파일에 레이블을 적용하는 방식을 기반으로 하지만, AppArmor는 파일 경로를 사용한다. AppArmor 지지자들은 AppArmor가 SELinux보다 덜 복잡하고 일반 사용자가 배우기 쉽다고 주장한다.[3] 또한 AppArmor는 기존 시스템과 함께 작동하기 위해 더 적은 수정이 필요하다고 주장한다. 예를 들어, SELinux는 "보안 레이블"을 지원하는 파일 시스템이 필요하므로 NFS를 통해 마운트된 파일에 대한 접근 제어를 제공할 수 없다. AppArmor는 파일 시스템에 구애받지 않는다.
2. 1. 학습 모드
AppArmor는 프로필을 직접 작성하는 대신 학습 모드를 제공한다. 학습 모드에서는 프로필 위반 사항이 기록되지만, 위반 행위가 금지되지는 않는다.[2] 이 기록은 프로그램의 일반적인 동작을 바탕으로 AppArmor 프로필을 생성하는 데 사용될 수 있다.2. 2. LSM 인터페이스
AppArmor는 리눅스 보안 모듈(LSM) 커널 인터페이스를 사용하여 구현된다.2. 3. SELinux와의 비교
AppArmor는 보안 강화 리눅스(SELinux)의 대안으로 제공되는데, SELinux가 관리자들이 설치하고 관리하기 어렵다는 비판이 있었기 때문이다.[30] SELinux는 파일에 라벨을 적용하는 것에 기반하지만, AppArmor는 파일 경로를 통해 작동한다. AppArmor의 지지자들은 평범한 사용자들에게는 SELinux를 배우는 것보다 AppArmor가 훨씬 쉽다고 주장한다.[31]또한 AppArmor는 현재 시스템과 동작하기 위해 더 적은 수정을 요구한다고 주장한다. 예를 들어, SELinux는 "security labels"를 지원하는 파일시스템을 요구해서 NFS를 통해 마운트된 파일들에 대한 접근 통제를 제공할 수 없다. 반면 AppArmor는 파일시스템에 상관없이 작동한다.
3. 다른 시스템들
AppArmor는 설치된 소프트웨어가 수행할 수 있는 작업을 제한하는 문제에 대한 여러 가지 가능한 접근 방식 중 하나이다. SELinux 외에도, 프로세스 권한 제어를 위한 다른 시스템으로는 Smack(2007년 도입)과 토모요(2009년 리눅스 2.6.30에 포함)가 있다. 토모요는 AppArmor처럼 경로 기반 접근 제어를 사용한다.
3. 1. SELinux
SELinux는 일반적으로 AppArmor와 비슷한 접근 방식을 취한다. 중요한 차이점은 SELinux는 파일 시스템 개체를 경로 대신 inode 번호로 식별한다는 것이다. AppArmor에서는 접근할 수 없는 파일에 대한 하드 링크가 생성되면 해당 파일에 접근할 수 있게 될 수 있다. 이러한 차이점은 Ubuntu 10.10 이상에서 Yama라는 보안 모듈로 완화되면서 중요성이 감소했을 수 있으며, 이 모듈은 다른 배포판에서도 사용된다.[4] SELinux의 inode 기반 모델은 하드 링크가 접근할 수 없는 inode를 가리키기 때문에 새로 생성된 하드 링크를 통한 접근을 항상 본질적으로 거부해 왔다.SELinux와 AppArmor는 또한 관리 방식과 시스템 통합 방식에서 크게 다릅니다.
3. 2. 가상화
프로세스 격리는 가상화와 같은 메커니즘을 통해 달성할 수 있다. 예를 들어, 모두를 위한 노트북(OLPC) 프로젝트는 개별 애플리케이션을 경량 Vserver에서 샌드박싱한다.[4]3. 3. 기타 보안 모듈
AppArmor는 설치된 소프트웨어가 할 수 있는 행위를 제어하는 여러 방법 중 하나이다.SELinux는 AppArmor와 비슷한 접근 방식을 취한다. 한 가지 중요한 차이점은 SELinux는 경로 대신 아이노드 번호로 파일 시스템 객체를 구별한다는 것이다. 예를 들어, AppArmor에서는 접근할 수 없는 파일에 대한 하드 링크가 만들어지면 접근이 가능해질 수 있지만, SELinux에서는 하드 링크가 생성되어도 아이노드가 같으면 접근을 거부한다.
SELinux와 AppArmor는 관리 방식과 시스템 통합 방식에서 큰 차이를 보인다.
프로세스 격리는 가상화 같은 메커니즘을 통해서도 가능하다. 예를 들어, OLPC 프로젝트는 개별 애플리케이션들을 경량 Vserver에서 샌드박스한다.
2007년에는 Smack이 도입되었다.
2009년에는 TOMOYO Linux라는 새로운 솔루션이 리눅스 2.6.30에 포함되었다. AppArmor처럼 경로 기반 접근 통제를 사용한다.[4]
4. 활용
AppArmor는 여러 리눅스 배포판에서 활용되어 왔다. Immunix 리눅스, SUSE Linux, 우분투 등에서 사용되었으며, 2010년에는 리눅스 커널에 통합되었다. 그 외에도 Synology DSM, Solus, Debian 10 (Buster), Arch Linux 등에서도 활용된다.
4. 1. Immunix Linux
AppArmor는 1998년부터 2003년까지 Immunix 리눅스에서 처음 사용되었다. 당시 AppArmor는 SubDomain[5][6]으로 알려졌는데, 이는 특정 프로그램의 보안 프로파일을 프로그램이 동적으로 전환할 수 있는 서로 다른 도메인으로 분할하는 기능에 대한 것이었다. AppArmor는 SLES와 openSUSE에서 처음 사용 가능하게 되었으며, SLES 10과 openSUSE 10.1에서 기본적으로 활성화되었다.4. 2. SUSE Linux
AppArmor는 1998년부터 2003년까지 Immunix 리눅스에서 처음 사용되었다. 당시 AppArmor는 SubDomain[5][6]으로 알려졌는데, 이는 특정 프로그램의 보안 프로파일을 프로그램이 동적으로 전환할 수 있는 서로 다른 도메인으로 분할하는 기능에 대한 것이었다. AppArmor는 SLES와 openSUSE에서 처음 사용 가능하게 되었으며, SLES 10과 openSUSE 10.1에서 기본적으로 활성화되었다.2005년 5월 Novell은 Immunix를 인수하고 SubDomain을 AppArmor로 이름을 변경했으며, Linux 커널에 포함시키기 위해 코드를 정리하고 재작업을 시작했다.[7] 2005년부터 2007년 9월까지 AppArmor는 Novell에서 유지 관리했다. Novell은 SUSE에 인수되었으며, 현재 AppArmor라는 상표 등록된 이름의 법적 소유자이다.[8]
4. 3. 우분투 (Ubuntu)
AppArmor는 2007년 4월 우분투에 처음으로 성공적으로 포팅 및 패키징되었다.[32] 우분투 7.10부터 기본 패키지가 되었으며, 8.04부터는 기본적으로 CUPS를 보호하는 릴리즈의 한 부분이 되었다. 우분투 9.04부터는 MySQL 같은 여러 요소들이 설치된 프로필을 가지게 되었다. 우분투 9.10에서는 AppArmor가 더욱 강화되어 게스트 세션, libvirt 가상 머신, Evince 문서 뷰어 및 선택적 Firefox 프로필에 대한 프로파일도 함께 제공되었다.[9]4. 4. 기타 배포판
AppArmor는 여러 리눅스 배포판에서 활용되고 있다. 다음은 주요 배포판별 AppArmor 통합 및 활용 사례이다.| 배포판 | 설명 |
|---|---|
| 우분투 | 2007년 4월 처음 포팅/패키징, 우분투 7.10부터 기본 패키지. 우분투 8.04는 CUPS 기본 보호, 우분투 9.04부터 MySQL 등 프로파일 추가. 우분투 9.10은 게스트 세션, libvirt 가상 머신, Evince, Firefox 등 개선.[32] |
| Synology DSM | 2014년 DSM 5.1 베타부터 통합.[37] |
| Solus | 2017년 8월 15일 Solus Release 3에서 활성화.[15] |
| Debian 10 (Buster) | 2019년 7월 출시된 Debian 10 (Buster)에서 기본 활성화.[16] |
| Arch Linux | extra 저장소에서 사용 가능.[17] |
4. 5. 커널 통합
AppArmor는 2010년 10월 커널 릴리즈 2.6.36에 통합되었다.[33][34][35][36]참조
[1]
웹사이트
The AppArmor: Application Armor Open Source Project on Open Hub: Languages Page
https://www.openhub.[...]
[2]
웹사이트
SELinux: Comprehensive security at the price of usability
https://www.linux.co[...]
2023-06-11
[3]
웹사이트
Protective armor: Shutting out intruders with AppArmor
http://www.linux-mag[...]
Linux Magazine
2008-08-02
[4]
웹사이트
Security/Features - Ubuntu Wiki
https://wiki.ubuntu.[...]
2020-07-19
[5]
웹사이트
Immunix System 7: Linux security with a hard hat (not a Red Hat)
https://web.archive.[...]
2001-12-17
[6]
웹사이트
Immunix.org: The Source for Secure Linux Components and Platforms
http://www.immunix.o[...]
2000-11-15
[7]
웹사이트
AppArmor_History · Wiki · AppArmor / apparmor
https://gitlab.com/a[...]
[8]
US trademark
[9]
웹사이트
SecurityTeam/KnowledgeBase/AppArmorProfiles – Ubuntu Wiki
https://wiki.ubuntu.[...]
2011-01-09
[10]
웹사이트
The 2.6.36 kernel is out
https://lwn.net/Arti[...]
2010-10-20
[11]
웹사이트
Change Log
https://web.archive.[...]
2010-10-20
[12]
웹사이트
Linux 2.6.36
https://kernelnewbie[...]
2010-10-20
[13]
웹사이트
Linux Kernel 2.6.36 Gets AppArmor
https://web.archive.[...]
2010-10-21
[14]
웹사이트
Release Notes for DSM 5.1 Beta Program
https://www.synology[...]
[15]
웹사이트
Solus 3 Linux Distribution Released For Enthusiasts
https://www.phoronix[...]
[16]
웹사이트
New in Buster
https://wiki.debian.[...]
[17]
웹사이트
Arch Linux - apparmor pkgver-pkgrel (x86_64)
https://archlinux.or[...]
[18]
웹사이트
Release_Notes_3.1.6 · Wiki · AppArmor / apparmor · GitLab
https://gitlab.com/a[...]
2023-12-23
[19]
웹사이트
Linux.com :: SELinux: Comprehensive security at the price of usability
http://www.linux.com[...]
2006-12-11
[20]
웹사이트
Protective armor: Shutting out intruders with AppArmor
http://www.linux-mag[...]
Linux Magazine
2008-08-02
[21]
웹사이트
Immunix System 7: Linux security with a hard hat (not a Red Hat)
https://web.archive.[...]
2001-12-01
[22]
웹사이트
Immunix.org: The Source for Secure Linux Components and Platforms
http://www.immunix.o[...]
2000-11-15
[23]
웹사이트
SecurityTeam/KnowledgeBase/AppArmorProfiles - Ubuntu Wiki
https://wiki.ubuntu.[...]
2011-01-09
[24]
웹사이트
The 2.6.36 kernel is out
http://lwn.net/Artic[...]
2010-10-20
[25]
웹사이트
Change Log
http://www.kernel.or[...]
2010-10-20
[26]
웹사이트
Linux 2 6 36
http://kernelnewbies[...]
2010-10-20
[27]
웹사이트
Linux Kernel 2.6.36 Gets AppArmor
http://www.linuxplan[...]
2010-10-20
[28]
웹사이트
Release Notes for DSM 5.1 Beta Program
https://www.synology[...]
2010-10-20
[29]
웹인용
Release Notes 2.13.2, AppArmor Wiki (English)
https://gitlab.com/a[...]
2019-01-30
[30]
웹인용
Linux.com :: SELinux: Comprehensive security at the price of usability
http://www.linux.com[...]
2016-05-06
[31]
웹인용
Protective armor: Shutting out intruders with AppArmor
http://www.linux-mag[...]
Linux Magazine
2008-08-02
[32]
웹인용
SecurityTeam/KnowledgeBase/AppArmorProfiles - Ubuntu Wiki
https://wiki.ubuntu.[...]
2011-01-09
[33]
웹인용
The 2.6.36 kernel is out
http://lwn.net/Artic[...]
2010-10-20
[34]
웹인용
Change Log
http://www.kernel.or[...]
2010-10-20
[35]
웹인용
Linux 2 6 36
http://kernelnewbies[...]
2010-10-20
[36]
웹인용
Linux Kernel 2.6.36 Gets AppArmor
http://www.linuxplan[...]
2010-10-20
[37]
웹인용
Release Notes for DSM 5.1 Beta Program
https://www.synology[...]
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com