|

Плохие парни любят утку
Xakep, номер #019, стр. 019-024-5
Что касается информационной защиты вообще, то тут самой большой дырой всегда будет человек. Авторы программного обеспечения, системные администраторы практически всегда оставляют возможности для взлома. Вовсе не умышленно (хотя и такое тоже бывает), а просто таков уж человек, где-то что-то недосмотрит. И пока существует человеческий фактор - будут происходить взломы. То бишь всегда.
Чтобы вы могли посоветовать начинающим авторам (софт, необходимые знания).
Главное иметь голову на плечах, и желательно, чтобы в ней что-нибудь было. Не только знания, но и творческое начало, без него даже высококвалифицированный программист ничего оригинального сделать не сможет, а будет писать серые унылые программы, похожие на сотни других.
Что касается софта, то любой компилятор. Из визуальных средств разработки посоветовал бы Delphi, C++ Builder и Visual C++ (кому что больше нравится). Для системного программирования отлично подходит Watcom C++, хотя можно и на ассемблере (под Windows довольно интересно писать на асме, правда, небольшие вещи). Для реверсинжиниринга и изучения внутреннего устройства Windows нет ничего лучше, чем SoftIce. Эту программу я мог бы хвалить часами. Потрясающий ядерный отладчик. NuMega к нему бы еще SDK сделала с возможностью написания своих модулей, так цены бы ему не было, отличный пример добротно написанной программы, не имеющей аналогов, хотя бы частично предоставляющих такие же возможности. Для дизассемблирования не могу порекомендовать ничего кроме IDA, в основе которой опять же лежит оригинальная идея.
Что касается необходимых знаний, то начинать нужно с азов, с принципов программирования и таких языков, как Pascal и C++, затем ассемблер. Второй пункт - это понимание внутренних механизмов Win32. Писать под Windows системные вещи не зная этого невозможно, да и в прикладном программировании это очень часто бывает полезно. Раз уж мы говорим о троянописании, то, чтобы успешно бороться с антивирусами за жизнь под солнцем, нужно действительно хорошо понимать те вещи, которые происходят с той стороны окон, в том числе и недокументированные, о которых Microsoft не спешит распространяться. Поэтому берите в руки SoftIce и вперед. Одной из таких задач при написании Donald Dick было получение хэндла потока по его идентификатору. Ну и третий пункт - сетевые протоколы. Причем здесь тоже лучше начать с основ, с модели OSI. Используя для работы с протоколами только компоненты, поставляемые с той же Delphi, нельзя написать хороший сетевой продукт. Применяйте WinSocks.
Всегда существовала тенденция перевести труд программиста на более высокий уровень, это упрощает и убыстряет разработку. Но чем дальше это заходит, тем полезнее бывает пойти в другую сторону и спуститься на более низкие уровни. Порой там скрываются потрясающие возможности, которые позволяют проделывать такие финты, которые на высокоуровневых средствах разработки просто невозможно сделать.
Назад на стр. 019-024-4 Содержание Вперед на стр. 019-024-6
|