Что такое уязвимость?

Найдена новая критическая уязвимость: взлом пароля админа через постель!

По мотивам bash.org.ru

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

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

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

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

Вадим СТАНКЕВИЧ,
dreamdrusch@tut.by

Версия для печатиВерсия для печати

Номер: 

21 за 2010 год

Рубрика: 

Software
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!