Что случилось? То, что произошло, - это то же самое, что происходит со многими хорошими идеями в области безопасности: оно ни к чему не привело по причинам, не зависящим от изобретателя. Это классная идея, но она требует принятия фреймворками и разработчиками приложений. И, что бы там ни было, спрос на такие решения безопасности не так высок. Для большинства разработчиков безопасность является второстепенным фактором. Многие разработчики приложений не думают, что у них есть проблема, и не видят необходимости в решении (большинство из них, вероятно, обманывают себя, но так и происходит). И многие из разработчиков, которые * знают о XSS, считают, что могут избежать этого, просто проявив осторожность (это сомнительное предложение, поскольку слишком легко совершить одну непреднамеренную ошибку, которая ставит под угрозу безопасность всей вашей системы). сайт, но эй, если они не чувствуют в этом необходимости, они не примут это).
Пожалуйста, поймите, что Interpolique - это не только внедрение SQL. Вы описываете это как внедрение SQL, но это не основной вклад. Его основной вклад - защита от XSS и других инъекционных атак. В выступлении Каминского обсуждается, как использовать Interpolique для предотвращения SQL-инъекций, но я подозреваю, что это в первую очередь педагогическое устройство. Interpolique - это общая защита от инъекционных атак, примерами которых являются SQL-инъекция и XSS. Внедрение SQL легче понять и проще понять, чем XSS, поэтому, вероятно, было проще объяснить идеи, лежащие в основе Interpolique в контексте внедрения SQL, чем XSS. Любой исследователь безопасности должен немедленно увидеть, как они применимы к контексту XSS, что является более важной и сложной проблемой. Как уже говорили другие, подготовленные операторы являются «достаточно хорошим» решением для внедрения SQL для практических целей (действительно, есть некоторые случаи, которые не обрабатываются подготовленными операторами, но они, вероятно, могут быть обработаны путем экранирования / проверки плюс тщательный аудит кода), так что это не то, где Interpolique является наиболее полезным.
Технология безопасности в этом пространстве, которая получила наибольшее распространение, - это контекстно-зависимое автоматическое экранирование , такое как , которое реализовано в ctemplate Google . Это требует поддержки фреймворка, но, возможно, даже лучше для разработчиков, чем Interpolique, потому что в большинстве ситуаций это не требует от разработчиков дополнительных усилий: для них экранирование выполняется автоматически. Кроме того, это также лучше для безопасности: экранирование выполняется по умолчанию, поэтому настройки по умолчанию безопасны, и разработчики должны предпринять какой-то явный шаг для отключения мер безопасности.
На этот вопрос могли быть получены более информированные ответы об обмене стеками IT Security.
(Я не могу поверить, что один человек на самом деле написал: «Не знаю, кто такой парень Дэн Камински, но он понятия не имеет.« Надеюсь, это была шутка! Каминский - один из самых выдающихся и уважаемых исследователей / практиков в области компьютерной безопасности.) В Interpolique и аналогичных технологиях, обсуждаемых в области безопасности ИТ, можно найти следующие вопросы: Элементы DOM из белого списка для победы над XSS , Экранирующие константы JavaScript .