웹 해킹 - 한남대학교 네트워크 실험실입니다.
Download
Report
Transcript 웹 해킹 - 한남대학교 네트워크 실험실입니다.
[Hacking Exposed] 웹 기획. 운영자를 위한 해킹과 보안중에서
웹 애플리케이션과 보안에 대한 소개
황영철
한남대학교 컴퓨터 공학과
네트워크 실험실
1
[Hacking Exposed] 웹 기획, 운영자를 위한 해킹과 보
안
2
웹 애플리케이션과 보안에 대한 소개
웹 애플리케이션 아키텍쳐
잠재적인 약점
웹 해킹의 방법론
http://netwk.hannam.ac.kr
HANNAM UNIVERSITY
[Hacking Exposed] 웹 기획, 운영자를 위한 해킹과 보
안
3
웹 애플리케이션 아키텍쳐
웹 애플리케이션 아키텍쳐
N-계층
웹
애플리케이션
커넥터
데이터베이스
요청
웹
클라이언트
전송
웹
서버
웹
애플리케이션
응답
웹
애플리케이션
http://netwk.hannam.ac.kr
커넥터
데이터베이스
HANNAM UNIVERSITY
[Hacking Exposed] 웹 기획, 운영자를 위한 해킹과 보
안
4
웹 애플리케이션 아키텍쳐
간단한 HTML 용어
태그의 남용
INPUT, HIDDEN
○
쇼핑몰의 상품가격을 HIDDEN 으로 설정
전송 : HTTP
무상태 프로토콜
ASCII기반 프로토콜
TCP 포트 80번에서 동작
http://netwk.hannam.ac.kr
HANNAM UNIVERSITY
[Hacking Exposed] 웹 기획, 운영자를 위한 해킹과 보
안
5
웹 애플리케이션 아키텍쳐
전송 : HTTP(계속)
서버 자원의 사용(NETCAT)
http://netwk.hannam.ac.kr
HANNAM UNIVERSITY
[Hacking Exposed] 웹 기획, 운영자를 위한 해킹과 보
안
6
웹 애플리케이션 아키텍쳐
전송 : HTTP(계속)
보안 취약성
요청을 발생시키기 위해 암호화된 문장을 시행할 필요가 없음.
응답된 구문을 해독할 필요도 없다.
잘알려진 포트인 80번 포트 사용(방화벽도 허용)
SSL/TLS
전송 계층을 암호화
기본적인 HTTP 요청-응답 메커니즘을 대체(확장)하지 않음
TCP 443 포트에서 동작
http://netwk.hannam.ac.kr
HANNAM UNIVERSITY
[Hacking Exposed] 웹 기획, 운영자를 위한 해킹과 보
안
7
웹 애플리케이션 아키텍쳐
전송 : HTTP(계속)
쿠키
무상태성인 HTTP를 상태성 프로토콜처럼 동작하도록 만듦
메모리에 임시 저장되거나 디스크에 영구적으로 기록
인증
기본 – USERNAME/PASSWORD, BASE-64
다이제스트
폼-기반
NTLM
협상
클라이언트 측 인증서
MS 패스포트
http://netwk.hannam.ac.kr
HANNAM UNIVERSITY
[Hacking Exposed] 웹 기획, 운영자를 위한 해킹과 보
안
8
웹 애플리케이션 아키텍쳐
전송 : HTTP(계속)
다른 프로토콜들
MIME(Multipart Internet Mail Extension)
○
바이너리 파일 전송을 위한 프로토콜
SMTP(Simple Mail Transfer Protocol)
FTP(File Transfer Protocol)
WebDAV(Web Distributed Authoring and Versioning)
○
○
웹상의 공동 저작활동을 지원하기 위한 IETF 표준
멀리 떨어져 있는 사용자들 간에 인터넷 상에서 파일을 공동 편집하고 관리할 수
있도록 해주는 HTTP 확장
http://netwk.hannam.ac.kr
HANNAM UNIVERSITY
[Hacking Exposed] 웹 기획, 운영자를 위한 해킹과 보
안
9
웹 애플리케이션 아키텍쳐
웹 클라이언트
정적인 웹 컨텐츠안에 매우 많은 기능을 내장하는 가능
MS의 activex
○
<object id=“scr” classsid=“clsid:06290BD5-48AA-11D2-8432-06008C3FBFC”>
</object>
http://netwk.hannam.ac.kr
HANNAM UNIVERSITY
[Hacking Exposed] 웹 기획, 운영자를 위한 해킹과 보
안
10
웹 애플리케이션 아키텍쳐
웹서버
클라이언트 요청을 받고 자원을 웹어플리케이션 로직에 넘겨주
는 HTTP 데몬(서비스)
IIS, Apache, AOL/Netscape Enterprise Server, iPlanet
http://uptime.netcraft.com/up/graph/?host=www.hannam.ac.kr
http://netwk.hannam.ac.kr
HANNAM UNIVERSITY
[Hacking Exposed] 웹 기획, 운영자를 위한 해킹과 보
안
11
웹 애플리케이션 아키텍쳐
N-계층
웹 애플리케이션
현재 웹사이트의 핵심은 서버측 로직
웹
어플리케이션
커넥터
데이터베이스
요청
웹
클라이언트
전송
웹
서버
웹
어플리케이션
응답
커넥터
웹
어플리케이션
데이터 베이스
Search for
Search.html
Search.exe
Filename.db
Result.html
표현
http://netwk.hannam.ac.kr
로직
데이터
HANNAM UNIVERSITY
[Hacking Exposed] 웹 기획, 운영자를 위한 해킹과 보
안
12
웹 애플리케이션 아키텍쳐
웹 애플리케이션 기술 및 벤더
제공회사
웹 애플리케이션
마이크로 소프트
Sun Microssystems
IBM Websphere
BEA Weblogic
Apache Software Foundation
(none)
Active Server Page (ASP)
ASP.NET
ISAPI
Common Object Model(COM)
JavaScript
Java 2 Enterprise Edition (J2EE) , Java Servlets
Java Server Pages(JSP)
CORBA
PHP(Hypertext Preprocessor)
Jakarta(server-side Java)
HTML
CGI(펄 포함)
실제 프로그램처럼 동작
http://test.com/article.php?id=425&format=html
C:>article.exe /id: 425 /format: html
http://netwk.hannam.ac.kr
HANNAM UNIVERSITY
[Hacking Exposed] 웹 기획, 운영자를 위한 해킹과 보
안
13
웹 애플리케이션 아키텍쳐
데이터 베이스
SQL과 오라클이 주
로직 구성요소는 특정 데이터 베이스 연결자 인터페이스를 일반
적으로 구동.
복잡성과 매개체들
프록시
모든 연결이 통과해야만 하는 단일 게이트웨이
한 클라이언트의 요청이 끝나면 다음 클라이언트를 위해 원래의
자원 요청(인터넷 캐쉬 개념)
클라이언트 소스 주소가 항상 프록시
○
클라이언트의 요청을 구분할 수 없다.
http://netwk.hannam.ac.kr
HANNAM UNIVERSITY
[Hacking Exposed] 웹 기획, 운영자를 위한 해킹과 보
안
14
웹 애플리케이션 아키텍쳐
복잡성과 매개체들(계속)
로드 밸런서
프록시의 반대처럼 동작
클라이언트는 어느서버가 요청을 처리하는지 알지 못함
밸런서 자체는 일반적인 www.company.com 사용
서버가 주소에 상관하지 않고 클라이언트의 요청을 서버에 분산
CISCO - Local Directory, F5 – Big-IP, Microsoft-NLB
http://netwk.hannam.ac.kr
HANNAM UNIVERSITY
[Hacking Exposed] 웹 기획, 운영자를 위한 해킹과 보
안
15
웹 애플리케이션 아키텍쳐
복잡성과 매개체들(계속)
로드 밸런서의 동작
Client A
WWW1
알고리즘
Client B
로드밸런서
www.company.com
WWW2
Client C
WWW3
http://netwk.hannam.ac.kr
HANNAM UNIVERSITY
[Hacking Exposed] 웹 기획, 운영자를 위한 해킹과 보
안
16
웹 애플리케이션 아키텍쳐
새로운 모델 : 웹 서비스
WSDL(Web Services Definition Language)
UDDI(Universal Description, Discovery, and Integration)
SOAP(Simple Object Access Protocol)
http://netwk.hannam.ac.kr
HANNAM UNIVERSITY
[Hacking Exposed] 웹 기획, 운영자를 위한 해킹과 보
안
17
잠재적인 취약점
웹 클라이언트
액티브 컨텐츠 실행
크로스-사이트 스크립팅 오류
전송
스니핑, SSL 리다이렉션
웹 서버
웹 서버 소프트웨어의 취약점
웹 애플리케이션
인증, 인가, 사이트구조, 입력확인, 애플리케이션로직에 대한 공
격
데이터 베이스
질의를 통해 특권있는 명령수행, 질의 조작
http://netwk.hannam.ac.kr
HANNAM UNIVERSITY
[Hacking Exposed] 웹 기획, 운영자를 위한 해킹과 보
안
18
웹 해킹의 방법론
인프라의 프로파일 작성
애플리케이션에 연결하기 위한 특별히 필요한 클라이언트가 있
는가?
전송에 무엇을 사용하는가?
어떤 포트인가?
얼마나 많은 서버가 있는가?
로드 밸런서가 있는가?
웹 서버의 상표와 모델은 무엇인가?
Chapter 2장에서 설멍
http://netwk.hannam.ac.kr
HANNAM UNIVERSITY
[Hacking Exposed] 웹 기획, 운영자를 위한 해킹과 보
안
19
웹 해킹의 방법론
웹 서버 공격
웹서버 소프트웨어의 원론적인 취약점
Chapter3에서 설명
애플리케이션 조사
어떤 종류의 컨텐츠가 서버에서 구동되는가?
어떤 인증된 컨텐츠 및 인증 유형이 사용되는가?
외부연계는 어떠한가?
데이터 저장소는 어떠한가?
Chapter 4에서 설명
인증 메커니즘 공격
패스워드 추측 공격, 쿠키안의 토큰의 스푸핑
Chapter 5에서 설명
http://netwk.hannam.ac.kr
HANNAM UNIVERSITY
[Hacking Exposed] 웹 기획, 운영자를 위한 해킹과 보
안
20
웹 해킹 방법론
인가 스킴 공격
사용자 원리 변경
권한 상승
SQL 서버에 대한 특권 명령 터널링
Chapter 7에서 설명
기능 분석 수행
애플리케이션 각 개별 기능의 실제 분석
구성요소 식별
각 입력 저장소에 오류유발
Chapter 8에서 설명
http://netwk.hannam.ac.kr
HANNAM UNIVERSITY
[Hacking Exposed] 웹 기획, 운영자를 위한 해킹과 보
안
21
웹해킹 방법론
데이터 연결성 익스플로잇
가장 파괴적인 공격
개발자들은 안전성보다는 효율성을 생각
Chapter 9에서 설명
관리 인터페이스 공격
원격관리를 허용하는 오픈 포트
Chapter 11에서 설명
클라이언트 공격
크로스 사이트 공격
eBay, E*Trade, Citigroup
http://netwk.hannam.ac.kr
HANNAM UNIVERSITY
[Hacking Exposed] 웹 기획, 운영자를 위한 해킹과 보
안
22
웹 해킹 방법론
서비스 거부 공격 시작
합법적인 요청을이용하여 사이트에 트패릭을 전송함으로써 수
행
Chapter 3에서는 웹서버에대한 DoS
Chapter 8에서는 웹 애플리케이션에 대한 DoS
http://netwk.hannam.ac.kr
HANNAM UNIVERSITY
[Hacking Exposed] 웹 기획, 운영자를 위한 해킹과 보
안
23
프로파일링
서버 탐색
서비스 탐색
서버 식별
http://netwk.hannam.ac.kr
HANNAM UNIVERSITY
[Hacking Exposed] 웹 기획, 운영자를 위한 해킹과 보
안
24
서버 탐색
직관
WWW, COM, ORG, EDU, 등등 직관적으로 알 수 있는 서버
인터넷 풋 프린팅
목표에 대해 정확히 아는 것
Whois 유틸리티를 사용하여 첫번째 수행
할당된 인터넷 IP 주소의 범위
등록된 DNS 도메인 이름 및 관련 데이터
인터넷 존재에 대한 관리상의 연락
http://www.arin.net/whois
http://netwk.hannam.ac.kr
HANNAM UNIVERSITY
[Hacking Exposed] 웹 기획, 운영자를 위한 해킹과 보
안
25
서버 탐색
인터넷 풋 프린팅
http://netwk.hannam.ac.kr
HANNAM UNIVERSITY
[Hacking Exposed] 웹 기획, 운영자를 위한 해킹과 보
안
26
서버 탐색
Whois 유틸 사용예
http://netwk.hannam.ac.kr
HANNAM UNIVERSITY
[Hacking Exposed] 웹 기획, 운영자를 위한 해킹과 보
안
27
서버 탐색
Whois 유틸 사용
http://netwk.hannam.ac.kr
HANNAM UNIVERSITY
[Hacking Exposed] 웹 기획, 운영자를 위한 해킹과 보
안
28
서버 탐색
DNS 질의
Nslookup 사용
http://netwk.hannam.ac.kr
HANNAM UNIVERSITY
[Hacking Exposed] 웹 기획, 운영자를 위한 해킹과 보
안
29
서버 탐색
핑
호스트 네임이나 IP 주소에 ICMP Echo Request를 보내는 것
대부분의 포트 스캐닝 툴에 내장
포트 스캐닝을 이용한 탐색
Scanline 유틸
http://netwk.hannam.ac.kr
HANNAM UNIVERSITY
[Hacking Exposed] 웹 기획, 운영자를 위한 해킹과 보
안
30
서비스 탐색
Scanline 유틸 사용
http://netwk.hannam.ac.kr
HANNAM UNIVERSITY
[Hacking Exposed] 웹 기획, 운영자를 위한 해킹과 보
안
31
서버 식별
NETCAT 유틸 사용
http://netwk.hannam.ac.kr
HANNAM UNIVERSITY