пятница, 5 июля 2013 г.

Материалы вебинара "Как разработать защищенное веб-приложение и не сойти при этом с ума"

Слайды: http://www.slideshare.net/kochetkov.vladimir/hdswasm-webinar. Оба видеоролика, демонстрировавшихся в ходе вебинара встроены в слайды. Отдельно их можно посмотреть на Youtube:

Ролик с демонстрацией вычислений на машине Тьюринга: http://youtu.be/D8YWJ9Do-90
Ролик с демонстрацией продвинутой атаки XSS на SCADA: http://youtu.be/xRKNMn4-DUM

Кроме того, доступна также запись всего вебинара на:

Comdi (только онлайн-просмотр): http://my.comdi.com/record/140584/
Vimeo (есть возможность загруки): https://vimeo.com/ptsecurity/review/69868072/e66878b6b7

вторник, 28 мая 2013 г.

Слайды и видео моего выступления на PHDays-III

Слайды, русская версия: http://www.slideshare.net/kochetkov.vladimir/hdswasm-russianproofreaded
Слайды, английская версия: comming soon :)

Видео: http://www.youtube.com/watch?v=U2FRjaU0Lm8. К сожалению, по ссылке наглядный пример того, что нельзя практически не спать около трех суток, а потом просто так взять и провести воркшоп =/ Количество фейлов, заминок и проблем с речью зашкаливает, а в конце из-за технической задержки в начале, не успел рассказать про SDL в конце. Поэтому в планах работа над ошибками и повторное проведение воркшопа в формате вебинара или вебкаста, где-то ближе к концу лета.

вторник, 30 апреля 2013 г.

Статистика и ИБ

Начну с разсказа воистину былинной истории, которую никогда не задолбусь рассказывать, когда речь заходит о статистике. Итак...

Был у "одного сотового оператора" (с) филиал, в какой-то совсем дремучей глубинке, в котором продажи 3G-модемов шли из рук вон плохо. Всем было понятно, что модемы не пользовались популярностью у местного населения исключительно из-за весьма недешевых тарифов на мобильный интернет с одной стороны и слабого покрытия 3G в том городе, с другой. Однако с этим были в корне несогласны два топ-менеджера той же компании, члены совета директоров, утверждавшие, что грамотный маркетинг творит чудеса и что это "просто в том филиале модемы продавать не умеют". Слово за слово, и эти два директора приняли решение десантироваться в тот офис продаж и показать мастер-класс по продаже модемов, проведя один день в роли рядовых продавцов. Провели. Натурально, вышли на улицы и провели машстабную промо-акцию, в результате которой продажи филиала были удвоены. Об их ошеломительном успехе сначала написали во внутрикорпоративной рассылке, потом на интранет-сайте, потом во внутрикорпоративной газете. Заголовок на тему "двое топ-менеджеров удвоили продажи филиала всего за один день, выступив в роли рядовых продавцов" еще долго муссировался HR компании с того или иного боку. По всей компании, на каждом митинге, этих директоров ставили в пример остальным сотрудникам на тему "вот как надо работать!".

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

На заборах стройплощадок нашего города можно встретить замечательную социальную рекламу, доступно иллюстрирующую чудеса статистической мысли. Больше всего, мне нравится плакат: "К 2014 году, обеспеченность ростовчан жильем составит 56 квадратных метров на человека". Отличный пример грамотной работы с целевыми аудиториями. Ибо бомжи считают это обещанием получить неплохую однокомнатную квартиру буквально через год, а представители более обеспеченных классов успокаиваются тем, что на каждые следующие 56 квадратных метров их хором в городе будет приходится всего по одному бездомному. И, хотя последних это вряд ли сильно волнует, но по-любому все счастливы, че. Второй плакат (обычно висит рядом с первым) пророчит, что "к 2017 году, в Ростове-на-Дону не останется аварийного жилья". Отличный прогноз, воспринимаемый среднестатистическим обывателем на фоне предыдущего, как "к 2017 году, каждый собственник аварийного жилья будет обеспечен 56 квадратными метрами в новых постройках". Про то, что на фоне количества аварийного жилья в городе и темпов застройки, плакат скорее значит: "к 2017 году, в Ростове-на-Дону, наконец рухнет нахер последний аварийный дом вместе со всеми этими лузерами внутри" народ не особо задумывается, судя по всему.

Это - односторонняя функция, легко рассчитываемый по входу выход и невозможность определить по выходу вход. И в этом, как раз и заключается опасность статистики, используемой в качестве аргументации какого-либо тезиса с целью подменить или скрыть причины для доказываемого следствия. Особенно в ИБ, где требования к достоверности информации, на основе которой принимаются решения в рамках этой предметной области, зачастую не ниже, чем к конфиденциальности, целостности и доступности. PHP-приложения чаще прочих подвержены уязвимостям не потому что язык, на котором они написаны, является говном. Язык со слабой динамической типизацией, такой стандартной библиотекой и сомнительными дизайнерскими решениями - являлся бы говном даже в том случае, если бы на выходе у его сторонников были исключительно защищенные веб-приложения. Настоящая же причина заключается в том, что в силу своей простоты и примитивности, он всего лишь позволяет быстро разрабатывать веб-приложения даже неквалифицированным разработчикам. Читай: дешевой рабсиле, позволяющей сократить издержки на разработке. Тем не менее, этот аргумент против PHP можно достаточно часто встретить во всевозможных холиварах и внутрикорпоративных обсуждениях на тему выбора языка для очередного продукта.

Или вот другой пример. В операционной системе A (или браузере, или почтовом клиенте - не суть) за последний год, по данным Secunia, было зафиксировано N уязвимостей. А в его конкуренте B - всего лишь M=N/2 за тот же период. О чем это может говорить здравомыслящему человеку? Да вообщем ни о чем. Может в B просто нет квалифицированного персонала, умеющего искать уязвимости. Или напротив, в A были привлечено какое-то количество экспертов, исключительно на эту задачу (тем же краудсорсингом, например). Или еще 100500 других вариантов того, чем могли быть обусловлены подобные цифры. Но тогда почему, с пугающей регулярностью, эта статистика приводится сторонниками продукта B, как его преимущество? Ведь, если следовать их же логике, то чем больше уязвимостей устранено в продукте, тем он защищеннее? Получается, что A за прошедший год стал защищеннее B аж в 2 раза, почти тем же путем, которым удвоились продажи 3G модемов. Единственным существенным показателем в данном случае, является количество еще _не выявленных_ в продукте уязвимостей, что как раз и скрывается подобной "статистикой". Как и тот факт, что рассчитать этот показатель не представляется возможным, т.е. что вся их статистика суть - ни о чем, ч.т.д.

Именно поэтому, когда на каком-либо докладе появляется статистика, явным образом скрывающая собой причины утверждаемого докладчиком следствия, я просто встаю и ухожу, дабы ненароком не налипнуть на спор с докладчиком о таких очевидных вещах. А в сетевых дискуссиях буду теперь просто давать ссылку на этот пост. Чего и вам желаю)

P.S: Все события в посте - вымысел, любые их совпадения с событиями, происходившими в "одном сотовом операторе" (с) считать случайными, равно как и внезапное существование реального города "Ростов-на-Дону" с такими же плакатами, и появление в комментах представителей A и B, несогласных с высказанной точкой зрения.

понедельник, 29 апреля 2013 г.

Валидация запросов ASP.NET: от <?i[a-z!/\?]|&# до XSS Type-1 WAF


(*Запоздалый кросс-пост с Хабра)
"Возможность валидации запросов в ASP.NET спроектирована для выполнения базового контроля входных данных. Она не предназначена для принятия решений, касающихся защищенности разрабатываемых веб-приложений. Только сами разработчики могут определить, какой контент должен обрабатывать их код. Microsoft рекомендует выполнять проверку всех входных данных, получаемых из любых источников. Мы стремимся способствовать разработке защищенных приложений нашими клиентами, и функционал валидации запросов был спроектирован и внедрен для того, чтобы помочь разработчикам в этом направлении. Для получения дополнительной информации о наших рекомендациях по разработке, читайте статью MSDN: http://msdn.microsoft.com/en-us/library/ff649487.aspx#pagguidelines0001_inputdatavalidation".
Официальный статус ASP.NET Request Validation по версии Microsoft Security Response Center

Несмотря на столь внезапный ответ MSRC на недавний отчет исследовательского центра Quotium об обнаружении очередного способа обхода валидации запросов в ASP.NET, стоит заметить, что она все же предназначена именно для принятия решений, касающихся защищенности веб-приложения. В пользу этого говорит и название класса, реализующего основной набор проверок (System.Web.CrossSiteScriptingValidation) и сама его суть, заключающаяся в предотвращении некоторого подмножества атак класса XSS Type-1 (отраженное выполнение межсайтовых сценариев), и оригинальная статья от разработчиков веб-стека. Другой вопрос, насколько эффективно мог бы быть реализован этот функционал и как из имеющегося примитивного регулярного фильтра получить полноценный web application firewall, защищающий от любых векторов XSS Type-1?

Чтобы ответить на этот вопрос, необходимо разобраться в деталях реализации валидации запросов в различных версиях платформы .NET Framework, ее ограничениях, известных способах обхода и возможностях расширения ее функционала.

воскресенье, 31 марта 2013 г.

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

Должен признаться, активно обсуждаемая последний месяц тема бумажной безопасности начинает слегка напрягать. И даже не столько своей сутью, сколько тем, что некоторые уважаемые ученые мужы занимается откровенной херней вместо того, чтобы работать над интересными ресерчами и приносить пользу паразитам вроде меня =/ Посему, далее - мое IMHO относительно предмета их спора и того, как к нему следует относиться.