Читать книгу Взломать всё. Как сильные мира сего используют уязвимости систем в своих интересах - Bruce Schneier, Bruce Schneier - Страница 7

Часть I
Хакинг для «чайников»
5
Вездесущность хакинга

Оглавление

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

Club Penguin – детская онлайн-игра компании Disney, просуществовавшая с 2005 по 2017 г. Общение детей с незнакомцами в интернете справедливо вызывает беспокойство их родителей, поэтому Disney создала режим Ultimate Safe Chat, который запрещал свободный ввод текста, ограничивая игроков заранее подготовленным списком реплик. Идея заключалась в том, чтобы оградить детей от буллинга и контакта с потенциальными педофилами. Но дети есть дети, они хотят общаться друг с другом несмотря ни на что. Поэтому они просто хакнули это ограничение, изображая буквы и цифры фигурками своих аватаров.

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

Подобно Club Penguin, многие детские онлайн-игры вводили ограничения на высказывания в чате, чтобы предотвратить саму возможность травли и любого преследования. Дети взломали их все без исключения{19}. Чтобы обойти модераторов и фильтры ненормативной лексики, дети используют такие уловки, как намеренные ошибки в написании, например PHUQ вместо fuck you, разделение ключевой информации на несколько высказываний, чтобы ни одно из них не нарушало правил, и акростих, шифруя свои послания начальными буквами разрешенных фраз. Некоторые сайты запрещали пользователям вводить цифры – в ответ на это дети стали использовать слова: win вместо one (один), too вместо two (два), tree вместо three (три) и т. д. Тот же прием с созвучными искажениями применялся и для нанесения оскорблений: lose her означало looser (неудачник), а stew putt – stupid (дурак).

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

Этот прием не нов. У него даже есть название – фолдеринг{20}. В разное время его использовали для сокрытия информации экс-глава ЦРУ генерал Петреус, руководитель избирательной компании Дональда Трампа 2016 г. Пол Манафорт и террористы, устроившие атаку 11 сентября 2001 г. Все они понимали, что могут избежать слежки, если будут пользоваться одним почтовым ящиком со своими сообщниками и писать друг другу письма, сохраняя их в виде неотправленных черновиков.

Во времена моего детства существовали хаки для обхода правил телефонной системы. Если вы слишком молоды, чтобы помнить такое, я объясню. Человек звонил на телефонную станцию, вызывал оператора, сообщал ему, кто он такой, и говорил, что хочет сделать междугородний групповой звонок. Оператор звонил по указанному номеру и спрашивал абонента, согласен ли тот принять групповой звонок за свой счет. Групповые звонки стоили весьма недешево. Но поскольку оператор сам инициировал звонок другой стороне, информация могла быть передана ей еще до того, как начинала взиматься плата. Итак, мы делали запрос группового звонка, оператор спрашивал указанного абонента – как правило, кого-то из наших родителей, – согласен ли тот принять групповой звонок, родители отвечали «нет», а затем перезванивали нам уже по стандартным, не таким дорогим тарифам. Подобные трюки можно было сделать и более эффективными. В некоторых семьях был даже список имен, которыми звонивший представлялся оператору в зависимости от ситуации; к примеру, имя Брюс могло означать «прибыл благополучно», Стив – «перезвоните» и т. д. (Оператор не знал настоящего имени звонившего.) Даже сегодня люди пользуются телефонными хаками, чтобы обойти правила тарификации. В Нигерии это называется «подмигнуть»{21}: звонишь кому-нибудь и кладешь трубку до того, как он успеет ответить. В Индии в первой половине 2010-х гг. такие хаки тоже были широко распространены{22}, поскольку стоимость звонков на сотовые и стационарные телефоны заметно отличалась. Все эти хаки предназначены для подрыва телефонных систем, чтобы обмениваться информацией, не платя за эту привилегию.

Домашнее обучение во время пандемии{23} COVID-19 пробудило хакерские способности во многих школьниках. Один сообразительный ученик переименовал себя в «Reconnecting…» и просто выключил видеосвязь, чтобы учитель думал, что у него проблемы с подключением. В марте 2020 г., в первые месяцы пандемии, власти Китая полностью закрыли город Ухань, а его школы перевели на дистанционное обучение. В ответ на это ученики стали заваливать приложение DingTalk, через которое осуществлялся образовательный процесс, отзывами с одной звездой{24}, надеясь, что таким образом оно будет удалено из магазинов приложений. (Увы, это не сработало.)

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

Само по себе это не означает, что абсолютно все системы взломаны. Вспомните Гёделя{25}. Среди юристов есть поговорка: «Все контракты неполны». Контракты исполняются не потому, что они жестко препятствуют нарушению сторонами договорных условий, а потому, что, как правило, имеют место доверие и благонамеренность. Если же дела идут плохо, существуют системы арбитража{26} и судебного разбирательства. Да, это может показаться наивным и идеалистичным, но именно благодаря системам, основанным на доверии, и функционирует наше общество. Мы не требуем от наших соглашений абсолютной защиты, потому что: 1) этого невозможно достичь, 2) любая попытка будет слишком долгой и громоздкой и 3) нам это попросту не нужно.

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

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

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

Хакинг – естественная часть человеческого бытия. Он повсеместен и, как мы увидим, является важным фактором эволюционного процесса – непрерывного, бесконечного и способного создавать формы, как выразился Дарвин, «самые прекрасные и изумительные». Ну или же самые нелепые и ужасные.

Взломать всё. Как сильные мира сего используют уязвимости систем в своих интересах

Подняться наверх