CSRF(Cross-Site Request Forgery)는 공격자가 사용자의 권한을 도용하여 원치 않는 요청을 특정 웹 애플리케이션에 수행하도록 유도하는 웹 보안 공격입니다. 즉, 사용자가 인증된 상태에서 공격자가 만든 악의적인 요청을 실행하게 하는 공격 기법입니다.
CSRF 특징
1. 사용자의 신뢰를 악용
• 공격자는 피해자가 인증된 세션을 보유하고 있을 때 요청을 조작하여 실행합니다.
• 사용자는 공격이 발생한 사실을 인지하지 못한 채 요청을 수행하게 됨
2. 인증된 요청으로 위장
• 피해자가 로그인된 상태에서 악의적인 요청이 서버로 전송되므로 정상적인 요청처럼 보입니다.
• 서버는 요청이 사용자의 의도인지 구분하지 못함.
3. 특정 조건에서 실행 가능
• 사용자가 공격자가 제공한 악성 링크를 클릭하거나, 악의적인 웹사이트에 접속해야 공격이 실행됨.
• 로그인된 상태에서만 발생하는 공격이므로, 로그아웃 상태에서는 영향이 없음.
4. GET 및 POST 요청을 통해 실행 가능
• CSRF 공격은 주로 GET, POST, PUT, DELETE 등의 HTTP 요청을 통해 실행됩니다.
• 특히, CSRF 토큰이 없는 POST 요청이 주요 공격 대상.
CSRF 공격 예시
(1) 단순 GET 요청을 이용한 CSRF 공격
• 공격자가 피해자가 로그인된 상태에서 아래 링크를 클릭하도록 유도 → 피해자가 악성 웹사이트를 방문하면 자동으로 은행 계좌에서 공격자 계좌로 돈이 이체됨
<img src="http://bank.com/transfer?to=attacker&amount=10000" />
(2) POST 요청을 이용한 CSRF 공격
• 공격자가 악성 웹사이트에 아래와 같은 폼을 숨겨둠 →사용자가 로그인된 상태에서 악성 사이트를 방문하면 자동으로 폼이 전송됨.
<form action="http://bank.com/transfer" method="POST">
<input type="hidden" name="to" value="attacker">
<input type="hidden" name="amount" value="10000">
<input type="submit" value="Click Me!">
</form>
CSRF 방어 기법
1. CSRF Token 사용 (추천)
• 각 요청마다 무작위 생성된 토큰을 포함하여, 요청이 실제 사용자의 의도인지 확인.
• 서버는 요청을 받을 때 토큰을 검증하여 공격 여부 판단.
2. Referer & Origin 검사
• 서버에서 Referer 헤더나 Origin 헤더를 확인하여 요청이 신뢰할 수 있는 출처에서 왔는지 검사
3. SameSite Cookie 설정
• SameSite=Strict 또는 SameSite=Lax 옵션을 사용하여, 크로스 사이트 요청에서는 인증 쿠키를 포함하지 않도록 설정
4. CORS(Cross-Origin Resource Sharing) 설정
• 서버에서 신뢰할 수 있는 출처(origin)만 허용하도록 CORS 정책을 설정
관련기사
옥션 개인 정보 유출 사건
언제? 2008년 1월 어디서? 국내 인터넷 오픈마켓 사이트 옥션 어떻게? 중국인 해커가 사이트 간 요청 위조(...
blog.naver.com
네이버 카페, CSRF 취약점 발견...정보유출 위험성 존재 - 데일리시큐
CSRF를 이용한 네이버 카페 대문바꾸기 취약점에 대한 제보가 들어왔다. CSRF(Cross-site request forgery)는 웹사이트 취약점 공격방법중 하나로, 사용자가 자신의 의지와는 상관없이 공격자가 의도한 수
www.dailysecu.com
'IT > 보안' 카테고리의 다른 글
제로 트러스트 보안(Zero Trust Security) (1) | 2025.02.22 |
---|---|
ISA/IEC 62443 (1) | 2025.02.22 |
펌웨어 기반의 보안 자동화 솔루션 (0) | 2025.02.21 |
N2SF(국가망보안체계) 가이드라인 주요 특징 및 적용 방안 (0) | 2025.02.21 |
TOCTOU(Time of Check, Time of Use) (1) | 2025.02.18 |