Linux 보안 모듈

Linux Security Modules

Linux 보안 모듈(LSM)은 Linux 커널이 다양한 컴퓨터 보안 모델을 편견 없이 지원할 수 있는 프레임워크입니다.LSM은 GNU General Public License 조건에 따라 라이선스되며 Linux 2.6 이후 Linux 커널의 표준 부분입니다.AppArmor, SELinux, SmackTOMOYO Linux는 현재 공식 커널에서 승인된 보안 모듈입니다.

설계.

LSM은 Linux 커널에 최소한의 변경을 가하면서 필수 접근컨트롤 모듈을 정상적으로 구현하기 위한 모든 요건에 대응할 수 있도록 설계되었습니다.LSM은 멀티프로세서 커널로 확장되지 않고 TOCTTOU(레이스) 공격의 대상이 되기 때문에 Systrace에서 사용되는 시스템콜 인터벤션의 접근을 회피합니다.대신 LSM은 inode나 태스크컨트롤 블록 등의 중요한 내부 커널 오브젝트에 대한 접근을 통해 사용자 레벨의 시스템콜이 발생하는 커널의 모든 포인트에 ""(모듈에 대한 업콜)을 삽입합니다.

LSM은 액세스컨트롤의 문제를 해결하기 위해 좁은 범위를 가지며 메인스트림커널에 크고 복잡한 변경패치를 부과하지 않습니다.일반적인 "" 또는 "업콜" 메커니즘이 아니며 운영 체제 수준의 가상화도 지원하지 않습니다.

LSM의 액세스컨트롤 목표는 시스템 감사 문제와 매우 밀접하게 관련되어 있지만 미묘하게 다릅니다.감사에서는, 액세스의 모든 시도를 기록할 필요가 있습니다.LSM은 중요한 오브젝트에 근접하기 전에 커널의 "쇼트"에 장애가 발생한 시스템콜을 검출하여 에러 코드를 반환하는 경우를 검출하기 위해 더 많은 훅이 필요하기 때문에 이를 전달할 수 없습니다.

LSM 설계에 대해서는 다음 문서에서 설명합니다.Linux Security Modules Linux[1] 커널에 대한 [2]일반 보안 지원은 USENIX Security 2002에서 제공되었습니다.같은 회의에서는 Using CCAL for Static Analysis of Authorization Hook[3] Placement라는 논문을 발표하였습니다.이 논문은 커널 코드의 자동 정적 분석을 연구하여 필요한 모든 후크가 실제로 Linux 커널에 삽입되었는지 검증했습니다.

도입

역사

2001년 Linux 커널 서밋에서 NSASELinux를 Linux 2.5에 [5]포함시킬 것을 제안했습니다.리누스 토발즈는 당시 SELinux를 거부했는데, 그 이유는 개발 중인 보안 프로젝트가 매우 많고, 모두 다르기 때문에 보안 커뮤니티는 아직 궁극적인 보안 모델에 대한 공감대를 형성하지 못했기 때문입니다.대신, Linus는 보안 커뮤니티에 "모듈화"를 요구했다.

이에 대해 Crispin Cowan은[6] LSM을 제안했습니다.LSM은 Linux 커널 내에서 로딩 가능한 모듈로 충분한 "훅"(업콜)을 제공하여 모듈이 필수 액세스 제어를 강제할 수 있도록 합니다.이후 2년간 LSM 개발은 Immunix Corporation, NSA, McAfee, IBM, Silicon Graphics 및 많은 독립 기부자들의 상당한 기여를 포함하여 LSM 커뮤니티에 의해 수행되었습니다.LSM은 최종적으로 Linux 커널의 주류로 받아들여져 2003년 12월에 Linux 2.6의 표준 부품으로 포함되었습니다.

2006년에 일부 커널 개발자들은 SELinux가 메인스트림 Linux 커널 소스 트리에 포함된 유일한 널리 사용되는 LSM 모듈이라는 것을 알게 되었습니다.널리 사용되는 LSM 모듈이 1개뿐인 경우 LSM의 인다이렉션은 불필요하며 LSM을 분리하여 SELinux 자체와 교환해야 합니다.그러나 메인스트림 커널 트리 외부에 유지되는 다른 LSM 모듈(AppArmor, Linux Intrusion Detection System, FireFlier, CIPSO, Multi ADM 등)이 있기 때문에 이러한 모듈 개발자가 각 모듈을 업스트림화하기 시작한 것과 2006년 커널 서밋(Linus)에서 두 가지 결과가 도출되었습니다.e는 LSM이 최적의 보안 모델 중 어느 쪽을 중재하고 싶지 않기 때문에 LSM이 남아 있을 것이라고 재차 단언했습니다.

LSM은 메인라인 커널에서 추가 보안 모듈인 Smack(버전 2.6.25), TOMOYO Linux(버전 2.6.30, 2009년 6월) AppArmor(버전 2.6.36)가 승인되었기 때문에 유지될 가능성이 높습니다.

레퍼런스

  1. ^ "Linux Security Modules: General Security Support for the Linux Kernel". 2002. Retrieved 2007-02-03.
  2. ^ "11th USENIX Security Symposium". 2002. Retrieved 2007-02-03.
  3. ^ "Using CQUAL for Static Analysis of Authorization Hook Placement". 2002. Retrieved 2007-02-03.
  4. ^ Landlock: 권한 없는 접근 제어
  5. ^ Stephen Smalley, Timothy Fraser, Chris Vance. "Linux Security Modules: General Security Hooks for Linux". Retrieved 2015-10-26.{{cite web}}: CS1 maint: 작성자 파라미터 사용(링크)
  6. ^ Crispin Cowan (2001-04-11). "Linux Security Module Interface". linux-kernel mailing list. Retrieved 2007-02-03.

외부 링크