Кто несет ответственность за дефекты в защите программного обеспечения
Брюс Шнейер: «По мере того как программные системы усложняются, они становятся менее защищенными»

Брюс Шнейер — основатель и директор по технологиям компании Counterpane, занимающейся вопросами защиты в Internet. Он написал две книги по криптографии и защите компьютеров — «Секреты и ложь» (Secrets and Lies) и «Прикладная криптография» (Applied Cryptography). Шнейер — один из самых откровенных критиков Microsoft и всех других производителей, которые создают программные продукты с серьезными изъянами в защите. В беседе с корреспондентом электронного журнала PC World.com Кимом Зеттером он высказал свою точку зрения относительно того, кто, по его мнению, несет ответственность за дефекты в защите ПО и что для решения этой все более и более актуальной проблемы могут сделать потребители.

Действительно ли стало больше изъянов в защите программ или мы просто лучше научились их находить?

И то и другое. Существуют тысячи и тысячи дефектов в защите программного обеспечения. Часть из них мы находим, но есть еще немало недостатков, которые нам пока обнаружить не удалось. Ситуация постепенно ухудшается, и основная тому причина — сложность. По мере того как программные системы усложняются, они становятся менее защищенными.

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

Потому что рынок не ценит безопасность. Такие компании, как Microsoft, могли бы потратить дополнительный год на разработку новой версии программы, взяв дополнительно две, пять сотен человек и протестировав ее защиту, но тогда она будет выпущена на год позже.

В Microsoft говорят, что все это было проделано при разработке операционной системы Windows 2000. По словам Скотта Кулпа, менеджера программ центра Microsoft Security Response Center, ее выпуск так долго откладывался именно для того, чтобы исправить все ошибки, связанные с защитой.

Они утверждали, что Windows 2000 будет самой безопасной ОС, но в ней оказалось дефектов защиты больше, чем в любой другой версии Windows.

Почему хакеры и специалисты по защите нашли дефекты, которые не удалось обнаружить Microsoft?

Это происходит не только с Microsoft. Тысячи и тысячи людей ищут ошибки в организации защиты, поэтому они обязательно на них наталкиваются. На это может потребоваться дни, недели, месяцы. Безусловно, компании, выпускающие ПО, проводят определенное тестирование и выявляют некоторые изъяны, но они не отводят на это необходимого времени. Рынок должен давать стимулы для организации действительно надежной защиты. Либо уровень ваших продаж падает, либо на вас подают в суд. Но в случае с ПО такого уровня ответственности нет. Если вам продали программный продукт с неприемлемым уровнем защиты и ваши данные в результате были украдены, производитель никакой ответственности за это не несет.

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

Да, но от этого еще никто не погиб...

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

Но чем сложнее становятся программные системы, тем больше дефектов оно имеет.

Тем не менее существует баланс. Автомобилестроительные компании стремятся во что бы то ни стало его соблюдать. Каждый год появляются новые моделей машин, какие-то усовершенствования, но уровень ответственности остается. Вам не станут предлагать новую возможность, если не уверены в ее безопасности, даже если сама по себе эта возможность кажется просто замечательной. Чтобы добиться этого, потребовались годы и годы судебных процессов, законотворчества и политических решений. В случае программного обеспечения проблема состоит в том, что вы получаете только одно — возможности; но вам не гарантируют ни надежности, ни безопасности.

Насколько успешно и оперативно устраняются изъяны в защите после того, как они обнаружены?

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

Полная открытость в отношении дефектов защиты — это хорошо или плохо для защиты?

Движение в поддержку полной открытости заслуживает одобрения, поскольку обычно компании либо игнорируют проблемы, связанные с дефектами защиты, либо не говорят всей правды. И независимые специалисты по информационной безопасности, и непрофессионалы могут найти дефект защиты, сообщить об этом компании, а компания начнет угрожать им судебным иском вместо того, чтобы решать проблему. Или они направят сообщение об уязвимости программного продукта в такую организацию, как Центр срочной компьютерной помощи (CERT — Computer Emergency Response Team) при Университете Карнеги-Меллона, которая может не предпринимать никаких действий в течение пяти месяцев.

Поэтому движение в поддержку полной открытости возникло от отчаяния. И, слава богу, оно начинает действовать. Если бы несколько лет назад вы сообщили в Microsoft о какой-то проблеме, они посоветовали бы вам помалкивать. Сейчас они знают, что лучше как можно быстрее исправить ошибку, иначе о ней на следующей неделе будет рассказано в газетах.

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

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

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

Но тогда производитель может заявить, что они никогда не получали такой код или протестировали его и пришли к выводу, что он не действует. Мне тоже не нравится, что дефекты защиты становятся достоянием хакеров, которые могут использовать их в неблаговидных целях. Я бы предпочел объявить компании об ошибке, не объясняя детали, чтобы компания устранила эту ошибку и всем было бы хорошо. Но, увы, такое действует далеко не всегда.