Ошибки и штампы в фантастике
Шрифт:
Тема первая. Компьютеры и прочий киберпанк
Учитывая, что автор данных строк является сетевым инженером с многолетним стажем, данная тема ему особенно близка, а потому открывает статью.
В последнее время в массовом сознании компьютеры превратились из загадочных недоступных устройств с неограниченными возможностями в едва ли не предмет ширпотреба. В результате пиетет перед ними практически утрачен, а для многих современных детишек (вроде моих племянников) настольный компьютер стал таким же привычным элементом домашней обстановки, как и телевизор. В результате процент людей, пишущих компьютерную (или просто с компьютерными элементами) фантастику, резко увеличился. При этом средняя квалификация пишущих, как ни прискорбно, резко упала. Более того, если поначалу авторы все же считали необходимым консультироваться со специалистами (хотя бы с фидошными, как Лукьяненко и В.Васильев), то теперь нет и такого. Научившись с грехом пополам нажимать на клавиши, разбирать на экране строчки самодиагностики при включении компьютера и
Здесь можно выделить следующие типичные ошибки и противоречия.
Информационные супермагистрали. Многие авторы любят описывать путешествия по Сети будущего, описывая ощущения пользователя так, словно он перемещается по автомобильному суперхайвею в индустриальном пейзаже. Шоссе здесь — каналы передачи данных, пользовательские запросы сравниваются во светящимися «автомобилями», выстраивающимися долгой очередью в заторах, а всевозможные Искусственные Интеллекты (ака ИскИны) и прочие банки данных высятся по сторонам дороги ярко светящимися или, наоборот, таинственно-затемненными громадами. Одним из первоочередных умений хакеров является умение мастерски маневрировать на этой магистрали, обгоняя улиток-юзеров и юркими тараканами протискиваясь в самые узкие щели.
Что не так?
Задумаемся над тем, откуда берутся эти визуальные образы. Для того, чтобы нарисовать картинку, требуется некоторый объем информации. Если картину рисует человек, ему требуется выехать на природу с мольбертом и красками или хотя бы сконструировать ее в памяти по имеющимся воспоминаниям. Компьютер — не телепат, и выполняющиеся на нем программы не могут получать данные о перегрузках каналов, размерах баз данных и прочих параметрах нечувствительным образом. Им требуется эту информацию откуда-то получить. Откуда? Да только из самой Сети. Это означает, что помимо действительно нужной информации (спецификации холодильника или скриншотов нового порнофильма) ваш компьютер должен постоянно получать огромное количество паразитного трафика со всех маршрутизаторов и прочих устройств, через которые имело несчастье пролечь соединение к конкретному серверу. Это означает, что вы платите (или тратите время соединения, что то же самое) за получение совершенно не нужных вам данных, превосходящих по объему полезную нагрузку. Вы это заказывали? Сомнительно. Существует масса способов наслаждаться компьютерной графикой за куда меньшие деньги. Получается, что такая система реализована исключительно ради удобства хакеров.
Другая сторона этой проблемы пользователю не видна. Она заключается в том, что вся эта пустая порода создает серьезные нагрузки на активное сетевое оборудование. Ни один владелец такого оборудования не реализует ее добровольно, разве что за очень отдельную плату. Потребные для этого мощности куда выгоднее пустить на обеспечение потребностей новых (и даже старых) потребителей.
Наконец, еще один аспект — безопасность. Нет ни одной причины, по которой владелец ценного информационного ресурса стал бы демонстрировать потенциальным взломщикам реальное расположение своих серверов и баз данных. Тем более вряд ли антихакерская защита стала бы демонстрировать себя взломщику в виде плотной стены тумана или стремительно приближающихся конструкций угрожающего вида. Даже сейчас администраторы многих автономных систем блокируют на границах своих владений служебный протокол, позволяющий получать самую минимальную информацию о путях и скоростях передачи данных (для знающих — фильтрация пакетов ICMP, в частности генерируемых командами ping и traceroute). Очень сомнительно, что в будущем требования к безопасности смягчатся или счастливые ресурсовладельцы станут глупее.
Немногим умнее трактовка потоков пользовательских данных как машин на шоссе. Современные сети передачи данных — пакетно-ориентированные. Если упрощенно, то запрос пользователя разбивается на части-пакеты, и эти пакеты путешествуют к/от цели назначения вперемешку с другими пакетами и даже, бывает, разными путями. При этом они перемежаются служебными данными, как принадлежащими данной сессии, так и чужими. Более уместной была бы аналогия информационных каналов с толстыми трубами, в которых вперемешку ползет разноцветная крупа. Кстати, один пакет может опередить другой только на маршрутизаторе («перекрестке»), отнюдь не на самом шоссе. Разумеется, есть системы (такие как сети ATM), которые реализуют сервис Quality of Service, обеспечивая приоритетную маршрутизацию определенных классов пакетов. Но это сервис не является динамическим и настраивается на сетевом оборудовании администраторами. Пользователям (пусть и трижды хакерам) эта возможность недоступна.
Последний штрих к этому пункту. Каким образом хакеры умудряются за счет одной только ловкости обходить другие запросы в заторах магистралей, если время путешествия пакета данных через половину земного шара занимает несколько десятых, а то и сотых секунды? Время человеческой реакции куда больше.
Теперь рассмотрим типичную ситуацию из киношного или текстового боевика. Хакер, в одиночку или в компании, вторгается в суперзащищенное здание (штаб-квартиру корпорации или жилище злодея), предварительно через Интернет (или его аналог) взломав охранную систему и отключив видеокамеры. После чего он ухватывается за первый же попавшийся ему под руку компьютерный терминал и начинает вершить свое черное дело. И вот тут-то и начинается…
Взлом паролей . О, это вообще песня. Каких только вариантов здесь не придумывают! То хакеры пользуются загадочными программами-"ледорубами" (термин, особенно любимый западными классиками киберпанка), то не менее загадочными крякалками (да простится мне кул-хацкерский сленг), отображающими на экране окаймленный рамочкой пароль, в котором постепенно проявляются нужные цифры. А то хакер просто угадывает его с двух попыток…
Если вы улыбнулись, прочитав последнюю фразу, то совсем зря. На деле это и есть наиболее вероятный способ «взлома» — просто подбор пароля, пользуясь некоторой известной информацией об его владельце. Уж сколько раз твердили миру, что нельзя использовать в качестве пароля имя любимой жениной таксы или не менее любимой тещи, ан нет — все равно пароли такого рода неистребимы. Однако для подобного взлома требуется знать массу информации личного свойства о конкретном человеке, а потому эта атака весьма адресная и в общем случае не сработает. Кроме того, в компьютерном мире есть еще и такой зверь, как права доступа, они же полномочия — на совершение определенных операций. Не имеет никакого смысла подбирать пароль дворника дяди Васи. Ценность имеет лишь информация о черной бухгалтерии банка, добраться до которой можно лишь с правами гендиректора или главбуха (к ней может не иметь доступа даже главный сисадмин фирмы). А пользователя в системе представляет сущность по имени «логин», она же — «имя пользователя». И подобрать этот логин — задача не самая тривиальная. В грамотно спроектированной системе обычно блокируются даже предопределенные администраторские аккаунты. Так что затея с угадыванием пароля рискует провалиться еще до ее применения на практике.
В целом же взлом паролей методом подбора совершенно бредов. Эту атаку засечет и отсечет любая простейшая система защиты наподобие тех, что встроены в настольные операционные системы. Если же речь идет о системах, содержащих действительно важную информацию, защита, обнаружив перебор паролей, не только заблокирует терминал атакующего, но еще и сообщит об этом администратору сети на пейджер, вызовет ОМОН, пожарников и включит городскую систему оповещения о ядерной атаке.
Но как же быть с реальным миром? — скептически усмехнетесь вы. То и дело по телевизору и в газетах рассказывают про взломщиков, вскрывших Бэнк оф Америка или секретные серверы Пентагона. Перекреститесь и трижды сплюньте через левое плечо. Восемьдесят процентов всех взломов системы осуществляется изнутри корпоративной сети и представляет собой банальное злоупотребление служебным положением со стороны администраторов или доверенных пользователей. Из оставшегося процентов девяносто основывается на методах социальной инженерии, когда хакер хитростью выведывает учетные данные сотрудника компании (Кевин Митник — классический пример такого умельца). Из оставшихся двух процентов взломов подавляющее большинство на совести нерадивых администраторов, не озаботившихся прикрыть известные дыры в системе (связанные с ошибками программистов этих систем) или просто сменить пароль по умолчанию. И лишь единичные случаи успешных вторжений — дело рук настоящих профессионалов, долго и кропотливо изучающих данную конкретную систему и находящих в ней нетривиальные уязвимости. Но как раз о таких случаях в газетах (и книжках) ничего не пишут.
На деле работа настоящего хакера нудна, сера и занимает очень, очень много времени. Снять о ней красочный фильм не выйдет при всем желании. И возможен взлом только до тех пор, пока хакеру противостоит человек — невнимательный, ошибающийся и непостоянный. Взломать таким образом защиту Искусственного Интеллекта невозможно, если только Интеллект носит это название заслуженно. Равно как невозможно в течение двух минут под шквальным огнем противника взломать вражескую компьютерную систему — независимо от квалификации взломщика и наличествующей у него аппаратуры.
Кстати, просто для справки. Взломать через Интернет секретные серверы Пентагона, ЦРУ или ФСБ не удастся никому и никогда. Они туда просто физически не подключаются. А хакнуть публичный веб-сайт пусть даже могущественной организации — невелика заслуга, и результат обычно не оправдывает риск. Помните анекдот? «Организация примет на работу хакера, резюме размещать на главной странице www.microsoft.com». Почему, думаете, не www.cia.gov и не www.fsb.ru?
Вирусы. Для начала необходимо дать определение. Вирус — программа, умеющая без участия человека копировать себя в удаленные системы. До последнего времени выделялись собственно вирусы (пробирающиеся на компьютер через зараженные добропорядочные программы) и сетевые черви, самокопирующиеся через Интернет и локальную сеть. В рамках данной статьи мы не будем разделять эти понятия, благо граница между ними чем дальше, тем более расплывчата.