본문 바로가기

외부 교육 정리/서울여대 정보보호 영재교육원

웹 서버 구축과 웹 취약점 이해 (호준원 교수님)

- 많은 어플리케이션들은 클라이언트 (사용자) 측에서 데이터를 서버 측에 보낼 수 있도록 구현됨
하지만 사용자가 임의로 값을 변경할 경우, 각종 보안사고가 발생할 수 있기때문에 값의 변경을 막는 방법등이 필요함.
Ex) 전송되는 값의 암호화, Form을 숨김. (Hidden Price)

POST /order.asp HTTP/1.1
Host: test.com

이런식으로 값이 전송됨.

이때, 쿠키값도 변경 가능함.
(Proxy 툴 사용. Paros, Burp Suite)

Referer 헤더는 현재 요청을 시작한 웹페이지의 URL 정보를 가지고 있음.
Opaque 데이터: 암호화 하거나 난독화된 데이터
– 서버는 암호화 하거나 난독화된 데이터를 사용자에게 보냄으로써, 사용자가 해당 데이터를 변경하기 힘들게 만듦.
하지만 Known-plaintext 공격, chosen-plaintext 공격에 취약함.

Known-plaintext 공격
공격자가 암호문 뿐만 아니라 그에 대응되는 평문도 가지고 있는 경우. 공격자가 가진 암호문은 해독하고자 하는 암호문과 같은 알고리즘으로 암호화 된 것이다. 이 공격법 또한 COA와 같은 목적으로 해독하고자 하는 암호문의 평문을 알아내거나 키를 찾는 방법이다.

Chosen-plaintext 공격
공격자가 일부 메세지에 대해 평문과 암호문의 쌍을 알고 있을 뿐만 아니라 평문을 선택해서 암호화 할 수 있다는 것을 의미한다. 언듯 보면 KPA 와 크게 다를게 없을지 모르겠지만 알려진 평문 공격은 어떤 정보가 주어져 있지만 선택적 평문 공격은 내 의지에 따라 내가 원하는 정보를 알 수 있는 경우다. 이 경우는 KPA에 비해 강력한 공격 방법으로 공개키(Public-Key) 시스템을 공격하는데 많이 사용된다.