Квантовое

Одна­ко, ров­но месяц назад Наци­о­наль­ный Инсти­тут Стан­дар­тов и Тех­но­ло­гий США (NIST) нако­нец-то решил, каки­ми имен­но алго­рит­ма­ми шиф­ро­ва­ния мы будем поль­зо­вать­ся для защи­ты инфор­ма­ции в пост-кван­то­вую эпо­ху.

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

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

А теперь Мик­ро­софт объ­явил, что пер­вый из алго­рит­мов, ML-KEM (чорт, мне нра­вит­ся это назва­ние, КЕМ!) уже встро­е­ны в стан­дарт­ную биб­лио­те­ку шиф­ро­ва­ния их ОС. ML-KEM — алго­рит­мом Шора уже не лома­ет­ся.

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

Про Сигнал

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

Это они так с тер­ро­риз­мом борют­ся, ага. Сами с собой побо­ри­тесь, гни­ды. Клизь­му вам, со ски­пи­да­ром и пате­фон­ны­ми игол­ка­ми.

Ну, и в целях повы­ше­ния ком­пью­тер­ной гра­мот­но­сти, внут­ри Сиг­на­ла надо:

Зай­ти в настрой­ки -> кон­фи­ден­ци­аль­ность -> рас­ши­рен­ные -> ткнуть пим­поч­ку «Обхо­дить цен­зу­ру».

И впер­де.

Пожгло

Пря­мо в столб рядом с домом тре­тье­го дня шарах­ну­ла мол­ниЯ. Попа­ло в коак­си­ал. Модем сожгло сра­зу, он даже не мяук­нул. От моде­ма импульс поле­тел даль­ше в маши­ну с pfSense, где от таких напря­же­ний систем­ная пла­та уле­те­ла кибе­не­мат. Пла­та — пото­му что внеш­ний интер­фейс был встро­ен­ной на ней сете­вой кар­той. Внут­ри ком­па что-то гром­ко сде­ла­ло «чпок» (что кон­крет­но — не нашёл), и всё пре­кра­ти­ло рабо­ту.

Хоро­шо, что кро­ме мате­ри не вынес­ло боль­ше ниче­го. Пере­та­щил внут­рен­нюю сете­вую кар­ту и жёст­кий диск в дру­гой комп, и всё сра­зу с пол­тыч­ка заве­лось, даже кон­фиг не при­шлось пере­де­лы­вать. pfSense — рулит и педа­лит.

Но в общем и целом, конеч­но я — сам дурак. Рядом сто­ит ИБП с защит­ным раз­ряд­ным моду­лем для коак­си­а­ла, но я, конеч­но же, им не вос­поль­зо­вал­ся, а под­клю­чал­ся напря­мую.

Lesson learned.

Как я рад

…что ещё в 2020 году заста­вил кон­то­ру изба­вить­ся от CrowdStrike и перей­ти на BitDefender.

Конеч­но же, я не мог пред­ска­зать, что они так лопух­нут­ся. Меня беси­ло несколь­ко дру­гое: от анти­ви­ру­са я тре­бую, что­бы оно рабо­та­ло авто­ном­но, и раз­би­ра­лось со всем само­сто­я­тель­но. А Кра­уд­Страйк этот грё­ба­ный по любо­му, япон­ский бог, пово­ду тре­бо­вал руч­но­го вме­ша­тель­ства. Каж­дое подо­зри­тель­ное дей­ствие тре­бо­ва­ло лич­но­го рас­сле­до­ва­ния; а мне совер­шен­но это­го не надо было. Засек — уна­се­комь, и дай знать, что уна­се­ко­мил. А вот если не смог, тогда уже дай знать адми­ну. А по любо­му пово­ду застав­лять сисад­ми­на лезть на ель (стар­пё­ры зна­ют, о чём я) — зло.

Какая хорошая статья про флеш-память

Пря­мо с боль­шим инте­ре­сом и удо­воль­стви­ем про­чи­тал.

Вкрат­це — на дан­ный момент ситу­а­ция с совре­мен­ны­ми нако­пи­те­ля­ми на флеш-памя­ти силь­но дегра­ди­ро­ва­ла, и полу­чи­лась не очень. В погоне за тера­бай­та­ми и при­бы­лью потре­би­тель­ские дис­ки дела­ют на тех­но­ло­гии QLC (4 бита в одной ячей­ке), у кото­рой во-пер­вых, рез­ко огра­ни­че­но коли­че­ство цик­лов запи­си (все­го 900, а то и того мень­ше), а во-вто­рых, она мед­лен­нее намно­го.

Что­бы создать хоть какую-то види­мость про­из­во­ди­тель­но­сти, изго­то­ви­те­ли дела­ют дис­ки гибрид­ны­ми — дела­ют кеш на SLC, а осталь­ное — QLC.

Так, 500-гига­байт­ный диск Crucial BX500 име­ет при­мер­но 45 гига­байт кеша на SLC. Поэто­му име­ем такой гра­фик — пока запол­ня­ет­ся кеш, ско­рость запи­си хоро­шая, под 500 мет­ров в секун­ду. Кеш запол­нен — про­ва­ли­ва­ет­ся до 57 мега­байт в секун­ду:

Толь­ко вот 57 мега­байт в секун­ду — это, на мину­точ­ку, пока­за­те­ли обыч­но­го маг­нит­но­го дис­ка! Кото­рый обла­да­ет намно­го луч­ши­ми харак­те­ри­сти­ка­ми по дол­го­веч­но­сти и цик­лам пере­за­пи­си (я вооб­ще не уве­рен, огра­ни­че­ны ли они). И какой тогда, спра­ши­ва­ет­ся, резон поку­пать вот такой твёр­до­тель­ный диск?

Отдель­но маньяк­нут­ные манья­ки, вро­де соав­то­ра ста­тьи, зали­ва­ют спе­ци­аль­ную про­шив­ку в кон­трол­лер дис­ка, отклю­чая всю область QLC к соот­вет­ству­ю­щей мате­ри. Ну да, каре­та пре­вра­ща­ет­ся назад в тык­ву вме­сто тера­байт­но­го дис­ка полу­ча­ет­ся диск на 120 гиг, толь­ко он рабо­та­ет как беше­ный, и име­ет 60 000 (шесть­де­сят тысяч) цик­лов пере­за­пи­си.

В‑общем, QLC — гов­но. И, ско­рее все­го, через несколь­ко лет он уйдёт в закат, так как для NAND фле­ша это тупик. На рынок, навер­ное, вый­дет какая-то новая тех­но­ло­гия, типа неудав­шей­ся в своё вре­мя Optane (3D XPoint).

А вот какой нын­че нако­пи­тель поку­пать, что­бы не купить гов­но — вопрос инте­рес­ный.

ИИ-погромизм

Зани­мал­ся вче­ра созда­ни­ем ней­ро­се­тей под руко­вод­ством ChatGPT. По ито­гам я имею ска­зать вот что.

В целом — впе­чат­ля­ет. Даёт не самый пло­хой код на Питоне для созда­ния ней­ро­се­ти на TensorFlow, что харак­тер­но — исполь­зуя keras. Прак­ти­че­ски то же самое, что я сам рисо­вал четы­ре года назад.

Толь­ко в этот раз я замах­нул­ся пошЫр­ше и решил ней­ро­се­ти скор­мить csv с «финан­со­вы­ми тран­зак­ци­я­ми». Внут­ри csv было один­на­дцать коло­нок, десять про­сто с чис­ла­ми, а один­на­дца­тая — с доволь­но слож­ным вычис­ле­ни­ем из дан­ных, нахо­дя­щих­ся в шести колон­ках (сло­же­ние двух дро­бей, вычис­ле­ние 10% от полу­чен­но­го, и скла­ды­ва­ние с ещё дву­мя колон­ка­ми). Четы­ре остав­ши­е­ся колон­ки не дела­ли ниче­го.

Модель делал пяти­слой­ную, сто ней­ро­нов в четы­рёх сло­ях, один ней­рон в выход­ном слое (это уже не ЧатЖПТ пред­ла­гал, это уже я сам). Навер­ное, это даже избы­точ­но слож­ная модель.

Сде­лал два csv фай­ла, один с 200 стро­ка­ми — это был тре­ни­ро­воч­ное мно­же­ство, и вто­рой — все­го с деся­тью. Я хотел посмот­реть, смо­жет ли ней­ро­сеть рас­по­знать, какая имен­но зави­си­мость суще­ству­ет в один­на­дца­той колон­ке, и смо­жет ли она пред­ска­зать дан­ные, полу­чен­ные таким обра­зом.

Ска­жу сра­зу, всё полу­чи­лось. Конеч­но, мате­ма­ти­ка на ней­ро­се­тях доволь­но неак­ку­рат­на, но после 5000 эпох тре­ни­ров­ки она смог­ла преду­га­ды­вать зна­че­ния с точ­но­стью, не выхо­дя­щей за рам­ки 5%. Пла­ни­рую пока­зать резуль­тат началь­ни­ку, кон­то­ра силь­но оза­бо­ти­лась встра­и­ва­ни­ем ИИ в про­дук­цию.

Но поми­мо это­го, у меня воз­ник­ли неболь­шые слож­но­сти, и воз­ник­ли они имен­но от при­ме­не­ния ИИ.

Во-пер­вых, ЧатЖПТ неред­ко даёт код для Пито­нов­ских биб­лио­тек, кото­рый уже явля­ет­ся уста­рев­шим (deprecated). Напри­мер, свой­ство pandas.DataFrame.iloc — вытас­ки­ва­ние инди­ви­ду­аль­ных коло­нок из pandas.DataFrame.

Во-вто­рых, ЧатЖПТ созда­ёт в коде баги. Напри­мер, вме­сто деся­ти строк в тесто­вом набо­ре дан­ных у меня поче­му-то счи­ты­ва­лись толь­ко девять. Раз­го­вор шёл при­мер­но вот так:

–А у меня вме­сто деся­ти ожи­да­е­мых строк толь­ко девять.
–Может, дан­ные кри­вые? Вот как их надо нор­ма­ли­зи­ро­вать.
–Дан­ные нор­маль­ные, но счи­ты­ва­ет­ся толь­ко девять строк вме­сто деся­ти. Пер­вая стро­ка про­гла­ты­ва­ет­ся.
–Не долж­на. Вот код, как пра­виль­но счи­ты­вать csv через pandas.read_csv
–Я этот код и исполь­зую, но пер­вой стро­ки нет.
–Ну, пра­виль­но, пото­му что по умол­ча­нию пер­вая стро­ка счи­ты­ва­ет­ся в име­на коло­нок. В pandas.read_csv надо ста­вить пара­метр header=None, что­бы так не про­ис­хо­ди­ло.
–А чо сра­зу-то не ска­зал?
–Изви­ня­юсь.

Но в целом (в целом) — впе­чат­ля­ет, да. Дале­ко не с каж­дым чело­ве­ком я на эту тему могу пого­во­рить, более того, не каж­дый сра­зу «на гора» выдаст рабо­та­ю­щий (более-менее) код. Оши­ба­ет­ся ино­гда? Ну да, оши­ба­ет­ся. Пока­жи­те мне чело­ве­ка, кото­рый не оши­ба­ет­ся, и я пока­жу вам лен­тяя, кото­рый нико­гда ниче­го не дела­ет. Тем не менее, лен­тяю в спо­соб­но­сти рас­суж­дать поче­му-то не отка­зы­ва­ют, а иску­ствен­но­му интел­лек­ту — таки да. Непра­виль­но это, ИМХО. ИИ вполне спо­со­бен на рас­суж­де­ния.

Про бан Касперского

В‑общем, конеч­но, это было пред­ска­зу­е­мо. Когда его заба­ни­ли для феде­ра­лов США, бан для ком­мер­че­ских орга­ни­за­ций и вооб­ще для всей стра­ны был толь­ко вопро­сом вре­ме­ни.

Непо­нят­но, прав­да, чего так дол­го тяну­ли (10 лет, блин!), и ещё неяс­но, поче­му люди вооб­ще его исполь­зо­ва­ли. Как я от него отка­зал­ся — так впер­вые вдох­нул пол­ной гру­дью, настоль­ко этот, кгм, про­дукт оте­че­ствен­ных погро­ми­стов был гов­но — заве­ши­вал наглу­хо маши­ну акку­рат­но мини­мум раз в два дня, и посто­ян­но тор­мо­зил систе­му.

Мно­гие не в кур­се, как всё вооб­ще нача­лось, рас­ска­жу ещё раз.

В 2014 году жил да был сотруд­ник АНБ, кото­рый (с дур­на ума, это вер­но) при­нёс доку­мен­ты с гри­фом «Сек­рет­но» на домаш­ний ком­пью­тер. Анти­ви­рус Кас­пер­ско­го не то обна­ру­жил какой-то вирус внут­ри зип-архи­ва с доку­мен­том, не то нашёл ещё что-то, и так как сотруд­ник вклю­чил в анти­ви­ру­се фичу «всё непо­нят­ное отсы­лать в ана­ли­ти­че­скую лабо­ра­то­рию Кас­пер­ско­го», сек­рет­ный аме­ри­кан­ский доку­мент таким обра­зом утёк в Рос­сию.

И панес­лась… Блум­берг и Уолл-стрит Джор­нел раз­ра­зи­лись ста­тья­ми про то как Лабо­ра­то­рия Кас­пер­ско­го осу­ществ­ля­ет слеж­ку за США через уста­нов­лен­ный анти­ви­рус.

В ответ Кас­пер­ский нака­тал подроб­ный отчёт (кото­рый выгля­дит доста­точ­но прав­до­по­доб­но, надо ска­зать), про то, «как всё было на самом деле» в том слу­чае с сотруд­ни­ком АНБ. В отчё­те они ска­за­ли, что сотруд­ник — сам дурак, и что его ком­пью­тер был зара­жён тро­я­ном, а утёк­ший сек­рет­ный доку­мент с сер­ве­ров Лабо­ра­то­рии Кас­пер­ско­го был немед­лен­но уда­лён, и что от него оста­лись лишь мета-дан­ные.

Почти одно­вре­мен­но с этим Нью-Йорк Таймз опуб­ли­ко­вал ста­тью, в кото­рой, сослав­шись на раз­вед­ку Изра­и­ля, кото­рая уже дав­но взло­ма­ла сеть Лабо­ра­то­рии Кас­пер­ско­го, они заяви­ли, что сек­рет­ные доку­мен­ты, собран­ные таким обра­зом, никто не уда­лял, и что их там собра­но нава­лом.

Сам Кас­пер­ский, кста­ти, факт взло­ма их сети дей­стви­тель­но под­твер­дил ещё в 2015 году.

Кто прав? А хрен его зна­ет. У меня нет досту­па к раз­вед­дан­ным, ведь даже неиз­вест­но, один-един­ствен­ный был такой слу­чай, как в 2014 с кон­трак­то­ром АНБ, или же их было мно­же­ство.

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

Ну, поми­мо того, что сам этот анти­ви­рус Кас­пер­ско­го — гов­но, акку­рат­ней­шим обра­зом заве­ши­вав­ший мне маши­ну раз в два дня.

Лучший защищённый мессенжер стал ещё лучше

Мес­сен­жер «Сиг­нал» поз­во­лит поль­зо­ва­те­лям исполь­зо­вать ники вме­сто теле­фон­ных номе­ров. Пом­нит­ся, кто-то в ком­мен­тах у меня сокру­шал­ся, мол, да, «Сиг­нал» неплох, но намерт­во при­вя­зан к теле­фон­но­му номе­ру, кото­рый све­тит­ся нару­жу. Ну, теперь это более не будет про­бле­мой.

Умер Никлаус Вирт

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

if (a = b) {}

И это выпол­нит­ся! Так как здесь = рас­смат­ри­ва­ет­ся как опе­ра­тор при­сво­е­ния, и соот­вет­ствен­но, воз­вра­ща­ет-то он True, пото­му что при­сво­е­ние про­изо­шло успеш­но! А на Пас­ка­ле = это опе­ра­тор срав­не­ния внут­ри If, а при­сво­е­ние дела­ет­ся как a := b

Ну, а на сях при­шлось опе­ра­тор срав­не­ния делать == , что неред­ко при­во­ди­ло к ляпам. Про Джа­вас­крипт с его раз­но­об­ра­зи­ем =, ==, и аж === даже начи­нать не буду. В топ­ку, сра­зу.

Но, навер­ное, глав­ная заслу­га Вир­та это даже не язык Пас­каль. А в том, что уси­ли­я­ми Вир­та и Дейкс­т­ры был убит опе­ра­тор GoTo. Ну, в язы­ках высо­ко­го уров­ня. Так-то все эти if и while, и про­чие for ком­пи­ли­ру­ют­ся-то в ассем­бле­ров­ский JMP всё рав­но.

Пусть он обре­тет покой.

Как обойти пейволл Нью-Йорк Таймз

Всё про­сто.

1. В любой бра­у­зер ста­вим uBlock Origin.
2. Идём на https://www.nytimes.com
3. Откры­ва­ем настрой­ки uBlock Origin и бло­ки­ру­ем для это­го сай­та весь жабас­крипт:


4. ПРОФИТ!

Не бла­го­да­ри­те.