inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

면접 전에 알고 가면 좋을 것들 - 신입 Java 백엔드 개발자편

CORS와 Drive-by Download 질문있습니다.

해결된 질문

17

Kevin

작성한 질문수 27

0

안녕하세요. 세션 6, 19강의 CORS와 Drive-by Download 설명 관련해서 궁금한 점이 있어 질문드립니다.

강의에서 CORS 정책을 설명하시면서, Drive-by Download와 같은 공격에 구조적으로 대응할 수 있다는 취지로 말씀해주신 것으로 이해했습니다.

제가 이해한 바로는 CORS는 기본적으로 허용되지 않은 다른 출처의 JavaScript가 특정 서버의 응답을 읽지 못하도록 제어하는 브라우저 정책에 가깝다고 알고 있습니다. 즉, cross-origin 요청 자체를 항상 막는다기보다는, 서버가 허용하지 않은 출처에서 응답 데이터에 접근하지 못하게 하는 정책으로 이해하고 있습니다.

반면 Drive-by Download는 사용자가 악성 사이트나 감염된 정상 사이트에 방문했을 때, 악성 JavaScript, iframe, 광고, redirect 등을 통해 브라우저 취약점을 공격하거나 악성 파일 다운로드/실행을 유도하는 공격으로 알고 있습니다.

그래서 이 부분에서 조금 헷갈리는 점이 있습니다.

여러 도메인의 리소스가 연결된다는 점에서는 Drive-by Download도 브라우저의 출처 정책과 관련이 있다고 볼 수 있지만, CORS가 Drive-by Download를 직접적으로 막는 방어책이라고 보기는 어렵지 않은가 하는 생각이 들었습니다.

예를 들어 외부 JavaScript 로드 자체는 일반적으로 CORS가 아니라 <script src="..."> 형태로도 가능하고, 이를 통제하려면 CORS보다는 CSP, XSS 방어, iframe sandbox, 외부 스크립트 제한, 브라우저/OS 패치 등이 더 직접적인 방어책이라고 이해했습니다.

제가 이해한 내용을 정리하면 다음과 같습니다.

혹시 강의에서 말씀하신 “CORS를 통해 Drive-by Download에 대응할 수 있다”는 의미가, CORS 자체가 직접 방어책이라는 뜻이라기보다는 브라우저의 출처 기반 보안 모델 전반을 설명하는 맥락으로 이해하면 될까요?

제가 잘못 이해한 부분이 있다면 정정 부탁드립니다. 감사합니다.

cors

답변 2

1

널널한 개발자

전반을 설명하는 맥락으로 보는 것이 좋긴 합니다. DBD 공격의 경우 Landing -> Hopping -> Repository 순으로 접속이 일어납니다. 이 과정에서 한 가지만 연결이 끊기면 최종적으로 공격은 성공하지 못합니다. CORS가 DBD를 막기 위해 만들어졌다고 할 수는 없지만 결과적으로 DBD 공격을 막는 것에도 영향을 준 것으로 이해할 수 있겠습니다. 본인의 생각과 더불어 함께 생각해보시면 좋겠습니다. :)

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.

Kevin님께서 CORS와 Drive-by Download의 관계에 대해 궁금해 하시는군요. 질문 내용을 통해 여러분께서 이미 해당 주제에 대한 깊이 있는 이해를 가지고 계신 것을 알 수 있었습니다.

일단, CORS(Cross-Origin Resource Sharing)는 웹 페이지에서 다른 도메인의 리소스에 접근할 수 있도록 허용하거나 제한하는 기준점으로 작동하는 브라우저 정책입니다. 이는 주로 보안상의 이유로, 한 출처에서 실행되는 웹 애플리케이션이 다른 출처의 리소스에 접근하려고 할 때 이를 어떻게 제어할지를 결정 합니다.

반면, Drive-by Download 공격은 사용자가 웹사이트를 방문하는 것만으로도 악성코드가 실행되거나 다운로드되는 매우 위협적인 공격 형태입니다. 이 공격은 주로 브라우저의 취약점을 이용하여 이루어집니다. 이러한 공격에서 CORS가 직접적으로 큰 역할을 한다고 보기는 어렵습니다. 오히려 보안을 강화하려면 CSP(Content Security Policy), iframe 제한, 브라우저/플러그인 업데이트 등이 필요합니다.

따라서 강의에서 “CORS를 통해 Drive-by Download에 대응할 수 있다”는 주장은, CORS 자체가 이 공격을 직접적으로 차단할 수 있다는 뜻이라기보다는 브라우저가 제공하는 전반적인 출처 기반 보안 모델의 중요한 일부로서 간접적으로 기여할 수 있다는 의미로 보는 것이 적절합니다. 즉, 사용하는 웹 애플리케이션이 얼마나 안전한지와 관련된 보안 프레임워크의 일부로 이해하시면 됩니다.

추가 참고로, 다음의 질문에서 비슷한 주제를 다루고 있어 연관된 내용을 학습해보시면 좋을 것 같습니다:
- JS 저장관련해서 CORS에 대한 질문

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

실무에서 웹개발자가 명시적으로 선언하는 보안 정책의 범위 및 보안 정책 설정 위임 라이브러리

1

135

2

브라우저 내부 보안 정책 스코프에 대한 질문

1

88

1

ETag 사용시 서버의 성능 향상

1

84

2

next.js 와 SOP

1

81

2

사전 요청 관련 질문

1

75

2

rest api 에서의 csrf

1

63

1

변경된 API 주소 CORS 오류

0

151

3

하이잭킹 관련 문의

1

133

2

캐싱 관련 문의

1

118

1

TypeError: querystring is not a function 에러 나시는 분들

0

185

1

AWS 배포 시 CORS 에러

0

132

2

강사님은 어떤 책으로 HTTP 를 공부하셨나요?

0

284

1

JS 저장관련해서 CORS에 대한 질문

0

199

1

CORS 이슈에 대해 현업에서의 API URL 구성이 궁금합니다.

2

390

1

안녕하세요 프로젝트를 react와 연동하기에 대해서 여쭈고 싶습니다 :)

1

1391

1

CORS 에러

1

639

1

이미지 태그 src 경로 설정시 CORS 이슈가 발생하는 분들

1

1002

1

CORS 에러 질문

0

333

1

그대로 쳤는데 에러가나네요 ㅠㅠ

0

390

1

Gateway와 set-Cookie 에 대한 질문입니다.

0

1254

2

cors 문제 질문 드립니다.

0

235

1

GET 요청시 req.user = undefined 문제

0

1314

2

수업 내용은 아니지만 Security 관련 질문요청드립니다!

1

663

2

CORS error

1

3087

1