CSRF 공격이란 무엇이며 어떻게 예방할 수 있습니까?

CSRF 공격이란 무엇이며 어떻게 예방할 수 있습니까?

CSRF(Cross-Site Request Forgery)는 웹사이트의 취약점을 악용하는 가장 오래된 방법 중 하나입니다. 일반적으로 로그인과 같은 인증이 필요한 서버 측 웹 스위치를 대상으로 합니다. CSRF 공격 중에 공격자는 피해자가 자신을 대신하여 무단으로 악의적인 웹 요청을 하도록 하는 것을 목표로 합니다.

약하거나 열악한 웹사이트 보안 관행과 사용자 경로의 부주의는 성공적인 CSRF 공격의 일반적인 원인 중 일부입니다.

CSRF 공격이 무엇이며 개발자 또는 사용자로서 이를 방지할 수 있는 가능한 방법을 살펴보겠습니다.

CSRF 공격은 어떤 영향을 미칩니까?

CSRF는 사용자 로그인 또는 인증이 필요한 웹 작업 중에 무단 요청을 구현하는 데 사용되는 공격입니다. CSRF 공격은 세션 ID, 쿠키 및 기타 서버 기반 취약점을 이용하여 사용자의 자격 증명을 훔칠 수 있습니다.

예를 들어, 안티 CSRF 절차를 활성화하면 도메인 간 악의적인 상호 작용을 방지할 수 있습니다.

해당 장벽이 무너지면 공격자는 사용자의 브라우저에서 생성된 쿠키를 통해 사용자의 세션 ID를 빠르게 이용하고 취약한 웹 사이트에 스크립트 태그를 삽입할 수 있습니다.

ID를 조작하여 공격자는 방문자를 다른 웹 페이지로 리디렉션하거나 이메일과 같은 사회 공학적 방법을 악용 하여 링크를 보내 피해자가 악성 소프트웨어를 다운로드하도록 유도할 수도 있습니다.

피해자가 이러한 작업을 수행하면 사용자의 서비스 페이지에 HTTP 요청을 보내고 공격자에게 유리한 요청 작업을 승인합니다. 이는 순진한 사용자에게 치명적일 수 있습니다.

CSRF 공격이 성공하면 인증된 사용자가 공격자에 대한 액세스 자격 증명을 잃게 될 수 있으며, 특히 암호 또는 사용자 이름 변경 요청과 같은 서버 기반 작업 중에 더욱 그렇습니다. 더 나쁜 시나리오에서는 공격자가 전체 세션을 인수하고 사용자를 대신하여 행동합니다.

CSRF는 웹을 통한 자금 거래를 가로채고 사용자 이름과 비밀번호를 변경하는 데 사용되어 사용자가 영향을 받는 서비스에 대한 액세스 권한을 잃게 됩니다.

공격자가 CSRF로 세션을 가로채는 방법: 예

CSRF 공격의 주요 대상은 사용자 인증과 관련된 웹 작업입니다. 성공하려면 피해자의 의도하지 않은 행동이 필요합니다.

CSRF 공격 중에는 GET, DELETE 및 PUT 작업과 취약한 POST 요청이 공격자의 주요 대상입니다.

해당 용어의 의미를 살펴보겠습니다.

  • GET: 데이터베이스에서 결과를 수집하기 위한 요청. 예를 들어, 구글 검색.
  • POST: 일반적으로 웹 양식을 통한 요청 제출용입니다. POST 요청은 사용자 등록 또는 로그인(인증이라고도 함) 동안 일반적입니다.
  • DELETE: 데이터베이스에서 리소스를 제거합니다. 특정 웹 서비스에서 계정을 삭제할 때마다 이 작업을 수행합니다.
  • PUT: PUT 요청은 기존 리소스를 수정하거나 업데이트합니다. 예를 들면 Facebook 이름을 변경하는 것 입니다.

실제로 공격자는 세션 하이재킹을 사용하여 CSRF 공격을 백업합니다. 이 조합을 사용할 때 공격자는 하이재킹을 사용하여 피해자의 IP 주소를 변경할 수 있습니다.

그런 다음 IP 주소가 변경되면 공격자가 CSRF를 통해 생성한 복제된 양식 또는 수정된 서버 요청을 제출하는 기만적인 링크를 삽입한 새 웹사이트에 피해자를 기록합니다.

그런 다음 순진한 사용자는 리디렉션이 서비스 제공자로부터 온 것이라고 생각하고 공격자의 웹 페이지에 있는 링크를 클릭합니다. 해커가 이 작업을 수행하면 페이지 로드 시 자신도 모르게 양식을 제출합니다.

GET 요청 CSRF 공격의 예

보안되지 않은 전자 상거래 플랫폼을 통해 온라인 결제를 시도한다고 상상해 보십시오. 플랫폼 소유자는 GET 요청을 사용하여 거래를 처리합니다. 해당 GET 쿼리는 다음과 같을 수 있습니다.

https://websiteurl/pay?amount=$10&company=[company ABC's account]

하이재커는 GET 요청의 매개변수를 변경하여 트랜잭션을 쉽게 훔칠 수 있습니다. 이렇게 하기 위해 그들이 해야 할 일은 당신의 이름을 그들의 이름으로 바꾸는 것이고, 더 나쁜 것은 당신이 지불할 금액을 바꾸는 것입니다. 그런 다음 원래 쿼리를 다음과 같이 조정합니다.

https://websiteurl/pay?amount=$20000&company=[attacker's account]

수정된 GET 요청에 대한 링크를 클릭하면 결국 공격자의 계정으로 의도치 않게 전송됩니다.

GET 요청을 통한 거래는 나쁜 습관이며 활동을 공격에 취약하게 만듭니다.

POST 요청 CSRF 공격의 예

그러나 많은 개발자는 웹 트랜잭션을 수행하는 데 POST 요청을 사용하는 것이 더 안전하다고 생각합니다. 그것이 사실이지만 불행히도 POST 요청은 CSRF 공격에도 취약합니다.

POST 요청을 성공적으로 가로채기 위해 공격자는 현재 세션 ID, 일부 복제된 보이지 않는 형식, 때로는 약간의 사회 공학만 있으면 됩니다.

예를 들어 POST 요청 양식은 다음과 같습니다.





 

그러나 공격자는 새 페이지를 만들고 위의 양식을 다음과 같이 수정하여 자격 증명을 교환할 수 있습니다.





 

조작된 양식에서 공격자는 금액 필드의 값을 "30000"으로 설정하고 받는 사람의 계좌 번호를 그들의 계좌 번호로 바꾸고 페이지 로드 시 양식을 제출하고 사용자로부터 양식 필드를 숨깁니다.

그들이 현재 세션을 가로채고 나면 트랜잭션 페이지가 공격자의 페이지로 리디렉션을 시작하여 가장 방문할 가능성이 높은 링크를 클릭하라는 메시지를 표시합니다.

이것을 클릭하면 귀하의 자금이 공격자의 계정으로 이체되는 복제된 양식의 제출이 로드됩니다. 즉, JavaScript가 다음 웹 페이지를 로드할 때 자동으로 이 작업을 수행하므로 트랜잭션이 발생하기 위해 "보내기"와 같은 버튼을 클릭할 필요가 없습니다.

또는 공격자가 동일한 페이지 로드 양식 제출을 수행하기 위해 링크를 클릭하라는 메시지를 표시하는 HTML 포함 이메일의 초안을 작성할 수도 있습니다.

CSRF 공격에 취약한 또 다른 작업은 PUT 요청의 예인 사용자 이름 또는 비밀번호 변경입니다. 공격자가 귀하의 요청 양식을 복제하고 귀하의 이메일 주소를 자신의 이메일 주소로 바꿉니다.

그런 다음 세션을 훔쳐 페이지로 리디렉션하거나 매력적인 링크를 클릭하라는 이메일을 보냅니다.

그런 다음 비밀번호 재설정 링크를 귀하 대신 해커의 이메일 주소로 보내는 조작된 양식을 제출합니다. 그렇게 하면 해커가 귀하의 비밀번호를 변경하고 귀하를 계정에서 로그아웃시킵니다.

개발자로서 CSRF 공격을 방지하는 방법

CSRF 공격이란 무엇이며 어떻게 예방할 수 있습니까?

CSRF를 방지하는 가장 좋은 방법 중 하나는 서버에서 상태 변경을 실행하기 위해 세션 쿠키에 의존하는 대신 자주 변경되는 토큰을 사용하는 것입니다.

관련: 디지털 보안을 이해하고 개인 정보를 보호하기 위한 무료 가이드

많은 최신 백엔드 프레임워크는 CSRF에 대한 보안을 제공합니다. 따라서 CSRF를 직접 강화하는 기술을 피하고 싶다면 내장된 안티-CSRF 토큰과 함께 제공되는 서버 측 프레임워크를 사용하여 쉽게 해결할 수 있습니다.

안티 CSRF 토큰을 사용하는 경우 서버 기반 요청은 보다 정적으로 취약한 세션 쿠키 대신 임의의 문자열을 생성합니다. 그렇게 하면 납치범이 세션을 추측하지 못하도록 보호할 수 있습니다.

웹 앱에서 트랜잭션을 실행하기 위해 2단계 인증(2FA) 시스템을 구현하면 CSRF의 가능성도 줄어듭니다.

주석 양식과 같은 사용자 필드에 스크립트를 삽입하는 XSS(교차 사이트 스크립팅)를 통해 CSRF를 시작할 수 있습니다. 이를 방지하려면 웹사이트의 모든 사용자 양식 필드에서 HTML 자동 이스케이프를 활성화하는 것이 좋습니다. 이 작업은 양식 필드가 HTML 요소를 해석하는 것을 방지합니다.

사용자로서 CSRF 공격을 방지하는 방법

인증과 관련된 웹 서비스의 사용자로서 공격자가 CSRF를 통해 자격 증명과 세션을 훔치는 것을 방지하는 역할도 해야 합니다.

자금 이체와 관련된 활동 중에 신뢰할 수 있는 웹 서비스를 사용하고 있는지 확인하십시오.

이 외에도 세션 노출로부터 사용자를 보호 하는  보안 웹 브라우저 와 검색 데이터 유출을 방지하는 보안 검색 엔진을 사용합니다.

관련:  귀하의 데이터를 존중하는 최고의 개인 검색 엔진

사용자 는 웹을 통해 신원을 확인하기 위해 Google Authenticator 또는 그 대안 과 같은 타사 인증자에 의존할 수도 있습니다 .

공격자가 세션을 가로채는 것을 막는 것이 무력하다고 느낄 수도 있지만 브라우저가 암호 및 기타 로그인 세부 정보와 같은 정보를 저장하지 않도록 하여 이를 방지할 수 있습니다.

웹 보안 강화

개발자는 개발 및 배포 중에 보안 위반에 대해 웹 앱을 정기적으로 테스트해야 합니다.

그러나 다른 취약점을 방지하면서 다른 취약점을 도입하는 것이 일반적입니다. 따라서 CSRF를 차단하려고 시도하는 동안 다른 보안 매개변수를 위반하지 않았는지 확인하십시오.


NIST 사이버 보안 프레임워크란 무엇입니까?

NIST 사이버 보안 프레임워크란 무엇입니까?

정보를 온라인에 저장하는 것이 표준이 되었습니다. 더 많은 조직이 이 상호 연결성의 시대에 관련성을 유지하기 위해 이 부분을 견인하고 있습니다.

NordVPN 대 ExpressVPN: 2021년에 어떤 VPN을 사용해야 합니까?

NordVPN 대 ExpressVPN: 2021년에 어떤 VPN을 사용해야 합니까?

VPN에 투자하고 싶다면 NordVPN과 ExpressVPN이 확실한 옵션입니다. 둘 다 빠른 속도를 제공하며 긍정적인 고객 리뷰의 오랜 역사를 가지고 있습니다.

동형 암호화란 무엇입니까?

동형 암호화란 무엇입니까?

최근에 많이 등장하는 단어는 동형 암호화입니다. 많은 회사와 온라인 서비스에서 암호화 모델을 동형 암호화 유형으로 전환하고 있으며 더 나은 사용자 개인 정보 보호 및 보안을 위한 광고입니다.

쉿! 1Password를 사용하면 링크 하나로 비밀번호를 공유할 수 있습니다.

쉿! 1Password를 사용하면 링크 하나로 비밀번호를 공유할 수 있습니다.

비밀번호 관리자는 우리 모두가 현대 인터넷 생활의 일부로 처리해야 하는 넘쳐나는 로그인 정보를 처리하는 좋은 방법입니다.

침투 테스트란 무엇이며 네트워크 보안을 어떻게 개선합니까?

침투 테스트란 무엇이며 네트워크 보안을 어떻게 개선합니까?

새로운 보안 시스템을 설정할 때 가능한 한 적은 취약점으로 제대로 작동하는지 확인해야 합니다. 수천 달러의 가치가 있는 디지털 자산이 관련된 경우 실수로부터 교훈을 얻을 여유가 없으며 해커가 이전에 악용했던 보안의 허점만 채울 수 없습니다.

ZenMate VPN 검토: 개인 정보에 대한 명상

ZenMate VPN 검토: 개인 정보에 대한 명상

ZenMate VPN은 브라우저 확장을 통해 노로깅 정책과 추가 기능을 광고하는 사용자들 사이에서 인기 있는 선택입니다. 시간을 할애할 가치가 있는지 알고 싶다면 전체 ZenMate VPN 리뷰를 읽고 우리의 평결을 확인하십시오.

엔드포인트 보안이란 무엇이며 왜 중요한가요?

엔드포인트 보안이란 무엇이며 왜 중요한가요?

최근 악성코드 공격이 증가하고 고도화되고 있습니다. 조직은 사이버 위협으로부터 IT 네트워크를 지속적으로 보호해야 하는 과제를 안고 있습니다.

미국에서 TikTok이 금지되어 있습니까?

미국에서 TikTok이 금지되어 있습니까?

동영상 공유 앱 틱톡이 화제다. 2017년 시작된 이래 소셜 네트워크는 미국에서 거의 9천만 명의 활성 사용자를 보유하고 있으며 앱 다운로드 횟수는 약 20억 회입니다.

Norton과 Avast 병합: 온라인 보안에 어떤 의미가 있습니까?

Norton과 Avast 병합: 온라인 보안에 어떤 의미가 있습니까?

2021년 8월 NortonLifeLock과 Avast 간의 합병이 발표되었습니다.

SolarWinds 해킹의 영향은 무엇이었습니까?

SolarWinds 해킹의 영향은 무엇이었습니까?

해킹 사건은 항상 뉴스를 지배하며 당연히 그렇습니다. 특히 피해자가 정교한 사이버 보안 시스템을 갖춘 대기업인 경우에는 누구도 안전하지 않다는 증거입니다. 사이버 보안 환경에 상당한 영향을 미친 한 가지 해킹은 SolarWinds 해킹이었습니다.

Windows에서 가상화 기반 보안이란 무엇입니까?

Windows에서 가상화 기반 보안이란 무엇입니까?

가상화 기반 보안은 수년간 Windows 10의 기능이었습니다. 마이크로소프트가 이를 시행하지 않았기 때문에 많은 사람들의 레이더 아래에 놓였습니다. 그러나 이것은 Windows 11에서 변경될 것입니다.

어떤 VPN이 WireGuard를 지원합니까?

어떤 VPN이 WireGuard를 지원합니까?

WireGuard는 최첨단 암호화를 사용하여 온라인 활동을 보호하는 비교적 새로운 VPN 프로토콜입니다. 기존 프로토콜보다 더 많은 개인 정보 보호, 더 빠른 연결 속도, 더 많은 전력 절약을 제공하는 것을 목표로 합니다.

알아야 할 4가지 유형의 데이터 브로커

알아야 할 4가지 유형의 데이터 브로커

모두가 귀하의 개인 데이터를 원하는 것 같습니다. 항상 당신에게 무언가를 팔 의도로, 회사는 당신이 그들의 제품을 확인하도록 하기 위해 분주합니다. 그러나 인터넷이 끝없는 옵션의 흐름으로 가득 차 있기 때문에 일대일 고객 경험을 제공하는 것이 그들을 차별화할 수 있는 유일한 방법입니다.

Microsoft, 지금까지 기록된 가장 큰 DDoS 공격 중 하나를 완화했습니다.

Microsoft, 지금까지 기록된 가장 큰 DDoS 공격 중 하나를 완화했습니다.

2021년 10월 11일 Microsoft는 8월 말에 Azure 서비스에서 대규모 2.4Tbps DDoS를 무심코 막아냈으며 전 세계 수백만 사용자의 가동 중지 시간이 거의 없다고 발표했습니다.

DNS over HTTPS: 암호화된 DNS가 더 느립니까?

DNS over HTTPS: 암호화된 DNS가 더 느립니까?

올바른 인터넷 연결 및 보안 프로토콜을 선택할 때 구현이 얼마나 쉽고 편리한지, 데이터를 얼마나 안전하게 유지하는지, 전반적인 연결 속도 등 많은 요소가 결정에 영향을 미칠 수 있습니다.

iOS 15에는 iCloud 구독자를 위한 숨겨진 VPN(일종의)이 포함되어 있습니다.

iOS 15에는 iCloud 구독자를 위한 숨겨진 VPN(일종의)이 포함되어 있습니다.

Apple은 새로운 iOS 15 소프트웨어 업데이트를 통해 iPhone에서 웹을 탐색하는 방식을 변경하는 것을 목표로 합니다. 이제 iPhone에서 IP 주소를 마스킹하고 Private Relay라는 기능으로 완전한 익명성을 보장할 수 있습니다. 따라서 순전히 보안 브라우징을 위해 VPN 비용을 지불했다면 지금 구독을 취소할 수 있습니다.

EU의 입법 E2E 암호화 드라이브가 암호화된 메시징 앱에 의미하는 것

EU의 입법 E2E 암호화 드라이브가 암호화된 메시징 앱에 의미하는 것

16억 명의 WhatsApp 사용자 중 하나라면 이미 종단 간 암호화(E2EE)를 사용하고 있는 것입니다. 이 보안 형식의 통신은 다른 사람에게 보내는 모든 메시지를 받는 사람만 읽을 수 있음을 의미합니다. 이러한 채팅 메시지는 정부와 범죄자를 포함한 제3자가 가로챌 수 없습니다.

Bitwarden 대 LastPass: 귀하에게 가장 적합한 암호 관리자는 무엇입니까?

Bitwarden 대 LastPass: 귀하에게 가장 적합한 암호 관리자는 무엇입니까?

LastPass와 Bitwarden은 모두 보안, 기능 및 계획 측면에서 우수한 암호 관리자입니다. 그러나 둘 중 하나를 선택해야 한다면 어떤 것이 1위를 차지할까요?

Google 계정에 대한 백업 인증자 코드를 설정하는 방법

Google 계정에 대한 백업 인증자 코드를 설정하는 방법

백업 코드를 사용하면 Google 계정으로 쉽게 돌아갈 수 있습니다. 휴대전화를 분실했거나 Google에서 메시지를 수신할 수 없거나 Google Authenticator 앱에서 코드를 받을 수 없는 경우 Google 계정에 다시 로그인하기 위한 마지막 방어선 역할을 합니다.

귀하의 바코드 스캐너는 안전합니까 아니면 Android 맬웨어를 숨기나요?

귀하의 바코드 스캐너는 안전합니까 아니면 Android 맬웨어를 숨기나요?

바코드는 물리적 표면에서 데이터를 공유하는 가장 좋은 방법 중 하나입니다. 관심 있는 사람은 스마트폰에서 바로 코드를 스캔하여 웹사이트나 앱에 액세스하기만 하면 됩니다.

NIST 사이버 보안 프레임워크란 무엇입니까?

NIST 사이버 보안 프레임워크란 무엇입니까?

정보를 온라인에 저장하는 것이 표준이 되었습니다. 더 많은 조직이 이 상호 연결성의 시대에 관련성을 유지하기 위해 이 부분을 견인하고 있습니다.

NordVPN 대 ExpressVPN: 2021년에 어떤 VPN을 사용해야 합니까?

NordVPN 대 ExpressVPN: 2021년에 어떤 VPN을 사용해야 합니까?

VPN에 투자하고 싶다면 NordVPN과 ExpressVPN이 확실한 옵션입니다. 둘 다 빠른 속도를 제공하며 긍정적인 고객 리뷰의 오랜 역사를 가지고 있습니다.

쉿! 1Password를 사용하면 링크 하나로 비밀번호를 공유할 수 있습니다.

쉿! 1Password를 사용하면 링크 하나로 비밀번호를 공유할 수 있습니다.

비밀번호 관리자는 우리 모두가 현대 인터넷 생활의 일부로 처리해야 하는 넘쳐나는 로그인 정보를 처리하는 좋은 방법입니다.

침투 테스트란 무엇이며 네트워크 보안을 어떻게 개선합니까?

침투 테스트란 무엇이며 네트워크 보안을 어떻게 개선합니까?

새로운 보안 시스템을 설정할 때 가능한 한 적은 취약점으로 제대로 작동하는지 확인해야 합니다. 수천 달러의 가치가 있는 디지털 자산이 관련된 경우 실수로부터 교훈을 얻을 여유가 없으며 해커가 이전에 악용했던 보안의 허점만 채울 수 없습니다.

ZenMate VPN 검토: 개인 정보에 대한 명상

ZenMate VPN 검토: 개인 정보에 대한 명상

ZenMate VPN은 브라우저 확장을 통해 노로깅 정책과 추가 기능을 광고하는 사용자들 사이에서 인기 있는 선택입니다. 시간을 할애할 가치가 있는지 알고 싶다면 전체 ZenMate VPN 리뷰를 읽고 우리의 평결을 확인하십시오.

엔드포인트 보안이란 무엇이며 왜 중요한가요?

엔드포인트 보안이란 무엇이며 왜 중요한가요?

최근 악성코드 공격이 증가하고 고도화되고 있습니다. 조직은 사이버 위협으로부터 IT 네트워크를 지속적으로 보호해야 하는 과제를 안고 있습니다.

미국에서 TikTok이 금지되어 있습니까?

미국에서 TikTok이 금지되어 있습니까?

동영상 공유 앱 틱톡이 화제다. 2017년 시작된 이래 소셜 네트워크는 미국에서 거의 9천만 명의 활성 사용자를 보유하고 있으며 앱 다운로드 횟수는 약 20억 회입니다.

Norton과 Avast 병합: 온라인 보안에 어떤 의미가 있습니까?

Norton과 Avast 병합: 온라인 보안에 어떤 의미가 있습니까?

2021년 8월 NortonLifeLock과 Avast 간의 합병이 발표되었습니다.

SolarWinds 해킹의 영향은 무엇이었습니까?

SolarWinds 해킹의 영향은 무엇이었습니까?

해킹 사건은 항상 뉴스를 지배하며 당연히 그렇습니다. 특히 피해자가 정교한 사이버 보안 시스템을 갖춘 대기업인 경우에는 누구도 안전하지 않다는 증거입니다. 사이버 보안 환경에 상당한 영향을 미친 한 가지 해킹은 SolarWinds 해킹이었습니다.

어떤 VPN이 WireGuard를 지원합니까?

어떤 VPN이 WireGuard를 지원합니까?

WireGuard는 최첨단 암호화를 사용하여 온라인 활동을 보호하는 비교적 새로운 VPN 프로토콜입니다. 기존 프로토콜보다 더 많은 개인 정보 보호, 더 빠른 연결 속도, 더 많은 전력 절약을 제공하는 것을 목표로 합니다.