운영체제 보안

김재현·2025년 10월 25일

네트워크 및 보안

목록 보기
3/12

시스템 보안 계획 수립

(1)새로운 시스템을 구축/배치하는 첫번째 단계는 계획수립

(2)계획 수립에 조직의 전반적인 보안 평가 포함

(3)비용을 최소화하면서 보안성을 최대화하는 것이 계획 수립의 목표

(4)계획 수립 단계에서 시스템, 응용 프로그램,데이터 밒 사용자에 대한 보안 요구사항을 결정해야 함

(5)계획 수립 단계에서 시스템을 설치하고 관리하는 전문 인력에게 요구되는 기술과 필요한 훈련을 명시할 필요가 있

<운영체제 설치:초기 설치와 패치>

  • 불필요한 서비스, 응용프로그램, 프로토콜 제거하기
  • 사용자, 그룹, 인증 설정하기
  • 자원 접근제어 설정하기
  • 보안 도구를 추가로 설치하기
  • 시스템 보안 테스트하기

응용 프로그램 보안

운영체제를 설치 후, 필요한 서비스와 응용프로그램을 설치하고 설정

<응용 프로그램 설정>

응용 프로그램을 위한 데이터 저장소를 생성하고 명시하는 일

응용 프로그램이나 서비스의 기본 설정을 적절하게 변경하는 일

→일부 응용 프로그램이나 서비스는 기본 데이터, 스크립트, 또는 사용자 계정을 가질 수 있음

-특히 웹과 파일 전송 서비스와 같이 원격에서 접근하는 서비스들은 이들에게 허용되는 접근 권한을 검토해야함

*웹 변조 공격

서비스가 제공하는 모든 파일을 서버를 실행하는 사용자 계정이 소유

서버에 의해 실행되는 sw 혹은 스크립트의 취약점을 이용하는 공격자는 이런 파일을 수정할 수 있음

서버가 파일 대부분을 읽을 수만 있고 쓸 수 없도록 하면, 웹 변조 공격의 위험은 많이 감소될 수 있음

<암호화 기술>

데이터 전송이나 저장을 안전하게 하기 위해 사용되는 중요 기술

암호화 기술을 설정해야 하며 적절한 암호키를 생성하고, 서명하고 보호해야함

*TLS나 IPsec를 사용하여 안전한 네트워크 서비스를 제공하려면 공개키와 개인키를 생성해야함

SSH를 사용하여 안전한 원격 접근을 제공하려면 서버와 클라이언트키를 생성해야 함

보안 유지 보수

보안 유지 보수 내용
-로깅 정보의 감시 및 분석
-정기적인 백업 수행
-공격 피해로부터 복구
-정기적인 시스템 보안 테스트
-중요한 소프트웨어를 패치하고 업데이트하기 위해, 또한
필요할 때마다 설정을 감시하고 수정하기 위해 적절한
소프트웨어 유지 보수 절차를 사용

<데이터 백업과 아카이브>

데이터의 정기적인 백업은 시스템과 사용자 데이터의 무결성 유지를 지원하는 중요한 작업

백업?

:상대적으로 짧은 시간을 두고 데이터 복사본을 만드는 업무 절차

아카이브?

:과거 데이터를 접근하기 위한 법적 또는 운영 요구사항을 만족시키기 위해 장기간에 걸쳐 데이터의 복사본을 보존하는 업무 절차

리눅스/유닉스 보안

사용자, 그룹, 허가권
유닉스/리눅스 시스템은 파일 시스템/장치/프로세스/메모리 등 시스템자원에 대해 임의 접근 제어(DAC)를 제공
 접근 제어는 각 자원에 대해 소유자, 그룹, 기타 사용자의 읽기, 쓰기,실행하기 허가권을 승인하는 것임 ← chmod 명령어
 유닉스/리눅스의 견고화 안내서에서는 중요한 디렉토리와 파일은 접근을 제한하도록 접근 허가권을 변경할 것을 권고하고 있음

  • root에 대한 setuid가 설정되었거나 권한 있는 그룹에 대한 setgid가 설정된 프로그램들은 공격자의 주요 목표임
  • Local exploit : 공격자가 권한 상승에 악용할 수 있는 위와 같은 소프트웨어의 취약점
  • Remote exploit : 원격 공격자가 악용할 수 있는 네트워크 서버의 SW 취약점

원격 접근 제어

  • remote exploit가 주 관심사항인 경우, 필요한 서비스만 원격에서 접근할 수있도록 제한해야 함
  • perimeter 방화벽으로 제공될 수 있으며, 일부 호스트 기반 방화벽이나 네트워크 접근제어 메커니즘은 추가의 방어를 제공
  • 대부분의 시스템은 관리자 유틸리티를 제공하여 시스템 접근이 허용되는 서비스를 선택할 수 있도록 함

대부분의 응용 프로그램들은 “디버깅”부터 ‘없음’까지의 상세 수준에 따라 로그를 하도록 설정 가능

일반적으로 중간의 설정이 최상의 설정이지만 기본 설정 값이 적절하다고 가정해서는 안 됨

응용마다 전용 로그 파일을 지정하거나 또는 공용의 /dev/log에 로그 데이터를 쓰기 위해 syslog 기능을 지정할 수 있음

큰 log file은 처리가 어렵고, 파일 시스템의 용량은 제한되므로 대용량 log file 문제에 대한 해결책이 log rotation임

→주기적으로 log file을 다른 이름의 파일에 옮기고, log file을 비움. 일정 기간이 지나면 예전 log file을 제거

<chroot감옥을 사용한 응용 프로그램 보안>

-네트워크에서 접근 가능한 서비스 중에서 전체 파일 시스템이 아닌 일부 데이터 파일과 디렉토리만 필요한 경우가 있음

ex)FTP-특정 디렉토리에 파일을 업로드하고 그 디렉토리부터 파일을 다운로드

  • chroot 시스템 호출을 통해 다른 디렉토리를 파일시스템의 루트로 매핑시켜 프로세스의 파일 시스템에 대한 접근을 파일 시스템의 일부분으로 제한
  • chroot 감옥 외부에 있는 파일과 디렉토리를 볼 수 없으며, 따라서 사용도 불가
  • 복잡성이 증가하는 단점이 있음. 즉, 서비스가 사용하는 모든 라이브러리를 포함한 수많은 파일, 디렉토리, 장치들을 chroot 감옥으로 복사해야함

윈도우 보안

사용자 관리와 접근 제어

  • 윈도 시스템은 파일, 공유 메모리 등 자원에 대해 임의 접근제어를 제공
  • 윈도 비스타 이후의 시스템들은 의무적으로 무결성 제어를 포함
  • 프로세스, 파일, 사용자 등 모든 객체에게 낮음, 중간, 높음 또는 시스템 무결성 등의 등급으로 라벨을 붙임
  • 한 객체에 데이터를 쓸 때, 시스템은 먼저 주체의 무결성 등급이 객체의 무결성 등급과 동일한가 또는 더 높은가를 확인
  • Biba 무결성 모델의 한 변형을 구현 (13장)

<응용 프로그램 및 서비스 설정>

대부분의 설정 정보를 레지스트리에 모아둠

  • 레지스터리는 응용 프로그램이 질의하고 해석할 수 있는 키와 값들의 데이터베이스

레지스터리 키 값의 변경

  • 특정 응용 프로그램이 수행
  • 레지스트리 편집기(regedit)를 사용하여 레지스트리 키를 직접 수정할 수도 있음
    • 대규모 변경에 유리

다른 보안 제어들

-윈도 시스템을 목표로 하는 악성코드가 많음

-안티-바이러스, 안티-스파이웨어, 개인 방화벽, 그리고 기타 악성코드 및 공격 탐지와 처리를 위한 sw 패키지들을 설치하고 설정해야함

-현재의 윈도 시스템은 기본적인 방화벽과 악성코드 대비 기능을 시스템에 포함하고 있으나 최소의 기능만을 제공

윈도 시스템은 필요 시 사용할 수 있는 다양한 암호 함수를 제공

  • 암호화된 파일 시스템을 사용해 파일과 폴더를 암호화
  • BitLocker를 사용하여 전체 디스크를 AES로 암호화

가상화 보안

가상화는 소프트웨어에게 컴퓨팅 자원의 추상화를 제공하고 가상 기계(VM)라 불리는 시뮬레이션 환경에서 실행시키는 기술

  • 완전 가상화-여러 개의 완전한 os들을 가상 HW에서 실행할 수 있게 해줌
  • 가상 HW는 실제 물리적 HW 자원에 대한 접근을 제어하는 hypervisor에 의해 구현

가상화의 장점

  • 하나의 os 개체를 사용하는 것보다 물리적 시스템 자원을 효율적으로 사용할 수 있음→가상화된 서버 시스템에서 뚜렷함
  • 하나의 물리적 시스템에서 여러 개의 다른 os 및 관련 응용프로그램을 지원할 수 있음→클라이언트 시스템에서 볼 수 있음

추가적인 보안 문제 발생

  • 함께 실행되는 여러 os로 인해 발생
  • os 커널 아래 가상화 환경과 하이퍼바이저, 이들이 제공하는 보안 서비스의 존재로 인해 발생

<가상화 보안 문제점>

가상화 시스템에서 발생 가능한 보안 문제점

  • 게스트 os의 분리
    • 한 guset OS에서 실행 중인 프로그램은 해당 guest OS에 할당된 자원들만 사용해야 하고, 다른 guestOS나 hypervisor의 프로그램이나 데이터를 접근하면 안됨
  • Hypervisor의 guest OS감시
    • 감시는 각 guest OS 내의 프로그램과 데이터에 대해 접근 권한을 가져야 하고, 이 접근으로 인해 guest OS가 파괴되거나 위험에 빠지지 않도록 안전하다고 믿을 수 있어야 함
  • 가상화 환경 보안
    • 공격자가 살펴보거나 변경을 시도할 수 있는 이미지와 snapshot을 안전하게 관리해야함

<가상화 시스템 보호하기>

<Hypervisor 보안>

필수사항?

운영체제는 보호하는 것과 유사한 절차를 사용하여 보호되어야 함

격리된 환경에서 결점이 없는 매체를 사용하여 설치되어야 함

취약점을 줄이기 위해 최근의 패치로 업데이트 되도록 자동 업데이트가 설정 되어야 함

사용하지 않는 서비스는 비활성하거나 제거하고, 사용하지 않는 HW는 분리, guest OS에 대해 적절한 감시 기능을 사용하고 hypervisor가 위험 징후가 있는지 감시

  • Hypervisor는 권한 있는 관리자만이 접근할 수 있어야 함
    • 로컬,원격 관리를 모두 지원하고 있는데, 관리 기능 특히 원격 관리 기능을 사용할 때는 적절한 인증과 암호화 메커니즘을 사용하도록 설정되어야 함
    • 네트워크 방화벽과 IDS 기능의 설계 시에 원격 관리를 위한 접근도 고려하고 보호해야 함

이상적으로 관리 기능을 위한 트래픽은 조직 외부로부터의 접근을 매우 제한하는 별도의 분리된 네트워크를 사용해야 함

profile
문제를 해결하고, 더 나은 경험을 만드는 것을 즐깁니다

0개의 댓글