보안세미나 1 db보안, 취약점 분석 why how when 20121025

30
DB보안, DB취약점 분석 Why . How . When 보안세미나 시리즈 I [email protected]

Upload: eungjin-cho

Post on 23-Jun-2015

1.661 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: 보안세미나 1 db보안, 취약점 분석 why how when 20121025

DB보안, DB취약점 분석

Why . How . When

보안세미나 시리즈 I

[email protected]

Page 2: 보안세미나 1 db보안, 취약점 분석 why how when 20121025

2

Agenda

DB 보안에 대한 이야기

– 보안사고 사례

– DB 보안 (Database Security)

– DB 보안의 목적과 목표

– DB 보안의 방법

DB 취약점 분석에 대한 이야기

– 취약점 분석(Vulnerability Assessment)

Page 3: 보안세미나 1 db보안, 취약점 분석 why how when 20121025

DB 보안에 대한 이야기

Page 4: 보안세미나 1 db보안, 취약점 분석 why how when 20121025

보안사고 사례

5억 6천 3백 8십 7만 vs. 1억 6백 5십 7만

Page 5: 보안세미나 1 db보안, 취약점 분석 why how when 20121025

5

보안사고 사례 유형 Categories

Unintended Disclosure Physical Loss

Insider Unknown or other

Hacking or Malware Portable Device

Payment Card Fraud Stationary Device

Page 6: 보안세미나 1 db보안, 취약점 분석 why how when 20121025

6

Privacy Rights Clearinghouse, 2005~현재

Page 7: 보안세미나 1 db보안, 취약점 분석 why how when 20121025

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만 건이 기록된 서류 미 파기 및 차량 방치 허술한 관리/방치

Page 8: 보안세미나 1 db보안, 취약점 분석 why how when 20121025

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년)

어플리케이션 구축 및 운영 시의 보안 허점

어플리케이션 및 데이터베이스 설계시 다양한

보안문제를 감안하지 않음

구축의 편의성을 위해 데이터베이스 레벨의 보안

문제 경시

Page 9: 보안세미나 1 db보안, 취약점 분석 why how when 20121025

DB 보안 (Database Security)

Page 10: 보안세미나 1 db보안, 취약점 분석 why how when 20121025

10

정보보안과 DB보안

정보보안(Information Security)

비인가 된 접근(access), 사용(use), 노출(disclosure), 파괴(disruption),

변경(modification), 탐색(perusal), 조사(inspection), 기록(recording) 또는

파기(destruction) 등으로부터 정보와 정보시스템을 보호하는 것

DB보안(Database Security)

데이터베이스 및 데이터베이스 내에

저장된 데이터를 비인가 된 변경, 파괴,

노출 및 비 일관성을 발생시키는

사건이나 위협들로부터 보호하는 것

DB보안은 정보보안의 범주

에서도 데이터베이스 및

데이터베이스 내에 저장된

데이터의 보호에 특화 하여 집중

정보보안

Network 보안

Server 보안

Application 보안

DB 보안

Page 11: 보안세미나 1 db보안, 취약점 분석 why how when 20121025

11

DB보안의 범위

명확한 범위 설정 및 세분화로 보다 치밀한 보안 구축이 가능, 문제 발생

시 책임 소재 명확화

• DB사용자계정/패스워드 •롤(Role) •권한(Privilege)

•패키지(Package) •저장프로시저 •사용자함수 • DB트리거 • SQL

•시노님 •뷰 •테이블 •데이터

데이터 액세스 흐름 관점에서의 DB보안

영역

Page 12: 보안세미나 1 db보안, 취약점 분석 why how when 20121025

12

DB보안의 범위

다양한 통제 수단들을 복합적으로 적용하여 상호 보완적으로 구성 시

효과적

구분 주요 내용 적용 예

관리적 보안 통제 (Administrative

Security Controls)

보안 활동에 대한 정책, 표준, 지침, 기준, 절차 등을

정의하고 준수하도록 하는 보안관리 활동

논리적 보안 통제 (Logical

Security Controls) 또는

기술적 보안 통제 (Technical

Security Controls)

DB에 발생할 수 있는 보안위협을 파악하고 보안 통제

시스템을 구축·운영하는 등의 활동

DBMS 또는 DB 상에 존재하는 취약점 제거 등의 활동

암호화, 접근제어, 감사 및 모니터링, 취약점 분석, 작업결재, 사용자 인증, 운영/개발/테스트 환경의 분리 등

물리적 보안 통제 (Physical

Security Controls)

정보자산이 위치한 시설에 대해 허가되지 않은 접근 또는

사용을 차단하고 모니터링하기 위한 물리적 보안관리 활동

Page 13: 보안세미나 1 db보안, 취약점 분석 why how when 20121025

DB 보안의 목적과 목표

Page 14: 보안세미나 1 db보안, 취약점 분석 why how when 20121025

14

DB에 대한 보안 위협 요소

위협(Threats)

위험(Risks)

취약점(Vulnerability)

위협의 발생 사용자의 실수, 오용, 내부자의 권한 남용, 비정상적인 접근행위, DB 상의 취약점/Security Hole 등으로부터 기인

우연이나 고의로 DB에 저장된 데이터를 유출하거나 수정하여 조직의 업무 목적 달성이나 미션 수행에 악영향을 미치는 적대적 행위

비인가 된 접근, 변경, 훼손 또는 파괴 등의 행위가 발생할 가능성이나 그 징후. 그 가능성이나 잠재성으로 인한 불안 요소에 초점

DBMS에 존재하는 보안상의 문제점이나 Security Hole. DBMS 소스코드, DB 구성 및 설정 등에서 발생하는 잠재적 보안 위험

취약점

위협 침해

취약점 위험

위협

하나 이상의 위협에 의해 악용될 수 있는 자산이나 자산 그룹의 약점

(ISO 27005)

시스템의 민감성 또는 결함

결함을 파고드는 공격자 접근

결함을 이용하는 공격자 능력

Page 15: 보안세미나 1 db보안, 취약점 분석 why how when 20121025

15

DB 보안의 목적

보안의 목적

모든 종류의 위협으로부터 완벽하게 방어하고자 하는 것이 아니라

위협 요소를 식별하고 분석하여 이를 적절하게 통제함으로써

불확실한 이벤트의 발생 위험을 감소시키고

수습 가능한 수준(Acceptable Level)으로 최소화하는 것

보안을 위해 관리할 모든 범위를 100% 충족할 수 있는 기술적 대안은

없다.

관리적인 부분을 더하여 보안 계층을 구성함으로써

보안 사고의 가능성을 최소화하거나 피해 범위를 최소화

Page 16: 보안세미나 1 db보안, 취약점 분석 why how when 20121025

16

DB 보안의 목표

DB 내 데이터를 공개/노출,

변조/파괴/훼손, 지체/재난 등의

위협으로부터 보호하여

데이터의 생명주기 동안

기밀성, 무결성, 가용성을 확보

DB보안의 목표(목적)는 CIA의 유지

기밀성(Confidentiality)

무결성(Integrity)

가용성(Availability)

Page 17: 보안세미나 1 db보안, 취약점 분석 why how when 20121025

DB 보안의 방법

Page 18: 보안세미나 1 db보안, 취약점 분석 why how when 20121025

18

How?

결국 CIA의 유지

기밀성(Confidentiality) 유지

선별적인 접근 체계를 만들어 비인가 된 개인이나 시스템에 의한 접근과 이에 따른 정보

공개/노출을 막는 것

Page 19: 보안세미나 1 db보안, 취약점 분석 why how when 20121025

19

How?

결국 CIA의 유지

무결성(Integrity) 유지

정당한 방법에 의하지 않고 데이터가 변경될 수 없음을 의미

데이터의 정확성 및 완전성을 보장하고, 그 내용이 고의 혹은 악의로 변경되거나 훼손

또는 파괴되지 않음을 보장하는 것

참조무결성(Referential Integrity)을 의미하는 것은 아니다.

접근제어와 의미적 무결성 제약(Semantic Integrity Constraints)을 함께 적용하여 보장

접근제어 의미적 무결성

제약 사용자가 데이터를 변경할 권한이 있는지를 검증

갱신된 데이터가 의미적으로 정확한지를 검증

디지털 서명

데이터 훼손 검출을 위해 디지털 서명이 사용될 수 있음

Page 20: 보안세미나 1 db보안, 취약점 분석 why how when 20121025

20

How?

결국 CIA의 유지

가용성(Availability) 유지

사용자가 업무 서비스를 필요로 할 때 그 서비스의 연속성을 보장할 수 있는 것

DBMS 버그, 관리자 실수, 관리 절차 미준수, 악의적 공격 등으로 인한 지체, 접속 불능과

같은 서비스 장애를 예방하면서 항상 가용한 상태를 유지하여, 정당한 권한을 가진

사용자나 어플리케이션에 대해 원하는 데이터에 대한 원활한 접근을 제공하는 서비스를

지속할 수 있도록 보장하는 것

DBMS 버그

관리자 실수

관리절차 미준수

악의적 공격

기타

Page 21: 보안세미나 1 db보안, 취약점 분석 why how when 20121025

DB 취약점 분석에 대한 이야기

Page 22: 보안세미나 1 db보안, 취약점 분석 why how when 20121025

취약점 분석(Vulnerability Assessment)

Page 23: 보안세미나 1 db보안, 취약점 분석 why how when 20121025

23

Vulnerability

시스템에 존재하고 있는 약점, Security Hole, 공격 루트

취약점

Vendor Bugs

Misconfigurations Poor Architecture

Incorrect Usage

Page 24: 보안세미나 1 db보안, 취약점 분석 why how when 20121025

24

Vulnerability

시스템에 존재하고 있는 약점, Security Hole, 공격 루트

취약점

Vendor Bugs

Misconfigurations Poor Architecture

Incorrect Usage

Page 25: 보안세미나 1 db보안, 취약점 분석 why how when 20121025

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

Page 26: 보안세미나 1 db보안, 취약점 분석 why how when 20121025

26

Vulnerability Assessment Tool 요건

보안 Process의 나침반, GRC 성취 동인

취약점 분석 툴의 5대 요건

취약점 분류 취약점 해소 방법

취약점 발견

취약점간 관계 정의

시스템에 미치는 영향 분석

Page 27: 보안세미나 1 db보안, 취약점 분석 why how when 20121025

27

Vulnerability Assessment 방식

Security Auditing + Penetration Test

VA는 잠재적인 취약점을 식별하는 테스트

Pen-Test는 취약점을 악용함으로써 식별된 취약점을 검증하는 VA 보완재

각기 독립적으로 사용될 수 있음

Note: Vulnerability Assessment의 중심 기능은 잠재적인 취약점 식별, 취약점 검증, 오탐 방지 및 제거.

Page 28: 보안세미나 1 db보안, 취약점 분석 why how when 20121025

28

Vulnerability Assessment 방식

Security Auditing + Penetration Test

Page 29: 보안세미나 1 db보안, 취약점 분석 why how when 20121025

29

Vulnerability Assessment 방식

Security Auditing + Penetration Test

Page 30: 보안세미나 1 db보안, 취약점 분석 why how when 20121025

30

Vulnerability Assessment 시연