현재 선택한 정보보안 과정

정보보안기사 필기 이론 학습

이론 목록으로 돌아가기

DB 접근제어·추론·암호화

DB 권한과 간접 정보 유출, 암호화·감사·복구의 범위를 이해합니다.

예상 읽기 4

1. DB 보안의 목표

DB 보안은 데이터뿐 아니라 계정·권한·백업·로그·암호화 키도 보호한다.

목표의미대표 통제
기밀성허가되지 않은 조회 방지인증·접근제어·암호화
무결성부당한 변경·손상 방지와 탐지권한·제약조건·트랜잭션·감사
가용성필요한 시점의 사용과 복구백업·복구·자원 통제

기본키·외래키·ACID가 데이터 정합성을 돕더라도 사용자 권한까지 결정하지는 않는다. 외래키가 올바른 DB도 관리자 계정이 탈취되면 기밀 데이터가 유출될 수 있다.

2. 인증·권한·감사

인증은 접속 주체, 인가는 가능한 작업, 감사는 누가 무엇을 했는지에 대한 기록·검토다. 응용 서비스는 관리자 공용 계정 대신 필요한 권한만 가진 전용 계정으로 DB에 접속한다.

SQL코드 영역 안에서 좌우로 이동할 수 있습니다.
GRANT SELECT ON customer_public TO analyst_role;
REVOKE UPDATE ON customer_public FROM analyst_role;

위 구문은 권한 개념을 위한 예이며 세부 문법은 DBMS마다 다를 수 있다. GRANT는 부여, REVOKE는 회수다. 권한 재부여 기능인 WITH GRANT OPTION은 위임 범위를 넓히므로 제한한다. 직접 부여한 권한을 회수해도 역할 등 다른 경로의 권한이 남을 수 있다.

RBAC는 역할에 권한을 묶고 사용자를 역할에 연결한다. DB·테이블·열·행·프로시저 등 필요한 수준으로 권한을 좁힌다. 뷰로 공개할 열·행을 줄여도 사용자가 원본 테이블 권한을 별도로 갖고 있다면 우회 조회가 가능하다.

3. 접근제어·흐름제어·추론제어

구분질문
접근제어이 사용자가 이 객체를 조회·변경할 수 있는가?
흐름제어민감 정보가 낮은 보호 수준으로 무단 이동하는가?
추론제어허용된 결과를 조합해 금지된 정보를 알아낼 수 있는가?

집성(Aggregation)은 낮은 민감도의 정보들을 모아 더 민감한 결과를 만드는 것이다. 추론(Inference)은 허용된 정보와 배경지식으로 비공개 사실을 알아내는 것이다.

예를 들어 5명의 급여 총액이 2,000만 원이고 그중 4명의 합계가 1,500만 원임을 알면 나머지 1명의 급여 500만 원을 추론할 수 있다. 개인 급여 열을 차단했더라도 이런 간접 유출은 남는다.

최소 집계 인원, 결과 억제, 정밀도 조절, 질의 제한 등을 적용할 수 있다. 한 가지 방법이 모든 추론을 막지는 않으므로 여러 조회의 조합도 고려한다. 다중 수준 보안은 데이터 등급과 주체의 허가 수준을 정책적으로 연결하는 개념이다.

4. 주요 위협과 대응

위협대응
계정 탈취·과도한 권한강한 인증, 전용 계정·최소 권한, 미사용 계정 제거
DB 직접 노출접속 가능한 응용 서버·관리 경로 제한
SQL 삽입안전한 매개변수 질의, DB 권한 최소화
백업·덤프·로그 유출운영 데이터와 같은 수준의 접근 통제·암호화
자원 고갈연결·질의·저장공간 제한과 감시
권한 오용·감사 회피권한 변경·대량 조회 기록, 로그 별도 보호

SQL 삽입의 발생 원리와 코드 예시는 SQL 삽입과 안전한 질의에서 다룬다. 저장 프로시저를 사용해도 내부에서 외부 입력을 SQL 문자열에 결합하면 안전하지 않다.

5. 암호화 위치의 차이

위치·방식보호 대상과 주의점
전송 TLS응용 서버와 DB 사이의 전송 중 데이터
열·필드 암호화특정 민감 값, 검색·정렬·키 권한과 응용 변경을 고려
응용 API 방식응용 프로그램이 암·복호화 API 호출, 코드 변경 필요 가능
DB 플러그인·함수 방식DB 측 모듈에서 처리, 성능·키 접근 정책 확인
TDEDBMS가 저장 데이터를 투명하게 암·복호화, 파일·매체 유출 위험 완화
파일·디스크·백업 암호화저장 계층의 파일·복사본 보호

TDE는 정상 권한으로 실행한 SQL 조회까지 막지 않는다. 따라서 DB 계정 탈취에는 접근제어가 여전히 필요하다. 제품마다 보호하는 로그·백업 범위가 다르므로 이름만으로 전부 보호된다고 단정하지 않는다.

6. 키·감사·복구

암호화 키를 데이터와 분리해 보호하고 접근권한·변경·백업·폐기 절차를 관리한다. 암호문과 키를 함께 유출하면 보호 효과가 약해지고, 키를 잃으면 백업을 복원해도 데이터를 읽지 못할 수 있다.

로그에는 로그인 실패, 관리자 사용, 권한 변경, 민감 데이터 대량 조회 등을 남긴다. 비밀번호·접속 비밀값을 그대로 기록하지 않으며 로그 자체도 접근 통제와 변조 방지가 필요하다.

백업은 파일 존재 여부로 끝내지 않는다. 운영 DB와 분리해 보관하고 필요한 키·설정까지 포함하여 실제 복원 가능성을 확인한다.

스스로 확인하기

개념 확인 문제

문제를 누르면 바로 아래에서 정답과 해설을 확인할 수 있습니다.

01TDE를 켠 DB에서 탈취된 정상 조회 계정으로 데이터를 읽는 것을 차단할 수 있는가?
정답 및 해설

TDE만으로는 차단하지 못한다. 저장 파일을 투명하게 보호하므로 정상 권한의 SQL에는 복호화된 값이 제공될 수 있다. 접근제어가 별도로 필요하다.

02개인 급여를 차단했지만 전체 합계와 나머지 사람의 합계 차이로 알아냈다면 어떤 문제인가?
정답 및 해설

추론에 의한 정보 유출이다. 직접 접근 통제 외에 집계 크기·결과·질의 조합도 검토해야 한다.