Дырень в PGP

Вер­нее, не в самом про­то­ко­ле, а в его реа­ли­за­ции на неко­то­рых поч­то­вых кли­ен­тах при обра­бот­ке писем в фор­ма­те HTML.

Вкрат­це — если пише­те стро­го plain text, то боять­ся нече­го. А если не plain text, и исполь­зу­е­те, напри­мер, Enigmail, то може­те начи­нать боять­ся.

https://www.bleepingcomputer.com/news/security/users-warned-of-critical-email-encryption-security-flaw/
https://lists.gnupg.org/pipermail/gnupg-users/2018-May/060315.html

За неимением руля

Вер­нее, места, куда поста­вить руль, при­об­рёл игро­вой кон­трол­лер для коро­бок­са и под­клю­чил его к ком­пью­те­ру. Это, как бы, штат­ный вари­ант под­клю­че­ния для Windows 10. В тео­рии мож­но под­клю­чить кон­трол­лер от плей­с­те­ше­на, но там надо муд­рить с эму­ля­ци­ей и про­чим. Оно того, на мой взгляд, не сто­и­ло.

Забег по мудям (Mudrunner 😉 ) заиг­рал новы­ми крас­ка­ми. Рулить ста­ло намно­го про­ще, т.к. рулишь не в режи­ме ШИМ =) Но самое глав­ное улуч­ше­ние это даже не руле­ние, а плав­ный кон­троль над аксе­ле­ра­то­ром. В любом заез­де по чему-то скольз­ко­му, будь то снег, лёд или мок­рая гли­на самое важ­ное — это сохра­не­ние кон­тро­ля над сцеп­ле­ни­ем колёс с доро­гой. При тро­га­нии на льду, напри­мер, надо газо­вать осто­рож­но, мед­лен­но, и ино­гда даже полез­но вру­бить пере­да­чу повы­ше, что­бы кру­тя­щий момент помень­ше был. Ина­че дры­га­тель ревёт, колё­са кру­тят­ся, а тол­ку ноль — даже впе­рёд тол­ком не едешь. А тут осто­рож­нень­ко, на мяг­ких лап­ках, намно­го про­ще дое­хать до места назна­че­ния.

В‑общем, реко­мен­дую такой кон­трол­лер, хоро­шая шту­ка.

Стратегический заезд по говнам‑2

При­об­рёл нако­нец обнов­лён­ный Spintires под назва­ни­ем Mudrunner.

Очень нра­вит­ся. Каме­ра ста­ла более нор­маль­ной, улуч­ши­лась гра­фи­ка (отдель­но пора­до­ва­ли радуж­ные сле­ды от горючки/масла, оста­ю­щи­е­ся на воде, когда хоро­шень­ко так газа­нёшь). И, конеч­но, новые гро­мы­хай­ки — вклю­чая эпич­ный Совет­ский трак­тор К‑700 «Киро­вец» и «Шиши­гу».

Захо­те­лось купить себе игро­вой руль с меха­ни­че­ской короб­кой («а куда мы всё это будем ста­вить, доро­гой мой?» — тихо спро­си­ла жаба), было бы при­коль­но… да ещё если бы на три экра­на раз­ма­зать…

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

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

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

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

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

Отлично, отлично

На слу­чай, если у кого-то оста­лись какие-то иллю­зии на пред­мет непри­кос­но­вен­но­сти част­ной жиз­ни («кон­сти­ту­ции обчи­та­лись, что ли?» © https://dibr.livejournal.com). Ком­па­ния Securus сво­бод­но пере­да­ёт любо­му чело­ве­ку све­де­ния о место­по­ло­же­нии сото­во­го теле­фо­на. Эти дан­ные она поку­па­ет у сото­вых про­вай­де­ров Верай­зон, ЭйТи-энд-Ти, Спринт, и Т‑мобил. А чо? Какая такая кон­сти­ту­ция? А кон­сти­ту­ция запре­ща­ет пере­да­вать дан­ные о место­по­ло­же­нии поль­зо­ва­те­ля напря­мую госу­дар­ству. Нигде в кон­сти­ту­ции не ска­за­но, что она не может пере­да­вать эти дан­ные част­но­му лицу, а это част­ное лицо уже — пере­да­вать эти дан­ные госу­дар­ству. Так понят­но?

https://www.zdnet.com/article/us-cell-carriers-selling-access-to-real-time-location-data/

Не, пре­лесть, пре­лесть. Пря­мо хоть теле­фон выки­ды­вай и уез­жай в Сибирь Сас­ка­че­ван жить нату­раль­ным хозяй­ством.

Что не надо подключать к Интернету

Забав­ная стра­нич­ка с доволь­но оди­оз­ны­ми при­ме­ра­ми. Нашлась панель управ­ле­ния ГЭС, кон­троль систе­мы кон­ди­ци­о­ни­ро­ва­ния воз­ду­ха, ещё пара вещей. Но самое забой­ное, кмк, это лежа­щая в пуб­лич­ном досту­пе веб­ка­ме­ра, кото­рая пока­зы­ва­ет кар­тин­ку с жето­на RSA, исполь­зу­е­мо­го для двух­фак­тор­ной аутен­ти­фи­ка­ции. Меня даже не столь­ко без­ала­бер­ность юзе­ра удив­ля­ет, сколь­ко коли­че­ство при­ло­жен­ных впу­стую уси­лий. Ну лад­но, не хочешь тас­кать с собой жетон — не тас­кай. На любой смарт­фон мож­но поста­вить RSA при­ло­же­ние, обла­да­ю­щее точ­но такой же функ­ци­о­наль­но­стью. И всё, ника­ких жето­нов. А тут чело­век каме­ру поку­пал, затем настра­и­вал, потом под­клю­чал к Интер­не­ту…

https://www.zdnet.com/pictures/shodan-safari-connected-internet-things/

Крещение огнём

Учу уже несколь­ко меся­цев вся­кую Цис­ку. До это­го как-то обхо­дил­ся без этих зна­ний, ну, не при­хо­ди­лось мне до сих пор управ­лять VLAN, DMZ, и про­чи­ми умны­ми сло­ва­ми.

Поза­вче­ра новые зна­ния, мяг­ко гово­ря, при­го­ди­лись на всю катуш­ку, когда удач­но попав­шей мол­нией вынес­ло ста­рый бранд­мау­эр 5520 (да, древ­ний). Впод­чи­стую. Хоро­шо, что новый был уже в стой­ке, пере­ки­ну­ли айпиш­ни­ки, и нача­ли вос­ста­нав­ли­вать всё зано­во. Зано­во — пото­му что син­такс бека­пов кон­фи­га 5520 к новой 5525X не под­хо­дит от сло­ва «совсем». Даже пра­ви­ла для NAT-нутых сер­ве­ров надо по-дру­го­му писать, давать раз­ре­ше­ния на доступ к ВНУТРЕННЕМУ айпиш­ни­ку вме­сто внеш­не­го (непо­нять, поче­му так).

Все выход­ные на рабо­те про­си­дел блин. Научил­ся, конеч­но, очень мно­го­му, но ну его нафиг, так учить­ся.

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

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

Пред­по­ло­жим, надо тебе сек­рет­но отпра­вить фото­гра­фию чего-нибудь дру­гу. Я взял фото­гра­фию пути­на. Нет, не того Пути­на, кото­рый Вла­ди­мир Вла­ди­ми­ро­вич, а пути­на, кото­рый наци­о­наль­ное канад­ское хрю­че­во. Но не суть. Пере­дать таким обра­зом мож­но что угод­но, хоть диа­грам­мы под­ры­ва Крем­ля. Ну да, мож­но исполь­зо­вать вся­кие там запа­ро­лен­ные 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: Нын­че мод­но нена­ви­деть Рос­ком­ге­ста­по за то, что они дела­ют. А меж тем пре­тен­зия не по адре­су. Кто создал Рос­ком­ге­ста­по? Кто при­нял зако­ны, по кото­рым он рабо­та­ет? Кто под­пи­сал эти зако­ны? И кто, вооб­ще, выбрал всех этих людей?

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

Дископад

При­мер­но в 2012–2013 году все нача­ли пере­хо­дить на твёр­до­тель­ные жёст­кие дис­ки. И всё пона­ча­лу было кру­то, и ско­рость рабо­ты, и отсут­ствие шума. Но вот 6 лет спу­стя это­го мас­со­во­го пере­хо­да я стал заме­чать, что прак­ти­че­ски все твёр­до­тель­ные дис­ки, кото­рые я куда-то уста­нав­ли­вал, дох­нут с харак­тер­ным сро­ком нара­бот­ки на отказ око­ло 5 лет. И ска­жу я вам, что на ста­ро­ре­жим­ных нако­пи­те­лях с маг­нит­ной тех­но­ло­ги­ей запи­си я такой ерун­ды не заме­чал. У меня есть дис­ки замет­но стар­ше 5 лет, кото­рые пре­крас­но рабо­та­ют до сих пор. А тако­го же воз­рас­та SSD-шни­ков, всё ещё в рабо­чем состо­я­нии — очень немно­го оста­лось. При­чём, чисто лич­ный опыт гово­рит, что от мар­ки это прак­ти­че­ски не зави­сит. Боль­ше все­го я видел дох­лых Гну­сма­сов, но это пото­му, что мы их боль­ше все­го и поку­па­ли. Но и Micron/Crucial тоже дох­нут. Вот пока Intel и SanDisk’ов дох­лых не видал, но думаю, это вопрос вре­ме­ни. Ско­рее все­го, это огра­ни­че­ния самой тех­но­ло­гии — на флеш память невоз­мож­но запи­сать мате­ри­ал более опре­де­лён­но­го чис­ла раз. Насколь­ко пони­маю, каж­дый цикл запи­си чуточ­ку раз­ру­ша­ет слой изо­ля­то­ра, кото­рый не даёт затво­ру МОП-тран­зи­сто­ра раз­ря­жать­ся. Посте­пен­но он теря­ет свои изо­ля­ци­он­ные свой­ства, заряд начи­на­ет сте­кать, и отли­чить 2 от 3 (если память у нас MLC/TLC) ста­но­вит­ся невоз­мож­но. SLC в этом отно­ше­нии живёт замет­но доль­ше, но попро­буй­те най­ти в 2018 году хоть один диск вме­ня­е­мой ёмко­сти и не за кон­ские день­ги, сде­лан­ный по этой тех­но­ло­гии.

Но вооб­ще всё рав­но уди­ви­тель­но. Ведь что­бы убить диск раз­ме­ром 256 гига­байт, на него при­дёт­ся запи­сать 2.44 пета­бай­та инфор­ма­ции (256 гиг запи­сать 10 000 раз). Что­бы это успеть сде­лать за 5 лет, на него надо писать 58 гига­байт в час или почти 17 мега­байт в секун­ду, без­оста­но­воч­но. Хм… Хотя… Осо­бен­но если учи­ты­вать то, что на самом деле что­бы запи­сать дан­ные на флеш, ячей­ку фле­ша надо пред­ва­ри­тель­но очи­стить, т.е. мы запи­сы­ва­ем по-сути, два­жды. На боль­шин­стве ком­пью­те­ров очист­кой более неис­поль­зу­е­мых яче­ек флеш-памя­ти зани­ма­ет­ся тех­но­ло­гия TRIM, в фоно­вом режи­ме, ина­че про­из­во­ди­тель­но­сти каб­здец, см. Write Amplification. В‑общем, чорт его зна­ет, может быть, вполне воз­мож­но.

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

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

Идея не моя, про­сто я на это насмот­рел­ся досы­та, когда ком­пью­тер­ные виру­сы пре­па­ри­ро­вал. Тех­но­ло­гия 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 всем миром не при­ще­ми­ли хвост, никто, ни ФБР, ни ЦРУ ниче­го сде­лать с самим виру­сом не мог­ли. Так побе­дим. Уда­чи.