Web Security Fundamentals (Same-Origin Policy, CORS)
두비니
·2023. 4. 13. 04:22
1. Web Vulnerability
취약점(Vulnerability)이란?
정의: 시스템의 정보 보증을 낮추는데 사용되는 약점 또는 공격 영역
취약점의 3요소: 시스템 민감성, 결함에 대한 공격 가능성, 공격 기법
취약점 진단
정의: 취약점을 발견하기 위한 테스트 방법
- 취약점진단에서는 취약점 이외에 보안기능 미흡사항도 발견
- 관련 법률: 정보통신망법 제45조의3, 정보통신기반 보호법 제9조
취약점 진단 항목
항목: 서버시스템, 네트워크장비, 웹 응용프로그램, 보안장비, DB서버, 제어망 시스템, 모바일 앱
진단 항목: OWASP Top 10 웹 보안 취약점, 주요정보통신기반시설 취약점 분석 평가 가이드
웹 스캐너 & 웹 프록시 (툴) 이해
웹 스캐너
- 웹 취약점 스캐너를 통한 정보 수집은 빠른 시간 내에 다양한 접속 시도를 수행
- 예시: Arachni 등
웹 프록시
- 취약점 분석을 위해서 사용됨
- 웹 서버와 웹 브라우저 간에 전달되는 모든 HTTP 패킷을 확인하고 수정할 수 있어 사용
- 예시: Burp Suite 등
- Forward Proxy, 그리고 Reverse Proxy 등이 있다.
웹 프록시 서버 수행 과정
2. Same Origin Policy, SOP
Origin이란: 브라우저가 서버로부터 리소스를 다운받아 처리할 때 그 출처를 말함
능동적 공격과 수동적 공격
능동적 공격: 공격자가 직접 웹 서버에 공격하는 것
수동적 공격: 웹사이트에 malicious한 함정을 숨겨놓고, 이를 방문하는 사용자들을 대상으로 공격
수동적 공격 예시
수동적 공격에 대한 대책
샌드박스: 정해진 메모리 안에서만 실행되도록 하는것
Javascript의 샌드박스
- 로컬 파일 접근 금지
- 프린터 자원 사용금지 (readonly)
- 네트워크 접근 제한 (Same Origin Policy)
자바스크립트 이외의 크로스 도메인 접근
crossdomain.xml 보안 정책파일
- 처음에는 Adobe Flash 파일이 외부 도메인의 데이터에 접근하기 위해 사용한 보안 정책 파일
- 근데 다양한 보안 문제로 인하여 더이상 사용하지 않음
3. CORS (Cross-Origin Resource Sharing)
Strict SOP를 통해서는 개발에 제한을 많이 받음
이를 좀 풀기 위해서 고안된게 CORS이다.
신뢰할 수 있는 사이트에 한해서 HTTP 정보 요청과 반환이 가능하도록 하는 것
CORS 취약점
- 접근제어 우회: Access-Control-Allow-Origin 헤더를 잘못 정의했을 경우, 공격자는 외부에서 직접 접근할 수 없는 내부 네트워크의 웹 사이트에 접근 가능
- CORS와 Web Socket을 이용한 원격 쉘: XHR과 Web Socket 기술을 이용하면 사용자의 브라우저 세션을 탈취하고 행동을 제어 (세션 하이재킹 공격)
- CORS와 Web Socket을 이용한 웹 기반: CORS와 Web Socket 기술을 이용하면 사용자의 브라우저들을 제어하여 다양한 정보를 수 집하거나 명령을 내릴 수 있음
- CORS와 Web Worker를 이용한 DDOS 공격: CORS와 Web Worker를 이용하면 보다 효과적으로 DDoS 공격을 수행
참고
https://evan-moon.github.io/2020/05/21/about-cors/
'WEB' 카테고리의 다른 글
XSS(Cross Site Scripting) (0) | 2023.04.13 |
---|---|
Overview of Web Application Security (0) | 2023.04.12 |
draft (0) | 2022.08.20 |
SSTI Bypass (0) | 2021.11.07 |
[WEB] SSRF(Server Side Request Forgery)에 대해서 (0) | 2021.08.09 |