14 Мая, 2013

Стоимость одной неприкрытой SQL-инъекции #2

Dmitriy Evteev
В далеком 2010 году Heartland Payment Systems понесла ущерб в размере $229 миллионов. Ущерб был нанесен путем использования атакующим популярной уязвимости " Внедрение операторов SQL ". [ 1 ]

"Внедрение операторов SQL" – способ нападения на базу данных в обход межсетевой защиты. В этом методе, параметры, передаваемые к базе данных через веб-приложения, изменяются таким образом, чтобы повлиять на выполняемый в приложении SQL запрос. Инъекция осуществляется через все доступные способы взаимодействия с приложением.
Нападение может использоваться для следующих целей:
1. Получить доступ к данным, которые обычно недоступны, или получить данные конфигурации системы, которые могут использоваться для развития сценария атаки. Например, измененный SQL-запрос может возвратить данные держателей пластиковых карт в системе ДБО.
2. Получить доступ к другим системам, через компьютер, на котором находится база данных. Это можно реализовать, используя процедуры базы данных и расширения 3GL языка, которые позволяют взаимодействовать с операционной или файловой системой.


Несмотря на то, что технологии разработки веб-приложений непрерывно развиваются, а вместе с ними развиваются и новые техники проведения атак, популярность использования SQL-инъекций не спадает и они по-прежнему встречаются в приложениях, которые обрабатывают данные держателей карт. Подтверждением этому является инцидент конца 2012 - начала 2013 года, информация о котором стала известна только сейчас. Так, злоумышленникам удалось вывести порядка $45 миллионов. При этом, на первом этапе мероприятий по хищению денежных средств использовалась атака через SQL-инъекцию.

Говоря об аналогичных проблемах безопасности на российском рынке, основываясь на статистике уязвимостей систем ДБО в 2011-2012 году (будет опубликована через пару недель), можно говорить о том, что в случае "Если бы обнаруженные в ходе работ уязвимости не были устранены банками и если бы все выявленные угрозы, приводящие к проведению транзакций со стороны внешнего злоумышленника, были сегодня в полной мере реализованы (полный вывод средств всех пользователей), то средний банк-владелец уязвимой системы ДБО потерял бы только за счет возмещения денежных средств клиентам порядка 20,4 миллиардов рублей для физических лици порядка 53,1 миллиарда рублей для юридических лиц."

Стоит отметить, что при эксплуатации уязвимости "Внедрение операторов SQL" в ДБО, возможен сценарий проведения атаки, который останется незамеченным для антифрод-систем в связи с тем, что с точки зрения подобных систем изменения в содержимом базы данных осуществляются приложением системы ДБО штатным образом.

Как часто можно встретить столь серьезную уязвимость в ДБО? Редко. Но, как показывает практика обнаруженная SQL-инъекция в популярной системе ДБО замечательным образом масштабируется для реализации атаки на аналогичные системы других банков.
или введите имя

CAPTCHA