Помните все эти сюжеты фильмов про зомби-апокалипсисы? В засекреченной правительственной лаборатории кто-то разбивает колбу с экспериментальной парящей зелёной жижей, и пошло-поехало. Ранние вирусы создавались, в общем-то, не для того, чтобы заражать компьютеры простых граждан и грабить корпорации. Скажем, вирус Brain, созданный в 1986 году братьями-пакистанцами Базидом и Амжадом Фарук Альви, был написан ими как средство борьбы с пиратскими копиями их медицинского софта, а в итоге стал источником киберэпидемии. В 90-е романтизированные поп-культурой хакеры уже вовсю расправили свои плечи.
Если бы все разработчики писали изначально чистый, протестированный и на сто раз проверенный код, то на Земле воцарился бы мир, а никаких вирусов не было бы. Но увы, даже сами языки разработки, библиотеки, фреймворки, CMS и другие продукты для разработки сайтов и приложений пишутся с ошибками, открывающими к вашему сайту дорогу шпионам, ворам и саботажникам.
Бреши возникают во время проектирования, реализации и конфигурации кода — то есть, всегда. Ошибки проектирования проявляют себя незаметно, потому что возникают на уровне алгоритмов и взаимосвязей разных частей интерфейса. Среди таких, например, маленькая ширина пропускного канала, которая может привести к обрушению серверов при мощном и неучтённом наплыве пользователей. Причиной возникновения уязвимостей на стадии реализации являются ошибки в коде, позже способные вылиться в переписывание всего приложения заново. Тот же плохо написанный и плохо протестированный код ведёт к ошибкам на стадии конфигурации аппаратной и программных частей; взлом слишком простого пароля также относится к ним.
Поговорим о самых распространённых типах атак.
Фишинг
Фишинг лидирует среди других способов получить доступ к данным незаконным путём. Мошенники создают внешне нормальный сайт или даже копию популярного сайта и под благовидным предлогом собирают номера ваших банковских карт, пароли от почты или других сервисов, информацию о счетах и др. Втереться в доверие жертвы можно и через имейл от руководителя или международной организации по борьбе против всего плохого. Так, на заре коронавируса люди проходили опросы, «проводившиеся» Центром по контролю и профилактике заболеваний, и оставляли логин и пароль от имейла.
Фишинг меняет маски, и только его результат остаётся прежним: он делает вас беднее. Чтобы этого избежать, внимательно смотрите на адрес сайта: это точно Netflix, а не какой-нибудь Nutflex? Также вас могут спровоцировать специальным предложением, до конца которого осталось 5 минут, поэтому нужно успеть оставить номер карты и свой CVV-код. Здесь вас спасёт только бдительность.
DDoS (Distributed Denial of Service)
DDoS-атака простыми словами — это попытка обрушить сервер лавиной трафика. Для этого хакер объединяет заражённые вирусом компьютеры или IoT-устройства в ботнет-сеть и симулирует такой объём запросов к серверу, который тот не в силах обработать. Никакой вредоносный код на сервер при этом не внедряется — пользователи просто не могут зайти на сайт, потому что сервер разгребает очередь фэйковых запросов.
Защита от DDoS-атак — серверная архитектура, изначально настроенная под высокие нагрузки. Но если вы делаете проект для большой аудитории, ваш сервер априори должен быть готов к большому числу запросов. А что, если у вас мелкий проект?
Брутфорс
Это тип атаки, при которой вредоносная программа пытается получить доступ к системе или отдельным её защищённым участкам, отправляя на сервер разные комбинации символов в надежде подобрать ту самую пару «логин-пароль». Если вы хоть раз забывали какой-нибудь пароль и получали предупреждение о трёх попытках ввести его правильно, то вы сталкивались с самой банальной мерой защиты от брутфорс-атаки: после первой неудачной попытки системе начинает казаться, что вы злоумышленник, перебирающий пароли. И когда, на этапе регистрации, вас просят придумать пароль посложнее, вас тем самым хотят защитить от этой атаки.
IDOR-уязвимость (Insecure Direct Object Reference)
В роли небезопасных объектов в случае такой атаки могут выступать URL-адреса страниц, файлов и директорий, доступ к которым может получить любой пользователь. В самых абсурдных случаях киберпреступнику хватит добавить к адресу /admin и получить возможность вести себя как администратор, то есть добавлять свой контент, подменять или удалять ваш, вести переписки от имени пользователей вашего сайта или переводить деньги с вашего счёта на свой. Такая проблема решается настройкой пользовательских ролей и ограничением прав доступа.
XSS-уязвимость (Cross Site Scripting)
Атака, эксплуатирующая уязвимости для внедрения HTML-тегов или JavaScript-кода на страницу сайта. Часто используется на динамических сайтах и возникает, если разработчики не позаботились о фильтрации данных, вводимых на сайте пользователем. Таким образом, злоумышленнику достаточно, например, вставить скрипт в поле для сообщений на форуме и опубликовать его, и как только другие откроют эту страницу, скрипт запустится и начнётся атака.
XSS делится на три типа в зависимости от того, где хранится код: stored, если он хранится на сервере и выполняется автоматически, reflected, если содержится в ссылке, и DOM-based, если выполняется в браузере. В результате хакер может менять на сайте страницы или внедрять в код скрипты, которые накручивают просмотры на других сайтах или майнят криптовалюту — возможно, поэтому ваш компьютер работает в последнее время так медленно.
Защита от XSS — это обезоруживание вредоносного JS-кода. В этом помогают мнемоники: HTML-символы подменяются на их эквивалент, и страница перестаёт интерпретировать введённый злоумышленником текст как код. Но можно поступать радикальнее и просто отфильтровывать все теги.
SQL-инъекция
Похожим образом — то есть через ввод данных пользователем на странице — хакеры могут изменить GET или POST-запрос, а также cookies, чтобы получить доступ к базе данных, особенно если у неё архитектура MySQL. Профилактика и лечение таких атак — это внимательность разработчика к ответам на запросы и уже известная нам по предыдущему примеру фильтрация пользовательских данных от спецсимволов (так называемое экранирование).
Вступите в группу, и вы сможете просматривать изображения в полном размере
Это интересно
0
|
|||

Комментарии временно отключены