Уязвимости веб-систем (часть 4)

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

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

Абстрактная схема, описывающая технологию разработки ПО, позволяющая выделить категории уязвимостей относительно времени их внедрения (табл. 4).

Таблица 4

Классификация уязвимостей по этапу внедрения

Классификация уязвимостей по этапу внедрения

Так, на самом верхнем уровне представления жизненного цикла систем выделяются три фазы:

1. Фаза разработки, охватывающая весь период создания первой рабочей версии системы.

2. Фаза сопровождения, в ходе которой происходит модификация, совершенствование, развитие системы и появление ее очередной версии.

3. Фаза эксплуатации, то есть непосредственного функционального применения конкретной версии системы.

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

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

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

Генерация исполняемого кода в зависимости от языка программирования может осуществляться как в процессе разработки системы, так и в ходе эксплуатации (интерпретируемые языки). На этой стадии вносятся наиболее трудно выявляемые уязвимости, содержащиеся в самом компиляторе.

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

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

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

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

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