사이트 간 위조를 어떻게 방지합니까?
교차 사이트 요청 위조, 세션 라이딩 및 원 클릭 공격을 포함하여 다양한 이름으로도 알려진 교차 사이트 위조 (XSRF 또는 CSRF)는 방지하기 어려운 웹 사이트 악용 유형입니다. 웹 브라우저를 속여 원격 서버에 무단 명령을 보내도록 작동합니다. 사이트 간 위조 공격은 인증 정보로 웹 사이트에 로그인 한 사용자에 대해서만 작동합니다. 결과적으로 웹 사이트에서 로그 아웃하는 것이 간단하고 효과적인 예방 조치가 될 수 있습니다. 웹 개발자는 무작위로 생성 된 토큰을 사용하여 이러한 유형의 공격을 방지 할 수 있지만 리퍼러를 확인하거나 쿠키에 의존하지 않아야합니다.
사이트 간 위조 공격은 "혼동 된 대리 공격"으로 알려진 웹 브라우저를 대상으로하는 것이 일반적입니다. 사용자를 대신하여 행동한다고 믿기 때문에 브라우저는 권한이없는 명령을 원격 서버에 전송하도록 속입니다. 이러한 명령은 웹 페이지 마크 업 코드의 무해한 부분에 숨겨 질 수 있습니다. 즉, 이미지 파일을 다운로드하려는 브라우저가 실제로 은행, 온라인 소매점 또는 소셜 네트워킹 사이트로 명령을 보낼 수 있습니다. 일부 브라우저에는 사이트 간 위조 공격을 방지하기위한 조치가 포함되어 있으며 타사 프로그래머는 이러한 조치가없는 확장 또는 플러그인을 만들었습니다. 또한 선호하는 클라이언트에서 HTML (HyperText Markup Language) 전자 메일을 해제하는 것이 좋습니다. 이러한 프로그램은 사이트 간 위조 공격에도 취약하기 때문입니다.
사이트 간 위조 공격은 합법적으로 웹 사이트에 로그인 한 사용자에게 의존합니다. 이를 염두에두고 이러한 공격을 방지하는 가장 쉬운 방법 중 하나는 사용을 마친 사이트에서 간단히 로그 아웃하는 것입니다. 은행 및 중개 회사를 포함하여 민감한 데이터를 다루는 많은 사이트는 일정 기간 동안 활동이 없으면 자동으로이를 수행합니다. 다른 사이트는 반대 방식으로 사용자가 며칠 또는 몇 주 동안 지속적으로 로그인 할 수 있도록합니다. 이 방법이 편리하지만 CSRF 공격에 노출됩니다. “이 컴퓨터에서 나를 기억하십시오”또는“로그인 상태로 유지”옵션을 찾아서 비활성화 한 다음 세션을 완료하면 로그 아웃 링크를 클릭하십시오.
웹 개발자의 경우 사이트 간 위조 취약성을 제거하는 것이 특히 어려운 작업 일 수 있습니다. CSRF 공격은 합법적 인 사용자 자격 증명을 이용하고이 정보는 스푸핑하기 쉽기 때문에 참조 자와 쿠키 정보를 확인해도 많은 보호 기능을 제공하지 않습니다. 더 나은 방법은 사용자가 로그인 할 때마다 단일 사용 토큰을 무작위로 생성하고 사용자가 보낸 요청에 토큰을 포함하도록 요구하는 것입니다. 구매 또는 송금과 같은 중요한 요청의 경우 사용자에게 사용자 이름과 비밀번호를 다시 입력하도록 요구하면 요청의 신뢰성을 보장 할 수 있습니다.