Вперёд, к тёплому ламповому аналогу!

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

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

Количество параметров гугловской нейросети Inception третей версии — примерно 12 миллионов. То-есть, каждый раз мы считаем скалярное произведение матрицы с 12 миллионами элементов с точно такой же матрицей. Очень, очень вычислительно дорогое удовольствие.

Что с этим можно сделать? А, например, вот что. Можно каждый параметр представить резистором. Входное значение — поданное на него напряжение, вес — проводимость. Проводимость — величина, обратная сопротивлению: G = 1/R или же R = 1/G

А теперь закон Ома:

I = U/R, а R заменим 1/G: I = U/(1/G), упростим: I = UG. Подаём входное напряжение, и меряем ток. Вот вам и скалярное произведение, причём чисто аналоговыми методами.

Но хардверный резистор, разумеется, не очень удобно. Зато знаете, что удобно? Флеш-память! Флеш представляет собой миллиарды полевых транзисторов с изолированным затвором, ведущих себя как резисторы. Изначально на них хранили только 0 или 1, ток выше или ниже порогового значения считывался как ноль или единица. Потом сделали многоуровневую флеш-память, и на современных твёрдотельниках QLC каждая ячейка хранит аж 16 значений (4 бита). Теперь пошли дальше, и на этих электрически программируемых резисторах научились производить самые настоящие аналоговые вычисления, очень интересным применением которых и являются расчёты скалярных произведений для работы нейросетей.

Очень, очень интересные нынче вещи придумывают. Как вам такое — расчёты на жёстком диске?

Конечно, у подобного подхода есть недостатки: более низкая точность вычислений. Но нейросети, вообще-то и так работают по вероятностному принципу. Какая тебе, в сущности, разница, если нейросеть определяет фотки котиков с 99% точностью или “только” с 95%?

В-общем, с интересом смотрю за дальнейшим развитием событий. Я нейросети уже щупал плотно несколько раз, мне они очень нравятся, и я думаю, что если мы когда-нибудь придумаем полный ИИ, именно нейросети станут его основой. И не исключено, что в их основе будут именно аналоговые вычисления. Ну, как у нас в башке.

Про системы видеонаблюдения

Я очень рад, что успел прикупить камеры Хиквижен до того, как их начали щемить и банить. Они нынче уже поднялись в цене, и продавцы их теперь какие-то продают… сомнительные.

Почему? Потому что я исключительно доволен качеством картинки. Вообще до сих пор не верю, что такое хорошее видео бывает у камер наблюдения. Постоянно в интернетах видишь херь с камер — там сплошное мыло и пять кадров в секунду. А тут совсем не так. Вот скриншот — он сильно ужатый и порезанный. Но даже на пожатом скриншоте видно элементы текстуры кирпича. Оригинал — 2688×1520, 30 кадров в секунду, ещё более детализированный.

Всю эту радость я собираю в ZoneMinder, благо он бесплатный, в нём туча фич, и он нормально поддерживает самый разный зоопарк камер, включая Хиквижен.

Но конечно, с таким высоким качеством возникают проблемы другого рода.

Во-первых, это видео довольно много весит, в среднем с каждого источника пишется примерно 768 килобайт в секунду. Соответственно, это около 64 гигабайт за сутки, с каждой камеры. А так как у меня их планируется аж восемь штук, это пол-терабайта каждый день. Насколько большая это проблема — пока не понял. Теоретически, жёсткие диски нынче не очень дорогие. Вон моя любимая Тосиба на 16 терабайт менее трёхсот рублей стоит. Но этого хватит только на восемь дней, даже меньше. Надо будет поиграцца с настройками, может быть мне и стандартного FullHD за глаза хватит. А может быть, разорюсь на несколько дисков, нехай пишет.

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

НО.

Делать этот всяческий AI в реальном времени на видеопотоке такого разрешения и такого качества чрезвычайно вычислительно дорого. Поэтому хорошие современные камеры, включая Хиквижен, поддерживают ДВА одновременных канала, основной и подканал. Основной имеет высокое разрешение, хорошее качество, и т.д. Он тупо пишется на диск, на что практически не тратится процессор, так как на нормальных камерах сжатие в H.264 происходит прямо на источнике. А подканал — низкое качество, невысокое разрешение — но его с головой хватает на обработку системами искуственного интеллекта. Оттуда берутся интересующие наши события, типа “мимо проехал чёрный автомобиль с номерным знаком ‘HITMAN'”, а по таймкоду мы уже будем смотреть записанное видео высокого качества.

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

Взлом резервных копий смартфонов iPhone

Для начала немного теории.

Как хранятся пароли в операционных системах, вебсайтах, и т.д. Не открытым текстом, разумеется. Они хранятся в виде хешей. Хеш — это строка определённой длины, получаемая при обработке ввода (пароля в данном случае) хеш-функцией. До недавнего времени (да и сейчас кое-где) использовался алгоритм MD5. Так, хеш MD5 слова “password” представляет собой строку 5f4dcc3b5aa765d61d8327deb882cf99.

Поэтому когда ты логинишься на вебсайт, пароль обрабатывается алгоритмом MD5, и сравниваются хеши. Если на выходе 5f4dcc3b5aa765d61d8327deb882cf99, то всё нормально. Винда делает немного по-другому: хеш генерируется прямо на клиенте, и пересылается не пароль, а сразу хеш. Это цуцуть безопаснее. Ещё хеш солят, но про это в другой раз.

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

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

Сломаем MD5 хеш 5f4dcc3b5aa765d61d8327deb882cf99:

hashcat.exe -m 0 -a 3 hash.txt ?l?l?l?l?l?l?l?l

И меньше, чем за секунду всё сломано.

На моей уже старенькой 1070GTX поиск хешей MD5 происходит со скоростью около 8 миллиардов комбинаций в секунду.

Даже если сменить пароль на более сложный, типа P@$$w0rd, то 8-значный пароль взламывается в обозримые сроки, даже на не очень новом железе — за несколько дней.

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

А недавно я попробовал сломать бекап смартфона Apple. Для тёщи, которая раскокала телефон вдребезги, успев, правда, незадолго до сделать ему бекап. Но вот беда — она забыла пароль от бекапа! Она только знала, что пароль восьмизначный.

Хеш пароля для айфонного бекапа берётся в файле Manifest.plist. Этот файл скармливается вот этому сайту, например, и тебе дают хеш.

Так вот хеш там — какой-то проприетарный. И имеет настолько высокую вычислительную сложность, что на моей видеокарте котохеш перебирает комбинации со скоростью… 83 варианта в секунду. Надо отдать должное чувству юмора разработчиков котохеша: во время работы оно показывает, сколько времени осталось до перебора всех вариантов. Так вот в данном случае оно говорит, что работа программы закончится после следующего Большого Взрыва 😀

Вот так вот Плотнег лососнул тунца.

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

Обжим экранированной витой пары

Делюсь опытом.

Сначала как обычно, зачищаем. Экран в виде фольги и целлофановую обёртку пар надо аккуратно, по возможности, обрезать, не трогая голый проводок (выделен красненьким):

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

Расплетаем пары, строим в нужном порядке. Я обычно жму 568B, так как мне не нужна обратная совместимость с телефоном. Надеваем разъём RJ45. Вот тут хорошо видно загнутый проводок, и как металл экрана разъёма прижимается к медной фольге. Кроме того, в этом разъёме пары проталкиваются сквозь него, и обрезаются ножом на клещах одновременно с обжимкой. Клещи нужны специальные, но они незначительно дороже, а времени экономится много. Не надо строго ровно обрезать пары, чётко нужной длины, и т.д. Сунул, обжал-обрезал, да пошёл.

Обжимаем, аккуратно обрезаем проводок экрана, надеваем защитный колпачок. Получаем…Слава Україні!

Врут, но красиво

Пишут, что компьютеризированное сельскохозяйственное оборудование “Джон Диир”, переданное украинскими хлеборобами в пользование чеченским хлеборобам, было удалённо заблокировано компанией-производителем за нарушение правил экспорта и перепродажи.

По-моему, врут-с. Но красиво врут-с, не отнять-с.

Про перспективы российских процессоров

Довольно печальные перспективы, скажем прямо.

Есть такой старый анекдот. В России две проблемы: дороги и дураки. И если нагнать бульдозеров, грейдеров, бетономешалок и асфальтоукладок, то одну из них можно решить. Но вот что делать с дорогами — решительно непонятно.

Вот такие мысли пришли в голову по просмотру этого видео. Я, конечно, полагал, что производство современных процессоров это ультравысокие технологии, но не знал, например, что налаживание всего производства с нуля — это реально неподъёмная задача. Ведь даже такие, казалось бы, тривиальные задачи надо решить, как выпуск специальных стиральных машин. Чтобы стирать костюмы, в которых люди в чистых комнатах ходят. А потом ещё сделать к этим машинам специальный стиральный гель, который не даёт частиц. И костюмы сшить, а для них сделать специальную ткань, которая опять же — не даёт частиц и волокон. И маски, обратно, не дающие волокон. И шлемы, и бахилы, и многое ещё чего.

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

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

А софт для дизайна самих процессоров? Который тоже уже пишется десятилетиями? Нет, конечно, софт-то можно скоммуниздить, но…

Можно без всего этого? Можно! Но на выходе не сделать ничего сложнее i80286 или Z80. Про единицы нанометров можно забыть… ну просто сразу.

Отсмотрел не отрываясь всё видео, очень интересное. И без ентой вашей политики. Просто специалисты в своём деле рассказывают свои мысли.

О деанонимизации криптовалют

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

Ссылка на академическое исследование.

Блокчейн, будучи по своей природе публичным, не может вечно прятать свои секреты. Именно поэтому, кстати, я со скепсисом отношусь к переводу каких-то голосований в блокчейн. Ибо основа основ — тайность голосования — улетучивается моментально.

Хроники чебурнетостроения

По сравнению с довоенными временами говорить с русскими родственниками становится всё сложнее и сложнее. Обобщений не делаю, но мой опыт именно такой. Скайп уже не работает от слова совсем. В таких случаях я пользуюсь телегой, и походу, с ней тоже надо завязывать. Звук работает уже через пень-колоду, видео не работает вовсе. Возможно, что это из-за резко снизившейся пропускной способности сети. Возможно. А возможно, у товарища майора не хватает мощности перехватывать и обрабатывать видео.

Вообще, телега сама по себе подозрительна. Уязвимостей в ней — ДОХЕРА и больше. А учитывая, что граждане нарисовали свою собственную криптографию, совершенно не исключено, что там оставили дыру для товарища майора. Да и криптография там неочевидная — в одних чатах есть, в других нет, и чтобы узнать, что и где, надо читать документацию. А эта показная беготня от Роскомгестапо — это был рекламный ход, чтобы завлечь туда людей, чью переписку и надо читать товарищу майору. Сейчас в телеграм-каналах про войну с Украиной резвится толпа самых разных граждан. Резвитесь-резвитесь, ч0рный воронок с вашим именем уже заправлен топливом и ждёт.

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

Сумел матушке наконец-то удалённо поставить нормальный месенжер, который ни одна спецслужба мира пока не перехватывает — Signal. Там пока работает и звук и видео. И криптография там везде и всегда, и исчезающие сообщения тоже есть (чтобы было, что показать цепным псам преступного кговагого прижЫма, если чо). Будем пользоваться им. Рекомендую.

Надо будет ещё у себя поднять VPN сервер. В ведроидах вроде как есть встроенный OpenVPN клиент? Настрою у себя сервер, обходить Роскомгестапо, которое наверняка уже начало банить прочих VPN провайдеров.

Ещё круче было бы суметь разобраться с VPN, который заворачивает все пакеты в HTTPS. Тогда даже понять, что это VPN, а не обычный вебсайт, не так-то просто.

В-общем, будем думать.

Про дефраг

По результатам поста выяснилось, что дефрагментатор на твёрдотельниках теперь делает дискам обрезание TRIM. А не гоняет туда-сюда бесцельно байтики.

Век живи — век учись. Я полагал, что TRIM происходит совсем не на уровне ОС, а ниже — на уровне драйверов или даже самого контроллера. Буду знать; всем спасибо, особенно moneo и mindfactor.

.arj

Вот помнится раньше был целый зоопарк архиваторов. ARJ, ZIP, RAR и экзотика типа HA/LHA или ICE. И между ними была серьёзная разница: так, .ha считался крутым для текстов. Какой-то архиватор (уже не помню, какой) хорошо сжимал музыку.

А потом диски и вообще накопители данных резко подешевели плюс серьёзно подтянулись все алгоритмы, и проблема утратила былую остроту. Заодно ещё для видео и музыки вышло человеческое сжатие с потерями типа mp3 и mpg, что позволило сжимать мультимедийные файлы в уже совсем какие-то смешные размеры. А теперь с наличием h264 и aac всё стало ещё круче.

И получилось так, что на той же Винде нормально выжил только zip. Ну, и иногда натыкаешься на 7z. А всё остальное я уже не помню, когда в последний раз видел. Я вот даже думаю иногда — почему так. И прихожу к выводу, что это потому что Микрософт встроила поддержку в Винду только для формата zip. И на кой, спрашивается, теперь пользоваться другими, когда и так уже всё встроено? Какие-то там доли процента сжатия выжимать? А на кой, при современных-то скоростях и дешевизне накопителей?

Может быть, это и неправильно — когда крупная фирма прижимает одну чашу весов своим большущщим пальцем. Но с точки зрения пользователя — на мой взгляд, удобно. Айн фольк, айн формат.