CSRF 공격 및 세션 도용 취약점


12

1.8CE Alpha 릴리스 정보에서 :

Magento 웹 스토어에는 추가 CSRF (Cross Site Request Forgery) 보호 기능이 있습니다. 즉, 사기꾼은 더 이상 새로 등록 된 고객을 가장하거나 고객 대신 조치를 수행 할 수 없습니다.

과:

이전 버전에서는 Magento가 등록 프로세스 중 세션 고정 공격에 취약했습니다. 계정에 로그인 한 후에 등록 된 사용자의 세션 ID는 변경되지 않았습니다. 따라서 공격자가 권한이없는 세션 ID를 알고 있고 해당 사용자가 성공적으로 등록한 경우 새로 등록 된 계정을 인수 할 수있었습니다. 이제 등록 성공 후 세션 ID가 변경되어 계정의 무단 사용이 불가능합니다.

이것이 릴리스 노트에 있고 이전 버전에서이 문제를 해결하는 포인트 릴리스가 표시되지 않는 경우 (잘못된 위치를보고 있습니까?)- 현재 1.8 이전 상점이 이러한 공격에 노출 될 가능성 이 있음을 의미합니까? 벡터 ?

출처 : http://www.magentocommerce.com/knowledge-base/entry/ce-18-later-release-notes


이 취약점에 대한 패치를 얻는 방법에 대한 자세한 내용은 아래 답변을 업데이트했습니다.
davidalger

답변:


9

한마디로 그렇습니다. 패치가 포함 된 보안 릴리스가 발행되지 않았으므로 CE 1.7은 이러한 특정 공격에 여전히 취약합니다.

후자 인 세션 고정 공격의 경우, 변경은 Magento가 현재 보안 모범 사례와 일치하도록 이미 사용했던 보안 관행의 업그레이드입니다. CSRF 수정 사항으로 패치를 발행하는 경우 CE 1.7에 발행 될 가능성이 없습니다.

실제 문제는 이러한 CSRF 취약점이 정확히 무엇입니까? 의심 할 여지없이 릴리스 노트에 구체적인 내용이 포함되어 있지 않기 때문에 모든 이전 릴리스를 더욱 위험에 빠뜨릴 수 있지만 이전 구현을 패치하기 위해 알아두면 좋을 것입니다.

업데이트 # 1 : Magento에 연락하여 위의 취약점에 대한 패치를 언제 발표 할 것인지 알아 냈을 때 다음과 같은 응답을 받았습니다.

좀 더 연구 해 볼 시간을주세요. 이 두 항목에 대한 패치가 시스템에 버그가 아닌 제품 개선 사항으로 나열되어 있는지 확실하지 않습니다. 더 많은 정보를 얻으면 업데이트하겠습니다.

패치를받을 때 여기에 자세한 내용을 다시 게시 할 예정이며 현재 존재하는 패치가없는 것 같아 패치를 발급 받기 위해 최선을 다할 것입니다.

업데이트 # 2 : 지원 팀과의 대화 후 Magento EE 1.12.0.2에 대한 적절한 패치를 얻을 수있었습니다. Magento CE 1.7.0.2에 대한 패치는 발행되지 않았으며 내부적으로 조사한 기술자가 아는 한 향후 CE 1.8에서만 문제를 해결하는 대신 CE 1.7.x에 대한 공식 패치를 발표 할 계획이 없습니다. 안정된 방출.

EE 특정 패치 파일에 관해서는 필자가 Magento와 개인적으로 그리고 내가 일하는 회사 사이에서 NDA를 위반 한 것이기 때문에 직접 여기 (또는 패치 응용 프로그램 도구)를 게시 할 수 없습니다. 관련 패치의 이름은 "PATCH_SUPEE-1513_EE_1.12.0.2_v1.sh"— Enterprise Edition 또는이를 사용하는 클라이언트가있는 경우 Magento 지원 팀에이 패치를 요청할 수 있습니다. 수정해야하는 CSRF 취약성

CE 1.7.0.2 사용자의 경우 Magento CE 1.7.0.2 코어 코드 파일을 변경하는 코드 덩어리 만 포함하는 패치 파일 (Magento에서 제공 한 패치를 기반으로)을 자유롭게 생성 할 수 있습니다. 일반적인 방식으로, 관련없는 코드 변경과 함께 관련없는 추가 주석 및 조정 된 형식이 포함됩니다. 이를 작성하려면 제공된 패치 적용 도구를 사용하여 적용하기 위해 원래 패치를 수동으로 변경 한 다음 git을 사용하여 적용된 변경 사항에 따라 패치를 생성해야합니다.

내가 만든 패치 파일은이 요지에서 다운로드 할 수 있습니다 : https://gist.github.com/davidalger/5938568

패치를 적용하려면 먼저 Magento 설치 루트로 cd하고 다음 명령을 실행하십시오. patch -p1 -i ./Magento_CE_1.7.0.2_v1-CSRF_Patch.diff

EE 특정 패치에는 Enterprise 특정 컨트롤러에 대한 양식 키 유효성 검사, 패치 된 컨트롤러 작업에 사용되는 양식에 양식 키를 포함하도록 Enterprise / default 및 enterprise / iphone 템플릿 파일에 대한 변경 사항 및 올바르게 처리하기위한 추가 전체 페이지 캐시 기능이 포함되었습니다. 캐시 된 페이지에서 양식 키를 앞뒤로 전달

면책 조항 : Magento가 제공 한 EE 패치 나 링크 된 요지에 업로드 한 패치를 테스트하지 않았습니다. 참조 된 요지에 제공된 패치에는 무보증이 제공되며 CE 1.8 릴리스 정보에 언급 된 취약점을 완전히 해결하거나 해결하지 못할 수 있습니다. 테스트되지 않은 패치로서 전체 또는 일부 기능을 보장하지는 않습니다. 즉, 자신의 책임하에 사용하고 프로덕션 환경에 배포하기 전에 테스트하기 위해주의를 기울입니다. 패치 관련 문제를 발견하면 알려 주시면 업데이트하겠습니다.


1
모호성을 통한 보안은 좋은 생각이 아닙니다. 모든 사람이 자신의 설치를 패치 할 수 있도록 공개해야합니다. 또한 두 버전 사이의 차이점만으로도 공격이 작동하는 방식과 이전 설치를 패치하는 방법에 대해 상당한 인상을 줄 수 있습니다. 따라서 정보는 어쨌든 있습니다.
Darokthar

1
동의, 모호함은 전혀 좋은 보안이 아니며, 나는 분명히 그것을 나타내려고 하지 않았습니다 . 그러나 책임있는 공개는 고려해야 할 사항입니다. 우리가 아는 바에 따르면, 취약점은 EE 1.13 및 CE 1.8a1의 공개 릴리스 몇 주 전에 마 젠토에 제출되었을 수 있습니다. FWIW, 나는 Magento의 일부 사람들에게 EE 1.12 패치가 아직 있는지 그리고 1.7 설치 계획이 있는지 알아볼 것입니다. 특히 CSRF 취약점의 경우.
davidalger

패치가 릴리스되면 업데이트를 주시하고 그에 따라 질문 / 답변을 편집하십시오. 감사.
philwinkle

방금 Magento에서받은 예비 회신으로 업데이트를 게시했습니다. 현재 패치가없는 것 같습니다. 그래서 내가 할 수있는 일을 볼 것입니다. 나는 확실히 당신이 게시 ... 여기 그리고 아마도 내 트위터에 게시 유지합니다.
davidalger

2

문제를 재현 할 수 없었기 때문에 100 % 확신 할 수 없지만

즉, 사기꾼 은 더 이상 새로 등록 된 고객을 가장 할 수 없습니다.

'지금까지'포도 자 '가 새로 등록 된 고객을 가장 할 수 있음을 의미합니다.
나는 그것이 단지 '의미 론적 (semantics)'이기를 바란다. 그러나 그것이 그것이 의미하는 것을 두려워하는 것을 의미한다고 생각한다.


지금까지 1.8로 고정되었다는 의미입니까? 아니면 무슨 뜻입니까?
Fabian Blechschmidt

그래 ... 그게 내 뜻이야
Marius
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.