HTTP 보안 문제에 대해 알아보자
HTTP란? HTTP 보안Dsniff 란? SSL Reference dnsspoof 사용예Dsniff 사용예HTTP란? HTTP 보안Dsniff 란? SSL Reference dnsspoof 사용예Dsniff 사용예 HTTP란? HTTP란? . WWW(World Wide Web.) 에서 쓰이는 프로토콜 -1989 년 3월, 스위스의 CERN 연구소(입자물리 연구소 )에서 처음 시작한 프로젝트 기존의 텍스트 기반 인터페이스 대신 그래픽 인터페이스를 통해 정보를 교환하기 위해 만들었다. -Client/Sever 구조로 동작 (웹브라우저/웹서버) -비연결 프로토콜 : 요청할 때마다 매번 서버에 접속했다가 연결을 끊는 과정 반복 -Client : Ms 익스플로러, netscape, Lynx -Server: Apache, IIS Web Application 의구조HTTP란? Web Application 의구조HTTP란? . 전형적인 웹 어플리케이션 구성 요소 N-tiers SQL Query Request DB Response HTTP Response DB Connector Connector Web app Web client Web Server Transport HTTP란? HTTP란? . URL의 형식 프로토콜:// 서버_주소[:포트번호]/파일_경로 ex> 야후 사이트의 index.html 파일에 접근하고자 할 때 http://www.yahoo.co.kr/index.html . 포트를 지정하지 않으면 자동으로 TCP 80 번 포트 사용 특정포트를 사용하고자 할 경우는 포트번호를 지정 http://www.yahoo.co.kr:9000/index.html HTTP란? HTTP란? . 웹브라우저가 URL요청을 보낼 때 1. Client 는 서버에 접속한 뒤 다음과 같은 메시지를 보낸다 . : GET /index.html HTTP/1.0 \r\n \r\n GET : 자료요청 (ex>POST,PUT,HEAD) /index.html : 자료의 경로 HTTP/1.0 : HTTP 프로토콜의 버전 모든 메시지는 헤더+본문으로 구성 \r\n : 헤더와 본문을 구분 HTTP란? HTTP란? 2. Sever 응답( 헤더+본문) : 본문 내용을 화면에 보여줌 : HTTP/1.1 200 OK \r\n Server: Apache/1.3.26 (Unix) PHP/4.2.3 \r\n Last-Modified: Tue, 07 Jan 2003 12:57:38 GMT \r\n Connection: Close \r\n Content-Type: text/html \r\n \r\n\r\n Hello, Web Browser! \r\n\r\n HTTP 보안HTTP 보안 . HTTP보안 문제 -CGI 문제 -DDoS 문제 -쿠키 -웹 스푸핑 -입력 검증 HTTP 보안문제.HTTP쿠키HTTP 보안문제.HTTP쿠키 . HTTP쿠키 -Sever가 Client 에게 저장하는 어떤 정보 -처음 로그인할때사용한 정보를 계속유지하기 위한해결책 ( 로그인 후 , 재인증 필요 없음 ) -비연결 프로토콜에서 연결 지향형 프로토콜의 효과 문제 . HTTP 쿠키의 문제점 -Client 에서 변경 가능 HTTP 보안문제.HTTP쿠키HTTP 보안문제.HTTP쿠키 EX> 웹브라우저를 통해 http://www.google.co.kr 에 접속 새로 생성된 쿠키파일 HTTP 보안문제.HTTP쿠키HTTP 보안문제.HTTP쿠키 쿠키파일의 내용은 -두번째 줄에 있는 것이 쿠키이며 , 사용자가 내용을 고친후 , 다시 www.google.co.kr 을 요청하면 -웹브라우저는 사용자가 변경한 쿠키를 웹서버로 보낸다 . HTTP 보안문제.Web spoofing HTTP 보안문제.Web spoofing . Web spoofing -Client 에게 가짜 웹페이지를 보내는 공격 1. 가짜 웹페이지를 보내주는 방법 2. 가짜 서버 (공격자의 서버 )를 진짜 서버로 믿게 하는 방법 -DNS spoofing -ARP spoofing ※ MITM(man-in-the-middle) 공격 HTTP 보안문제.Web spoofing HTTP 보안문제.Web spoofing . MITM(man-in-the-middle) 공격을 이용한 웹 스푸핑 4.내용을 바꿔서 전송 1.웹페이지 요청 2.중간에서 가로챈 뒤 , 3.요청한 내용 전송 실제 웹서버에 요청 HTTP 보안문제.Input validation HTTP 보안문제.Input validation . 입력검증 (Input validation) -Client 가 보낸 입력을 제대로 검사하지 않아서 생기는 문제 ex) 버퍼오버플로우, 포맷스트링 버그등 . 검사 방법 1. Sever 측 검사 -클라이언트가 보낸 입력을 일일이 검사 (데이터 포맷 검사 ) -장점: 가장 안전함 -단점: 서버측에서 많은 검사코드를 작성하여야 함 . 2. Client 측 검사 -클라이언트 웹 브라우저의 스크립트를 이용하여 입력을 제한 단점: 클라이언트측 스크립트는 완벽하지 않다 .(소스를 읽기 쉬움 ) HTTP 보안문제.Input validation HTTP 보안문제.Input validation .웹 페이지 소스저장 방법 -Window 에서 : 익스플로러의 저장기능 이용 -Unix 에서 : wget, lynx 를 사용 UNIX에서 구글페이지를 읽어오고 싶다면 [bastion]$ wget http://www.google.co.kr/ --17:55:05--http://www.google.co.kr/ => ‘index.html’ Connectiong to www.google.co.kr:80... Connected! HTTP request sent, awaiting response… 200 OK Length: 3,111 [text/html] OK -> ··· [100%] 17:55:07 (506.35 KB/s) . ‘index.html’saved[3111/3111] lynx 에서 구글페이지를 읽어오고 싶다면 [bastion]$ lynx -source http://www.google.co.kr< title>Google
'PPT' 카테고리의 다른 글
한국 HFC망에 대해 알아보자. (0) | 2023.02.18 |
---|---|
학생의 과목 선택권 확대 및 학습권 보장 (0) | 2022.10.21 |
회전굽힘 피로시험 (Rotary Bending Fatigue Test) (0) | 2022.09.17 |
한국사회에서의 다양한 가족의 발생원인 (0) | 2022.09.02 |
유비쿼터스 환경의 비즈니스 수행 (0) | 2022.07.02 |