Owasp top 10 2013 - 정다운 -

35
OWASP TOP 10 2013 융합서비스보안학과 정다운

Transcript of Owasp top 10 2013 - 정다운 -

Page 1: Owasp top 10   2013 - 정다운 -

OWASP TOP 10 2013

융합서비스보안학과 정다운

Page 2: Owasp top 10   2013 - 정다운 -

01 OWASP 란 ?

02 A1 – 인젝션

03 A2 – 인증 및 세션 관리 취약점

04 A3 – 크로스 사이트 스크립팅

05 A4 – 취약한 직접 객체 참조

06 A5 – 보안 설정 오류

07 A6 – 민감 데이터 노출

08 A7 – 기능 수준의 접근 통제 누락

09 A8 – 크로스 사이트 요청 변조 (CSRF)

10 A9 – 알려진 취약점이 있는 컴포넌트 사용

11 A10 – 검증되지 않은 리다이렉트 및 포워드

12 웹 보안 프로젝트 관련 참조 사이트

Contents

Page 3: Owasp top 10   2013 - 정다운 -

1 >

> 01 OWASP 란 ?

OWASP (The Open Web Application Security Project)

국제웹보안표준기구

직역하면 오픈소스 웹 어플리케이션 보안 프로젝트

주로 웹에 관한 정보노출, 악성 파일 및 스크립트, 보안 취약점 등을 연구

10대 웹 어플리케이션 취약점 (OWASP Top 10)을 발표

융합서비스보안학과 정다운 OWASP Top 10 - 2013

Page 4: Owasp top 10   2013 - 정다운 -

2 >

> 02 A1 – 인젝션

인젝션 (Injection)

명령어나 질의문의 일부분으로서 인터프리터로 보내질 때 발생

예상하지 못하는 명령을 실행시키거나, 적절한 권한 없이 데이터에 접근하도록

인터프리터를 속이는 공격자의 악의적인 공격 대표적인 예 (SQL Injection)

MEMBER

ID PW

admin admin

아이디 ’ or 1=1 #

패스워드 love

정상 : SELECT ID, PW FROM MEMBER ID = ‘admin’ AND PW = ‘admin’

공격 : SELECT ID, PW FROM MEMBER ID = ‘’OR 1=1 # PW = ‘love’ ※ 주석 : MYSQL (#), MS-SQL, ORACLE (--)

융합서비스보안학과 정다운 OWASP Top 10 - 2013

Page 5: Owasp top 10   2013 - 정다운 -

3 >

> 02 A1 – 인젝션 (Cont.)

영향

데이터베이스에 저장된 데이터 값을 조회, 열람, 삭제, 추가 가능

인증 절차를 비정상적으로 우회 가능

데이터베이스에 활용되는 시스템 명령어를 활용하여 데이터베이스 시스템 조작 가능 대응방안

사용자로부터 전달되는 파라미터 중 에러를 유발할 수 있는 특수문자,

DB 쿼리문에 사용되는 모든 파라미터 필터링 필터링 할 특수 문자 필터링 할 특수 구문

' union " select -- insert

/*, */ drop

( update ) and > or < If = Join

융합서비스보안학과 정다운 OWASP Top 10 - 2013

Page 6: Owasp top 10   2013 - 정다운 -

4 >

> 03 A2 – 인증 및 세션 관리 취약점

인증 및 세션 관리 취약점

데이터베이스에 저장된 데이터 값을 조회, 열람, 삭제, 추가 가능

인증 절차를 비정상적으로 우회 가능

데이터베이스에 활용되는 시스템 명령어를 활용하여 데이터베이스 시스템 조작 가능 대표적인 예

세션이 암호 되지 않았기 때문에 쿠키 전용 툴, 프록시 툴을 사용해

로그인한 사용자의 쿠키 값을 추출 후 그 값을 그대로 재입력 시 다른 사용자로 로그인 가능

이는 XSS, CSRF 공격 등으로 확장될 가능성과 사용자의 권한을 획득

융합서비스보안학과 정다운 OWASP Top 10 - 2013

Page 7: Owasp top 10   2013 - 정다운 -

5 >

> 03 A2 – 인증 및 세션 관리 취약점 (Cont.)

영향

이러한 결함으로 일부 또는 모든 계정이 공격 당할 수 있음

공격이 성공하면, 공격자는 피해자가 할 수 있는 모든 것을 할 수 있음 대응방안

취약한 인증과 세션을 근본적으로 막기 위해서는

소스코드에서 인증 시 마다 동일한 세션 ID가 발급되거나

세션 만료 시간을 너무 길게 설정하지 않고,

세션 ID는 로그인 시 마다 추측할 수 없는 세션 ID나 토큰으로 발급하거나

프록시 툴로 인해 넘어가는 값이 보이지 않도록 하고 세션 타임아웃 설정을 통해

일정시간 동안 움직임이 없을 경우 자동 로그아웃 되도록 구현

융합서비스보안학과 정다운 OWASP Top 10 - 2013

Page 8: Owasp top 10   2013 - 정다운 -

6 >

> 04 A3 – 크로스 사이트 스크립팅 (XSS)

크로스 사이트 스크립팅 (XSS)

Cross Site Scripting 의 약자로 CSS와 구분하기 위해 XSS라고 표기

공격자가 웹 페이지에 악성 스크립트(HTML, Javascript 등)를 삽입할 수 있는 취약점

사용자로부터 입력 받은 값을 제대로 검사하지 않고 사용할 경우 나타남

주로 여러 사용자가 보는 게시판에 활용되며 쿠키, 세션 등 사용자의 정보 탈취

융합서비스보안학과 정다운 OWASP Top 10 - 2013

Page 9: Owasp top 10   2013 - 정다운 -

7 >

> 04 A3 – 크로스 사이트 스크립팅 (XSS) (Cont.)

대표적인 예 (게시판을 통한 다른 사용자의 정보 탈취)

융합서비스보안학과 정다운 OWASP Top 10 - 2013

Page 10: Owasp top 10   2013 - 정다운 -

8 >

> 04 A3 – 크로스 사이트 스크립팅 (XSS) (Cont.)

대표적인 예 (게시판을 통한 다른 사용자의 정보 탈취)

융합서비스보안학과 정다운 OWASP Top 10 - 2013

Page 11: Owasp top 10   2013 - 정다운 -

9 >

> 04 A3 – 크로스 사이트 스크립팅 (XSS) (Cont.)

대표적인 예 (게시판을 통한 다른 사용자의 정보 탈취)

융합서비스보안학과 정다운 OWASP Top 10 - 2013

Page 12: Owasp top 10   2013 - 정다운 -

10 >

> 04 A3 – 크로스 사이트 스크립팅 (XSS) (Cont.)

대표적인 예 (게시판을 통한 다른 사용자의 정보 탈취)

융합서비스보안학과 정다운 OWASP Top 10 - 2013

Page 13: Owasp top 10   2013 - 정다운 -

11 >

> 04 A3 – 크로스 사이트 스크립팅 (XSS) (Cont.)

대표적인 예 (게시판을 통한 다른 사용자의 정보 탈취)

융합서비스보안학과 정다운 OWASP Top 10 - 2013

Page 14: Owasp top 10   2013 - 정다운 -

12 >

> 04 A3 – 크로스 사이트 스크립팅 (XSS) (Cont.)

대표적인 예 (게시판을 통한 다른 사용자의 정보 탈취)

융합서비스보안학과 정다운 OWASP Top 10 - 2013

Page 15: Owasp top 10   2013 - 정다운 -

13 >

> 04 A3 – 크로스 사이트 스크립팅 (XSS) (Cont.)

대표적인 예 (게시판을 통한 다른 사용자의 정보 탈취)

융합서비스보안학과 정다운 OWASP Top 10 - 2013

Page 16: Owasp top 10   2013 - 정다운 -

>

> 04 A3 – 크로스 사이트 스크립팅 (XSS) (Cont.)

영향

이러한 결함으로 일부 또는 모든 계정이 공격 당할 수 있음

공격이 성공하면, 공격자는 피해자가 할 수 있는 모든 것을 할 수 있음

또, 스크립트를 통해 악성코드에 감염될 수 있음 대응방안

게시판 사용자 입력 값 검증

쿠키 값 암호화

악의적인 공격이 일어날 수 있는 입력 값의 적절한 치환으로 스크립트 실행 차단 코딩

14

입력 값 수정 값(ASCII) 입력 값 수정 값(ASCII)

< &lt; ) &#41;

> &gt; # &#35;

( &#40; & &#38;

스크립트를 브라우저에서 일반 문자로 인식하고 실행되지 않음

융합서비스보안학과 정다운 OWASP Top 10 - 2013

Page 17: Owasp top 10   2013 - 정다운 -

>

> 05 A4 – 취약한 직접 객체 참조

취약한 직접 객체 참조

직접 객체 참조는 개발자가 파일, 디렉토리, 데이터베이스 키와 같은

내부 구현 객체를 참조하는 것을 노출시킬 때 발생

접근 통제를 통한 확인이나 다른 보호수단이 없다면,

공격자는 노출된 참조를 조작하여 허가 받지 않은 데이터에 접근 대표적인 예 (디렉토리 리스팅, 파라미터 변조)

15 융합서비스보안학과 정다운 OWASP Top 10 - 2013

Page 18: Owasp top 10   2013 - 정다운 -

>

> 05 A4 – 취약한 직접 객체 참조

영향

이러한 결함은 파라미터에 의해 참조되는 모든 데이터를 침해할 수 있음

구체적으로 설명하면 인자 값들을 조작한 결과 상대 경로를 통하여

웹 서버 파일 경로 수집, 웹 서버의 파일 다운로드를 통해 파밍에 이용될 수 있음

권한이 없는 사용자도 수정 권한 등을 얻을 수 있음 대응방안

허가되지 않은 사용자가 디렉토리를 볼 수 없게 웹 서버 설정 변경 (IIS, Linux 등)

신뢰되지 않은 곳으로부터 직접적인 객체 참조를 사용하는 경우

요청된 객체에 대해 사용자가 권한이 있는지 확인하는 접근 통제를 포함

웹 서버와 파일 다운로드 웹 애플리케이션을 담당하는 서버를 물리적으로 분리

16 융합서비스보안학과 정다운 OWASP Top 10 - 2013

Page 19: Owasp top 10   2013 - 정다운 -

>

> 06 A5 – 보안 설정 오류

보안 설정 오류

훌륭한 보안은 애플리케이션, 프레임워크, 애플리케이션 서버, 웹 서버,

데이터베이스 서버 및 플랫폼에 대해 보안 설정이 정의되고 적용되어 있음

기본으로 제공되는 값은 종종 안전하지 않기 때문에

보안 설정은 정의, 구현 및 유지되어야 함

또한 소프트웨어는 최신의 상태로 유지 대표적인 예 (게시판 수정 권한)

17

접근 권한 코딩이 적용 되지 않아 인증되지 않은 사용자도 게시물을 수정할 수 있음

융합서비스보안학과 정다운 OWASP Top 10 - 2013

Page 20: Owasp top 10   2013 - 정다운 -

>

> 06 A5 – 보안 설정 오류 (Cont.)

영향

어떤 결함은 공격자에게 특정 시스템 데이터나 기능에 대한 무단 접근 권한을 주게 됨

이러한 결함으로 때로는 시스템이 완전히 해킹될 수 있음 대응방안

운영체제, 웹/앱 서버, DBMS, 코드 라이브러리들의 소프트웨어 보안 업데이트

또는 보안 위협이 생기지 않도록 구성

18 융합서비스보안학과 정다운 OWASP Top 10 - 2013

Page 21: Owasp top 10   2013 - 정다운 -

>

> 07 A6 – 민감 데이터 노출

민감 데이터 노출

서버와 클라이언트간 통신 시 암호화 하여 전송을 하지 않아

민감한 정보(신용카드번호, 여권번호, 주민등록번호 등)가 평문으로 전송되는 등

민감한 정보가 노출되는 취약점 대표적인 예 (민감한 데이터 평문 전송)

19

민감한 정보인 아이디와 암호가 평문으로 전송 되어 프록시 툴(Burp Suite)로 열람 시 그대로 노출

이를 통해 사용자의 권한을 얻어 정보의 조회, 수정, 삭제 등 개인정보 유출로 인한 2차 피해가 발생할 수 있음

융합서비스보안학과 정다운 OWASP Top 10 - 2013

Page 22: Owasp top 10   2013 - 정다운 -

>

> 07 A6 – 민감 데이터 노출 (Cont.)

영향

공격자들은 암호문을 직접 풀지는 않음

대신 키를 훔치거나 중간 공격을 하기도 하고, 서버에 저장된 평문으로 된 정보나

사용자의 브라우저에서 송수신 중인 정보를 훔침

이러한 정보는 일반적으로 건강 기록이나 인증 데이터,

신용 카드 등의 민감한 내용을 포함하고 있기 때문에 심각한 피해가 초래될 수 있음 대응방안

민감한 정보들이 파라미터 값으로 넘어갈 때 평문이 아닌 암호화되어 전송하게 함

오래되었거나 취약한 암호 알고리즘 사용 금지

웹 상에서의 전송 정보를 제한하여 불필요한 비밀번호, 주민등록번호,

계좌정보 와 같은 중요 정보의 전송을 최소화

20 융합서비스보안학과 정다운 OWASP Top 10 - 2013

Page 23: Owasp top 10   2013 - 정다운 -

>

> 08 A7 – 기능 수준 접근 통제 누락

기능 수준 접근 통제 누락

대부분의 웹 애플리케이션은 UI에 해당 기능을 보이게 하기 전에

기능 수준의 접근권한을 확인

또, 애플리케이션은 각 기능에 접근하는 서버에 동일한 접근통제 검사를 수행

요청에 대해 적절히 확인하지 않을 경우 공격자는 적절한 권한 없이

기능에 접근하기 위한 요청을 위조할 수 있음 대표적인 예 (허가되지 않은 사용자의 게시물 작성, 삭제)

21 융합서비스보안학과 정다운 OWASP Top 10 - 2013

Page 24: Owasp top 10   2013 - 정다운 -

>

> 08 A7 – 기능 수준 접근 통제 누락 (Cont.)

영향

공격자는 최고관리자 기능(Administrative functions)이 주요 공격 목표

관리자를 사칭하여 글을 등록하거나

다른 사용자의 글을 수정하고 결제하는 등 금전적인 피해가 발생할 수 있음

상대 경로로 접근하여 서버 측의 중요 파일을 다운로드 할 수 있음 대응방안

명백히 허가된 특정 역할만 접근할 수 있도록 코딩 및 설정

22 융합서비스보안학과 정다운 OWASP Top 10 - 2013

Page 25: Owasp top 10   2013 - 정다운 -

>

> 09 A8 – 크로스 사이트 요청 변조 (CSRF)

크로스 사이트 요청 변조 (CSRF)

Cross Site Request forgery의 약자

희생자가 자신의 의지와는 무관하게

해커가 의도한 행위(수정, 삭제, 생성 등)을 특정 웹 사이트에 요청하는 공격

크로스 사이트 스크립트(XSS)와 Script를 이용한다는 점은 같지만

XSS는 악성 스크립트가 사용자 클라이언트에서 일어나고,

CSRF는 인증 완료된 다른 사람의 권한으로 서버에 부정적인 요청을 함

희생자가 웹사이트에 CSRF공격 코드가 삽입된 페이지를 열면

이후에는 사용자의 행동과 관계없이 희생자의 웹 브라우저와

공격 대상 웹사이트 간의 상호작용이 이루어 짐

23 융합서비스보안학과 정다운 OWASP Top 10 - 2013

Page 26: Owasp top 10   2013 - 정다운 -

>

> 09 A8 – 크로스 사이트 요청 변조 (CSRF) (Cont.)

대표적인 예

24

게시판의 소스보기를 통해 넘어가는 파라미터 값과 저장되는 곳을 확인

융합서비스보안학과 정다운 OWASP Top 10 - 2013

Page 27: Owasp top 10   2013 - 정다운 -

>

> 09 A8 – 크로스 사이트 요청 변조 (CSRF) (Cont.)

대표적인 예

25

공격자가 올린 게시글을 읽었을 때 피해자의 정보가 수정될 수 있도록 스크립트 작성

융합서비스보안학과 정다운 OWASP Top 10 - 2013

Page 28: Owasp top 10   2013 - 정다운 -

융합서비스보안학과 정다운 OWASP Top 10 - 2013 >

> 09 A8 – 크로스 사이트 요청 변조 (CSRF) (Cont.)

대표적인 예

26

공격자가 올린 게시글을 읽었을 때 피해자의 정보가 수정됨

만약 관리자가 이 게시글을 보게 되면 관리자의 비밀번호가 공격자가 설정해놓은

비밀번호로 변경이 되고 공격자는 이를 가지고 악의적인 행동을 할 수 있음

Page 29: Owasp top 10   2013 - 정다운 -

>

> 09 A8 – 크로스 사이트 요청 변조 (CSRF) (Cont.)

영향

사용자가 공격자의 글을 읽는 순간 공격자는 사용자의 정보를 수정, 삭제, 변조 가능

또는, 자동 글쓰기 혹은 물품 구매 등 금전적인 피해가 가능 대응방안

XSS와 비슷한 방안으로, 스크립트 구문의 적절한 치환으로 코딩

중요한 정보를 처리하는(결제 등) 과정에서 반드시 사용자를 재인증

27 융합서비스보안학과 정다운 OWASP Top 10 - 2013

Page 30: Owasp top 10   2013 - 정다운 -

>

> 10 A9 – 알려진 취약점이 있는 컴포넌트 사용

알려진 취약점이 있는 컴포넌트 사용

간단히 말하자면 취약점이 발견된 이전 버전을 계속 사용하고 있는 것으로

"최신 버전 업데이트 미흡" 이라고 말할 수 있음

일부 프로그램의 경우 자체적으로 업데이트를 권고하고

또한 업데이트를 하는 것이 쉽지만, 현재 운영중인 대형 서버와 같이

실시간으로 업데이트를 하기 어려운 경우에 자주 발생하기 쉬운 취약점 대표적인 예

28

다음 팟플레이어에 임의코드 실행 취약점이 발생,

이에 대한 업데이트 공시 이때 바로 업데이트 하지 않으면

해킹의 대상이 될 수 있음

융합서비스보안학과 정다운 OWASP Top 10 - 2013

Page 31: Owasp top 10   2013 - 정다운 -

>

> 10 A9 – 알려진 취약점이 있는 컴포넌트 사용 (Cont.)

영향

취약점이 있는 컴포넌트를 사용하면 인젝션,

접근통제 우회, XSS 등을 포함한 모든 종류의 취약점들이 가능

공격자가 시스템을 완전하게 장악하고 정보를 탈취할 수 있을 정도까지도 가능 대응방안

본인이 만들지 않는 컴포넌트를 사용하지 않는 것이 방법이지만,

현실적으로는 사용중인 것들에 대한 최신 보안 업데이트가 중요

29 융합서비스보안학과 정다운 OWASP Top 10 - 2013

Page 32: Owasp top 10   2013 - 정다운 -

>

> 11 A10 – 검증되지 않은 리다이렉트 및 포워드

검증되지 않은 리다이렉트(넘겨 주기, 다시 보냄) 및 포워드(발송)

웹 애플리케이션은 종종 사용자들을 다른 페이지로 리다이렉트 하거나 포워드하고,

대상 페이지를 결정하기 위해 신뢰할 수 없는 데이터를 사용

적절한 검증 절차가 없으면 공격자는 피해자를 피싱 또는 악성코드 사이트로

리다이렉트 하거나 승인되지 않은 페이지에 접근하도록 전달 대표적인 예 (Click Jacking)

30 융합서비스보안학과 정다운 OWASP Top 10 - 2013

Page 33: Owasp top 10   2013 - 정다운 -

>

> 11 A10 – 검증되지 않은 리다이렉트 및 포워드

대표적인 예 (Click Jacking)

31 융합서비스보안학과 정다운 OWASP Top 10 - 2013

Page 34: Owasp top 10   2013 - 정다운 -

>

> 11 A10 – 검증되지 않은 리다이렉트 및 포워드 (Cont.)

영향

리다이렉트는 사용자로 하여금 악성프로그램을 설치하거나

패스워드와 같은 민감한 정보들을 노출하도록 유도

안전한지 않은 포워드는 접근 통제를 우회할 수도 있음 대응방안

목적지를 조작할 수 있는 사용자 파라미터를 포함하지 말아야 함

파라미터 값이 허용된 목적지 요소들만 포함하고 있는지 확인

사이트 전환 시 사용자가 기존 사이트를 벗어나려 할 때 경고창을 띄어 알려줌

실제 URL 또는 그 URL의 일부 보다는 맵핑 된 값을 목적 파라미터로 사용하고,

서버측 코드에서 그 맵핑 값을 목표 URL로 변환

32 융합서비스보안학과 정다운 OWASP Top 10 - 2013

Page 35: Owasp top 10   2013 - 정다운 -

>

> 12 웹 보안 프로젝트 관련 참조 사이트

OWASP

http://www.owasp.org/ 국정원 8대 취약점 2005년 국가사이버안전센터(NCSC)에서 국내 각 기관에서 홈

페이지 해킹에 많이 악용되었던 보안취약점 8종을 선정하고 발표 WASC (Web Application Security Consortium)

http://www.webappsec.org/

33 융합서비스보안학과 정다운 OWASP Top 10 - 2013