Суровые лесные алабамские хакеры

Школа в Ист-Брютон, Алабама была вынуждена отказаться от выбора выпускника с наивысшим средним баллом, обычно произносящего прощальную речь (валедикториана), после того, как выяснилось, что начиная с 2016 года в компьютеры школы регулярно пролезал хакер и менял отметки.

https://www.bleepingcomputer.com/news/security/high-school-can-t-pick-valedictorian-because-hacker-altered-grades-for-years/

Был я проездом в этом Ист-Брютоне. Дыра — жутчайшая. Это даже не село, а так, деревня. Пейзаж центральной улицы:

Прямо удивительно, что среди такого сельского места нашёлся настолько талантливый человек. Гордость берёт за родной штат!!!!

АНБ подсуетилось

И собрало за прошлый год в ТРИ раза больше информации о телефонных звонках, сделанных американцами. Общее количество записей о звонках и текстовых сообщениях превышает 534 миллиона.

Это чисто если у кого-то остались какие-то иллюзии о выполнении норм Конституции современным правительством США. И начал эту хрень — Буш-младший, с введения “Патриотического акта” в 2001 году.

А меж тем Четвёртая Поправка гласит, что:

“Право народа на охрану личности, жилища, бумаг и имущества от необоснованных обысков и арестов не должно нарушаться. Ни один ордер не должен выдаваться иначе, как при наличии достаточного основания, подтвержденного присягой или торжественным заявлением; при этом ордер должен содержать подробное описание места, подлежащего обыску, лиц или предметов, подлежащих аресту.”

Но никого Конституция не волнует, правда? Кого должны смущать такие мелочи? Ну так вот, как положили болт на четвёртую поправку, так могут легко положить болт и на первую и на вторую, и так далее (исключая восьмую и шестую — их УЖЕ де-факто похерили).

https://www.forbes.com/sites/niallmccarthy/2018/05/07/nsa-triples-collection-of-u-s-phone-records-infographic/#3f6c61133862

Сам себе Телеграм

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

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

У вас обоих стоит Линукс с установленным пакетом OpenSSL. Дальше чисто дело техники, и примерно всё то же самое делает и сам мессенжер Телеграм, просто сама работа алгоритмов от тебя скрыта. Эдакий Протокол Диффи — Хеллмана, только в полностью ручном режиме.

Твой собеседник должен:

Создать пару публичных/приватных RSA ключей:
openssl genpkey -algorithm RSA -out private.key.pem -pkeyopt rsa_keygen_bits:4096

Вытащить публичный ключ и записать его в файл:
openssl rsa -pubout -in private.key.pem -out public.key.pem

Прислать содержимое public.key.pem (оно текстовое) тебе, например, обычной почтой (*). Разглашение публичного ключа никому ничего не даёт — для дешифровки нужна его приватная часть.

Теперь тебе нужно зашифровать данные этим его присланным публичным ключом.

Сходу зашифровать несимметричным алгоритмом RSA большой файл, не разбивая его на мелкие куски невозможно, команда
openssl rsautl -encrypt -inkey public.key.pem -pubin -in poutine.jpeg -out poutine.jpeg.enc
выдаёт ошибку о том, что размер данных слишком большой для данного ключа длиной 4096 бит. Но всё, что меньше 4096 – 11 бит, зашифровать можно. Поэтому делают так: создают ключ для симметричного шифрования, например, AES или Twofish — это уж кому что милее — им кодируют файл, а уже сам ключ несимметрично шифруют публичным ключом, и передают его собеседнику в кодированном виде вместе с данными.

Делаем случайный ключ для симметричного шифрования:
openssl rand 256 -out symm.key

Шифруем фотографию путина алгоритмом AES256 с этим ключом:
openssl enc -aes-256-cbc -salt -in poutine.jpeg -out poutine.jpeg.enc -pass file:./symm.key

Шифруем сам ключ алгоритмом RSA:
openssl rsautl -encrypt -inkey public.key.pem -pubin -in symm.key -out symm.key.enc

Теперь у нас есть два шифрованных файла, в одном данные, шифрованные AES256, в другом — шифрованный ключ к AES256.

Чтобы послать это по обычной почте, переведём все бинарники в текст кодировкой Base64.

cat poutine.jpeg.enc | base64
cat symm.key.enc | base64

Текст присылаем нашему собеседнику.

Фсе. Теперь ни одна живая душа, без владения приватным ключом, не сможет ничего прочитать. И всё делается элементарно, на коленке. В-общем, “террористам”, которых якобы гоняет Роскомгестапо, блокировка Телеги не преграда совершенно. Ну, а страдают, как обычно, непричастные.

PS: Единственный способ передать государству ключи для дешифровки сообщений — это на этапе генерации у клиента несимметричных ключей сливать приватную часть “кому надо”. Т.е. это надо спецом встраивать такую функцию в клиента. А клиент Телеги — опаньки — опенсорсный. Вставка подобной функциональности будет мгновенно засечена.

Поэтому сам запрос на получение ключей — нелеп и смехотворен. Я могу отдать только то, что у меня есть.

PPS: Нынче модно ненавидеть Роскомгестапо за то, что они делают. А меж тем претензия не по адресу. Кто создал Роскомгестапо? Кто принял законы, по которым он работает? Кто подписал эти законы? И кто, вообще, выбрал всех этих людей?

* В реальных применениях публичный ключ ещё дополнительно подписывается центром сертификации, которому доверяют оба участника — иначе сообщения возможно перехватить, и ключи подменить, устроив атаку типа “Человек посередине”.

Про блокировку Телеги

Тем, кто причастен к самому мессенжеру, бесплатно дарю идею о том, как обходить любые блокировки в стране победившего интернет-тоталитаризма.

Идея не моя, просто я на это насмотрелся досыта, когда компьютерные вирусы препарировал. Технология DGA (domain generation algorithm).

При запуске программа сначала пытается идти на свои основные серверы. ОК, допустим Роскомгестапо уже подсуетилось, и заблокировало их. Не проблема, вот у нас, например, сегодня 16 апреля 2018 года. Соответственно, идём на 2018Apr16.com, который вчера был предусмотрительно зарегистрирован владельцами мессенжера. Завтра пойдём на 2018Apr17.com и так далее. Это и есть алгоритм. Роскомгестапе придётся каждый день отрывать зад от стула и блокировать всё новые и новые серверы.

Конечно, вышеописанный пример очень примитивен и алгоритм быстро вычисляется. В реальности алгоритмы намного более сложные, и имена доменов намного более обскурны. Вот, например, такие доменные имена использовал шифровальщик Locky:

bkadufmdyf[.pm]
kpvoxwgf[.pm]
fysck[.fr]
hsasjielgfkneh[.ru]
qquvjijtvatj[.in]
edmgbqygn[.de]
nbavfpb[.uk]
wyusb[.yt]

В нём, правда, алгоритм генерации доменов тоже не фонтан. Но в Телеге сидят настоящие программисты, которые умеют в криптографию, я верю, что они смогут придумать такой алгоритм, который не смогут раскусить интернет-гестаповцы. Потом, кто сказал, что надо генерировать ОДНО доменное имя? А двести тысяч ежедневно — не хотите? (абсолютно реальный случай, вирус GameOver Zeus). Особенно учитывая, что на данный момент процедура блокировки работает в полностью ручном режиме, блокировать 200 000 доменов лапками, да ещё ежедневно… как говорится, это пишется с мягким знаком. Пока владельцу ботнета Zeus всем миром не прищемили хвост, никто, ни ФБР, ни ЦРУ ничего сделать с самим вирусом не могли. Так победим. Удачи.

Получил письмо

Все помнят шутку про Страшный Компьютерный Вирус? Ну, там начинающий крякер посылал письмо примерно такого содержания: “На вашем компьютере есть вирус. Я ещё начинающий программист, поэтому нужна ваша помощь. Зайдите в командную строку и наберите format c:”

В каждой шутке, как известно…

Приехало сегодня:

Gоod day.
Dо nоt mind оn my illiteraсy, I аm from Jараn.

I uploаded thе mаliciоus рrоgram on yоur systеm.

Sinсe that momеnt I pilfеred аll рrivy baсkground from your systеm. Additiоnаlly I have somе morе соmpromising еvidenсе. The mоst interеsting evidеncе that I stolе- its а vidеotаpе with yоur masturbаtion. I аdjustеd virus оn a рorn wеb site аnd aftеr you loаded it. Whеn you decidеd with thе vidеo and tapped оn а plаy buttоn, my dеlеteriоus sоft аt оnce sеt up on yоur system. Aftеr adjusting, yоur сamеrа shoоt thе videоtaрe with you self-abusing, in аddition it sаvеd рrecisely the pоrn videо yоu mаsturbatеd on. In next fеw days my mаlwarе сollесted аll your soсiаl аnd work сontacts.

If you desire to eliminate all the evidence- transfer me 200 united state dollar in Bitcoins.
It is my Bitcoin wallet address – 14Sv5Bc3g3MXEY2PkvpPt8VCL2tb9hyuNz
You have 32 h. to go from this moment. As soon as I receive transaction I will erase the evidence permanently. Other way I will send the tape to all your friends.

Круче всего, конечно эта фраза: I adjusted virus on a porn site and after you loaded it.

Интересно, какой язык для этого говнокрякера родной? Думаю, что китайский.

Кстати, кто-то, походу, повёлся на это говно. Все помнят из моего поста про блокчейн, что транзакции для биткоина лежат в открытом доступе?

Вот и поглядим активность этого кошелька: https://blockchain.info/address/14Sv5Bc3g3MXEY2PkvpPt8VCL2tb9hyuNz

4 апреля кто-то ему отправил похожую сумму, 220 долларов (0.0319 BTC). Курс биткоина постоянно прыгает, так что вполне возможно, что тогда биткоин и стоил те самые двести долларов.

Отдал часы мужику

В продолжение истории.

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

Выяснилось до предела тупое — к нему залезли в дом в то время, когда он с семьёй был в Мексике. Украли часы и 800 долларов. Видимо, воры были не полными кретинами, так что часы выкинули. Не полными кретинами — потому что для того, чтобы использовать часы, их надо регистрировать с Apple ID. По запросу суда Apple мгновенно выдаст по серийному номеру всю инфу насчёт гражданина, зарегистрировавшего краденый продукт. Так что эппловские продукты красть бесполезно, разве только если ты спецом не хочешь навести на себя ментов.

И залезли к нему тоже по-тупому, так как он в фейсбуке разместил фотографию из Мексики — “заходите, дорогие воры, нас дома нет”. Народ в массе, всё же идиоты, не понимают, что излишняя разговорчивость в соцсетях может довести до цугундера.

До кучи выяснилось, что мужик является молодёжным пастором. Возможно, кто-то из паствы знали о том, что он уезжает и вольно или невольно выступили в роли наводчиков, а может, и самих воров.