Pull to refresh

Эксперты нашли брешь в защите от Rowhammer. Этот вид атак на ОЗУ DDR4 использовали еще 6 лет назад

Reading time 3 min
Views 2K
Information Security *CPU
image

Группа VUSec по системам и сетевой безопасности в университете VU Amsterdam провела исследование, которое показало, что в защите Target Row Refresh есть уязвимость CVE2020-10255. Она делает память DDR4 по-прежнему неустойчивой к атакам вида Rowhammer. Хакеры использовали атаки такого рода шесть лет назад.
Читать дальше →
Total votes 8: ↑8 and ↓0 +8
Comments 0

Онлайн-встреча по информационной безопасности

Reading time 3 min
Views 1K
Information Security *Conferences IT-companies


10 июня приглашаем на Digital Security ON AIR, онлайн-встречу по информационной безопасности. Поговорим про фаззинг, реверс-инжиниринг и пентест, сыграем в online CTF и замутим Kahoot с призами. Стартуем в 17:00, а закончить планируем в 21:00. Вход свободный.
Читать дальше →
Total votes 3: ↑3 and ↓0 +3
Comments 1

Microsoft откроет исходные коды инструмента фаззинга OneFuzz, который используется для тестирования Windows 10 и Edge

Reading time 2 min
Views 3.2K
Open source *GitHub *Development for Windows *IT-companies
image


15 сентября 2020 года Microsoft анонсировала новый автоматизированный инструмент для разработчиков — Project OneFuzz. Это фаззинг решение в настоящее время уже заменило сервис Microsoft Security Risk Detection Service. Исходные коды инструмента Project OneFuzz будут доступны на GitHub под лицензией MIT с 18 сентября 2020 года. Сейчас инструмент уже открыт полностью, включая документацию и примеры.
Читать дальше →
Total votes 6: ↑6 and ↓0 +6
Comments 2

В Instagram нашли уязвимость, связанную с обработкой изображений

Reading time 2 min
Views 8.3K
Information Security *Development of mobile applications *Social networks and communities IT-companies


Специалисты компании Check Point рассказали о найденной в начале этого года серьезной уязвимости в мобильном приложении Instagram для iOS и Android. Злоумышленники могли с помощью уязвимости CVE-2020-1895 получить практически полный доступ к смартфону жертвы, запустив на атакуемой системе удаленное выполнение произвольного кода. Все что им было нужно для этого — отправить пользователю картинку с вредоносным кодом и специально созданными размерами. Далее штатный алгоритм обработки изображений приложения Instagram использовался для успешного проведения атаки, основанной на переполнении кучи/хипа (heap buffer overflow).
Читать дальше →
Total votes 19: ↑17 and ↓2 +15
Comments 12

Фаззинг браузера Chrome: 6000 инстансов, 50 млн вариантов в сутки

Reading time 2 min
Views 3.2K
IT systems testing *Google Chrome
Компания Google раскрыла некоторые подробности, как осуществляется тестирование браузера Chrome на уязвимости. Для этого они применяют метод фаззинга (fuzz testing), то есть используют методику тестирования, при которой на вход программы подаются невалидные, непредусмотренные или случайные данные.

Идея заключается в том, чтобы протестировать максимально возможное количество вариантов. Естественно, для этого нужны серьёзные ресурсы. Для тестирования Chrome создан целый кластер серверов ClusterFuzz, состоящий из нескольких сотен виртуальных машин.
Читать дальше →
Total votes 55: ↑48 and ↓7 +41
Comments 25

Создание JPEG из ниоткуда

Reading time 4 min
Views 22K
Abnormal programming *IT systems testing *Delirium coding Image processing *
Translation
Вот интересная демонстрация возможностей afl; меня реально удивило, что она работает!

$ mkdir in_dir
$ echo 'hello' >in_dir/hello
$ ./afl-fuzz -i in_dir -o out_dir ./jpeg-9a/djpeg

В сущности, я создал текстовый файл только со словом "hello" и попросил фаззер выдавать поток в программу, которая ожидает на входе изображение JPEG (djpeg это простая утилита, которая идёт вместе с распространённой графической библиотекой IJG jpeg; libjpeg-turbo тоже должна подойти). Конечно, мои входные данные не похожи на валидное изображение, так что утилита быстро отвергает их:

$ ./djpeg '../out_dir/queue/id:000000,orig:hello'
Not a JPEG file: starts with 0x68 0x65
Читать дальше →
Total votes 68: ↑61 and ↓7 +54
Comments 21

Как Discord каждый день изменяет размер 150 млн картинок с помощью Go и C++

Reading time 7 min
Views 19K
Open source *C++ *Image processing *Go *
Translation


Хотя Discord — это приложение для голосового и текстового чата, каждый день через него проходит более ста миллионов изображений. Конечно, мы бы хотели, чтобы задача была простой: просто перенаправить картинки вашим друзьям по всем каналам. Но в реальности доставка этих изображений создаёт довольно большие технические проблемы. Прямая ссылка на картинки выдаст хосту с картинкой IP-адреса пользователей, а большие изображения расходуют много трафика. Чтобы избежать этих проблем, требуется промежуточный сервис, который будет получать изображения для пользователей и изменять их размер для экономии трафика.

Встречайте Image Proxy


Для выполнения этой работы мы создали сервис Python и креативно назвали его Image Proxy. Он загружает картинки с удалённых URL, а затем выполняет ресурсоёмкую задачу по ресайзингу с помощью пакета pillow-simd. Этот пакет работает удивительно быстро, используя где только возможно для ускорения ресайзинга инструкции x86 SSE. Image Proxy будет получать HTTP-запрос, содержащий URL, чтобы загрузить, изменить размер и, наконец, выдать окончательное изображение.
Читать дальше →
Total votes 41: ↑37 and ↓4 +33
Comments 12

После аудита OpenVPN в нём нашли четыре опасные уязвимости

Reading time 4 min
Views 19K
Software
Специалист по безопасности Гвидо Вранкен (Guido Vranken) своим фаззером нашёл четыре серьёзные уязвимости в безопасности OpenVPN. Что интересно, это произошло после недавно проведённых двух полных аудитов безопасности исходного кода этой программы. Это наталкивает на мысль, что аудит исходников не даёт абсолютной гарантии отсутствия багов.

Сам Гвидо Вранкен считает, что в некоторых случаях человеческий аудит — вообще не лучший вариант. Он говорит, что спонсорам аудита OpenVPN (деньги собирали через краудфандинг) не следовало оплачивать ручной аудит, а надо было нанять экспертов, которые будут заинтересованы в нахождении уязвимостей любыми средствами (через тот же фаззинг). Такая стратегия принесла бы наибольшие дивиденды. По крайней мере, сейчас мы видим, что фаззинг оказался эффективнее, чем анализ вручную.

OpenVPN — свободная реализация технологии виртуальной частной сети (VPN) с открытым исходным кодом для создания зашифрованных каналов между ПК. Создана Джеймсом Йонаном (James Yonan) и распространяется под лицензией GNU GPL.
Читать дальше →
Total votes 20: ↑19 and ↓1 +18
Comments 40

Свободный фаззер Domato нашёл 31 баг в основных браузерах

Reading time 3 min
Views 17K
Software
Хакеры из проекта Project Zero компании Google выложили в открытый доступ инструмент автоматического тестирования программ на баги — фаззер Domato. Эффективность программы доказана на практике: она нашла 31 баг в пяти популярных браузерах. Результаты тестирования показаны в таблице.
Вендор
Броузер
Движок
Кол-во багов
Идентификаторы багов Project Zero
Google
Chrome
Blink
2
994, 1024
Mozilla
Firefox
Gecko
4**
1130, 1155, 1160, 1185
Microsoft
Internet Explorer
Trident
4
1011, 1076, 1118, 1233
Microsoft
Edge
EdgeHtml
6
1011, 1254, 1255, 1264, 1301, 1309
Apple
Safari
WebKit
17
999, 1038, 1044, 1080, 1082, 1087,
1090, 1097, 1105, 1114, 1241, 1242,
1243, 1244, 1246, 1249, 1250
Всего
31*
*Два бага относятся к двум браузерам, поэтому общее количество 31, а не 33, как следует из суммирования цифр в колонке
**Один из багов на самом деле в графической библиотеке Skia, а не в исходниках самого Firefox. Но поскольку этот код добавлен в браузер разработчиками Firefox, будет честно учесть его в таблице

Читать дальше →
Total votes 29: ↑28 and ↓1 +27
Comments 18

Фаззинг в стиле 1989 года

Reading time 7 min
Views 8.3K
Information Security *Open source *IT systems testing **nix *C *
Translation
С наступлением 2019 года хорошо вспомнить прошлое и подумать о будущем. Оглянемся на 30 лет назад и поразмышляем над первыми научными статьями по фаззингу: «Эмпирическое исследование надёжности утилит UNIX» и последующей работой 1995 года «Пересмотр фаззинга» того же автора Бартона Миллера.

В этой статье попытаемся найти баги в современных версиях Ubuntu Linux, используя те же самые инструменты, что и в оригинальных работах по фаззингу. Вы должны прочитать оригинальные документы не только для контекста, но и для понимания. Они оказались весьма пророческими в отношении уязвимостей и эксплоитов на десятилетия вперёд. Внимательные читатели могут заметить дату публикации оригинальной статьи: 1990 год. Ещё более внимательные заметят копирайт в комментариях исходников: 1989.
Читать дальше →
Total votes 22: ↑22 and ↓0 +22
Comments 11

Тот день, когда я полюбил фаззинг

Reading time 5 min
Views 4.6K
IT systems testing *Games and game consoles
Translation
В 2007 году я написал пару инструментов для моддинга космического симулятора Freelancer. Ресурсы игры хранятся в формате “binary INI” или “BINI”. Вероятно, бинарный формат выбрали ради производительности: такие файлы быстрее загружать и читать, чем произвольный текст в формате INI.

Бóльшую часть игрового контента можно редактировать прямо из этих файлов, изменяя названия, цены на товары, статистику космических кораблей или даже добавляя новые корабли. Бинарные файлы трудно модифицировать напрямую, поэтому естественный подход — преобразовать их в текстовые INI, внести изменения в текстовом редакторе, затем преобразовать обратно в формат BINI и заменить файлы в каталоге игры.
Читать дальше →
Total votes 20: ↑17 and ↓3 +14
Comments 0

Фаззинг в стиле 2000 года на современных приложениях Windows 10

Reading time 8 min
Views 8.3K
Information Security *IT systems testing *Debugging *Development for Windows *Software
Translation

Рис. 1. Ушиблен, но не сломлен. Калькулятор Windows, чей код недавно опубликован на Github, оказался одним из двух протестированных приложений, которые не зависли и не упали в противостоянии с фаззером оконных сообщений разработки 2000 года. Размер окна специально увеличен, чтобы показать артефакты фаззинга

Настало время для второй части наших усилий по проверке древних методов фаззинга на современных системах. Если вы пропустили, вот первая часть. На этот раз мы опробуем на Windows 10 методы фаззинга из статьи «Эмпирическое исследование надёжности приложений Windows NT с использованием случайного тестирования» (она же «отчёт по фаззингу NT») Джастина Форрестера и Бартона Миллера, опубликованной в 2000 году.

Исследователи протестировали 33 приложения Windows NT и ранней версии Windows 2000 на восприимчивость к искажённым оконным сообщениям и случайным событиям мыши и клавиатуры. Поскольку д-р Миллер опубликовал код фаззера, мы использовали в точности те же инструменты, что и первоначальные авторы, для поиска ошибок в современных приложениях Windows.
Читать дальше →
Total votes 16: ↑15 and ↓1 +14
Comments 4

Greybox Fuzzing на примере AFLSmart

Reading time 9 min
Views 2.1K
Digital Security corporate blog Information Security *
🔥 Technotext 2020

Наверное, все слышали про крутой фаззер AFL.


Многие используют его как основной фаззер для поиска уязвимостей и ошибок.


Недавно появился форк AFL, AFLSmart, который имеет интересное развитие идеи. Если верить документации, он может мутировать данные по заранее подготовленной модели, в то время как AFL применяет рандомные низкоуровневые операции. Однако, есть несколько подводных камней. Рассказываем об AFLSmart и разбираемся, что у него под капотом.

Читать дальше →
Total votes 20: ↑20 and ↓0 +20
Comments 6

DevSecOps: организация фаззинга исходного кода

Reading time 23 min
Views 16K
Digital Security corporate blog Information Security *DevOps *


Узнав результаты голосования, проведённого в одной из наших прошлых статей, мы решили более подробно обсудить вопрос организации фаззинга. Кроме того, в рамках онлайн-встречи по информационной безопасности "Digital Security ON AIR" мы представили доклад, основанный на нашем опыте в DevSecOps, где также рассказали об этой интересной теме.


Записи всех докладов можно посмотреть на нашем Youtube-канале. Если же вы предпочитаете текстовый формат, добро пожаловать под кат!

Читать дальше →
Total votes 21: ↑21 and ↓0 +21
Comments 2

Фаззинг тестирование веб-интерфейса. Расшифровка доклада

Reading time 7 min
Views 5.4K
Тензор corporate blog Website development *IT systems testing *
Sandbox


В начале этого года Тензор проводил митап в городе Иваново, на котором я выступил с докладом про эксперименты с фаззинг-тестированием интерфейса. Тут расшифровка этого доклада.

Когда обезьяны заменят всех QA? Можно ли отказаться от ручного тестирования и UI автотестов, заменив их фаззингом? Как будет выглядеть полная диаграмма состояний и переходов для простого TODO приложения? Пример реализации и о том, как работает такой фаззинг далее под катом.
Читать дальше →
Total votes 15: ↑15 and ↓0 +15
Comments 0

Немного про современные технологии Greybox-фаззинга

Reading time 20 min
Views 5.4K
BI.ZONE corporate blog Information Security *


Автор: Иннокентий Сенновский


Как найти баги, о которых вы и не догадывались, или что такое фаззинг


Все уже привыкли, что программу надо покрывать тестами, чтобы потом не было стыдно. Но вот проблема: разработчик может защититься только от багов, которые он способен предугадать. Да и тестировщик вряд ли сможет перебрать все варианты входных данных, которые приводят к ошибке.


Чтобы справиться с этой проблемой, придумали фаззеры — инструменты тестирования, которые сами пытаются найти баги в программе. В этой статье я рассмотрю, какие они вообще бывают (для C/C++, потому что баги в таких программах особенно болезненны), но сделаю упор на Greybox-фаззеры (почему, расскажу в статье).

Обожаю статьи, где много букв
Total votes 9: ↑9 and ↓0 +9
Comments 6

Greybox-фаззинг: level up. Как улучшали фаззеры

Reading time 13 min
Views 2.5K
BI.ZONE corporate blog Information Security *


Автор: Иннокентий Сенновский


В предыдущей статье мы рассмотрели, какие вообще фаззеры бывают и как они работают. В этой мы увидим, какие улучшения внедрили разработчики в современные фаззеры, чтобы они стали еще более полезным инструментом.

Читать дальше
Total votes 7: ↑7 and ↓0 +7
Comments 2

PunkSpider: поисковик уязвимых сайтов готов к рестарту

Reading time 4 min
Views 5.2K
GlobalSign corporate blog Information Security *Search engines *


История развивается по спирали. На хакерской конференции DEF CON 29 в 2021 году состоялся анонс новой версии PunkSpider — поисковой системы по уязвимостям в веб-приложениях, своеобразного аналога Shodan, только для веб-сайтов. Сканер уязвимостей с фаззингом (перебор всех вариантов) проверяет сайты на наличие самых распространённых, удобно эксплуатируемых багов — и сообщает о них всему интернету.

PunkSpider успешно работал с 2014 по 2018 годы. Потом его пришлось закрыть из-за множества жалоб от компаний, чьи сайты становились лёгкими мишенями для взлома. Но сейчас разработчики разобрались с юридическими проблемами и готовы возобновить проект.

На данную минуту PunkSpider ещё не запустили, на сайте висит заглушка, опубликована только ссылка на расширение для Chrome.
Читать дальше →
Total votes 10: ↑10 and ↓0 +10
Comments 2

Фаззинг сокетов: Apache HTTP Server. Часть 1: мутации

Reading time 12 min
Views 4.1K
Wunder Fund corporate blog Information Security *Server optimization *Server Administration *Apache *
Translation

Прим. Wunder Fund: наш СТО Эмиль по совместительству является известным white-hat хакером и специалистом по информационной безопасности, и эту статью он предложил как хорошее знакомство с фаззером afl и вообще с фаззингом как таковым.

Этот материал открывает серию из трёх статей (она продолжает материалы о фаззинге FTP-серверов и FreeRDP), посвящённых фаззинг-тестированию реализации протокола HTTP, представленной в Apache HTTP Server. Это — один из самых популярных веб-серверов и в представлении он не нуждается. Так, Apache HTTP — это один из первых HTTP-серверов, разработка которого началась в 1995 году. По состоянию на январь 2021 года под его управлением работали более чем 300000000 серверов, а значит — он использовался на 26% таких систем и занимал второе место по распространённости, немного уступая лишь Nginx (31%).

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

Читать далее
Total votes 14: ↑14 and ↓0 +14
Comments 1

Фаззинг сокетов: Apache HTTP Server. Часть 2: кастомные перехватчики

Reading time 10 min
Views 2.2K
Wunder Fund corporate blog Information Security *Server optimization *Server Administration *Apache *
Translation

Прим. Wunder Fund: наш СТО Эмиль по совместительству является известным white-hat хакером и специалистом по информационной безопасности, и эту статью он предложил как хорошее знакомство с фаззером afl и вообще с фаззингом как таковым.

В первой статье из этой серии я рассказал о том, с чего стоит начать тому, кто хочет заняться фаззингом Apache HTTP Server. Там мы обсудили разработку кастомных мутаторов в AFL++, поговорили о том, как создать собственный вариант грамматики HTTP.

Сегодня я уделю внимание написанию перехватчиков ASAN, которые позволяют «ловить» баги в кастомных пулах памяти. Здесь пойдёт речь и о том, как перехватывать системные вызовы, нацеленные на файловую систему. Это позволяет выявлять логические ошибки в исследуемом приложении.

Читать далее
Total votes 21: ↑20 and ↓1 +19
Comments 0
1