안전벨트 없는 운전처럼, 보안 없는 운영체제는 위험하다

By PLURA

🚦 리눅스의 SELinux, 윈도우의 PowerShell Constrained Language Mode(CLM) 는 운영체제 보안의 안전벨트와 같은 존재입니다. 하지만 지금은 단순한 설정 변경만으로 꺼버릴 수 있습니다. 이는 “안전벨트를 풀어도 자동차가 출발해 버리는 상황”과 같습니다.

안전벨트를 차지 않으면 자동차가 출발조차 할 수 없다면, 교통사고로 인한 피해는 훨씬 줄어들 것입니다. 운영체제 보안도 마찬가지입니다. SELinux와 CLM은 꺼버릴 수 없는 구조여야 합니다.

Security Seatbelt


1. 왜 끌 수 있게 설계되었을까?

  • 호환성과 레거시 오래된 애플리케이션과의 충돌 때문에 보안 기능이 기본적으로 강제되지 않았습니다.

  • 운영 편의성 장애 발생 시 관리자들이 가장 쉽게 선택할 수 있는 방법이 “일단 끄기"였기 때문입니다.

  • 지원 부담 회피 벤더와 SI업체는 “SELinux 끄고 써라”라는 가이드로 지원 비용을 줄이는 길을 택했습니다.

  • 잘못된 온라인 안내
    🚨수많은 블로그와 설치 가이드는 소프트웨어 설치 전 SELinux를 기본적으로 꺼라(off) 고 안내하고 있습니다.
    더 심각한 것은, 오류 발생 사례를 설명하면서도 해결 방법으로 “SELinux를 꺼라” 고 제시하는 경우가 많습니다.
    그러나 이는 보안 기능이 어떤 문제를 해결하는지, 왜 존재하는지조차 이해하지 못한 채, 보안을 무력화하는 습관을 사용자들에게 학습시키는 것입니다.

👉 이런 환경에서는 관리자는 물론 개발자와 사용자까지 보안 기능을 ‘귀찮은 방해 요소’로만 인식하게 되고, 결과적으로 공격자에게는 더 쉽게 침투할 수 있는 기회가 열립니다.


2. 안전벨트 비유: 경고음만으로는 부족하다

  • 지금의 SELinux와 CLM은 단순히 경고를 울리는 수준입니다.
  • 그러나 보안은 자동차의 시동 차단 장치처럼, 사용자가 강제로 끌 수 없도록 설계되어야 합니다.

✅ “보안 안전벨트”는 경고가 아니라 차단이 핵심입니다.


3. 운영체제가 제공해야 할 강제 구조

🛡️ 기본은 무조건 켜진 상태로 배포

  • 모든 리눅스 배포판은 SELinux Enforcing 모드가 꺼질 수 없는 상태로 제공되어야 합니다.
  • 모든 윈도우는 PowerShell CLM이 기본 모드이며, 사용자가 임의로 FullLanguage로 변경할 수 없도록 해야 합니다.
  • 즉, “보안 안전벨트”는 출발선부터 매어진 상태여야 하며, 일반 사용자나 관리자 편의로 풀 수 없는 구조여야 합니다.

📦 예외는 별도 배포본으로만 제공

  • 만약 호환성이나 특수 목적상 보안 기능을 꺼야 한다면, 그것은 별도의 배포본(Non-Secure Edition) 으로 제공되어야 합니다.

  • 이 배포본은 명확히 위험 경고를 포함하고,

    • “SELinux Off Edition — 운영 보안 취약”
    • “PowerShell Full Edition — CLM 보호 미적용” 같은 라벨이 붙어야 합니다.
  • 사용자가 이 버전을 선택한다는 것은, 마치 안전벨트 없는 자동차를 구매하는 것과 같은 책임을 스스로 떠안는 행위가 되어야 합니다.

📢 가시성과 경고 강화

  • 만약 보안 기능이 꺼진 배포본을 사용한다면, 부팅 시점부터 대시보드까지 지속적인 경고가 표시되어야 합니다.
  • 이는 단순한 옵션 변경이 아니라, 보안 수준이 급격히 낮아진 상태임을 모든 관리자가 명확히 인식할 수 있어야 합니다.

또한, 터미널에서도 경고가 반복적으로 출력되어야 합니다.

  • 사용자가 명령어를 실행할 때마다, 시스템이 다음과 같이 안내하는 것입니다:
⚠️ 현재 운영체제는 SELinux(또는 CLM)가 OFF 상태입니다.
이 버전은 학습·테스트용으로만 사용해야 합니다.
실제 운영 환경에서는 반드시 보안 기능이 활성화된 배포본을 사용하십시오.
  • 이렇게 하면 관리자가 단순히 getenforcepowershell 상태를 조회하지 않아도, 항상 위험 상태를 인식할 수 있습니다.
  • 궁극적으로는 사용자가 보안 기능을 끄고도 “괜찮다”라고 생각하지 못하게 하며, 학습용과 운영용 환경을 철저히 구분할 수 있도록 강제합니다.

4. 무엇을 막을 수 있을까?

  • 리눅스: SELinux Enforcing이 기본 배포본에 적용되면, 웹 서버 RCE 발생 후에도 /etc/shadow·SSH 키 같은 핵심 자원 접근을 원천적으로 차단할 수 있습니다.
  • 윈도우: PowerShell CLM 기본 배포본은 Living off the Land(LOTL) 공격을 억제하며, 서명되지 않은 스크립트 실행을 차단합니다.
  • 공통점: 사용자가 임의로 기능을 끌 수 없기 때문에, 관리자 실수나 공격자 권한 상승 후에도 “보안 기본선”이 절대 무너지지 않습니다.

✅ MITRE ATT&CK의 권한 상승(T1548), 스크립트 실행(T1059), 서명된 바이너리 악용(T1216) 등의 전술을 “보안 안전벨트 기본 배포”만으로도 상당 부분 차단할 수 있습니다.


5. 제안: 보안 안전벨트 의무화

  1. 운영체제는 강제 모드 기본 배포판만 제공해야 합니다.

    • SELinux Enforcing / PowerShell CLM 강제 모드가 꺼질 수 없는 상태로 출하
    • 사용자가 별도 조치 없이 보안이 유지되는 안전 기본값(Default Secure) 확립
  2. Off 모드는 별도 배포본으로만 제공해야 합니다.

    • “SELinux Off Edition”, “PowerShell Full Edition”처럼 명확한 경고 라벨을 부착
    • 학습·테스트 용도로만 허용되며, 운영 환경에서는 사용하지 못하도록 지속적인 경고와 제한 포함
  3. 경고 체계 강화

    • Off 배포본을 선택한 경우, 부팅·대시보드·터미널 출력 전 영역에서 “학습용으로만 사용” 메시지를 반복 표시
    • 단순 경고음이 아닌, 안전벨트 미착용 시 경고등과 알람이 멈추지 않는 구조로 설계

6. PLURA-XDR가 제안하는 방향

PLURA-XDR은 보안 기능을 단순히 “켜라/꺼라”의 문제가 아닌, 운영체제 자체가 보안 안전벨트를 강제로 채워 배포해야 한다는 관점을 지지합니다.

  • 강제화: 기본 배포본은 보안 모드에서만 작동하며, Off는 별도 라벨이 붙은 배포본으로만 제공
  • 가시화: Off 배포본을 선택한 경우, 터미널·대시보드·로그 전 영역에서 지속 경고
  • 책임 명확화: Off 버전은 학습/실험용임을 명시하여, 운영 환경에서 사용 시 발생하는 위험 책임을 사용자에게 귀속

✅ 이는 단순한 정책 제안이 아니라, 기업 운영 환경의 새로운 보안 표준입니다. 운영체제가 “보안은 선택이 아니라 기본”이라는 철학을 실현할 때, 기업은 보다 안전하고 지속적인 성장을 보장받을 수 있습니다.


✍️ 결론

  • SELinux와 PowerShell CLM은 선택 옵션이 아니라, 기업 운영의 필수 안전벨트입니다.
  • 안전벨트를 매지 않고는 자동차가 출발하지 않듯, 운영체제 보안도 강제로 채워야 합니다.
  • 더 이상 “편의상 꺼두자”라는 선택지가 존재하지 않아야 합니다.

👉 이제는 운영체제가 보안 안전벨트를 강제하는 시대로 나아가야 합니다. 그것이야말로 사이버 위협 시대의 진짜 기본값 보안(Default Security)입니다.


📖 함께 읽기