Комментарии 55
Думал, есть только «гламурное кисо», а, оказывается, есть ещё и «банковское CISO»! :)
+3
Давно уже хочу начать развиваться в этом направлении — какие книги посоветуете «с нуля» или около него?
-1
Вот, любопытно стало: «захайдиться», «либы», «несекьюрно» и так далее — это авторский стиль повествования, или же речь «главного безопасника» действительно настолько богата жаргонизмами?
+1
Речь главного безопасника очень живая и веселая. Инженер же, а не унылый пиджак :).
+10
Почему бы на профессиональные темы не разговаривать на профессиональном жаргоне?
+4
Официальная терминология и сленг — не совсем одно и то же. Первым пользуются профессионалы, вторым обычно злоупотребляют те, кто ими хочет казаться. Из личного опыта. Отсюда и удивление.
-2
100% согласны. Мы подозревали, что Кирилл вместо работы танки качает, а чтобы не выгнали за профнепригодность, рассказывает как «захайдится для блека» и «какие либы заюзать, чтобы не попавнили»
+16
Речь не о сомнениях в профессионализме интервьюируемого (их нет) а о несоответствии действительности ожиданиям. Не стоит ударяться в крайности.
0
А какие ожидания-то были? По-вашему, в корпсеке только роботы, которые общаются языком статей из журнала «Информационная безопасность»?
Осознавая растущую зависимость от автоматизированных систем, бизнес также готов все больше заботиться об обеспечении информационной безопасности. Причем путь создания системы ИБ зависит от ситуации в данной конкретной организации – от имевших место инцидентов, убеждений конкретных сотрудников – и зачастую формируется «снизу», от отдельных подсистем ИБ к общей картине. В результате создается многоступенчатая единственная в своем роде система, состоящая из различных продуктов и сервисных работ, сложная, как правило, уникальная у каждой компании.
+8
Не впадайте в крайности, GeMir совершенно резонно заметил слишком много жаргонизмов и ка́лек. Для всего этого есть красивые русские слова. Если человек так часто употребляет сленг, или, что хуже, называет себя хакером, я по умолчанию отношусь к нему скептически.
К слову, я и к журналу вашему до сих пор не привык, как-то сразу отдает несерьезностью обращения на «ты».
К слову, я и к журналу вашему до сих пор не привык, как-то сразу отдает несерьезностью обращения на «ты».
+3
Действительно: «Блек не будет скилляться ради фана», — какая-то фубля
+4
НЛО прилетело и опубликовало эту надпись здесь
Это то самое Qiwi, из которого я два месяца не мог деньги вывести, потому что SMS не приходило на телефон, а служба поддержки упорно делала вид что не замечает меня?
+9
Очень круто! Читаю и внутри смешанные чевства говорящие о том, что стоит выключить South Park и пойти позадротить хоть что-то до должного уровня владения. Короче респект Кириллу, материал очень мотивирует.
+6
После прочтения поста создается впечатление, что ты не нормальный разработчик, а только что закончил второй класс школы. Возможно, сленг добавляет завесу тайны в термины, но читалось на одном дыхании как журнал хакер лет 10 назад :)
+4
Главная концепция безопасности в том, что мы считаем любой user input вредоносным априори. А девелопер не считает.
Мне кажется это очевидная для каждого девелопера мысль, что любые данные заведомо опасные и их нужно чистить, по крайней мере для веба — точно.
+3
Понимают все, следовать сложно :)
Когда у тебя небольшой проект, одна точка входа и глобальный парсер инпута, несложно написать регулярки на вход. Но со временем появляются костыли, быстрофиксы, новые параметры, и где-то все равно появляется нефильтрованный ввод.
Это, конечно, к организации кода вопрос, но в жизни часто бывает как-то так :).
Когда у тебя небольшой проект, одна точка входа и глобальный парсер инпута, несложно написать регулярки на вход. Но со временем появляются костыли, быстрофиксы, новые параметры, и где-то все равно появляется нефильтрованный ввод.
Это, конечно, к организации кода вопрос, но в жизни часто бывает как-то так :).
+1
Дело не в размерах проекта, а в голове разработчика, получил данные — проверь, вставляешь в базу — очисти, это уже на уровне рефлексов должно быть. В идеале конечно же.
Просто было странно читать такое про девелоперов от «главного безопасника QIWI», надеюсь он это не про нынешних своих коллег.
Просто было странно читать такое про девелоперов от «главного безопасника QIWI», надеюсь он это не про нынешних своих коллег.
0
НЛО прилетело и опубликовало эту надпись здесь
Я не только про кавычку, ваш пример это проблема принимающего сервиса, который так же должен проверять все входные данные. Это не так сложно, как вы пытаетесь преподнести. А про компоненты системы — если разработчик не знает откуда пришёл запрос, то тем более нужно их проверять и чистить, если вы с ними работаете, а не просто передаёте данные. Проблему всегда можно избежать на «последней миле», просто очистив данные.
-1
Сложно определить пользователя. Те же переменные окружения можно считать пользовательским вводом, а можно не считать. Хорошие приложения считают что они запустились на военной базе врага, где вызов системного метода — тоже пользовательский ввод.
+2
Ну, не сгущайте краски. Эдак мы и до доверенной среды исполнения, загрузчика и аппаратных закладок в процессорах дойдем :).
Самый простой способ засекьюрить инпут в типовом проекте (QIWI — не типовой проект!) — просто централизовать ввод, и прямо на уровне middleware проверять инпут по базе регулярок. Чуть что — бросать 400 код, и привет. Так, чтобы до типа-контроллера не долетало. Это если у нас есть какое-то подобие MVC и фреймворка, но без них тоже написать несложно)
Вот эти телодвижения выше круто работают, когда у тебя есть время и возможность делать хотя бы базовую секурити. А когда «надо срочно добавить поле «Описание» на сайт и еще там в корзине верстка разъезжается», вот тут не работает. Задача сделать быстро и чтобы работало. У типового программиста элементарно нет времени (и привычки!) думать о каком-то инпуте. Разве что, фреймворк подумает.
Я не говорю, что это нормальный и правильный подход, я говорю, что в небольших проектах так бывает. А небольшой проект !== нет денег.
Самый простой способ засекьюрить инпут в типовом проекте (QIWI — не типовой проект!) — просто централизовать ввод, и прямо на уровне middleware проверять инпут по базе регулярок. Чуть что — бросать 400 код, и привет. Так, чтобы до типа-контроллера не долетало. Это если у нас есть какое-то подобие MVC и фреймворка, но без них тоже написать несложно)
Вот эти телодвижения выше круто работают, когда у тебя есть время и возможность делать хотя бы базовую секурити. А когда «надо срочно добавить поле «Описание» на сайт и еще там в корзине верстка разъезжается», вот тут не работает. Задача сделать быстро и чтобы работало. У типового программиста элементарно нет времени (и привычки!) думать о каком-то инпуте. Разве что, фреймворк подумает.
Я не говорю, что это нормальный и правильный подход, я говорю, что в небольших проектах так бывает. А небольшой проект !== нет денег.
+1
Централизовать ввод не всегда возможно — особенно когда у системы с десяток разных интерфейсов/протоколов. Типичный случай — шаблоны читали из файла, стало несколько машин — перенесли в базу, потом сделали микросервис, сейчас переезжаем на платформу у которой такой сервис «из коробки», но с несколько другим АПИ.
0
Пишите/используйте абстракции (желательно готовые). Абстракции просто не дадут непроверенному варианту записаться в базу, валидации не пройдут.
0
Если вы про ORM, то я писал об этом выше; но и речь не только о базе. Вредоносный инпут может совсем не относиться к БД, и соответственно проходить мимо слоя валидации ORM. В этом случае ответственность за фильтрацию лежит на разработчике.
0
«Чистить», «фильтрация» — это все термины, не имеющие ничего общего с безопасностью.
В качестве примера можно противопоставить «чистить данные перед отправкой в sql» (не работает) и «использовать параметризованные запросы» (работает). Дальше, я надеюсь, уже нагуглятся подробности, ну и плюс по остальным темам. Азы как бы.
Чисто по-человечески — рекомендую слова «чистить» и «фильтрация» не употреблять.
В качестве примера можно противопоставить «чистить данные перед отправкой в sql» (не работает) и «использовать параметризованные запросы» (работает). Дальше, я надеюсь, уже нагуглятся подробности, ну и плюс по остальным темам. Азы как бы.
Чисто по-человечески — рекомендую слова «чистить» и «фильтрация» не употреблять.
+1
Я лично знаю программистов, для которых и git — неподъёмная тяжесть для мозгов, и эту статью читать они не будут вообще. Потому что зачем?
И при этом они пишут сайты на php. Да.
И при этом они пишут сайты на php. Да.
+1
Ну фииииг знает… QIWI то дырявое — предырявое, а платить за репорты не хочет-с, абсолютно на все — *Нам уже известно* или вообще не отвечают
0
Дырявое? Not really.
*Нам уже известно* --> В этот момент обычно добавляют в вотчеры к первичному репорту.
Кидай тикеты в личку, посмотрю что там такое.
Или телеграм — @isox_xx
*Нам уже известно* --> В этот момент обычно добавляют в вотчеры к первичному репорту.
Кидай тикеты в личку, посмотрю что там такое.
Или телеграм — @isox_xx
+4
https://hackerone.com/qiwi ---> Там внизу есть лог. Все, что rewarded = мы заплатили денег. Все, что resolved = мы пофиксили багу.
+5
BB от QIWI платит исправно, но большинство багов фиксятся очень долго, поэтому им обо всём уже известно. Вознаграждения нормальные, заморочится можно, но есть более интересные варианты :)
0
Отличный текст и мотивация для молодых специалистов. В QiWi одна из сильнейших ИБ-команд в РФ.
+5
Отличная статья, спасибо! Вы кстати когда на сайте Хакера форум вернете? B CMS-ка у вас какая-то на редкость тормозная…
0
Рады стараться!)
По форуму: как только так и сразу, после нового сайта. Мы выкатимся сразу с новым движком и дизом. Сейчас допиливаем верстку и тюним кеши. Текущая CMS — это тихий ужас, полностью согласен, но, увы, были причины сделать так в свое время. Все понимаем, и работаем в этом направлении. Ждать осталось совсем недолго)
По форуму: как только так и сразу, после нового сайта. Мы выкатимся сразу с новым движком и дизом. Сейчас допиливаем верстку и тюним кеши. Текущая CMS — это тихий ужас, полностью согласен, но, увы, были причины сделать так в свое время. Все понимаем, и работаем в этом направлении. Ждать осталось совсем недолго)
+1
журнал Хакер листал лет 15 там так и писалось все для кулхацкеров-падонкафф — «закодить на дельфях» или «perlовая каша» — как сейчас помню, тогда было прикольно. Думал на хабре они будут ориентироваться на более серьезную (взрослую и тд) аудиторию и как то этот сленг модифицируют, даже если так выражается «главный безопасник»
-2
Поглядите другие статьи из нашего блога на Хабре. Сами убедитесь: мы можем быть очень унылыми и нудными, что, несомненно, говорит о серьезности и взрослости :)
А если без шуток, все от материала зависит. Это интервью с веселым и «живым» человеком, делать из его речи нудятину было бы просто кощунственно, поэтому постарались передать.
А если без шуток, все от материала зависит. Это интервью с веселым и «живым» человеком, делать из его речи нудятину было бы просто кощунственно, поэтому постарались передать.
+3
> Возьми хотя бы VPN. Ты работаешь, павнишь что-то. VPN моргнул на секундочку — и этого хватило. Всего один пакет, и отсветился твой реальный IP.
Откройте для себя уже netns. Вешать роуты триггером на VPN — последнее дело.
Откройте для себя уже netns. Вешать роуты триггером на VPN — последнее дело.
-1
Ага, откройте и потом закройте, ибо в подсистеме netfilter в ядре Linux нашли уязвимость как раз затрагивающую user namespaces и network namespaces, сборка ядра с CONFIG_USER_NS=y и CONFIG_NET_NS=y. Пруф http://www.opennet.ru/opennews/art.shtml?num=44669
0
> Вайты всегда скилловее блеков
В техническом плане — возможно, в остальном — не факт.
У «блеков» и «вайтов» изначально разные цели. И скилы у них немного различаются. У «блека» главная цель — денежная прибыль. И тут задействуются не столько технические знания, сколько хитрость, умение обманывать, социальная инженерия вообщем. Умение рубить бабло и есть основной скилл «блеков». Остальное их не волнует.
«вайты» могут иметь больше технических знаний, так как, работают за саму идею ИБ и как следствие питают бОльший интерес к изучению программного обеспечения, поиска уязвимостей, реверсинге.
Коротко говоря, у одних цель — деньги, у других — изучение программного обеспечения и его защита. Совершенно разные цели. Как следствие — разные деньги.
Это если сравнивать среднестатического блека и вайта. А так думаю с обоих сторон есть люди, для которых их дело — это работа, хобби, да и вообще смысл жизни. И они наиболее развиты в своем любимом деле.
имхо.
В техническом плане — возможно, в остальном — не факт.
У «блеков» и «вайтов» изначально разные цели. И скилы у них немного различаются. У «блека» главная цель — денежная прибыль. И тут задействуются не столько технические знания, сколько хитрость, умение обманывать, социальная инженерия вообщем. Умение рубить бабло и есть основной скилл «блеков». Остальное их не волнует.
«вайты» могут иметь больше технических знаний, так как, работают за саму идею ИБ и как следствие питают бОльший интерес к изучению программного обеспечения, поиска уязвимостей, реверсинге.
Коротко говоря, у одних цель — деньги, у других — изучение программного обеспечения и его защита. Совершенно разные цели. Как следствие — разные деньги.
Это если сравнивать среднестатического блека и вайта. А так думаю с обоих сторон есть люди, для которых их дело — это работа, хобби, да и вообще смысл жизни. И они наиболее развиты в своем любимом деле.
имхо.
+3
>Надеяться, что тебя не найдут, — это последнее дело. Любую твою активность, даже хорошо закамуфлированную, можно посчитать. Вопрос в >стоимости поисков по сравнению с тем, сколько блек пытается спереть. Это же простая математика: если ты украл 10 000 000 долларов, то эти >люди будут готовы потратить как минимум 9 999 999 долларов, чтобы тебя найти, и все еще останутся в условном плюсе.
Да уж условный плюс, предположим, что хакера поймали, а 10млн $ не нашли, а на поиски потратили 9 999 999 $, итого совокупный убыток
19 999 999 $ и где тут ТС увидел условный плюс непонятно, больше смахивает на что-то, из серии что больше весит килограмм металла или килограмм ваты? :)
Да уж условный плюс, предположим, что хакера поймали, а 10млн $ не нашли, а на поиски потратили 9 999 999 $, итого совокупный убыток
19 999 999 $ и где тут ТС увидел условный плюс непонятно, больше смахивает на что-то, из серии что больше весит килограмм металла или килограмм ваты? :)
+1
Фотографии с потрошением «тумбочек» (тесты на вандалоустойчивость?) для прикола или действительно в обязанности Кирилла входит какая-то физическая работа с ними, помимо софтверной?
К счастью есть whoishistory.ru, который подтвердил догадку, что у домена просто новый хозяин
Вот, например, d0znpp. У него недавно было время, он пошел и поломал чайник. Он теперь у нас главный хакер по взлому чайников, холодильников и другого IoT.Пошёл в хабраюзерский профиль в надежде, что встречу какую-нибудь блогозапись с подробностями об этом. Не нашёл. Зато выпал в осадок от увиденного женского срача на oxod.ru
К счастью есть whoishistory.ru, который подтвердил догадку, что у домена просто новый хозяин
0
Я так понимаю Vulners — это как аггрегатор новостей, но про уязвимости? Когда вижу вот такую портянку, криво спарсенную с legalhackers.com, понимаю что так — https://vulners.com/seebug/SSV-92405
0
Чуть сложнее. Исходник вот тут — https://www.seebug.org/vuldb/ssvid-92405
Там оригинальный контент часто на китайском, поэтому парсер сходит с ума :(
legalhackers.com пока не парсятся, увы.
Смысл vulners в том, что бы структурировать в машиночитаемый вид то, что изначально таким не было.
Вот например патч уязвимости: https://vulners.com/centos/CESA-2016:2850
Вот так он выглядел до сборки:
http://lists.centos.org/pipermail/centos-announce/2016-December/022169.html
http://lists.centos.org/pipermail/centos-announce/2016-December/022170.html
http://lists.centos.org/pipermail/centos-cr-announce/2016-December/003714.html
А вот так он выглядит в JSON: https://vulners.com/api/v3/search/id/?id=CESA-2016:2850
Там оригинальный контент часто на китайском, поэтому парсер сходит с ума :(
legalhackers.com пока не парсятся, увы.
Смысл vulners в том, что бы структурировать в машиночитаемый вид то, что изначально таким не было.
Вот например патч уязвимости: https://vulners.com/centos/CESA-2016:2850
Вот так он выглядел до сборки:
http://lists.centos.org/pipermail/centos-announce/2016-December/022169.html
http://lists.centos.org/pipermail/centos-announce/2016-December/022170.html
http://lists.centos.org/pipermail/centos-cr-announce/2016-December/003714.html
А вот так он выглядит в JSON: https://vulners.com/api/v3/search/id/?id=CESA-2016:2850
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Кирилл «isox» Ермаков, главный безопасник QIWI, рассказывает о своей работе, о блеке, об анонимности и о взрослой ИБ