Обмен технологиями

Исследования по анализу и предотвращению распространенных веб-уязвимостей

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

  • Предисловие:

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

  • Уязвимость SQL-инъекции

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

Обычно места для внедрения SQL включают в себя:

  1. Отправка формы, в основном запрос POST, также включает запрос GET;
  2. Отправка параметров URL, в основном параметров запроса GET;
  3. Отправка параметров cookie;
  4. Некоторые изменяемые значения в заголовке HTTP-запроса, например Referer, User_Agent и т. д.;
  5. Некоторые точки ввода краев, например некоторая информация о файлах .mp3 и т. д.

Распространенные методы профилактики:

  • Все операторы запроса используют параметризованный интерфейс запроса, предоставляемый базой данных. Параметризованные операторы используют параметры вместо внедрения переменных, вводимых пользователем, в оператор SQL. Почти все современные системы баз данных предоставляют параметризованные интерфейсы выполнения операторов SQL. Использование этого интерфейса может эффективно предотвратить атаки с использованием SQL-инъекций.
  • Экранируйте или кодируйте специальные символы ('"<>&*; и т. д.), которые входят в базу данных.
  • Подтвердите тип каждого данных. Например, числовые данные должны быть числами, а поля хранения в базе данных должны соответствовать типам int.
  • Длина данных должна быть строго указана, что может в определенной степени помешать правильному выполнению относительно длинных операторов внедрения SQL.
  • Кодировка каждого уровня данных веб-сайта унифицирована. Для всех данных рекомендуется использовать кодировку UTF-8. Несогласованное кодирование верхнего и нижнего уровней может привести к обходу некоторых моделей фильтрации.
  • Строго ограничьте права пользователей сайта на работу с базой данных и предоставьте этому пользователю разрешения, достаточные только для его работы, тем самым сводя к минимуму вред от инъекционных атак на базу данных.
  • Запретите веб-сайту отображать сообщения об ошибках SQL, такие как ошибки типа, несоответствия полей и т. д., и не позволяйте злоумышленникам использовать эти сообщения об ошибках для принятия каких-либо решений.
  • Перед выпуском веб-сайта рекомендуется использовать некоторые профессиональные инструменты обнаружения SQL-инъекций для своевременного обнаружения и устранения этих уязвимостей SQL-инъекций.

  • Уязвимость межсайтового скриптинга

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

В XSS-атаках используются в основном HTML и Javascript, включая VBScript и ActionScript. Хотя XSS-атаки не наносят прямого вреда веб-серверу, они распространяются по веб-сайту, вызывая атаки на пользователей веб-сайта, в результате чего учетные записи пользователей веб-сайта похищаются, что наносит серьезный ущерб веб-сайту.

Типы XSS включают в себя:

  • Непостоянная межсайтовая атака. Отраженная уязвимость межсайтового скриптинга в настоящее время является наиболее распространенным типом межсайтового взаимодействия. Межсайтовый код обычно существует в ссылках. При запросе такой ссылки межсайтовый код передается обратно через сервер. Этот тип межсайтового кода не хранится на сервере (например, в базе данных). Примеры, приведенные в предыдущих главах, являются именно такими ситуациями.
  • Постоянное межсайтовое взаимодействие. Это самый прямой тип межсайтового вреда. Межсайтовый код хранится на сервере (например, в базе данных). Распространенной ситуацией является то, что пользователь публикует сообщения на форуме. Если форум не фильтрует данные кода Javascript, введенные пользователем, браузеры других пользователей, просматривающих сообщение, будут выполнять код Javascript, встроенный в автора.
  • Межсайтовый DOM (DOM XSS). Это межсайтовая уязвимость, возникающая в клиентской DOM (объектной модели документа). Основная причина — проблема безопасности, вызванная логикой обработки клиентских сценариев.

Обычно используемые методы предотвращения XSS включают в себя:

  1. Как и в случае с рекомендациями по защите от SQL-инъекций, предполагается, что все вводимые данные являются подозрительными, и такие слова, как скрипт, iframe и т. д., во всех вводимых данных должны строго проверяться. Входные данные здесь — это не только интерфейс ввода, с которым пользователи могут напрямую взаимодействовать, но также включают переменные в файлах cookie в HTTP-запросах, переменные в заголовках HTTP-запросов и т. д.
  2. Проверьте не только тип данных, но также их формат, длину, диапазон и содержимое.
  3. Не просто выполняйте проверку и фильтрацию данных на стороне клиента. Ключевые этапы фильтрации выполняются на стороне сервера.
  4. Выходные данные также должны быть проверены. Значения в базе данных могут выводиться в нескольких местах на большом веб-сайте. Даже если входные данные закодированы и выполняются другие операции, проверки безопасности должны выполняться в точках вывода повсюду.
  5. Прежде чем выпускать приложение, проверьте наличие всех известных угроз.

  • Уязвимость слабого пароля

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

  1. Не используйте пустые пароли или системные пароли по умолчанию, которые, как известно, обычно являются слабыми паролями.
  2. Длина пароля должна быть не менее 8 символов.
  3. Пароль не должен представлять собой непрерывную последовательность символов (например: AAAAAAAA) или комбинацию повторяющихся символов (например: tzf.tzf.).
  4. Пароль должен представлять собой комбинацию следующих четырех типов символов: прописных букв (AZ), строчных букв (az), цифр (0–9) и специальных символов. Содержит хотя бы один символ каждого типа. Если определенный тип символов содержит только один, то этот символ не должен быть первым или последним символом.
  5. Пароль не должен включать имя и дату рождения, дату юбилея, логин, адрес электронной почты и другую информацию, касающуюся человека, родителей, детей и супруга, а также слова из словаря.
  6. Пароли не должны представлять собой слова с цифрами или символами, заменяющими определенные буквы.
  7. Пароли должны легко запоминаться и быстро вводиться, чтобы другие не могли легко увидеть ваш ввод позади вас.
  8. Меняйте пароль не реже одного раза в 90 дней, чтобы предотвратить дальнейшее использование его незамеченными злоумышленниками.

  • Уязвимость отслеживания HTTP-заголовка

Спецификация HTTP/1.1 (RFC2616) определяет метод HTTP TRACE, который в основном используется клиентами для тестирования или получения диагностической информации путем отправки запроса TRACE на веб-сервер. Когда веб-сервер включает TRACE, отправленный заголовок запроса будет полностью возвращен в содержимом (теле) ответа сервера, причем заголовок HTTP, скорее всего, будет включать в себя токен сеанса, файлы cookie или другую информацию аутентификации. Злоумышленник может воспользоваться этой уязвимостью, чтобы обмануть законных пользователей и получить их личную информацию. Эта уязвимость часто сочетается с другими методами проведения эффективных атак. Поскольку запросы HTTP TRACE могут быть инициированы с помощью сценариев клиентского браузера (например, XMLHttpRequest) и доступны через интерфейс DOM, злоумышленники легко могут ими воспользоваться. Методы защиты от уязвимостей отслеживания заголовков HTTP обычно отключают метод HTTP TRACE.

  • Уязвимость удаленного выполнения команд Struts2

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

Большинство причин, по которым веб-сайты имеют уязвимости удаленного выполнения кода, заключаются в том, что веб-сайт использует Apache Struts Xwork в качестве платформы приложений веб-сайта. Поскольку это программное обеспечение имеет уязвимости удаленного выполнения кода с высоким уровнем риска, веб-сайт сталкивается с угрозами безопасности. CNVD справилась со многими такими уязвимостями, такими как: уязвимость удаленного выполнения команд (CNVD-2012-13934) на веб-сайте «GPS Vehicle Satellite Positioning System» уязвимость удаленного выполнения кода в гостевой книге Aspcms (CNVD-2012-11590); , и т. д.

  • Уязвимость загрузки файлов

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

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

  • Уязвимость утечки частного IP-адреса

IP-адрес является важным индикатором пользователя сети и именно его необходимо знать злоумышленникам перед началом атаки. Есть много способов получить его, и злоумышленники также будут использовать разные методы в зависимости от различных условий сети, например: использование команды Ping в локальной сети для проверки связи с именем другой стороны в сети для получения IP-адреса; QQ, чтобы отобразить его прямо в Интернете. Самый эффективный способ — перехватить и проанализировать пакеты сетевых данных другой стороны. Злоумышленник может найти и напрямую проанализировать информацию IP-заголовка перехваченного пакета данных с помощью программного обеспечения, а затем узнать конкретный IP-адрес на основе этой информации.

Для наиболее эффективного «метода анализа пакетов» вы можете установить какое-нибудь программное обеспечение, которое может автоматически удалять информацию IP в заголовках отправленных пакетов данных. Однако у использования этого программного обеспечения есть некоторые недостатки, такие как: оно серьезно потребляет ресурсы и снижает производительность компьютера; это может повлиять на доступ к некоторым форумам или веб-сайтам; оно не подходит для пользователей интернет-кафе и т. д.; В настоящее время самым популярным методом для отдельных пользователей скрыть свой IP-адрес является использование прокси-сервера. После использования прокси-сервера «служба пересылки» изменяет отправляемые пакеты данных, что делает метод «анализа пакетов» неэффективным. Некоторое сетевое программное обеспечение, которое легко раскрывает IP-адреса пользователей (QQ, MSN, IE и т. д.), поддерживает использование прокси-методов для подключения к Интернету. Особенно после того, как QQ использует для подключения прокси-программное обеспечение, такое как «ezProxy», IP-версия QQ не может. отобразить IP-адрес. Хотя прокси-сервер может эффективно скрыть IP-адрес пользователя, злоумышленник также может обойти прокси-сервер и найти реальный IP-адрес другой стороны. Метод, используемый пользователем для сокрытия IP-адреса, обстоятельства также зависят от ситуации.

  • Незашифрованный запрос на вход

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

  • Уязвимость утечки конфиденциальной информации

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

  • CSRF

Веб-приложения — это общий термин, обозначающий использование архитектуры B/S и предоставление услуг через протоколы HTTP/HTTPS. Благодаря широкому использованию Интернета веб-приложения были интегрированы во все аспекты повседневной жизни: онлайн-покупки, онлайн-банковские приложения, операции с ценными бумагами и акциями, одобрение правительственных административных органов и т. д. При таких посещениях веб-страниц большинство приложений не осуществляют статический просмотр веб-страниц, а включают динамическую обработку на стороне сервера. В настоящее время, если программисты Java, PHP, ASP и других языков программирования недостаточно осведомлены о безопасности и не строго проверяют ввод параметров программы и т. д., проблемы безопасности веб-приложений будут возникать одна за другой.

Так как же можно вовремя обнаружить вышеуказанные уязвимости?

Должен упомянутьСлужба сканирования уязвимостей VSS!!

Что такое служба сканирования уязвимостей?

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

«Служба сканирования уязвимостей (VSS) — это служба обнаружения уязвимостей для сканирования веб-сайтов на уязвимости. В настоящее время она предоставляет несколько услуг, таких как общее обнаружение уязвимостей, управление жизненным циклом уязвимостей и настраиваемое сканирование. После того, как пользователи создают новую задачу, они могут запускать сканирование вручную. задачи по обнаружению уязвимостей веб-сайта и предоставлению предложений по устранению уязвимостей.

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

    • Сценарии применения службы сканирования уязвимостей:
      1. Веб-сайт/система приложений онлайн

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

      1. Угрозы и атаки на систему веб-сайтов/приложений

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

      1. Мониторинг системы веб-сайта/приложения в режиме реального времени

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

      1. Системы веб-сайтов/приложений и другие требования соответствия

Защита уровня информационной безопасности является базовой системой информационной безопасности в моей стране, требующей от сетевых операторов соблюдения требований системы защиты уровня сетевой безопасности. Гарантия класса А требует, чтобы операторы веб-сайтов/систем приложений проводили оценку безопасности не реже двух раз в год, чтобы гарантировать соответствие гарантии класса А. Тестирование безопасности помогает пользователям, которым необходима такая страховка, проводить оценку безопасности и соответствовать требованиям такой страховки!

    • Что обычно включает в себя услуга сканирования уязвимостей?
      1. Сканирование веб-уязвимостей

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

Общее сканирование уязвимостейБогатая библиотека правил уязвимостей позволяет проводить всестороннее и углубленное сканирование уязвимостей для различных типов веб-сайтов и предоставлять профессиональные и полные отчеты о сканировании.

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

      1. Сканирование слабых паролей

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

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

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

      1. Сканирование промежуточного программного обеспечения

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

Богатые сценарии сканированияПоддерживает сканирование уязвимостей версий и соответствие конфигурации основных веб-контейнеров, сред разработки интерфейсов и стеков технологий серверных микросервисов.

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

      1. Тестирование контента на соответствие

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

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

Умный и эффективныйПроводите контекстно-семантический анализ содержимого текста и изображений и разумно идентифицируйте сложные варианты текста.

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

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

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