senseless drawing bot

Искусственный интеллект и все-все-все

Автономные, но уязвимые; беззащитные, но креативные технологии и их ограничения

“Умные” и автономные устройства, в основе которых лежат алгоритмы искусственного интеллекта, могут жить своей жизнью и разговаривать на непонятном человеку языке. Это предубеждение немало влияет на технофобию и на ошибочное представление о том, как устроено взаимодействие девайсов и гаджетов. На деле же за социотехническими системами скрывается постоянная борьба с разных сторон: разработчики стремятся создавать работоспособные программы, алгоритмы отыскивают уязвимости для достижения оптимальных способов своей работы, а пользователи стремятся подстроить технологии под свои нужды или же наделяют их своими же качествами. Давайте последовательно разберемся в деталях такой разной борьбы.

Что такое уязвимости

В терминологии разработчиков программного обеспечения уязвимость означает недостатки в системе, из-за которых возникает ее неправильная работа. Это, как правило, ошибки разработчиков. Баги в программном коде, вирусы, недоработки в проектировании, слабые пароли — вот примеры причин того, почему возможны сбои в системах. Уязвимыми могут оказаться границы доступа и объемы памяти, сетевые связи и инфраструктурные решения, базы данных и протоколы.

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

“Инженер по тестированию заходит в бар. Заказывает пиво. Заказывает 0 пива. Заказывает 99999999999 пива. Заказывает ящерицу. Заказывает -1 пиво. Заказывает ueicbksjdhd. Первый реальный клиент заходит и спрашивает, где находится туалет. Бар воспламеняется и всех убивает”.

И пользовательские ошибки — это еще не так рискованно, как хакерские атаки и вирусы. У программистов есть специальное слово для обозначения программ или участков кода, которые используют уязвимость для последующей атаки на систему — эксплоит (можно почитать колонку Касперского). Причем уровни атак могут быть какие угодно: для сайтов и интерфейсов, браузеров и приложений, программного обеспечения или даже операционных систем. Ситуативные решения называются “патчи” (заплатки, затыкающие недоработки), но чтобы их эффективно распространять необходимо постоянное обновление ПО и грамотная система поддержки и быстрой реакции на возникающие баги.

Разработчики признаются, что почти каждая программа, являясь результатом деятельности человека, потенциально уязвима. И дело не только в (недостаточном) профессионализме, (слабой) теоретической подкованности и (не)большом опыте, но и в постоянно возникающих новых потребностях и неидеальных традиционных методиках. А к этому добавьте то, что системы продолжают усложняться, и концепции связанных технологий вроде интернета вещей (Internet of Things, IoT) делают потенциально уязвимыми каждый из элементов этих систем.

Беззащитный интернет вещей

Разработчики выделяют две основных характеристики интернета вещей: совокупность цифровых устройств должна обмениваться данными по локальной беспроводной сети и/или интернету и работать автономно без особого взаимодействия с человеком. Из сегодняшнего мира приводят вот такие примеры:

“Фоторамка, зачем-то постоянная подключенная к сети через WiFi — это Internet of Things. Умный термостат и чайник — это оно. Телевизор со скайпом — да. Весы с твиттером, добавьте их в друзья. Беспроводные счетчики воды. Контроллеры солнечных батарей. Свечка с автоподжигом через смартфон”.

Количество устройств, подключенных к сети, практически пропорционально количеству потенциальных угроз, т.к. в каждом из них сразу обнаруживается угрозы для аппаратных средств (hardware), программного обеспечения (software) и беспроводной передачи информации (WiFi, Bluetooth и др.). Проблемы с “умными” вещами возникают по многим причинам, среди которых чаще всего упоминают: обновление всего и сразу (это касается и “софта”, и “харда”), герметичность систем (даже если отдельные элементы защищены), отсутствие единых стандартов взаимодействия.

Разработчики в сфере интернета вещей предлагают разные классификации обменных протоколов, и нам интереснее та, по которой можно понять, с чем и каким образом происходит взаимодействие. В клиент-серверной архитектуре предлагают разделять:

  1. D2D (Device to Device) — протоколы взаимодействия оконечных устройств между собой;
  2. D2S (Device to Server) — для передачи данных, собранных устройствами на серверы для обработки;
  3. S2S (Server to Server) — протоколы взаимодействия серверов друг с другом.

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

Пока основная реализация интернета вещей происходит через облачные технологии, что детерминирует базовую архитектуру и инфраструктуру систем. В качестве альтернативы сейчас рассматривается блокчейн как один из способов устранить уязвимости благодаря тому, что способен выводить протоколы взаимодействия устройств. Распределенный реестр позволяет децентрализовать систему и не ставить под угрозу ее целиком.

ИИ и новая креативность

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

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

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

Логика машинного “творчества” изначально зашита в алгоритмы и детерминирована задачами, которые ставят перед ними разработчики. Нейросеть, обученная выигрывать в го, не сможет соревноваться в шахматы; “сочиняющая” музыку Пианола не станет писать картины; бот AI Squire вряд ли будет проектировать дома, а не номер Esquire. И дело не в отсутствии универсальности этих алгоритмов, а в том, что творчество для машины означает использование существующих техник, элементов, а не условный и так ценимый жизненный опыт или вкладываемые в произведения переживания, чувства и смыслы.

Кстати об STS и творчестве

Попытки определить, можно ли считать искусством произведения алгоритмов в музыке или живописи напоминает спор, который возник во второй половине XIX века с возникновением фотографии. Подлинным искусством считалось то, что

“должно нести печать индивидуальности и творческой интерпретации творца; никакая “механическая” копия природы не может быть признана таковой”.

Авторы этой цитаты историки науки Лоррейн Дастон и Питер Галисон показывают в своей книге “Объективность”, как в научной среде менялось представление о подлинном, объективном, эстетическом. Их историческое исследование показывает, что границы этих представлений двигались под воздействием конвенциональных представлений и роли изображений в конструировании научного факта. Статус “механического” менялся от уничижительного и примитивного до инструментального, помогающего охватить и сформировать представления о том, куда человек может получить доступ только опосредованно.

Так что со статусом умных и автономных технологий? Сможет ли искусственный интеллект завоевать самостоятельность и в каких сферах? Где будет граница между алгоритмами и людьми — разработчиками или пользователями?

Мы с Nikolay Rudenko обсуждали три сценария возможного развития событий, в которых у искусственного интеллекта будут определенные границы ответственности.

  1. Контроль. ИИ никогда не будет самостоятельным настолько, что будет сам принимать решения и создавать технологические среды, потому что онтология инженерного предполагает исключительно утилитарное отношение к производству любой технологии, а задача инженера — сохранять за собой контроль за результатами своей деятельности и деятельности алгоритма.
  2. Симбиоз. Парадигма контроля сменится чем-то более дружественным, когда можно будет воспринимать алгоритмичный язык как самостоятельный (по типу общения животных между собой?). Правда, здесь все же потребуется своя среда, где будут возможны свободы деятельности. Предположим, что компьютеры смогут программировать другие компьютеры, но и в этом случае преобразование сигналов, перевод языка, следование протоколам, обеспечение материальной базы останется под контролем человека.
  3. Сингулярность. Наступит момент в технологическом развитии, когда разработки выйдут за пределы человека и его контроля и когда они самостоятельно смогут определять свои сферы ответственности. Вероятнее всего, для этого сценария тоже будут довольно жесткие ограничения по выработке протоколов и созданию среды, внутри которой алгоритмы действительно смогут обмениваться информацией, переводить ее с одних языков и схем на другие. Для реализации этого сценария разработчикам нужно будет сильно постараться.

--

--