Причина проста – для пользователей пока важен лишь функционал, а об информационной безопасности эксплуатируемого ПО они только начинают задумываться. И значит сегодня разработчикам пока выгоднее писать востребованные программы быстро, пусть даже и с уязвимостями.
Однако над головами тех вендоров, которые не думают о том, чтобы программная начинка их продукции была безопасна, сгущаются тучи. Примеры тому появляются все чаще.
Так, по сообщению BBC, британская компания Land Rover отозвала с рынка более 65 тыс. своих автомобилей. Причина – дефекты, обнаруженные в ПО бортового компьютерного хозяйства, наличие которых за последние пару лет наглядно продемонстрировали автомобильные воры, использовавшие эти изъяны для угона этих авто (они научились проникать внутрь и запускать двигатели). Кстати, это позволило страховым компаниям не покрывать ущербы владельцам угнанных автомобилей этой компании, если только последние не находились на охраняемых парковках.
Справедливости ради нужно сказать, что Land Rover не единственная компания, в бортовом ПО, которой обнаружены уязвимости. Так, в феврале этого года BMW выпустила патч для некоторых моделей своих авто, в которых была задействована технология ConnectedDrive, позволяющая автомобилистам использовать в автомобиле Интернет, навигацию, некоторые другие сервисы, использующие установленные в автомобиле интерфейсы для работы с SIM-картами.
О понесенных упомянутыми автомобильными компаниями прямых и имиджевых ущербах я информации не нашел. Но вот в апреле этого года компания BT запустила дистанционные ИБ-сервисы для тестирования автомобилей на стойкость их инфраструктуру беспроводной связи (Wi-Fi, 3G/4G, Bluetooth и др.) к кибератакам, с тем чтобы помочь производителям автомобилей повысить защищенность их изделий. Ну а сервисы этичного хакинга помогут выявить наличие вредоносных программ и следы неавторизованного изменения в конфигурациях настроек эксплуатируемых автомобилей.
Появление этих сервисов означает изменение под давлением рынка ситуации с ИБ бортового автомобильного ПО в лучшую сторону. Можно предположить, что аналогичные изменения ускорятся и в разработке ПО в целом. Т.е. писать ПО без уязвимостей становится выгодно.
Уместный пример с "виндой". Пример ее развития наглядно показывает, как средний потребитель (в массе своей) от условно бесплатных пиратских копий перешел (в массе своей) к лицензионным, согласившись платить приемлемые деньги за работающую ОС, и не платить мизер за спортивный интерес заставить работать как ОС нечто ее напоминающее.
Ну ладно, с технической стороной вопроса безопасного ПО, предположим, разберёмся. Пусть даже не мы (человеки), а искусственный разум, который, получив задачу, будет создавать ПО, свободное от багов, глюков, дыр на _техническом_уровне_. А что делать с уязвимостями этапа постановки задачи? А проблемы исходных данных?
Утрированный, идиотский пример. Вот вы, например, делаете систему, не дающую ехать на машине в пьяном виде. Является ли уязвимостью то, что машина отказывается ехать, если жена слишком надушилась. Или, наоборот, едет, после того, как водила замахнул флакон шипра.
Являются ли уязвимыми реализации трех законов робототехники в книжках Азимова? Логические уязвимости в идеальных выдуманных законах там находятся с завидным постоянством.
Ну и серьёзно, ближе к нынешней действительности, сложность ПО пока растёт быстрее, чем способности людей, методик и программ с этой сложностью управляться. И конца этому пока не видно.