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

 

 

Что такое безопасность программного обеспечения?

Определение принципов работы программного обеспечения является процессом, который включает в себя установку и систематизацию правил политики, а затем реализацию этой политики с помощью соответствующей технологии. Не существует никаких волшебных или универсальных средств для обеспечения безопасной рабо­ты программ. Усовершенствованные методы проверки кода очень полезны для вы­явления ошибок на этапе реализации, но они не заменяют проверки на практике. Усовершенствованные методы обеспечения безопасности приложений незаменимы, когда нужно проверить, что выполняется только разрешенный код, но совсем не го­дятся для выявления ошибок в исполняемых файлах.
В конце прошлого века на рынке средств по обеспечению безопасности произо­шел резкий всплеск, когда появилось множество "решений по безопасности". Поль­зователями были потрачены крупные суммы. Однако после многих лет использова­ния брандмауэров, антивирусных программ и средств криптографии, количество программ атаки продолжает увеличиваться. При этом растет и количество уязвимых мест (8).
На самом деле брандмауэры довольно слабо защищают компьютерные сети. Сис­темы обнаружения вторжений пронизаны ошибками, что приводит к большому чис­лу ложных тревог. Потрачены годы труда огромного количества специалистов, но программный код по-прежнему взламывают. Почему так происходит? На что же мы тратили деньги все это время?
Основной фактор, благодаря которому продаются программы безопасности, за­ключается в хорошей рекламе, например: "Просто купите этот продукт, и мы возь­мем на себя все ваши заботы". Итак, вы купили программу, установили ее и... Боль­шинство защитных механизмов не имеют никакого отношения к корню проблемы — ошибкам в программном обеспечении. Вместо этого они работают в режиме ответа. Запретить прохождение пакетов к этому или другому порту. Отслеживать файлы, которые содержат заданный шаблон. Отбрасывать фрагменты пакетов и пакеты, размер которых превышает предельное значение, без просмотра. К сожалению, фильтрация сетевого трафика — не самый лучший способ решения проблем. Основ­ная проблема заключается в программном обеспечении, которое обрабатывает про­пущенные пакеты.
Мы можем предположить, что существуют ошибки в ежедневно используемом программном обеспечении. И действительно, программное обеспечение играет объе­диняющую роль в большинстве коммерческих организаций. Конечно, мы пытаемся лишить злоумышленников доступа к уязвимому программному обеспечению, но проблема глубже и ее не решить с помощью традиционных барьеров. Чтобы рабо­тать быстрее в эпоху Internet, приходится быстрее обмениваться данными. Это озна­чает появление большего количества Web-служб и внешних интерфейсов, т.е. еще больше приложений будут доступны удаленно (в том числе и для хакеров). Откры­тыми для атак становятся даже обычные пользователи посредством программного обеспечения, работающего в их домах, машинах и даже в карманах. Под угрозой ата­ки находится почти каждый из нас.
Резюме
Взлом программного обеспечения был возведен в ранг искусства, это действи­тельно непростая задача. Сначала нужно понять, какую задачу решает фрагмент ко­да. Часто это можно сделать только по результатам работы. Иногда программный


код можно разделить на несколько фрагментов и изучить их отдельно. Иногда пред­назначение программного кода определяется с помощью некорректных входных данных. Этот код можно дизассемблировать или декомпилировать. Иногда (особенно если вы специалист по безопасности, а не хакер) с его помощью можно изучить проект программы и архитектурные проблемы.
Эта книга посвящена искусству взлома программного обеспечения. В некотором смысле она вкладывает оружие в руки читателей. В частности, хакерам12. Для не­опытных пользователей или же лентяев, которые хотят украсть что-то ценное, эта книга будет бесполезной, потому что авторы не описывают способов атак наподобие "просто добавь воды"13. Эта книга не для тех, кто хочет просто взломать чужую сеть, не задумываясь о том, как это происходит. Эта книга о том, как научиться взламы­вать программные системы, или, следуя нашей аналогии, как делать оружие своими руками.
Большая часть программных систем является частной собственностью. Это сложные системы, созданные по оригинальным проектам. По этой причине взлом программного обеспечения далеко непростая задача. Вот почему мы считаем, что эта книга необходима, хотя, вероятно, мы тоже только немного приоткроем завесу тай­ны хакинга.
Это опасная книга, но окружающий мир — тоже опасное место. Осведомлен — значит вооружен. Многие могут нас раскритиковать за разглашение изложенной информации, но мы придерживаемся мнения, что сохранение правды в тайне только приведет к ухудшению ситуации. Мы надеемся, что, попав в хорошие руки, эта книга реально поможет нашим читателям устранить многочисленные проблемы, связан­ные с защитой программного обеспечения.

 

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