Что такое атака с использованием SQL инъекции?
Возможно, вы не знаете, что такое атака с использованием SQL инъекции (SQLI) или как она работает, но вы точно знаете жертв. Target, Yahoo, Zappos, Equifax, Epic Games, TalkTalk, LinkedIn и Sony Pictures — все эти компании подверглись атакам киберпреступников с использованием SQL инъекций.
SQLI — это тип атаки, при которой киберпреступники эксплуатируют уязвимости ПО в веб-приложениях с целью кражи, удаления или модификации данных, или получения административного контроля над системами, на которых запущены эти приложения.
Исследователи в области кибербезопасности считают SQLI одной из наименее сложных, легко защищаемых киберугроз. Malwarebytes Labs поставили SQLI на третье место в рейтинге " Топ-5 самых глупых киберугроз, которые все равно работают", ссылаясь на то, что SQLI - это известная, предсказуемая атака с легко реализуемыми контрмерами.
Атаки с использованием SQL инъекций настолько просты, что злоумышленники могут находить уязвимые сайты с помощью продвинутых поисков Google, называемых Google Dorking. Найдя подходящую цель, злоумышленники могут использовать автоматизированные программы для выполнения атаки. Все, что им нужно, — это ввести URL сайта-цели и наблюдать, как потекут украденные данные.
Тем не менее атаки SQLI происходят каждый день и везде. Фактически, если у вас есть сайт или онлайн-бизнес, киберпреступники уже могли попытаться взломать его с помощью SQLI. Исследование Ponemon Institute на тему угроз SQL инъекций и недавно взломанных ритейлеров показало, что 65% опрошенных компаний стали жертвами атаки SQLI.
Наиболее часто атакуемые веб-приложения включают: социальные сети, интернет-магазины и университеты. Малый и средний бизнес особенно уязвим, так как часто не знаком с методами, которые киберпреступники используют в атаках SQLI, и, соответственно, не знают, как от них защититься.
В связи с этим, давайте начнем с первого шага по защите от SQL инъекций - обучению этой теме. Вот ваше введение в мир SQL инъекций.
Как работает SQL инъекция?
Разработанный в начале 70-х, SQL (сокр. от structured query language) — один из старейших языков программирования, используемых сегодня для управления онлайн-базами данных. Эти базы содержат такие вещи, как цены и уровни запасов для сайтов онлайн покупок. Когда пользователю нужно получить доступ к информации из базы данных, используется SQL, чтобы предоставить эти данные пользователю. Но эти базы данных могут также содержать более чувствительные и ценные данные, такие как логины, пароли, информация о кредитных картах и номера социального страхования. Это и есть та область, где внедряются SQL инъекции.
Проще говоря, SQL инъекция — это когда злоумышленники вводят вредоносные команды в веб-формы, такие как поле поиска, логина или URL небезопасного сайта, чтобы получить несанкционированный доступ к конфиденциальным и ценным данным.
Вот пример. Представьте, что вы заходите на ваш любимый сайт по продаже одежды онлайн. Вы ищете носки и погружаетесь в мир ярких носков, которые можно купить одним нажатием мыши. Чудеса технологии! Каждый носок, который вы видите, существует в базе данных на каком-то сервере. Когда вы находите носок, который вам нравится и нажимаете на него, вы отправляете запрос в базу данных носков, и сайт магазина отвечает информацией о выбранном вами носке. Теперь представьте, что ваш любимый сайт создан небрежно, с множеством эксплуатируемых уязвимостей SQL.
Киберпреступник может манипулировать запросами в базе данных так что запрос на информацию о паре носков возвращает номер кредитной карты какого-то несчастного клиента. Повторяя этот процесс снова и снова, киберпреступник может исследовать глубины базы данных и украсть чувствительную информацию о каждом клиенте, который когда-либо покупал на вашем любимом сайте, включая вас. Если продолжить мыслительный эксперимент, представьте, что вы — владелец этого сайта. На ваших плечах огромная утечка данных.
В результате одной атаки SQLI киберпреступники могут получить персональные данные, электронную почту, логины, номера кредитных карт и номера социального страхования миллионов пользователей. Затем киберпреступники могут продать эту личную информацию в самых мрачных уголках темной паутины, чтобы использовать ее во всевозможных незаконных целях.
Украденные электронные адреса могут использоваться для фишинговых и массовых спам атак. В свою очередь, атаки с массовым спамом могут использоваться для заражения жертв всеми видами вредоносных программ таких как вымогатели, рекламное ПО, криптоджекинг и Трояны (например, Emotet), чтобы упомянуть только несколько. Украденные номера телефонов для устройств на базе Android и iOS могут становиться целями для автоматизированных звонков и спама сообщениями.
Украденные логины из социальных сетей можно использовать даже для рассылки спама и кражи еще большего количества логинов для дополнительных сайтов. Malwarebytes Labs Ранее сообщалось о том, что взломанные аккаунты LinkedIn использовались для рассылки спама другим пользователям с помощью сообщений InMail, содержащих плохие URL-адреса, подделанные под страницу входа в Google Docs, с помощью которых злоумышленники могли собирать имена пользователей и пароли Google.
Какова история SQL инъекций?
Эксплойт SQL инъекции был впервые задокументирован в 1998 году исследователем в области кибербезопасности и хакером Джеффом Форристао. Его результаты были опубликованы в долгоживущем хакерском журнале Phrack. Пишущий под псевдонимом Rain Forest Puppy, Форристал объяснил, как кто-то, обладающий базовыми навыками кодирования, может присоединять несанкционированные SQL команды к легитимным SQL командам и извлекать конфиденциальную информацию из базы данных небезопасного веб-сайта.
Когда Форристал уведомил Microsoft о том, как уязвимость повлияла на их популярный продукт SQL Server, они не восприняли это как проблему. Как выразился Форристал: «По их [Microsoft] мнению, то, о чем вы сейчас читаете, не является проблемой, так что не беспокойтесь и не поступайте никак, чтобы это пресечь.»
Что делает вялую реакцию Microsoft столь шокирующей, так это то, что многие отрасли и учреждения всерьез полагались (как тогда, так и сейчас) на технологии управления базами данных этой компании для поддержания своего бизнеса, включая розничную торговлю, образование, здравоохранение, банки и отделы человеческих ресурсов. Это приводит нас к следующему событию в истории SQLI — первой серьезной атаке.
В 2007 году крупнейшая сеть магазинов шаговой доступности в США, 7-Eleven, стала жертвой атаки SQLI. Российские хакеры использовали SQL инъекции, чтобы взломать сайт 7-Eleven и использовать это как трамплин, чтобы проникнуть в базу дебетовых карт клиентов магазина. Это позволило хакерам затем снимать деньги у себя дома, в России. Как сообщило издание Wired, в итоге преступники унесли с собой два миллиона долларов.
Не все атаки SQLI преследуют корыстные цели. В другом примечательном примере из 2007 года киберпреступники использовали SQLI для получения административного контроля над двумя сайтами, связанными с армией США, и перенаправления посетителей на сайты с антиамериканской и антиизраильской пропагандой.
Утечка данных MySpace в 2008 году является одной из крупнейших атак на сайт потребителей. Киберпреступники похитили электронные адреса, имена и частичные пароли почти 360 миллионов учетных записей. И вот почему мы не используем одни и те же пароли на нескольких сайтах.
Звание компании с самым вопиющим отсутствием безопасности получает Equifax. Утечка данных в Equifax в 2017 году привела к разглашению крайне личной информации (такие как имена, номера социального страхования, даты рождения и адреса) о 143 миллионах потребителей. Для организации, которая является хранителем информации для каждого американца, за исключением тех, кто живет вне системы, можно было бы ожидать, что они примут меры предосторожности против основных атак SQLI. До того, как произошла утечка данных, исследовательская фирма в области кибербезопасности даже предупредила Equifax, что она уязвима к атаке SQLI, однако кредитное бюро не предприняло никаких действий до тех пор, пока было уже слишком поздно.
В том, что считается самым жутким хаком в истории, атака SQLI на производителя игрушек Vtech в 2015 году привела к взлому данных почти пяти миллионов родителей и 200,000 детей. Разговаривая с Motherboard, онлайн мультимедийным изданием, хакер, ответственный за это, утверждал, что не имел планов использовать данные и не публиковал их в сети. С другой стороны, хакер также заявил, что данные очень легко украсть и кто-то другой мог получить к ним доступ первым. Довольно слабое утешение.
Если перенестись в сегодняшний день, то атака SQLI по-прежнему актуальна. Каждые три года Open Web Application Security Project (OWASP) составляет рейтинг 10 наиболее критичных рисков для веб-приложений Security . В последнем выпуске 2017 года атака SQLI заняла первое место.
Помимо долголетия атак SQLI, интересно заметить, что они никак не изменились и не эволюционировали. Атаки SQLI работают и будут продолжать работать, пока люди не изменят свое отношение к кибербезопасности. Будьте этими изменениями.
Новости о SQL инъекциях
- Что такое медовая точка? Как они используются в кибербезопасности
- Интервью с охотником за жучками: Юссеф Саммуда
- Руководство по уязвимостям нулевого дня на 2020 год: недавние атаки и передовые методы профилактики
- Уязвимости в финансовых мобильных приложениях подвергают риску потребителей и предприятия
- Как защитить систему управления контентом
- Объяснение: SQL-инъекция
- Десятка лучших OWASP - Скучная безопасность, которая окупается
- 5 самых глупых киберугроз, которые все равно работают
Как SQL инъекции влияют на мой бизнес?
Как сообщается в нашем отчете Cybercrime Tactics and Techniques, во второй половине 2018 года число кибератак (всех видов) на предприятия выросло на 55 %, в то время как число атак на индивидуальных потребителей увеличилось всего на 4 %. Эта статистика не удивительна. Предприятия с плохой системой безопасности представляют собой легкую добычу для преступников, хранящую многомиллионные сокровища ценных данных.
И наоборот, компания, оказавшаяся в центре утечки данных, может рассчитывать на миллионные выплаты. Исследование IBM показало, что средняя стоимость утечки данных, включая устранение последствий и штрафы, составляет 3,86 миллиона долларов. Упомянутая ранее утечка данных LinkedIn в итоге обошлась сайту деловых сетей в 1,25 миллиона долларов в рамках внесудебного урегулирования.
После утечки данных компания Target была вынуждена выплатить самую большую сумму в истории - 18,5 миллиона долларов - для урегулирования расследований, возбужденных несколькими штатами. Это было сделано в дополнение к 10 миллионам долларов, которые Target заплатила, чтобы урегулировать коллективный иск, поданный потребителями.
Конечно, речь идет о крупных утечках данных, затрагивающих миллионы потребителей. Однако малые и средние предприятия все равно могут рассчитывать на выплату 148 долларов за каждую украденную запись о потребителе.
Мораль этой истории такова. Серьезно относитесь к своей безопасности и не становитесь "мишенью" для киберпреступников.
Как защититься от SQL инъекций?
Вы здесь, потому что знаете, что SQL-инъекции представляют собой серьезную угрозу. Теперь давайте что-то с этим делать. Вот несколько советов по защите вашего бизнеса от атак с использованием SQL-инъекций.
Обновите программное обеспечение для управления базами данных. Ваше программное обеспечение несовершенно в том виде, в котором оно поставляется производителем. Это факт. Программ без ошибок не бывает. Киберпреступники могут воспользоваться этими уязвимостями, или эксплойтами, с помощью SQLI. Вы можете защитить себя, просто устанавливая исправления и обновляя программное обеспечение для управления базами данных.
Соблюдайте принцип наименьших привилегий (PoLP). PoLP означает, что каждая учетная запись имеет только достаточный доступ для выполнения своей работы и не более того. Например, веб-учетная запись, которой нужен только доступ на чтение к определенной базе данных, не должна иметь возможности писать, редактировать или изменять данные каким-либо образом.
Используйте подготовленные операторы или хранимые процедуры. В отличие от динамического SQL, подготовленные операторы ограничивают переменные во входящих SQL-командах. Таким образом, злоумышленники не могут внедрить вредоносные SQL-инъекции в легитимные SQL-запросы. Хранимые процедуры аналогичным образом ограничивают возможности злоумышленников, сохраняя SQL-запросы в базе данных, которые выполняются пользователем из веб-приложения.
Нанимайте компетентных, опытных разработчиков. Атаки SQLI часто являются результатом небрежного кодирования. Заранее сообщите разработчикам программного обеспечения, что вы ожидаете от них в плане безопасности.
Что делать, если мои личные данные были украдены в результате утечки информации? Вам следует ознакомиться с нашим контрольным списком действий в случае утечки данных. В нем вы узнаете все о том, как привести себя в порядок и оставаться в безопасности после того, как на вас подействовала атака SQLI.
Посетите OWASP. Проект по безопасности веб-приложений OWASP - это ведущий авторитет в области веб-приложений. У них можно найти много полезной информации о предотвращении SQL-инъекций.
А если вам всё равно недостаточно SQL-инъекций в вашей жизни, посетите блог Malwarebytes Labs для получения последних новостей в мире киберугроз и кибербезопасности.