Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #71, ОКТЯБРЬ 2006 г.

spesial опрос

 

Спецвыпуск: Хакер, номер #071, стр. 071-080-7


Алексей Петров:

1 ПРОЧИТАТЬ И ИЗУЧИТЬ FAQ ПО SECURITY КОНКРЕТНОГО ЯЗЫКА ПРОГРАММИРОВАНИЯ, А ТАКЖЕ ПО БЕЗОПАСНОСТИ СРЕДЫ, В КОТОРОЙ ПРОГРАММЕ ПРИДЕТСЯ РАБОТАТЬ, И ПО БЕЗОПАСНОСТИ СОПУТСТВУЮЩИХ ПРИЛОЖЕНИЙ.

2 УДЕЛЯТЬ БОЛЬШЕ ВНИМАНИЯ ВСЕМ ВНЕШНИМ ПАРАМЕТРАМ, ПРОПУСКАЯ ИХ ЧЕРЕЗ ФУНКЦИЮ-СТЕРИЛИЗАТОР.

3 ПРОДУМАТЬ ВСЮ СТРУКТУРУ ПРОГРАММЫ И ПРОРАБОТАТЬ ОПАСНЫЕ МЕСТА.

Как правило, программисты, которые досконально знают возможности и нюансы конкретного языка и сопутствующих приложений (скажем SQL/WEB), просто предугадывают возможные опасности и ошибки. И заранее при кодировании либо решают их, либо обходят «тонкий лед».

Крис Касперски:

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

Потому что уровень культуры программирования неуклонно падает: программированию нельзя научиться по наитию и уж тем более нельзя допускать к серьезным проектам новичков, которые окончили курсы, написали несколько программ и все. Кто не умеет писать опасный код, тот никогда не сможет написать безопасный, поскольку компилятор для него — черный ящик, и он не знает, как хакеры атакуют программы.

Анатолий Скоблов:

Любой код — безопасный, пока им пользуется небольшая группа людей. Верно и обратное — как ни старайся, ошибки будут всегда. И чем популярней твой продукт, тем больше найдется дыр. А конкретные техники написания «более безопасного» кода общеизвестны.

Александр Лозовский:

Читать книжки, искать в интернете, общаться с умными людьми, читать наш журнал :), а потом — взять, сесть и написать!

Иван Касатенко:

Не писать его. Дело в том, что компьютер — как лук. У него много слоев. И каждый слой абстракции, от транзисторной логики и до абстракции искусственных нейросетей, придумал человек. А человеку свойственно ошибаться. Наслоение таких ошибок многократно, и с каждым витком увеличивается возможность уязвимостей. А что делать, когда код все-таки писать нужно? Тогда пишешь, максимально взвешивая решения, проверяя передаваемые коду параметры, не делая допущения о том, что кому-то недоступен исходный код. Наоборот, допуская мысль, что кругом враги :). Жить с такой паранойей сложно, а вот программировать — в самый раз.

Михаил Фленов:

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

Назад на стр. 071-080-6  Содержание