현재 선택한 정보처리 과정

정보처리기사 필기 이론 학습

이론 목록으로 돌아가기

시스템 보안 목표·인증·접근통제·심층 방어

CIA와 식별·인증·인가를 구분하고 SSO·Kerberos의 기본 원리를 정리한다. ACL·Capability, DAC·MAC·RBAC·ABAC와 대표 보안 모델을 비교하며 최소 권한·직무분리·심층 방어를 연결한다.

예상 읽기 8

핵심 요약

시스템 보안은 기밀성·무결성·가용성을 지키기 위해 사용자·서버의 신원을 확인하고, 허용된 주체만 정해진 자원에 접근하도록 통제하는 것이다. 인증에 성공했다는 이유로 모든 자원에 접근할 수 있는 것은 아니다.

접근통제는 누가, 어떤 자원에, 어떤 행위를, 어떤 조건에서 할 수 있는가를 결정한다. 보안 모델·정책·실제 집행 장치는 서로 구분해야 한다.

1. 보안 목표와 위험

구분의미침해 예
기밀성(Confidentiality)인가되지 않은 정보 열람·노출 방지타인의 개인정보 유출
무결성(Integrity)인가되지 않은 변경·훼손 방지·검출송금 금액 변조
가용성(Availability)필요한 때 인가된 사용자가 이용 가능서비스 거부 공격으로 접속 불가
인증성주체·정보의 신원이 주장과 일치하는지 확인가짜 서버나 사용자 위장
책임추적성중요한 행위를 수행 주체와 연결관리자 변경 이력 조사
부인방지행위·거래 사실을 사후 부인하기 어렵게 함서명한 문서의 발신 사실 검증

해시나 전자서명은 무결성 확인에 활용할 수 있지만 그 자체가 데이터 기밀성을 제공하는 것은 아니다. 로그가 있다는 사실만으로 기록이 변조되지 않았거나 모든 행위가 기록되었다고 단정할 수도 없다.

자산은 보호할 가치가 있는 대상, 위협은 손해를 일으킬 수 있는 사건·행위, 취약점은 악용될 수 있는 약점이다. 위험은 발생 가능성과 영향을 함께 고려한다. 통제 적용 후에도 남는 위험을 잔여 위험이라 한다.

보안 교육·정책·직무분리는 관리적 통제, 암호·접근제어·탐지는 기술적 통제, 출입문·잠금장치·시설 보호는 물리적 통제에 해당한다. 실제 통제는 여러 목적을 함께 가질 수 있다.

2. 식별·인증·인가와 AAA

과정핵심 질문
식별누구라고 주장하는가?사용자 ID 제시
인증그 주장이 맞는가?비밀번호·인증장치로 확인
인가무엇을 할 수 있는가?자료 조회·수정 권한 결정
책임추적·회계무엇을 했는가?접속·변경·사용 이력 기록

AAA는 Authentication·Authorization·Accounting이다. Accounting은 사용·행위 기록과 관련되며 인증이나 인가의 다른 이름이 아니다.

인증 요소는 지식(비밀번호), 소지(보안키 등), 생체(지문 등)로 구분한다. 다중 요소 인증은 서로 다른 종류의 요소를 결합한다. 비밀번호와 보안 질문처럼 같은 지식 요소를 두 번 확인하는 것을 두 종류의 요소로 보아서는 안 된다.

SSO(Single Sign-On)는 한 번의 인증으로 여러 연계 서비스에 접근할 수 있도록 하는 통합 인증 방식이다. 서비스마다 반복 로그인하는 불편을 줄이지만, 최초 인증과 인증정보 보호가 중요하다. SSO는 모든 서비스의 모든 기능을 허용하는 기술이 아니므로 서비스별 인가는 여전히 필요하다.

Kerberos는 신뢰하는 키 배포 센터(KDC)와 티켓을 이용하는 네트워크 인증 체계다. 서비스 이용 시 비밀번호 자체를 계속 전송하는 방식과 구분한다. 티켓에는 유효기간이 있으며 중앙 인증 기반과 시각 관리가 중요하다.

서버 인증은 접속 상대가 의도한 서버인지 확인하는 것이다. TLS에서는 인증서의 신뢰 관계·서버 이름·유효성 등을 확인한다. 서버 인증 성공은 사용자 인증·객체 인가·서버의 모든 프로그램 안전성까지 보장하지 않는다.

3. 접근 행렬·ACL·Capability List

접근 행렬은 행에 주체, 열에 객체를 두고 각 칸에 허용 연산을 표현할 수 있다.

주체 / 객체지원서심사 결과감사 로그
지원자본인 자료 읽기·수정본인 결과 읽기접근 불가
심사자담당 자료 읽기담당 결과 작성접근 불가
감사자감사 목적의 허용된 읽기허용된 읽기읽기

ACL(접근제어목록)은 객체를 기준으로 ‘이 자원에 누가 어떤 권한을 갖는가’를 정리한다. Capability List(능력 목록)는 주체를 기준으로 ‘이 주체가 어떤 객체에 어떤 권한을 갖는가’를 정리한다. 같은 접근 관계를 다른 방향으로 나타낸 것으로 이해한다.

4. 접근통제 방식

방식권한 판단의 중심특징·주의
DAC: 임의적 접근통제객체 소유자의 권한 부여유연하지만 소유자가 부적절하게 권한을 전파할 수 있음
MAC: 강제적 접근통제중앙 정책의 보안 등급·레이블사용자가 임의로 정책을 바꾸기 어려움
RBAC: 역할 기반 접근통제조직의 역할과 역할별 권한사용자별 권한을 일일이 부여하는 부담 감소
ABAC: 속성 기반 접근통제주체·객체·행위·환경의 속성시간·장치·소속·자료 등급 같은 조건 조합

RBAC는 사용자를 역할에 연결하고 역할에 권한을 연결한다. 조직이 바뀌면 역할과 배정을 검토해야 한다. ABAC는 다양한 조건을 표현할 수 있지만 잘못된 속성이나 정책을 사용하면 잘못된 판단을 할 수 있다. 두 방식을 결합할 수도 있다.

예를 들어 ‘심사자 역할이며 담당 지원서이고 승인된 업무 시간에만 수정 가능’은 역할·객체 관계·환경 조건을 함께 사용하는 정책이다.

5. 대표 보안 모델

모델주된 보호 목적핵심 규칙·판별어
Bell-LaPadula기밀성No Read Up, No Write Down
Biba의 엄격한 무결성 정책무결성No Read Down, No Write Up
Clark-Wilson업무 데이터의 무결성허가된 변환 절차, 적법한 거래, 직무분리
Brewer-Nash(Chinese Wall)이해 충돌 방지이전 접근 이력에 따라 경쟁 관계 자료 접근 제한

Bell-LaPadula에서는 낮은 보안 등급의 주체가 높은 등급의 정보를 읽지 못하게 하고, 높은 등급 정보가 낮은 등급으로 흘러가는 쓰기를 제한한다. ‘아래로 쓰기 금지’는 기밀 정보의 하향 유출 방지와 연결한다.

Biba의 엄격한 정책에서는 낮은 무결성 정보가 높은 무결성의 주체·자료를 오염시키지 않도록 아래로 읽기와 위로 쓰기를 제한한다. 여기서 높고 낮음은 기밀 등급이 아니라 무결성 수준이다. 두 모델의 규칙을 바꾸어 외우지 않는다.

Clark-Wilson은 사용자가 중요 데이터를 임의로 고치기보다 허가된 절차를 통해 유효한 상태로 바꾸도록 한다. Chinese Wall은 단순히 모든 사용자의 등급을 고정하는 모델이 아니라 접근 이력과 이해 충돌 관계를 고려한다.

좌우로 이동해 그림을 확인하세요.그림 크게 보기
Bell-LaPadula는 기밀 등급에서 위로 읽기·아래로 쓰기를 금지한다. Biba의 엄격한 무결성 정책은 아래로 읽기·위로 쓰기를 금지한다.
Bell-LaPadula는 기밀 등급에서 위로 읽기·아래로 쓰기를 금지한다. Biba의 엄격한 무결성 정책은 아래로 읽기·위로 쓰기를 금지한다.

6. 기본 보안 원칙

최소 권한은 업무에 필요한 최소 권한만 부여하는 것이고, 알 필요성은 업무상 알아야 하는 정보에만 접근하게 하는 것이다. 직무분리는 신청·승인·감사처럼 중요한 역할을 나눠 한 사람이 전체 과정을 악용하기 어렵게 한다.

기본 거부는 명시적인 허용 근거가 없는 접근을 거부하는 것이다. 완전한 중재는 보호 자원에 대한 접근을 정책에 따라 검사한다는 원칙이다. 처음 로그인할 때만 검사하고 모든 후속 요청을 허용하는 것과 다르다.

권한 검사 기능이 실패했을 때 무조건 허용하면 통제를 우회하는 경로가 된다. 중요한 보안 판단은 안전한 실패를 기본으로 설계하되 서비스 가용성에 대한 영향도 함께 검토한다.

7. 심층 방어와 제로 트러스트

심층 방어는 신원·네트워크·응용·호스트·데이터 계층에 서로 보완하는 통제를 배치하는 것이다. 한 통제가 실패해도 다른 통제가 침해를 제한·탐지·복구하도록 한다. 방화벽을 여러 대 설치했다는 사실만으로 충분한 심층 방어가 되는 것은 아니다.

제로 트러스트는 내부망 위치만으로 암묵적 신뢰를 부여하지 않고 주체·장치·자원·상황을 바탕으로 접근을 판단하는 접근이다. 방화벽이나 네트워크 분리를 없애자는 뜻은 아니다.

서로 다른 통제가 같은 관리자 계정과 같은 설정 오류에 의존하면 함께 무너질 수 있다. 계정·권한 분리, 데이터 보호, 감시와 복구를 결합해야 한다.

접근권한의 표현과 관리 원칙

직무분리는 역할 부여 단계에서 상충 역할을 제한하거나, 동일 거래에서 실제 역할 행사를 제한하는 방식으로 적용할 수 있다. 기록을 남긴다는 이유로 자기 승인이 자동 허용되지는 않는다.

위험 회피는 해당 위험을 만드는 활동을 하지 않는 것, 완화는 통제로 가능성·영향을 줄이는 것, 전가는 계약 등을 통해 영향 일부를 다른 주체와 분담하는 것, 수용은 잔여 위험을 인지하고 받아들이는 것이다. 보험 등 재정적 분담은 취약점 자체를 제거하지 않으며 모든 책임을 없애지도 않는다.

사람 계정과 서비스 신원

서비스 계정은 배치·애플리케이션·워크로드 같은 비인간 주체를 식별한다. 사람의 계정을 공용으로 빌려 쓰는 것과 구분한다. 서비스가 필요한 자원과 연산에 최소 권한을 부여하고 소유 담당자, 생성 목적, 사용 기록, 자격 증명 교체·폐기와 서비스 종료 시점을 관리한다. 담당 직원이 퇴사했다는 이유로 업무 서비스가 갑자기 멈추거나 퇴사자 계정이 계속 살아 있지 않도록 신원 수명주기를 분리한다. 서비스 신원이라는 이유로 무제한 관리자 권한이 필요한 것은 아니다.