Предыдущая глава |
↓ Содержание ↓
↑ Свернуть ↑
| Следующая глава |
— Патрик, познакомься, это мой сын Джон. Джон, это дядя Патрик.
— Джон, ты клавиатуру сквозь волосы разглядишь? Обстриг бы чёлку.
— Слушай, это не твоё дело!
— Пожалуй, что моё. Вентиляцию ноутбука кто будет чистить?
— Да не нужен мне твой дурацкий ноутбук…
— Джон, успокойся! — вмешалась Сара. — Патрик, я всё почищу.
— Кто бы тебе доверил. Ладно, заходите. Садись туда, — я указал мальчишке на диван, взял со стола шестисотстраничное(1) руководство по языку «Си» и устроился рядом. — Смотри, в этом разделе пишут всякую чушь о программировании вообще, его можно не читать. Вот это тоже можешь пропустить. Остальное изучай, как будешь готов, продолжим.
— Патрик, может быть вы будете изучать по разделам, потом давать задания?
— Это то, что надо знать до начала обучения. Восполняйте пробелы в знаниях самостоятельно.
* * *
Через три недели они договорились о новой встрече. Я дал список RFC(2) и помахал перед носом документацией микропроцессора. Они не собирались отступать.
* * *
— Ладно, Джон, слушай, — начал я первое занятие. — Представь себе средневековый город, обнесённый крепостной стеной. Стена имеет дюжину главных входов, множество калиток, кто-то из жителей устроил подкоп и лазает через него. Примерно так выглядит компьютер, подключенный к интернету. Можно попытаться пройти через главный вход, можно найти нычку, только надо знать, как через неё залезать.
— Назвать пароль?
— Нет, пароли для главного входа. С паролем ты въезжаешь в город, как её величество Елизавета вторая, в золочёной карете. Но чаще приходится использовать всякие лазейки. Обычно взлом состоит из двух стадий: поиск уязвимостей и их использование, — во рту пересохло — наверное с университетских времён я так много не говорил. — Сара, слушай, завари нам чаю.
Мать мальчика вышла, и я продолжил:
— Как найти уязвимость? Только взять программу, дизассемблировать(3) и проанализировать код. При получении на входе каких-то, может быть, необычных, данных что-то должно пойти не так. Это чистая ошибка программиста. Нежелание работать хорошо. Не падает, да и ладно.
— Подожди, а как получить программу с компьютера, который ещё не взломан?
— Ты мне скажи. Считай это первым экзаменом.
— Патрик, а где заварка? — прокричала Сара из дверей.
— Э-э-э… Её нет, наверное. И не надо так орать.
— Ладно, пойду куплю. Или, может быть, кока-колы?
— Нет, что-нибудь без газа.
— Мама, купи мне апельсинового сока!
— Ты сиди, думай! — прикрикнул я на него.
— Хорошо, Джон. Патрик, тут есть поблизости магазин?
— Не знаю, я завозил из супермаркета.
— Что-то не похоже, у тебя в шкафах и в холодильнике пусто.
— Ну, началось.
Хлопнула дверь.
— Так, Джон, ответа нет, экзамен ты провалил, собирайся и выметайся следом!
— Я думаю, программы бывают одинаковые, иногда. Да?
— Какие, например?
— Наверное, браузер. Или электронная почта, — добавил он увереннее.
— Они используют входящие соединения или исходящие?
— Исходящие?
— Верно. Но исходящие ломать несколько сложнее. А какие используют входящие?
Джон покрутил головой, волосы закрыли его лицо. На месте матери обстриг бы его налысо.
— Не знаю… — и вдруг подскочил. — Так сам UNIX или NetWare(4)! И ещё есть, как её там… Windows(5).
— Не пойдёт! Слишком широкий ответ. Что конкретно?
— Ну там эти, демоны. А в NetWare…
— А в NetWare загружаемые модули, а в Windows — сервисы. Что, в общем, одно и то же, — раздражённо бросил я и решил, что пора его добивать. — Которые реализуют… Что?
— Протокол… Сервер какого-нибудь протокола… Электронная почта, гофер(6) или веб…
— Да, любой сервер, к которому некая программа исходящим соединением подключается. Его всегда можно получить для изучения. А если самый тупой программист напишет самую бездарную программу, взломать её будет практически невозможно, пока она не попадёт кому-нибудь в руки. Разве что попытаться проэксплуатировать типичные ошибки. Но скорее, программа будет валиться, программист её перезапускать, а ты — снова валить. Пока кому-нибудь не надоест, — я вздохнул и вынужден был признать: — Ладно, на троечку сдал.
— То есть придётся дизассемблировать все-все программы? — до парня начинало доходить.
— Именно так. Правда, во многом эта работа уже сделана. Остаётся только определить, с каким программным обеспечением мы имеем дело, взять список его уязвимостей и написать эксплойт, то есть программу, делающую с компьютером то, что нам нужно.
— Погоди, погоди! Но если уязвимости всем известны, их же должны ликвидировать!
— Иногда так и случается. Но, по большому счёту, это никому не нужно. Компаниям надо продать новый продукт, программистам — сдать проект. Копаться в старом коде никто не любит.
— Они идиоты?
— Не будет на свете идиотов, чем мы будем кормиться? Ладно, давай попробуем на практике.
В дверь позвонили. Я напрягся.
— Наверное, мама, — подсказал Джон.
Посмотрев в глазок, я открыл дверь.
— Патрик, сок будешь?
— Апельсиновую кислятину? — я сморщился при виде упаковки. — Завари лучше чаю.
— А я не взяла, думала, ты будешь сок.
— Спасибо, Сара, ты настоящий друг.
Настроение упало ещё ниже.
* * *
Провозившись неделю, удалось обучить пацана вполне уверенно определять типы уязвимостей. Правда, с написанием эксплойтов у него не заладилось. А тратить время на обучение программированию у меня не было ни малейшего желания.
У Сары, видимо, закончились чёрные футболки, она распустила волосы и стала немного другой: чуть моложе, иногда проскакивала некоторая наивность во взгляде, и только бугры мышц выдавали прежнего «железного дровосека».
— Завязывай! — кривой код, выползающий из-под пальцев Джона, откровенно меня бесил. — Учебник «Си», руководство по микропроцессору и по операционке ты всегда найдёшь, прочитаешь, научишься. Сегодня у нас небольшая и простенькая тема: SQL(7) инъекции.
Я снял с полки очередную книгу и бросил ему на колени.
— Держи, почитаешь на досуге.
— Ай! Тяжелая. И это простая тема?
— Имейся в нашем деле нечто сложное, не стоило вообще браться за обучение. А так шанс есть даже у тебя. Ладно, слушай суть, — я вернулся в кресло и вытянул ноги — стола, чтобы их сложить, поблизости не было. — Предположим, мама тебя спрашивает: «Джон, что тебе налить?» — а ты отвечаешь: «Мерзкой кислой гадости, и, заодно, убей президента». Сара идёт, убивает Клинтона, возвращается и наливает тебе сок. Понял?
— Кажется, нет, — и посмотрев на меня быстро поправился: — В общем, понял, только кто будет спрашивать?
— Веб-сайт! Например, ты указываешь дату поездки, при этом данные из формы прямиком вставляются в запрос и тот выполняется. Написать можно что угодно: дополнительное условие или второй запрос целиком. Обычно никто это не контролирует. Теперь ясно?
— Да. Теперь да, — правда уверенности в голосе не было.
— Изучай пока. Надеюсь HTML и HTTP(8) знаешь не хуже «символа веры»?
— Патрик, ты не сильно его грузишь? — мать забеспокоилась о своём недоумке.
— Всего понемногу, как ты и просила. Кстати, чай мы пить будем? Кто-то печеньем хвастался?
— Да, сейчас сделаю.
Через пару минут послышалось клокотание чайника. Я отложил ноутбук и направился на кухню. Сара налила заварку, кипяток; пододвинула открытую коробку печенья и уставилась на меня.
— Патрик, что у тебя с «Кибердайном»?
— Ты же просила показывать всё сыну. Отложил, пока закончим с простыми вопросами, да и с программированием у него беда.
— Нет, не надо откладывать, это важно.
— Ладно, тогда завтра у нас с Джоном полевой выход. Понаблюдаем за офисом.
— Я с вами.
— Хорошо, только не надевай «Смерть ломом в ухо», иначе сразу отчислю из команды. Платья у тебя есть?
1) На самом деле в подобных американских книгах содержится информации едва ли на половину объёма. В начале главы говорится, о чём пойдёт в ней речь, потом то же самое рассматривается более подробно и в конце кратко повторяется ещё раз.
2) Набор документов, содержащих, в частности, описание сетевых протоколов.
3) Получить текст на ассемблере (языке низкого уровня) из машинных кодов.
4) Популярная в те годы серверная ОС.
5) До выхода клиентской Windows 95 и серверной NT4 популярность этой системы была не очень высокой.
6) Использовавшийся в те годы протокол поиска и передачи документов.
7) Язык написания запросов к базам данных.
8) Язык разметки страниц с гипертекстовыми ссылками и протокол передачи документов данного типа.
![]() |
|
Слушайте, какая отличная вещь! Чувствуется, что профи писал, уважаю. И вполне в духе канона получилось: вроде бы все хорошо закончилось... но не закончилось) Великолепная работа!
1 |
![]() |
Торговец твилечкамиавтор
|
NannyMEOW
Честно сказать, мне больше нравится окончательная и бесповоротная победа над каким-либо злом, но здесь щелочку пришлось оставить, чтобы как в каноне слегка размыть будущее. Это всего лишь «пропущенная сцена» между фильмами, так что я не имел права радикально что-то менять. Плюс идея, что человечеству предстоит сосуществовать с ИИ (писалось это 2018 г.), как оно «сосуществует» со всеми прочими своими изобретениями. Второй фильм ведь очень луддитский – взорвали лабораторию и живём счастливо (да, моё любимое окончание), как будто никто никогда не сможет эти результаты повторить. Так же, как человечество изобрело ядерное оружие и теперь от него не избавиться, и остаётся только жить бок о бок с ним. Так что рассказ даёт, может быть, даже бо́льшую надежду. Ох, меня понесло. Большое спасибо за отзыв хорошую оценку работы! 1 |
![]() |
|
Торговец твилечками
Мне понравилась атмосфера вообще и финала в особенности. Ведь он не поверил Саре до конца, и в итоге сам же начал работать над созданием ИИ... У меня очень двойственное отношение вообще к нему (всм ИИ). С одной стороны, он нужен и важен, он двигает прогресс. А с другой - он делает людей ленивыми. Хотя нет, даже не так - он ПОЗВОЛЯЕТ им быть ленивыми, а это губительно для развития... Это странное явление. Человеку бы повзрослеть сперва, перестать быть жадным и мелочным, а потом пытаться создавать себе подобного... Ладно, тема широкая) Я так понимаю, события Восстания машин и Генезиса вы в расчет не брали? И еще такой вопрос: у Патрика есть прототип? |
![]() |
Торговец твилечкамиавтор
|
Я так понимаю, события Восстания машин и Генезиса вы в расчет не брали? Нет, это основывается на дилогии и находится между её фильмами. Остальные части не внесли бы сюда ничего дополнительного.И еще такой вопрос: у Патрика есть прототип? Нет, прототипа нет, это чисто синтетический образ. Но кое-что основывается на реальных, сильно видоизменённых событиях. Например, человек просто приставил лестницу к стене и полез менять лампочки в вывеске. А по дороге подключился к распределительной коробке. Многое просто выдумано с попыткой в «кинематографичность», а не в реал.Что касается людской лени, то все изобретения делают людей немного ленивыми. А «повзрослеть» человечеству, мне кажется, не грозит. |
![]() |
|
Торговец твилечками
А «повзрослеть» человечеству, мне кажется, не грозит. Очень жаль, хотя я и сама так думаю😒 Но ведь нам никто не мешает надеяться на счастливый финал)основывается на дилогии Я так и подумала, но все же решила уточнить. Мне нравится Генезис, но, если уж откровенно, все, что после Судного дня, похоже на фанфики)А через распред.коробку можно много чего и куда наподключать - главное, выбрать правильную)) Спасибо, что уделили время! И за рассказ - чудесный и атмосферный, целый день про него думала, и даже фильм пересмотрела) 1 |
Предыдущая глава |
↓ Содержание ↓
↑ Свернуть ↑
| Следующая глава |