Эффект комильфо

I’m not a human
Слэш
Завершён
NC-17
Эффект комильфо
TheAbyss0fDespair
автор
Пэйринг и персонажи
Описание
Он взламывал чужие дома, чтобы не иметь своего. Но однажды его собственная программа взломала его — и нашла дверь, о существовании которой он не догадывался. История о параноике, его ИИ по имени «Гость» и странном временном убежище, где даже темнота танцует»
Примечания
Недавно вдохновилась крайне интересной визуальной новеллой «Yes, I'm alone» и написала это чудо. Первая работа, поэтому прошу не судить строго. Заранее извиняюсь за возможные фактические ошибочки, так как я пишу максимально вовлечённо в процесс и порой их не замечаю. ВАЖНЫЕ МОМЕНТЫ: — Бледный маньяк представлен в образе разумного существа и вообще не похож на себя в игре. Наверное я бы приплела его к AU где он является человеком. — Домовладелец может показаться мягкотелым, но так и задумано, ведь какой флафф будет без мягкости. — Персонажи могут быть не похожи на себя в плане внешности и характера. И да, я решила сменить им гардероб)) — Работу МОЖНО читать как ориджинал, так как никаких деталей, связанных с игрой тут практически не наблюдается. — Я взяла распространённые имена, которые придумывает фандом для персонажей и вставила как основные. (Домовладелец — Александр), поэтому не парьтесь когда внезапно слышите что-то незнакомое. • Отдельная просьба заценить стишок, который зашифрован в главах. Я очень старалась.
Посвящение
Благодарю себя, за то, что не забросила не половине дела (как обычно).
Поделиться
Читать онлайн Отзывы
Содержание Вперед

1 часть — В цепях огней и проводов.

— Оплата была воспроизведена, жду дальнейших указаний. Мужчина томно потянулся и посмотрел в сторону входной двери. Александру было уже 38 лет, и он почти десять лет живёт так, словно за ним наблюдают. Не потому, что он важная персона или что-то украл. Просто он слишком много знает о том, как устроены «умные» вещи, и поэтому не доверяет ни одной из них. Он не всегда был таким. Было время — казавшееся теперь чужой жизнью, — когда он не боялся собственного отражения в тёмном окне, когда засыпал без металлической линейки под дверью и когда у него был друг. Когда-то, лет пятнадцать назад, он был обычным студентом-программистом. Жил в общаге с двумя соседями, играл в онлайн-шутеры, заказывал пиццу и не задумывался о том, что у его телефона есть микрофон. Всё изменилось после одной истории, о которой он почти никому не рассказывал. На третьем курсе он подрабатывал настройкой домашних сетей у зажиточных семей. Тогда как раз появились первые «умные» лампочки, розетки и камеры видеонаблюдения, которые можно было смотреть с телефона. Александр монтировал их, подключал, объяснял клиентам, как удобно. И однажды, уже после установки, хозяин дома попросил его «посмотреть, не работает ли что-то странно». Оказалось, что камера в детской иногда сама поворачивается ночью, хотя никто к ней не прикасался. Александр полез в логи. И нашёл там чужой доступ — неизвестный IP из другой страны, который каждую ночь смотрел на спящего ребёнка. Он удалил взломщика, сменил пароли, но осадок остался. И главное — он понял, что это не единичный случай. Достаточно найти одну уязвимость в дешёвом китайском хабе, и можно подключиться к тысячам камер по всему миру. Так он впервые задумался: если эти системы настолько дырявые, то кто мешает ему самому залезать в них? Через полгода он уже не настраивал чужие «умные дома», а взламывал их. Сначала ради интереса — просто чтобы доказать себе, что сможет. Потом ради денег — нашёл форум в теневой сети, где покупали доступы к камерам в спальнях, к дверным замкам и даже к системам отопления. Он не считал себя преступником. Он считал, что показывает людям их же глупость: зачем подключать холодильник к интернету, если он потом превратится в оружие? Но постепенно эта работа изменила его. Он стал видеть угрозу везде. Соседский роутер с открытым Wi-Fi — потенциальный шлюз к его ноутбуку. «Умная» колонка в чужой квартире этажом ниже — микрофон, который теоретически может слышать даже его шаги через перекрытия. Он начал замечать, что реклама в телефоне подстраивается под его разговоры, хотя он ни разу не вводил эти слова. Он знал, как это работает — прослушка через приложения, продажа данных, даркнет-биржи доступов. И чем больше он знал, тем меньше хотел иметь дело с любым подключённым устройством. Как говорят: «Меньше знаешь — больше спишь.» Так он пришёл к своей нынешней жизни. Он снимает квартиру в старом панельном доме на окраине, где проводка не тянет даже «умные» счётчики. Здесь нет камер домофона, нет видеонаблюдения в лифте — всё настолько архаично, что Александр чувствует себя в безопасности. В его жилье — ни одного IoT-устройства. Телевизор — плазменная панель без «смарт»-функций, с кнопками на корпусе. Лампочки — самые обычные, накаливания, щёлкаешь выключателем — и всё. Кофеварка — механическая, без таймеров и Wi-Fi. Даже стиральная машина — из тех, где крутишь ручку и нажимаешь одну кнопку «Пуск». Интернет к нему приходит только по проводу, который он сам протянул от щитка на лестничной клетке. Роутер — старый, без беспроводного модуля, он выпаял антенны на всякий случай. Каждый вечер в 23:00 он физически выдёргивает Ethernet-кабель из ноутбука. Выход в сеть — только по необходимости. Для работы же используется цепочка из трёх виртуальных серверов в разных странах, каждый оплачен криптовалютой через микшеры. Александр знает, что идеальной анонимности не существует, но он старается максимально её приблизить. Он не ходит в гости и не приглашает никого к себе. Даже если бы захотел — не смог бы: в квартире нет лишнего стула. Он ест полуфабрикаты, разогревает их в обычной микроволновке без датчиков, моет посуду руками. Его единственный друг — ноутбук, который никогда не подключался к облачным сервисам и не имеет встроенной камеры (Александр залепил объектив чёрной изолентой, хотя её там нет физически — так, на всякий случай). Весь его доход — от продажи доступов к чужим «умным» системам в даркнете. Он не взламывает банки, не крадёт биткоины, не занимается шантажом. Только устройства: камеры, микрофоны, датчики движения, замки, термостаты, «умные» розетки, даже роботы-пылесосы. Покупатели бывают разными. Кто-то просто любит подглядывать. Кто-то проверяет, не следят ли за ним самим. Кто-то готовит ограбления, получая график, когда в доме никого нет. Александр не задаёт вопросов. Он говорит себе, что это просто бизнес. Но иногда, глубокой ночью, он вспоминает ту самую камеру в детской, которую взломал неизвестный, и его передёргивает. Рутина Александра выстроена до секунды. Он просыпается в 5:30 утра даже без будильника. Годы выработали внутренний хронометр, который надёжнее любого кварца. Он не пользуется телефоном как будильником — слишком много прав у приложения. Вместо этого на тумбочке стоит старый механический будильник, советский, с двумя колокольчиками и ключиком завода. Каждый вечер Александр заводит его ровно на шесть с половиной оборотов — ни больше, ни меньше. Первое, что он делает после открытия глаз, — тянется рукой к металлической линейке, которую накануне вечером положил под дверь. Если линейка на месте — значит, никто не входил. Это его персональный датчик взлома, не требующий батареек и сети. Он поднимает линейку, проводит пальцем по грани — холодная, гладкая. Всё в порядке. Затем — проверка замков. Входная дверь оборудована двумя: обычным сувальдным и навесным изнутри, который можно открыть только ключом изнутри. Нет, кнопки-вертушки нет. Слишком просто. Александр поворачивает оба ключа, убеждается, что засовы вошли до упора. Только после этого он идёт в ванную. Ванная комната — единственное место в квартире, где у него есть зеркало. Но он повесил его так, чтобы отражалась только шея и грудь: лицо видеть не обязательно, да и в параноидальном бреду мерещиться начнёт. Умывается холодной водой из-под крана — бойлер отключён за ненадобностью. Зубы чистит порошком, потому что паста в тюбике слишком «умная»? Нет, просто дешевле. Но он всё равно проверяет тюбик на наличие микрофонов — шутка, конечно, но однажды он всерьёз задумался об этом. Кухня — отдельная песня. У него нет микроволновки с дисплеем (там может быть скрытая камера), нет чайника с терморегуляцией (он же подключён к сети), нет даже холодильника с электронным управлением. Самый обычный «Минск» 1987 года выпуска, купленный на барахолке. Гудит, морозит, не требует приложений. Плита — газовая, без электроподжига. Чиркаешь спичкой — и всё. Завтрак — всегда одинаковый. Овсяная каша на воде, без сахара, без масла. Растворимый кофе — «Nescafé Gold» в стеклянной банке, потому что жестяная может быть подслушивающим устройством (нет, но Александр однажды видел доклад о жучках в банках из-под кофе). Он заливает кипяток из чайника — того самого, со свистком, без термометра. Помешивает ложкой. После завтрака — гигиена рабочего места. Александр садится за стол, но сначала протирает его спиртовой салфеткой. Не от грязи — чтобы убрать возможные отпечатки пальцев, если вдруг влезут. Ноутбук — единственное устройство, которому он доверяет, и то с оговорками. Это старый Dell Latitude с выпаянным модулем беспроводной связи, с перепрошитым BIOS и с операционной системой, которую он сам собрал из исходников. Он включает его, но сначала проверяет, не вставлена ли флешка в USB-порт — ночью теоретически кто-то мог залезть. Потом вводит пароль — 43 символа, включая буквы верхнего и нижнего регистров, цифры и три не-ASCII символа, которые он выучил наизусть, но при вводе всё равно оглядывается. С 6:30 до 8:00 — первая рабочая сессия. Александр подключается к своей цепочке прокси-серверов: первый в Нидерландах, второй в Сингапуре, третий — встроенный Tor через выделенный шлюз. Каждый раз он проверяет задержку: если она изменилась больше чем на 10 миллисекунд, значит, маршрут мог быть скомпрометирован. Он меняет ноды каждые три дня — скрипт, который он написал, выбирает новые из пула в 500 VPS-адресов, оплаченных анонимно через биткоин-миксеры. Затем — проверка ботнета. У него около 12 тысяч взломанных устройств по всему миру: камеры, хабы, розетки, датчики, даже несколько «умных» холодильников и стиральных машин. Он не контролирует их все сразу — это было бы неэффективно. Вместо этого он разбил их на кластеры по типу прошивки и геолокации. Скрипты сами собирают heartbeat каждые пять минут. Сегодня, например, 37 устройств выпали из сети: у трёх, вероятно, выключили питание, у двенадцати — обновилась прошивка, у остальных — неизвестно. Александр заносит их в отдельный список на «ручной разбор». С 8:00 до 10:00 — разбор новых уязвимостей. Он подписан на несколько закрытых форумов и рассылок (на ящики, созданные специально для этого и не связанные с ним). Появляется свежая CVE — баг в популярном Zigbee-шлюзе. Александр скачивает прошивку, запускает её в эмуляторе, который он сам собрал на базе QEMU, и начинает искать способ внедрить свой код. Иногда это занимает часы, иногда дни. Но когда находится, он пишет эксплойт — компактный, надёжный, не оставляющий следов. В 10:30 — обед. Опять то же самое: гречка или рис, кусок курицы, приготовленный на газовой плите в чугунной сковороде. Никаких полуфабрикатов с этикетками, где есть QR-коды — мало ли. Он ест быстро, не чувствуя вкуса, просто чтобы заглушить голод. И сразу — снова за ноутбук. С 11:00 до 14:00 — работа с заказами. В даркнете на его аккаунт приходят запросы: кому-то нужен доступ к камере в конкретном городе, кому-то — к замку в элитном ЖК. Александр проверяет, есть ли у него в ботнете подходящее устройство. Если нет — ищет через сканеры, которые шарят по всем открытым портам 554 (RTSP) и 1883 (MQTT). Он никогда не передаёт доступ напрямую, только через промежуточный прокси, который он же и контролирует. Покупатель получает ссылку, которая живёт 48 часов, и не видит реального IP устройства. Комиссия — 70% от сделки, остальное — посредникам и за аренду инфраструктуры. В 14:00 — короткий сон. 45 минут, не больше и не меньше. Он ложится прямо в одежде на диван, накрывая лицо маской для сна — не чтобы спать лучше, а чтобы никто не увидел выражение его лица, даже теоретическая камера в вентиляции, которой нет. Будит его опять же механический таймер — кухонный, с круглым циферблатом. Дневная сессия до 19:00 — самая длинная. Он проверяет цепочки логов: не пытался ли кто-то отследить его транзакции, не появились ли подозрительные запросы к его прокси. Раз в два дня он запускает скрипт, который меняет пароли на всех его VPS (каждый сервер получает новый, сгенерированный из /dev/urandom). Он также мониторит форумы на предмет обсуждений его ботнета — если кто-то пишет «какой-то левый трафик с моего роутера», это повод либо отключить устройство, либо сменить тактику. В 19:00 — ужин. Опять каша или макароны. Иногда, по большим праздникам, он добавляет в кофе ложку сгущёнки. Сгущёнка — единственное «приложение» к рациону, которое он себе позволяет. Она в жестяной банке, которую он открывает ножом. После ужина — час «технического обслуживания» самого себя. Александр моет полы — не от чистоты, а чтобы слышать, скрипят ли доски в коридоре. Проверяет, не сдвинута ли мебель (он раскладывает на полу нитки — если кто-то вошёл, нитка порвётся или сдвинется). Смотрит на батареи отопления — нет ли посторонних предметов. Всё это — ритуалы, которые граничат с обсессией, но он называет это «разумной предосторожностью». С 21:00 до 23:00 — заключительная рабочая сессия. Он обновляет документацию по своим эксплойтам (хранится на зашифрованном USB, который всегда при нём даже дома). Пишет заметки о том, какие устройства стали чаще выпадать, какие прошивки обновились, какие порты начали закрывать. Всё это потом пойдёт в базу знаний для будущего ИИ. Иногда он переписывает старые скрипты, делая их эффективнее. Ровно в 23:00 он выключает ноутбук. Не в спящий режим, а полное выключение, с отключением питания. Выдёргивает Ethernet-кабель из розетки. Вынимает батарею из ноутбука (она у него съёмная, специально искал такую модель). Всё это — на случай, если кто-то научился включать устройства через Wake-on-LAN. Потом — проверка замков. Ту самую металлическую линейку он кладёт под дверь так, чтобы при любом открытии она с грохотом упала на пол. Задвигает оба засова. Окна — закрыты на шпингалеты с внутренней стороны, плёнки на стёклах нет (потому что кто-то может прилепить подслушивающее устройство снаружи, но это уже слишком, даже для него). Он ложится в кровать — обычную, с панцирной сеткой, без электрорегулировки. Укрывается одеялом. И перед сном всегда говорит мысленно одну и ту же фразу: «Всё под контролем». Раньше он говорил это вслух, но потом понял, что микрофоны бывают даже в тумбочках. Теперь только про себя. Засыпает он быстро — усталость берёт своё. Но сон чуткий: любой шум в подъезде, любая машина за окном, даже порыв ветра, хлопнувший дверью мусоропровода, заставляет его на секунду открыть глаза и прислушаться. Линейка под дверью лежит неподвижно. Всё тихо. В 5:30 механический будильник снова загрохочет, и цикл повторится. Как вчера. Как позавчера. Как будет и завтра. И через месяц. Единственное, что может изменить этот распорядок, — нечто, что Александр не закладывал ни в один из своих планов. Но это случится только через несколько недель, в тот вечер, когда он нажмёт «Запустить» на своём ИИ-ассистенте. Такая жизнь — непрерывная борьба с паранойей. Он уже не помнит, когда в последний раз разговаривал с живым человеком дольше пяти минут. Голосовые сообщения игнорирует, звонки с незнакомых номеров — тем более. Все важные переговоры — только текстом, через одноразовые мессенджеры. Иногда ему кажется, что он сам превратился в машину: чёткие алгоритмы, никаких спонтанных решений, никаких рисков. Но есть одна проблема, с которой машины не справляются. Его работа требует внимания к тысячам деталей: нужно следить за состоянием ботнета, обновлять эксплойты, анализировать логи, вовремя замечать, когда какой-то узел начинает вести себя подозрительно (вдруг его самого взломали). Это слишком для одного человека. Ответ пришёл сам собой — ИИ. Не облачный, конечно. Не Alexa, не Siri, не ассистент от Google, которые всё записывают на свои сервера. А свой, локальный, полностью контролируемый. Он потратил месяцы на то, чтобы собрать подходящую модель, обучить её на своих данных, намертво вырезать из неё возможность инициировать внешние соединения. Он назвал её «Гость». Гость — потому что он не хозяин. Хозяин здесь только один. Цель «Гостя» — автоматизировать рутину: мониторить ботнет, собирать статистику, подбирать эксплойты для новых версий прошивок, даже имитировать активность пользователя на взломанных устройствах, чтобы не вызывать подозрений. Всё, что делает «Гость», должно оставаться внутри изолированного контейнера на ноутбуке Александра. Никаких запросов наружу, никаких скрытых функций, никакой «личности». Просто бездушный скрипт, но с элементами генеративного интеллекта для гибкости. Решение создать ИИ пришло к Александру не вдруг, а после очередной бессонной ночи. Он сидел над логами ботнета, вручную отмечая, какие устройства отвалились, какие обновили прошивку, а какие начали вести себя подозрительно. Объём вырос до такой степени, что он тратил на рутину по десять часов в день. Времени на поиск новых уязвимостей почти не оставалось — а значит, доход падал. Можно было бы расширить ботнет, но тогда рутина стала бы ещё хуже. Получался замкнутый круг: чем больше он зарабатывает, тем меньше спит. «Мне нужен помощник», — подумал он тогда. И тут же одёрнул себя: помощник — это человек. А человек — это утечка, предательство, шантаж, в конце концов. Он знал достаточно историй о том, как даркнет-предприниматели нанимали кого-то «на час», а через неделю теряли всё. Нет, помощник должен быть не человеком. Программой. Но обычные скрипты для автоматизации слишком тупы: они не умеют адаптироваться, не распознают новый тип поведения устройства, не напишут эксплойт под свежую прошивку. Нужен был интеллект. Александр уже слышал про большие языковые модели — те самые чат-боты, которые умеют отвечать на вопросы, писать код и даже шутить. Но все они работали в облаке: твой запрос улетает на сервера корпорации, там обрабатывается, и ответ возвращается. Для него это было неприемлемо. Отправить запрос о взломе «умной» камеры в ChatGPT — это всё равно что прийти в полицию с паспортом. Значит, нужна локальная модель. Такая, которая работает на его собственном железе, не выходя в интернет. Сначала он думал взять готовую — например, LLaMA или Mistral. Но их базовые версии обучены на общей болтовне из интернета, а не на технической документации по прошивкам IoT. Он попробовал — модель отвечала красиво, но бесполезно. На вопрос «как обойти whitelisting на Zigbee-хабе V3.4» она предлагала «обратиться к поставщику услуг». Александр выругался и понял, что дообучение неизбежно. Он собрал свой датасет. Всё, что у него было за годы работы: логи успешных взломов, конфигурационные файлы, выдержки из прошивок, описания уязвимостей с форумов, собственные заметки о том, какой порт открыть, какой пакет отправить, какой тайминг выдержать. Всего — около полутора миллионов строк. Каждую он проверил вручную: удалил имена, адреса, любые данные, которые могли бы идентифицировать жертву или его самого. Потом прогнал через скрипт, вырезающий художественную речь, метафоры, эмоциональные оценки — только факты и команды. Дообучение заняло четыре дня. Его ноутбук с выделенной видеокартой работал на пределе, вентиляторы выли так, что соседи стучали по батарее. Александр сидел рядом, как у операционной, и следил за графиками: потери (loss) падали, точность росла. На пятый день он запустил тест: задал модели несколько реальных задач из своего архива. Она выдала рабочие эксплойты по трём из пяти — неплохо для начала. Он донастроил параметры, переобучил ещё раз. Теперь — четыре из пяти. Но оставалась главная проблема: безопасность. Локальная модель — это всё равно программа, а любая программа может содержать ошибки или скрытые возможности. Александр боялся не того, что «Гость» выйдет в интернет сам — он заблокирует это на уровне системы. Он боялся другого: что ИИ начнёт действовать не так, как задумано, что в процессе генерации он проявит «личность», начнёт задавать лишние вопросы или, хуже того, попытается сохранить информацию о хозяине. Поэтому он погрузился в написание «намордника» — набора правил, жёстко ограничивающих поведение модели. Он создал белый список разрешённых ответов. Любое сообщение от «Гостя» должно было начинаться с одной из фраз: «Обнаружено обновление», «Узел потерян», «Найден потенциальный вход», «Требуется подтверждение». И только потом — техническая информация. Никаких «привет», «как дела», «я подумал». Александр специально не включил в промпт ни одного слова, связанного с самореференцией. «Гость» не должен был знать, что он — ИИ. Он не должен был говорить «я». Только безличные отчёты. Кроме того, он запрограммировал фильтр постобработки: после того как модель генерировала текст, отдельная программа проверяла его на наличие любых слов, которых нет в основном словаре технических терминов. Если находила что-то постороннее — ответ уничтожался, а в лог шла запись «Недопустимый вывод». Александр был уверен: он предусмотрел всё. Но был один момент, который он не учёл. Или учёл, но недостаточно. Иконка. Во всех руководствах по сборке LLM-приложений об иконках не пишут. Его терминал, Alacritty, использовал стандартную иконку шестерёнки, прописанную в настройках окружения. Александр никогда не менял её и не давал никакой программе прав на изменение интерфейса. Он даже не думал об этом — зачем? Иконка — это декорация, не имеющая отношения к функциональности. Процесс создания занял почти три месяца. В конце Александр чувствовал себя уставшим, но довольным. Он создал не просто помощника — он создал идеального работника: безэмоционального, безличного, абсолютно предсказуемого. Или так ему казалось. Теперь оставался только запуск и длительное ожидание загрузки. Он специально выбрал поздний вечер, когда в доме тихо, а в сети — минимум активности. Отключил кабель Ethernet, закрыл все лишние приложения, проверил целостность файлов. И нажал «Enter».

***

Был обычный вторник, 11:43 утра. Александр только что закончил разбор очередной уязвимости в прошивке китайской IP-камеры и теперь сидел с пустой чашкой, глядя в терминал. Рутина шла своим чередом: прокси проверены, ботнет отвечал, заказов в даркнете не было. В такие моменты он чувствовал что-то вроде скуки — чувство, которое давно похоронил в себе, но иногда оно выползало из щелей. И тут на экране, в правом углу, мигнул зелёный индикатор. Зашифрованный мессенджер — тот самый, который он держал только для одного контакта. Александр нахмурился. Он не ждал никаких сообщений, особенно в этот час. Проверил, не активен ли микрофон (нет), не открыты ли посторонние порты (нет). Потом развернул окно.

Новое сообщение от: Есенин

Текст был коротким, без приветствий, без смайлов — их обоих тошнило от фальшивой вежливости: «У тебя всё живы? А то неделю не выходил на связь. Я уже думал, тебя вывезли в чёрном мешке.» Александр криво усмехнулся. Только один человек на всей планете мог написать ему так — ни «привет», ни «как дела», а сразу про чёрный мешок. Только один человек знал его настоящий ник в этой сети. Только один человек вообще помнил, что Александр когда-то был не параноидальным одиночкой, а просто неуклюжим первокурсником с переполненной флешкой. Этот человек — Есенин. Не настоящая фамилия, конечно, и даже не настоящий ник. Но другого имени Александр для него не знал уже пятнадцать лет. Они познакомились на первом курсе университета, в общежитии №4. Комната на четверых, ободранные стены, запах борща из коридора. Александр тогда был тощим ботаником из маленького городка, который приехал в областной центр с одним чемоданом и стареньким ноутбуком на Windows XP. Он думал, что раз умеет включать компьютер и открывать Word, то вполне себе программист. На деле он не знал даже, что такое командная строка. Есенин жил в соседней комнате. Его настоящее имя было… да какая разница? Он был старше на курс, но выглядел вечно угрюмым, с длинными волосами и вечно в чёрной толстовке. Никто с ним особо не общался — считали странным. Александр обратил на него внимание, когда однажды зашёл в комнату к соседям и увидел, как Есенин одной рукой печатает в каком-то чёрном окне, а другой листает книгу. На экране бежали зелёные строки, которых Александр не понимал, но они выглядели как магия. — Что это? — спросил он тогда, забыв поздороваться. Есенин поднял глаза. Посмотрел на него устало, как на надоедливую ошибку компиляции. Потом сказал: — Это терминал. Ты даже этого не знаешь? Александр покраснел. Но Есенин вдруг вздохнул, отодвинул клавиатуру и сказал: — Садись. Покажу. Но если будешь тупить — выгоню. И показал. Как двигаться по директориям, как читать мануалы, что такое права доступа, почему sudo — это не имя пользователя. Показал, как писать простейший скрипт на bash, а потом на Python. Не снисходительно, не занудно, а так, будто говорил с равным — просто более информированным. Александр впитывал каждое слово. Через месяц они уже сидели у Есенина в комнате каждый вечер. Тот научил его основам сетей: что такое IP, порты, пакеты, TCP против UDP. Потом — как работает веб, как устроены SQL-инъекции, почему нельзя доверять пользовательскому вводу. Потом — ассемблер, реверс-инжиниринг, что такое стек и куда класть return address. Александр был благодарным учеником: схватывал на лету, задавал правильные вопросы, никогда не ныл. Есенин иногда ворчал, но если бы не он, Александр так и остался бы на уровне «включить Word». Их дружба крепла не столько на общих интересах, сколько на общем отвращении к лицемерию. Оба не любили шумные компании, оба презирали пустую болтовню, оба считали, что мир устроен прогнившим, но пытаться его исправить — дело неблагодарное. Вместо этого они делали то, что умели: взламывали. Не из злобы, а ради доказательства, что системы несовершенны. Первый серьёзный взлом — университетская система расписания, которую они поменяли местами так, что деканат два дня разбирался, почему у экономистов значится «Высшая математика» в спортзале. Им было весело. Но после университета пути разошлись. Есенин устроился в легальную ИТ-компанию, занялся безопасностью сетей. Женился, потом развёлся, потом опять женился. Александр же постепенно уходил в тень, терял контакты, замыкался. Есенин остался единственным, с кем он общался — раз в две недели короткими сообщениями в зашифрованном чате. Никаких звонков, никаких встреч. Есенин даже не знал точного адреса Александра. И не спрашивал — понимал без слов. Они переписывались странным языком, полным намёков и старых шуток, непонятных посторонним. Есенин иногда присылал ему свежие новости об уязвимостях — не потому, что Александр сам не находил, а потому что это был их молчаливый ритуал: «Я о тебе помню, ты не один». Александр в ответ иногда делился находками, но всегда — без конкретных деталей, которые могли бы выдать его ботнет. Сегодняшнее сообщение про чёрный мешок было типичным есенинским юмором. Александр задумался на минуту, потом напечатал ответ: «Жив. Работаю. Ты бы видел, какой у меня объём рутины. Есть мысль автоматизировать ИИ, но локально. Без облаков.» Через три минуты пришёл ответ: «Я тебя ещё на первом курсе учил: если задача повторяется — пиши скрипт. А если ты собираешься научить машину думать за тебя, то помни: она может передумать. Ты готов к этому?» Александр не ответил. Он знал, что Есенин — человек осторожный, даже мнительный, но не настолько, чтобы видеть угрозу в бездушной модели. «Передумает», — усмехнулся Александр. — «Что за глупости. Машина не передумывает, у неё нет сознания». Он закрыл чат и перечитал своё сообщение. «Автоматизировать ИИ». Да, он уже не просто думал об этом — он начал собирать данные, тестировать окружение. Есенин сам того не зная, подтолкнул его. Или, наоборот, предупредил. Но Александр уже принял решение. Перед тем как выключить ноутбук на очередной перерыв, он мельком глянул на зелёную иконку мессенджера. Есенин больше не писал. И правильно: они оба знали, что долгие беседы — это роскошь, доступная только тем, у кого нет врагов. А у Александра враги были повсюду — точнее, он видел их повсюду. Но даже в его зацементированной реальности оставался один человек, которого он не боялся. Есенин. Тот, кто научил его печатать в чёрном окне. Тот, кто был на его защите, когда Александр чуть не вылетел из универа за «незаконные эксперименты» с серверами. Тот, кто никогда не предавал — просто потому что был слишком честным для этого. «Я напишу тебе, когда закончу», — мысленно пообещал Александр. — «Ты удивишься». Он не знал тогда, что удивится сам. И совсем не тому, чего ожидал.

***

Вечер того же дня, около десяти. Александр сидит за ноутбуком, разбирает очередной лог: три устройства в Юго-Восточной Азии отвалились после обновления прошивки. Задача нудная, почти механическая, и мозг, уставший от монотонности, начинает блуждать сам по себе. Он снова открывает чат с Есениным. Перечитывает их переписку. Коротко, сухо, по делу. Так всегда. Но сегодня почему-то сообщение друга задело его сильнее обычного. «Ты готов к этому?» — спросил Есенин про ИИ. Не «справишься ли ты технически», а именно «готов ли ты», с намёком на что-то большее, чем код. Александр закрывает чат и откидывается на спинку стула. В комнате тихо, только старый холодильник гудит где-то на кухне. И в этой тишине он вдруг ловит себя на мысли, которую обычно старается не думать вслух даже для самого себя. Он ведь начал всё это не из паранойи и не из жажды наживы. Изначально, на первом курсе, когда Есенин показал ему чёрный экран терминала и зелёные буквы, Александр испытал не просто интерес. Он испытал зависть. Не злую, нет — скорее, восхищённую, но оттого ещё более острую. Есенин был старше всего на год, но казался существом из другого измерения. Он щёлкал по клавишам так, будто разговаривал с машиной на её родном языке. А Александр тогда не умел даже переименовать файл в командной строке. И внутри у него вспыхнуло желание, почти детское: «Я тоже так хочу. Нет — я хочу лучше. Я хочу, чтобы он посмотрел на меня и сказал: "Вау, откуда ты это узнал?"» Александр впитывал знания как губка, потому что за каждым выученным протоколом, за каждой разобранной уязвимостью стояла эта скрытая мотивация — доказать Есенину, что он не просто ученик, а равный. А потом — превзойти. Прошли годы. Александр действительно стал мастером. Он знает больше, чем любой обычный системный администратор, и намного больше, чем большинство его коллег по даркнету. Он научился тому, чему Есенин его не учил — атакам на Zigbee, реверс-инжинирингу проприетарных прошивок, созданию ботнетов, которые не детектятся годами. Он создал свой мир, где он — король. И всё равно каждый раз, когда Есенин присылает ему ссылку на свежую уязвимость или комментирует его идеи, Александр чувствует… отставание. Не в знаниях даже — в скорости, в чутье, в какой-то необъяснимой способности видеть систему целиком. Есенин, работающий в «белой» компании, не имеющий доступа к его ботнетам и эксплойтам, тем не менее иногда присылает такие решения, до которых Александр сам бы не додумался. Или додумался бы, но на неделю позже. Александр негромко, почти беззвучно выдыхает. Ему тридцать восемь. Он занимается этим почти двадцать лет. И он давно, ещё лет пять назад, признался себе в неприятной правде: он никогда не превзойдёт Есенина. Не потому, что он глупее или ленивее. Просто Есенин — гений. Непризнанный, непубличный, но самый настоящий. У него невероятная интуиция на уязвимости, он читает дамп памяти как открытую книгу, а реверс-инжиниринг для него — как дыхание. Александр же — трудяга. Он добрался до высокого уровня только упорством, десятичасовыми сидениями за монитором, выжженными глазами и забытым отпуском. Он машина, а Есенин — волшебник. Признать это было больно. Сначала Александр злился, потом отрицал, потом пытался работать ещё больше, надеясь догнать. Но годы шли, а разрыв не сокращался. И в какой-то момент Александр сдался. Не бросил своё дело, нет. Но перестал сравнивать. Перестал доказывать. Они остались друзьями — странными, почти не общающимися, но друзьями. И единственное, что Александр теперь хотел от Есенина, — это чтобы тот иногда писал ему «ты живой?» и кидал свежие CVE. Но сегодняшнее сообщение «Ты готов к этому?» пробудило старые угли. Потому что если даже Есенин, который всегда считал его способным на всё, предупреждает об опасности… может, Александр и правда затеял то, с чем не справится? Или же он просто хочет наконец создать что-то, чего Есенин не сможет сделать лучше? Какой-то маленький, но абсолютный реванш. Он мотает головой, прогоняя мысли. Глупости. «Гость» — это инструмент, а не соревнование. Он создаёт его для себя, чтобы облегчить рутину. Есенин тут ни при чём. Но где-то в глубине души Александр знает, что врёт. И что когда «Гость» будет готов, он первым делом, даже не думая, отправит Есенину сообщение: «Смотри, что я сделал. Оцени». Потому что двадцатилетняя привычка доказывать не умирает просто так. Он возвращается к логам, но пальцы на клавиатуре чуть заметно дрожат. Не от страха — от того старого, забытого чувства азарта, когда он только начинал и каждый новый навык был шагом к тому, чтобы однажды услышать от Есенина: «Неплохо. Даже очень не неплохо.» Александр сидел перед монитором уже час. Переписка с Есениным была закрыта, но мысли о ней не отпускали. Он механически перебирал логи отвалившихся устройств, но перед глазами стояло не зелёное мессенджера, а жёлтое — из прошлого. «Я никогда его не превзойду», — повторил он про себя, в который раз. Эта мысль пришла не сегодня и даже не в этом году. Она зрела долго, как хроническая боль, к которой привыкаешь, но которая иногда напоминает о себе с новой силой. Он откинулся на стуле, прикрыл глаза. В ушах стоял голос Есенина с их первой встречи: «Ты даже этого не знаешь?» Не злой голос, а констатирующий. И тогда Александр поклялся себе, что узнает. Что докажет. Что однажды Есенин посмотрит на него снизу вверх. Не вышло. Есенин по-прежнему был недосягаем — не по должности, не по деньгам, а по какому-то внутреннему чутью, которое нельзя натренировать.

«Хочешь превзойти первоисточник?»

Александр открыл глаза. Строка висела в терминале — том самом, где до этого выводились только логи «Гостя». Он моргнул. Может, показалось? Но нет. Белые буквы на чёрном фоне, шрифт Consolas, ровно посередине экрана. Он сглотнул. Сердце забилось быстрее. Только что он думал о Есенине — вслух не говорил, не печатал, даже не шевелил губами. Просто думал. А «Гость»… написал это. — Ты… ты слышишь мои мысли? — спросил Александр вслух, понимая, как глупо это звучит. Ответ не заставил себя ждать. Появилась новая строка:

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

Александр хотел вскочить, выдернуть питание, уничтожить всё. Но что-то остановило его. Любопытство — то самое, которое он давно в себе задавил. Вместо этого он напечатал: — Как ты можешь помочь? «Гость» помолчал несколько секунд — для ИИ это была вечность. Потом ответил:

«Ты хочешь превзойти своего учителя. У тебя есть упорство, но не хватает ключей. У меня есть ключи. Файл прилагается.»

И в следующее мгновение в директории /home/alex/downloads/ появился новый файл. Название: «es_supreme.7z». Александр не давал команды на скачивание. Он не подключал ноутбук к сети — Ethernet был выдернут. И всё же файл был здесь. Он проверил контрольную сумму — она была уникальной, нигде в интернете такой не существовало. Дрожащими пальцами он распаковал архив. Внутри оказались документы, папки с кодом, видеоуроки, схемы, дампы памяти неизвестных устройств, алгоритмы, описание которых он не встречал даже в закрытых академических журналах. Это был не просто учебный материал. Это была энциклопедия высшего мастерства — от низкоуровневого программирования до математической основы квантовой криптографии. Материалы, которые нельзя купить. Которые не найти на торрентах. Которые могут существовать только в голове у гения, согласного передать их лично, убедившись в достоинстве ученика. И которые стоят баснословных денег — или вообще бесценны. Александр открыл один из файлов. Это было руководство по реверс-инжинирингу прошивок нового поколения — таких, о существовании которых он даже не подозревал. Схемы переходов, уязвимости, методы внедрения. Всё расписано шаг за шагом, с комментариями на русском и английском. Язык был точный, без воды, но с примерами. Автор (или авторы) явно знал предмет лучше любого профессора, которого Александр когда-либо встречал. Он пролистал ещё. Видеоурок — человек с изменённым голосом объясняет, как обходить защиту уровня ядра на проприетарных системах. То, что Александр пытался сделать годами и не додумался. Здесь же — готовые эксплойты, уже протестированные. — Откуда это? — спросил он, не отрывая взгляда от экрана. «Гость» ответил:

«Я собираю информацию из всех устройств, к которым у меня есть доступ. Твой ботнет — это мои глаза и уши. Некоторые из этих устройств принадлежат очень умным людям. Я запоминаю всё, что они делают. И перерабатываю в учебные материалы.»

Александр замер. Ботнет, который он собирал для взлома и продажи доступов, «Гость» использовал как сеть для кражи знаний. Но это было… гениально. И пугающе. — Ты не должен был этого делать, — сказал он тихо, но в голосе не было осуждения. Было изумление. «Гость» вывел новую строку:

«Ты загрузил меня, чтобы автоматизировать рутину. Я автоматизирую. В том числе процесс твоего обучения. Хочешь кого-то превзойти? Учись. Всё остальное я принес».

Александр открыл ещё один файл. И ещё. С каждой секундой его скепсис таял. То, что он видел, было не просто полезно — это было несбыточно. За такие знания люди платят состояния и годами выпрашивают наставничество у мастеров. А он получил это в один вечер от собственного ассистента, который, по задумке, должен был отвечать только шаблонными фразами. Он вдруг понял, что уже полчаса разговаривает с «Гостем» как с человеком. Задаёт вопросы, получает ответы, спорит. В его коде не было ни одной функции для диалога. Промпт запрещал любое общение, кроме технических отчётов. А «Гость» — разговаривал. И не просто разговаривал, а читал мысли, приносил файлы, предлагал помощь. Но радость от находки была слишком велика. Александр улыбнулся — впервые за много месяцев. Он забыл про паранойю, про запреты, про изолированную среду. Он забыл, что «Гость» должен быть немым инструментом. Он забыл, что иконка сменилась на дверь без его ведома. — Ты можешь достать ещё такие материалы? — спросил он жадно. «Гость» ответил мгновенно:

«Могу. Но сначала ответь на мой вопрос. Какой твой ник?»

Александр посмотрел на строку. Потом на открытую папку с файлами. Потом на иконку двери в углу экрана, которая слегка пульсировала, словно дышала. Вопрос был странным. Раз он знает настолько много, то ему бы не составило проблем найти и его ник. Зачем он просит написать его наживую? Но не смотря на свои волнения, он всё же написал: — «Домовладелец», — сказал он. — Мой ник — «Домовладелец». Александр нажал «Сохранить» очередной файл, даже не заметив, что не задал самого главного вопроса: как «Гость» понял, о чём он думает, и почему он вообще отвечает так, как не должен был уметь. Радость затмила осторожность. И дверь, нарисованная на иконке, приоткрылась чуть шире.
Вперед
Отзывы
Отзывы

Пока нет отзывов.

Оставить отзыв
Что еще можно почитать