Для поиска уязвимостей неплохо бы сначала установить с какой целью они ищутся. Нужно оценить и сопоставить рынок сбыта/область применения с собствеными возможностями. Чем глубже у тебя знание какого-то продукта, тем проще найти уязвимость.
jeer0, Не правда, я кучу времени провёл в дизасме win32k.sys большую его часть прошёл вручную и бестолку. Нужно искать где то крэш, анализить ошибку. Теоретически можно проанализировать какой то код и найти ошибки, но это столь сложная задача, что одному её поднять невозможно в приемлемое время(годы), да и группой это слишком сложно сделать, видимо поэтому решения и нет. Иначе бы сам вендор это сделал.
один из самых лёгких способов обрушить целевую прогу == это заставить её работать в "тесной" комнате, то бишь урежь озу / сделай медленный хдд. И начнут вылезать самые стрёмные стрёмности
По теме: http://www.dumpanalysis.org/ ( http://web.archive.org/web/20080309024455/http://www.dumpanalysis.org/blog/ http://web.archive.org/web/20090323144043/http://www.dumpanalysis.org/ )
UbIvItS, Это сделать элементарно, любой ядерный вызов, на который нет ограничений на число вызовов. Память будет исчерпана, ось начнёт глючить и поведение её станет не предсказуемо, отвалится всё при крэшах приложений, которые используют критические для системы ресурсы, ядро будет до конца пытаться использовать своп, оно не упадёт(будут урезаться рабочие наборы, сервисы возвращать в юзер ошибки и апп отваливаться).
1. ошибки синхронизации в многопоточных приложениях вполне отлавливаются == блокировка расшаренных ресурсов не всегда прописана правильно. 2. течи озу начинают себя показывать во всей красе. 3. выделение ресурсов опять же не всегда идёт с должной проверкой и прожка отваливается с сегфолт. === много чего выскакивать может.
Потому что сложно представить более заезженную attack surface, чем win32k. Defender кто-нибудь смотрел?
jeer0, забавно. все думал о таком.. но руки так и не дошли. вообще это все уже давно говорилось. лет с 10 назад все ударно реверсилил дрова каспера и дрвеба на предмет дыр. про дефендер как-то не обращал внимания, но про боевое ничего не слышал на базе такого, но я не показатель =) ТС ты на счет автоматики разузнал? апну тему.
вообще ниче не разузнал. Я так понял это либо в глубоких приватах, либо правда анализируют тупо дампы. Я так понимаю trendmicro zero initiative просто собирает краш дампы приложений при помощи своего антивируса и шлет в лабу, где это крутят. Насчет гугла -хз...
Снова апну. Разузнал, большинство аналитиков юзает подобные технологии: https://habr.com/company/dsec/blog/142575/
zerodawn, Да, это DBI который мы обсуждаем в теме рядом про анклавы. Это не пригодно для обнаружения уязвимостей. Точнее в принципе теоретически можно выполнить проверку валидности DFG. Но пока нет решений, это весьма сложная алгоритмическая задача. Это не более чем инструменты уровня POC, смысл которых не ясен и они все анстаб. Это даже не используется для распаковки - слишком кривые и толстые(не нэйтив) реализации.
По теме ответ, под ядро линукс гугл прожект зеро использует syzkaller + гугл клауд платформу + свои доработки.
YARD, это не совсем ответ. фаззер апи слабо коррелирует с поиском сплоитов в 2018 году. не все так просто может быть. для чего гугл клауд? что за свои наработки? вангую на дби для юм. хз что там про км, возможно с виртуализацией смотрел бы что-то. по сути ты ничего не ответил =) хотя не мой профиль, долбить сплоиты - что может быть унылее =))) имхо
апну тему а смотрел ли кто в таком направлении - перегнать апп в llvm ir и дальше уже работатать с ним? сузить поиск на этом этапе и потом уже в "динамике" через dbi (реализация не важна) смотреть прицельно.