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

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

Идея не моя, про­сто я на это насмот­рел­ся досы­та, когда ком­пью­тер­ные виру­сы пре­па­ри­ро­вал. Тех­но­ло­гия 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). Курс бит­ко­и­на посто­ян­но пры­га­ет, так что вполне воз­мож­но, что тогда бит­ко­ин и сто­ил те самые две­сти дол­ла­ров.

Блокчейн

Боль­шин­ство моих ЖЖ-дру­зей, навер­ное, в кур­се, что это, и как это рабо­та­ет. Но вдруг кто не зна­ет или не пони­ма­ет.

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

Если два экс­пер­та про­ве­дут дак­ти­ло­ско­пи­ро­ва­ние одно­го и того же чело­ве­ка, они полу­чат (во вся­ком слу­чае, долж­ны) оди­на­ко­вый резуль­тат. Так и с ком­пью­те­ра­ми — если два чело­ве­ка будут исполь­зо­вать один и тот же алго­ритм хеши­ро­ва­ния на одном и том же набо­ре дан­ных, они долж­ны полу­чить один и тот же хеш. То-есть, если у тебя есть кусок тек­ста, и у меня есть кусок тек­ста, мы его хеши­ру­ем одним и тем же алго­рит­мом, и у нас полу­ча­ет­ся оди­на­ко­вый хеш — это зна­чит, что кус­ки тек­ста, кото­рые мы ана­ли­зи­ро­ва­ли, 100% иден­тич­ны (1).

Теперь постро­им свой соб­ствен­ный при­ми­тив­ный блок­чейн. Блок­чейн — это block chain, т.е. цепь из бло­ков. Каж­дым бло­ком внут­ри нашей цепи будут 5 кус­ков тек­ста, раз­де­лён­ных запя­ты­ми: хеш преды­ду­ще­го бло­ка, три кус­ка «полез­ной нагруз­ки», и хеш для это­го бло­ка. Хра­нить в блок­чейне мож­но любые дан­ные, но допу­стим у нас будет хра­нит­ся инфор­ма­ция о финан­со­вых тран­зак­ци­ях. Исполь­зо­вать будем алго­ритм хеши­ро­ва­ния MD5 (2)

Постро­им пер­вый блок. Так как это началь­ный блок в цепи бло­ков, у него не может быть хеша преды­ду­ще­го бло­ка. Ну и пле­вать, при­ду­ма­ем свой. abcdefghijklmopqrstuvwxyz1234567 — вполне сго­дит­ся. Далее ука­зы­ва­ем тран­зак­цию, кто кому запла­тил, и сколь­ко: Маша,Олег,5 руб­лей. И хеши­ру­ем всё это вме­сте:

md5sum «abcdefghijklmopqrstuvwxyz1234567,Маша,Олег,5 руб­лей», полу­ча­ем хеш a61d142c8be7fac8b41da05d11c9f76e.

Всё, вот пер­вый блок в нашем блок­чейне:

abcdefghijklmopqrstuvwxyz1234567,Маша,Олег,5 рублей,a61d142c8be7fac8b41da05d11c9f76e

Стро­им вто­рой блок, где Серё­жа запла­тил Тане 3 руб­ля:

md5sum «a61d142c8be7fac8b41da05d11c9f76e,Серёжа,Таня,3 руб­ля», полу­ча­ем хеш 20e22c43963d6ee9bbc71d65c4251492, и, соот­вет­ствен­но, блок:

a61d142c8be7fac8b41da05d11c9f76e,Серёжа,Таня,3 рубля,20e22c43963d6ee9bbc71d65c4251492

И теперь наш блок­чейн выгля­дит так:

abcdefghijklmopqrstuvwxyz1234567,Маша,Олег,5 рублей,a61d142c8be7fac8b41da05d11c9f76e
a61d142c8be7fac8b41da05d11c9f76e,Серёжа,Таня,3 рубля,20e22c43963d6ee9bbc71d65c4251492

Ну, и так далее, бло­ков мож­но добав­лять до окон­ча­ния места на жёст­ком дис­ке.

Чем это кру­то? Тем, что блок­чейн лежит в сво­бод­ном досту­пе, и ЛЮБОЙ чело­век, взяв этот блок­чейн, может соб­ствен­но­руч­но пере­вы­чис­лить все хеши и про­ве­рить все запи­си: если хеши сов­па­да­ют, зна­чит, инфор­ма­ции мож­но дове­рять. Имен­но этим и зани­ма­ют­ся май­не­ры — они пере­про­ве­ря­ют тран­зак­ции для крип­то­ва­лют, то-есть, обес­пе­чи­ва­ют функ­ци­о­ни­ро­ва­ние пла­тёж­ной систе­мы, за что им отстё­ги­ва­ют денег.

В блок­чейне мож­но хра­нить всё, что долж­но быть общим досто­я­ни­ем и в то же вре­мя тре­бу­ет стро­гой про­вер­ки — напри­мер, заве­ща­ния, тек­сты зако­нов, и т.д. В любой момент мож­но всё пере­про­ве­рить.

1. 100% гаран­тии, разу­ме­ет­ся, быть не может, но если алго­ритм шиф­ро­ва­ния нор­маль­ный и не име­ет кол­ли­зий (это когда два раз­ных набо­ра дан­ных дают один и тот же хеш), то веро­ят­ность сов­па­де­ния будет при­мер­но 1/количество воз­мож­ных хешей, т.е. для хеша дли­ной 128 бит это 2.94E-39, или пре­не­бре­жи­тель­но мало. Для хеша дли­ной 512 бит это вооб­ще чис­ло со 150+ сим­во­ла­ми после деся­тич­ной точ­ки.
2. Алго­ритм хеши­ро­ва­ния MD5 доста­точ­но хре­но­вый по совре­мен­ным мер­кам, и име­ет кол­ли­зии. Прав­да, для реаль­но чита­е­мо­го чело­ве­ком тек­ста мож­но пре­не­бречь — все суще­ству­ю­щие при­ме­ры кол­ли­зий это хеши спе­ци­аль­но сге­не­ри­ро­ван­ных дво­ич­ных дан­ных. Но в реаль­но рабо­чих при­ло­же­ни­ях, тем не менее, реко­мен­ду­ет­ся исполь­зо­вать более кол­ли­зи­он­но­устой­чи­вые алго­рит­мы, типа SHA-256 (исполь­зу­ет­ся в блок­чейне для бит­ко­и­на) или SHA‑3.

PowerPC? DEC Alpha?

Пишут, что Эппл соби­ра­ет­ся отка­зы­вать­ся от Инте­лов­ских x86/x64 про­цес­со­ров в сво­их ноут­бу­ках. В прин­ци­пе, Эппл и до x86 пре­крас­но себе жил с RISC-про­цес­со­ра­ми IBM PowerPC. И Microsoft осо­бо в ус не дула — Windows NT 4.0 пре­крас­но фуры­кал как на Инте­ле, так и на DEC Alpha, и на PowerPC. Но так как x86 захва­ты­вал всё боль­шую и боль­шую часть рын­ка, посте­пен­но соф­то­пи­са­те­ли сфо­ку­си­ро­ва­ли свои уси­лия на под­держ­ке имен­но этой плат­фор­мы, и к сере­дине 2000х годов архи­тек­ту­ра x86 ста­ла прак­ти­че­ски моно­по­ли­стом, за исклю­че­ни­ем рын­ка эмбед­щи­ков и про­чих спе­ци­а­ли­зи­ро­ван­ных при­ло­же­ний.

А тем вре­ме­нем самым попу­ляр­ным поль­зо­ва­тель­ским про­цес­со­ром посте­пен­но ста­но­вит­ся тоже RISC-про­цес­сор ARM. Имен­но эта архи­тек­ту­ра сто­ит в смарт­фо­нах, план­ше­тах, «умных» теле­ви­зо­рах, и т.д. И эво­лю­ци­о­ни­ру­ет эта плат­фор­ма семи­миль­ны­ми шага­ми — четы­рёхя­дер­ным про­цес­со­ром в теле­фоне уже нико­го не убе­дишь, а Эпплов­ский A11 по про­из­во­ди­тель­но­сти не силь­но хуже i7! Поэто­му риск­ну пред­по­ло­жить, что заме­ной Инте­лу будет имен­но сле­ду­ю­щее поко­ле­ние ARM, A12/A13. И пере­де­лы­вать прак­ти­че­ски ниче­го не при­дёт­ся, уже все реше­ния отто­че­ны.

Цисководу на заметку

Настрой­ка SSH аутен­ти­фи­ка­ции в ком­му­та­то­ры и марш­ру­ти­за­то­ры Cisco по RADIUS:

http://www.ipbalance.com/security/radius/1165-windows-server-2012-as-radius-for-cisco-router-a-switch.html

Что­бы не как при царе горо­хе, в раз­ных устрой­ствах — раз­ное имя поль­зо­ва­те­ля и пароль. Хотя, конеч­но, аутен­ти­фи­ка­ция по при­ват­но­му клю­чу SSH силь­но пони­жа­ет остро­ту про­бле­мы.

PS: Ста­тья про IOS, кон­фи­гу­ра­ция RADIUS на NX-OS в новых свит­чах немно­го дру­гая, см. соотв. доку­мент:

https://www.cisco.com/c/en/us/td/docs/switches/datacenter/nexus9000/sw/6‑x/security/configuration/guide/b_Cisco_Nexus_9000_Series_NX-OS_Security_Configuration_Guide.html

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

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

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

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

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

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