코드 그라데이션

CSRF, Drive-by Download 본문

백엔드 면접

CSRF, Drive-by Download

완벽한 장면 2024. 4. 7. 19:22

CSRF(Cross-Site Request Forgery)

웹 애플리케이션에서 발생하는 보안 취약점 중 하나.

이 취약점은 공격자가 특정 웹 페이지에 피해자를 유도하여,

피해자의 권한을 이용하여 악의적인 요청을 보내게 만들어 발생한다.

 

CSRF 공격의 기본적인 원리는 다음과 같다

 

> 피해자 로그인

피해자는 웹 애플리케이션에 로그인한 상태여야 한다.

 

> 공격자의 페이지 방문

피해자는 공격자가 제작한 웹 페이지를 방문한다. 이 페이지는 악성 코드를 포함하고 있다.

 

> 악성 요청 실행

공격자의 페이지를 방문한 피해자는 악성 코드로부터 자동으로 특정 액션을 수행하게 된다.

이 때, 피해자의 권한으로 웹 애플리케이션에 악성 요청이 전송된다.

 

> 피해자의 권한으로 요청 실행

웹 애플리케이션은 해당 요청을 피해자의 권한으로 인식하고 수행하게 되어,

공격자는 피해자의 권한을 이용하여 악의적인 동작을 수행할 수 있다.

 

CSRF 공격을 방지하기 위한 주요 방법

# CSRF 토큰 사용

각 요청에 랜덤하게 생성된 CSRF 토큰을 포함시켜, 해당 토큰이 없는 요청은 거부하도록 만든다.

이를 통해 악성 요청이 토큰을 알지 못하면 실행되지 않도록 할 수 있다.

 

# SameSite 쿠키 속성 설정 

SameSite 쿠키 속성을 설정하여, 요청이 동일 출처에서만 허용되도록 제한한다.

 

# Referrer 검증

웹 애플리케이션은 Referrer 헤더를 확인하여 요청이 예상한 출처에서 왔는지 검증할 수 있다.

하지만 이 방법은 완벽하지 않을 수 있으며, 일부 상황에서는 제한될 수 있다.

 

# 사용자 인증 시간 제한

로그인 세션이 일정 시간 동안만 유효하도록 설정하여

공격자가 장기간에 걸쳐 악성 요청을 보낼 가능성을 줄일 수 있다.

 

 

 


 

Drive-by Download

사용자가 의도하지 않은 콘텐츠나 악성 소프트웨어를 다운로드하게 하는 공격의 한 형태다.

이 공격은 사용자가 웹사이트를 방문할 때, 공격자가 웹 페이지에 악성 코드를 숨겨두어

브라우저에서 자동으로 악성 파일을 다운로드하도록 유도한다.

사용자는 특별한 조작 없이도 이러한 공격에 노출될 수 있다.

 

<주요 방법>

1) 콘텐츠 자동 실행

웹 페이지에 방문한 사용자의 브라우저에서는 자동으로 특정 파일이나 스크립트를 다운로드하고 실행한다.

이를 통해 공격자는 악성 코드를 실행하거나 악성 소프트웨어를 설치할 수 있다.

 

2) 약점을 이용한 공격 

사용자의 브라우저나 플러그인, 운영 체제 등에 있는 보안 취약점을 이용하여 악성 코드를 주입하고 실행한다.

이 때 사용자는 취약점이 존재하는 소프트웨어 버전을 사용하고 있어야 한다.

 

3) 리다이렉션

사용자를 악성 웹사이트로 리다이렉트하고, 해당 웹사이트에서 악성 코드를 실행하도록 유도한다.

 

 

대비 방법

  1. 브라우저 및 소프트웨어 업데이트: 최신 버전의 브라우저와 관련 플러그인, 운영 체제를 사용하도록 업데이트.
  2. 보안 솔루션 사용: 안티바이러스 및 악성 코드 탐지 솔루션을 사용하여 악성 코드를 감지하고 차단하는 것.
  3. 스크립트 차단: 브라우저 확장 프로그램을 통해 JavaScript, Flash, Java 등을 차단하거나 특정 웹사이트에서만 실행되도록 제한.
  4. 팝업 차단: 브라우저의 팝업 차단 기능을 활성화하여 알려지지 않은 팝업 창에서의 다운로드를 방지.
  5. 악성 웹사이트 회피
  6. 보안 교육

 

 

728x90

'백엔드 면접' 카테고리의 다른 글

망 사용료 이슈  (1) 2024.04.08
부하 분산  (0) 2024.04.07
서비스 기본 구조와 필수 고려사항  (0) 2024.04.06
XSS와 CSRF 공격 예방  (0) 2024.04.05
온프레미스 환경에서 클라우드로 전환  (0) 2024.04.04
Comments