If a C programmer asks "do you want to see something cool?", run away.
--John Van Enk

Tuesday, May 13, 2008

Баги - страшные и ужастные

Рядовой программист при написании программы зачастую не особо задумывается об ошибках, которые волей-неволей, но закрадываются в код. Эти ошибки зачастую совершенно неочевидны и посему приживаются довольно надолго, как например этот 25 летний баг, доставшийся всем BSD системам по наследству от 4.2 BSD.

Еще некоторое время назад я совершенно не понимал зачем нужны все эти обновления, хотфиксы, патчи и пр., если в большинстве случаев ПО работает корректно. Однако информация (особенно ценная), будучи одним из самых востребованных товаров, зачастую страдает от недостатка внимания к ее защите. Вы думаете, что ваш компьютер полностью защищен? Тогда взгляните хотя бы сюда. С тем обилием нелицензионного софта на просторах нашей Родины велик риск поставить себе ОС или софт с уже "предустановленными" программами - троянами, вирусами, различными руткитами )), которые тут же примутся усердно работать, собирая информацию о вас и вашей деятельности и отсылая ее своим "хозяевам". Или же вы станете частью какого-нить ботнета. Перспектив масса, но ни одна из них особо не радует. Выход остается один - выдернуть сетевой кабель из системного блока, так как ни проприетарное ни открытое ПО не защищено от уязвимостей. Зачастую слышно, что для полноценной работы в Linux нужен инет, ну никак без него.... Для других ОС ситуация обстоит так же - все обновления ПО качаются из интернета.

Ну а если уязвима например библиотека? которая используется в сотнях государственных учереждений, университетов, частных и коммерческих организациях национального и международного масштаба? А если где-то до сих пор работает софт, саппорт для которого discontinued, и используется уязвимая версия? А если этот софт управляет вашей АТС или работает в сети сотовой связи и вы не сможете однажды набрать "03"? или управляет АЭС, расположенной неподалеку от вас? или...

В общем к чему я веду -"семь раз проверь, один раз закоммить". (C) Народная программистcкая мудрость.