user

Авторизация

Добро пожаловать!

Регистрация

Graf

IT безопасность

Общая технология сетевой атаки и защиты

Предисловие

 На земле с населением почти 8 миллиардов человек до сих пор происходят миллионы случаев грабежей, драк и драк каждый день, особенно в Интернете, где практически ежеминутно происходят сетевые наступательные и оборонительные войны.

 Если драки, драки и перестрелки еще далеко от нас, то война кибератак и обороны начинается при включении мобильного телефона! Возможности блоггеров ограничены, поэтому не будем говорить о специфике работы сетевой атаки и защиты, а поговорим об этом вместе на понятном языке — загадочной «сетевой атаке и защите».

 Всякий раз, когда вы слышите термин «сетевая атака и защита», вы на мгновение чувствуете себя загадочным? Подсознательно возникает в вашем воображении сцена хакера в черной толстовке с капюшоном, взламывающего веб-сайт организации?

 На самом деле это не так загадочно, как представлялось. Далее давайте поговорим о нескольких распространенных сетевых атаках и технологиях защиты.

SQL-инъекция

 SQL-инъекция — очень распространенный метод атаки на базу данных. Все веб-сайты и программное обеспечение, которое мы обычно используем, используют базы данных. Пока есть база данных, могут быть уязвимости для SQL-инъекций.

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

 Суть атаки SQL-инъекцией заключается в том, чтобы позволить веб-серверу выполнить оператор SQL, ожидаемый злоумышленником, чтобы получить интересующие данные в базе данных или выполнить такие операции, как чтение, изменение, удаление и вставка в базу данных для достижения его злая цель.

 И как заставить веб-сервер выполнить оператор SQL злоумышленника? Обычная процедура внедрения SQL заключается в размещении оператора SQL в форме или параметрах запроса (таких как SELECT, DROP и т. д.). Запрос очень легко обмануть.

Пример простой SQL-инъекции

 Для интерфейса, который получает информацию о пользователе на основе идентификатора пользователя, оператор SQL в серверной части обычно выглядит следующим образом:

select name,[…] from t_user whereid=$id

 Среди них $id — это идентификатор пользователя, отправленный внешним интерфейсом, поэтому, если внешний запрос выглядит следующим образом:

GET xx/userinfo?id=1%20or%201=1

 После экранирования идентификатора параметра запроса он равен 1 или 1 = 1. Если серверная часть напрямую отправляет запрос к базе данных без фильтрации безопасности, оператор SQL становится следующим:

select name,[…] from t_user whereid=1or1=1

 Конечным результатом является обнаружение всех данных в пользовательской таблице, чем достигнута цель злоумышленника по утечке данных.

 Вышеприведенный пример — очень простой пример внедрения, в реальной атаке SQL-инъекцией построение параметров и оператор SQL намного сложнее, чем это, и место атаки злоумышленника также намного сложнее, но принцип тот же. Можно себе представить эффект атаки, вызванный увеличением сложности.

XSS-атака

 Полное название XSS — Cross Site Scripting (Кросс-сайтовый скриптинг).Чтобы отличить его от перекрывающихся таблиц стилей CSS, была изменена другая аббревиатура XSS.

 Суть атаки XSS заключается во внедрении исполняемого кода внешнего сценария (обычно JavaScript) в веб-страницу, что обычно означает внедрение вредоносного кода инструкций в веб-страницу путем использования лазеек, оставленных при разработке веб-страницы, что позволяет пользователям загружать и выполнять атаки или вредоносные программы веб-страницы.

 Эти вредоносные веб-программы обычно представляют собой JavaScript, но есть также Java, VBScript, ActiveX, Flash или даже обычный HTML-код. После успешной атаки злоумышленник может получить некоторые привилегии пользователя или администратора (ограничений по привилегиям нет).

 Итак, давайте поговорим о том, как злоумышленник сделал это?

 Общие XSS-атаки делятся на два типа: тип отражения и тип хранилища.

Тип отражения

 Злоумышленник помещает код JS в URL-адрес в качестве параметра запроса, чтобы побудить пользователя щелкнуть и попасть в ловушку.

 Например, злоумышленник сначала помещает код JS в URL-адрес в качестве параметра запроса, чтобы побудить пользователя щелкнуть

 После того, как пользователь щелкнет, JS будет передан на серверную часть веб-сервера в качестве параметра запроса. Если на внутреннем сервере нет идеальной проверки и фильтрации, он просто обработает его, поместит в тело веб-страницы и вернет в браузер. После того, как браузер проанализирует возвращенную веб-страницу, пользователь уже завербован!

Тип хранилища

 Приведенный выше скрипт рефлексивной атаки напрямую проходит через сервер, а затем возвращается в браузер, чтобы инициировать выполнение.

 Разница между типом хранилища и этим заключается в том, что сценарий атаки может храниться в библиотеке, а затем сценарий атаки будет отображаться на веб-странице при последующем выполнении запроса и возвращаться в браузер для запуска выполнения.

 Например: Атака XSS похожа на ответ злоумышленника на сообщение на веб-форуме. Сообщение содержит сценарии JS. После отправки ответа на сервер он будет сохранен в базе данных.

 После того, как другие пользователи сети просмотрят этот пост, фон автоматически запросит содержание ответа на этот пост, а затем создаст полную веб-страницу и вернется в браузер. В настоящее время веб-страница, возвращаемая рендерингом браузера пользователя сети, была завербована! Браузер пользователя сети стал мишенью, поэтому нет необходимости говорить о следующих вещах. Вы можете себе представить, насколько сложно предотвратить такую ​​​​атаку.

CSRF-атака

 Атака CSRF, полное название — Подделка межсайтового запроса (Подделка межсайтового запроса), она может использовать вошедшую в систему личность пользователя для выполнения незаконных операций от имени пользователя без ведома пользователя.

 Я гарантирую, что большинство атак после 90-х и 00-х сталкивались с CSRF-атаками Что такое конкретная CSRF-атака? 

 Атака CSRF (подделка межсайтовых доменных запросов) является лишь очень распространенным методом атаки, ее охват чрезвычайно широк, и большинство людей плохо осведомлены о предотвращении, что сделало ее популярной на протяжении более 10 лет и все еще сохраняется.

 Его основная идея заключается в том, что когда пользователь открывает веб-сайт A, если вредоносный веб-сайт B, который был атакован CSRF, открыт на странице вкладки, то по «подстрекательству» страницы B собственный браузер пользователя инициирует атаку на веб-сайте HTTP-запрос А.

 Вроде бы ничего серьезного, это обычное дело, но самая смертоносная точка CSRF-атаки заключается в следующем: этот HTTP-запрос не является активным намерением пользователя, а «спровоцирован» веб-страницей B, если это более опасная операция запроса ( например, отправка электронных писем, удаление данных, фальсификация информации для кредитов и т. д.), что было бы хлопотно.

CSRF

 Во-вторых, поскольку пользователь открыл веб-сайт А перед атакой, браузер сохранит файл cookie или другую информацию, используемую для аутентификации личности, выданную веб-сайтом А, на этот раз «спровоцированный» запрос автоматически принесет эту информацию. В результате , серверная часть веб-сайта А не может сказать, является ли это реальным желанием пользователя или «ложным запросом».

 Поскольку пользователь «подстрекается» в течение более длительного периода времени, эти вредоносные запросы, похожие на червей, шаг за шагом удаляют вашу информацию, а в тяжелых случаях это может привести к тому, что веб-сайт А переведет деньги напрямую.

 Нетрудно понять, почему многие люди, подвергшиеся атаке CSRF, явно ничего не делали, просто переходили по ссылке, и деньги исчезали.

 Когда вы включаете свой мобильный телефон, вводите контент, который хотите найти, в строку поиска и нажимаете Enter, ваша онлайн-информация была передана сетевому менеджеру (Примечание: это юридический акт, чиновник собирает только ваш URL-адрес, для вас защита в сети)

 Но не все так делают, чаще всего злоумышленники будут следить за каждым вашим шагом, получать вашу личную информацию и продавать ее каким-то незаконным организациям или незаконным коммерческим учреждениям. Но этот тип веб-сайтов также легко отличить: внимательные люди обнаружат, что некоторые URL-адреса начинаются с http, а некоторые — с https.

 HTTP — это протокол передачи гипертекста, который просто означает передачу данных в виде простого текста.

 https — это безопасный протокол передачи гипертекста на уровне сокетов, который шифрует передаваемые данные.

 Поэтому, когда вы вводите важную информацию, такую ​​как платежный пароль, идентификационный номер, номер банковской карты и т. д., на веб-сайте, начинающемся с http, злоумышленник перехватывает данные в виде открытого текста, и это содержимое будет напрямую передано злоумышленнику.

 Это похоже на то, как когда вы вносите деньги в банкомат банка, когда вы вводите номер своей карты и пароль, они транслируются банкоматом в виде простого текста.

 Хотя подумать об этом крайне страшно, это точно не преувеличение: в глазах кибер-злоумышленников это так же просто, как ввести несколько строк команд.

 Однако в настоящее время большинство веб-сайтов используют протокол зашифрованной передачи HTTPS, за исключением некоторых зарубежных «учебных веб-сайтов» и нескольких веб-сайтов, помеченных как рекламные, которые все еще используют протокол HTTP (мне не нужно больше говорить о конкретных причинах).

DDoS-атака

 Полное название DDoS — распределенная атака отказа в обслуживании (Distributed Denial of Service), которая относится к наименее техническим по содержанию, но наиболее неприятным атакам. Злоумышленники продолжают делать запросы на обслуживание, поэтому запросы от законных пользователей не могут быть своевременно обработаны, что является DoS-атакой.

 DDoS-атака заключается в том, что злоумышленник использует несколько компьютеров или компьютерных кластеров для проведения DoS-атак.

 Проще говоря, человек пошел в ресторан поесть, заказал 99999999999+ блюд, а потом человек убежал, а повар все еще был занят, а повар вымотался.

 Хотя это звучит глупо и даже немного смешно, я должен признать, что это действительно мощно.

 Принцип действия первого в мире компьютерного вируса Morris аналогичен принципу DDOS-атаки, которая приводит к сбою сервера из-за исчерпания ресурсов.

 С тех пор идея ресурсоемких атак была впервые применена хакером к электронным письмам, в результате чего в то время до десятков тысяч электронных писем застаивались.

 Первое крупномасштабное использование DDOS-атак во время Эстонской войны в 2007 году привело к исчезновению из Интернета всей страны Эстония.

 Во время войны в Грузии в 2008 году DDOS-атаки привели к параличу всей сети страны.

 В 2018 году зарубежная хакерская организация запустила крупнейшую в мире DDOS-атаку на GitHub. На пике атаки трафик передавался со скоростью 1,3 Тбит/с, отправляя 126,9 млн пакетов в секунду. К счастью, механизм защиты GitHub от DDoS-атак позволил сотрудникам службы безопасности GitHub быстро защититься, эффективно предотвратив эту крупномасштабную атаку.

 Технологии всегда были обоюдоострым мечом: распределенные технологии могут использоваться для предоставления высоко доступных услуг, а также могут использоваться злоумышленниками для проведения атак массового уничтожения. Злоумышленники больше не ограничиваются возможностями атаки одного компьютера, а вместо этого запускают атаки типа «отказ в обслуживании» через крупномасштабные сетевые кластеры. Атаки такого масштаба достаточно, чтобы разрушить национальную сеть.

Перехват DNS

 В сегодняшнем интернет-трафике трафик, генерируемый веб-службами на основе HTTP/HTTPS, составляет подавляющее большинство, например Douyin, Kuaishou, iQiyi, Youku и т. д., и является более заметным. Быстрое развитие веб-сервисов неотделимо от неизвестного героя, которым является система разрешения доменных имен DNS.

 Если нет DNS, нам нужно помнить IP-адрес каждого веб-сайта вместо их доменного имени при серфинге в Интернете.

 Именно из-за его важности люди со скрытыми мотивами, естественно, не отпустят его, и технология DNS hijacking была изобретена снова.

 Глядя на это, хочется жаловаться: как можно что-то использовать в качестве средства сетевой атаки?

 Это верно, поэтому нам нужно понять это содержание и повысить собственную осведомленность о предотвращении. Давайте поговорим о перехвате DNS.

 Услуга, предоставляемая DNS, изначально использовалась для преобразования доменных имен в IP-адреса, однако при разработке раннего протокола его безопасности не уделялось должного внимания, поэтому у нас как у запрашивающей стороны будет много вопросов:

 Я действительно запрашиваю DNS-сервер?

 Вы уверены, что это не было чье-то подражание?

 Был ли изменен результат запроса?

 Этот IP действительно принадлежит этому веб-сайту?

 Жаль, что в протоколе DNS нет механизма, гарантирующего, что на эти вопросы можно будет ответить, поэтому перехват DNS очень распространен с того момента, как пользователь вводит доменное имя в адресную строку, опасность на этом пути тяжелая.

 Позднее для решения этой проблемы появилась технология DNSSEC, способная в определенной степени решить некоторые из вышеперечисленных проблем. Однако по ряду причин эта технология не использовалась в больших масштабах.

DNS

 Позже ведущие интернет-производители, такие как Ali и Tencent, начали запускать сервисы httpDNS и придумали хитрость. Хотя название этой технологии по-прежнему состоит из трех букв DNS, но реализация отличается от оригинального DNS. Другими словами, благодаря этой технологии DNS стала прикладной службой поверх протокола http. Так что теперь отечественные веб-сайты редко сталкиваются с инцидентами с перехватом DNS.

Перехват JSON

 JSON — это облегченный формат обмена данными, а hijacking — это кража данных (или это следует называть hijacking, перехват более уместен). Злоумышленники перехватывают данные JSON, которые должны быть возвращены пользователю с помощью определенных специальных средств, а затем отправляют данные обратно злоумышленнику.

 Если предыдущие приятели оставили вас ни с чем, то захват JSON выглядит намного «мягче», он только крадет эту конфиденциальную информацию или ценные данные. Уязвимости JSON в основном используются злоумышленниками для кражи их личных данных у жертв, не зная об этом, и часто используются некоторыми APT-организациями для сбора информации и фишинга (также известного как атаки на водопой).

 Проще говоря, в дом проник вор. Он не был бы настолько глуп, чтобы убрать диван и шкаф. Он решил просканировать металлоискателем, приносить только металлические вещи и забирать вещи с наибольшей относительной ценностью. .

 Тогда некоторые люди любопытны, ценные данные — это не что иное, как имя, номер мобильного телефона, идентификационный номер, адрес электронной почты и пароль для входа на некоторые веб-сайты, что еще может быть?

 Файлы cookie, говоря простым языком, означают, что злоумышленнику не нужно входить в систему с паролем для входа в вашу учетную запись, а также он может использовать файлы cookie для прямого входа в учетную запись.

 Кроме того, это может быть даже информация о CSRF-токенах. Я уже говорил о CSRF-атаках, и у меня все еще должно сложиться впечатление. Можно сказать, что CSRF-токен — это барьер для защиты от CSRF-атак, а самое страшное — это разлагаться изнутри.

Взлом грубой силы

 Является ли это название более знакомым, чем предыдущие? Принцип взлома методом перебора можно догадаться из названия очень просто. Как правило, он нацелен на пароли. Слабые пароли легко угадать другими (людьми, которые хорошо вас знают и т. д.) или взломать с помощью взломщиков. Для получения подробной информации вы можете перейти к сообщению в блоге о криптографии, которое я опубликовал ранее.

Подведем итог

 Цель этой статьи — рассказать о сетевых атаках и защите на простом для понимания языке и помочь каждому повысить свою осведомленность о сетевой защите, одновременно популяризируя науку. Эти примеры отражают мое понимание сетевых атак и защиты. Конкретные детали могут быть не очень точными, но общая идея верна.

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