Продолжаем новогодние видео-каникулы.
Первая лекция из вводного курса MIT по программированию, 1986 год. Классика computer science.
Насколько я понимаю, по-русски эту дисциплину принято называть «информатика».
Послушайте, как классно лектор определяет computer science: «Геометрия началась в Египте с восстановления границ участков после разливов Нила. Но геометрия - наука гораздо более глубокая, чем измерение площади. Так же computer science началась с попытки считать всякое с помощью компьютеров, но суть её в стремлении человечества научиться _описывать процессы_.» (Мой вольный пересказ)
Дальше автор за пару минут объясняет основы языка Lisp.
Вот такие лекции по программированию нам нужны!
https://m.youtube.com/watch?v=2Op3QLzMgSY (в ролике можно включить хорошие субтитры, если хотите)
Ну и эпическое видео Proof of Concept (пример-доказательство).
Ролик очень плохого кавера на Hello Адель (зато слова по теме!) передаётся между двумя виртуальными серверами в Amazon AWS через кеш процессора (!) и проигрывается в реальном времени.
https://www.youtube.com/watch?v=yPZmiRi_c-o
Важно, что в этом докладе речь идёт не о взломе или краже данных через процессор - на обоих серверах запущена программа, которая общается с «коллегой» с соседнего сервера через кеш процессора. Если на вашем виртуальном сервере в AWS запускают программы злоумышленники - то факт того, что ваши секретные данные были переданы наружу не через сетевое соединение, а через кеш процессора - не самая большая проблема. Это просто очень мощный пример of things to come.
Полный доклад: https://youtu.be/6bCdFmehMSY
Во всех современных процессорах Intel есть серьезная ошибка безопасности и заплатим за неё мы с вами.
Подробности ошибки находятся под эмбарго. Microsoft выпустила программный патч для Windows в ноябре. Патч к ядру Линукс от группы исследователей из технического университета Граза был окончательно принят разработчиками Linux буквально несколько дней назад. Изменения в исходном коде Linux доступны публике, но из них изъяты комментарии, объясняющие причины происходящего.
🍿🍿🍿
Патчи серьезно замедляют выполнение задач, связанных с большим числом переключения контекстов и прерываний. У одного из экспериментаторов производительность du упала почти в два раза (du — утилита, считающая объем дискового пространства, занятого файлами).
AMD утверждает, что их процессоры не имеют этой ошибки.
Супер разбор ситуации http://pythonsweetness.tumblr.com/post/169166980422/the-mysterious-case-of-the-linux-page-table
Краткий пересказ:
Указанные патчи к ядру Linux включают _kernel page-table isolation_. До этих изменений, таблица страниц (_page table_) ядра (таблица, содержащая схему перевода адресов виртуальной памяти ядра в адреса физической памяти) хранилась вместе с таблицей страниц пользовательского процесса. Пользовательским процессам эта таблица была не доступна. Это хак, но он позволяет не сбрасывать очень дорогие кеши процессора. По всей видимости, существует аппаратная ошибка в процессоре, позволяющая пользовательскому процессу прочитать, что же в этой таблице лежит.
Возможно, это timing attack, в которой измеряется время, необходимое менеджеру памяти процессора (MMU, Memory Management Unit) для того, чтобы получить физический адрес той или иной области памяти. Интересно, что другая команда исследователей из того же университета Граза буквально на днях представила доклад, где показала, как можно узнать адрес js-объекта в памяти из джаваскрипта именно через timing attack на MMU!
Пока я писал эти буквы, исследователь уже написал программу, позволяющую узнать адрес функции ядра в памяти! https://twitter.com/brainsmoke/status/948561799875502080?s=09
Так или иначе, одного этого кажется недостаточным для срочных патчей в режиме «горящей задницы». И тут мы вспоминаем третью недавнюю статью от группы исследователей из университета Граза (!). Есть так называемая Row hammer-атака. Современные DRAM-модули оперативной памяти имеют такую высокую плотность, что при обращении к определенным ячейкам памяти с высокой частотой, можно изменить данные в совершенно других областях памяти. Это происходит из-за электромагнитных наводок (!). В статье исследователи показали новую, более крутую эксплуатацию электромагнитного эффекта и успешно обошли все существующие методы защиты.
Если совместить вместе патч, доклад и факт, что в почтовой переписке разработчиков ядра Linux участвовали разработчики из Google и Amazon (два крупнейших поставщика облаков), разумно предположить, что речь идет об атаке, позволяющей злоумышленнику вылезти из виртуальной машины.
Конечно, речь идет о том, чтобы пропустить верблюда через игольное ушко несколько раз подряд, но хакеры уже не раз показали, на что способен человеческий разум.
Запасаемся попкорном и ждём дальнейших подробностей. 2018 начинается очень интересно.
P.S. Бояться, что эта уязвимость затронет ваш персональный компьютер или телефон я бы пока не стал. Только включите автоматические обновления безопасности, а то будете потом локти кусать.
P.P.S. Ноябрьская новость, что глава Intel продал все свои акции Intel заиграла новыми красками.
Ностальгическая статья про историю Hotmail.
Молодежь, у которой первый в жизни «ящик» заведён на Gmail, может не понять, но были времена, когда «почта» не равнялось Gmail. (Ох, сейчас прибегут адепты mailru и яндекс.почт, я знаю, вас тоже много)
Hotmail - один из первых и самых крупных бесплатных почтовых сервисов, доступный через веб. Эта была рекордно дорогая покупка стартапа - Майкрософт заплатил 450 миллионов долларов кешем в 1997 году!
Внутри статьи много историй, за которые мы и любим Hotmail. Например, как команде Windows понадобилось около 3 лет совместной работы с Hotmail, чтобы довести Windows и его веб-сервер ISS до состояния, в котором они могли заменить Solaris на бэкенде Hotmail. (Фронтенд был на FreeBSD).
Или как для установки HTTPS на страницу логина им пришлось купить аппаратные криптографические карты (процы тогда ещё не умели аппаратный TLS).
Автор проговорил с руководителем интеграции Hotmail в Microsoft Маком деМелло, рекомендую прочитать для острого приступа ностальгии.
Моя первая почта была у кировского провайдера Ezmail. Я её завёл для переписки с 2 адресатами,
после возвращения из летней компьютерной школы, проходившей в Кирове в 2002 году. Пользовался, конечно, не вебом, а почтовиком TheBat. Эх, времена!
Кстати, давайте попробуем «початиться»? Если хотите что-то обсудить по теме канала - добро пожаловать в @ctodailychat
С Новым годом!
https://arstechnica.com/information-technology/2017/12/how-hotmail-changed-microsoft-and-email-forever/
Если после обновления слека тормозит набор слов в слеке на маке — поможет удаление всех локальных данных.
Придется перевойти во все слек-аккаунты, зато можно опять нормально печатать https://gist.github.com/skoji/6778eb42312bc846573e
Кстати, иногда совсем старые батареи айфонов вздуваются (и портят экран).
Если принести такой Айфон в официальный сервис эпл, то они не меняют батарею, а выдают новый телефон за цену замены батареи. Это сообщение я пишу с телефона, полученного именно таким образом.
OpenSSL - один из самых важных IT-проектов, на нем держится практически все шифрование. После недавних адских ошибок безопасности они улучшили ситуацию с разработкой, но вот с документацией и UX ситуация все ещё аховая.
Хорошая порка: https://jameshfisher.com/2017/12/02/the-sorry-state-of-openssl-usability.html
Победить Apple IIe почти невозможно — современные компьютеры слишком сложно устроены
Читать полностью…Ааа, они убрали уродскую фоновую картинку у чатов!
Наконец-то оно выглядит как iMessage, а не как ватсап.
Го устаналивать https://itunes.apple.com/app/telegram-x/id898228810?mt=8
Насчет telegram X: в публичном пространстве пока нет ни одного доказательства, что это официальный клиент, а не удачная MitM-атака. Посмотрите, даже аккаунт разработчика в AppStore другой
Читать полностью…Хорошая полемическая статья (aka trolling) на на тему «чем плох REST».
1. Переводить сложные операции на язык, в котором всего 4 глагола - то ещё развлечение.
2. В парадигме REST неестественно передавать изменения машины состояний, а это часто необходимо и ошибки на этом фронте могут быть фатальны.
3. Коммуникация ошибок и других особых состояний: «всегда HTTP 200 OK, а ошибка в теле» или придумаем свои коды?
pakaldebonchamp/rest-is-the-new-soap-97ff6c09896d" rel="nofollow">https://medium.com/@pakaldebonchamp/rest-is-the-new-soap-97ff6c09896d
Мой вывод: парадигмы, правила и концепции - это наши рабочие инструменты. Не человек и дела для инструментов, но наоборот. Каждой задаче - свой инструмент. Черт, кажется это просится в инстаграм глубокомысленные цитаты. Сорян.
Сервис-открытие года - Airtable.com
Это такие Гугл-таблицы на стероидах.
Завели таблицу сотрудников, в ней 20 столбцов. Почти ни для одной задачи не нужны все столбцы сразу. Создаём 4 разных view, в каждом из которых видны только нужные столбцы и нужные записи.
Как насчет учета техники? Заводим табличку, указываем какие нужны столбцы. Связываем две таблицы. Хотим посмотреть, у кого ноутбук c 4 гигами памяти и маленьким диском? 3 клика!
В таблице сотрудников есть столбец дат рождения. Хотите посмотреть календарь дней рождения на месяц? 3 клика.
А ещё можно отобразить записи в виде trello board, так что перетаскивание между столбцами транслируется в изменение указанного столбца! Представьте себе таблицу претендентов на вакансию. Можно посмотреть количество претендентов в каждой стадии пайплайна в виде карточек, имея при этом в доступе всю мощь фильтрации.
А группировка записей и сноски с суммами/средним для каждой группы! После того, как я перевел покупки техники в Airtable, я наконец-то легко могу ответить, какую технику, в какой месяц, для какого отдела и на какую сумму мы покупаем.
Есть несколько веб-сервисов, которые сильно упрощают мою работу. Всего за несколько месяцев Airtable стал чуть ли не самым важным.
Это я ещё не начал рассказывать про его отличный API, хранение истории редактирования каждой записи, возможности обсуждения каждой записи по-отдельности, мобильные приложения... Бесплатный аккаунт имеет лимит в 1500 записей на базу.
Космический продукт. Посмотреть бы, как они его делают (всего 25 человек в команде).
https://airtable.com/product
Гугл наконец-то опубликовал нормальный разбор «что делать», а то PR-опусы как исследователей безопасности (мы всё умрём) так и Intel (ничего не происходит) надоели.
Коротко: гугл починил у себя все три уязвимости и не заметил проседания производительности в продакшене.
Детали: CVE-2017-5753 нужно фиксить отдельно в каждом бинарнике, способном выполнять недоверенный код (читай браузеры, ОС и прочий JIT) — они не пишут, как именно это нужно делать; CVE-2017-5715 чинится обновлением CPU или перекомпиляцией важных бинарников (ОС и гипервизоры) компилятором, умеющим хитрый хак (Google назвал этот хак Retpoline и опубликовал его для GCC и LLVM); CVE-2017-5754 чинится обновлением ОС. Обратите внимание, что гугл не называет эти баги именами собственными, видимо не хочет добавлять хайпа.
Продолжение истории — чуваки уже смогли эксплуатировать CVE-2017-5753 в Firefox для кражи паролей из джаваскрипта. Mozilla выпустил обновление только что.
Вчера ночью сняли эмбарго с информации об уязвимостях процессоров.
Как мы и ожидали, речь идёт о несанкционированном доступе к оперативной памяти. Грубо говоря, каждая программа на компьютере живет в своем изолированном мире. Используя эти уязвимости, программа-злоумышленник может подсмотреть, что там происходит у соседей.
Это страшно «облакам», суть которых как раз в том, что программы разных людей делят один физический сервер. Сейчас модно называть такой подход виртуализацией. Речь идёт о более эффективном расходовании серверов: если две программы (два клиента) могут поместиться на один физический сервер - так и делаем. Принципиальное обещание «виртуализации» в том, что ваши данные так же защищены, как если бы они были на отдельном сервере. Ага.
Самих дыр не достаточно - нужно сочетание многих условий для того, чтобы извлечь из неё какую-либо «выгоду». Думаю, многие «исследователи» в кавычках и без занимаются этим вопросом прямо сейчас. Будет ли идти речь о таргетированных атаках, когда отсифонят секретные данные конкретной жертвы и используют их для дальнейших этапов атаки или о каких-то «массовых изъятиях денег у населения» - пока говорить рано. Поживём-увидим. (Я бы назвал эти уязвимости popcorn time)
Теоретически, этим атакам подвержены и наши персональные компьютеры и даже смартфоны. В софте регулярно находят ошибки, которыми пользуются злоумышленники в своих программах. Теоретически, эта ошибка на порядок больше остальных, но одной дырой больше, одной меньше, принципиальной разницы я пока не вижу. На деле, если вас угораздило запустить программу злоумышленника на своём компьютере или телефоне, вам все равно более-менее хана.
Строго говоря, речь идёт о 3 уязвимостях: bounds check bypass CVE-2017-5753, branch target injection CVE-2017-5715 и rogue data cache load CVE-2017-5754.
Интересно, что их одновременно нашли две независимые групп исследователей. Первая - звездный Project Zero из Google. Они отправили письма производителям процессоров ещё 1 июня (!) 2017. Вторая - группа исследователей из универов. Project Zero опубликовал классный технический разбор, а университеты максимально отработали PR-сторону, нагнав страху на массовую аудиторию «дизайнерским лендингом».
Боюсь показаться занудой, но включите автоматические обновления на всех своих устройствах. Против третьей из этих уязвимостей уже выпустили заплатки все крупнейший операционные системы, а по поводу первых двух CVE мы увидим ещё много обновлений самых разных программ. Применение патчей безопасности не должно требовать вмешательства пользователя, а Карфаген должен быть разрушен.
Представьте, вы получили секретный документ. Как не запалить источник?
Как и в других ситуациях связанных с безопасностью, представим себе на месте противника.
Какие есть способы пометить документ?
Начнем с простого: при печати, современные принтеры добавляют невидимые невооруженному глазу точки. Если ваш источник распечатал документ на работе и противник получил высококачественные сканы или оригиналы бумаг — источник сгорел. Решение — распознавать текст, никогда не выкладывать сканы.
Если говорить о цифровой передаче, то есть несколько механизмов. Самый кондовый — умышленно допустить разные орфографические ошибки в разных версиях файла. Вариант поизощреннее - заменять буквы на похожие. Кириллическую (русскую) букву «а» сложно отличить на глаз от латинской (английской) буквы «a», но это разные символы. Даём каждому потенциальному источнику «утечки» файл с уникальными заменами и потом смотрим, какая версия оказалась в паблике. У этого способа есть недостаток — компьютерная проверка орфографии живо выявит все такие «метки».
Сегодня я наконец-то увидел в паблике гораздо более крутой способ, основанный на «символах нулевой ширины». Вот самые известные: разделитель нулевой ширины, нужный, чтобы две буквы не «слиплись» в лигатуру; пробел нулевой ширины, порой используемый для расстановки «точек желаемого переноса»; и соединитель нулевой ширины, который, как ни странно, соединяет две буквы, которые иначе бы не слиплись (используется, например, в арабском).
Как вы уже наверное догадались, эти символы можно щедро расставить в тексте (даже автоматически, на каждое скачивание секретного файла отдавать его с уникальным «цифровым отпечатком»), и потом точно определить источник утечки. Я только что проверил популярные типографы, все они оставляют эти символы нетронутыми.
Добрый человек уже написал скрипт для очистки текстов от этих символов. Вообще, есть гарантированный способ избавиться от всех этих меток: распечатать секркетный текст, отсканировать и распознать его обратно. Ну или перенабрать интересующий кусочек руками.
Вариант, когда в тексте заменяются слова на синонимы тоже имеет право на жизнь. Существует специализированный софт, который автоматизирует эти вещи.
Для желающих позалипать в википедию - вот релевантная статья про «canary trap».
Если вы вдруг не смотрели видео про посадку шатла — очень рекомендую — тоже отличное новогоднее залипалово https://www.youtube.com/watch?v=Jb4prVsXkZU
Читать полностью…Ультимативный доклад-разбор компьютера программы Аполлон.
Включает разбор этапов полета, схему компьютера, список команд его ассемблера и UX. Идеальное новогоднее видео для компьютерщика.
По скорости похоже на класическое видео «как посадить space shuttle», но в этом докладе гораздо больше технических деталей.
Сама презентация очень-очень качественная, рекомендую всем, кто читает доклады.
https://media.ccc.de/v/34c3-9064-the_ultimate_apollo_guidance_computer_talk
38% из 1000 самых популярных сайтов определяют, блокируете ли вы рекламу. Только 10% этих сайтов говорят вам что-либо, если вы блокируете рекламу. Подавляющее большинство «просто пишет в блокнотик».
Мне очень понравилась технология исследования - они многократно записывают JS execution trace в хромиуме с и без блокировщика рекламы, а потом по-хитрому сравнивают два трейса.
Кстати, мы в Медузе пока с блокировщиками ничего не делаем. Я сам пользуюсь классным экстеншеном Ka-block для сафари на телефоне и десктопе, но основной рабочий браузер для компа хром и там все по-ванили. Знаете почему? Потому что блокировщики рекламы для хрома частенько ухудшают финальный UX, а не улучшают. Причина - в отсутствии в хроме АПИ, оптимизированного для блокировки рекламы. При этом хром собирается сам начать блокировать рекламу, начиная с февраля 2018. Обратите внимание, редкий случай, когда Эпл делает апи, а Гугл - готовое решение.
http://homepage.divms.uiowa.edu/~mshafiq/files/adblock-ndss2018.pdf
Эпл очень душевно извиняется и объясняет, почему айфоны тормозят, когда батареи стареют: чтобы не выключались внезапно, от недостатка энергии.
Обещают выпустить в начале 2018 апдейт, который покажет статус батареи (сейчас для этого нужны сторонние программы).
И ещё - весь 2018 год замена старых батарей будет стоить всего 29$, вместо обычных 79$.
Молодцы они https://www.apple.com/iphone-battery-and-performance/
Сломанный автоапдейт— страшный сон любого разработчика (на фото Slack 2.8.2)
Аппсторы в этом плане—манна небесная, но они идут в комплекте с жесткой песочницей, вот люди и продолжают пилить велосипеды
Ученый замерил задержку между нажатием на клавишу и появлением символа на экране компьютера. Это супер-важная метрика; чем меньше задержка — тем приятнее работать за компом.
Вы наверное помните исследование Павла Фатина, где сравниваются разные редакторы (он даже опубликовал софт, который написал специально для этого). Кстати, в его статье есть хорошее объяснение, откуда берется latency в компьютерных системах и почему он важен, с точки зрения физиологии и психологии человека.
В этой новой статье ученый Дан Лу пошел по-хардкору и сравнил разные компьютеры, используя высокоскоростную камеру. Выиграл музейный экспонат — Apple IIe, 1983 года выпуска — 30 миллисекунд задержки. Единственный, кто можешь сравниться с победителем — это iPad Pro Pencil (в тачскринах замерялась отзывчивость скролла).
Очень приятное исследование.
https://danluu.com/input-lag/
Моя предъява только к процессу запуска, вот тут https://twitter.com/durov/status/944360557318205440 он сам строит совершенно правильные ожидания «всё что не на официальном сайте — обман», а потом сам же их ломает.
Читать полностью…Я почти уверен, что это просто такой stealth-запуск тестового рефакторинга приложения на Swift, но хоть на официальном сайте-то можно было бы дать ссылку, да?
UPD: спасибо Андрею @sanss3rif что подсказал, официальное приложение под Мак тоже выложено от имени Telegram Messenger LLP. И всё-таки странно, что приходится вот такими вот способами верифицировать.
Журналист TechCrunch забыл пароль к своей личной почте на Gmail. Он пользовался этим ящиком 12 лет. Кроме почты в аккаунте хранились файлы, календари и фотографии. Даже с помощью своих контактов в PR-службе Google (а техкранч — одно из самых важных около-технологических изданий) восстановление доступа заняло у него месяц. Без PR-контактов почта могла быть потеряна навсегда.
Такие истории появляются регулярно. Единственный способ хоть как-то обезопаситься от потери своего почтового адреса и архива переписки — платить за эти сервисы. Быть клиентом, а не продуктом для рекламной машины. Кстати, интересно, что автор статьи платил за дополнительный объём ящика в гугле, но это не даёт никакой дополнительной техподдержки.
Больше года назад мне надоело читать подобные истории с мыслью «когда это коснётся меня». За 60 долларов я купил год сервиса у австралийской Fastmail и ещё ни разу не пожалел. За те же деньги можно купить корпоративный Google Suite for Business. В случае гугла обязательно потребуется домен, он будет стоит ещё 5 долларов в год.
Бесплатных сервисов не бывает, в этом цифровой мир мало отличается от обычного.
https://techcrunch.com/2017/12/22/that-time-i-got-locked-out-of-my-google-account-for-a-month/
У нас есть «традиция»: каждый раз, когда Медуза что-то отмечает, происходит движняк.
Прямо сейчас у нас новогодняя вечеринка в редакции.
Кто-то нашел уязвимость в ВК, которая позволила постить от имени невинных пользователей.
Двухходовочка следующая: чуваки заводят группу, называют её «Медуза» и ставят на аватарку наш логотип.
Дальше делают в фейковой группе пост «Навальный умер» и репостят её от имени популярных сообществ (в том числе официальных сообществ ВК).
ВК быстро пофиксили ошибку, левые посты уже потерты. Зато мы знаем, что сегодня у Навального на ужин пельмени.
С наступающим!