Уразливість викрадення атаки та сеансу CSRF


12

З приміток до випуску Alpha Alpha 1.8CE:

У веб-магазині Magento є додаткові захисти від підробки веб-сайтів (CSRF), що означає, що самозванець більше не може представляти себе зареєстрованим клієнтом та виконувати дії від імені замовника.

і:

У попередніх версіях Magento був підданий атаці фіксації сеансу під час реєстрації. Після входу у свій обліковий запис ідентифікаційний номер сесії зареєстрованого користувача не змінився. Тому, якщо зловмисник знав про несанкціонований ідентифікатор сеансу і якщо цей користувач успішно зареєструвався, зловмисник зміг прийняти щойно зареєстрований обліковий запис. Тепер ідентифікатор сеансу змінюється після успішної реєстрації, унеможливлюючи несанкціоноване використання облікового запису.

Якщо це в примітках до випуску, і я не бачу точкового випуску попередніх версій, що вирішують це питання (чи я шукаю в неправильному місці?) - то це означає, що поточні магазини до 1,8 потенційно відкриті для цієї атаки вектори ?

Джерело: http://www.magentocommerce.com/knowledge-base/entry/ce-18-later-release-notes


Щойно я оновив свою відповідь нижче з деталями щодо отримання виправлення для цих вразливих місць.
davidalger

Відповіді:


9

Словом, так. CE 1.7 все ще вразливий до тих конкретних атак, оскільки не було видано реліз безпеки, який містить виправлення.

У випадку останньої, атаки на фіксацію сеансу, зміна - це оновлення практик безпеки, які Magento вже використовував, щоб відповідати поточним передовим практикам безпеки. Неможливо щось буде видано на CE 1.7, якщо вони видадуть виправлення з виправленнями CSRF.

Справжнє питання полягає в тому, що саме були ці виправлення вразливості у КСРР? Безсумнівно, добре, що вони не включили специфіку у нотатки до випуску, тим самим ще більше ставлячи під загрозу всі попередні випуски, але було б непогано знати, заради латки старих реалізацій.

ОНОВЛЕННЯ №1: Звернувшись до Magento, щоб дізнатися, коли вони видаватимуть виправлення для вищевказаних уразливостей, я отримав таку відповідь:

Дозвольте мені трохи часу вивчити це далі. Я не впевнений, чи є патчі для цих двох елементів, оскільки вони вказані в нашій системі як удосконалення продукту, а не як помилки. Я оновлю вас, коли отримаю більше інформації.

Я опублікую подальші деталі тут, коли я їх отримаю, і буду робити все можливе, щоб отримати виправлення, оскільки, здається, на даний момент не існує жодних патчів.

ОНОВЛЕННЯ №2: Після перемоги разом із командою підтримки я зміг отримати належний патч для Magento EE 1.12.0.2. Жоден патч для Magento CE 1.7.0.2 не був виданий, і наскільки технік, який розглядав його всередині мене, не планує випускати офіційний патч для CE 1.7.x, а не вирішувати питання лише в майбутньому CE 1.8 стабільний випуск.

Що стосується специфічного файлу патчу EE, я не можу розміщувати його тут (або інструмент додатка для патчів) тут безпосередньо, оскільки це, безсумнівно, було б порушенням NDA між Magento та особисто мене та компанією, в якій я працюю. Назва відповідного патча: "PATCH_SUPEE-1513_EE_1.12.0.2_v1.sh" - Якщо у вас є Enterprise Edition або клієнт, який використовує його, ви повинні мати можливість запитувати цей патч у команди підтримки Magento разом із приміткою про вразливості CSRF, які слід виправити.

Для користувачів CE 1.7.0.2 я взяв свободу генерувати патч-файл (заснований на патчі, наданому Magento), який включає лише фрагменти коду, які змінюють основні файли коду Magento CE 1.7.0.2. Зазвичай це включає нерелевантні біти доданих коментарів та скориговане форматування разом із відповідними змінами коду. Для створення цього потрібно змінити оригінальний патч вручну, щоб застосувати його за допомогою наданого інструменту накладення патча, а потім використовувати git для створення патча на основі застосованих змін.

Файл патча, який я створив, можна завантажити з цього суті: https://gist.github.com/davidalger/5938568

Щоб застосувати виправлення, спочатку CD в корінь установки Magento та запустіть таку команду: patch -p1 -i ./Magento_CE_1.7.0.2_v1-CSRF_Patch.diff

Спеціальний патч EE включав перевірки перевірки ключів форми на конкретні контролери Enterprise, зміни в файли шаблонів підприємства / за замовчуванням та підприємства / iphone для включення ключів форми у форми, які використовуються для дій виправленого контролера, та додаткову функцію кешу на повній сторінці, щоб правильно обліковувати клавіші форми передачі вперед і назад на кешованих сторінках.

ВІДПОВІДАЛЬНІСТЬ: Я не перевіряв ні патч EE, наданий Magento, ні патч, який я завантажив у пов'язану суть. Патч, наданий у посиланні, містить НЕ ГАРАНТІЙНО і може або не може повністю усунути вразливості, на які посилається у примітках до випуску CE 1.8. Як неперевірений патч, також немає гарантії того, що він функціонує повністю або частково. Тобто використовуйте на свій страх і ризик, і ретельно перевіряйте їх перед тим, як розміщуватись у виробничому середовищі. Якщо ви знайдете проблеми з патчем, дайте мені знати, і я оновлю його.


1
Безпека через незрозумілість - не дуже гарна ідея. Вони повинні оприлюднити його, щоб кожен міг зафіксувати його встановлення. Крім того, простий відмінність між двома версіями повинен створити хороше враження про те, як працює атака та як виправити старі установки. Тому інформація все одно виходить.
Дароктхар

1
Погоджено, незрозумілість взагалі не є доброю безпекою, і я, безумовно, не намагався цього зазначити. Однак відповідальне розголошення - це те, що потрібно враховувати. Наскільки нам відомо, вразливості могли бути представлені Magento тижнями до публічного випуску EE 1.13 та CE 1.8a1. FWIW, я зв’яжусь з деякими людьми в Magento, щоб дізнатись, чи є у них ще патчі для EE 1.12 та які плани щодо 1.7 установок; спеціально для вразливостей CSRF.
davidalger

Давайте слідкуємо за оновленням і відповідно відредагуємо питання / відповідь, якщо випущено патч. Дякую.
philwinkle

Я щойно опублікував оновлення з попередньою відповіддю, яку я отримав від Magento. Здається, на сьогодні немає жодних патчів, тому я збираюся подивитися, що я можу з цим зробити. Я обов'язково триматиму вас у курсі… Тут, можливо, і на своєму щебетанні.
davidalger

2

Я не впевнений на 100%, бо не зміг відтворити проблему, але

що означає, що самозванець більше не може представляти себе зареєстрованим клієнтом

означає, що до цих пір «самозванець» міг представляти себе зареєстрованим клієнтом.
Я сподіваюся, що це просто "семантика", але я думаю, що це означає те, чого ти боїшся.


до цих пір, означає, що зафіксовано в 1.8 - або що ви маєте на увазі?
Фабіан Блешшмідт

так ... це я маю на увазі.
Маріус
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.