На главную | Содержание | Назад | Вперёд
Наши друзья

 

 

Взлом серверных приложений

Уже никого не удивишь взломом компьютера с помощью загрузочного диска. Од­нако такие атаки предполагают наличие практически неограниченного физиче­ского доступа к консоли компьютера. Но обычно этот доступ как раз очень ограни­чен (например, с помощью вооруженных охранников и собак). Единственное, что нужно уметь для проведения такой атаки, — это взламывать замки и проникать в чужие помещения. Безусловно, самым защищенным компьютером будет тот, кото­рый не подключен к сети, остается постоянно выключенным, вся информация на дисках которого стерта, и вообще он залит многометровой толщей бетона. Вот толь­ко такой полностью безопасный компьютер одновременно становится и полностью бесполезным. Большинство людей в реальном мире работают на своих компьютерах. Поэтому мы включаем компьютеры, загружаем операционную систему, подключаем его к Internet и начинаем работать на клавиатуре.
В сети Internet для большинства компьютеров обеспечивается весьма слабая за­щита. Если после установки по умолчанию программное обеспечение компьютера не проходит никакой настройки, то такой компьютер можно считать совершенно от­крытым для атак. Сеть Internet преимущественно представляет собой огромную группу связанных между собой открытых компьютеров (как связанные веревкой консервные банки). Проблемы настолько серьезны, что начинающий хакер способен просто загрузить с общедоступного Web-сайта программу атаки, которая существует уже более двух лет, и успешно взломать удивительно большое количество компью­теров. В Internet всегда найдется парочка легких целей. Однако это идеальный вари­ант. Гораздо ближе к реальности ситуация, когда в атакуемой сети используются по­следние заплаты программного обеспечения, запущена система обнаружения втор­жений и установлен один или более брандмауэров.
Безусловно, программное обеспечение можно взламывать где угодно, а не только на подключенных к Internet компьютерах. Все еще существуют устаревшие сети, се­ти телефонной связи, арендуемые линии связи, высокоскоростные оптические сети, ретрансляторы сообщений, сети Х.25, спутниковые и беспроводные сети. Однако риски во всех сетях подобны, даже если коммуникационные протоколы различны.
Удаленные атаки, или атаки по сети, с точки зрения злоумышленника намного безопаснее, чем атаки, требующие физического доступа к компьютеру. Просто здо­рово, когда можно избежать выстрелов из пистолета или укуса собаки (не говоря уж о тюремном заключении). Однако с технической точки зрения удаленные атаки про­водить гораздо сложнее, и здесь не обойтись минимальными знаниями. При удален­ной атаке всегда используется программное обеспечение, которое служит для досту­па по сети. Программное обеспечение, которое ожидает запросов из сети и выполня­ет действия по обслуживанию этих запросов от удаленных пользователей, называют серверным приложением (server software). Серверные приложения являются очень желанными целями удаленных атак хакеров.
Эта глава в основном посвящена теме взлома серверных приложений. Основное внимание мы обратим на приложения для работы в Internet, но не забывайте, что существуют и другие виды серверных программ, которые тоже уязвимы для описы­ваемых здесь атак. Возможность взлома серверных приложений обусловлена очень многими причинами. Может быть, программист не уделил должного внимания тес­тированию безопасности программы. Возможно, руководитель проекта сделал не­правильные предположения о надежности среды, в которой будет работать про­грамма. Или были использованы ненадежные средства разработки, а возможно, уяз­вимые протоколы. Все вышеперечисленные причины приводят к возникновению в программах уязвимых мест. В основании большого количества программ атаки лежат невероятно простые (и глупые) ошибки, например неправильное использова­ние возможностей интерфейсов API (вспомните функцию gets () ). Ошибки такого рода кажутся серьезными промахами разработчиков, но не забывайте, что большин­ство современных разработчиков не уделяют должного внимания проблемам безо­пасности. В любом случае, являются ли эти проблемы результатом чрезмерного до­верия к входным данным, ошибок программирования, неправильных вычислений или простых синтаксических ошибок, все вместе они приводят к возможности про­ведения удаленных атак.
Большинство из рассмотренных в этой главе атак были подробно рассмотрены в книгах наподобие Секреты хакеров. При этом большинство атак были проведены с помощью общедоступных средств, которые без особых проблем можно получить в Internet. Обратитесь к этим книгам, чтобы получить базовые сведения об атаках на серверные приложения и об использовании простых средств.
В этой главе будет рассмотрено несколько базовых проблем программного обес­печения сервера, включая проблему доверия к входным данным, поиска точек входа и использования доверительных отношений. Затем мы перейдем к изучению основ­ных методов атак, которые будут поясняться многочисленными примерами, т.е. на­ши читатели смогут понять, как на практике использовать в своих целях основные проблемы программного обеспечения.

 

На главную | Содержание | Назад | Вперёд
 
Яндекс.Метрика