В формате «Согласен / Не согласен» два контуровца разбирают спорные тезисы, которые связаны с их профессиями. В этом выпуске программист из продуктовой команды Илья Стрелец и тимлид из команды безопасников Сергей Автухович говорят о границах допустимого в вопросах безопасности: на что можно забить, делая новые фичи, и как подстраховать себя при использовании фреймворков.
Смотреть выпуск можно на Youtube и в VK.
Тезисы, которые обсудили:
Программисты часто забивают на безопасность
Безопасники необоснованно требовательны
Облачные технологии — зло
Каждый разработчик должен пройти обучение по информационной безопасности
Использовать фреймворки, не заглядывая в их исходный код, это окей
Если всё время думать про безопасность, никаких дедлайнов не хватит
Ниже — текстовая расшифровка выпуска для тех, кому удобнее читать, а не смотреть. Программисты часто забивают на безопасность
Безопасник: Да, но...
Ну, мне хочется верить. Да, программисты часто забивают на безопасность. Но когда у тебя есть условно техлид, фичалид, он не может неё прямо совсем забить. Он не будет выпускать продукт, который потенциально будет опасен. То есть какой-то базовой набор безопасности он всё равно туда предоставит. И, опять же, использование уже отточенных продуктов, которые посмотрели и прогнали через таты, через динамик, анализаторы, тестирование: и тестировщиками, и пен-тестерами.
То есть мы подразумеваем, что программисты живут в этом и об этом помнят. По крайней мере, для тех, кто не помнят, есть всякие шеймы, которые выставляют списки, чтобы было стыдно. Мне хочется так думать.
Программист: Конечно да!
Потому что чаще всего важно сделать фичу прямо сейчас. Делаешь, как получится. На самом деле просто знаешь, что в случае чего безопасники придут за тобой и скажут, что у тебя что-нибудь не так. Всё справедливо.
Мне кажется, если бы безопасников не было, мы бы, скорее всего, просто ничего не делали безопасности особо.
В контексте разговора понятно, что это шутка Надеемся...Безопасники необоснованно требовательны
Безопасник: Нет, но...
Я считаю, что это не так. Действительно, бывают безопасники, которые «Я тут главный, у меня есть бумажка, могу вам всё запретить». Это плохой безопасник в большинстве случаев. В целом, если безопасность не будет идти из головы, если люди не будут понимать, зачем она нужна, для чего такие меры принимаются, то она может быть нарушена. То есть ключевая проблема — человек.
Программист: Нет, но...
Мы как-то всегда спокойно относились к задачам от безопасников. То есть да, они у нас висят в бэклоге, но мы знаем, что они есть. Иногда нам напоминают. Нет такого, что безопасники просто приходят и такие «Вот так мы решили. Теперь нужно так делать». Честно, пока не видел такого.Облачные технологии — зло
Безопасник: Конечно нет!
Облачные технологии — это круто. Тебе не нужно выставлять какие-то сервисы, заботится о поддержке, гарантировано и надёжно хранить данные пользователей и так далее. Всю эту сложную работу берёт на себя тот, кто предоставляет себе облачный сервис. Это если мы говорим о таких классных ребятах, как Контур. А если о том, чтобы внутри Контура использовать чужие облачные сервисы — это безусловное зло. Пользоваться этим ни в коем случае нельзя.
Вы предоставляете свои данные каким-то чувакам, которые непонятно как их хранят, непонятно, что с ними сделают и потом заплатят 50 тысяч и ничего им не будет. У нас был очень большой холивар насчёт того, какие использовать система для второго фактора. Многие хотели использовать те, которые умеют в облачное хранение ключей, и уповали на то, что ключ хранится только у тебя на устройстве, можешь вот таким образом забэкапиться. И в случае чего там перенести на компьютер, куда-то ещё.
Надо понимать, что атаки существуют очень разные, очень сложные. И данные с вашего устройства могут получать не только хакеры.
Программист: Да, но...
Расширенный ответ Ильи почему-то не вошел в выпуск. Штош.Каждый разработчик должен пройти обучение по информационной безопасности
Безопасник: Нет, но...
Каждый разработчик должен исповедовать подход безопасной разработке. Но прямо обучение информационной безопасности звучит как оверкилл. Ты же не будешь обучать каждого человека аналитике, тестированию, каким-то другим вещам. Он должен это уметь, должен это знать. Но профессиональное обучения проходить как будто бы ту мач.
Программист: Да, но...
Профессиональное — да. Но он должен понимать, в каких местах могут появиться какие-то уязвимости, где нужно посмотреть, не утекает ли что-нибудь. В какой-то подозрительной ситуации чтобы он мог остановиться и подумать, нет ли тут чего-то опасного.
Безопасник:
Всё так. У нас для этого целый даже отдел ОБУР (Отдел Безопасности Управления Разработки) появился для того, чтобы собственная безопасность исходила сразу же из кода. То есть при проектировании приложения код задумывался сразу безопасным. И это правильный подход. Использовать фреймворки, не заглядывая в их исходный код, это окей
Безопасник: Нет, но...
Начну со своей «безопасничьей» колокольни. Есть разные факторы. В зависимости от того, что ты делаешь, насколько это критичный момент и что за фреймворк. Условно, если ты втягиваешь с официального гитхаба OpenSSL, то ты почти наверняка будешь защищён. С другой стороны, если ты пытаешься скачать какой-то фреймворк, который кто-то сделал на коленке с непонятным количеством зависимосей и с 1,5 звёздами. Но он тебе подходит и закрывает твою боль здесь и сейчас. То бездумно его использовать, а тем более нести его в сторону продакшена... Не знаю, за такое надо прямо увольнять.
Программист: Нет, но...
... Если кто-то пытается такое сделать, им в моменте популярно объяснят. Это отсекается на ревью или раньше. Если ты кого-нибудь спросишь: «А почему мы это не используем?», то тебе тут же предоставят огромный список поинтов, почему мы это не используем. Чаще всего это даже до вопроса безопасности не доходит.Если всё время думать про безопасность, никаких дедлайнов не хватит
Безопасник: Нет, но...
Ну, смотря кому. Если безопасник не будет всё время думать про безопасность, наверное, делать ему в безопасности нечего
Программист: Да, но...
Если мы будем большую часть времени думать о чём угодно, кроме фич, то мы, скорее всего, будем терять потенциальное огромное количество денег.
Но нельзя же только фичи делать и прямо вот сейчас вот фиксить всё, что сейчас приходит. Потому что, например, инфраструктуру мы тоже должны делать. Иначе это через какое-то время либо где-нибудь выстрелит трудноуловимым багом, либо нам будет сильно сложнее и дороже делать новые фичи. Сложно было бы переходить на какие-то новые технологии. Вот, например, сейчас на .NET где-то было тяжко переходить, потому что-то на легаси.
В текст вошло основное, но не всё. Смотреть выпуск можно на Youtube и в VK.
Источник новости: habr.com