보안의 범위와 위협

시스템 보안의 범위

시스템 보안은 시스템 자체만이 아니라 시스템이 작동하는 외부 환경, 나아가 내부 조직 구성원의 접근 제한까지 포괄하는 개념이다. 물리적·관리적 제어는 물론 자동화된 제어까지 포함할 만큼 범위가 넓다. 기술적 보안은 불법 공격을 막기 위한 하드웨어·소프트웨어 조치와, 정보(데이터) 보호를 위한 액세스 제어에 쓰이는 기술·정책·절차를 포함하고, 물리적 보안은 시설에 대한 비인가 접근을 차단하고 모니터링하는 활동을 뜻하며, 관리적 보안은 조직 내부의 정보 보호 체계를 정립하고 절차, 감시 조직, 사고 대책 등을 마련하는 절차적 보안을 뜻한다. 이 모든 보안이 궁극적으로 지키려는 속성은 비밀성(기밀성), 무결성, 가용성, 인증, 액세스 제어, 권한 부여, 자격 증명이다.

보안 위협의 형태

보안 위협은 다섯 가지 형태로 나타난다. **중단(흐름 차단)**은 시스템 가용성에 대한 공격으로 시스템의 일부를 파괴하거나 사용·이용할 수 없게 만드는 공격이고, **도청(가로채기)**은 권한이 없는 사용자가 컴퓨터 자원에 접근해 정보를 불법으로 획득하거나 복사하는, 비밀성에 대한 공격이다. 변조는 권한이 없는 사용자가 자원에 접근하는 데 그치지 않고 내용까지 변경하는, 무결성에 대한 공격이며, **위조(조작)**는 권한이 없는 사용자가 정보의 전부 또는 일부를 교체하거나 제거하고 데이터 블록의 순서를 바꿔 시스템에 위조 객체를 삽입하는 공격이다. **사칭(가장)**은 비인가된 사용자가 인가된 사용자로 위장해 시스템에 부당하게 접근하는, 인증에 대한 공격이다.

소프트웨어 위협

소프트웨어 위협은 악성 프로그램에 의해 발생하며, 호스트 프로그램이 필요한 경우와 독립적으로 시스템에 위협을 가하는 경우로 나뉜다. 최근에는 컴퓨터 통신망을 이용한 사이버 공간에서 사이버 테러의 형태로 나타나는 경우가 많은데, 사이버 테러란 정부 기관이나 민간 기관의 정보 시스템에 침입해 중대한 장애를 일으키거나 파괴하는 등의 범죄 행위를 말한다. 트로이 목마는 유용한 프로그램이나 명령 프로시저로 호출되었을 때, 실제로는 해로운 기능을 수행하는 은폐된 코드를 포함하는 프로그램이고, 트랩 도어는 서비스 기술자나 유지보수 프로그래머가 접근 편의를 위해 시스템 설계자가 만들어 놓은 통로로, 사용자가 정상적인 보안 예방 조치를 거치지 않고도 바로 시스템에 들어갈 수 있도록 만들어진 비상 명령을 말한다.

바이러스

바이러스는 자기 자신을 스스로 복제할 수 있는 실행 가능한 명령어들의 집합이다. 컴퓨터 프로그램이나 CPU의 서비스 영역에 자신 또는 자신의 변형을 복제해 시스템에 영향을 미치는데, 논리적 파괴는 가능해도 물리적 파괴는 불가능하며 하드웨어가 작동하지 않으면 활동할 수 없다는 한계를 가진다.

웜(WORM)

웜은 컴퓨터 시스템에 해를 끼칠 수 있는 위치에 자리 잡는 바이러스, 즉 복제 코드의 일종이다. 컴퓨터가 정상적으로 작동하는 동안에도 프로그램 자체의 전염성을 과시하듯 퍼지며, 시스템 웜을 사용해 자신의 프로그램 복사본을 만들어 다른 프로세스들이 자원을 사용하지 못하도록 만든다.

보호

개요

운영체제 내 프로세스의 활동은 다른 프로세스의 활동으로부터 보호되어야 하고, 시스템 사용자가 액세스 제한을 의도적으로 위반하는 것도 막아야 한다. 연산 동작 중인 각 프로그램 요소가 정해진 사용 정책에 따라 운용되도록 보장해 신뢰도를 높이고, 주변 시스템 간 인터페이스에서 잠재적 오류를 검출해 시스템의 무결성을 유지해야 한다. 이를 위해 시스템은 사용 권한이 있는 사용자와 없는 사용자를 구별하는 수단을 제공해, 권한이 없는 사용자가 시스템 자원을 사용하지 못하도록 방지한다. 나아가 효율적인 시스템 동작을 보장하려면 프로세스에 대한 자원 사용 제어와 다양한 보호 정책을 시행할 수 있는 융통성을 갖춰야 하며, 애플리케이션 서브시스템이 만들거나 제공하는 자원이 잘못 사용되는 경우를 방어할 수 있는 보호 도구로도 기능해야 한다.

사용자 액세스 제어

식별과 인증은 각 시스템 자원을 보호하기 위한 1차적인 보호 계층이다.

데이터 액세스 제어

데이터 액세스 제어는 액세스 행렬과 정책 비교를 통해 이루어진다.

파일 보호

파일 보호는 상황에 따라 방식이 달라진다. 파일의 신뢰성은 물리적 손상으로부터 파일을 보호하는 것을 말하고, 단일 사용자 시스템의 보호는 사용자 디스켓 관리와 잠금 장치를 이용하는 방식이며, 다수 사용자 시스템의 보호는 파일에 허용되는 액세스 종류를 제한함으로써 제어된 액세스를 제공하는 방식이다.

파일 명명

어떤 보호 체계에서든 접근하려는 파일을 명명할 수 없는 사용자는 액세스 대상에서 제외된다. 사용자가 파일을 명명할 수 없으면 파일을 작성할 수도 없다. 이 방식은 다른 사용자의 파일명을 알 방법이 없고 그 이름을 추측하기도 어렵다는 가정에 근거하지만, 실제로는 파일명에 기억하기 쉬운 글자를 많이 쓰다 보니 가끔 추측으로 알려지기도 한다.

암호

각 파일에 암호를 설정해두면, 그 파일에 대한 액세스도 암호로 제어할 수 있다. 암호를 무작위로 선정하고 자주 변경한다면 파일 액세스를 효율적으로 제한할 수 있다.

액세스 목록

액세스 목록은 사용자에 따라 액세스 가능한 요소를 달리하는 방식을 뜻한다.

액세스 그룹

액세스 목록에는 목록 길이라는 문제점이 있다. 모든 사람에게 파일 액세스를 허용하면 모든 사용자가 판독 액세스 목록에 등록되어야 하고, 결과적으로 복잡한 공간 관리 문제가 발생한다. 이를 해결하기 위해 액세스 목록의 길이를 간결하게 유지하도록 시스템들은 각 파일과 그룹을 연관 짓는데, 이때 쓰이는 것이 파일 보호를 위한 그룹별 제어 비트다.

사용자 제한

사용자 제한은 제2의 방어벽이라 할 수 있으며, 해커가 침투했을 때 손상의 정도를 줄여주는 역할을 한다.