Выявление уязвимостей программного обеспечения
Выявление уязвимостей программного обеспечения — это осуществление анализа программного обеспечения с целью выявления уязвимостей информационной безопасности, которые были допущены при его разработке.
Уязвимости программного обеспечения
Сегодняшняя нормативная, методическая и инструментальная база выявления незадекларированных возможностей программ не способна эффективно гарантировать безопасность программных продуктов. Наличие объективных причин возникновения уязвимостей в программном обеспечении объясняется чрезвычайно высокой структурной сложностью программного кода, динамичностью развития версий и легкостью модификации кода.
Кроме того, существует проблема достоверной идентификации преднамеренно сформированных программных закладок, несовершенства нормативно-методической базы и отставание инструментальной базы сертификационных испытаний. То есть, в отличие от методов антивирусного контроля, не существует средств, которые гарантированно способны выявить программные закладки в структурно сложном программном обеспечении.
Термины Инфобеза: Уязвимость, 0-Day, Эксплойт, Бэкдор, Bug Bounty
Решим твою учебную задачу всего за 30 минут
Попробовать прямо сейчас
Базой теории информационной безопасности считается понятия угрозы, то есть, присутствие уязвимости, и риска, возможности эту угрозу реализовать. Уязвимостью программного обеспечения является его реализационный дефект, который способен потенциально снизить уровень его безопасности. Наиболее важными классификационными признаками уязвимостей программного кода считаются следующие моменты:
- Преднамеренное внесение уязвимостей программного кода. Это может быть логическая ошибка кодирования или программная закладка.
- Степень уязвимостей и функционирования, которая может быть в исходном и выполнимом коде, в среде.
- Подсистема безопасности, которая может быть компрометируема уязвимостью, например, парольная, криптографическая и так далее.
Выявление уязвимостей программного обеспечения
Руководящий документ по не декларированным возможностям был сформирован в девяностые годы прошлого века с целью решения задачи контроля над продаваемым в Российскую Федерацию зарубежным программным обеспечением и тогда, естественно, имел очень важное значение. Методики, которые были определены в этом руководящем документе, опирались на теорию надежности функционирования программных продуктов, поэтому проблемы защиты непосредственно программного кода были представлены в документе в недостаточно явной форме. Согласно этому документу главными видами проверок, которые обязаны проводить испытательные лаборатории, считаются структурный статический и динамический анализ исходных текстов (структуры программы, формирования и прохождения всех ее путей).
«Выявление уязвимостей программного обеспечения»
Готовые курсовые работы и рефераты
Консультации эксперта по предмету
Помощь в написании учебной работы
К числу достоинств документа можно причислить:
Что такое уязвимости LFI и как их использовать
- требование предоставить исходный программный код и документацию;
- требование выполнять контроль избыточности, которое может позволить исключить определенные закладные компоненты;
- требование присутствия определения полномасштабного тестирования.
Последнее требование при наличии необходимого мониторинга и аудита работы способно позволить выявить практически все уязвимости несложных программ, но касательно сложного программного обеспечения это будет весьма проблематичным.
Но имеется также у руководящего документа и отдельные недостатки. Прежде всего это существенная вычислительная сложность статического и динамического анализа. Практически, при возрастании сложности программного обеспечения динамический анализ превращается в неразрешимую задачу, и становится формальной процедурой, отнимающей большое количество времени и ресурсов у специалистов.
Также следует отметить отсутствие или недостаточность проверок, которые напрямую связаны с безопасностью программного продукта. К примеру, не упомянут сигнатурный анализ в требованиях к проверке программ ниже второго уровня контроля, то есть, программ, которые обрабатывают секретные и конфиденциальные информационные данные. Не задействованы требования к содержимому базы потенциально опасных конструкций, что может сделать неэффективными методики сигнатурного анализа.
На сегодняшний день используются следующие основные подходы к определению уязвимостей кода:
- Подход, который состоит в использовании структурного статического и динамического анализа исходного программного кода и регламентируется руководящим документом.
- Подход, который заключается в использовании сигнатурно-эвристического анализа потенциально опасных операций. Он выполняет сканирование программного кода на наличие таких операций, и далее осуществляется ручной или автоматический анализ фрагмента кода для определения реальной угрозы для программного обеспечения.
Можно считать очевидным, что второй подход не имеет недостатков избыточной структуризации всего программного обеспечения и очень большого объема полноформатного тестирования. Так как количество потенциально опасных операций обычно не превышает примерно десяти процентов объема всего программного обеспечения, то примерно в десять (иногда и в двадцать) раз может быть снижено время ручного анализа исходного текста.
Касательно статического и динамического анализа необходимо заметить, что итоговые результаты статического анализа по сложности интерпретации могут быть сопоставимыми с исходными текстами, а динамический анализ может дополнительно потребовать формирования и исполнения соответствующих тестов маршрутов. Это означает, что сигнатурно-эвристический анализ способен сократить затраты времени на поиск не декларированных возможностей в десятки раз. Практика показывает, что практически все выявленные на этапе сертификационных испытаний уязвимости кода, были найдены за счет применения именно второго подхода.
Замечание 1
Следует подчеркнуть, что для выявления уязвимостей программного обеспечения нужно использовать комплексный подход.
Источник: spravochnick.ru
Общая характеристика уязвимостей системного программного обеспечения
Уязвимости системного программного обеспечения необходимо рассматривать с привязкой к архитектуре построения вычислительных систем.
При этом возможны уязвимости:
в микропрограммах, в прошивках ПЗУ, ППЗУ;
в средствах операционной системы, предназначенных для управления локальными ресурсами ИСПДн (обеспечивающих выполнение функций управления процессами, памятью, устройствами ввода/вывода, интерфейсом с пользователем и т.п.), драйверах, утилитах;
в средствах операционной системы, предназначенных для выполнения вспомогательных функций, – утилитах (архивирования, дефрагментации и др.), системных обрабатывающих программах (компиляторах, компоновщиках, отладчиках и т.п.), программах предоставления пользователю дополнительных услуг (специальных вариантах интерфейса, калькуляторах, играх и т.п.), библиотеках процедур различного назначения (библиотеках математических функций, функций ввода/вывода и т.д.);
в средствах коммуникационного взаимодействия (сетевых средствах) операционной системы.
Уязвимости в микропрограммах и в средствах операционной системы, предназначенных для управления локальными ресурсами и вспомогательными функциями, могут представлять собой:
функции, процедуры, изменение параметров которых определенным образом позволяет использовать их для несанкционированного доступа без обнаружения таких изменений операционной системой;
фрагменты кода программ («дыры», «люки»), введенные разработчиком, позволяющие обходить процедуры идентификации, аутентификации, проверки целостности и др.;
отсутствие необходимых средств защиты (аутентификации, проверки целостности, проверки форматов сообщений, блокирования несанкционированно модифицированных функций и т.п.);
ошибки в программах (в объявлении переменных, функций и процедур, в кодах программ), которые при определенных условиях (например, при выполнении логических переходов) приводят к сбоям, в том числе к сбоям функционирования средств и систем защиты информации.
Уязвимости протоколов сетевого взаимодействия связаны с особенностями их программной реализации и обусловлены ограничениями на размеры применяемого буфера, недостатками процедуры аутентификации, отсутствием проверок правильности служебной информации и др. Краткая характеристика этих уязвимостей применительно к протоколам приведена в таблице 2.
Уязвимости отдельных протоколов стека протоколов TCP/IP,
на базе которого функционируют глобальные сети общего пользования
Наименование протокола | Уровень стека протоколов | Наименование (характеристика) уязвимости | Содержание нарушения безопасности информации |
FTP (File Transfer Protocol) – протокол передачи файлов по сети | Прикладной, представи-тельный, сеансовый | 1. Аутентификация на базе открытого текста (пароли пересылаются в незашифрованном виде) 2. Доступ по умолчанию 3. Наличие двух открытых портов | Возможность перехвата данных учетной записи (имен зарегистрированных пользователей, паролей). Получение удаленного доступа к хостам |
telnet – протокол управления удаленным терминалом | Прикладной, представи-тельный, сеансовый | Аутентификация на базе открытого текста (пароли пересылаются в незашифрованном виде) | Возможность перехвата данных учетной записи пользователя. Получение удаленного доступа к хостам |
UDP – протокол передачи данных без установления соединения | Транспорт-ный | Отсутствие механизма предотвращения перегрузок буфера | Возможность реализации UDР-шторма. В результате обмена пакетами происходит существенное снижение производительности сервера |
ARP – протокол преобразования IP-адреса в физический адрес | Сетевой | Аутентификация на базе открытого текста (информация пересылается в незашифрованном виде) | Возможность перехвата трафика пользователя злоумышленником |
RIP – протокол маршрутной информации | Транспорт-ный | Отсутствие аутентификации управляющих сообщений об изменении маршрута | Возможность перенаправления трафика через хост злоумышленника |
TCP – протокол управления передачей | Транспорт-ный | Отсутствие механизма проверки корректности заполнения служебных заголовков пакета | Существенное снижение скорости обмена и даже полный разрыв произвольных соединений по протоколу TCP |
DNS – протокол установления соответствия мнемонических имен и сетевых адресов | Прикладной, представи-тельный, сеансовый | Отсутствие средств проверки аутентификации полученных данных от источника | Фальсификация ответа DNS-сервера |
IGMP – протокол передачи сообщений о маршрутизации | Сетевой | Отсутствие аутентификации сообщений об изменении параметров маршрута | Зависание систем Win 9x/NT/200 |
SMTP – протокол обеспечения сервиса доставки сообщений по электронной почте | Прикладной, представи-тельный, сеансовый | Отсутствие поддержки аутентификации заголовков сообщений | Возможность подделывания сообщений электронной почты, а также адреса отправителя сообщения |
SNMP – протокол управления маршрутизаторами в сетях | Прикладной, представи-тельный, сеансовый | Отсутствие поддержки аутентификации заголовков сообщений | Возможность переполнения пропускной способности сети |
Для систематизации описания множества уязвимостей используется единая база данных уязвимостей CVE (Common Vulnerabilities and Exposures),
в разработке которой принимали участие специалисты многих известных компаний и организаций, таких как MITRE, ISS, Cisco, BindView, Axent, NFR, L-3, CyberSafe, CERT, Carnegie Mellon University, институт SANS и т.д. Эта база данных постоянно пополняется и используется при формировании баз данных многочисленных программных средств анализа защищенности и, прежде всего, сетевых сканеров.
Источник: studopedia.ru
Классификация уязвимостей
В 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 и т. д.). — Механизм воздействия. — Средство воздействия. Модель «традиционной» атаки Традиционная модель атаки строится по принципу «один-к-одному» или «один-ко-многим», т. е. атака исходит из одной точки.
Очень часто для сокрытия источника атаки или затруднения его нахождения используется метод промежуточных хостов. Злоумышленник реализует атаку не напрямую на выбранную цель, а через цепь узлов. Нередко эти узлы находятся в разных странах. В результате объекту атаки «кажется», что угроза исходит с промежуточного узла 2.
Модель распределенной атаки В ноябре 1999 года впервые была организована конференция в области информационной безопасности на тему распределенных атак. Эти атаки позволяют одному или нескольким злоумышленникам проводить сотни и тысячи нападений, осуществляемых в один момент времени, на один или несколько узлов. Традиционная модель атаки обычно оперирует одним узлом в качестве источника атаки. Именно этот принцип и заложен как основополагающий во многие средства защиты сетей. Модель распределенной или скоординированной атаки опирается на иные принципы. В отличие от традиционной модели, распределенная модель основана на отношениях «много-к-одному» и «много-ко-многим». Все распределенные атаки основаны на «классических» атаках типа «отказ в обслуживании», точнее — на их подмножестве – лавинных атаках. Смысл данных атак заключается в посылке большого количества пакетов на заданный узел сети (цель атаки), что может привести к выведению этого узла из строя, поскольку он «захлебнется» в потоке посылаемых пакетов и не сможет обрабатывать запросы авторизованных пользователей. Однако в том случае, когда полоса пропускания канала до цели атаки превышает пропускную способность атакующего, к «успеху» обычная атака «отказ в обслуживании» не приведет. В случае же распределенной атаки ситуация коренным образом меняется. Атака происходит уже не из одной точки Internet, а сразу из нескольких, что обуславливает резкое возрастание трафика и выход атакуемого узла из строя.

- Расширение прав доступа — любое несанкционированное действие, приводящее к расширению прав доступа в сети или на конкретном узле.
- Искажение информации — любое несанкционированное изменение информации, хранящейся на узлах сети или при ее передаче по сети.
- Раскрытие информации — распространение информации среди лиц без соответствующих полномочий доступа.
- Кража сервисов — несанкционированное использование компьютера или сетевых сервисов без ухудшения качества обслуживания других пользователей.
- Отказ в обслуживании — умышленное снижение производительности или блокировка доступа к сети или компьютеру и его ресурсам.
Этапы реализации атак Можно выделить следующие этапы реализации атаки: «сбор информации», «реализация атаки» и завершение атаки. Обычно, когда говорят об атаке, то подразумевают именно второй этап, забывая о первом и последнем. Сбор информации и завершение атаки, в свою очередь, также могут являться атакой и соответственно разбиваться на три этапа.
Источник: studfile.net
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