회사 업무

[브라우저] PNA CORS(formerly known as CORS-RFC1918)

코드몬스터 2023. 8. 1. 14:12
728x90
💡 내용이 틀린 부분이 있을 수 있습니다.

 

구글에서 가져온 이미지

 

업무를 하면서 PNA CORS를 접하게 되어 작성하게 되었습니다.

 

👉 PNA CORS?

Chrome is deprecating access to private network endpoints from non-secure websites as part of the Private Network Access specification. The aim is to protect users from cross-site request forgery (CSRF) attacks targeting routers and other devices on private networks. 

 

즉, 의역을 하면 크롬은 안전하지 않는 웹사이트에서  Private Network Access 사양으로 private network endpoints에 접근하는 것을 더 이상 사용하지 않는다,

private networks에서 라우터 그리고 다른 장치들의 목표가 되는 CSRF 공격으로 부터 사용자들을 보호하는 목적이다.

 

 

👉 CSRF(Cross Site Request Forgery) 공격 예시(참조 사이트)

3번에서 악성 사이트를 통해서 사용자 컴퓨터를 통해 요청이 발송되도록 DNS 등을 해킹 과정이 발생하기 때문에, 브라우저가 해킹 수단이 될 수 있어 막고 보안 정책으로 막고 있는 것 같다.

  1. 공격자가 특정 은행의 계좌에서 공격자의 계좌로 천만 원을 송금하라는 요청을 위조합니다.
  2. 위조한 요청은 하이퍼링크에 삽입해 이메일로 전송하거나 웹사이트 자체에 삽입합니다.
  3. 사용자가 공격자가 생성한 이메일 하이퍼링크나 웹사이트 링크를 클릭하면 은행에 천만 원을 송금하라는 요청이 전송됩니다. 
  4. 요청을 받은 은행 서버는 사용자의 요청대로 송금을 진행합니다.

 

👉 XSS(Cross Site Scripting)

크로스 사이트 스크립팅은 공격자가 상대방의 브라우저에 스크립트가 실행되도록 해 사용자의 세션을 가로채거나, 웹사이트를 변조하거나, 악의적 콘텐츠를 삽입하거나, 피싱 공격을 진행하는 것을 말합니다.

 

 

👉 XSS와 CSRF 공격 차이점

"크로스 사이트 스크립팅"은 사용자가 특정 사이트를 신뢰한다는 사실을 이용한 공격 방식이지만, "크로스 사이트 요청 위조"는 웹 애플리케이션이 인증된 사용자의 요청을 신뢰한다는 사실을 이용한 공격 방식입니다.

 

 

👉 PNA CORS 해결 방법

크롬에서 PNA CORS 문제를 해결하기 위해 제안하고 있는 세 가지 방법이다.

 

👉 주관적인 해결 방법

브라우저를 통해 서버로 접근하는 과정에서 브라우저의 보안 정책으로 막고 있는 현상이다.

다시 생각하면 브라우저를 사용 안하면 된다!

  • 가장 쉬운 방법으로 HTTPS, 공인 SSL을 적용하면 해결할 수 있다.
  • 만약 HTTPS 통신을 사용 안하면, 서버 to 서버끼리 통신하여 정보를 주고 받을 수 있다.

 

👉 참고 사이트