Классификация уязвимостей
В 1996 году компания ISS (Internet Security Systems) разработала следующую классификацию уязвимостей:
- Уязвимости, реализованные или созданные продавцом (разработчиком) программного или аппаратного обеспечения. Включают: ошибки, не установленные обновления (SP, patch и hotfix) операционной системы, уязвимые сервисы и незащищенные конфигурации по умолчанию.
- Уязвимости, добавленные администратором в процессе управления компонентами системы. Представляют собой доступные, но неправильно используемые настройки и параметры информационной системы, не отвечающие политике безопасности (например, требования к минимальной длине пароля и несанкционированные изменения в конфигурации системы).
- уязвимости, привнесенные пользователем в процессе эксплуатации системы. Включают уклонения от предписаний принятой политики безопасности, например, отказ запускать ПО для сканирования вирусов или использование модемов для выхода в сеть Internet в обход межсетевых экранов и другие, более враждебные действия.
В более общем виде уязвимости могут быть классифицированы по этапам жизненного цикла ИС:
- Уязвимости проектирования (проектирование)
- Уязвимости реализации (реализация)
- Уязвимости конфигурации (эксплуатация)
Уязвимости проектирования наиболее серьезны — они обнаруживаются и устраняются с большим трудом. В этом случае уязвимость свойственна проекту или алгоритму и, следовательно, даже совершенная его реализация (что в принципе невозможно) не избавит от заложенной в нем слабости. Например, уязвимость стека протоколов TCP/IP. Недооценка требований по безопасности при создании этого стека протоколов привела к тому, что не проходит месяца, чтобы не было объявлено о новой уязвимости в протоколах стека TCP/IP. И раз и навсегда устранить эти недостатки уже невозможно — существуют только временные или неполные меры. Однако бывают и исключения. Например, внесение в проект корпоративной сети множества модемов, облегчающих работу персонала, но существенно усложняющих работу службы безопасности. Это приводит к появлению потенциальных путей обходов межсетевого экрана, обеспечивающего защиту внутренних ресурсов от несанкционированного использования. И обнаружить, и устранить эту уязвимость достаточно легко. Уязвимости реализациисостоят в появлении ошибки на этапе реализации в программном или аппаратном обеспечении корректного с точки зрения безопасности проекта или алгоритма. Яркий пример такой уязвимости — «переполнение буфера» во многих реализациях программ, например, sendmail или Internet Explorer. Обнаруживаются и устраняются подобного рода уязвимости относительно легко. Если нет исходного кода программного обеспечения, в котором обнаружена уязвимость, то ее устранение заключается или в обновлении версии уязвимого ПО или в полной его замене или отказе от него. Уязвимости конфигурациисостоят в ошибках при конфигурации программного или аппаратного обеспечения. Этот вид наряду с уязвимостями реализации является самой распространенной категорией уязвимостей. Существует множество примеров таких уязвимостей. К их числу можно отнести, например, доступный, но не используемый на узле сервис Telnet, разрешение «слабых» паролей или паролей длиной менее 6 символов, учетные записи и пароли, остановленные по умолчанию (например, SYSADM или DBSNMP в СУБД Oracle), и т. д. Локализовать и исправить такие уязвимости проще всего. Основная проблема — определить, является ли конфигурация уязвимой. Наиболее распространенные уязвимости По статистике, опубликованной в 1998 году институтом SANS (System Administrator and Network Security), пятерка наиболее распространенных уязвимостей выглядела следующим образом:
- Выслеживание информации, особенно паролей и иной конфиденциальной информации.
- Переполнение буфера, приводящее к удаленному выполнению произвольных команд.
- Уязвимости системы защиты узлов, например, уязвимости сценариев CGI или ошибки в sendmail.
- Подверженность атакам типа «отказ в обслуживании».
- Допустимость загрузки враждебного кода, к которому можно отнести программы типа «троянский конь», вирусы, апплеты Java, элементы управления ActiveX.
Можно заметить, что в первую пятерку вошли все три категории уязвимостей. Выслеживание паролей возможно благодаря отсутствию механизмов шифрования в стандартных протоколах Internet. Переполнение буфера, уязвимости защиты узлов и подверженность атакам типа «отказ в обслуживании» могут быть отнесены к разряду уязвимостей реализации и конфигурации. Ну и, наконец, возможность загрузки враждебного кода может быть причислена к разряду уязвимостей конфигурации. В 2001 году пятерка наиболее распространенных уязвимостей по данным SANS обновилась:
- Слабости BIND (службы доменных имен в Internet).
- Уязвимые CGI-сценарии и расширения приложений, установленные на Web-сервере.
- Уязвимости RPC.
- Уязвимости Remote Data Services (RDS) в MS IIS.
- Переполнение буфера в почтовой программе sendmail.
Эта пятерка частично совпадает с исследованиями компании ISS:
- Подверженность атакам типа «отказ в обслуживании» (в том числе и распределенным атакам этого типа).
- «Слабые» учетные записи (для серверов, маршрутизаторов и т. д.).
- Уязвимости ПО MS IIS.
- Уязвимости СУБД (неправильные права доступа к расширенным хранимым процедурам, пароли, заданные по умолчанию и т. д.).
- Приложения eCommerce (Netscape FastTrack, MS FrontPage и др.).
Атаки До сих пор у профессионалов в области информационной безопасности нет точного определения термина «атака». Атаку на информационную систему можно понимать как действие или последовательность связанных между собой действий нарушителя, которые приводят к реализации угрозы путем использования уязвимостей этой информационной системы. Таким образом, атака отличается от события безопасности тем, что в случае атаки злоумышленник пытается достичь некоторого результата, противоречащего политике безопасности. Например, доступ пользователя к файлу или вход в систему — это событие безопасности. Однако, если этот доступ или вход осуществляется в нарушение прав доступа, то это уже атака. Если построить неформальную модель атаки, которая расширяет описанную выше для события безопасности, то получится модель, состоящая из 4-х элементов. Для того чтобы реализовать атаку, злоумышленник моделирует некоторое событие безопасности, которое приводит к искомому результату при помощи некоего средства, использующего уязвимости системы. Первые два элемента данной модели применяются для реализации события безопасности, т. е. некоторого действия по отношению к адресату для достижения результата, приводящего к нарушению политики безопасности. Неформальная модель атаки Атаку можно представить в виде 3-х элементов: инициатор, метод, цель.
В частном случае инициатор атаки (злоумышленник) и цель атаки совпадают. В этом случае злоумышленник уже получил или имеет в рамках своих полномочий доступ к узлу (или группе узлов), к ресурсам которого (которых) он намерен несанкционированно обращаться. Целью атаки, также как и инициатором атаки, может выступать одиночный узел или группа узлов (например, подсеть). Логично предположить, что устранение одного из этих элементов позволит полностью защититься от атаки. Удалить цель атаки на практике зачастую невозможно из-за особенностей технологии обработки информации. Хотя это решение было бы идеальным. Раз нет цели для атаки, то неосуществима и сама атака. Одним из механизмов попытки удаления объекта атаки является сетевая трансляция адресов, блокирование доступа к определенным узлам корпоративной сети извне при помощи межсетевого экрана, физическое исключение доступа к защищаемой сети. Поскольку нельзя удалить цель атаки, то необходимо пытаться устранить инициатора или метод атаки. Современные средства защиты, как правило, сосредотачивают свое внимание на объекте атаки и немного на методе атаки. Метод атаки зависит от нескольких параметров. — Тип инициатора атаки и цели атаки. От этого зависит, какой метод атаки следует ожидать. Например, если объектом атаки является почтовый сервер MS Exchange, то вряд ли для нападения на него будет использоваться метод, применяемый для атаки на sendmail. — Результат воздействия. От того, какого результата нарушитель ждет от атаки (отказ в обслуживании, компрометация и т. п.), зависит, какой метод атаки он применит. Например, если злоумышленник планирует получить несанкционированный доступ к файлу паролей вашего Web-сервера, то он будет скрывать свои несанкционированные действия и искать уязвимости в открытых сервисах Web-сервера (HTTP, FTP, IMAP и т. д.). — Механизм воздействия. — Средство воздействия. Модель «традиционной» атаки Традиционная модель атаки строится по принципу «один-к-одному» или «один-ко-многим», т. е. атака исходит из одной точки.



- Расширение прав доступа — любое несанкционированное действие, приводящее к расширению прав доступа в сети или на конкретном узле.
- Искажение информации — любое несанкционированное изменение информации, хранящейся на узлах сети или при ее передаче по сети.
- Раскрытие информации — распространение информации среди лиц без соответствующих полномочий доступа.
- Кража сервисов — несанкционированное использование компьютера или сетевых сервисов без ухудшения качества обслуживания других пользователей.
- Отказ в обслуживании — умышленное снижение производительности или блокировка доступа к сети или компьютеру и его ресурсам.
Этапы реализации атак Можно выделить следующие этапы реализации атаки: «сбор информации», «реализация атаки» и завершение атаки. Обычно, когда говорят об атаке, то подразумевают именно второй этап, забывая о первом и последнем. Сбор информации и завершение атаки, в свою очередь, также могут являться атакой и соответственно разбиваться на три этапа.
Источник: studfile.net
Уязвимости программ
Уязвимости программ — ошибки, допущенные программистами на этапе разработки программного обеспечения. Они позволяют злоумышленникам получить незаконный доступ к функциям программы или хранящимся в ней данным. Изъяны могут появиться на любом этапе жизненного цикла, от проектирования до выпуска готового продукта. В ряде случаев программисты нарочно оставляют лазейки для проведения отладки и настройки, которые также могут рассматриваться в качестве бекдоров или недекларированных возможностей.
В некоторых случаях возникновение уязвимостей обусловлено применением средств разработки различного происхождения, которые увеличивают риск появления в программном коде дефектов диверсионного типа.
Уязвимости появляются вследствие добавления в состав ПО сторонних компонентов или свободно распространяемого кода (open source). Чужой код часто используется «как есть» без тщательного анализа и тестирования на безопасность.
Не стоит исключать и наличие в команде программистов-инсайдеров, которые преднамеренно вносят в создаваемый продукт дополнительные недокументированные функции или элементы.
Классификация уязвимостей программ
Уязвимости возникают в результате ошибок, возникших на этапе проектирования или написания программного кода.
В зависимости от стадии появления этот вид угроз делится на уязвимости проектирования, реализации и конфигурации.
- Ошибки, допущенные при проектировании, сложнее всего обнаружить и устранить. Это — неточности алгоритмов, закладки, несогласованности в интерфейсе между разными модулями или в протоколах взаимодействия с аппаратной частью, внедрение неоптимальных технологий. Их устранение является весьма трудоемким процессом, в том числе потому, что они могут проявиться в неочевидных случаях — например, при превышении предусмотренного объема трафика или при подключении большого количества дополнительного оборудования, что усложняет обеспечение требуемого уровня безопасности и ведет к возникновению путей обхода межсетевого экрана.
- Уязвимости реализации появляются на этапе написания программы или внедрения в нее алгоритмов безопасности. Это — некорректная организация вычислительного процесса, синтаксические и логические дефекты. При этом имеется риск, что изъян приведет к переполнению буфера или появлению неполадок иного рода. Их обнаружение занимает много времени, а ликвидация подразумевает исправление определенных участков машинного кода.
- Ошибки конфигурации аппаратной части и ПО встречаются весьма часто. Распространенными их причинами являются недостаточно качественная разработка и отсутствие тестов на корректную работу дополнительных функций. К этой категории также можно относить слишком простые пароли и оставленные без изменений учетные записи по умолчанию.
Согласно статистике, особенно часто уязвимости обнаруживают в популярных и распространенных продуктах — настольных и мобильных операционных системах, браузерах.
Риски использования уязвимых программ
Программы, в которых находят наибольшее число уязвимостей, установлены практически на всех компьютерах. Со стороны киберпреступников имеется прямая заинтересованность в поиске подобных изъянов и написании эксплойтов для них.
Поскольку с момента обнаружения уязвимости до публикации исправления (патча) проходит довольно много времени, существует изрядное количество возможностей заразить компьютерные системы через бреши в безопасности программного кода. При этом пользователю достаточно только один раз открыть, например, вредоносный PDF-файл с эксплойтом, после чего злоумышленники получат доступ к данным.
Заражение в последнем случае происходит по следующему алгоритму:
- Пользователь получает по электронной почте фишинговое письмо от внушающего доверие отправителя.
- В письмо вложен файл c эксплойтом.
- Если пользователь предпринимает попытку открытия файла, то происходит заражение компьютера вирусом, трояном (шифровальщиком) или другой вредоносной программой.
- Киберпреступники получают несанкционированный доступ к системе.
- Происходит кража ценных данных.
Исследования, проводимые различными компаниями («Лаборатория Касперского», Positive Technologies), показывают, что уязвимости есть практически в любом приложении, включая антивирусы. Поэтому вероятность установить программный продукт, содержащий изъяны разной степени критичности, весьма высока.
Чтобы минимизировать количество брешей в ПО, необходимо использовать SDL (Security Development Lifecycle, безопасный жизненный цикл разработки). Технология SDL используется для снижения числа багов в приложениях на всех этапах их создания и поддержки. Так, при проектировании программного обеспечения специалисты по ИБ и программисты моделируют киберугрозы с целью поиска уязвимых мест. В ходе программирования в процесс включаются автоматические средства, сразу же сообщающие о потенциальных изъянах. Разработчики стремятся значительно ограничить функции, доступные непроверенным пользователям, что способствует уменьшению поверхности атаки.
Чтобы минимизировать влияние уязвимостей и ущерб от них, необходимо выполнять некоторые правила:
- Оперативно устанавливать выпускаемые разработчиками исправления (патчи) для приложений или (предпочтительно) включить автоматический режим обновления.
- По возможности не устанавливать сомнительные программы, чье качество и техническая поддержка вызывают вопросы.
- Использовать специальные сканеры уязвимостей или специализированные функции антивирусных продуктов, позволяющие выполнять поиск ошибок безопасности и при необходимости обновлять ПО.
Источник: www.anti-malware.ru
Что такое уязвимость программного обеспечения и уязвимость нулевого дня в компьютерной безопасности?
Безопасность
Большинство пользователей компьютеров, должно быть, слышали о трех терминах: уязвимость, эксплойты и наборы эксплойтов. Вы также можете знать, что они имеют в виду. Сегодня мы увидим, что такое уязвимости безопасности и что такое нулевой день уязвимости .
Что такое уязвимость безопасности
Уязвимость компьютерной безопасности – это дыра в любой программе , операционной системе или службе , которая может быть использована веб-преступники для собственной выгоды. Существует разница между ошибками и уязвимостями, хотя обе они являются результатом недостатков программирования. Ошибка может или не может быть опасной для продукта.
Однако уязвимость программного обеспечения должна быть исправлена как можно скорее, так как веб-злоумышленники могут воспользоваться этой уязвимостью. Исправление ошибки может подождать, как будто оно не помогает веб-злоумышленникам взломать продукт. Но уязвимость, которая является ошибкой, открытой для людей, может использовать ее для получения несанкционированного доступа к продукту и через продукт к различным частям компьютерной сети, включая базу данных. Таким образом, уязвимость должна быть срочно устранена, чтобы предотвратить использование программного обеспечения или этой услуги. Некоторыми из недавних примеров уязвимостей являются уязвимость Shellshock или BASH, Heartbleed и уязвимость POODLE.
Microsoft определяет уязвимость следующим образом:
Уязвимость безопасности – это слабость продукта, которая может позволить злоумышленнику поставить под угрозу целостность, доступность или конфиденциальность этого продукта.
Затем он разбивает определения, чтобы облегчить его понимание, и устанавливает четыре условия для того, чтобы что-либо было классифицировано как уязвимость:
- Слабость в продукте относится к любому типу слабости, и мы можем назвать его в целом ошибкой. Как объяснено выше, уязвимость, безусловно, является ошибкой, но эта ошибка не всегда должна быть уязвимостью. Более низкая прочность шифра может быть слабостью продукта. Необоснованный дополнительный код может быть недостатком, который заставляет продукт дольше реагировать. Там может быть много примеров.
- Целостность продукта означает надежность. Если вышеуказанный недостаток является достаточно серьезным, что позволяет эксплуататорам злоупотреблять им, продукт недостаточно интегрирован. Существует вопрос о том, насколько продукт безопасен.
- Доступность продукта снова указывает на то, что эксплуататор может захватить продукт и запретить доступ к нему авторизованным пользователям.
- Конфиденциальность продукта обеспечивает безопасность данных. Если ошибка в системе позволяет неавторизованным людям собирать чужие данные, это называется уязвимостью.
Таким образом, согласно Microsoft, ошибка должна соответствовать четырем вышеуказанным критериям, прежде чем ее можно будет назвать уязвимостью. Обычное исправление ошибки может быть легко создано и может быть выпущено с сервисными пакетами. Но если ошибка соответствует приведенному выше определению, это уязвимость. В таком случае выдается бюллетень по безопасности, и исправление становится доступным как можно скорее.
Что такое уязвимость нулевого дня
Уязвимость нулевого дня – это ранее неизвестная уязвимость в программном обеспечении, которое подвергается эксплуатации или атаке. Он называется «нулевой день», поскольку у разработчика не было времени на его исправление, и патч для него еще не выпущен. Использование набора инструментов Enhanced Mitigation Experience в Windows – отличный способ защитить вашу систему от атак нулевого дня .
Защитите и защитите себя от уязвимостей
Лучший способ защитить себя от уязвимостей – убедиться, что вы устанавливаете обновления и исправления безопасности для своей операционной системы сразу после их выпуска, а также убедитесь, что на вашем компьютере Windows установлена последняя версия любого программного обеспечения. Если на вашем компьютере установлены Adobe Flash и Java, вам нужно будет позаботиться о том, чтобы установить их обновления как можно скорее, так как они относятся к числу наиболее уязвимых программ и представляют собой наиболее распространенный вектор – и уязвимости в них обнаруживаются через день. Кроме того, убедитесь, что вы устанавливаете хорошее программное обеспечение для обеспечения безопасности в Интернете. Большая часть такого программного обеспечения включает в себя функцию сканирования уязвимостей, которая сканирует вашу операционную систему и программное обеспечение и помогает исправить их одним щелчком мыши.
Существует несколько других программ, которые могут сканировать ваш компьютер на наличие уязвимостей в вашей операционной системе и установленном программном обеспечении.Secunia Personal Software Inspector, SecPod Saner Free, Microsoft Baseline Security Analyzer, Сканер уязвимостей Protector Plus Windows, Malwarebytes Anti-Exploit Tool и ExploitShield – вот некоторые из наиболее известных бесплатных инструментов, доступных для Windows. Эти инструменты сканируют ваш компьютер на наличие уязвимостей операционной системы и незащищенных фрагментов программного кода и, как правило, обнаруживают уязвимые и устаревшие программы и плагины, которые подвергают ваш обновленный и защищенный компьютер Windows вредоносным атакам.
Завтра мы увидим, что такое наборы эксплойтов и эксплойтов.
Источник: techarks.ru
10 основных уязвимостей ПО и способы их устранения
Веб-разработчик Приянши Шарма поделилась в своем блоге на dev.to десятью методами устранения уязвимостей в софте.
Собираем на дрон для штурмовиков Николаевской области. Он поможет найти и уничтожить врага
1. Инъекционные атаки . Это тип уязвимости ПО, при котором злоумышленники переносят вредоносный код из приложения в другую систему. Например, вызовы операционной системы, использование сторонних программ с помощью команд оболочки, а также вызовы серверных баз данных через SQL (так называемые SQL-инъекции ). Такие атаки используют поля ввода, которые взаимодействуют с базами данных и каталогами для защиты от уязвимостей. Эти поля часто остаются незащищенными из-за отсутствия входного фильтра.
Лучшая защита от таких угроз — добавление фильтров к входным данным. Чтобы предотвратить изменение запросов злоумышленниками, в базах данных SQL должны использоваться подготовленные операторы.
2. Недочеты системы аутентификации и хранения сессий . Приложения, связанные с управлением и хранением сеанса, часто неправильно реализуются, что позволяет злоумышленникам, например, скомпрометировать ключи, пароли, токены сессии, чтобы временно или навсегда получить доступ над идентификационными данными пользователей.
Чтобы предотвратить автоматическое заполнение и повторное использование украденных учетных данных, разработчики должны применять многофакторную аутентификацию. Также Приянши Шарма утверждает, что очень важно согласовать длину и сложность пароля, а также последовательно реализовать проверку его ненадежности.
ПОБУДОВА БІЗНЕС-ПРОЦЕСІВ
Навчіться впроваджувати бізнес-процеси відповідно до нових цілей компанії.
3. Незащищенность критичных данных. Раскрытие конфиденциальных данных происходит, когда приложении или компания непреднамеренно раскрывают личную информацию. Обычно злоумышленники перехватывают информацию двумя способами. Во-первых, данные могут перехватить во время их передачи от пользователя к клиенту по методу «man-in-the-middle».
Второй способ подразумевает захват данных из-за слабого кэша или паролей и учетных данных.
Автор подборки отмечает, что это не то же самое, что и утечка данных, когда злоумышленник намеренно обходит систему безопасности, чтобы получить доступ и украсть информацию. Эта программная уязвимость возникает в результате неправильной защиты базы данных, в которой хранится информация. Например, вследствие слабого шифрования или его отсутствия.
По мнению Приянши Шарма, одна из лучших практик для предотвращения утечки данных — использование уникальных и сложных паролей для онлайн-учетных записей. Внедрение высококачественного ПО также имеет значение для безопасности системы, потому что в программный пакет включена защита от вирусов и вредоносных программ.
4. Парсинг внешнего XML. Это программная уязвимость приложения, которая анализирует ввод XML. Атака происходит, когда ввод XML, содержащий ссылку на внешний объект, слабо обрабатывается настроенным синтаксическим анализатором XML. Это может привести к раскрытию конфиденциальной информации (пароли, личные данные пользователя) и подделке запросов на стороне сервера.
Для профилактики уязвимости автор советует использовать более простые форматы данных и избегать сериализации конфиденциальной информации. Обнаружить в исходном коде XXE также могут помочь инструменты статического тестирования безопасности приложений (SAST).
5. Нарушение контроля доступа. Разработчики часто недооценивают сложность реализации надежного механизма авторизации. Этим пользуются злоумышленники, находя неправильные схемы и получая возможность просматривать, изменять и удалять контент и взять на себя администрирование сайта.
Чтобы избежать этого, важно спланировать требования к управлению доступом приложения и зафиксировать их в задокументированной политике безопасности. Обширное тестирование также важно, чтобы убедиться, что у злоумышленника не будет возможности обойти механизм авторизации.
6. Неправильная конфигурация безопасности. Здесь речь идет о неправильной настройке или отсутствии защиты мер безопасности, что ставит под угрозу ПО и конфиденциальные файлы. Уязвимости могут включать неисправленные недостатки, незащищенные файлы или каталоги, неиспользуемые страницы и устаревшее ПО.
Чтобы снизить риски уязвимости системы безопасности, Приянши Шарма советует использовать протокол развертывания для постоянной разработки и развертывания обновлений в защищенной среде или определенной архитектуре. Автоматическое развертывание также будет поддерживать приложения в актуальном состоянии и предотвращать атаки.
7. Межсайтовый скриптинг (XSS). Одна из причин возникновения уязвимости — редактирование веб-страницы с применением данных пользователя с использованием API браузера, который может создавать HTML или JavaScript. При это вредоносные агенты могут воспользоваться недостатками межсайтовых скриптов для выполнения собственных. Злоумышленники могут использовать XSS для захвата учетных данных пользователя, выполнения санкционированных действий или получения полного контроля над ПО.
Уязвимость может быть устранена путем очистки ввода. Проверка и экранирование пользовательского ввода поможет предотвратить вредоносную инъекцию.
8. Небезопасная (ненадежная) десериализация. Как пишет Приянши Шарма, эта уязвимость считается наиболее серьезной, влияющей на большинство современных систем. Недостатки десериализации часто приводят к удаленному выполнению кода, что позволяет злоумышленникам выполнять атаки с повторением, внедрением и повышением личных привилегий.
Чтобы предотвратить атаку, средства защиты должны иметь полную видимость архитектуры основного приложения, а также предоставление информационного потока во время исполнения программы.
9. Использование компонентов с известными уязвимостями. Чтобы узнать, какие компоненты имеют уязвимость, в национальной базе данных уязвимостей ( National Vulnerability Database ) есть обширный список известных сторонних уязвимостей, которые помогут принять решение.
Приянши Шарма советует получить полное представление о компонентах, используемых для создания приложения. Если уязвимость обнаружена, нужно настроить процесс для беспрепятственной загрузки, тестирования и выпуска патчей.
10. Недостатки журналирования и мониторинга. Из-за этого многие компании не могут эффективно управлять нарушениями безопасности. Недостаточное ведение журнала и мониторинг делают систему уязвимой для взлома, извлечения и уничтожения данных.
Для минимизации атак, автор подборки советует установить программы для эффективного мониторинга сети и настроить оповещения, чтобы выявлять сомнительные действия и своевременно реагировать на них.
Источник: highload.today
Уязвимые программы что это
Заказать звонок
Что такое Топ-10 OWASP и какие уязвимости веб-приложений наиболее опасны?
Главная » Блог » Что такое Топ-10 OWASP и какие уязвимости веб-приложений наиболее опасны?
Заказать звонок
Использование рекомендаций Open Web Application Security Project (OWASP) давно стало стандартом обеспечения безопасности веб-приложений. Рейтинг угроз OWASP Top 10 обновляется каждые 3-4 года.
Подробнее про OWASP
OWASP (Open Web Application Security Project) — некоммерческая организация, которая занимается вопросами безопасности программного обеспечения. Все её проекты, а так же документация, презентации, информация о мероприятиях, веб-сканер с открытым исходным кодом доступны на веб-сайте и являются бесплатными.
Одним из популярных и значимых проектов OWASP является ведение списка 10 основных угроз безопасности веб-приложений — OWASP Тop 10. Список обновляется каждые 3-4 года, последнее обновление было в 2021 году.
Рекомендации OWASP высоко ценятся специалистами по анализу защищенности приложений.
ТОП-10 уязвимостей OWASP
OWASP Top 10 – это регулярно обновляемый рейтинг основных угроз безопасности веб-приложений.
Международные эксперты по информационной безопасности OWASP рекомендуют всем компаниям учитывать выводы документа при построении корпоративных систем, чтобы минимизировать риски от угроз безопасности.
В последний список угроз OWASP вошли:
А01:2021 Нарушение контроля доступа (англ. Broken Access Control).
А02:2021 Сбои криптографии (англ. Cryptographic Failures).
А03:2021 Внедрение кода (англ. Injection).
А04:2021 Небезопасный дизайн (англ. Insecure Design).
А05:2021 Неправильная конфигурация (англ. Security Misconfiguration).
А06:2021 Уязвимые и устаревшие компоненты (англ. Vulnerable and Outdated Components).
А07:2021 Ошибки идентификации и аутентификации (англ. Identification and Authentication Failures).
А08:2021 Нарушения целостности программного обеспечения и данных (англ. Software and Data Integrity Failures).
А09:2021 Сбои регистрации и мониторинга безопасности (англ. Security Logging and Monitoring Failures).
А10:2021 Подделка запросов на стороне сервера (англ. Server-Side Request Forgery).
Нарушение контроля доступа
Самая частая угроза веб-приложениям. Возникает, когда нарушен доступ к ресурсам. То есть некоторые ограничения для аутентифицированных пользователей не работают или настроены неправильно. Такие ограничения позволяют получать, например, доступ к другим учётным записям. Злоумышленники при нарушенном контроле доступа получают возможность управления сеансом пользователя и могут также получить доступ к незащищенным логинам и паролям из активных сеансов.
Сбои криптографии
Эта уязвимость также является одной из самых «популярных». Возникает в приложениях, в которых не защищены должным образом конфиденциальные данные: данные банковских карт, имена , пароли пользователей и т.д. Например, сайт не использует TLS (англ. transport layer security — протокол защиты транспортного уровня) на всех страницах или применяется слабое шифрование данных. Злоумышленник с помощью cookie перехватывает сеанс пользователя и заменяет его личные данные.
Важно следить за шифрованием данных и избегать устаревших криптографических функций.
Внедрение кода
Внедрение кода — запрос или команда, которая применяется злоумышленником для вставки в интерпретатор через обращение к базе данных или, например, к LDAP (Lightweight Directory Access Protocol — «легковесный протокол доступа к каталогам»). Команды, которые вводятся таким образом, заставляют приложение делать непредусмотренные разработчиком действия. Для этой атаки уязвимы приложения, которые принимают параметры в качестве входных данных.
Небезопасный дизайн
Новая категория, которая появилась в рейтинге в 2021 году, посвящена рискам, связанным с ошибками проектирования и архитектуры приложения. Введение этой угрозы можно считать призывом к использованию моделирования угроз, безопасных шаблонов проектирования и эталонных архитектур. Одним из факторов, способствующих небезопасному проектированию, является отсутствие профилирования бизнес-рисков.
Неправильная конфигурация
Встречается в веб-приложениях, которые анализируют ввод XML (Extensible Markup Language – расширяемый язык разметки). Это происходит, когда плохо сконфигурированные процессоры XML оценивают ссылки на внешние объекты в документах XML и отправляют конфиденциальные данные неавторизованному внешнему объекту (устройству хранения). По умолчанию большинство анализаторов XML уязвимы для этого вида атак.
Уязвимые и устаревшие компоненты
Существует множество программных компонентов с открытым исходным кодом, а так же библиотек и фреймворков, доступных разработчикам. Если в приложении используется компонент, имеющий уже известную уязвимость, он становится слабым звеном, которое может повлиять на безопасность всей системы. Разработчики часто не вникают, какие компоненты уже присутствуют в их приложениях от предыдущих специалистов. Это затрудняет обнаружение и устранение ошибок при обнаружении уязвимостей в приложениях, а так же их обновление.
Ошибки идентификации и аутентификации
Эти ошибки также новая категория в списке. Проблемы с аутентификацией позволяют злоумышленнику использовать различные методы для получения контроля над любой учётной записью в системе. В худшем случае злоумышленники получают полный контроль над системой. Эта уязвимость опасна ещё и потому, что веб-сайты с проблемами аутентификации очень распространены. Проблема возникает из-за ошибок в управлении сеансом, что позволяет злоумышленникам взломать пароли, ключи безопасности и т.д.
Ошибки целостности программного обеспечения и данных
Небезопасная десериализация (Insecure Deserialization) позволяет злоумышленнику удалённо выполнять код в приложении, подделывать или удалять сериализованные (записанные на диск) объекты, проводить атаки путём внедрения, повторного воспроизведения. Эта проблема безопасности приложений очень серьезная и, к сожалению, затрагивает большинство современных систем.
Сбои регистрации и мониторинга безопасности
Время от атаки до обнаружения может занять до 200 дней, а порой и больше. Тем временем злоумышленники могут вмешиваться в работу серверов, повреждать базы данных и красть конфиденциальную информацию. Неверное ведение журнала безопасности и неэффективная интеграция систем безопасности являются «открытой дверью» для злоумышленников и их манипуляций.
Подделка запросов на стороне сервера
Ошибки SSRF (server side request forgery — программный код, с помощью которого можно заставить уязвимое приложение сделать запрос на предоставленный URL) возникают когда веб-приложение извлекает удаленный ресурс без проверки предоставленного пользователем URL-адреса. Это дает злоумышленнику возможность перенаправить созданный запрос в неожиданное место назначения, обходя защиту брандмауэром, VPN или другими средствами управления доступом к сети.
Поскольку современные веб-приложения предоставляют конечным пользователям разные функции, получение URL-адреса становится распространенным сценарием. Частота ошибок SSRF становится выше из-за распространения облачных сервисов и сложности архитектур.
Отметим, что список построен в виде рейтинга. Ранжирование основывается на частоте дефектов, серьезности уязвимостей и их потенциального воздействия. Это позволяет разработчикам и специалистам по безопасности понимать наиболее серьезные риски и минимизировать возможные последствия эксплуатации уязвимостей злоумышленниками.
Наши специалисты так же используют OWASP в анализе защищенности веб-приложений. Закажите анализ у нас, чтобы получить его в соответствии с международными стандартами и методиками.
Источник: rcngroup.ru