100kitov.ru

Интересные факты — события, биографии людей, психология
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Как сломать интернет

Можно ли «сломать» интернет?

Технологический прогресс за последний век привёл к интересному парадоксу: люди не могут представить своей жизни без того, существование чего не могли себе даже вообразить 30-40 лет назад. В сфере информации когда-то это было радио, следом за ним пришло телевидение, а там и интернет подоспел. Да настолько плотно подоспел, что маленьких детей перестали ставить в угол, им просто отключают интернет. А моя 60-летняя мама регулярно смотрит на планшете прогнозы погоды, новости и видеоролики по уходу за собаками на YouTube.

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

По некоторым данным именно так выглядит карта современного интернета. Изначально сеть задумывалась децентрализованной и гибко маршрутизируемой. В случае разрыва одного соединения данные пойдут в обход, по другим. Глядя на карту, сложно представить, по каким точкам нанести удар, чтобы всё перестало работать. Но давайте всё же немного пофантазируем о том, какие действия, процессы и события, искусственные и природного характера, могли бы серьёзно нарушить работу этого сложного организма (не забывая о том, что не всё из этого такие уж фантазии).

Давайте перережем провода

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

На начало 2014 года насчитывалось 285 подводных магистралей. Все они бережно нанесены на публично доступную карту. Точные места выхода некоторых из них на сушу не известны, некоторые аккуратно прикопаны от посторонних глаз, другие же можно обнаружить по таким вот очевидным объявлениям:

Повреждение одного или нескольких кабелей не приведут к полному краху, только добавят тормозов некоторым ресурсам. Общая пропускная способность каналов, исходя из экстраполяции данных за прошлые годы, должна составлять от примерно 1Tbps для Африки до почти 100Tbps для Европы. При этом использование каналов составляет примерно 50-75%. Повреждение одного кабеля легко компенсируется свободными мощностями остальных. Чтобы полностью разделить материки, некоему международному террористу Махмуду Ивановичу ван Джонсон-Рабиновичу Цзи нужно будет потратить немало ресурсов, чтобы разыскать все точки выхода, раскопать кабели и одновременно повредить их. А желательно также как можно дольше не допускать к местам повреждения ремонтные бригады, которые тут же бросятся устранять проблему. Как бы там ни было, это не разрушит сеть полностью, это лишь разобьёт её на континентальные сегменты, каждый из которых продолжит существовать автономно.

Корневые серверы

Система доменных имён была создана прежде всего для человеческого удобства. habrahabr.ru запомнить легче, чем 212.24.44.141 и 212.24.44.133. Информация обо всех доменах наиболее популярных доменных зон (com, net, org) содержится на корневых серверах. Всего их 13, именуются они буквами латинского алфавита от A до M. Гипотетически, если их каким-то образом отключить, после очистки кешей провайдеров доменные имена перестанут разрешаться, и, хотя сеть будет работать, попасть пользователи никуда не смогут.

Но это теория. Если же вдаваться в подробности, всего существует 13 IP-адресов, принадлежащих корневым серверам. Каждый из серверов управляется разничными организациями, как коммерческими, так и общественными, а также различными исследовательскими, в том числе NASA и Исследовательской лабораторией армии США. Более того, каждому IP соответствует от 1-2 до 149 серверов в разных точках мира. На сайте корневых серверов указаны как организации, поддерживающие корневые серверы, так и локации этих серверов. И в итоге их оказывается ничуть не 13, а 473. Кроме того, каждая из локаций также имеет внутреннее резервирование данных и мощностей.

Серверы настолько защищены от различных атак, что компания Verisign Inc., поддерживающая два из них, на основании своего опыта по защите серверов начала предлагать свои решения по защите от DDoS как отдельный коммерческий продукт.

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

Может, уничтожить дата-центры?

Не секрет, что мало кто размещает свои данные у себя в офисе или в квартире/на балконе/в гараже. Основная часть данных сосредоточена в дата-центрах, которых на данный момент известно 3269 в 102 странах. Все они в лучших традициях нанесены на удобную карту (кстати, помимо карты на сайте есть подробная информация о связности и возможных характерных угрозах для каждой страны). Дата-центры разбросаны по всем материкам, кроме Антарктиды, по одному есть даже на Гренландии и в Океании.

С уничтожением дата-центров всё несколько сложнее. Крупнейшие дата-центры охраняются не хуже военных объектов и хранилищ материальных ценностей и занимают большие площади, которые одной обычной авиабомбой не уничтожишь. А ПВО любой страны вряд ли допустят методичное бомбометание по десяткам объектов на её территории. Хотя определённые виды вооружения (не буду привлекать внимание санитаров знанием их названий) всё же могут уничтожить всю электронику одним махом. Если бы гипотетическому террористу как-то удалось почти одновременно привести в действие множество таких устройств, направленных на ключевые ЦОД, ущерб был бы невероятным. Но необходимые для такой атаки ресурсы растут в геометрической прогрессии в сравнении с предыдущими.

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

Более экзотические варианты

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

Читайте так же:
Почему корабли не тонут? Описание, фото и видео
Политическая воля

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

Египет тоже в своё время отличился:

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

Солнечная вспышка

В результате не до конца исследованных процессов внутри самой близкой к нам звезды, иногда происходят локальные выбросы потока заряженных частиц и электромагнитного излучения в широком диапазоне. Эти выбросы узко направлены и движутся с огромными скоростями радиально от Солнца. Если поток встретит на своём пути Землю, мы сможем наблюдать различные явления, интересные и не очень. Заряженные частицы в основном отклоняются магнитным полем, а жёсткое электромагнитное излучение ослабляется за счёт вторичного переизлучения. Одно из красивейших и романтических проявлений таких переизлучений имеет весьма неромантическое название — авроральные высыпания (или авроральные свечения):

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

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

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

Ядерная война

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

А что в результате?

К чему привело бы исчезновение интернета? Тут остаётся только фантазировать. Станем ли мы лучше? Начнём ли больше общаться друг с другом? Или же это переведёт к массовой депрессии, алкоголизму и суицидам? Остаётся только фантазировать.

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

Устрой дестрой Реально ли навсегда уничтожить интернет во всем мире и как это сделать

Хакерские атаки или глобальные проблемы с интернет-оборудованием фактически способны прекратить жизнь человечества. Рушатся финансовые рынки и связи между людьми, а невозможность подключиться к сети здесь и сейчас воспринимается пользователями как конец света. Каждый раз юзеры ждут, когда все снова вернется на круги своя, и можно будет вновь совершить онлайн-платеж, написать родным или посмеяться над новым мемом. Но что случится, если интернет действительно исчезнет навсегда? И можно ли бесповоротно лишить нас всемирной паутины? «Лента.ру» разобралась в возможных сценариях цифрового апокалипсиса.

В мире, где сеть каждый день «взрывают» оптические иллюзии или вирусные ролики, одна мысль отказаться от онлайн-доступа кажется фантастической. Со временем выражение «сломанный интернет» превратилось в шутку: представляется, что этот виртуальный мир неуязвим. Однако такое мнение ошибочно. Физически интернет состоит из сотен тонн обменных узлов, центров обработки данных и сетевых кабелей, — огромного мира, который потенциально можно не только потрогать руками, но и разрушить.

Несколько лет назад китайская полиция арестовала местного жителя, который мечтал «сломать интернет». Мужчина испугался, узнав, что прохожие засняли на видео его нелепые танцы на городской площади. Опасаясь насмешек, он физически уничтожил оборудование местного интернет-провайдера, чтобы ролик с его участием не завирусился в сети. Нанесенный им ущерб тогда оценили почти в 15 тысяч долларов. Такое поведение может показаться странным или глупым, но гражданин Поднебесной далеко не одинок в своих преступных порывах.

Оглушительные масштабы

Один из способов лишить людей связи знаком каждому — это использование «глушилок» или экранирование зданий. Специальное оборудование, подающее электромагнитные импульсы, нарушает работу гаджетов. В некоторых зданиях стены специально покрываются никель-цинковыми пластинами, которые поглощают не только мобильную связь, но также мешают передаче данных по Wi-Fi или Bluetooth. Большинство пользователей думает, что таким оборудованием пользуются только сотрудники силовых структур, однако известно, что нередко группы саботажников и террористов также стремятся завладеть подобной аппаратурой или даже самостоятельно собирают ее.

Читайте так же:
Почему в Ирландии нет змей? Причины, фото и видео

Считается, что первым технологию «глушения» опробовал в начале ХХI века король Иордании, который мечтал молиться в безмолвном храме. По его заказу американская компания изготовила блокировщик мобильной связи. Позднее эту практику переняли другие поборники тишины — руководители медицинских и культурных организаций, а также некоторые бизнесмены. Они мечтали уже не только о беззвучных залах, но и о соблюдении коммерческих тайн. Сейчас фактически любой может собрать кустарную «глушилку» с помощью инструкции на YouTube. Судя по комментариям, ее нередко используют для дружеских розыгрышей.

Искусственные помехи связи кажутся временной бытовой мерой. Однако многие профессиональные хакеры (в том числе занятые в военном секторе) всерьез рассматривают радиоэлектронную борьбу как способ воздействия на пользователей. «Да, в 2019 году определенно возможно заблокировать все источники связи, работающие от постоянного тока (0 герц) — 6 гигагерц, и таким образом заблокировать практически все частоты, которые используют потребительские устройства», — категорично заявляет анонимный подрядчик американских оборонщиков. По его словам, даже нынешние технологии позволят охватить все сотовые телефоны, Wi-Fi, GPS, двустороннюю радиосвязь и спутниковые гаджеты L-диапазона (в нем функционирует, к примеру, система ГЛОНАСС).

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

Ядрена мать

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

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

Материалы по теме

Страшнее и сильнее

Подобные теоретические догадки кажутся надуманными, однако некоторые политики всерьез рассматривают эту угрозу как инструмент внешней политики. К примеру, в программе «Возрождение Америки» лидеры Республиканской партии США назвали ядерное оружие Северной Кореи реальной угрозой. «Одна-единственная ядерная боеголовка, взорванная на большой высоте над этой страной, разрушила бы нашу электрическую сеть и другие критически важные инфраструктуры и поставила бы под угрозу жизни миллионов людей», — сообщили они. Научное сообщество всерьез недоумевало: согласно многочисленным статьям физиков и биологов, подобные действия затронут всю планету, а не только сети США.

Однако существуют и другие, менее опасные способы лишить мир интернета.

Интернет несокрушим?

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

По всей планете разбросаны десятки малопримечательных зданий-коробок, лишенных окон и опознавательных знаков. Это точки обмена трафиком (IX) и сети серверов (CDN) которые охраняются не хуже сверхсекретных военных объектов. Если из-за цунами, землетрясения или отключения электроэнергии такой узел перестанет работать, проблема немедленно отразится и на пользователях.

Одно из таких строений занимает в Нью-Йорке почти целый квартал на улице Томас. Оно исполняет функции станции связи, которая могла бы обеспечивать маршрутизацию трафика даже в случае катаклизма. Там предусмотрены не только собственные генераторы, но и обособленные газо- и водопровод. Несколько лет назад американские журналисты выяснили, что оно также используется службами АНБ для слежки и контроля. Здание могло бы стать заветной мишенью для черных хакеров или обыкновенных преступников, однако к счастью для сетевой инфраструктуры, таких зданий в центре города целых три. Все они могут заменить друг друга в любую секунду.

«Если вы действительно хотите по-настоящему использовать коммуникационные системы Восточного побережья, вам нужно будет подключиться к четырем или пяти точкам обмена интернет-трафиком, три из которых находятся на Манхэттене одновременно», — пояснила автор руководства по городской интернет-инфраструктуре Ингрид Баррингтон. По ее словам, тотальное уничтожение одного центра лишь замедлит скорость интернета, но не уничтожит сеть, — для этого понадобится обширная скоординированная атака. И тут на пути любого злоумышленника встанут государство и бизнес, оберегающие ее.

Поражение нескольких тысяч существующих дата-центров, считает эксперт, также является упаднической идеей. По ее словам, генерируемый мировой контент фактически невозможно стереть полностью (или даже значительную его часть), так как в мире предусмотрено слишком большое количество центров обработки данных, которые не только хранят информацию, но и резервно копируют ее. Единственное, к чему это может привести, по словам Баррингтон, — к саботажу отдельной компании. Интернет в целом такими действиями не пошатнуть, если не прибегать к «красным кнопкам» во всех странах мира.

Единственный реальный элемент инфраструктуры, который может стать мишенью — малочисленные корневые DNS-серверы. Их всего чуть более десятка, для каждого предусмотрены специальные зеркала. Исчезновение серверов приведет к тому, что пользователям придется вручную вбивать в адресную строку IP каждого конкретного ресурса (запомните IP «Ленты.ру» — 81.19.72.59). Это сильно усложнит обращение с сетью и замедлит интернет, но не разрушит наше представление о нем. К тому же разрозненные пользователи, скорее всего, оперативно найдут способы восстановить привычные условия.

Читайте так же:
Как делают ювелирные украшения

На разрыв аорты

В последние годы мировые лидеры часто упоминают кабельную систему интернета: в конце 2017 года оптоволокно, окутавшее планету, назвали наименее защищенной частью мировой сети. Западные СМИ неоднократно обвиняли российских подводников в намеренном перерезании «артерий», а общественные организации прогнозировали нападения со стороны террористов и «врагов».

Материалы по теме

«Кто-то выдернул интернет из розетки»

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

В редких случаях оборудование повреждается ощутимо. Известно, что в 2011 году пожилая женщина случайно перебила лопатой кабель, обслуживающий часть Грузии и Азербайджана, а также всю Армению. Тогда на восстановление интернет-соединения потребовалось несколько часов.

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

Однако некоторые идеи доморощенных анархистов могут вызвать интерес. К примеру, разработчик по имени Эллисон Берч спроектировала органический глушитель сигнала, который создает иллюзию отсутствия интернета на планете. По ее словам, интернета стало так много, что от него не сбежать даже в самолете, — поэтому так важно иметь «безопасное пространство».

Инженер решила пойти наиболее очевидным путем: вместо того, чтобы отключать доступ для всех, она предложила изолировать каждого пользователя от сети. «Городская инфраструктура (вышка сотовой связи) часто маскируется под естественную среду, я сделала наоборот — глушитель в реальном бревне в реальном лесу», — заявила она. «Бревно» стало механизмом, который создает шум на определенных частотах, мешая сотовому сигналу.

Материалы по теме

Ни единого разрыва

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

Google сломался и обвалил половину интернета

В Google произошел масштабный сбой облачного сервиса, потянувший за собой сбои десятков сайтов и сервисов по всему миру. Перестали работать Spotify, Etsy и другие популярные проекты, в том числе и в России. Google удалось устранить проблему, но отголоски этого «шторма» все еще ощущаются в ряде регионов мира.

Google все поломал

Пользователи из России и целого ряда других стран мира пожаловались на работу сервисов Google. Больше всего нареканий вызвала недоступность поиска, но также не работали или работали с перебоями Gmail и другие проекты интернет-гиганта.

Сбой в работе Google повлек за собой падение и других популярных в России и мире сервисов и сайтов. К примеру, пострадали музыкальный сервис Spotify, работающий в России с лета 2020 г., а также площадка электронной коммерции Etsy, фитнес-сервисы Fitbit и др.

g601.jpg

Согласно порталу DownDetector, штормить Google, а за ним и половину всего интернета начало 16 ноября 2021 г. в 20:00 по московскому времени. К 21:00 количество жалоб почти достигло 3000, из которых 73% касались работы различных сервисов корпорации. 14% жаловались на работу поиска, еще у 13% все сервисы открывались, но залогиниться в них под своим аккаунтом они не могли.

g602.jpg

По утверждению Google, на 9:30 утра 17 ноября 2021 г. по Москве сбой в работе был устранен. Тем не менее, некоторые сайты, недоступные из-за интернет-гиганта вечером и ночью, по-прежнему открываются через раз, ссылаясь на неполадки у Google.

Два часа на устранение

По данным самой Google, специалисты корпорации смогли устранить проблему за 1 час и 49 минут. Она крылась в облачном сервисе Google Cloud, третьем по популярности в мире с долей 9% на II квартал 2021 г. (статистика Statista.com).

В компании утверждают, что первоначально неполадка возникла в сервисе Google Cloud Load Balancing (GCLB), и в дальнейшем она повлияла на работу сразу нескольких связанных с ним сервисов из состава Google Cloud. Сайты, размещающиеся в облаках Google, выдавали ошибку 404 при попытке зайти на них.

g607.jpg

Согласно предварительному анализу, основной причиной проблемы была скрытая ошибка в службе конфигурации сети. Другие подробности пока неизвестны, но Google утверждает, что ее эксперты предприняли все необходимые меры для того, чтобы проблема не возникла вновь. Тем не менее, всего одной ошибки в конфигурации хватило, чтобы временно вывести из строя, по меньшей мере, семь сервисов и функций облака Google.

Масштабы случившегося

Google не скрывает, что сбой в ее облаке повлек за собой поломку популярных сервисов в масштабах всего мира. Тем не менее, по данным компании, основной удар приняли на себя жители США.

g604.jpg

Согласно DownDetector, даже на 9:30 утра 17 ноября 2021 г. по Москве в ряде штатов Google продолжает работать с перебоями. В Европе и России неполадки тоже наблюдаются, но в меньших масштабах.

Статистика DownDetector гласит, что больше всего жалоб на работу Google было зафиксировано не только в США, но также в Великобритании, Германии, Испании, Канаде и Нидерландах. Определенный вклад внесли и жители России.

g605.jpg

Помимо этого, в общем списке пострадавших отметились пользователи из Бельгии, Ирландии, Испании, Италии и Франции. К примеру, на работу Spotify чаще всего жаловались именно американцы. У многих не запускалось мобильное приложение, у других оно открывалось, но не подключалось к серверам.

Читайте так же:
Что такое хромосомы?

Ненадежный Google

Google по-крупному сломала интернет во второй раз за неделю, хотя данная поломка была гораздо крупнее по своим масштабам, нежели предыдущая. 12 ноября 2021 г. примерно в 12:00 по Москве пользователи стали жаловаться на недоступность почты Gmail, видеосервиса YouTube, поисковика Google и ряда других проектов американского интернет-гиганта.

g606.jpg

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

Очень хрупкое творение человека

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

К примеру, в июле 2021 г. CNews писал, что буквально одна-единственная компания сумела за мгновения поломать сервисы Google, Apple, Amazon и др.

Всемирная паутина работала с серьезными перебоями в течение часа. Устроила все это «представление» компания Akamai, владеющая DNS-сервисом Edge DNS. Ее специалисты проводили обновление ПО данного сервиса, в ходе которого допустили ошибку, в результате которой Edge DNS на время отошел в лучший из кибермиров. Реанимировать его получилось лишь спустя час.

В августе 2020 г. успешную попытку уничтожить весь интернет предпринял крупный провайдер CenturyLink. 30 августа 2020 г. перестали открываться сервисы и сайты Google, Cloudflare, Amazon, Microsoft и других компаний. Сотрудники компании неправильно настроили сетевое оборудование, что сломало Сеть на несколько часов. На фоне случившегося глобальный трафик просел на 3,5%.

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

В конце декабря 2018 г., как сообщал CNews, CenturyLink оставила без интернета жителей всех американских штатов. Доступа не было не только в Сеть – люди даже не могли дозвониться до экстренной службы 911. На устранение неполадки столь крупной компании потребовалось больше суток

Как разработчик сломал интернет, отменив публикацию своего пакета в 11 строк кода

Перевод статьи «How a developer broke the internet by un-publishing his package containing 11 lines of code».

Photo by Luca Bockmann on Unsplash

Всем Javascript-разработчикам приходится рано или поздно использовать npm. Это менеджер пакетов для node.js, принятый по умолчанию. Само название npm — аббревиатура Node Package Manager. Компания NPM является дочерней компанией GitHub.

Npm позволяет пользователям использовать повторно модули или куски кода, уже созданные кем-то и отправленные в реестр npm. Пакет, который вы используете в качестве зависимости в своем проекте, может сам иметь другие зависимости, которые, в свою очередь, имеют свои зависимости, и так далее. Но при этом вам не нужно беспокоиться обо всех этих дополнительных зависимостях, потому что ими вместо вас занимается npm, причем делает это бесплатно.

Теперь, когда мы разобрались, что такое npm и как он работает, давайте вспомним, что произошло 22 марта 2016 года. Тогда внезапно сломались массово используемые пакеты, такие как React, Node, Babel, а множество JavaScript-разработчиков по всему миру, пытаясь запустить свой код, получили странное сообщение об ошибке.

Предыстория

Азер Кочулу (Azer Koçulu) — разработчик, участник движения open source. Он публиковал и поддерживал свои проекты на npm. Другие разработчики пользовались этими пакетами и включали их в свои проекты. В общей сложности у Кочулу на npm было примерно 270 пакетов. Один из них, предназначенный для помощи разработчикам в настройке шаблонов для их проектов, назывался kik.

Так уж случилось, что то же имя — Kik — было у бесплатного мобильного приложения-мессенджера для Android и iOS. Выпускала его компания Kik interactive, базирующаяся в Канаде (Онтарио).

E-mail

Однажды Кочулу получил электронное письмо от Боба Страттона — одного из агентов, занимающихся патентами для Kik. Страттон просил Кочулу сменить название его пакета kik, поскольку компания Kik планировала опубликовать на npm свой пакет с тем же именем, что могло привести к путанице. Всю переписку можно посмотреть здесь, но если говорить коротко, тон письма Страттона напоминал наезд был не слишком дружелюбным, и Азер отклонил требование компании Kik.

Страттон упирал на то, что «kik» — это зарегистрированная торговая марка, а кроме того, наличие двух пакетов с одинаковым названием может сбивать с толку пользователей. Те же доводы он привел, обратившись в переписке к команде NPM.

В NPM решили встать на сторону Kik и «отдать» спорное имя компании.

Photo by Alexey Suslyakov on Unsplash

Освобождение модулей

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

Спустя два дня после этого письма к NPM, во вторник, 22 марта 2016 года, программисты по всему миру с удивлением наблюдали, как у них ломаются сборки и падают инсталляции. Среди множества ошибок была и такая строчка:

Эта ошибка означает, что для кода, который вы пытаетесь собрать или запустить, нужен пакет под названием left-pad, а этого пакета нет в npm-реестре. Куда же делся этот пакет left-pad?

Кочулу сделал то, о чем писал в своем письме. Он отменил публикацию всех своих пакетов в npm, и left-pad был одним из них. Кочулу написал пост в блоге, в котором объяснял, почему отменил публикацию всех своих модулей. «Эта ситуация заставила меня осознать, что NPM — это чья-то частная земля, на которой корпорации имеют больше прав, чем люди. А я занимаюсь open source, потому что власть должна принадлежать людям (англ. Power To The People)», — сказал Кочулу в своем блоге.

Читайте так же:
Интересные факты о медузе Turritopsis nutricula — объясняем подробно

https://t.me/thingsprogrammersdo/

Отмена отмены публикации left-pad

Чтобы исправить ситуацию со внезапно сломавшимися пакетами по всему миру, 23 марта Лори Восс, директор и соучредитель NPM, поступил «не по уставу»: он восстановил отмененную публикацию пакета left-pad 0.0.3, от которого зависели приложения на NPM. Он написал в Twitter: «Отмена отмены публикации это беспрецедентная акция, на которую мы решились из-за серьезности и масштаба поломки, и это решение далось нам нелегко».

Un-un-publishing is an unprecedented action that we're taking given the severity and widespread nature of breakage, and isn't done lightly.

— Laurie Voss (@seldo) March 22, 2016

После этого все упавшие пакеты стали успешно собираться и запускаться и таким образом интернет был спасен.

Лори также сказал: «Даже несмотря на то, что мы в npm так и не пришли к согласию по этому вопросу, я не мог просто смотреть, как ежесекундно проваливаются сотни сборок, и не делать ничего, чтобы это исправить». И хотя в этом я с Лори согласен, его слова также заставили меня задуматься о паре вещей, о которых пойдет речь ниже.

Чем по сути был left-pad?

Давайте посмотрим на содержимое left-pad и попробуем понять, почему так много пакетов по всему миру использовали этот пакет. Как следует из самого названия, left-pad забивает левые части строк символами или пробелами (left — «слева», pad — «набивать», — прим. перев.). Весь пакет состоит из 11 строк кода. Вот все содержимое left-pad:

Почему же из-за этого сломалось так много пакетов на NPM?

React, Babel и многие другие популярные проекты на NPM сломались 22 марта 2016 года, потому что во всех этих проектах и пакетах была зависимость от простой функции из пакета left-pad. Большинство программистов, столкнувшихся с этими ошибками сборки, могли даже и не слышать о таком пакете, но их код сломался, потому что их приложения зависели от каких-то пакетов, которые, в свою очередь, зависели от других пакетов, и одной из зависимостей оказался left-pad.

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

Почему для забивания левой части строки в таком огромном количестве пакетов использовался left-pad?

Пакет left-pad с его 11 строками кода — всего лишь функция, экспортируемая в виде модуля. И многие разработчики предпочли взять готовую функцию вместо того чтобы написать ее самостоятельно. У опытного программиста на написание подобного кода ушло бы всего несколько минут, но все равно многие решили положиться на чью-то чужую работу.

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

Photo by Lala Azizli on Unsplash

«Слишком много зависимостей» — это сколько?

Если у нас есть специальный пакет для проверки, является ли объект массивом, не значит ли это, что мы стали слишком ленивы? В этом пакете всего одна строчка кода, а он загружается 39 001 468 раз в неделю (на момент написания этого поста). Нам правда необходимо публиковать пакеты, содержащие всего одну функцию? И нужно ли создавать зависимости от пакетов с несколькими строчками кода, которые мы вполне могли бы написать сами?

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

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

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

Я хочу сказать, что если есть какой-то маленький и простой функционал, который вам нужно использовать в своем проекте, лучше напишите сами несколько лишних строк кода и не добавляйте зависимость от неизвестного пакета. Помните о примере раздосадованных программистов, которые прямо или косвенно ввели зависимость от 11 строк кода вместо того чтобы написать их самостоятельно.

Я написал эту статью не для того, чтобы обсудить этичность или законность действий Kik, NPM или Азера. Я не эксперт в этих областях, так что мое мнение тут совершенно не важно.

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

голоса
Рейтинг статьи
Ссылка на основную публикацию