Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
книги хакеры / Питер_Гудлиф_Ремесло_программиста_Практика_написания_хорошего_кода.pdf
Скачиваний:
16
Добавлен:
19.04.2024
Размер:
9.23 Mб
Скачать

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

Этотm

страшный, ужасный мир

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

35Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

w

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

.c

 

 

.

 

 

 

 

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

Иногда защитный код проектируется так, что его можно уда% лить из окончательной версии, и таким образом проблема быст% родействия снимается. Однако большинство приемов, которые будут здесь рассмотрены, не влечет сколько%нибудь заметных накладных расходов.

Защитное программирование избавляет от множества проблем безопасности, что весьма существенно в современных разработ% ках программного обеспечения. Ниже будет сказано об этом по% дробнее.

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

Этот страшный, ужасный мир

Кто%то однажды сказал, что не следует приписывать злонамеренности то, что объяснимо обычной глупостью.1 Чаще всего мы строим защиту от глупости, от ошибочных и непроверенных предположений. Однако злоумышленники существуют, и они постараются воспользоваться вашим кодом так, чтобы достичь своих преступных целей.

Защитное программирование повышает безопасность программ, пред% охраняя от такого рода умышленного злоупотребления. Взломщики и создатели вирусов не упускают случая воспользоваться неаккуратно написанным кодом, чтобы получить контроль над приложением и реа% лизовать свои зловредные планы. Это серьезная угроза в современном мире программных разработок, которая приводит к огромному ущер% бу, наносимому продуктивности, финансам и конфиденциальности.

Злоумышленником может оказаться как беспринципный пользова% тель, эксплуатирующий мелкую недоработку программы, так и зако% ренелый взломщик, только и занятый тем, чтобы найти способ неза% конно получить доступ к вашей системе. Очень многие программисты, сами не зная того, оставляют бреши, через которые проникают зло% умышленники. По мере объединения компьютеров в сети последствия неряшливости в написании кода становятся все более тяжелыми.

Многие крупные компании%разработчики наконец%то начали осозна% вать эту угрозу и серьезно относиться к данной проблеме, вкладывая время и средства в разработку защитного кода. На практике бывает трудно дополнить программы средствами защиты после того, как ата% ка уже случилась. Более подробно безопасность программного обеспе% чения рассматривается в главе 12.

1Некоторые историки приписывают это высказывание Наполеону. Что ж,

этот человек кое%что смыслил в том, как нужно защищаться.