Израильский специалист Омер Гил (Omer Gil), сотрудник EY Hacktics Advanced Security Center, разработал технику атак на серверы кеширования, которую назвал web cache deception (что можно перевести как «обман веб-кеша»).
Исследователь заметил, что в ситуации, когда пользователь обращается к сайту и запрашивает некий несуществующий контент, например, файл CSS или JavaScript, которого нет на сервере, это приводит к некорректному кешированию страницы. Так, в кеш могут попасть персональные данные.
Гил пишет, что проблеме подвержены ресурсы многих крупных компаний. Проверив около тридцати сайтов, исследователь обнаружил, что три из них уязвимы. Например, от проблем с кешем страдала компания PayPal, но разработчики уже провели «работу над ошибками» и выплатили Гилу $3000 вознаграждения.
По словам исследователя, еще две крупные компании тоже исправили проблему в своих системах, однако они попросили опустить их имена в отчете. «Я сосредоточил свое исследование вокруг приложений, у которых есть bug bounty программы. Я нашел три. Но уверен, что [уязвимых компаний] куда больше, просто у них нет программ вознаграждений, и я их не проверял», — объясняет специалист.
Так как PayPal уже устранила проблему и не возражала против раскрытия данных о проблеме, Гил объясняет принцип работы атаки на примере PayPal. Если пользователь обращается к PayPal и запрашивает несуществующий на сервере файл, к примеру, https://www.paypal.com/myaccount/home/attack.css, то кеш будет создан для https://www.paypal.com/myaccount/home/. В данном случае кешированная страница также будет включать в себя информацию о пользователе: баланс его аккаунта, даты транзакций, email-адрес, последние четыре цифры банковской карты и так далее.
По сути, для эксплуатации web cache deception атакующему понадобится только убедить жертву открыть ссылку, ведущую к несуществующему контенту. Сервер создаст кеш с персональными данными жертвы, а затем злоумышленник и сам запросит вредоносный URL, получив не только страницу из кеша, но и персональные данные своей жертвы. Омир Гил записал три видеоролика с наглядной демонстрацией атак на PayPal.
При этом исследователь отмечает, что для атак можно использовать не только файлы JS или CSS. Гил обнаружил, что для обмана кеша подходят более 40 расширений файлов: aif, aiff, au, avi, bin, bmp, cab, carb, cct, cdf, class, css, doc, dcr, dtd, gcf, gff, gif, grv, hdml, hqx, ico, ini, jpeg, jpg, js, mov, mp3, nc, pct, ppc, pws, swa, swf, txt, vbs, w32, wav, wbmp, wml, wmlc, wmls, wmlsc, xsd, zip.
«В случае двух других компаний я сумел полностью перехватить контроль над аккаунтом пользователя, так как кеш содержал секретный вопрос или ID сессии, — рассказал специалист журналистам издания Bleeping Computer. — Важно, что речь идет не об уязвимости в каком-то специфическом кеш-компоненте, технологии или веб-сервере. Это лишь вектор атак. Он может работать на .NET, PHP, Java. Он может работать на IIS, Apache и других веб-серверах. Также он может работать с различными кеш-компонентами, включая CDN, обратными прокси и балансировщиками нагрузки».