Как всегда
В каких областях производится недостаточно тестирования? В первую очередь в сфере безопасности, о чём автор также писал в предыдущих статьях цикла. В первую очередь страдают этим разработчики веб-приложений и сайтов. Их избаловал спрос на их услуги и ложь преподавателей в ВУЗах о том, что работодатели их с руками оторвут. В результате они мнят себя пупом Земли, на котором свет клином сошёлся, и выпускают продукты, как только они компилируются без ошибок, а потом пользователи обрывают линии обратной связи с жалобами на сбои.
Есть явление, которое разработчики ПО затрудняются или не желают постичь, а именно безопасность пользователя. Исчезающе малое число разработчиков осведомлено о ней, присваивают ей важность и корректируют своё поведение и усилия по разработке с её учётом. Стоит запереть инфраструктуру, чем бы она ни была, брандмауэром или другими правилами отказа в несанкционированном доступе, и многие программные продукты прекращают функционировать. Причина проста: разработчики представления не имели, что оно такое бывает. Им не пришло в голову. Они разрабатывают на широко открытых всему миру устройствах в стиле «заходи, кто хочет, бери, что хочет», а там трава не расти.
Автор уже упоминал, как в начале 2000х гг. искусная пропаганда убила «приложеньица» на языке Java, обвинив их в небезопасности. Тот же факт, что сегодня большинство интернет-сайтов требуют для своей работы загрузку файлов сценариев и стилей с десятков посторонних доменных имён и адресов, остаётся без внимания, хотя достаточно пройтись по этим адресам поиском, чтобы обнаружить отсутствие явной информации о владельцах и даже географическом положении и юрисдикции, в которой зарегистрированы их владельцы. Пользователи загружают невесть что невесть откуда. Более тщательные исследования обнаруживают тревожные признаки и связи у множества популярных источников файлов сценариев. Но попробуйте заблокировать их, и половина Интернет «сдохнет» и или покажет «белый экран смерти», или будет до посинения крутить своими красивыми кружочками. Причина проста: полнейшее пренебрежение безопасностью и вера разработчиков в безграничный альтруизм создателей всего бесплатного с открытым кодом.
Автору приходилось осаживать таких разработчиков, стремившихся тащить в проекты всё, что блестит. Это вызывало недовольство, но иногда достаточно было лишь взять файл и положить его на свою собственную сеть доставки содержания, чтобы проект перестал требовать открытый доступ ко всему подряд. Это несложно, а результат гораздо более контролируемый и надёжный. Беда лишь в том, что это никто не хочет делать, в особенности горстка глобальных монополистов, задающих нормы поведения на рынке ИТ. Глядя на цирк шапито, творящийся там, остаётся только закатить глаза и махнуть рукой, настолько всё напоминает дурдом.
Если попытаться отследить соединения популярных интернет-приложений, не важно, веб, настольных или смартфонных, как сразу можно заметить пренебрежение безопасностью пользователя. Среди этих признаков установление соединений со множеством разных доменных имён, принадлежащих одной и той же организации. В инфраструктурах, подчиняющихся строгим требованиям безопасности, их нужно разрешать, но усилия и затраты на это оказываются многократно завышены, потому что какой-нибудь домен abc123.com раздаёт свои файлы сценариев и стилей не только с этого имени, но и с abc123cdn.com, abc123.ai и нескольких суб-доменов вроде css.abc123.com, images.abc123.com и т.д. Есть ли объективная необходимость в таком подходе? Только у ресурсов, обслуживающих многие миллионы пользователей, широко распределённых географически, но сколько таких? Раз, два и обчёлся, а делают так в наши дни почти все. Автор уже писал о первопричине: падении производительности ради погони за новомодными технологиями, чтобы разработчик мог приукрасить резюме.
Итак, вырисовывается неприглядная картина: разработчикам наплевать на безопасность и удобство пользователей, их интересует только привлекательность своего резюме для будущих работодателей, и тестировать свои продукты они не хотят. ИИ старается заменить их, но натренирован он на их же модели поведения, значит будет плодить ошибки и чрезмерно усложнять код. Кто могут нас спасти? Только тестировщики, а их мало, и их возможности и бюджеты ограничены.
Десятилетия наблюдения автора за индустрией ИТ и её участниками позволяют сделать неутешительный вывод: их неправильно воспитали и избаловали, им не привили необходимых положительных качеств, и теперь они проявляют антисоциальное поведение, выражающееся в пренебрежении удобством и безопасностью пользователей. Попытки воздействовать на них как правило не приносят положительных результатов, а зачастую выливаются в конфронтацию и дальнейшее ухудшение ПО, потому что это сходит с рук подозреваемым и виновным. А почему?
Дело во вседозволенности. Как автор уже упоминал, лицу без квалификации или организации без лицензии или сертификата не позволят подключить генератор к электросети или насос к водопроводу. Повару с туберкулёзом или гепатитом по идее не позволено сморкаться вам в шаурму. Но, как ни странно, неизвестно кто неизвестно откуда даже с купленным в переходе дипломом может беспрепятственно писать программный код для каких угодно приложений, и за решения сомнительного качества, содержащие ошибки, не наступает ответственности ни для него, ни для тех, кто его нанял и допустил. Результат у всех на виду: ошибки, сбои, неудобный пользовательский интерфейс, растраты, утечки данных и т.п. Причина в том, что точно такие же личности, как тот пресловутый повар, сморкаются и кашляют своими нелепыми решениями в программный код по всему миру.
Ситуация с репозитарием GitHub понятна: его создали на продажу, Microsoft приобрёл его для получения доступа к мировому океану исходного кода и тренировки ИИ, и регулировать его никто не собирается, потому что неинтересно. Поэтому там нет рейтинга проектов, а «банить» могут только пользователей владельцы проектов. Пользователь не может пожаловаться на проект и вызвать принятие мер: о том, что он содержит ошибки, критические уязвимости, или что его разработчики ведут себя неподобающе. Зато пользователя владелец проекта может заблокировать по своему усмотрению. Это лишь единичный пример того, как сфера ИТ перекошена в интересах разработчиков и в ущерб пользователю, но тем не менее это — пример для подражания, который многие копируют. В сухом остатке — недостаточное тестирование, которое ничто и никто не стимулирует.
Кое-где, в некоторых странах в какой-то момент стало ясно, что некоторые области предпринимательства требуют регулирования. Например, были приняты законы и правила о том, что такие важные организации, как банки, обязаны предоставлять клиентам возможность подать жалобу. Как всё в нашем лучшем из миров, эта мера действует криво, косо и беззубо, но по крайней мере существует. До регулирования взаимодействия ПО с пользователем, однако, человечество пока не додумалось, хотя ему следовало бы. Оно всё больше полагается на компьютеры и ПО, и некоторые традиционные взаимодействия уже уничтожены и заменены на ботов обратной связи, неспособных обслужить всё разнообразие запросов и нештатных ситуаций. Поздравляю, человечество! Ты только что сделало себе хуже, не заметив этого, а вседозволенность всего, что имеет какое-то отношение к индустрии ИТ и Интернет, только усугубляется: теперь у художников, писателей и поэтов можно воровать произведения, если этого хотят владельцы нейросетей. И чего дальше ожидать от тех, кому всё сходит с рук? Качества ПО? Не делайте мне смешно!
ИИ, которого некоторые ожидают, как мессию, написан теми же разработчиками бесплатного ПО с открытым кодом, которые подарили нам бесконечные гигабайты забагованного кода и отказываются исправлять ошибки. От него уже пострадали, как отдельные личности, так и целые организации и отрасли, только пока об этом глухо пишут из-за боязни падения курса акций. Всё новые дичайшие вбросы осуществляются через рекламные каналы, чтобы убедить потребителя во всемогуществе и непогрешимости ИИ. Легковерных дурачков в сфере ИТ и иже с ними уже убедили в том, что он заменит разработчиков. Лишь опытный глаз может подметить знакомую особенность этого предложения: что, как всегда, отсутствуют критерии и гарантии успеха и качества. ИИ, как всегда, предлагается на основе «хочешь, бери, а не хочешь, проваливай», если у пользователя нет ядерной кнопки или своего прокурора.
Итак, пока сфера ИТ не начнёт воспринимать потребности пользователя, особенно в безопасности, всерьёз, что должно выражаться во внимании к обращениям и соображениям пользователей, а также в комплексе мер по маркировке качества всего ПО и блокировке низкокачественного ПО, ничего не изменится. Стоимость частной жизни и ведения предпринимательской и государственной деятельности в части взаимодействия с ПО будет только возрастать по мере того, как индустрия ИТ монополизируется и накапливает опыт вымогательства средств и выкручивания рук пользователям.
Как всегда, человечество демонстрирует неспособность или нежелание правильно расставлять приоритеты: тапать хомяка и лайкать салатики в соцсетях ему важнее качества и безопасности ПО. А потом оно ноет, что ему звонят мошенники или что сайт не открывается.
Свидетельство о публикации №226062201637
