Серая, непроницаемая водная гладь временами играла бликами фар редких машин, проезжавших по мосту в поздний час. Ветер гудел в вантах моста, соединявшего две части спящего города, которые стремилась разлучить широкая бурная река. Леша не помнил, как долго он здесь стоит и всматривается в холодную бездну. Всё кроме этой бездны перестало существовать и иметь значение. Даже звуки проезжающих авто, порой очень громкие, Леша будто бы не слышал. Он сосредоточенно смотрел вниз, выбирая момент для того, чтобы шагнуть в неизвестность. Если бы всего пару дней назад ему кто-то сказал, что он будет стоять здесь ночью на городском мосту, планируя прыгнуть вниз, с высоты 40 метров, он бы просто покрутил пальцем у виска. "Прыжок в воду с 40 метров? Да это же верная смерть! Я что — самоубийца?" — изумленно выкрикнул бы он и развёл руками. Ответ на последний вопрос, к слову, он и сам пока точно не знал. Потому что, если бы знал, то уже давно бы прыгнул, а не стоял тут черт знает сколько времени. Но чем дольше он стоял, всматриваясь в темноту, тем больше ему казалось, что ответ вот-вот станет утвердительным. Леша начал мысленно прогонять по кругу все события прошедших дней, приведших его сюда, и сердце начинало с болью сжиматься от злобы, отчаяния и бессилия. Удивительно как быстро мир может разрушиться до основания, причем почти без каких-либо предпосылок. А мир этот был очень даже неплох, уютен и полон прекрасного.
Леше всего 27, он — перспективный и крайне востребованный фронтенд-разработчик в международной IT-компании. Сервисами, в разработке которых он участвует, пользуются люди по всему миру. Леша очень любил свою работу за возможность непосредственного участия в улучшении жизни огромного количества людей. Его привлекало и вдохновляло, что он может, находясь где угодно, делать вещи, которые способны изменить жизнь человека в любом уголке планеты. Привлекало и то, что за свою работу он получал очень неплохие 5 тысяч долларов в месяц, которые позволяли ему быть совершенно самодостаточным, а главное — обеспечивать не только себя, но и своих близких. Самыми близкими людьми у Леши были родители, а также любимая девушка Юля, с которой они встречались уже целых 2 года и которой он в скором времени планировал наконец-то сделать предложение. Круглую сумму, которая позволяла делать жизнь близких такой беззаботной он и сейчас получал, просто теперь, всё это, равно как и грандиозная миссия по развитию мира, перестала иметь хоть какое-то значение. Мир, для которого Алексей готов был вдохновенно трудиться, перестал существовать всего за пару последних дней.
Всё началось месяц назад. Алексей привычно коротал досуг, читая статьи на популярном IT-сайте. Там он любил делиться мнением с коллегами, общаться и узнавать новости о современных технологиях. Это было полезно для общего развития, а что-то можно было позаимствовать в качестве идей для основной деятельности. Так Алексей наткнулся на статью, опубликованную на официальной странице компании StarChat — одного из самых популярных и надежных в мире мессенджеров, которым пользовался и сам Леша. Одной из главных фишек мессенджера была сфокусированность на безопасности персональных данных и приватности пользователей. В статье рассказывалось о том, как компания работает в этом направлении и в частности описывался один из способов поиска критических уязвимостей в системе. Компания предлагала всем желающим совершить попытку взлома мессенджера, с целью получения доступа к перепискам пользователей. Если это удастся сделать, первый сообщивший о найденной уязвимости, получит от компании солидное вознаграждение в виде 100 000 долларов. Таких людей называют багхантерами, Леша о них слышал и раньше, но никогда серьезно не погружался в эту тему. Хакером он никогда не был и вопросами сетевой безопасности не занимался. Он имел лишь общее представление об алгоритмах шифрования, и последний раз имел с этим дело еще в институте. И всё же в нем проснулся азарт — а что, если ему всё-таки удастся обнаружить уязвимость и получить 100 000 долларов? "Ведь я совершенно ничего не теряю. Это могло бы стать моим развлечением на ближайшие месяца два, к тому же заодно я смогу подтянуть знания по криптографии и браться за новые интересные задачи. Прокачаю себя как специалиста и интересно проведу время. А если надоест, то всегда можно бросить", — рассуждал Леша. Для участия в поиске уязвимостей нужно было подать заявку. Он заполнил несложную форму и приступил к поиску.
С этого момента и почти каждый вечер он копался в архитектуре StarChat, пытаясь уцепиться за какую-нибудь неточность в коде, которая могла бы намекнуть на возможность доступа к переписке пользователя. Чем больше он работал над поиском багов, тем больше восхищался работой своих коллег, а вот энтузиазм напротив угасал пропорционально восхищению. За первые две недели он проверил практически все потенциальные места взлома — при регистрации в мессенджере, при отправке аудиосообщений, при совершении видео-вызовов, он даже пытался получить доступ с помощью специально написанного им бота, который маскировался под инструмент для создания собственных стикеров. Леша всё больше чувствовал себя героем фильма про хакеров, но ничего из перепробованного не приближало к нахождению уязвимости.
"Может, это просто их PR-ход и они давно уже закрыли все уязвимости?" — размышлял Леша. И действительно, за всё три года существования мессенджера, не было ни единого случая утечки данных, ни единого скандала. Мессенджер полностью оправдывал репутацию самого надежного и безопасного средства общения, что невероятными темпами сказывалось на количестве активных пользователей — за последний год их число увеличилось в целых три раза: по статистике, двести миллионов людей по всему миру заходили в мессенджер хотя бы один раз в месяц. "Ладно, поковыряюсь ещё недельку и ну его нафиг" — решил Леша. Но все-таки возможность получить 100 000 долларов грела ему душу. Не то чтобы он был зациклен на деньгах, это было совсем не так. Леша смотрел на деньги философски и видел в них инструмент, с помощью которого можно улучшить мир и в первую очередь — улучшить жизнь дорогих ему людей. В тайне он мечтал купить своим родителям роскошный большой дом. Он знал, что мама с папой давно мечтали о нем, но даже со своей солидной зарплатой Леша не мог позволить просто взять и купить дом мечты. Он мог позволить себе очень неплохую квартиру средних размеров или просто залезть в большой кредит, но ему хотелось сразу сделать всё идеально, не залезая ни в какие долги. А еще он держал в уме свое намерение сделать предложение своей любимой Юле. И оно тоже должно было стать идеальным. Леша давно готов был сделать предложение, но, но как и в случае с домом для родителей, хотел создать совершенные условия. Его мечта состояла в том, чтобы отправиться с любимой в Париж, и оказаться в знаменитом ресторане Le Jules Verne, расположенном прямо в Эйфелевой башне. В идеале он бы хотел арендовать этот ресторан, чтобы в торжественной и романтичной обстановке, оставшись с Юлей один на один, преподнести возлюбленной дорогое и красивое кольцо. Все эти смелые мечты могли бы легко воплотиться в реальность, если бы он справился с задачей и нашел эту злосчастную уязвимость, которой, возможно и вовсе не существует. Только эти мечты и заставили Лешу дать себе еще неделю на поиск решения. И вот эта неделя подходила к концу. Вечером, после довольно загруженного рабочего дня, Леша раскинулся в кресле перед своим домашним компьютером. Мысли о рабочих задачах никак не выходили из головы и быть может, поэтому он смог посмотреть на проблему с иного ракурса. "Кажется, я проверил почти всё. Или нет? Регистрация, отправка сообщений, голосовые чаты, видеоконференции — всё проверено. Попробую пройтись заново. Итак, регистрация, как она осуществляется? На официальном сайте можно скачать приложение, также можно получить ссылку на регистрацию от друга, просто переходим по ссылке и попадаем на официальный сайт..." — на этом моменте Леша застыл, глядя в монитор. Он понял, что для рассылки приглашений StarChat использует не один из своих субдоменов, а отдельный домен, который никак не связан с основным приложением даже названием. Домен именовался forwardAUTOload.co.uk и использовал небезопасное http-соединение. Леша понял, что это может быть зацепкой. Он проверил логи SQL-запросов на предмет наличия ошибок и с удивлением для себя понял, что он может свободно формировать запросы самостоятельно, хотя он не должен был иметь такую возможность. Это означало, что он может произвольно видоизменить приглашение в мессенджер, сделав из него что угодно. Теперь, с помощью найденной лазейки, нужно было попытаться прочесть чью-либо переписку. Леша придумал способ. Он сможет отправить уведомление в мессенджер, замаскированное под сообщение от официального внутреннего аккаунта StarChat, с помощью которого мессенджер уведомляет о своих обновлениях. Пользователю достаточно просто прочитать этот уведомление и в теории Леша сможет получить доступ ко всему списку чатов, сможет читать переписку и даже отправлять другим пользователям сообщения от имени аккаунта "жертвы". Причем, ему даже не нужно будет знать логин и пароль от аккаунта! Для того, чтобы подтвердить гипотезу, Леша быстро зарегистрировал новый аккаунт в StarChat и добавился к нему со своего личного профиля. Он быстро набросал абракадабру из произвольных букв в чат между своим профилем и профилем-фейком. Это была переписка, которую он должен суметь обнаружить с помощью гипотетической уязвимости. Еще час ушел чтобы перенастроить стандартные запросы сервера, подменив их собственными. И вот он, момент истины. Леша отправляет фальшивое сообщение об обновлении от аккаунта StarChat, читает его с помощью фейкового аккаунта и… Лицо Леши медленно расплывается в улыбке — перед ним на экране вся переписка, которую он только что смоделировал. Способ работает! Он получил доступ к переписке и теперь может читать её в режиме реального времени! От возбуждения Леше срочно потребовалось встать и пройтись по комнате, его переполняли эмоции. "100 000 долларов! Так просто! Ответ был на поверхности! И это самый надежный мессенджер в мире? Я даже не специалист в этой области, а сумел взломать переписку всего за 3 недели! " — Леша был вне себя, он чувствовал себя так, словно по дороге домой нашел чемодан с деньгами. "С другой стороны, мы же все пользуемся этим мессенджером и всё это время в нем есть такая дыра? А что, если я не первый, кто нашел эту уязвимость? Что если в мире куча хакеров, которые не сообщают о своей находке, а просто тихонько воруют данные, зарабатывая на их продаже гораздо больше, чем эти 100 000 долларов? Лешина радость резко сменилась тревогой. Он представил как все его переписки, а также переписки его родственников и друзей могут стать добычей совершенно незнакомых ему людей, с непредсказуемыми намерениями. Но тут, мимолетная мысль о переписках близких свернула в совершенно неожиданное русло — Леша вдруг понял, что он прямо сейчас может запросто зайти и почитать абсолютно любую переписку кого-то из своих знакомых. Леше стало противно — почему такие мысли вообще лезут к нему в голову? Это же отвратительно! А хотел ли бы он, чтобы кто-то также вторгался в его личную жизнь? Леша решительно зашел на официальный сайт StarChat нашел раздел "разработчикам" и перешел к форме обратной связи, которую надлежало заполнять багхантеру, чтобы уведомить мессенджер о результатах своей работы. "Сейчас я сообщу о проблеме и они быстро всё залатают" — подумал Леша, набирая сообщение. Но вдруг раздался звонок.
На экране смартфона появилась знакомая Леше физиономия — это был Гарик, друг детства. Они виделись с ним не очень часто, интересы у них пересекались весьма относительно, но всё же Гарик был приятным человеком и Леша старался поддерживать отношения.
— Леха, здорова! Я тебе не помешал?
— Привет, Гар, не всё в порядке, ты как?
— Да всё отлично. Слушай, я много времени не займу, перехожу к сути — у меня тут намечается небольшой сабантуйчик — хочу отметить новоселье, а то заехал в свою трёшку еще полгода назад, но так никого и не собрал по этому случаю.
— Круто, а сколько народу планируешь собрать?
— Да человек 10.
— Хаха, и это ты называешь "небольшой сабантуйчик"? — засмеялся Леша.
— Ну да, я прикинул, как раз все поместятся. Помнишь, ты меня еще как-то знакомил со своим другом, Юрой, не помню как его по фамилии… В общем, его тоже позови, а то у меня его контактов нет. Ну и Юля, разумеется, пусть тоже приходит, я всех зову.
— Спасибо большое за приглашение, Гар, мы постараемся обязательно быть. Давай, чтобы честно было, я тебе чуть позже сегодня наберу и точно скажу, смогу я или нет.
— Да без проблем, Леш, но я очень рассчитываю тебя видеть, имей в виду, — добродушно настаивал Гарик.
— Ясно, тогда жди звонка.
— Жду, жду. Давай, пока!
Леша только успел завершить вызов, как тут же услышал звонок в дверь. "Кажется Юля вернулась, что-то поздновато сегодня" — подумал Леша и пошел открывать дверь.
— Привет, зайчик, это я, пустишь меня — из-за двери донесся веселый звонкий голос Юли.
— Может быть и пущу, если ты пообещаешь не кричать на весь подъезд о том, что я зайчик — весело и громко ответил Леша, приоткрывая дверь.
— Ну брооось, кому какое дело? Ты думаешь, соседям важно, как мы друг друга называем? — спросила Юля, заходя в только что открытую дверь квартиры.
— Да не то чтобы меня это беспокоило, но все-таки немного неприятно, когда совершенно посторонние люди могут слышать что-то, что адресуется исключительно тебе.
— Это всё какие-то скрытые комплексы, милый, — назидательно проговорила Юля, снимая пальто, — мне вот совершенно неважно, что обо мне думают посторонние, и тебе тоже пора научиться не обращать внимания на это.
— Да, ты как всегда совершенно прав, Юльчонок, — Леше нравилось называть так свою девушку. Ему слышалось в этом прозвище что-то среднее между волчонком и бельчонком, что по его мнению весьма точно отражало переменчивый и противоречивый характер Юли. Она была словно полной противоположностью Леши по темпераменту, но именно этот факт парадоксальным образом уравновешивал их отношения.
— Ты опять меня так называешь? — сердито воскликнула Юля, — я же тебе сто раз говорила, что мне не нравится это дурацкое коверкание моего имени!
— А мне думаешь, всегда хочется быть зайчиком? — с улыбкой возразил Леша.
— Ну чего ты придираешься, а? Я же любя, тем более зайчик — это мило, а твой "юльчонок" — это фигня какая-то, честно слово, — с досадой фыркнула Юля, — у меня сегодня был очень тяжелый день, репетиция затянулась допоздна, Юрий Рейнольдович нас решил не щадить перед выпускным экзаменом.
— Да, я как раз хотел спросить тебя, как прошла репетиция, — тихо заметил Леша,
— Ой, это кошмар! Ты знаешь Риту? Помнишь, мы как-то сидели все вместе в ресторане "Букет Виктории"?
— Да, припоминаю, — задумчиво произнес Леша, хотя на самом деле он абсолютно не помнил никакую Риту и даже не особо припоминал этот ресторан со странным названием "Букет Виктории".
— Так вот, Юрий Рейнольдович так на неё кричал, что она три раза бегала в гримерку, чтобы выплакаться.
— Какой-то садист этот ваш Юрий Рейнольдович, а на тебя он тоже кричал? — с легким возмущением в голосе спросил Леша.
— На меня он ни разу еще не кричал, — гордо ответила Юля, — и потом, ты не прав насчет садизма. Это просто методы его работы с творческими людьми. В актерском ремесле никак без дисциплины, а Рита — просто тупица, до которой по-другому не доходит. Если бы она не забывала свои реплики и не путала интонации, всё было бы отлично.
— А тебе не приходило в голову, что ты так говоришь только потому, что он на тебя никогда не кричал? — иронично заметил Леша.
— Нет, ну вот зачем ты опять начинаешь? Я же тебе говорю — на меня он никогда не станет кричать, потому что я прекрасно понимаю свою задачу и хорошо готовлюсь к роли. И вообще, я же тебя не учу, как программировать твои программы. Знаешь, давай просто отдохнем, мне так не хочется говорить про театр сегодня. Он у меня уже вот где, — Юля характерным жестом провела воображаемую линию по своей шее.
— Да, милая, давай не будем. Я тут еды заказал, твои любимые мидии и wok с креветками, ты будешь? А еще в холодильнике стоит замечательная бутылка твоего любимого французского вина.
— Ты просто мой спаситель и настоящий рыцарь! — голос Юли смягчился, она нежно прижалась к Леше и быстро поцеловала его в губы.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.
Если вы используете ВКонтакте, Facebook, Twitter, Google или Яндекс, то регистрация займет у вас несколько секунд, а никаких дополнительных логинов и паролей запоминать не потребуется.