slide1
Download
Skip this Video
Download Presentation
NHN Security Division

Loading in 2 Seconds...

play fullscreen
1 / 43

NHN Security Division - PowerPoint PPT Presentation


  • 197 Views
  • Uploaded on

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 이란 ? 사용자의 적극적인 참여 개방성 집단지성의 출현과 활용 ( 사용자에 의한 지식의 집대성 ) 사용자에 의한 정보 및 네트워크 창조와 공유

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' NHN Security Division ' - senwe


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1

Web 2.0 Security

NHN security analysis team, 전 상훈

2007.04 ([email protected])

NHN Security Division

contents
Web 2.0 ?

위험요소

위험의 발전과 방향

Web 2.0 threat?

Countermeasure

결론과 예상

Contents
web 2 0
Web 2.0 이란?

사용자의 적극적인 참여

개방성

집단지성의 출현과 활용 ( 사용자에 의한 지식의 집대성)

사용자에 의한 정보 및 네트워크 창조와 공유

멀티 디바이스 ( Ubiquitous )

사용자 접근성의 향상 ( RSS , Atom , AJAX , Open API …)

Web 2.0 비즈니스

사용자의 의견을 적극적으로 활용 하고 사용자의 접근성을 개선하여 직접적인 사용자의 참여를 통한 이익모델 창출

Web 2.0 ?
web 2 01
Web의 paradigm shift

Web 2.0은 특별한 용어나 현상인가?

도구로서의 Web 에서 생활 속의 Web

Network를 통한 가상의 사회 -> 현실 속으로 ( second life , blog , avatar )

Web 2.0 ?
web 2 02
UCC ( User Created Contents)

UCC의 정의

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

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

Web 2.0 ?
slide6
Web 환경의 발전에 따른 위험요소

Web의 발전에 따른 현재의 환경 이해

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

Ref: http://web2.wsj2.com

위험요소
slide7
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

위험요소
slide9
Web 기술의 발전에 따른 위험요소

유형별

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

위험요소
slide10
Web 기술의 발전에 따른 위험요소

유형별

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

위험요소
slide11
Web 기술의 발전에 따른 위험요소

유형별

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

위험요소

07.3월 ANI 파일 취약성

slide12
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>

slide13
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>

slide14
Web 기술의 발전에 따른 위험요소

유형별

Service Hacking

XSS (다양한 부분의 XSS 공격) 2006년 7월 Google RSS Reader XSS 취약성 http://ha.ckers.org/blog/20060704/cross-site-scripting-vulnerability-in-google/

위험요소
slide15
Web 기술의 발전에 따른 위험요소

유형별

Service Hacking ( XSS , SQL Injection)

위험요소
slide16
Web 환경의 발전에 따른 위험요소

매개체 별

게시물

게시판에 악성코드 설치 루틴이나 사용자 정보 유출 하는 XSS 취약성 공격 루틴을 작성 하여 올림

악성코드 실행 루틴이 포함된 게시물 클릭 시에 설치 되거나 정보 유출

위험요소
slide17
Web 환경의 발전에 따른 위험요소

매개체 별

동영상 , 이미지 , Flash , Music

Ex) mp3 파일에 포함된 악성코드 example

위험요소
slide18
Web 환경의 발전에 따른 위험요소

매개체 별

동영상 , 이미지 , Flash , Music

Ex) Apple의 quicktime 동영상을 이용한 악성코드 설치

2006.12월 Myspace Attack에 사용

위험요소
slide19
Web 환경의 발전에 따른 위험요소

매개체 별

동영상 , 이미지 , Flash , Music

Ex) Flash를 통한 악성코드 유포 , 동영상중간에 삽입된 악성코드

위험요소
slide22
Application Attack ( Ubiquitous service Attack)

platform에 관계 없는 Application Attack의 일반화

일반 Application 및 표준규격의 다양한 플랫폼 탑재 ( TV , PDA , 가정용 기기 ,Handphone … ) ex) Java , web , xml …

위험의 발전과 방향
web 2 0 threat
Web 2.0 threat 특징 ?

Application worm

특정 서비스에 특화된 Worm

Ubiquitous service attack ( 다양한 접속 매개체 )

다양한 platform attack

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

Web 2.0 threat?
web 2 0 threat1
Application worm

최초 santy worm ( 2004년 12월)

Application Worm( ex –Santy worm)

취약 Application 서버

취약 Application 서버

취약 Application 서버

취약 Application 서버

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

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

Worm Process

Attacker

Web 2.0 threat?
web 2 0 threat2
Application worm

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

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

악성코드 업로드 사이트

Web Server Application Server

PHP Web Server

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

3. Option에 따른 명령 실행

Attacker

. Option에서 Exploit을 선택 할 때

웹서버내에 Local exploit 파일을

파일로 쓰고 생성을 시킴

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

실행

. 웹상에서 root 권한 획득

악성 코드 옵션

Reverse Backdoor

Local root exploit

Web 2.0 threat?
web 2 0 threat3
Service Application worm

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

Web 2.0 threat?
web 2 0 threat4
Service Application worm

ex) yahoo messenger attack (YH032.explr)

악성코드 배포사이트

  • Yahoo Messenger Attack
  • Code Insert

4. 스파이 웨어 설치

5. 등록자 List에서

Script base worm 재전송

3. 가짜 IE Icon 생성

Attacker

Yahoo Chatting

2. 악성코드 사용자 노출

및 감염

채팅 사용자

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

Technical Base

Filtering

사용자 입력의 Filtering ( 기술적 , 정책적 이슈)

위험요소 판별을 위한 자동 판별 시스템의 구축 및 운용

Platform의 체계화

Filtering system의 체계화 및 구조화

전문 보안 인력의 운용과 합리적인 프로세스 수립

Monitoring

인력을 이용한 이슈 모니터링

자동 Filtering 예외 사안의 수시 모니터링 및 Rule Update

신규 취약성에 대한 모니터링

보안성 검수 (Black box Test)

전문 인력을 이용한 웹 서비스 및 Application에 대한 보안성 검수

취약성 모니터링을 통한 취약부분 일괄 적용 및 문제 해결 프로세스

Open Api 취약성에 대한 검증

Countermeasure
countermeasure1
Technical Base

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

광고 Filtering

ActiveX 외 악성코드 설치 유형 Fitering

악성코드 포함된 이미지에 대한 Filtering ( string)

Flash , 동영상에 대한 Pop up 이슈 판별을 통한 filtering

욕설 , 성인 관련물에 대한 Filtering

악성코드 , 해킹툴, Virus의 File Upload에 대한 Filtering

Countermeasure
countermeasure service owner
Technical Base

Platform의 체계화

Filtering 시스템에 대한 체계적인 구성

전체 사용자 입력에 대한 Filtering 구조 수립

전문 인력의 연구에 의한 Filtering Rule 갱신 및 추가

사용자의 직접 입력에 대한 빠른 모니터링 구조 수립

신규 Filtering issue 발생시의 업무 분담 및 체계적인 대응 구조 수립

Countermeasure – service owner
countermeasure service owner1
Technical Base

Monitoring

동영상에 대한 모니터링 ( 성인물 , 악성코드 팝업 , 설치 유형)

비정상 행위에 대한 특이사항 모니터링 – 신규 유형 탐지

개인정보 침해 사안에 대한 직접 모니터링

Filtering 이후의 결과에 대한 Sample 모니터링

전문 인력에 의한 신규 취약성 전담 모니터링

Customer service 이상 징후 신고에 대한 모니터링 강화

Service Abusing 발견을 위한 로그 모니터링

RSS ,Atom과 같은 전달 method와 기술적 이슈 모니터링

Countermeasure – service owner
countermeasure service owner2
Technical Base

보안성 검수 (Web , Application 취약성 제거 )

secure coding & secure inspection

Risk Discovery

App 보안성 검수 반복

Assessment

Approved?

Yes

Critical

Vulnerabilities?

IT Security

No

Project Approved

Review

Request

Perform Assessment

Generate Report

No

Yes

Project Owner

Submits

Request

Request

Deferred or Rejected

개발 부서

Apply

Fixes

Review Report

Review Report

사업부서

Fix or

go live?

Go live

Fix

위험감수

정책적인 예외

경영층

Countermeasure – service owner
countermeasure service owner3
Technical Base

보안성 검수와 SDLC ( secure development life cycle)

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

Countermeasure – service owner
countermeasure user
사용자의 대응

개인 PC차원의 보호 방안 수립

Phishing 주의 ( 메일 , 링크 …)

첨부파일 주의 ( Zeroday worm …)

알려진 위험요소의 최소화 ( 보안 패치 , AV )

ActiveX의 시스템 설치 제한

주기적인 보안 설정 확인 ( 보안패치 , AV update)

주기적 패스워드 변경

신뢰 할 수 있는 기관의 보안 설정 설치

사이트별 중요도에 따른 보안 마인드 ( 패스워드 , 가입 여부)

Countermeasure – user
countermeasure2
정책적인 대응

ISO27001 , ISMS의 실효적인 관리 ( 실무적인 보안성 측면)

White list의 관리 ( site , program … )

보안 전문 인력의 효율적인 육성방안 수립

모니터링 체제 및 Filtering에 대한 방안 수립 권고

Countermeasure
slide36
위협은 지속된다.

“인간적인 너무나 인간적인” 참여는 현재 진행형

Service Application attack의 일반화

특화된 조건의 Attack ( service별 공격)

기술적인 보안의 중요성

Web 2.0은 변화의 과정이며 향후를 대비하여 충분한 모니터링과 프로세스의 수립이 필요.

P4ssion is never fade away

결론과 예상
sql injection xss
별첨 ( SQL Injection & XSS 대책)
  • 텍스트 문장의 가운데에 특수 문자가 나올경우 ( HTML 로 문장이 표현될 경우)
  • “<”태그를 시작하는 문자 , “&”문자 속성을 나타내는 문자 , “>”
  • 태그의 끝을 나타내는 문자의 경우 처리가 필요하다. –
  • <script> </script> 의 body 부분에 위치하는 문자의 경우
  • 세미콜론과 {} , [] 문자들은 필터링이 이루어 져야 한다.
  • < , > 문자에 대한 치환 혹은 <script , </script> 문장이 HTML 입력 필드 내에 출현할 경우에는

반드시 치환이 되어 < = &lt , > =&gt 등의 문자로 치환하여 행위가 발생하지 않도록

처리할 것을 권고한다.

sql injection xss1
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_regwrite sp_makewebtask sp_adduser …

별첨 ( SQL Injection & XSS 대책)
sql injection xss2
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 대책)
sql injection xss3
별첨 ( SQL Injection & XSS 대책)
  • Web Application Validation 체크 –다수의 웹 진단 프로그램이 존재 하고 있음

Web Page crawling 이후

Validation 체크를 수행하는

자체 진단 프로그램

sql injection xss4
별첨 ( SQL Injection & XSS 대책)

Secure Programming & Secure Inspection For Web

다수의 웹 취약성 스캐너를 통해 취약성 보완 –상용

공개용 Web Validation check scanner – Gamja

[ download at http://blog.naver.com/p4ssion ]

Problem Clear

[ XSS , SQL Injection …]

Check problem & correcting

[ XSS , SQL Injection …]

sql injection xss5
별첨 ( SQL Injection & XSS 대책)

Secure Programming & Secure Inspection For Web

Gamja – Requirement: Wget [Windows] + Perl

ad