[정보보안기사 PART 06] 애플리케이션 보안 - 웹 보안(Web Security)


Section 34 웹 보안(Web Security)

 

1. 웹 보안 개요

 

1) 웹 트래픽 보안 방법

 IP 보안(IPSec)을 사용

 IP 보안을 사용할 경우 장점은 종단 사용자의 응요엥 투명성을 제공해주고 범용 해결책을 제시

 필터링 기능을 가지고 있어서, 오직 선별된 트래픽에서만 IP 보안 처리를 하기 때문에 이에 대한 호버헤드만 추가된다.

 안전 소켓 계층(SSL)과 전송 계층 보안(TLS)이라고 알려진 그 후속 인터넷 표준

 

 

 

2. 월드와이드웹과 HTTP

 

(1) 하이퍼텍스트 전송 프로토콜(HTTP, Hypertext Transfer Protocol)

1) 개요

 웹에서 웹페이지를 가져오기 위해 어떻게 클라이언트-서버 프로그램이 작성될 수 있는지를 정의하는데 사용

 HTTP 클라이언트는 요청을 하고 HTTP 서버는 응답을 한다. 서버는 포트 80번을 사용하고 클라이언트는 임시 포트 번호 사용

 

2) 영속성

3) HTTP 트랜잭션

 

 

 

3. SSL/TLS

 

(1) SSL/TLS의 개요

1) 기본개념

 클라이언트/서버 환경에서 TCP 기반의 Application에 대한 종단간 보안서비스를 제공하기 위해 만들어진 전송계층 보안 프로토콜

 대칭키 암호, 공개키 암호, 일방향 해시함수, 메시지 인증코드, 의사 난수 생성기, 전자서명을 조합해서 안전한 통신 수행

 특정 암호 기술에 의존하지 않는다.

 

2) 클라이언트와 서버

 웹 브라우저는 앨리스의 컴퓨터상에서 동작하는 프로그램이고, 웹 서버는 밥 서점에 있는 컴퓨터상에서 동작하는 프로그램이다.

 

3) SSL/TLS상의 HTTP

통신 내용을 암호화해주는 프로토콜로 SSL 혹은 TLS를 이용한다.

 

4) SSL/TLS 보안 서비스

 기밀성 서비스

 클라이언트와 서버 상호 인증

 메시지 무결성 서비스

 

 

(2) TLS(Transport Layer Security) 프로토콜

1) 개요

 가정 널리 사용하는 보안 서비스 중의 하나가 전송 계층 보안

 TCP에 의존하는 프로토콜로 구현되는 일반용도 서비스

 

2) TLS 구조

 신뢰성 있는 종단간에 안전한 서비스를 제공하기 위해 TCP를 활용한다. TLS는 단일 프로토콜이 아니고 2계층에 걸친 프로토콜이다.

 Record 프로토콜은 운반자이며, 응용 계층으로부터 오는 데이터뿐만 아니라 TLS의 상위 프로토콜로붜 오는 메시지를 전송

 Handshake 프로토콜은 Record 프로토콜에 대한 보안 매개변수를 제공한다. 암호 집합을 설정하고 키와 보안 매개변수를 제공한다. 또한 필요하다면 클라이언트가 서버에 대해 그리고 서버가 클라이언트에 대해 인증

 ChagneCipherSpec 프로토콜은 암호학적 비밀을 신속하게 보내는 데 사용된다.

 Alert 프로토콜은 비정상 조건을 알리는데 사용된다.

 Heartbeat 프로토콜은 프로토콜 개체의 가용성을 모니터링 할 때 사용하는 프로토콜이다.

 

3) SSL/TLS 공격

- OpenSSL의 HeartBleed 취약성

- SSL 3.0의 취약성과 POODLE 공격

- FREAK 공격과 암호 수출 규제

- 완전 순방향 비밀성

 

(3) HTTPS와 S-HTTP

1) HTTPS

2) S-HTTP

 

 

4. 웹서버 보안

 

(1) IIS 보안 설정

1) 권한 설정

2) 관리자 페이지 접근통제

3) 메소드 제한

4) 헤더 정보 숨김

 

(2) Apache 보안설정

1) 서버 실행 계정 확인

2) httpd.conf 파일(아파치 설정 파일)

3) 검색엔진 정보 노출 취약점

 robots.txt 파일은 반드시 웹사이트의 최상위 주소에 저장

 

 

 

5. 웹(Web) 보안위협 및 대응책

 

(1) 웹 서비스 공격의 개요

1) 기본 개념

 크게 web 사용자 클라이언트의 취약점을 잉요한 사용자 컴퓨터 공격과 웹 서버의 취약점을 이용한 웹서버 공격으로 나뉘다.

 

2) OWASP TOP10 (2017년)

 A1-Injection

 A2-Broken Authentication

 A3-Sensitive Data Exposure

 A4-XML Extend Entities(XXE)

 A5-Broken Access Control

 A6-Security Misconfiguration

 A7-Cross Site Scripting(XSS)

 A8-Insecure Deserializtion

 A9-Using Componets with Known Vulnerabilities

 A10-Insufficient Logging & Monitoring

 

(2) 웹 보안위협 및 대응책

1) SQL Injection

 DB와 연동되어 있는 애플리케이션의 입력값을 조작하여 DBMS가 의도하지 않은 결과를 반환하도록 하는 공격기법

 

2) 사이트 간 스크립팅(CSS[XSS], Cross Site Scripting)

 웹 애플리케이션에서 사용자 입력값에 대한 필터링이 제대로 이루어지지 않을 경우, 공격자가 입력이 가능한 폼에 악의적인 스크립트를 삽입, 해당 스크립트가 희생자 측에서 동작하도록 하여 악의적인 행위를 수행하는 취약점

 사용자의 개인정보 및 쿠키정보 탈취, 악성코드 감염, 웹페이지 변조 등의 공격 수행

 악성 스크립트가 클라이언트에서 실행된다.

 

3) 사이트 간 요청 위조(CSRF[XSRF], Cross Site Request Forgery)

 웹 애플리케이션에서 정상적인 경롤르 통한 요청과 비정상적인 경로를 통한 요청을 서버가 구분하지 못할 경우, 공격자가 스크립트 구문을 이용하여 정상적인 사용자로 하여금 조작된 요청을 전송 하도록 하여, 게시판 설정 변경, 회원 정보 변경 등의 문제가 발생할 수 있는 취약점

사용자가 악성 스크립트를 서버에 요청한다

 

4) 직접 객체 참조

 파일, 디렉터리, 데이터베이스 키와 같이 내부적으로 구현된 객체에 대한 참조가 노출될 때 발생

 

- 디렉터리 탐색 공격(파일 다운로드 취약점)

- 파일 업로드 제한 부재

- 리버스 텔넷

 

5) 보안 설정 취약점

- 백업 및 임시 파일 존재

- 주석 관리 미흡

 

(3) 웹의 취약점 보안

1) 특수문자 필터링

2) 서버측 통제 작용

3) 지속적인 세션 관리

 

(4) 웹 방화벽(WAF, Web Application Firewall)

1) 개요

 웹 애플리케이션을 대상으로 시도되는 해킹을 차단해주는 보안장비

 SQL 인젝션, 크로스 사이트 스크립트(XSS) 등과 같은 웹 공격을 탐지하고 차단하는 기능이며, 직접적인 웹 공격 대응 이외에도 정보 유출 방지, 부정 로그인 방지, 웹사이트 위변조 방지 등으로 활용이 가능

 

2) 웹 방화벽 기능

 사용자 요청 검사

 콘텐츠 보호

 위장

 

 

 

 

 

*출처:[알기사] 2019 정보보안기사&산업기사

*해당 블로그는 개인적인 공부와 정보 공유를 위해 만들었습니다.

+ Recent posts