объяснялка

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

Первая — обычная физическая карточка. Вторая — электронная, которую телефон может скачать по интернету по специальному QR-коду или через мобильное приложение оператора связи.

В каждой симке свой номер; на оба номера можно звонить, принимать и отправлять смс, пользоваться интернетом одновременно.

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

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

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

Теперь представьте: стол стоит на попах, чтобы не завалился — его подпирают инструменты; вокруг грязь.

К сожалению, отличить эти две ситуации в IT неспециалисту не просто.

Оценить скорость работы в IT, её объем — очень трудно.

Следите за качеством. Качество — надежный и заметный неспециалисту прокси инженерной культуры. Если качество страдает — значит под техническим капотом и в процессах есть проблемы.

> Очень классное исследование про врачей хирургов. Камеры записывали видео операций. Отличить хорошего хирурга от плохого может любой. У хорошего хирурга швы аккуратненькие, рука будто летает по полю. И пациенты выздоравливают лучше.

Почему ломается инженерная культура? Я знаю две основные причины:

1. Руководители не дают времени на наведение порядка. Вина в таком случае обычно не только на руководителе, но на и на инженере, который не смог донести важность _рефакторинга_ (это термин для наведения порядка в IT). Классический рецепт катастрофы: продакт знает, каких изменений хочет в продукте, а про технологии понимает мало, умеет убеждать; технари плохо доносят необходимость постоянных инвестиций в наведение технического порядка. Говорить с бизнесом о своей работе понятным языком — часть профессиональной компетенции программиста. 🧨 Быстрый способ: не доверять программистам, считать, что они идиоты и/или не иметь с ними диалога.
2. Технари недостаточно компетентны и оказываются погребены под сложностью монстра, которого сами соорудили. Бонус очки, если инженер имеет завышенную самооценку и/или боится признаться в ошибке.

——

Что делать?

Хорошо бы исправить ситуацию с текущими программистами. Они обладают знанием вашей системы, вашей предметной области. Это дорого стоит

Инженерная культура для программиста — это про самоуважение и уровень профессионального развития. Я не знаю, как вернуть самоуважение. Я не знаю, как вернуть человеку потерянное чувство брезгливости, продолжая находиться в грязи. .

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

———

Мне везло работать в компаниях, где с инженерной культурой всё ок. Сделать в Pure классно — для меня профессиональный вызов. Интересно и сложно.

Представьте, вы получили секретный документ. Как не запалить источник?

Как и в других ситуациях связанных с безопасностью, представим себе на месте противника.

Какие есть способы пометить документ?

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

Если говорить о цифровой передаче, то есть несколько механизмов. Самый кондовый — умышленно допустить разные орфографические ошибки в разных версиях файла. Вариант поизощреннее - заменять буквы на похожие. Кириллическую (русскую) букву «а» сложно отличить на глаз от латинской (английской) буквы «a», но это разные символы. Даём каждому потенциальному источнику «утечки» файл с уникальными заменами и потом смотрим, какая версия оказалась в паблике. У этого способа есть недостаток — компьютерная проверка орфографии живо выявит все такие «метки».

Сегодня я наконец-то увидел в паблике гораздо более крутой способ, основанный на «символах нулевой ширины». Вот самые известные: разделитель нулевой ширины, нужный, чтобы две буквы не «слиплись» в лигатуру; пробел нулевой ширины, порой используемый для расстановки «точек желаемого переноса»; и соединитель нулевой ширины, который, как ни странно, соединяет две буквы, которые иначе бы не слиплись (используется, например, в арабском).

Как вы уже наверное догадались, эти символы можно щедро расставить в тексте (даже автоматически, на каждое скачивание секретного файла отдавать его с уникальным «цифровым отпечатком»), и потом точно определить источник утечки. Я только что проверил популярные типографы, все они оставляют эти символы нетронутыми.

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

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

Для желающих позалипать в википедию - вот релевантная статья про «canary trap».

Амнезия Гелл-Мана: «Я читаю статью в газете на тему, в которой являюсь экспертом. Журналист не знает базовых фактов и путает причину со следствием. Но стоит мне начать читать статью на тему, в которой я не разбираюсь, как я думаю, что журналист понимает, о чем он пишет».

Факт: Apple управляет стором и сам же выставляет приложения в нем; налицо конфликт интересов, который ярко проявился в случае со Spotify.

Журналистика от New York Times: «Apple Cracks Down on Apps That Fight iPhone Addiction» [Apple наступает на приложения, борющиеся с телефонной зависимостью].

Айфоны безопаснее Android потому что каждое приложение для айфона проходит ручной контроль сотрудниками Apple. Ни одна программа не может вылезти из своей «песочницы» и украсть данные или нагадить другому приложению.

С такими телефонами нельзя сделать некоторые интересные вещи, но они безопаснее и их сложнее сломать (защита от дурака).

Порой, компаниям нужно обойти эти защитные механизмы на устройствах сотрудников. Ожидается, что этим занимаются специалисты, понимающие, что они делают и зачем. Специально для них разработаны Configuration Profiles которые позволяют мониторить трафик, управлять другими программами, сбрасывать пинкод и даже удаленно очищать устройство (часть Mobile Device Management), и Developer enterprise program, в котором нет никаких ограничений на то, что будут делать программы.

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

Насколько я понимаю, Apple закрывали глаза на нарушения, пока у них не было адекватной замены, да и внимания к ним было мало. Потом они сделали родной Screen time (экранное время) и случился скандал с фейсбуком.

Пока Apple каленым железом выжигает такие программы из апстора — я буду рекомендовать журналистам и политическим активистам использовать айфоны.

Касперский, кстати, в марте подал жалобу на Apple в ФАС на эту же самую тему — их приложение Kaspersky Safe Kids использовало Configuration profiles для мониторинга трафика и контроля приложений, Apple потребовал это прекратить.

P.S. Хотел поделиться скриншотом своего Screen time, но открыл, ужаснулся и застыдился. Загляните в свой, можете найти много интересного.

Я люблю садиться в самолет по приставной лесенке, а не «по трубе». Потому что тогда я могу заглянуть прямо в турбину двигателя, рассмотреть лопасти.

Современный реактивный двигатель — настоящее произведение искусства, рукотворное чудо нашей цивилизации. Это как пройти мимо Мона-Лизы.

А потом сижу в кресле и чувствую, как эта махина толкает нас вперед с такой силой, что мы взлетаем.

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

Разбираемся, как это устроено с идеальной гостьей — Дианой Гришиной! Диана — ученая, которая много лет работала в ASML — единственной в мире компании, которая делает станки для производства самых современных чипов.

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

Ради такого и работаем! Новый эпизод на всех платформах и на ютубе: https://youtu.be/yNAeKVG7rIQ

Бывший главный юрист ФБР поддерживает невзламываемое шифрование! ШОК ВИДЕО (на самом деле длиннющая статья в lawfare).

Пятница вечер, все дедлайны сожжены, в воздухе висит упадок. Ловите длинный пост про шифрование и безопасность.

✻✻✻

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

iMessage, WhatsApp и Signal работают на другом принципе: переписка шифруется так, что владельцы сервисов не могут прочитать наши сообщения даже если захотят. Система можно дать сбой из-за ошибки программирования, но их исправляют при нахождении. Широкого распространения этих принципов защиты информации опасаются силовики.

Они даже страшный термин придумали — «going dark», для описания ситуации, когда из-за правильного использования шифрования правоохранители не имеют даже теоретической возможности прочитать переписку преступников.

✻✻✻

Автор статьи руководил попыткой правительства США заставить Apple разблокировать айфон убийцы из Сан-Бернардино. Та юридическая и пиар баталия с Apple прервалась, когда израильская компания взломала для ФБР айфон через ошибку в коде iOS.

Еще не придумана схема, которая одновременно надежно защищает переписку хороших людей и при этом позволяет властям выборочно вскрывать переписку потенциальных преступников. Я сомневаюсь, что такая схема вообще может существовать. Если информацию может прочитать кто-то кроме выбранного вами получателя - то рано или поздно ее получат хакеры и/или государства-противники. То есть речь идёт о сознательном компромиссе. Что для нас важнее - защита от хакеров или доступ правоохранителей при необходимости расследования?

Дополнительная сложность (будто их мало): если США законодательно запретят своим компаниям делать невзламываемое шифрование, то люди начнут пользоваться продуктами китайского и русского производства. Тогда Штаты потеряют те возможности перехвата и анализа метаданных, которые у них есть за счёт того, что большинство популярных интернет-сервисов американские и подчиняются их законам.

Автора статьи очень пугают устройства Huawei и китайские хакеры. Хорошее шифрование - единственная надёжная от них защита.

✻✻✻

Обычно, невзламываемое шифрование поддерживают хиппи, последователи киберпанка и прочие программисты. Эту же статью написал топовый американский правоохранитель. Большое дело!

Хорошие новости: майкрософт планирует внести изменения в работу DNS в Windows, которые помогут бороться с цензурой и повысят нашу безопасность в сети.
Что такое DNS? Когда вы даете команду открыть ютуб, ваш компьютер или телефон сначала узнают числовой адрес ютуба (74.125.130.91, айпи) в «телефонной книге интернета» называемой DNS.

С DNS есть две проблемы:
1. Общение с DNS-серверами никак не защищено — значит хакер может подслушать, на какие сайты вы заходите и даже увести вас на поддельный сайт вместо настоящего.
2. DNS-серверы обычно предоставляются провайдерами. Владелец DNS-сервера видит, какие сайты вы посещаете и может выборочно блокировать к ним доступ, просто отдавая вместо настоящего числового адреса адрес сайта-заглушки. Это самый дешевый способ блокирования интернета, им пользуются многие русские провайдеры; именно так Турция блокировала твиттер во время массовых протестов.

Microsoft обещает решить обе проблемы. Сначала первую, путем поддержки шифрованного протокола DNS over HTTPS, а затем вторую — предлагая обычным пользователям выбрать, каким DNS-сервером они хотят пользоваться.

Объяснить простому человеку, зачем выбирать DNS-сервер и какие последствия имеет этот выбор — непростая UX-задача. В профессиональных кругах мы давно обсуждаем эти вопросы.

Не мы одни понимаем важность DNS. 🇺🇸 Недавно американские провайдеры были пойманы на том, что лоббировали конгрессменов США против шифрованного DNS (очень грязно, перетасовывая и перевирая факты) — они собирают и продают данные о том, какие сайты посещают их пользователи. 🇬🇧 Правительство Великобритании выступает против шифрования DNS — это помешает им блокировать сайты. На прошлой встрече IETF меня круто осадила девушка-представитель правительства Великобритании, красноречиво предъявив аргумент «а как же защита детей», на который я не нашелся как быстро ответить. 🇷🇺 Ну и конечно, «суверенная DNS-инфраструктура» есть в «законе об изоляции рунета».

Непривычно и очень круто, что Microsoft первыми из технических гигантов начали публично говорить об этом аспекте интернет-безопасности.

P.S. Привет из Сингапура, с очередной встречи инженерного совета интернета IETF. Картинка для привлечения внимания с балкона, где написан этот пост.

Как незаметно ускоряется интернет или история с цифровыми полтергейстами.

Случайно наткнулся на то, что теперь сайты открываются не только по IP-адресам, указанным в A и AAAA записях, но и по адресам, указанным в SVCB-записях в DNS.

Это новый тип DNS записи (type 65), при наличии которой, свежие браузеры (Safari, например) сразу открывают сайт по https, а точнее — по QUICK, причем используют ключ шифрования из DNS. Такая схема работы ускоряет первое открытие сайтов на существенные десятки, если не сотни миллисекунд (а также сильно мешает Роскомнадзору) и Cloudflare уже публикует эту запись для всех своих клиентов (рекомендую их объяснение протокола, RFC не простой).

Обнаружил я это, когда пытался заблокировать себе некоторые сайты на компьютере, чтобы не заходить на них бездумно. Обычно я заношу их в /etc/hosts, а тут для некоторых сайтов именно в Сафари это не работало. Похоже на историю с полтергейстами, но к счастью, после некоторого поиска нашелся ответ на StackOverflow, который расставил всё по местам и напомнил об SVCB.

Для меня это ещё одно доказательство того, что не-профильные части бизнеса стоит делегировать профессионалам. Мало кто из «обычных админов» сайтов использует эти новые протоколы — все ведь работает и по-старинке. А если используешь Cloudflare для хостинга сайтов — то получаешь все эти десятки, если не сотни довольно неочевидных оптимизации в комплекте. Примерно как когда заказываешь у нас разработку.

Ах да, если хотите заблокировать себе какие-то сайты на компьютере под маком — то рекомендую Little Snitch Mini — это прекрасная утилита, которая показывает, к каким сайтам подключаются программы на вашем компьютере и позволяет блокировать их одним кликом (1,5 евро в месяц). Аналог под Windows — NetLimiter.

Айфоны и андроиды. Для потребителя разница минимальна. Тот же экран блокировки с большими цифровыми часами, те же самые приложения.

Для любого человек в этом варящегося, iOS и Android - две параллельные вселенные. То, что ты сделал в одном мире - во многом не применимо в другом. Редкие программисты умеют разрабатывать приложения для обоих платформ одновременно, знают хорошо обе платформы - единицы.

Если компания хочет сделать приложение и для андроидов и для айфонов, она содержит два параллельных отдела мобильной разработки - для iOS и для Android. Каждая из двух программ выглядит немного по-своему, сроки разработки немного разные, ошибки — уникальны.

Каждые пару лет появляется новая технология «кроссплатформенной разработки». Меняются названия, технологии под капотом и компании, её продвигающие. Я на своём профессиональном веку увидел хайп и угасание гигантов PhoneGap — монструозный HTML, купленный Adobe и позже отданный в Open Source и переименованный в Apache Cordova; Xamarin — пишем на C#, который компилируется в нативные приложения для каждой платформы. Microsoft купила её в 2016.

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

Последняя модная (суперхайп) технология такого рода — React Native от Facebook. Программируем на современном lingua franca — javascript, а весь пользовательский интерфейс может быть нативным для платформы. Работает быстро, выглядит классно. Потенциально можно программировать силами веб-разработчиков (ну почти). Самое главное — в старые приложения можно добавлять новые экраны, сделанные на react-native. Технология молодая (2015 год), есть множество нерешенных проблем, но это первая кроссплатформенная балалайка, которую мне хочется попробовать. В России я знаю несколько компаний, которые успешно используют RN в продакшен-разработке. Радио Арзамас сделано на RN, например.

Я рассказываю всё это, чтобы вы поняли «интригу, скандал и расследование», которые рождает вот этот тред в твиттере

https://twitter.com/sandofsky/status/1002637340291018754 (мол сам фб перестал использовать RN в основном приложении)

Копировать-вставить — одна из самых удобных функций на компьютере.

Для этого необязательно кликать или лезть в меню — можно воспользоваться сочетанием клавиш Cmd+C и Cmd+V (зажимаете комманд и нажимаете C или V один раз, отпускаете комманд). На виндоуз вместо комманд — клавиша Ctrl.

Ещё удобнее, когда компьютер помнит не только последнюю скопированную вещь, но всю историю того, что вы копировали.

В новых версиях виндоуз эта функция есть по умолчанию, посмотреть историю скопированного можно клавишей Win+V. Виндоуз даже умеет синхронизировать историю буфера обмена между разными компьютерами, например рабочим и домашним.

Для макинтоша я рекомендую прекрасную программу maccy. Программа бесплатная и последнюю версию можно скачать вот тут. Интересно, что если вы зайдете на её сайт, то вам предложат заплатить за скачивание «справедливую цену» (можно указать 0). И сделал русский, Алекс Родионов. Кайф.