-
CSRF(사이트 간 요청 위조) 공격은 일반적으로 웹 애플리케이션을 대상으로 합니다. CSRF 공격에는 사용자 정보의 무단 변경 또는 웹 애플리케이션에서 사용자의 민감한 데이터 추출이 포함될 수 있습니다.
CSRF 익스플로잇은 소셜 엔지니어링을 활용하여 사용자에게 링크를 열도록 설득, 영향을 받는 웹 애플리케이션이 처리할 경우 임의의 코드 실행이 발생할 수 있습니다. CSRF 익스플로잇 코드는 웹 위치(예: 저장된 CSRF)에 1픽셀 프레임/이미지로 저장되거나 CSRF 익스플로잇의 구성 요소가 될 수 있습니다. 처리되면 CSRF 링크를 통해 공격자가 사용자의 권한으로 영향받는 웹 애플리케이션을 통해 임의의 요청을 제출할 수 있습니다. CSRF 공격의 기원은 역추적 방법을 사용하여 식별하기가 어렵습니다. 서버가 요청을 사용자의 합법적인 요청으로 처리하기 때문에 소셜 엔지니어링 방법은 공격자의 신원을 숨길 수 있습니다.
예
CSRF 공격의 예는 다양하지만 가장 일반적인 방법은 은행 계좌 이체입니다. 예를 들어, X 회사의 인사부에서 회사 직원의 급여 정보를 업데이트하는 웹 포털을 활용하고 있다고 가정합니다. 해당 프로세스를 실행하려면 인사부에서 웹 애플리케이션에 대한 인증을 수행하고 포털의 급여 인상 영역으로 이동한 다음 직원 이름과 인상 금액이 포함된 양식을 작성해야 합니다. 위의 단계가 완료되면 사용자는 제출 버튼을 눌러 양식을 처리하고 변경을 완료해야 합니다. 제출된 양식이 John Doe라는 직원이 100달러(US$100)의 인상을 받은 경우, 다음과 같은 HTTP POST 요청이 생성됩니다.
POST http://hr.companyX-internal.com/raisesalary.do HTTP/1.1 ... ... ... usr=JohnDoe&amount=100
응용 프로그램에 따라 브라우저에 이미 유효한 인증 세션(브라우저 쿠키)이 있는 경우가 있을 수 있습니다. Human Resources 웹 애플리케이션에 유효한 인증 세션이 있는 경우, 다음 HTTP GET 요청과 함께 동일한 작업(예: 급여 인상)이 실행됩니다.
GET http://hr.companyX-internal.com/raisesalary.do?usr=JohnDoe&amount=100 HTTP/1.1
상기 요청은 링크를 방문하고 HTTP GET 요청을 실행함으로써 이루어질 수 있다. 브라우저에서 양식을 제출할 필요가 없습니다.
위의 예에서 설명한 인적 자원 웹 애플리케이션은 CSRF 공격에 취약합니다. 사용자(예: John Doe)는 애플리케이션에 액세스하지 않고도 급여를 미화 500달러(미화)까지 인상하려고 할 수 있지만, 인사 부서의 직원에게 링크를 열거나 악의적인 링크(예: http://hr.companyX-internal.com/raisesalary.do?usr=JohnDoe&amount=500)로 리디렉션되는 HTTP iframe을 로드하도록 설득할 수 있습니다. HR 애플리케이션에 의해 직원이 인증된 경우(예: 오전), 유일한 요구 사항은 HR 직원이 링크를 방문하도록 설득하는 것입니다.
-
CSRF(사이트 간 요청 위조) 공격은 일반적으로 웹 애플리케이션을 대상으로 합니다. 공격자는 사용자가 작성된 웹 애플리케이션 요청을 실행하도록 설득하여 웹 애플리케이션에서 민감한 정보에 액세스하고 사용자 데이터를 무단 변경하려고 시도합니다.
-
사용자 교육 및 보안 인식 교육
CSRF 공격의 위험을 줄이려면 안전한 검색 기술을 사용하는 것이 좋습니다. 공격자는 CSRF 익스플로잇을 유발하는 임베디드 스크립팅 또는 악성 링크를 통해 웹 기반 이메일을 CSRF 벡터로 사용합니다. 기본 전략은 다음과 같이 구성되어야 합니다.
- 사용자는 의심스럽거나 알 수 없는 출처에서 온 전자 메일 메시지를 열지 않는 것이 좋습니다. 사용자가 전자 메일 메시지에 포함된 링크가 안전한지 확인할 수 없는 경우 해당 링크를 열지 않는 것이 좋습니다.
- 링크를 클릭/선택하기 전에 링크 위에 마우스를 올려 링크가 어디로 향하는지 확인하는 것이 좋습니다.
- 의심스러운 문자의 사용에 대한 링크를 확인하십시오.
- 두 개의 다른 브라우저를 유지 관리하는 것이 좋습니다. 하나는 신뢰할 수있는 사이트 브라우저로 다른 하나는 캐주얼 웹 서핑을 위한. 이메일 또는 소셜 네트워킹 웹 사이트에서 링크를 선택한 경우, CSRF 기반 공격에 유효한 쿠키가 존재하지 않도록 하기 위해 일반 웹 서핑에 사용되는 브라우저를 사용해야 합니다.
- 사용자는 인증을 위해 로그인이 필요한 링크에 주의해야 합니다. (예: 위의 예에서 설명한 은행 또는 인적 자원 웹 사이트)
- 지나치게 긴 링크를 의심하십시오.
- 알려진 위치 및 신뢰할 수 있는 위치의 웹 사이트에만 액세스합니다. 사용자가 우려하는 사항이 있는 경우, 해당 웹 마스터와 웹 사이트를 호스팅하는 회사에 즉시 문의하십시오.
- 원치 않는 이메일 메시지를 삭제하거나 일반 텍스트 형식으로 읽어서 악성 코드가 실행되지 않도록 합니다.
안전한 웹 애플리케이션 개발 사례
웹 애플리케이션을 설계할 때 안전한 설계 및 개발 사례를 활용함으로써 CSRF 공격에 취약한 애플리케이션을 생성할 위험을 줄입니다. 몇 가지 안전한 설계 및 개발 사례는 다음과 같습니다.
- 각 사용자 세션 또는 요청에 대해 예측할 수 없는 챌린지 토큰을 추가합니다. 이 방법을 사용하면 사용자가 CSRF 링크가 아니라 소스인지 각 요청이 확인됩니다.
- 가능한 경우 HTTP 참조자 헤더를 확인하여 사이트 자체 또는 교차 사이트 요청에서 요청이 발행되었는지 확인합니다.
- 사용자 지정 HTTP 헤더를 사용합니다. 예를 들어, Google Web Toolkit에서는 CSRF 공격을 차단할 수 있는 XMLHttpRequests에 X-CSRF-Cookie 헤더를 첨부할 것을 권장합니다.
Cisco 장치
CSRF 공격의 특성상 특정 URL의 의도(예: 위 예에서 설명한 급여 인상)를 식별하기 어렵습니다. 그 결과, 사용자와 서버 사이에서 악성 요청의 식별이 항상 가능한 것은 아니다. CSRF 공격을 완화하기 위한 최선의 방법은 안전한 웹 애플리케이션 개발 관행 및 사용자 교육입니다. Cisco 보안 제품(예: Cisco Ironport Web Security Appliances, Cisco ACE Web Application Firewall)은 주로 악의적인 요청을 트리거하는 객체에 대해 일정 수준의 보호를 제공할 수 있습니다. 또한 HTTP 쿠키 및 HTTP 참조자 헤더를 검증하는 교차 사이트 스크립팅에 대한 일반적인 보호가 CSRF 공격에 대한 완화 역할을 할 수 있습니다.
-
조직은 이 취약성의 잠재적인 영향을 판단하기 위해 표준 위험 평가 및 완화 프로세스를 따르는 것이 좋습니다. 분류(Triage)란 성공 가능성이 가장 높은 프로젝트를 분류하고 노력을 우선 순위를 정하는 것을 말한다. Cisco는 조직이 정보 보안 팀을 위해 위험 기반 분류 기능을 개발하는 데 도움이 될 문서를 제공했습니다. 보안 취약성 알림에 대한 위험 분류 및 위험 분류 및 프로토타이핑은 조직이 반복 가능한 보안 평가 및 대응 프로세스를 개발하는 데 도움이 될 수 있습니다.
-
주의: 완화 기법의 효과는 제품 혼합, 네트워크 토폴로지, 트래픽 동작, 조직 임무 등과 같은 특정 고객 상황에 따라 달라집니다. 모든 컨피그레이션 변경과 마찬가지로, 변경 사항을 적용하기 전에 이 컨피그레이션의 영향을 평가합니다.
CSRF는 합법적인 웹 요청과 쉽게 구별되지 않지만 CSRF 공격을 어느 정도 차단할 수 있는 Cisco 제품이 있습니다.
Cisco IronPort Web Reputation Filters 시스템에는 봇사이트 보호, XSS(Cross-Site Scripting), CSRF(Cross-Site Request Forgery), SQL 삽입 또는 보이지 않는 iFrame을 통해 전달되는 익스플로잇으로부터 사용자를 보호하는 URL 보안 침해 탐지 및 익스플로잇 필터링이 포함됩니다. 평판 기술의 이점은 시스템의 패턴 기반 평가 기술과 각 객체 검사 기능에서 파생됩니다. 자세한 내용은 Cisco IronPort Web Reputation Technology 웹 사이트를 참조하십시오.
ACE 웹 애플리케이션 방화벽 정책은 HTTP 헤더의 cookie and referrer 필드를 검증하여 사이트 간 스크립팅 및 요청 위조 공격으로부터 시스템을 보호하는 데 사용할 수 있습니다. 자세한 내용은 Cisco ACE 웹 애플리케이션 방화벽 시작 가이드를 참조하십시오.
Cisco IPS(Intrusion Prevention System)는 CSRF 공격을 막아줍니다. 다음 목록에서는 최근 CSRF(2013년 3월) 위협에 대해 사용할 수 있는 IPS 서명(Cisco IPS Signature Update 버전 S704)에 대한 정보를 제공합니다.
- 1398/0 - Microsoft Outlook Web Access 사이트 간 요청 위조 취약성
- 1881/0 - D-Link DSL-2640B Redpass.Cgi 교차 사이트 요청 위조 취약성
- 1930/0 - WordPress 교차 사이트 요청 위조 취약성
-
버전 설명 섹션 날짜 2 IntelliShield에서 Cisco 보안 포털의 관련 블로그 항목에 연결을 추가하기 위해 이 적용된 완화 게시판을 업데이트했습니다. 2013년 4월 9일 15:15(GMT) 1 Cisco Applied Mitigation Bulletin 초기 공개 릴리스입니다. 2013년 4월 4일 16:03(GMT)
-
Cisco 제품의 보안 취약성 보고, 보안 사고에 대한 지원 요청, Cisco의 보안 정보 수신을 위한 등록 등에 대한 자세한 내용은 Cisco의 전 세계 웹 사이트(https://sec.cloudapps.cisco.com/security/center/resources/security_vulnerability_policy.html)에서 확인할 수 있습니다. 여기에는 Cisco 보안 알림과 관련된 언론 문의에 대한 지침이 포함됩니다. 모든 Cisco 보안 권고 사항은 http://www.cisco.com/go/psirt에서 확인할 수 있습니다.
-
보안 취약성은 다음과 같은 제품 조합에 적용됩니다.
기본 제품 Cisco Cisco WSA(Web Security Appliance) 7.1(.0, .1, .2, .3, .4) | 7.5(.0-000, .1-000) | 7.7(.0-000) Cisco ESA(Email Security Appliance) 7.1(.0, .1, .2, .3, .4, .5) | 7.3(.0, .1, .2) | 7.5(.0, .1, .2) | 7.6(.0, .1-000, .2) Cisco Content SMA(Security Management Appliance) 7.2(.0, .1, .2) | 7.7(.0, .1) | 7.9 (.0, .1)
관련 제품
-
이 문서는 "있는 그대로" 제공되며, 상품성 또는 특정 사용에 대한 적합성의 보증을 포함하여 어떤 종류의 보장 또는 보증도 의미하지 않습니다. 문서 또는 문서에 링크된 자료의 정보를 사용하는 것은 귀하의 책임입니다. CISCO는 언제든지 알림을 변경하거나 업데이트할 수 있는 권리를 보유합니다.
배포 URL을 생략하는 이 문서의 텍스트를 독립 실행형으로 복사하거나 패러프레이즈는 관리되지 않는 복사본이며 중요한 정보가 없거나 사실 오류가 있을 수 있습니다. 이 문서의 정보는 Cisco 제품의 최종 사용자를 대상으로 합니다