43
NHN Security Division NHN Security Division NHN security analysis team, 전 전전 2007.04 ([email protected]) Web 2.0 Security

NHN Security Division

  • Upload
    senwe

  • View
    60

  • Download
    0

Embed Size (px)

DESCRIPTION

Web 2.0 Security. NHN security analysis team, 전 상훈 2007.04 ([email protected]). NHN Security Division. Web 2.0 ? 위험요소 위험의 발전과 방향 Web 2.0 threat? Countermeasure 결론과 예상. Contents. Web 2.0 이란 ? 사용자의 적극적인 참여 개방성 집단지성의 출현과 활용 ( 사용자에 의한 지식의 집대성 ) 사용자에 의한 정보 및 네트워크 창조와 공유 - PowerPoint PPT Presentation

Citation preview

Page 1: NHN Security Division

NHN Security DivisionNHN Security Division

NHN security analysis team, 전 상훈2007.04 ([email protected])

Web 2.0 Security

Page 2: NHN Security Division

NHN Security Division

Contents

• Web 2.0 ?• 위험요소• 위험의 발전과 방향• Web 2.0 threat?• Countermeasure• 결론과 예상

Page 3: NHN Security Division

NHN Security Division

Web 2.0 ?

• Web 2.0 이란 ? – 사용자의 적극적인 참여– 개방성 – 집단지성의 출현과 활용 ( 사용자에 의한 지식의 집대성 )– 사용자에 의한 정보 및 네트워크 창조와 공유– 멀티 디바이스 ( Ubiquitous )– 사용자 접근성의 향상 ( RSS , Atom , AJAX , Open API …)

• Web 2.0 비즈니스– 사용자의 의견을 적극적으로 활용 하고 사용자의 접근성을

개선하여 직접적인 사용자의 참여를 통한 이익모델 창출

Page 4: NHN Security Division

NHN Security Division

Web 2.0 ?

• Web 의 paradigm shift– Web 2.0 은 특별한 용어나 현상인가 ?– 도구로서의 Web 에서 생활 속의 Web– Network 를 통한 가상의 사회 -> 현실 속으로 ( second life , blo

g , avatar )

Page 5: NHN Security Division

NHN Security Division

Web 2.0 ?

• UCC ( User Created Contents) – UCC 의 정의

• 일반적으로 동영상 게시물을 UCC 라 칭하나 모든 부분에서 사용자가 작성하는 유형의 인터넷 활동을 UCC 라 할 수 있다 .

• 게시물 , 덧글 , 동영상 , 이미지 , 메일과 같은 의견 및 정보를 나타내는 모든 유형이 UCC

Page 6: NHN Security Division

NHN Security Division

위험요소

• Web 환경의 발전에 따른 위험요소 – Web 의 발전에 따른 현재의 환경 이해

• 다양한 online client method , 다양한 접근 방법 , 사용자 참여 일반화

• Ref: http://web2.wsj2.com

Page 7: NHN Security Division

NHN Security Division

위험요소

• Web 환경의 발전에 따른 위험요소 – 유형별

• 광고 (ActiveX) , 피싱• 악성코드 유포 • 개인정보 관련 ( 정보 유출 , 욕설 , 비방 , 허위사실 ) , 피싱• Service Hacking

– XSS ( 다양한 부분의 XSS 공격 ), SQL Injection , XML , Request 위조 , DOM , script attack

– 매개체 별 • 게시물 • 덧글 , RSS • 동영상 , 이미지 , Flash , Music …

– 구조별 • Open API ( Mashup) 및 다양한 접근 환경 취약성 ( Ajax , SOAP , DoM )• 서비스별 구성요소 분석에 따른 위험 – ex )Myspace Attack

Page 8: NHN Security Division

NHN Security Division

위험요소

• Web 기술의 발전에 따른 위험요소 – 유형별

• 광고 (ActiveX)

Page 9: NHN Security Division

NHN Security Division

위험요소

• Web 기술의 발전에 따른 위험요소 – 유형별

• 광고 (RSS Advertising) 자동화된 RSS 광고의 범람

Page 10: NHN Security Division

NHN Security Division

위험요소

• Web 기술의 발전에 따른 위험요소 – 유형별

• Phishing ( 사회 공학적인 기법 – 속임수와 결합 ) 여러 유형으로 발전

Page 11: NHN Security Division

NHN Security Division

위험요소

• Web 기술의 발전에 따른 위험요소 – 유형별

• 악성코드 유포 ( 2006 년 10 월 이후 )

07.3 월 ANI 파일 취약성

Page 12: NHN Security Division

NHN Security Division

위험요소

• Web 기술의 발전에 따른 위험요소 – 유형별

• Service Hacking - ex) Html / Script Injection – XSS Attack– XSS ( 다양한 부분의 XSS 공격 ), SQL Injection , XML , Request

위조 , DOM , script attack

RSS Example:

<item rdf:about="http://host/about.foo"><title> <script>alert(‘Item

Title')</script> </title><link>http://host/?<script>alert('Item

Link')</script> </link><description><script>alert(‘Item

Description')</script></description><author><script>alert(‘Item

Author')</script> </author></item>

Atom Example

<entry xmlns="http://www.w3.org/2005/Atom">

<author><name> <script>alert('Entry Author Name')</script></name>

</author><published>2005-09-15T06:27:00-07:00</

published><updated>2005-09-15T13:33:06</updated><id>tag:url.com,1999:blog-6356614.post-

112679118286717848<script>alert('Entry ID')</script></id>

<title type="html"> <script>alert('Entry Title')</script> </title>

<content type="xhtml" xml:base="http://url"xml:space="preserve">

<div xmlns="http://www.w3.org/1999/xhtml"><script>alert('Entry Div

XMLNS')</script></div></content><draft

xmlns="http://purl.org/atom-blog/ns#">false</draft></entry>

Page 13: NHN Security Division

NHN Security Division

위험요소

• Web 기술의 발전에 따른 위험요소 – 유형별

• Service Hacking – XSS ( 다양한 부분의 XSS 공격 )( RSS –security www.spidynamic.com 참조 )– Feedback attack

RSS Example

<item rdf:about="http://host/about.foo"><title> &lt;script&gt;alert(‘Item

Title')&lt;/script&gt; </title><link>http://host/?&lt;script&gt;alert(‘Item

Link')&lt;/script&gt; </link><description>&lt;script&gt;alert(‘Item

Description')&lt;/script&gt;</description><author> &lt;script&gt;alert(‘Item

Author')&lt;/script&gt; </author></item>

Atom Example

<entry xmlns="http://www.w3.org/2005/Atom"><author><name>&lt;script&gt;alert('Entry Author

Name')&lt;/script&gt;</name></author><published>2005-09-15T06:27:00-07:00</

published><updated>2005-09-15T13:33:06</updated><link href="http://url/?

&lt;script&gt;alert('Entry Link')&lt;/script&gt;"

rel="alternate" title="&lt;script&gt;alert('Entry Link Title')&lt;/script&gt;"type="text/html"/>

<id>tag:url.com,1999:blog-6356614.post-112679118286717848&lt;script&gt;alert('Entry ID')&lt;/script&gt;</id>

<div xmlns="http://www.w3.org/1999/xhtml">&lt;script&gt;alert('Entry Div XMLNS')

&lt;/script&gt;</div></content><draft

xmlns="http://purl.org/atom-blog/ns#">false</draft></entry>

Page 14: NHN Security Division

NHN Security Division

위험요소

• Web 기술의 발전에 따른 위험요소 – 유형별

• Service Hacking – XSS ( 다양한 부분의 XSS 공격 ) 2006 년 7 월 Google RSS Reader XSS

취약성 http://ha.ckers.org/blog/20060704/cross-site-scripting-vulnerability-in-google/

Page 15: NHN Security Division

NHN Security Division

위험요소

• Web 기술의 발전에 따른 위험요소 – 유형별

• Service Hacking ( XSS , SQL Injection)

Page 16: NHN Security Division

NHN Security Division

위험요소

• Web 환경의 발전에 따른 위험요소 – 매개체 별

• 게시물 – 게시판에 악성코드 설치 루틴이나 사용자 정보 유출 하는 XSS 취약성 공격

루틴을 작성 하여 올림 – 악성코드 실행 루틴이 포함된 게시물 클릭 시에 설치 되거나 정보 유출

Page 17: NHN Security Division

NHN Security Division

위험요소

• Web 환경의 발전에 따른 위험요소 – 매개체 별

• 동영상 , 이미지 , Flash , Music – Ex) mp3 파일에 포함된 악성코드 example

Page 18: NHN Security Division

NHN Security Division

위험요소

• Web 환경의 발전에 따른 위험요소 – 매개체 별

• 동영상 , 이미지 , Flash , Music– Ex) Apple 의 quicktime 동영상을 이용한 악성코드 설치

» 2006.12 월 Myspace Attack 에 사용

Page 19: NHN Security Division

NHN Security Division

위험요소

• Web 환경의 발전에 따른 위험요소 – 매개체 별

• 동영상 , 이미지 , Flash , Music– Ex) Flash 를 통한 악성코드 유포 , 동영상중간에 삽입된 악성코드

Page 20: NHN Security Division

NHN Security Division

위험의 발전과 방향

• Application Attack

Page 21: NHN Security Division

NHN Security Division

위험의 발전과 방향

• Application Attack Flow

Page 22: NHN Security Division

NHN Security Division

위험의 발전과 방향

• Application Attack ( Ubiquitous service Attack) – platform에 관계 없는 Application Attack의 일반화– 일반 Application 및 표준규격의 다양한 플랫폼 탑재 ( TV , PDA , 가정용 기기 ,Handphone … ) ex) Java , web , xml …

Page 23: NHN Security Division

NHN Security Division

Web 2.0 threat?

• Web 2.0 threat 특징 ?

– Application worm – 특정 서비스에 특화된 Worm – Ubiquitous service attack ( 다양한 접속 매개체 )– 다양한 platform attack

• 여러 종류의 통신 규약 , 여러 종류의 Application 공격하는 유형의 Monster application attack 출현 가능성

Page 24: NHN Security Division

NHN Security Division

Web 2.0 threat?

• Application worm• 최초 santy worm ( 2004 년 12 월 )

취약 Application 서버Attacker

1. APP 취약성을 이용 최초공격

Worm Process

Application Worm( ex –Santy worm)

2. 검색엔진 이용 취약한 서버 검색 후 공격

취약 Application 서버

취약 Application 서버

취약 Application 서버

Page 25: NHN Security Division

NHN Security Division

Web 2.0 threat?

• Application worm• 공개용 게시판 취약성을 이용한 Application worm

Web Server Application ServerAttacker

1. APP 취약성을 이용 외부 파일 실행 명령

악성코드 업로드 사이트

PHP Web Server

3. Option 에 따른 명령 실행

2. 외부 사이트의 코드가 대상서버에서 실행됨

Reverse Backdoor

Local root exploit

악성 코드 옵션. Option 에서 Exploit 을 선택 할 때웹서버내에 Local exploit 파일을파일로 쓰고 생성을 시킴

. 악성코드내 명령 입력창에서 Exploit실행

. 웹상에서 root 권한 획득

Page 26: NHN Security Division

NHN Security Division

Web 2.0 threat?

• Service Application worm• ex) myspace , 다른 서비스들도 유사한 형태의 공격 위험성

Page 27: NHN Security Division

NHN Security Division

Web 2.0 threat?

• Service Application worm• ex) yahoo messenger attack (YH032.explr)

Yahoo ChattingAttacker

1. Yahoo Messenger Attack Code Insert

2. 악성코드 사용자 노출및 감염

채팅 사용자

3. 가짜 IE Icon 생성

악성코드 배포사이트

4. 스파이 웨어 설치5. 등록자 List 에서 Script base worm 재전송

Page 28: NHN Security Division

NHN Security Division

Countermeasure

• Web 2.0 은 패러다임의 변화 이므로 단순 요소 기술로는 대응이 어려움

• Technical Base – Filtering

• 사용자 입력의 Filtering ( 기술적 , 정책적 이슈 )• 위험요소 판별을 위한 자동 판별 시스템의 구축 및 운용

– Platform 의 체계화• Filtering system 의 체계화 및 구조화• 전문 보안 인력의 운용과 합리적인 프로세스 수립

– Monitoring• 인력을 이용한 이슈 모니터링• 자동 Filtering 예외 사안의 수시 모니터링 및 Rule Update• 신규 취약성에 대한 모니터링

– 보안성 검수 (Black box Test)• 전문 인력을 이용한 웹 서비스 및 Application 에 대한 보안성 검수• 취약성 모니터링을 통한 취약부분 일괄 적용 및 문제 해결 프로세스• Open Api 취약성에 대한 검증

Page 29: NHN Security Division

NHN Security Division

Countermeasure

• Technical Base

– Filtering ( 게시판 , 게시물 , 덧글 , 이미지 , Flash , 동영상 … )

• 광고 Filtering• ActiveX 외 악성코드 설치 유형 Fitering• 악성코드 포함된 이미지에 대한 Filtering ( string)• Flash , 동영상에 대한 Pop up 이슈 판별을 통한 filtering• 욕설 , 성인 관련물에 대한 Filtering• 악성코드 , 해킹툴 , Virus 의 File Upload 에 대한 Filtering

Page 30: NHN Security Division

NHN Security Division

Countermeasure – service owner

• Technical Base

– Platform 의 체계화• Filtering 시스템에 대한 체계적인 구성• 전체 사용자 입력에 대한 Filtering 구조 수립• 전문 인력의 연구에 의한 Filtering Rule 갱신 및 추가• 사용자의 직접 입력에 대한 빠른 모니터링 구조 수립• 신규 Filtering issue 발생시의 업무 분담 및 체계적인 대응 구조

수립

Page 31: NHN Security Division

NHN Security Division

Countermeasure – service owner

• Technical Base

– Monitoring• 동영상에 대한 모니터링 ( 성인물 , 악성코드 팝업 , 설치 유형 )• 비정상 행위에 대한 특이사항 모니터링 – 신규 유형 탐지• 개인정보 침해 사안에 대한 직접 모니터링• Filtering 이후의 결과에 대한 Sample 모니터링• 전문 인력에 의한 신규 취약성 전담 모니터링 • Customer service 이상 징후 신고에 대한 모니터링 강화• Service Abusing 발견을 위한 로그 모니터링• RSS ,Atom 과 같은 전달 method 와 기술적 이슈 모니터링

Page 32: NHN Security Division

NHN Security Division

Countermeasure – service owner

• Technical Base– 보안성 검수 (Web , Application 취약성 제거 )

• secure coding & secure inspection

개발 부서Project Owner SubmitsRequest

Perform Assessment

Generate Report Project Approved

위험감수정책적인 예외

ReviewRequest

Review Report

CriticalVulnerabilities?

No

Review Report

Yes

ApplyFixes

Fix orgo live?

Go liveFix

AssessmentApproved?

RequestDeferred or Rejected

Yes

No

Risk Discovery

경영층

IT Security

사업부서

App 보안성 검수 반복

Page 33: NHN Security Division

NHN Security Division

Countermeasure – service owner

• Technical Base– 보안성 검수와 SDLC ( secure development life cycle)

• 역량 있는 보안 전문가 집단 이나 조직을 활용한 취약성 점검

Page 34: NHN Security Division

NHN Security Division

Countermeasure – user

• 사용자의 대응 – 개인 PC 차원의 보호 방안 수립

• Phishing 주의 ( 메일 , 링크 … )• 첨부파일 주의 ( Zeroday worm …)• 알려진 위험요소의 최소화 ( 보안 패치 , AV )• ActiveX 의 시스템 설치 제한• 주기적인 보안 설정 확인 ( 보안패치 , AV update)• 주기적 패스워드 변경• 신뢰 할 수 있는 기관의 보안 설정 설치• 사이트별 중요도에 따른 보안 마인드 ( 패스워드 , 가입 여부 )

Page 35: NHN Security Division

NHN Security Division

Countermeasure

• 정책적인 대응 – ISO27001 , ISMS 의 실효적인 관리 ( 실무적인 보안성 측면 )– White list 의 관리 ( site , program … )– 보안 전문 인력의 효율적인 육성방안 수립– 모니터링 체제 및 Filtering 에 대한 방안 수립 권고

Page 36: NHN Security Division

NHN Security Division

결론과 예상

• 위협은 지속된다 .• “ 인간적인 너무나 인간적인” 참여는 현재 진행형• Service Application attack 의 일반화• 특화된 조건의 Attack ( service 별 공격 )• 기술적인 보안의 중요성• Web 2.0 은 변화의 과정이며 향후를 대비하여 충분한

모니터링과 프로세스의 수립이 필요 .

P4ssion is never fade away

Page 37: NHN Security Division

NHN Security Division

Q & A

Page 38: NHN Security Division

NHN Security Division

별첨 ( SQL Injection & XSS 대책 )

텍스트 문장의 가운데에 특수 문자가 나올경우 ( HTML 로 문장이 표현될 경우 )“<” 태그를 시작하는 문자 , “&” 문자 속성을 나타내는 문자 , “>” 태그의 끝을 나타내는 문자의 경우 처리가 필요하다 . –

<script> </script> 의 body 부분에 위치하는 문자의 경우세미콜론과 {} , [] 문자들은 필터링이 이루어 져야 한다 .

< , > 문자에 대한 치환 혹은 <script , </script> 문장이 HTML 입력 필드 내에 출현할 경우에는 반드시 치환이 되어 < = &lt , > =&gt 등의 문자로 치환하여 행위가 발생하지 않도록 처리할 것을 권고한다 .

변환 대상(From)

변환값 (To)

< &lt;

> &gt;

( &#40;

) &#41;

# &#35;

& &#38;

Page 39: NHN Security Division

NHN Security Division

• Web Application 인자의 유효성 체크 ( RSS ,Atom 등에 대해서는 별도 구성 필요 )

– DB 쿼리에 변수로 사용되는 모든 인자에 대해 입력값 검증이 수행 되어야 함• single quote 하나를 single quote 두 개로 replace 하거나 \'로 replace

data = replace(data, "'", "''") , data = replace(data, "'", "\'") • semi colon 과 double dash 제거• 정수이여야만하는 입력값에 대해 정수값 여부 체크

Use IsNumeric Function• 길이 체크 : DB컬럼의 크기와 같거나 작은지 체크 • ' , <,>,; ,-- 와 같은 문자가 변수에 존재 하지 않도록 강력한 체크 필요

– SQL Injection 및 Validation Checking program 의 사용 및 주기적 점검 필요– Application 개발자의 보안 문제 인식을 통한 습관화된 인자 유효성 체크 필요

• DB 의 권한 축소 및 불필요한 Stored Procedure 제거– db_owner 권한의 제거가 필요하며 일반 user 권한 부여 필요함 . ( 데이터의 보기는 가능하나 시스템

명령어 실행은 불가능하도록 )– xp_cmdshell xp_dirtree xp_regdeletekey xp_regenumvalues xp_regread xp_regw

rite sp_makewebtask sp_adduser …

별첨 ( SQL Injection & XSS 대책 )

Page 40: NHN Security Division

NHN Security Division

• IDS 를 이용한 침입 탐지– Ruleset 을 업데이트 하여 다음과 같은 문자열을 감지 할 수 있도록

조정한다 .

• IS_SRVROLEMEMBER , IS_MEMBER('db_owner') , db_name() ,%5Bsysobjects%5D , drop , delete 등의 경우 False alarm 의 경우도 다수 있을 수 있으나 손쉽게 필터링 가능할 것이다 . 또한 IDS_Evasion 과 관련하여서도 대책이 필요 할 수 있다고 본다 .

– 침입 탐지 이후에 Firewall 혹은 switch 상에서의 공격 IP 차단

– 목적지를 확인하여 존재하는 취약성에 대한 강력한 수정 필요 .• 비정상 행위에 대한 모니터링 및 Alert 강화 필요

• DB 및 웹서버 단위의 비정상 행위에 대한 심각한 주의 필요• 시스템의 장애 발생시의 원인 파악 명확히 전달• IN/Out port 에 대한 접근제어 강화 및 모니터링 강화• 사용자 접근에 대한 통제 강화

별첨 ( SQL Injection & XSS 대책 )

Page 41: NHN Security Division

NHN Security Division

Web Page crawling 이후Validation 체크를 수행하는

자체 진단 프로그램

Web Application Validation 체크 – 다수의 웹 진단 프로그램이 존재 하고 있음

별첨 ( SQL Injection & XSS 대책 )

Page 42: NHN Security Division

NHN Security Division

Secure Programming & Secure Inspection For Web다수의 웹 취약성 스캐너를 통해 취약성 보완 – 상용 공개용 Web Validation check scanner – Gamja [ download at http://blog.naver.com/p4ssion ]

Check problem & correcting[ XSS , SQL Injection …]

Problem Clear[ XSS , SQL Injection …]

별첨 ( SQL Injection & XSS 대책 )

Page 43: NHN Security Division

NHN Security Division

Secure Programming & Secure Inspection For WebGamja – Requirement: Wget [Windows] + Perl

별첨 ( SQL Injection & XSS 대책 )