Причины и виды уязвимости приложений

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

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

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

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

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

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

Добавить комментарий

Ваш адрес email не будет опубликован.

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.