Меня зовут Алексей Гришин, я руководитель направления Bug Bounty VK. За 9 лет участия в программе по поиску уязвимостей на различных платформах мы накопили огромный опыт получения, проверки и оплаты самых разношерстных отчётов, поэтому в этой статье я хочу поделиться советами о том, как правильно написать отчёт, чтобы его оплатили, и рассказать, что делать, если ваши ожидания по выплатам не совпали с реальностью. Добро пожаловать под кат.
Рубрика «поиск уязвимостей»
Как заработать на Bug Bounty
2022-12-13 в 13:37, admin, рубрики: bug bounty, bug bounty program, багхантинг, Блог компании VK, информационная безопасность, отладка, поиск уязвимостей, публичные сайтыАппаратный взлом
2022-06-06 в 13:00, admin, рубрики: ruvds_перевод, Блог компании RUVDS.com, встраиваемые системы, поиск уязвимостей, реверс-инжиниринг, системное администрированиеЭта статья предназначается для всех, кто имеет опыт в разработке *nix/ПО/эксплойтов, но не обладает или почти не обладает знаниями оборудования/электроники! Хоть мы и не будем рассматривать все подробности простых схем (для этого есть множество отличных онлайн-ресурсов), информация изложена так, что не требует предыдущего опыта работы.
Основная задача статьи — помочь тем, кто пытается заниматься исследованием уязвимостей и/или разработкой эксплойтов физического устройства без системы отладки, оболочки и прошивки. Иными словами, мы попробуем добраться до root shell без сложностей поиска уязвимостей нулевого дня!
Читать полностью »
Формальная верификация на примере задачи о волке, козе и капусте
2019-04-22 в 12:42, admin, рубрики: 8 ферзей, coq, Isabelle, np, smt, WhyML, z3, верификация программ, вычислительная сложность, для чайников, защита программ, информационная безопасность, логика Хоара, поиск уязвимостей, проблема остановки, решатель, Символьное выполнение, формальная верификация, формальная верификация для чайников, формальные методыНа мой взгляд, в русскоязычном секторе интернета тематика формальной верификации освещена недостаточно, и особенно не хватает простых и наглядных примеров.
Я приведу такой пример из зарубежного источника, и дополню собственным решением известной задачи о переправе волка, козы и капусты на другую сторону реки.
Но вначале вкратце опишу, что из себя представляет формальная верификация и зачем она нужна.
Под формальной верификацией обычно понимают проверку одной программы либо алгоритма с помощью другой.
Это нужно для того, чтобы удостовериться, что поведение программы соответствует ожидаемому, а также обеспечить её безопасность.
Формальная верификация является самым мощным средством поиска и устранения уязвимостей: она позволяет найти все существующие дыры и баги в программе, либо же доказать, что их нет.
Стоит заметить, что в некоторых случаях это бывает невозможно, как например, в задаче о 8 ферзях с шириной доски 1000 клеток: всё упирается в алгоритмическую сложность либо проблему остановки.
Однако в любом случае будет получен один из трёх ответов: программа корректна, некорректна, или же — вычислить ответ не удалось.
В случае невозможности нахождения ответа, зачастую можно переработать неясные места программы, уменьшив их алгоритмическую сложность, для того чтобы получить конкретный ответ да либо нет.
А применяется формальная верификация, например, в ядре Windows и операционных системах беспилотников Darpa, для обеспечения максимального уровня защиты.
Мы будем использовать Z3Prover, очень мощный инструмент для автоматизированного доказательства теорем и решения уравнения.
Причём Z3 именно решает уравнения, а не подбирает их значения грубым брутфорсом.
Это означает, что он способен находить ответ, даже в случаях когда комбинаций входных вариантов и 10^100.
А ведь это всего лишь около дюжины входных аргументов типа Integer, и подобное зачастую встречается на практике.
Задача о 8 ферзях (Взята из англоязычного мануала).
О статическом анализе начистоту
2019-02-20 в 9:49, admin, рубрики: SAST, Анализ потока данных, Аналитика мобильных приложений, Блог компании Ростелеком-Solar, информационная безопасность, поиск уязвимостей, Совершенный код, статический анализ кода, Тестирование мобильных приложенийПоследнее время все чаще говорят о статическом анализе как одном из важных средств обеспечения качества разрабатываемых программных продуктов, особенно с точки зрения безопасности. Статический анализ позволяет находить уязвимости и другие ошибки, его можно использовать в процессе разработки, интегрируя в настроенные процессы. Однако в связи с его применением возникает много вопросов. Чем отличаются платные и бесплатные инструменты? Почему недостаточно использовать линтер? В конце концов, при чем тут статистика? Попробуем разобраться.
Взломал дрон — получи бабки: DJI платит хакерам за найденные уязвимости
2017-08-31 в 11:50, admin, рубрики: bugbounty, dji, Блог компании CopterTime, видеотехника, гаджеты, дроны, информационная безопасность, квадрокоптеры, мультикоптеры, поиск уязвимостей
Мировой лидер производства дронов DJI объявил о том, что готов заплатить от 100 долларов до 30000 долларов за найденные «уязвимости». Пока сайт с подробным описанием «охоты за багами» в разработке, писать о найденных дырах надо писать на почту — bugbounty@dji.com
Директор по техническим стандартам DJI Уолтер Стоквел сказал, что вместо того, чтобы бороться с хакерами, нужно использовать их наработки и достижения, чтобы совместно двигаться к общей цели в рамках миссии компании.
«Я уверен, монсеньор, наконец-то, понял.»
— «Святые из трущоб»
На самом деле руководство DJI зашевелилось после нескольких громких косяков с киберуязвимостями и «баном» со стороны американских военных.
Читать полностью »
Поиск уязвимости методом фаззинга и разработка шеллкода для её эксплуатации
2017-02-17 в 7:12, admin, рубрики: exploit, fuzzing, hacking, neoquest, neoquest2016, neoquest2017, shellcode, vulnerability, Блог компании НеоБИТ, Занимательные задачки, информационная безопасность, поиск уязвимостей, метки: fuzzing, shellcodeДля поиска уязвимостей все средства хороши, а чем хорош фаззинг? Ответ прост: тем, что он дает возможность проверить, как себя поведёт программа, получившая на вход заведомо некорректные (а зачастую и вообще случайные) данные, которые не всегда входят во множество тестов разработчика.
Некорректное завершение работы программы в ходе фаззинга позволяет сделать предположение о наличии уязвимости.
В этой статье мы:
- продемонстрируем, как фаззить обработчик JSON-запросов;
- используя фаззинг, найдём уязвимость переполнения буфера;
- напишем шеллкод на Ассемблере для эксплуатации найденной уязвимости.
Разбирать будем на примере исходных данных задания прошлого NeoQUEST. Известно, что 64-хбитный Linux-сервер обрабатывает запросы в формате JSON, которые заканчиваются нуль-терминатором (символом с кодом 0). Для получения ключа требуется отправить запрос с верным паролем, при этом доступа к исходным кодам и к бинарнику серверного процесса нет, даны только IP-адрес и порт. В легенде к заданию также было указано, что MD5-хеш правильного пароля содержится где-то в памяти процесса после следующих 5 символов: «hash:». А для того, чтобы вытащить пароль из памяти процесса, необходима возможность удалённого исполнения кода.
Читать полностью »
Почему в Украине всё-таки есть белые хакеры
2016-07-29 в 11:49, admin, рубрики: bugbounty, белые хакеры, информационная безопасность, платежные системы, поиск уязвимостей, программа поиска уязвимостей, Разработка веб-сайтов, Тестирование веб-сервисов, уязвимости, этичный хакингЭта статья будет ответом на недавнюю публикацию Владимира Таратушка.
Причин написания статьи у меня было несколько.
Первая — это показать, что белые хакеры в Украине есть. Существуют они благодаря одной из программ поощрения поиска уязвимостей, которую проводит Приватбанк.
Следующая причина — это рассказать свою success story работы с одним из крупнейшим банком Украины в рамках данной программы.
Так же я хочу показать эффективность работы такой программы на реальном примере и сподвигнуть к организации таких программ те компании, которые по каким то причинам сомневаются или не видят в них реальных плюсов.
Ну и последняя причина — показать будущим и настоящим ресёчерам, что участие в баг-баунти программах интересно, этично и материально выгодно.
Читать полностью »
Vulners — Гугл для хакера. Как устроен лучший поисковик по уязвимостям и как им пользоваться
2016-07-08 в 8:51, admin, рубрики: vulners, Блог компании Журнал Хакер, журнал хакер, информационная безопасность, ксакеп, поиск уязвимостей, метки: vulners
Часто нужно узнать всю информацию о какой-нибудь уязвимости: насколько найденная бага критична, есть ли готовые сплоиты, какие вендоры уже выпустили патчи, каким сканером проверить ее наличие в системе. Раньше приходилось искать вручную по десятку источников (CVEDetails, SecurityFocus, Rapid7 DB, Exploit-DB, базы уязвимостей CVE от MITRE/NIST, вендорские бюллетени) и анализировать собранные данные. Сегодня эту рутину можно (и нужно!) автоматизировать с помощью специализированных сервисов. Один из таких — Vulners, крутейший поисковик по багам. А главное — бесплатный и с открытым API. Посмотрим, чем он может быть нам полезен.
Читать полностью »
Решето под названием Adobe Flash
2016-03-21 в 8:55, admin, рубрики: adobe, adobe flash, flash, flashplayer, Блог компании НеоБИТ, информационная безопасность, поиск уязвимостей, уязвимостиПока еще широко распространенный продукт Flash Player компании Adobe печально известен своей безопасностью. Регулярно становится известно об очередной zero-day уязвимости во Flash, используемой хакерами в APT-кампаниях. 2015 год выдался особенно урожайным на такие уязвимости. Большая доля критических RCE-уязвимостей были вызваны некорректной работой с памятью: была возможна запись в освобожденную память в куче процесса Flash.
В этой статье мы поисследовали безопасность Adobe Flash и выяснили, что многие его «дыры в безопасности» — хронические, и решить их можно разве что переписыванием кода с нуля, в то время как разработчики ставят заплатку на заплатку, что, конечно, не повышает уровень безопасности. А еще мы продемонстрируем некоторые найденные нами и незакрытые на данный момент уязвимости!
Читать полностью »
Новость как для охотников за багами, так и для всего IT сообщества в целом
2015-03-16 в 3:52, admin, рубрики: дбо, ПО, поиск уязвимостей, Тестирование IT-систем С сегодняшнего дня у нас появились реальные рычаги, которые позволят заставить банки «залатать дыры» в своем ПО, а также сменить устаревшее железо.
Читать полностью »