Аналитики прогнозируют лавинообразный рост числа предметов, способных подключаться к Интернету, активно передавать и получать данные, а заодно и обмениваться ими между собой — их скоро будет уже более 200 млрд. Пока объем данных от этих устройств-вещей составляет несколько процентов потока, генерируемого во всем мире, однако уже через несколько лет он будет на порядок больше. Как организовать надежное взаимодействие между подключенными к Сети устройствами, а заодно и людьми? На этот вопрос отвечают авторы этого номера журнала, посвященного анализу безопасности решений реального времени.
Как отмечается в статье «WebRTC: коммуникации в реальном времени», совокупность современных технологий и стандартов позволила превратить Паутину в коммуникативную среду, в которой устройства и пользователи взаимодействуют непосредственно друг с другом в режиме реального времени. Такое уже случалось в истории человечества до изобретения письменности, когда коммуникации между людьми осуществлялись устно в реальном времени; и теперь, на заре эпохи Интернета вещей, с помощью протокола коммуникаций реального времени WebRTC, возможно, сделан следующий шаг на пути к принципиально новым способам взаимодействия.
В случае WebRTC обмен данными между устройствами Сети в дуплексном режиме определяется не сервисами, как было до сих пор, а приложениями, способными самостоятельно находить себе абонентов, устанавливать соединение и поддерживать «разговор». Как отмечают авторы этого номера, для индустрии это означает принятие стека новых стандартов, сравнимых по значению с семейством протоколов TCP/IP и обеспечивающих среду, почти исключающую посредников в виде серверов из процесса взаимодействия — два браузера сами организуют диалог. Однако нет принципиальных преград и для поддержки групповых конференций любых устройств из мира Интернета вещей, причем без присутствия человека.
Вместе с тем, как отмечает Валерий Коржов, несмотря на то что WebRTC становится все более популярным для организации коммуникаций и ничто не мешает любому разработчику поддержать его на уровне приложения, безопасность взаимодействия браузеров все равно остается под угрозой. Традиционные средства индивидуальной защиты, такие как антивирусы, не всегда способны работать на уровне браузера, и хотя они содержат модули для обеспечения безопасности работы в Сети, все же не могут контролировать процессы WebRTC — безопасность, несмотря на достаточную проработанность стандарта, оказывается в руках разработчиков. Нередки ситуации, когда хорошо продуманные с точки зрения безопасности технологии на практике оказывались уязвимы, и особенно это относится к устройствам, для которых затруднен процесс обновления встроенного ПО либо их программное обеспечение написано под заказ и небрежно проверено.
Данное наблюдение подтверждают изложенные в статье Юрия Карпова факты, свидетельствующие о том, что ошибки в программах способны существенно повлиять на убеждения огромного числа людей и даже поставить под сомнение демократические устои государства, — элементарная некомпетентность программистов вполне может угрожать национальной безопасности страны. Например, в программах подсчета голосов избирателей использовались неприемлемые для параллельных сред алгоритмы определения мгновенного состояния распределенной системы. Кроме того, программы не прошли тщательной валидации, хотя известно, что ошибки в параллельных системах нельзя выявить обычным тестированием. Параллельные и распределенные программы получают сегодня все большее распространение, и именно в них наиболее вероятно появление ошибок, поэтому игнорирование технологий разработки и методов доказательства корректности параллельных и распределенных программ вкупе с низкой квалификацией программистов, не знакомых с современными методами разработки и верификации, может привести к тому, что инциденты с системой голосования, с некорректным подсчетом процентов на выборах в органы власти, сбои при стыковке космических объектов и потери спутников связи станут регулярным явлением.
Для многих нынешних жителей Интернета браузер Netscape Navigator был первым окном во Всемирную паутину — в 1995 году он владел 80% рынка, но уже через два года начал терять свою долю, а в 2003 году компания обанкротилась по причине отсутствия управления программными продуктами. Все чаще практически вся функциональность каких-либо систем реализуется программно, но, являясь гигантским генератором дохода, софтверный бизнес для компаний все-таки нестабилен и непредсказуем. Как отмечается в статье «Управление программными продуктами», сегодняшние герои завтра могут легко исчезнуть — многие компании и начинания терпели крах, поскольку слишком акцентировались на технологиях без опоры на надежную бизнес-стратегию. Пример с Netscape показывает, что недостаточно просто предлагать набор функциональных возможностей, — в успешных компаниях, таких как Apple и Google, управление продуктами осуществляется на должном уровне.
Эволюционный путь развития концепции Интернета вещей, постулирующей, что все в мире имеет разум, рано или поздно приведет к решению проблем безопасности реального времени, когда сама Сеть будет общаться с людьми, а не наоборот. Впрочем, как утверждают наши авторы, межмашинное взаимодействие безопасно уже сегодня, но лишь в отдельных индустриях, для которых традиционно гарантируется высокое качество ПО.