безопасность

Гугл раздает на конференции аппаратные ключи безопасности.

Эти ключи очень хорошо защищают от фишинга, с ними невозможно ввести 2-fa код безопасности в паленый сайт — и это 90% угроз даже для журналистов.

Единственный минус — аппаратные ключи немного опаснее в случае мощной таргетированной атаки. Представьте, сначала крадут пароль, а потом ключ и получают неограниченный доступ к аккаунту. У одноразовых кодов в телефоне остается ещё пинкод-защита телефона, а в случае аппаратного ключа это game over.

https://landing.google.com/advancedprotection/

У Залины и её медиа-компании вчера увели телеграм-аккаунты, доступ к админке сайта и рабочий дропбокс. Это, конечно, ужасное событие для издания и журналиста.

Я бы провел аналогию с медицинской тематикой.

90% здоровья — гигиена. Правильно питаться (не много и в основном овощами), заниматься хоть чуть-чуть физической нагрузкой, достаточно спать, не стрессовать. Круто поговорить об этом с врачом/тренером, который составит вам план.

Если же у вас перелом — то не стоит лечить его самому, лучше найти специалиста.

В информационной безопасности ровно тоже самое.

Во первых, нужно соблюдать базовую гигиену: везде разные и сложные пароли, которые хранятся в менеджере паролей (я люблю 1password) и 2-факторная аутентификация, компьютер и телефон без вирусов (с айфонами-айпдами проще всего, но свежепереустановленный макбук тоже ок), курс молодого бойца интернета вида «сайт может сделать вид что он не сайт, а системный диалог».

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

Не знаете к кому обратиться? Вот мощный образовательный сайт по личной информационной безопасности от EFF. Там рассказано буквально обо всём. За качество официального русского перевода ручаться не буду, но он точно лучше, чем несистемные советы из статей в медиа.

А теперь залезу на табуретку. Если вы современное медиа, то у вас должен быть технический директор. Информационная безопасность медиа в целом и всех сотрудников в отдельности, лекции и мастер-классы по ИБ для журналистов, аудиты безопасности, сопровождающиеся попытками взлома от «дружественных хакеров» и многое другое — ответственность технического директора; но это уже тема для совсем другого поста.

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

Последняя новость на сегодня (и важная): Трой Хант (один из самых крутых безопасников) запустил вторую версию сервиса Have I Been Pwned (англ. поимели ли меня).

В новой версии используются уже полмиллиарда утекших в паблик адресов и паролей.

Вот мой старый адрес gsamat@gmail.com засветился в утечках из 11 сервисов, среди них Adobe.com, Dropbox, Kickstarter и Last.fm. Проверьте свои адреса, это очень увлекательно.

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

Воскресная подборка, если хочется почитать:
- восстановление того, что видит человек, по fMRI! (pdf). Довольно огненно, это как если бы шуму вентилятора процессора можно было понять, что на этом процессоре считается (oh wait);
- ещё один side channel attack (в шумихе с процессорами был именно этот тип атаки) — можно понять, что за тобой следит дрон, даже не взламывая шифрование канала связи дрона (по объему передаваемых данных);
- Apple обновил документ по безопасности iOS — канонический пример того, как хорошо рассказать о технологиях;
- очень красивые фотки с завода карандашей (production porn);
- серия из трех видео про мозги, в которых девушка-математик походя объясняет, что такое симплекс;
- безопасники убера заплатил хакеру 100k USD, чтобы тот не говорил об уязвимости, через которую можно было вытащить все личные данные (и никому об этом не сказали). CSO уволили, у всех бомбит.

Написал утром пост про очередную историю [1] [2], как разработчики удалили свои библиотеки в NPM и другие чуваки смогли загрузить другой код вместо легитимных библиотек. Вы посмотрите, какие эмоции испытывали разработчики.

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

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

Но это всё происходит раз в месяц и уже набило оскомину.

Вчера ночью сняли эмбарго с информации об уязвимостях процессоров.

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

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

Самих дыр не достаточно - нужно сочетание многих условий для того, чтобы извлечь из неё какую-либо «выгоду». Думаю, многие «исследователи» в кавычках и без занимаются этим вопросом прямо сейчас. Будет ли идти речь о таргетированных атаках, когда отсифонят секретные данные конкретной жертвы и используют их для дальнейших этапов атаки или о каких-то «массовых изъятиях денег у населения» - пока говорить рано. Поживём-увидим. (Я бы назвал эти уязвимости 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 мы увидим ещё много обновлений самых разных программ. Применение патчей безопасности не должно требовать вмешательства пользователя, а Карфаген должен быть разрушен.

Во всех современных процессорах 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 заиграла новыми красками.

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

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

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

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

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

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

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

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

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

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

OpenSSL - один из самых важных IT-проектов, на нем держится практически все шифрование. После недавних адских ошибок безопасности они улучшили ситуацию с разработкой, но вот с документацией и UX ситуация все ещё аховая.

Хорошая порка: https://jameshfisher.com/2017/12/02/the-sorry-state-of-openssl-usability.html

Google Prompt — очень хорошая штука для 2-факторной авторизации в гугл, гораздо человечнее всех этих totp-based решений, рекомендую https://gsuiteupdates.googleblog.com/2017/10/making-google-prompt-primary-choice-for-2sv.html

А если у вас не включена 2-факторная авторизация — самое время её включить.