Читать «Третья мировая война. Какой она будет» онлайн - страница 59

Ричард Кларк

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

Самая распространенная ошибка — переполнение буфера. Код веб-страницы должен быть написан так, чтобы пользователь имел возможность ввести фиксированный объем данных, например имя пользователя и пароль. Вспомните Twitter, где вы за раз можете ввести не более 140 символов. Но если разработчик кода забывает ограничить количество символов, пользователь может ввести что-нибудь лишнее. И вместо имени пользователя и пароля там окажутся несколько строк кода, дающих вам права администратора. Представьте, как эти команды оказываются в полях ввода персональных данных пользователя и превращаются в приложение. Ваша страничка начинает думать, что это вошел системный администратор, и — пинг! — нарушитель внутри.

Ошибки программного кода непросто обнаружить. Даже специалистам бывает сложно идентифицировать ошибки или слабые места в нескольких строках кода. А если речь идет о миллионах строк? Конечно, существуют программы, проверяющие корректность написанного кода, но и им не под силу выловить все ошибки. Каждая новая строка кода увеличивает количество багов программы. В некоторых случаях программисты добавляют эти баги намеренно. Самый знаменитый пример такой «добавки» произошел, когда шутник из Microsoft добавил в Excel 97 программу-симулятор полетов. В Microsoft об этом узнали лишь тогда, когда люди стали благодарить компанию за такой подарок. Возможно, программисты сделали это ради развлечения, выгоды или по просьбе службы внешней разведки; но какими бы ни были мотивы, невозможно гарантировать то, что в массовых программах не найдется пары строк кода, которые дадут кому-нибудь возможность несанкционированного доступа. В троянском коне прятались «коммандос», в современных «троянах» прячутся команды вредоносного кода. При открытии нового документа в Excel можно было нажать F5, ввести в строку «X97:L97», нажать клавишу Enter, а затем Tab. И, о чудо, вы оказывались в ячейке М97. Достаточно было вызвать «Мастер диаграмм», удерживая кнопки CTRL+SHIFT, и — пинг! — на экране появлялась программа-симулятор полетов.