Информационная безопасность — это важно; впрочем, это знание мало кому помогает. Количество соединенных general-purpose компьютеров (==сложность) растёт каждый день, происходят очень реальные инциденты от Heart или Cloudbleed до Stuxnet или проблем с бортовым компьютером Toyota (когда машина не останавливается), и ситуация не становится лучше сама по себе. Становится хуже, потому что "интернет вещей" — это стартапы, делающие физическую инфраструктуру типа лампочек или дверных замков (разработчики SCADA плачут кровавыми слезами). Потому что огромное количество кода пишется на memory-unsafe языках. Потому что образование разработчиков — это, как правило, либо про фичи (проекты / этожпрототип), либо про фундаментальные алгоритмы (что не помогает пониманию того, что система работает не в вакууме).
Кажется, что основных корней проблемы два: это небезопасный инструментарий — например, ЯП (C/C++) и библиотеки (OpenSSL), и люди. Люди забывают про ИБ, думают "выпустим что-нибудь, а потом разберёмся", не понимают tradeoff'ы своих инструментов (то, что "C — это быстро", знают все, а вот про memory unsafety и масштаб UB — немногие), etc. Первая проблема сейчас решается сообществом: разрабатываются безопасные языки типа Rust и простые, понятные библиотеки типа TweetNaCl. Остаётся вторая (ведь хорошим инструментам надо ещё научить, как и соответствующему
Поэтому мы проводим митап по информационной безопасности 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 в ЛС.)
Автор: wldhx