GoTo MeetUp: Security by Default

0
10

Информационная безопасность — это важно; впрочем, это знание мало кому помогает. Количество соединенных general-purpose компьютеров (==сложность) растёт каждый день, происходят очень реальные инциденты от Heart или Cloudbleed до Stuxnet или проблем с бортовым компьютером Toyota (когда машина не останавливается), и ситуация не становится лучше сама по себе. Становится хуже, потому что "интернет вещей" — это стартапы, делающие физическую инфраструктуру типа лампочек или дверных замков (разработчики SCADA плачут кровавыми слезами). Потому что огромное количество кода пишется на memory-unsafe языках. Потому что образование разработчиков — это, как правило, либо про фичи (проекты / этожпрототип), либо про фундаментальные алгоритмы (что не помогает пониманию того, что система работает не в вакууме).

Кажется, что основных корней проблемы два: это небезопасный инструментарий — например, ЯП (C/C++) и библиотеки (OpenSSL), и люди. Люди забывают про ИБ, думают "выпустим что-нибудь, а потом разберёмся", не понимают tradeoff’ы своих инструментов (то, что "C — это быстро", знают все, а вот про memory unsafety и масштаб UB — немногие), etc. Первая проблема сейчас решается сообществом: разрабатываются безопасные языки типа Rust и простые, понятные библиотеки типа TweetNaCl. Остаётся вторая (ведь хорошим инструментам надо ещё научить, как и соответствующему мышлению).

Поэтому мы проводим митап по информационной безопасности Security by Default.

Что значит Security by Default

Мы говорим "SbD" вместо "ИБ" потому что последнее часто ассоциируется с (1) злыми безопасниками, которые, кажется, существуют только для того, чтобы портить жизнь обычному разработчику и (2) с CTF-ами и культурой хацкинга.

Мы же говорим скорее про безопасность по умолчанию: как инструментов (машина, которая может сама затормозить перед неминуемым столкновением, включенный после установки ОС firewall, язык с memory safety), так и в мышлении людей (задумываться про не пост-фактум).

Мы разбили программу митапа на несколько блоков:
(также смотрите идеи для докладов в конце)

  • Индустрия: здесь бывалые эксперты из больших компаний расскажут о своём опыте факапов (и обозрят индустрию), и о том, как корпорации наводят безопасность в своих проектах. Также мы обсудим инструментарий, делающий разработку (более) безопасной: от фаззинга до сильных систем типов.
    Примеры тем обсуждения:

    • Stuxnet, вредонос, уничтоживший 20% ядерных центрифуг Ирана через SCADA
    • Компрометация всей базы данных (ФИО, фотографии, финансовые данные, etc.) Ashley Madison, дейтинг-сайта для замужних мужчин
    • Remote Code Execution на Pornhub
    • Фаззинг dnsmasq с нахождением полезного stack overflow
    • Как работает "fearless concurrency" Rust на практике
    • Как правильно готовить криптографию
    • Проектирование безопасных интерфейсов: от браузера до мессенджера
  • Личная безопасность: поговорим, как контролировать свои данные (Digital Fingerprint), обсудим правовой вопрос (как засудить за abuse) и вопрос "я осознал проблему, что делать?".
    Примеры тем обсуждения:

    • Как неполная реализация e2e-шифрования Whatsapp делает его бесполезным
    • IoT-гаражный замок блокируется после плохого отзыва его владельца на форуме производителя
    • Каким образом CCC умеет изготавливать отпечатки пальцев по фотографии
    • Есть ли надежда для десктопной безопасности?
    • Что не так с Telegram?
  • Безопасность в маленьких проектах: разберём кейсы участников и послушаем опытных стартаподелов. Обсудим простые стратегии уменьшения рисков.

Митап пройдёт 23 апреля с 16:00 до 20:00 в Точке Кипения. Приходите. Будет безопасно (для входа нужен паспорт).

Также мы приветствуем доклады в формате Lightning Talk и длиннее. Кроме того, будем рады обсудить планируемые этим летом в рамках выездных школ курсы со всеми желающими.

Идеи для докладов

(Если вы хотите прийти с докладом — напишите на school@goto.msk.ru или wldhx в ЛС.)

Пользователь

  • Проблемы с проектированием интерфейсов
    • Dark patterns
    • Green HTTPS lock
    • Therac-25
    • Lufthansa 2904

Архитектор

Криптография / trust

  • Identity. Что является корнем доверия и источником личности пользователя?
    • Децентрализация identity. Lessons learned from PKI и WOT. Keybase. Что дальше?

Опасные практики обработки данных (приватность, этика)

  • Alexa / Ok Google / Siri
  • Хранение паролей / токенов и т.д.
  • Использование большего количества данных, чем нужно

Доступность, отказоустойчивость (Централизация)

  • Отсутствие бэкапов
  • "Облако не падает"
  • Умер S3 — умерло полинтернета
  • Cloudbleed (и вообще "Cloud TLS")

Безответственная инженерия

  • Попытки решить проблему абстракций новыми абстракциями (feature creep обратная совместимость время, потраченное на не-фичи потрачено впустую)
  • Гиперобратная совместимость (MS, Java, OpenSSL, TLS)
  • … и несовместимость (Linux ABI)
  • X11: глобальный input

Сетевая безопасность

  • IoT (tesla powerwall, термостаты, экскаваторы, тракторы) — управляется через облако
  • Gapps — это руткит с удалённым управлением, привязанный к личности
  • Baseband

Физическая компрометация

  • BadUSB
  • ThunderStrike
  • EvilMaid
  • realtek encryption keys
  • Intel ME

Разработчик

Кривые алгоритмы + опасные практики кодинга

  • Небезопасные языки программирования (без memory safety + sane defaults (immutability…))
  • Отсутствие разумного тестирования и ревью кода
  • "Вроде как работает"
  • Сложные интерфейсы для разработчиков (OpenSSL) — источник ошибок
    • Heartbleed, Shellshock
    • Языки с UB (C, C++)
  • Менеджмент, требующий фичей за счёт всего остального: фичи > * / move fast, break things
    • Взрывчатость Galaxy Note 7
    • Perverse incentives / экономический смысл: проще релизить новый нескучный продукт каждые %d, чем инжинирить хороший-годный

Для потенциальных менторов

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

Просто напишите в форме регистрации "хочу быть ментором", и мы спишемся с вами. (Ещё можно написать на school@goto.msk.ru или wldhx в ЛС.)

Источник