Как выбрать сканер уязвимостей веб-приложений?

Нередко мне задают вопрос: «какой сканер веб-приложений – самый лучший?» Как водится, на общий вопрос можно дать общий ответ типа «смотря для каких целей». В данной заметке я решил рассмотреть задачу сравнения сканеров веб-приложений.

Сразу скажу, что эта заметка скорее обучающая, для новичков, чем отвечающая на конкретные вопросы. Для экспертов в ИБ заметка будет, наверное, капитанством.

В заметке мы ограничимся только сканерами, работающими с веб-приложениями методом черного ящика: т.е. сканер взаимодействует с веб-приложением так же, как и типичный пользователь, через веб-интерфейс по сети по протоколу HTTP(S).

Тег «Далее»

Первый школьный CTF @ МГУ

Ну конечно, это — реклама!

Факультет ВМК МГУ имени М.В. Ломоносова в рамках XXIV Международной конференции-выставки «Информационные технологии в образовании» («ИТО-2014») приглашает учащихся 7-11 классов школ Москвы и Московской области принять участие в MOSCOW CTF 2014.

Мероприятие пройдёт на факультете ВМК. Для участия необходимо пройти процедуру регистрации на сайте http://ctf.cs.msu.su/. Задания ориентированы на школьников 7-11 классов. Количество участников в команде: 3-5 человек. Наличие у участников собственных ноутбуков приветствуется, но не является обязательным.

Подробности:
Дата: 9 ноября 2014 года.
Место: 2-ой учебный корпус МГУ.
Адрес:г. Москва, Ленинские горы, д. 1, стр. 52.
Продолжительность олимпиады: 5 (пять) астрономических часов.

Предварительное расписание и другую информацию можно найти на сайте: http://ctf.cs.msu.su/ и страничке ВКонтакте: https://vk.com/mskctfschool2014

Совместный удаленный доступ к ДБО

Решил поделиться решением задачи по совместному удаленному доступу к ДБО, вдруг кому-то будет полезно.

Итак, дано:
Есть доступ в систему ДБО. Логин-пароль, вход подтверждается по SMS, вход возможен только при наличии eToken’а класса Aladdin Pro. Подпись документов, отправляемых в банк, происходит тоже с помощью ключей.

Требуется:
Организовать возможность доступа в систему ДБО в общем случае N удаленных людей.

Решение:
Вся инфраструктура в нашей локальной сети доступна удаленным пользователям через OpenVPN. В локальной сети поднимается виртуальная машина, в хост в USB вставляется eToken и подключается к виртуальной машине. На виртуальную машину устанавливается ПО USB over Network, которое позволяет подключить удаленное USB-устройство к локальной машине так же, как если бы оно было вставлено в локальный USB-порт. Далее eToken расшаривается для удаленного доступа, конечно с паролем.

Теперь SMS. Берется любой планшет или телефон на Android, ставится программа SMS Forwarder, в которой задается правило: все смс с такого-то номера отправлять на такие-то почтовые адреса. Android-устройство подключатся к WiFi-сети нашей инфраструктуры. Очевидно, в устройстве должна стоять та SIM-карта, на которую приходят одноразовые пароли.

Works like Charm.

p.s. Чего-то мне кажется, что всякие банковские трояны используют эту схему уже давно. Полагаю, спецы подтвердят.

Как быстро искать научные статьи

Думаю, многим любителям академических работ будет полезно. Не претендуя на полноту, решил описать свой способ поиска новых статей в своей предметной области (web & application security).

Шаг 1. Берем статью 2010-2011 года близкой нам тематики из любого источника из списка ниже:
https://seclab.cs.ucsb.edu/academic/publishing/
http://www.iseclab.org/publications.html
http://www.ieee-security.org/TC/SP-Index.html
https://www.usenix.org/publications/proceedings
Пусть, например, мы выбрали статью про создание black-box сканера уязвимостей, который учитывает состояние веб-приложения: «Enemy of the State: A State-Aware Black-Box Web Vulnerability Scanner».

Шаг 2. Берем интересные нам статьи и ищем, кто за последние годы на них ссылался. Делается это так:
— либо ищем название статьи в Google Scholar и кликаем в выдаче «Cited By»; в нашем случае будет выдано 17 статей — http://scholar.google.com/scholar?cites=15644735933810005707
— либо ищем название статьи в portal.acm.org и переходим во вкладку «Cited By»; в нашем случае будет выдано 4 статьи — http://dl.acm.org/citation.cfm?id=2362793.2362819.

Шаг 3. Для каждой новой заинтересовавшей нас статьи из ссылающихся на исходную повторяем Шаг 2. Обычно рекурсия не заходит глубже второго уровня.

Шаг 4. Качаем выбранные статьи и читаем. Для тех, кто не в курсе, платные статьи можно скачать через http://sci-hub.org/.

Удачной охоты!

p.s. Буду благодарен за related типсы и триксы, если кто знает.

Налетай, не скупись, засылай рукопись!

Плохо иметь системное критическое мышление. Вместо того, чтобы радостно писать «новые» тулзы и каждый день придумывать инновационные методы, приходится маленькими шажками через reject’ы, скепсис коллег и неудачные гипотезы продвигаться вперед в любимой предметной области. Труден и тернист путь самурая от академии, ибо ждут его не только неудачи, но и искушения: высокие зарплаты в индустрии, удаленная работа фрилансером из Тайланда и (не к ночи будь помянуты) стартапы.

Но viam supervadet vadens. Любой же путь хорош привалами, на которых можно оглянуться назад, прикинуть, что впереди, поделиться с соратниками впечатлениями, послушать советов, пристроить путевые заметки в публикацию…

Вот уже в третий раз на форуме Positive Hack Days состоится огонёк для молодых ученых, Young School. Информацию по первому Young School можно найти вот тут, а по второму — вот тут.

В моем понимании, основной профит от участия в CFP, подобных нашему (т.е. с перекрестным анонимным рецензированием) — это _бесплатное_ получение квалифицированных рецензий на свою работу. Поверьте, чем раньше исследование попадает на оценку к непричастному человеку, тем лучше.

В качестве побочного эффекта от получения положительных рецензий на свои работы у авторов появится возможность побывать и выступить на самом форуме, при этом их расходы за проезд и проживание будут полностью компенсированы организаторами мероприятия (Positive Technologies). Кстати, такого нет ни на одной известной мне академической конференции.

И еще кое-что немаловажное. В этом году мы также принимаем тезисы на английском языке. Приглашения уже разосланы нашим друзьям за океан, в свободную Европу и тоталитарный Китай. Вот и посмотрим, где сильнее Свободный Академический ДухЪ.

Правила конкурса опубликованы на офисайте форума. По всем вопросам можно смело писать на секретный ящик youngschool@phdays.com или задавать тут.

Размышления на тему «русского BlackHat’а»

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

Хочу написать, почему сам я бы никогда не взялся сделать конфу, которая будет позиционироваться, как мега-хардкорная техническая конфа, русский BlackHat.
TL;DR — я вижу неустранимое противоречие в позиционировании и тактике формирования программной сетки.

Все остальное — мое мнение, которое, скорее всего, не будет совпадать с вашим на 100% =)

Что такое хардкорная техническая конфа с точки зрения активностей?

Хардкорные воркшопы, конкурсы с высоким уровнем вхождения участников, зона с недоступными в повседневной жизни девайсами (банкоматы, hardware village, lockpicking zone, etc.), секции с докладами. Все остальное (бар, Mortal Kombat и Atari, ток-шоу, ключевые докладчики) — важные атрибуты, но не вносящие вклад в слово «хардкорная».
Так вот, при вменяемом подходе (и мы это видели), у организаторов мероприятий в России нет никаких проблем с воркшопами, конкурсами и hack-зонами с мега-девайсами.

А вот как построить хардкорную секцию с докладами — непонятно.
Для меня критерий хардкорности секции — это т.н. премиум контент, который доносит докладчик. У премиум контента есть важное свойство: он является премиум только в процессе своего первого донесения до аудитории. После публикации/рассказа — это уже просто полезный справочный материал, который должен быть изучен любым экспертом из соответствующей предметной области.
Получается, что хардкорная конфа случится, если докладчики выдают свой качественный контент впервые.
Рассмотрим вопросы:
— если у российского исследователя есть премиум контент, какое CFP он предпочтет — российского мероприятия или западного?
— если у иностранного исследователя есть премиум контент, есть ли варианты, при которых он предпочтет CFP российского мероприятия?
Почему-то мне кажется, что мат ожидание ответа на первый вопрос будет «западного», а на второй — «только если ему уже дали reject’ы на других CFP». Причин тому масса, и виза — не последняя.

Выходит, при честном CFP вероятность роста числа заявок докладов с премиум-контентом от западных исследователей практически нулевая.

Как же тогда набирать программу?
Есть вариант обращаться к знакомым топовым исследователям и просить подготовить новый доклад к конференции за деньги, выступить опять же за деньги.
Второй вариант, который мы видели на ZN и PHD — приглашать с уже готовыми докладами, которые презентовались elsewhere.

Получается замкнутый круг:
1. Чтобы на CFP откликнулись ведущие исследователи с новыми темами, для них cost-benefit анализ должен завершаться в пользу российского мероприятия.
2. Для этого для иностранных исследователей плюсы должны превышать как минимум проблемы с визой и плюсы других аналогичных западных мероприятий. Если это не получаемое вознаграждение, а именно статусность мероприятия, то получаем п.3.
3. Как повышать статусность мероприятия при отсутствии денег (аудитория идет только на статусные мероприятия, спонсоры идут на массовые мероприятия), если для создания этой статусности не приезжают ведущие докладчики?

Как вариант, сделать действительно русский BlackHat, ориентированный только на русскую аудиторию и приглашающий русских докладчиков, которые не могут в силу языка или невыездности (труЪ хакеры) ездить по западным конфам.

Т.е., резюмируя, как сделать реально хардкорную международную техническую конференцию в России — хрен его знает. Такие вот мысли.

Маркетинг @ Анализаторы исходного кода

По роду своей деятельности в последнее время сталкиваюсь с различными текстами, в которых прямо или с намеками обсуждаются преимущества тех или иных продуктов или подходов над другими. Речь идет о задаче статического анализа исходного кода с целью поиска недостатков, снижающих защищенность программного продукта (т.е. речь не идет о недостатках качества кода в общем смысле слова).

Так как я человек впечатлительный и легко поддающийся на троллинг, решил написать своё ответное мнение в серии постов на тему «Типичный булшит в якобы аналитических заметках про технологии анализа исходного кода».

Итак, сегодня — первая серия, и поговорим мы вот про какие заявления (встречаются в произвольной комбинации): «сигнатурный анализ не может обеспечить полноту», «сигнатурный анализ дает много ложных срабатываний», «сигнатурный анализ хуже, чем анализ потоков данных», «анализ потоков данных дает офигительную полноту при низком числе ложных срабатываний», «о какой полноте может идти речь при наличии в базе N сигнатур» и вот это вот всё.

Для тех, кто испугался объема, сразу выводы:

1. Все применяемые сейчас вида анализа кода — сигнатурные (в т.ч. taint анализ на основе потоков данных).

2. В свете п.1. сравнивать подходы и продукты по количеству сигнатур — нонсенс. Сигнатура может описывать как целый класс недостатков (например, input validation), так и один-единственный экземпляр (unserialize($_GET[.*])).

3. Про полноту и точность можно говорить только после фиксирования класса недостатков (например, input validation). Полноты «вообще» — не существует. В свете разговора про каждый класс недостатков на первое место выходит формальная модель описания недостатка. По факту, сейчас почти всегда используется модель невмешательства (aka taint). Данная модель описывает только уязвимости класса input validation. Она бесполезна для недостатков авторизации. Полнота, говорите?

4. Даже в рамках одного класса недостатков, например, input validation, существующая модель невмешательства не может обеспечить не только полноту, но и даже приемлемую точность. Ограничения модели невмешательства расписаны вот тут (англ).

Тег «Далее»

Отслеживать

Настройте получение новых записей по электронной почте.