объяснялка

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

Внутри:

1. Как защитить свою личную переписку.
2. Как не запалиться в крупных телеграм-чатах.
3. Как вести соцсети без самоцензуры и минимизировать риск присесть на 15 лет.

За идею спасибо Илье Красильщику.

Простые советы по информационной безопасности для журналистов и их близких. ФСБ в очередной раз напомнила (1, 2), что профилактика — лучшее лечение.

1. Защитите свой телефон. Выключите вход по отпечатку пальца в айфоне — отпечаток может подделать и ребенок. Поставьте 6-значный код, не 4-значный — 4 значный взламывается путем механического перебора. Вход по лицу относительно ок, вы как минимум узнаете, если вас заставят разблокировать телефон. Устанавливайте все обновления и свежие версии iOS, в них регулярно исправляются дырки, через которые можно было высосать данные из заблокированных устройств.

2. Установите пароль в телеграме. Функция называется «двухэтапная аутентификация» в настройках. Без пароля, всё что нужно для взлома всей истории вашей телеграм-переписки — это перехватить смс на ваш номер. Это могу сделать даже я, не говоря уже о спецслужбах. Особо чувствительную переписку ведите в секретных чатах и используйте таймер автоудаления, это здоровая тема.

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

4. Не пользуйтесь русской электронной почтой. Не пользуйтесь электронной почтой, хранящейся в России. Mail.ru и Яндекс подчиняются российским законам, а значит, в почте на их серверах ФСБ роется как у себя (у вас) дома. Google и Protonmail — нормальные почтовые сервисы, если за вами не следит АНБ США. Обратите внимание на своих контрагентов, если у них почта на mail.ru и яндексе — не стоит посылать туда важную информацию.

Бонус трек. Включите 2-факторную аутентификацию через временные коды во всех важных сервисах. Не используйте один и тот же пароль более чем в одном месте. Для простоты — храните всё это в ключнице 1password.

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

Нашёл классный способ выбрать по одному представителю из группы в SQL.

SQL — cтруктурированный язык запросов, изначально — SEQUEL, «структурированный английский язык запросов» к базам данных родом из 1974го (да, IBM). Почти все технари и аналитики на нем описывают, какие столбцы и строки из таблиц мы хотим получить, как их отфильтровать, отсортировать и преобразовать.

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

Умение пользоваться различными парадигмами, осознанно выбирать более подходящую в данный момент — то, что отличает по-настоящему крутого специалиста. Учите SQL! В конце концов, думать над запросами просто приятно :)

Продакты и аналитики! Научитесь SQL и сможете сами, без программиста отвечать на многие вопросы про проект.

Вот четыре супер классных интерактивных курса (бесплатно без СМС): побогаче, полапидарнее, с довольно сложными задачами в конце и очень красивыми фабулами.

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

На сладкое для заинтересованных:
- хороший туториал по написанию своей базы данных, где разобраны основные концепции на примере клона SQLite;
- доклад создателя SQLite о том, как работают базы данных (ютуб): подача так себе, но в теме чувак разбирается очень хорошо, поэтому интересно.

Про интернет в Беларуси и России.

Когда вы покупаете интернет — вы платите провайдеру. МТС, Мегафон, Ростелеком, кому-то, кто протянул вам кабель или продал симку. У каждого провайдера своя сеть, network, net.

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

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

В Беларуси по закону есть всего три провайдера, у которых есть прямая связь со внешним миром. Это Белпак, Национальный центр обмена трафиком и Академия наук Беларуси. Весь интернет в Беларуси ходит через эти три точки. И недавно два из них сначала выключили свои каналы IPV6 связи со внешним миром, а потом начали жестко ограничивать пропускную способность.

Все наши сети имеют какую-то пропускную способность. Если из 10 полос МКАДа перекрыть 8, то нормально проехать не получится почти ни у кого. Именно это сделали государственные провайдеры Беларуси, вырубив таким образом всей стране интернет. Беларусы не могут открыть зарубежные сайты, мы не можем открыть сайты внутри Беларуси.

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

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

Правительству Беларуси пора перестать заливать нам мочу в уши про то, что интернет «сломался». Его тупо выключили.

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

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

На картинке — то, как в 10:30 власти зарезали трафик крупнейшему новостному сайту Беларуси tut.by 🤍❤️🤍

Обрыв двух независимых 20kV линии питания и всей оптики до основных площадок обмена трафиком в Европе — не очень частая ситуация. Тем более хороший повод повторить основные правила.

Идеальная схема — когда запросы идут параллельно на две площадки у двух не-аффилированных провайдеров (не два ДЦ у одного и того же провайдера, а прямо разные компании). Админ в Букмейте был из старой гвардии Яндекса и поддерживал такое. В таком сетапе падение одного провайдера проходит незаметно для читателей. Это обычно сложно технически и стоит денег по ресурсам.

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

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

В противном случае – молимся, постимся и слушаем радио Радонеж при каждом падении.

На высоте 20 тысяч километров, со скоростью 14 тысяч километров в час летят навигационные спутники Земли.

Если бы у нас было достаточно хорошее зрение - мы бы видели 16 таких спутников над своими головами все время. Четыре американских, четыре китайских, четыре европейских и 4 русских.

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

Как именно? Базовый принцип такой: представьте, что вы знаете расстояние от себя до одной точки. Вбейте в эту точку гвоздик и примотайте нитку той длины, насколько вы далеко от точки. Если крутить нитку вокруг гвоздика - получается окружность. Вы где-то на этой окружности. Представьте, что теперь вы знаете своё расстояние ещё до одной точки - у неё своя окружность. Две окружности обычно пересекаются в двух точках. Чтобы понять, какая из этих двух точек ваша - потребуется расстояние до третей точки. Вывод — расстояние до трех точек определяет ваше местоположение. На картинке — настоящие уравнения из вашего телефона

1. Спутники летят очень быстро и согласно специальной теории относительности, их время идёт чуть медленнее, чем наше.
2. При этом мы ближе к земле, а спутники - дальше. Согласно общей теории относительности, рядом с тяжелым обьектом время идёт медленнее - то есть у спутника оно быстрее, чем у нас. В результате, часы на спутнике идут на 38 микросекунд в день медленнее, чем на земле. Это кажется мелочью, но если не сделать поправку на этот эффект, то для определения расстояний, в день накопится разница в 10 километров. Это — самое заметное применение теории относительности Эйнштейна.

На картинке — искривление пространственно-временного континуума, в котором мы живем на поверхности Земли.

3. Мощность передатчика на таком спутнике — 50 ватт (вспомните 100ваттную лампочку). Приемник на телефоне не больше телефона (troll) и принимаемый сигнал гораздо слабее, чем тепловой шум (белый шум на старых телеках). Аналогия примерно такая, что вы стоите на одном конце станции комсомольской в час пик, а ваша подруга — на другом. И вам нужно нашептать ей признание в любви, чтобы она услышала. К сожалению, я плохо разбираюсь в кодировании сигналов, так чтобы не наврать ограничусь следующим: применяется очень красивое кодирование сигнала (коды Голда), а скорость передачи сигнала исключительно низкая - 5 бит в секунду, это в 2.5 миллиона раз медленнее, чем интернет у нас в телефоне.

Пик на картинке — правильно подобранные параметры приема сигнала со спутника.

4. Этот быстрый интернет используют для того, чтобы скачать всю возможную информацию о спутниках — положение каждого конкретного спутника прямо сейчас (эфимириды) и примерное расположение всех спутников (альманах), чтобы понять, на какую волну и код Голда настраиваться. Такая система называется Assisted GPS (A-GPS). При желании можно не пользоваться интернетом, спутники не торопясь передают эту информацию в течении 12 минут.

На картинке схема формата данных со спутника.

5. Для корректной работы системы, нам нужно знать время на часах спутников и их положение с невообразимой точностью. 2 наносекунды в день и 10 сантиметров (при скорости в 14 тысяч километров в час). Такая точность недостижима простым измерением — данные с наземных станций накапливаются продолжительное время для того, чтобы с помощью черной магии определить, куда внести поправку — в часы или в положение. В мире всего несколько организаций, владеющих этой магией. В июле, европейская система Галилео не работала почти неделю — из-за ошибки в программе на земле они потеряли информацию о поправках и им пришлось перезапускать все рассчеты с нуля, в холодном режиме. Евросоюз засекретил результаты работы правительственной комиссии, но в сеть утекли слайды с презентации и там видно, что чуваки сломали 4 системы одновременно и только так вывели из строя пепяку стоимостью 10 миллиардов евро.

Обычно эту технологии называют GPS по имени американской военной ситемы, запущенной в ещё 1978 году (сегодня её поддерживают ВВС США). На деле большинство современных телфонов получают сигнал ещё от 3 систем глобальной навигации: европейской Galileo, китайской BeiDou и русской ГЛОНАСС. У японцев и индусов есть свои локальные системы, в которых просто меньше спутников, скорее всего ваш телефон умеет принимать сигнал Японской QZSS.

У каждой страны свои, независимые системы, потому что а вдруг война?

Очередная классная технология, которую мир финансируют через военные бюджеты.

На фото супер современный спутник ГЛОНАСС-К, который, судя по слухам, не смогут произвести из-за санкций (внутренние компоненты покупаются на западе).

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

Для дополнительного чтения рекомендую прекрасную статью про GPS и книжку, в которой очень подробно описано, как сделать GPS-приемник самому (amazon, libgen).

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

Всем космос! 🚀

Красноречивый наброс на скрам, мол, Agile > Scrum = 💩 и у всех прорывает.

Если вы ничего не поняли — это нормально. Фраза — практически тест на то, занимались ли бизнес-программированием в последние 5 (10?) лет.

Agile — идея (учение) о том, как правильно разрабатывать программы. Вот простой для понимания первоисточник, рекомендую: 12 заповедей (принципов) Agile (русский перевод). Оцените полет мысли, это практически госпел (понимаю, почему его так любит Герман Греф).

Я капитально упорот на идее servant leadership и работал исключительно в стартапах. Даже я чувствую иррациональный страх перед идеями Agile. Уровень страха нормальных менеджеров можно сравнить со страхом фарисеев перед идеями Христа, я думаю. Поэтому авторами Agile Manifesto был придуман SCRUM.

SCRUM — четко описанные процессы, где отдельный человек и даже продукт уже не так важны. Можно стать сертифицированным коучем SCRUM, есть курсы SCRUM, можно повесить себе шильдик «успешно внедрили и следуем СКРАМ» и т.д.

Разница между Agile и SCRUM — примерно как между учением Христа и табачным бизнесом РПЦ. Поэтому в классных компаниях ценят результат и людей, этот результат достигающих, а в стремных — «процессы». Аминь.

@pmdaily, что скажешь?

Отличная новость для системных администоров и всего интернета. Let's Encrypt начал поддерживать выпуск wildcard-сертификатов.

Что это значит?

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

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

Несколько лет назад группа людей и организаций (посмотрите About, там много звездных имен) решили, что для общей безопасности нам нужно сделать выпуск сертификатов бесплатным и автоматизированным. И это сработало! Вот безумный график их роста, а вот тут исследование показывает, что 30% пользователей COMODO перешли на Let's Encrypt.

Зачем нужны wildcard'ы?

Дело в том, что порой у сайтов есть много поддоменов (то, что перед именем сайта через точку, www.meduza.io, monitor.meduza.io, specials.meduza.io, например). Как защитить эти сайты? Можно выпустить по отдельному сертификату для каждого этого поддомена. Так многие и делают, но есть ситуации, когда гораздо лучше заказать один (wildcard) сертификат *.meduza.io, который можно использовать на любых поддоменах Медузы.

Раньше LE не умел выпускать wildcart-сертификаты, а теперь научился.

Это был один из последних*** сильных аргументов, чем коммерческие Certificate Authority лучше Let's Encrypt.

Ура!

* Ходят слухи, что у NSA есть способы
** У злоумышленников есть 101 способ обвести вас вокруг пальца. Математику мы делать научились, а интерфейсы, которые бы помогли не попасться на удочку мошенника — нет.
*** Есть ситуации, в которых сертификаты от LE не годятся, но если вы в этой ситуации — то скорее всего знаете, что делать.

Интересно, что самое большое заблуждение о биткоинах — их анонимность.

Одна из основ биткоина — полная прозрачность всех транзакций. Всем видно, кто кому и сколько передал.

Есть два способа сохранить анонимность:

1) купить биткоины анонимно, за наличные (вот самая большая биржа, где можно найти продавца https://localbitcoins.com)

2) воспользоваться миксером — сервисом, который примет монеты от разных людей, смешает их вместе и вернет вам деньги на другой кошелек

У каждого из способов есть проблемы:

1) если в биткоины придет государство — скорее всего оно запретит анонимную продажу монет (борьба с терроризмом, как обычно)

2) доверять миксерам — это как доверять банкам, только хуже.

Есть и анонимные криптовалюты, но угадайте, какие incentives будут у государства, поддерживающего криптовалюту?

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

Facebook, телеграм, вконтакте — электронные соцсети вызывают привыкание, как наркотик. Если при нажатии на кнопку каждый раз будет вывалиться еда – то мы наедимся и перестанем. Если же еда будет вываливаться только на 7 нажатий из 10 — то мы будем нажимать на кнопку до смерти. Эта же схема используется в игровых автоматах и вообще, азартных играх.

В случае соцсетей вознаграждением является социальное одобрение — лайк, шер, комментарий или вот число прочитавших, как в телеграм-каналах. Ручкой однорукого бандита выступает pull-to-refresh.

Всё это довольно банальные вещи, о которых причастные люди в IT-индустрии давно знают. Большинство соцсетей и мессенджеров зарабатывают на рекламе — чем больше времени вы будете проводить в приложениях, тем больше рекламы увидите. Лучшие умы планеты думают над тем, как бы сделать сервис таким, чтобы вы провели в нем побольше времени.

Интересно, что многие IT-шники «не употребляют свой товар». Отключить ленту фейсбука, отписавших ото всех или просто установив специальное расширение, выключить push-уведомления или хотя бы красненький notification badge — вот минимальная цифровая гигиена наших дней.

Внутри отличной статьи the Guardian интервью с программистом-создателем кнопки Like и с дизайнером, придумавшим Pull to refresh; обязательная отсылка к Олдосу Хаксли, конечно, тоже есть.

https://www.theguardian.com/technology/2017/oct/05/smartphone-addiction-silicon-valley-dystopia