Чтение онлайн

на главную - закладки

Жанры

Ошибки и штампы в фантастике
Шрифт:

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

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

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

В чем неправда здесь?

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

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

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

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

Нет, разумеется, существуют средства, позволяющие людям программировать компьютеры с куда большим комфортом, но эти средства встречаются чрезвычайно редко — в основном на компьютерах разработчиков. Вероятность того, что программа-компилятор (с C или другого высокоуровневого языка программирования) попадется на первом попавшемся бухгалтерском компьютере, стремится к нулю. Кроме того, во многих современных операционных системах существуют встроенные языки программирования высокого уровня (например JavaScript, Java, а в последнее время даже и новомодный .NET framework), позволяющие создавать довольно сложные скрипты (минипрограммы). Однако с помощью таких языков написать саморазмножающийся вирус невозможно. И если уж злоумышленник сумел проникнуть на чужую машины с целью уничтожения данных, ему гораздо проще будет стереть их руками. Впрочем, для надежности

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

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

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

Наконец, никогда нельзя забывать о том, что у разных типов компьютеров существенно различаются не только наборы команд, но и внутренняя архитектура, а следовательно — и логика программирования. Вирус, работающий на персоналке, является бессмысленным набором двоичного мусора на SunFire или IBM AS-400. Чтобы уметь в любой момент времени сваять вирус для произвольной (человеческой) компьютерной системы, хакер должен помнить и свободно оперировать таким количеством информации, какое не в состоянии удержать человеческая память (а если в состоянии — то такой человек найдет себе куда лучшее применение, чем криминальная деятельность). Если же речь идет о компьютерах инопланетян, работающих по неизвестным принципам в неизвестных системах команд, то остается лишь пожать плечами. У земного программиста столько же шансов написать для него вирус, сколько у спустившегося с пальмы папуаса — убедить палату пэров Великобритании коллективно покончить жизнь самоубийством.

Желающих ознакомиться с большим количество ляпов такого такого рода отправляю на «Бред Сивой Кобылы» — раздел юмора на посвященном проблемам безопасности сайте bugtraq.

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

Для определенности будем называть устройство, реализующие прямой интерфейс «человек-компьютер», нейрошунтом. Давайте разберемся, каким образом такой нейрошунт может убить человека?

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

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

Поделиться:
Популярные книги

Ученичество. Книга 2

Понарошку Евгений
2. Государственный маг
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Ученичество. Книга 2

Безродный

Коган Мстислав Константинович
1. Игра не для слабых
Фантастика:
боевая фантастика
альтернативная история
6.67
рейтинг книги
Безродный

Неудержимый. Книга XVII

Боярский Андрей
17. Неудержимый
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Неудержимый. Книга XVII

Вечная Война. Книга VII

Винокуров Юрий
7. Вечная Война
Фантастика:
юмористическая фантастика
космическая фантастика
5.75
рейтинг книги
Вечная Война. Книга VII

Чужое наследие

Кораблев Родион
3. Другая сторона
Фантастика:
боевая фантастика
8.47
рейтинг книги
Чужое наследие

Курсант: назад в СССР 9

Дамиров Рафаэль
9. Курсант
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Курсант: назад в СССР 9

Его огонь горит для меня. Том 2

Муратова Ульяна
2. Мир Карастели
Фантастика:
юмористическая фантастика
5.40
рейтинг книги
Его огонь горит для меня. Том 2

Отверженный III: Вызов

Опсокополос Алексис
3. Отверженный
Фантастика:
фэнтези
альтернативная история
7.73
рейтинг книги
Отверженный III: Вызов

Царь Федор. Трилогия

Злотников Роман Валерьевич
Царь Федор
Фантастика:
альтернативная история
8.68
рейтинг книги
Царь Федор. Трилогия

Варлорд

Астахов Евгений Евгеньевич
3. Сопряжение
Фантастика:
боевая фантастика
постапокалипсис
рпг
5.00
рейтинг книги
Варлорд

Лорд Системы 13

Токсик Саша
13. Лорд Системы
Фантастика:
фэнтези
попаданцы
рпг
5.00
рейтинг книги
Лорд Системы 13

Ночь со зверем

Владимирова Анна
3. Оборотни-медведи
Любовные романы:
любовно-фантастические романы
5.25
рейтинг книги
Ночь со зверем

Темный Кластер

Кораблев Родион
Другая сторона
Фантастика:
боевая фантастика
5.00
рейтинг книги
Темный Кластер

Сама себе хозяйка

Красовская Марианна
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Сама себе хозяйка