Разработка и инженерия

страница 5 из 44
пост №1775Разработка и инженерия

2 месяца назад один технарь запустил сайт One Million Checkboxes, Миллион Галочек (крыжиков?)

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

Это оммаж знаменитому One Million Dollar Homepage, сайту, каждый пиксель которого продавался за один доллар. Господи, кажется что было вчера, а это было 19 лет назад!

«Миллион галочек» стал почти таким же популярным, про него написали New York Times и Washington Post, на него зашли 500 тысяч человек и и поставили 650 миллионов галочек (многие убирали галочки, поставленные другими). Да и технически он устроен довольно элегантно.

Через какое-то время создатель «миллиона галочек» заходит в свою базу данных и видит там в текстовом ссылки на сайты, какие-то тексты. Хотя никаких текстов на сайте ввести нельзя, там есть только галочки! «Меня взломали!», думает он и бросается искать концы. Не буду пересказывать всю историю, но она достойна 5 минут времени, если вы любите технические приколы.

пост №1769Разработка и инженерия

Чуваки из Electric упаковали PostgreSQL сервер (один из главных движков баз данных в мире) в js-библиотеку размером 3 мегабайта.
Работает на WASM в браузерах и в nodejs, поддерживаются экстеншены. Скорость отработки базовых запросов — 0.3ms.

Это как если бы дизельный локомотив с железной дороги поместили под капот WV Beetle. 🤯

Называется pglite, попробовать в браузере можно тут.

пост №1764Разработка и инженерия

Как придумывать надёжные пароли и не забывать их?

Похоже, никак.

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

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

При этом недавно появились технологии, которые могут заменить пароли и избавить нас от всех этих проблем. Как эти технологии устроены, можно ли воспользоваться ими уже сегодня и когда наконец мы победим интернет-мошенничество — разбираемся в новом эпизоде подкаста вместе с Каримом Валиевым, отвечавшим за безопасность в Mail.ru.

Слушайте и подписывайтесь: Apple, Youtube, Яндекс, Spotify, Castbox, Overcast, веб-версия.

пост №1763Разработка и инженерия

Windows-компьютеры по всему миру уходят в так называемый синий экран смерти — то есть перестают работать вообще. Нарушена работа магазинов, банков, авиакомпаний по всему миру.

Проблема в обновлении популярного корпоративного антивируса CrowdStrike, который используют 20% компаний из списка Forbes 500. Ошибка в обычной программе ломает только её саму, но это — антивирус, он имеет специальный уровень доступа к ядру и поэтому ломает систему до основания.

Производитель антивируса уже придумал, как вылечить заболевшие машины, но для этого требуется физическое присутствие технаря рядом с компьютером. Представьте, инженерам нужно прямо сейчас обойти ногами десятки, если не сотни тысяч компьютеров. А компьютеры сотрудников, которые работают из дома? Ад!

Можно своими глазами увидеть: 1) какие известные компании НЕ используют CrowdStrike (таких немного) 2) как это прокатывается волной по всему глобусу — технарь из Австралии пишет, что «у нас в магазинах всё только за наличку», а американец отвечает «у нас все пока спят, кроме тех, кого разбудили, чтобы это починить».

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

пост №1754Разработка и инженерия

Мы с клиентом запустили стартап. Он помогает малым локальным бизнесам — кофейням, барбершопам и другим — зарабатывать по модели, которую применяют Amazon и Яндекс.

Сделали мы это с помощью технологии PWA — создали практически полноценное мобильное приложение — с оффлайном, пуш уведомлениями и иконкой на рабочем столе, используя только веб технологии! А при запуске чуть не попали в замес борьбы Apple с Евросоюзом.

В новой статье делимся, как у нас получилось успеть всё это за 6 месяцев при том, что требования постоянно менялись (стартап!)

Хотите запустить проект с нами? Пишите в личку @samatg или оставляйте заявку на сайте.

пост №1745Разработка и инженерия

Docker Hub теперь блокирует запросы с российских IP-адресов. Обратите внимание, могут сломаться пайплайны.

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

Очередная балканизация технической инфраструктуры; мы с вами жили в золотую эпоху интернета.

Upd: разблокировали!

пост №1744Разработка и инженерия

Разработали сложный микросервис уведомлений для крупной строительной компании.

На картинке — общая архитектура сервиса.

В новой технической статье рассказываем, как так получилось.

Хотите запустить новый продукт с нуля или сервис внутри существующей архитектуры? Пишите в личку @samatg! Мы берем новых клиентов.

пост №1740Разработка и инженерия

Figma красиво рассказывает, как они масштабируют свою базу данных (горизонтальное шардирование Postgres).

Всего 4 года назад они хвастались, что все данные помещаются в одной БД на самой жирной тачке в AWS и выросли с тех пор в 100 раз.

Во-первых, прикольно читать, как устроен сервис, которым пользуешься почти каждый день. Во-вторых, в «internet-scale компаниях», мне кажется, засилие MySQL, так что приятно, когда делятся серьезными инсталляциями Postgres, который предпочитаем мы и большинство наших знакомых.

Вспомню ещё две другие, довольно старые истории про масштабирование баз данных:

1. Вот техническая команда инстаграма в 2012 году дает прикольные советы и рассказывает про шардирование постгреса. Заметьте, совсем другой вайб — не огромный лонгрид, а короткие заметки «с чем столкнулись и что сделали».

2. Культовая статья Uber 2016го года, которая называется «Почему мы переехали с MySQL на Postgres». Прикол в том, что название не отражает сути: они отказались от реляционной БД и сделали свою собственную СУБД на основе MySQL — срачи про это не утихают до сих пор, вот последнее обсуждение 2021 года и набор ссылок на предыдущие.

Вот неплохой список подходов к масштабированию БД, пускай они и не нужны в 99% проектов.

пост №1736Разработка и инженерия

Хакеры почти взломали все серверы на планете, но мир спас чувак, которого напрягли лишние полсекунды задержки в работе программы.

Эксперты по безопасности уже много лет пугают нас так называемыми supply chain attacks — то есть атаками «через поставщиков». Например, хакеры могут сначала взломать производителя ноутбуков, подсадить в них «троянского коня» на заводе и получить доступ уже к нам — конечным пользователям этих устройств. Чуть менее масштабные атаки такого рода становятся известны каждые несколько лет.

Это ад безопасника (и параноика), потому что такие атаки сложнее всего отследить. В 1984 году создателю языка Си Кену Томпсону вручили премию Тьюринга — аналог Нобелевки в IT. Темой своей праздничной лекции Томпсон выбрал как раз вопрос доверия: «можно ли в принципе убедиться, что наши устройства делают только то, о чем мы их попросили»?

А ещё такие атаки являются оружием массового поражения. Отравив один колодец, можно нанести вред тысячам людей. В мире достаточно много библиотек, которые встроены в подавляющее большинство программ и работают почти на всех компьютерах на планете. Малоизвестные в не-технической среде факт: многие эти «базовые» библиотеки поддерживаются энтузиастами-одиночками (про это даже есть специальный комикс xkcd).

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

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

Это точно не случайная ошибка, хакер использовал многочисленные техники обфускации (скрытия) следов своих действий.

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

В этот раз нам повезло — паленая версия библиотеки успела пролезть только в самые последние версии Linux-дистрибутивов, (большинство взрослых ребят предпочитают настоявшийся код).

Или не повезло? Откуда мы знаем, сколько ещё подобных атак было произведено? Что, если другие атакующие не допустили такой ошибки?

Кстати, кто они? Учитывая, что псевдоним хакера Jia Tan и он вносил правки в китайский дистрибутив линукса — он наверное китаец. Или это русские (или израильтяне? или американцы?) научились нормально подделывать следы? Это вообще коммерческая атака или государство? Мы не знаем.

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

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

Для технарей:

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

Короткий пост создателя xz — он был в отпуске от интернета, но по такому поводу вернулся и уже разбирается в ситуации.

Хороший технический FAQ: технический разбор атаки, инструкции как проверить, что ваша машина уязвима (и как обновиться) и ещё много всего.