01. 데이터베이스 보안의 개요
가) 데이터베이스 보안의 개요
① 데이터베이스 보안의 3원칙
- DB정보의 유출, 변경, 파괴의 위협으로부터 기밀성, 무결성, 가용성을 확보하기 위한 관리적, 물리적, 기술적 보호 조치
② DB 보안의 필요성
- 지속가능 경영 : DB 정보유출 침해사고 발생시 기업의 존립 기반 위협(경제적 손실, 신뢰도 하락)
- 규제 대응 : 보안의 법적 의무화(개인정보보호법, 정보통신망법, 전자금융거래법)
나) 데이터베이스의 보안 위협 및 대응
① 데이터베이스 보안 위협
보안 위협 | 취약 요소 | 설명 |
웹 보안위협 | SQL인젝션, Web Shell | - 비인가자의 불법적 정보 획득 |
취약한 식별 및 인증 | 반복 인증시도, 사회공학 기법 | - 인가된 사용자 신원 불법 획득 |
데이터 유출 | 암호해독, 비암호 데이터 유출 | - 보호/비보호 된 정보 불법 획득 |
암호 모듈 오용 | 불안정/부적합 암호 사용 | - 부적절한 암호에 따른 정보 누출 |
② 데이터베이스 보안 위협 대응
구분 | 세부내용 | 사례 |
접근통제(Access Control) | 인가된 사용자만 DB 접근 | 계정관리, MAC, DAC, RBAC |
가상테이블(Views) | 뷰 이용 인가된 Data만 접근 | Create View |
암호화(Encryption) | 단방향/양방향 암호 알고리즘 적용 | SEED, AES, SHA-256 |
02 데이터베이스 접근통제
가) 데이터베이스 접근통제 정책
① 임의적 접근통제(DAC)
- 주체의 신원에 근거한 객체 접근 제한, 객체 소유자가 접근여부 결정
② 강제적 접근통제(MAC)
- 주체의 권한에 근거한 객체 접근, Ex: 시스템 카탈로그는 DB관리자만 접근
③ 역할기반 접근통제(RBAC)
- 주체의 역할에 근거한 객체 접근, Ex: DBA 역할 정의 -> 특정인에게 DBA 역할, 권한 부여
나) 데이터베이스 접근통제 구축방식
① 에이전트 방식
- DB서버에 접근통제, 로깅 기능의 에이전트 설치하고 전용 클라이언트 이용한 접근 방식
- 특징 : 강력한 AC 가능, DB에 트래픽 발생 -> 성능저하 발생 가능
② 게이트웨이 방식
- DB접근통제 서버(프록시 서버)를 경유하여 DB접근 요청 수행, 가장 강력한 접근통제 가능
- 특징 : 이중화 구성 가능 -> 장애 발생시 업무 영향 최소화
③ 네트워크 스니핑 방식
- TAP 장비를 통해 패킷 분석, 로깅 수행, 별도 에이전트 불필요
- NW에 부하 없이 구축 용이, 부적절한 변조(무결성 훼손)의 원천 차단 난해
* Tap(Test Access Port) : NW의 데이터 흐름에 영향없이 트래픽을 스니핑(Sniffing) 하는 장비
④ 하이브리드 방식 : 많이 사용
- 에이전트 + 게이트웨이 방식, 게이트웨이 + 네트워크 스니핑 방식, 에이전트 + 게이트웨이 + 네트워크 스니핑 방식
03 데이터베이스 암호화
가) 데이터베이스 암호화 적용시 고려사항
고려사항 | 설명 |
암호화 대상 및 방식 | 법규 지정 데이터 및 중요 데이터 우선 선정 |
암호화 알고리즘 | 비밀번호- 일방향 암호(SHA-256이상), 그외-양방향 암호(SEED, ARIA, AES) |
검색 및 성능 | 인덱스 유지 등 성능 고려, 부분 암호화 적용 |
암호 키 관리 | 암/복호화 키, 생성~폐기까지 안전하게 관리 |
나) 데이터베이스 암호화 대상 및 방식
다) 데이터베이스 암호화 유형
① API 방식
- 응용프로그램 서버내 암/복호화 모듈 설치하여 수행
- 특징 : 다수 응용프로그램 수정 필요, AP서버와 DB간 암호상태 통신
DB서버 부하 낮음, AP서버 부하 높음
- 적용 조건 : 응용프로그램 변경 용이, DB서버 성능이 나쁜 경우
② 플러그인 방식
- DB서버내에 암/복호화 모듈 설치하여 암/복호화 수행
- 특징 : DB서버 부하 발생 가능, AP서버와 DB서버간 평문 형태 통신
- 적용 조건 : DB서버 성능 우수, 응용 프로그램의 수정 불가시
③ TDE방식
- DBMS의 암/복호화 기능 이용, DBMS 종류, 버전에 따라 의존적
- DBMS커널 레벨에서 처리, 응용프로그램 수정 없음
- 적용조건 : DBMS 신규 도입시
라) 데이터베이스 암호화 적용
① 일방향 암호 알고리즘의 적용
- 비밀번호 등의 데이터 저장시 적용, SHA-256이상의 해쉬 암호 알고리즘 사용
구분 | 방안 |
평문 저장시 | - Salt 값 추가하여 해쉬 적용(Rainbow 공격 방어), Salt값 안전 보관 |
취약한 해쉬암호 적용시 (MD5, SHA-1) |
- 기존 해쉬 값 이중 해쉬 암호화(SHA-256) 적용 - 점진적 SHA-256사용한 단일 해쉬값으로 변환 |
② 양방향 암호 알고리즘의 적용
- 개인정보 등 중요 데이터 대상, SEED, ARIA, AES 등 블록 암호화 적용
구분 | 방안 |
평문 저장시 | - 128비트 이상 비밀키 암호화 사용, 비밀키 안전 장소 보관 |
취약한 암호화 적용시 (DES, 3-DES) |
- 기존 암호화 데이터 복호화(배치 작업) 후 안전한 블록 암호화 작용 |
마) 데이터베이스 암호화 적용 절차
① 암호화 적용 사전협의
- 이해관계자와 정보 공유/협의, 대상, 환경, 보안 정책 등 협의
② DB암호화 적용 영향도 분석
- 운영서버 모니터링 통한 애플리케이션과 DBMS의 영향도 분석 단계
- 암호화 사전 진단/분석, 암호화 이후 성능/리소스 변화 분석
구분 | 설명 |
암호화 대상 선정 | 암호화 대상 테이블, 컬럼 추출 |
퀴리문 분석 | 데이터 양, 수행시간, 최적화 대상 쿼리문 선정 |
DBMS 분석 | 리소스(CPU, 메모리, 스토리지) 확인, 추가 필요 리소스 산정 |
애플리케이션 분석 | 추가 모듈/변경 로직 분석, 최적화 애플리케이션 모듈 산정 |
③ DB암호화 적용 테스트
- 운영환경과 동일한 테스트 환경 구축 및 암호화 적용 후 업무 테스트 진행 단계
- 발생가능 문제 도출, 이슈 해결, 전환 준비, 모든 애플리케이션/쿼리 테스트 수행
④ DB암호화 적용 및 모니터링
- 운영환경에 모든 변경사항 반영한 보안 적용 단계
- 장애 발생 여부, 애플리케이션 성능 지속 모니터링 및 관리
04 데이터베이스 암호화 키(Key) 관리
가) 데이커베이스 암호화 키의 종류
- 암/복호화 키와 마스터키로 이중화 후 인가자만 접근하도록 관리
나) 암호화 키 생명주기 단계별 관리방안
단계 | 설명 |
키 생성 단계 | 난수 발생기 이용, 안정성 검증된 알고리즘 적용 |
키 분배 단계 | 비대칭키 암호화 이용 키 암호화, 인가자만 접근가능 하도록 전달 |
키 저장 단계 | 별도 키 관리 서버, HSM와 같은 HW저장방식 적용 |
키 사용 단계 | 최소한의 권한, 직무 분리 원칙 적용, 마스터키 접근 통제 |
키 백업 및 복구 단계 | 분실/훼손 상황 대비 백업/복구 절차 수립, 주기적 백업 실시 |
키 교체 단계 | 암호화키의 주기적 교체, 키 변경 후 재 암호화 수행 |
키 폐기 단계 | 분실/훼손 시 절차에 따른 복호화/재 암호화 및 폐기 수행 |
'TOPCIT > TOPCIT교재' 카테고리의 다른 글
2. IT비즈니스 전략 - 이상희 (0) | 2022.08.14 |
---|---|
1. IT비즈니스 개념 - 황선환 (1) | 2022.08.14 |
V. 애플리케이션 보안-이상희 (0) | 2022.08.09 |
VIII. 네트워크보안 이해하기-(안혜진) (0) | 2022.08.09 |
VII. 시스템 아키텍쳐 보안(손선희) (0) | 2022.08.09 |