"Безопасность: Защищённый код" М. Ховарда и Д. Лебланка
Книги по компьютерной безопасности делятся, в основном, на два типа: это либо увлекательно рассказывающие, как что-то сломать, либо скучные и нудные инструкции по созданию защит. Таких, которые рассказывали бы о защите достаточно интересно, очень мало. К счастью, книга, о которой пойдёт речь далее, является исключением из этого правила.
Начинается она с рассказа о том, почему в современном мире информационных технологий защита играет такую важную роль. Авторы говорят о необходимости обучения пользователей, о связи безопасности приложения с различными этапами его создания, о принципах безопасности, которые имеет смысл взять на вооружение. Далее идёт рассказ о таком способе создания защищённых приложений, как моделирование грозящих им опасностей. Авторы приводят и конкретные решения: так, например, они довольно подробно разбирают опасности, грозящие приложению расчёта зарплаты.
После вводной части авторы пособия переходят к практической. В ней рассказывается о конкретных видах атак на приложения, а также о том, как от этих атак защититься. Среди таких атак на первом месте переполнение буфера, и именно этой атаке в книге уделено особое внимание. Авторы затем рассказывают о выборе механизма управления доступом, о принципе минимальных привилегий, о различных "подводных камнях" криптографии, причём повествование идёт с упором на безопасность Windows- и .NET-приложений. Затем в книге идёт речь об атаках на секретные данные; об опасностях, исходящих от регулярных приложений; о недостатках канонического представления имён файлов, о вводе данных в базу, о его особенностях, с точки зрения web-среды, о проблемах поддержки приложением нескольких языков.
Следующая часть книги повествует о дополнительных методах создания защищённого кода, как окрестили их авторы пособия. Здесь рассказывается о защите сокетов, о безопасности ActiveX-элементов и объектов DCOM, о противостоянии DoS-атакам, о создании безопасного кода в среде .NET и о многом другом. Затем идёт часть "Особые вопросы", в которой речь идёт о тестировании защиты, анализе безопасности кода, безопасной установке приложений. Речь идёт также о таких важных вопросах, как обеспечение конфиденциальности, скрытие информации от взломщика, документации по безопасности и ошибкам. Замыкают же книгу приложения, в которые входят список опасных API-функций, смехотворные оправдания от создателей незащищённых приложений и ещё несколько полезных и интересных списков.
Надо сказать, что книга написана простым и лёгким языком, несмотря на серьёзность излагаемого материала, не повергая читателя в уныние. Прочитать её, на мой взгляд, стоит каждому, кто так или иначе связан с разработкой программного обеспечения, и, конечно, в первую очередь, программистам. Думаю, если вы возьмётесь за чтение, то не пожалеете о потраченном времени.
Вадим СТАНКЕВИЧ,
[email protected]
Горячие темы