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