보안세미나 1 db보안, 취약점 분석 why how when 20121025
TRANSCRIPT
2
Agenda
DB 보안에 대한 이야기
– 보안사고 사례
– DB 보안 (Database Security)
– DB 보안의 목적과 목표
– DB 보안의 방법
DB 취약점 분석에 대한 이야기
– 취약점 분석(Vulnerability Assessment)
DB 보안에 대한 이야기
보안사고 사례
5억 6천 3백 8십 7만 vs. 1억 6백 5십 7만
5
보안사고 사례 유형 Categories
Unintended Disclosure Physical Loss
Insider Unknown or other
Hacking or Malware Portable Device
Payment Card Fraud Stationary Device
6
Privacy Rights Clearinghouse, 2005~현재
7
우리나라는…., ~ 2011년 말
일시 위치 (기업) 유출 건수 비고
2008년 1월 옥션 1,863 만 명 해킹
2008년 9월 GS칼텍스 1,125 만 명 내부 직원의 판매
2009년 4월 네이버 9 만 명 유출
2010년 3월 인천(조선족 해커) 2,000 만 명 해커가 개인정보 판매
2010년 3월 대전(중국 해커) 650 만 명 해커가 개인정보 판매
2010년 4월 부산(중국 해커) 1,300 만 명 해커가 개인정보 판매
2011년 4월 현대 캐피탈 175 만 명 해킹
2011년 7월 SK컴즈, 네이트 3,500 만 명 해킹
2011년 8월 한국 앱손 35 만 명 해킹
총 개인정보 유출 건수 1억 657 만 명
사 례 비고
차량등록 시스템에 있는 차량번호, 주민번호, 이름 등 150여명의 정보를 다른 공무원으로부터 건네 받아 개인목적으로 사용
개인정보 오/남용
주민센터 직원이 심부름 센터 등에 건당 만원 씩 받고 개인정보 판매 개인정보 매매
ㅇㅇ시 공무원 두 명이 시립묘지 연고자 6,449 명의 개인정보를 장묘 업체 관계자에 유출 개인정보 유출
교육청 장학사가 교육위원에 출마한 후배를 위해 관내 교직원 3,000 여명의 이름, 전화번호 등 유출 개인정보 유출
민원인 수백 명의 이름, 주민번호, 주소 등 개인정보가 포함된 보도자료를 인터넷 홈페이지에 공개 홈페이지 노출
모 공단 직원이 고객정보 10만 건이 기록된 서류 미 파기 및 차량 방치 허술한 관리/방치
8
Why?
결국 데이터 저장소인 DB 보안의 강화 필요
DB보안의
필요성
데이터 자산가치 증가
지적 재산이 기업의 생존과 직결
인터넷으로 인한 네트워크의 개방
일반적으로 정보 보호의 궁극적 대상인
데이터에 대한 방어는 취약함.
내부자에 의한 정보 유출 및 보안사고 급증
ON-SITE 개발자 증가
평생직장 개념 붕괴로 인한 피고용자의 도덕적 해이
전체 보안사고 중 내부자에 의한 정보유출 비율은
70~80% 이상
현행 IT보안체계의 취약성
주로 O/S와 N/W계층의 침입탐지에 치중
상대적으로 DB보안은 취약
기술적인 보안체계의 강화와 더불어
관리적인 보안체계 정비 시급
상용 DBMS의 보안 취약성
데이터 무결성 보호 기능 취약
사용자 관리 기능 미약
접근제어 및 암호화 등 보안설정에 전문적인
지식 필요 및 관리에 어려움 존재
피해규모 확산속도 가속 및 막대한
사회적 비용 발생 IT와 정보화의 급속한 성장으로 피해 규모
확대 및 피해 확산 속도가 빨라짐
보안 사고 발생 시 피해 복구, 소송 등
막대한 비용 발생으로 개인/기업 모두 고통
개인정보 유출에 대한 불안감 고조 및
신뢰성 저하 잦은 개인정보 유출로 개인정보 제공 기피
분위기 팽배
개인정보 보유 기업/기관의 데이터 보호
능력에 대한 불신과 신뢰 저하
DB 정보보호에 대한 국내외 법률 제정
정보보호법 28조(정보통신부고시 제2005-18호)
개인정보보호법(2011.9.30 시행)
Sarbanes-Oxley Acts (2002년)
어플리케이션 구축 및 운영 시의 보안 허점
어플리케이션 및 데이터베이스 설계시 다양한
보안문제를 감안하지 않음
구축의 편의성을 위해 데이터베이스 레벨의 보안
문제 경시
DB 보안 (Database Security)
10
정보보안과 DB보안
정보보안(Information Security)
비인가 된 접근(access), 사용(use), 노출(disclosure), 파괴(disruption),
변경(modification), 탐색(perusal), 조사(inspection), 기록(recording) 또는
파기(destruction) 등으로부터 정보와 정보시스템을 보호하는 것
DB보안(Database Security)
데이터베이스 및 데이터베이스 내에
저장된 데이터를 비인가 된 변경, 파괴,
노출 및 비 일관성을 발생시키는
사건이나 위협들로부터 보호하는 것
DB보안은 정보보안의 범주
에서도 데이터베이스 및
데이터베이스 내에 저장된
데이터의 보호에 특화 하여 집중
정보보안
Network 보안
Server 보안
Application 보안
DB 보안
11
DB보안의 범위
명확한 범위 설정 및 세분화로 보다 치밀한 보안 구축이 가능, 문제 발생
시 책임 소재 명확화
• DB사용자계정/패스워드 •롤(Role) •권한(Privilege)
•패키지(Package) •저장프로시저 •사용자함수 • DB트리거 • SQL
•시노님 •뷰 •테이블 •데이터
데이터 액세스 흐름 관점에서의 DB보안
영역
12
DB보안의 범위
다양한 통제 수단들을 복합적으로 적용하여 상호 보완적으로 구성 시
효과적
구분 주요 내용 적용 예
관리적 보안 통제 (Administrative
Security Controls)
보안 활동에 대한 정책, 표준, 지침, 기준, 절차 등을
정의하고 준수하도록 하는 보안관리 활동
논리적 보안 통제 (Logical
Security Controls) 또는
기술적 보안 통제 (Technical
Security Controls)
DB에 발생할 수 있는 보안위협을 파악하고 보안 통제
시스템을 구축·운영하는 등의 활동
DBMS 또는 DB 상에 존재하는 취약점 제거 등의 활동
암호화, 접근제어, 감사 및 모니터링, 취약점 분석, 작업결재, 사용자 인증, 운영/개발/테스트 환경의 분리 등
물리적 보안 통제 (Physical
Security Controls)
정보자산이 위치한 시설에 대해 허가되지 않은 접근 또는
사용을 차단하고 모니터링하기 위한 물리적 보안관리 활동
DB 보안의 목적과 목표
14
DB에 대한 보안 위협 요소
위협(Threats)
위험(Risks)
취약점(Vulnerability)
위협의 발생 사용자의 실수, 오용, 내부자의 권한 남용, 비정상적인 접근행위, DB 상의 취약점/Security Hole 등으로부터 기인
우연이나 고의로 DB에 저장된 데이터를 유출하거나 수정하여 조직의 업무 목적 달성이나 미션 수행에 악영향을 미치는 적대적 행위
비인가 된 접근, 변경, 훼손 또는 파괴 등의 행위가 발생할 가능성이나 그 징후. 그 가능성이나 잠재성으로 인한 불안 요소에 초점
DBMS에 존재하는 보안상의 문제점이나 Security Hole. DBMS 소스코드, DB 구성 및 설정 등에서 발생하는 잠재적 보안 위험
취약점
위협 침해
취약점 위험
위협
하나 이상의 위협에 의해 악용될 수 있는 자산이나 자산 그룹의 약점
(ISO 27005)
시스템의 민감성 또는 결함
결함을 파고드는 공격자 접근
결함을 이용하는 공격자 능력
15
DB 보안의 목적
보안의 목적
모든 종류의 위협으로부터 완벽하게 방어하고자 하는 것이 아니라
위협 요소를 식별하고 분석하여 이를 적절하게 통제함으로써
불확실한 이벤트의 발생 위험을 감소시키고
수습 가능한 수준(Acceptable Level)으로 최소화하는 것
보안을 위해 관리할 모든 범위를 100% 충족할 수 있는 기술적 대안은
없다.
관리적인 부분을 더하여 보안 계층을 구성함으로써
보안 사고의 가능성을 최소화하거나 피해 범위를 최소화
16
DB 보안의 목표
DB 내 데이터를 공개/노출,
변조/파괴/훼손, 지체/재난 등의
위협으로부터 보호하여
데이터의 생명주기 동안
기밀성, 무결성, 가용성을 확보
DB보안의 목표(목적)는 CIA의 유지
기밀성(Confidentiality)
무결성(Integrity)
가용성(Availability)
DB 보안의 방법
18
How?
결국 CIA의 유지
기밀성(Confidentiality) 유지
선별적인 접근 체계를 만들어 비인가 된 개인이나 시스템에 의한 접근과 이에 따른 정보
공개/노출을 막는 것
19
How?
결국 CIA의 유지
무결성(Integrity) 유지
정당한 방법에 의하지 않고 데이터가 변경될 수 없음을 의미
데이터의 정확성 및 완전성을 보장하고, 그 내용이 고의 혹은 악의로 변경되거나 훼손
또는 파괴되지 않음을 보장하는 것
참조무결성(Referential Integrity)을 의미하는 것은 아니다.
접근제어와 의미적 무결성 제약(Semantic Integrity Constraints)을 함께 적용하여 보장
접근제어 의미적 무결성
제약 사용자가 데이터를 변경할 권한이 있는지를 검증
갱신된 데이터가 의미적으로 정확한지를 검증
디지털 서명
데이터 훼손 검출을 위해 디지털 서명이 사용될 수 있음
20
How?
결국 CIA의 유지
가용성(Availability) 유지
사용자가 업무 서비스를 필요로 할 때 그 서비스의 연속성을 보장할 수 있는 것
DBMS 버그, 관리자 실수, 관리 절차 미준수, 악의적 공격 등으로 인한 지체, 접속 불능과
같은 서비스 장애를 예방하면서 항상 가용한 상태를 유지하여, 정당한 권한을 가진
사용자나 어플리케이션에 대해 원하는 데이터에 대한 원활한 접근을 제공하는 서비스를
지속할 수 있도록 보장하는 것
DBMS 버그
관리자 실수
관리절차 미준수
악의적 공격
기타
DB 취약점 분석에 대한 이야기
취약점 분석(Vulnerability Assessment)
23
Vulnerability
시스템에 존재하고 있는 약점, Security Hole, 공격 루트
취약점
Vendor Bugs
Misconfigurations Poor Architecture
Incorrect Usage
24
Vulnerability
시스템에 존재하고 있는 약점, Security Hole, 공격 루트
취약점
Vendor Bugs
Misconfigurations Poor Architecture
Incorrect Usage
25
Vulnerability Assessment (취약점 분석)
DBMS 내.외부에 존재하는 Security Hole을 찾아 위험도 측정,분류,권고
Scanning
Hackers Eye
View
Outside-In
(Pen-Test)
Inside-Out
(Security Audit)
Identifies
-Vulnerabilities
-Misconfigurations
-User Right &
Role Permissions
Report
26
Vulnerability Assessment Tool 요건
보안 Process의 나침반, GRC 성취 동인
취약점 분석 툴의 5대 요건
취약점 분류 취약점 해소 방법
취약점 발견
취약점간 관계 정의
시스템에 미치는 영향 분석
27
Vulnerability Assessment 방식
Security Auditing + Penetration Test
VA는 잠재적인 취약점을 식별하는 테스트
Pen-Test는 취약점을 악용함으로써 식별된 취약점을 검증하는 VA 보완재
각기 독립적으로 사용될 수 있음
Note: Vulnerability Assessment의 중심 기능은 잠재적인 취약점 식별, 취약점 검증, 오탐 방지 및 제거.
28
Vulnerability Assessment 방식
Security Auditing + Penetration Test
29
Vulnerability Assessment 방식
Security Auditing + Penetration Test
30
Vulnerability Assessment 시연