Хотел спросить - а как собственно их ищут? Допустим в прикладном софте? В открытом и закрытом? В закрытом - дизасмят? А в открытом - читают сорцы или же тоже ищут на низком уровне? Или и так, и так? Интересует мнение прежде всего тех, кто с этим сталкивался/сталкивается. Алсо интересует мнение Криса Касперски, который тут как я вижу обитает. ) ЗЫ Просьба тему не засерать. Флудерасты пусть пройдут в свой Висуал Васик и напишут Хелло Ворлд десять раз по-гречески, полегчает.
т.е., переполнения буфера, повреждение памяти и т.д. - все тупой подбор неких данных? диз(ассемблер) не рулед?
Guru_of_Zen > переполнения буфера, повреждение памяти и т.д. - все тупой подбор неких данных? > диз(ассемблер) не рулед? ну это слишком большое упрощение. фуззеры и ms может запустить с тем же успехом она ж не настолько тупа, чтобы этого не сделать. разве что она не может сообразить что вообще можно отфузить. иногда ошибки всплывают в очень разных местах. но это абстрактная теория. давайте ближе к практике. помните дыру в swf? чувак который ее нашел писал свой транслятор. и его траслятор сгенерил код, который никогда не генерил транслятор от adobe, и который обрушил виртуальную машину. чувак удивленно повел ушами и в декабре 2008 года отписал на форум адобы с двумя примерами как это отхачить. никто не почесался. только летом начали юзать эту дыру. причем досе юзают только getlex, хотя там намного больше векторов... дыра в кросс-скриптинге в опере была так же обнаружена веб-дизайнером случайно. и не только она. можно даже сказать, что большинство дыр находятся теми, что их даже не ищет. дизасм, конечно, тоже рулит, причем довольно круто рулит. потому как вдумчимо разбирая непонятый код той же винды мы замечаем в нем ошибки, которые ускользают при беглом просмотре сорцов. но опять - случайно. вот Юрий Харон пишет линкер и потому вылавливает ТУЧИ багов в винде. правда, большинство из них к безопасности никакого отношения не имеют, но если почитать что он пишет, то вообще удивляешься как при таком кол-ве багов винда ухитряется грузить файлы и не падать каждые пять секунд.
Не обязательно тупой, есть большое кол-во фаззеров, которые генерируют данные основываясь на специально составленных шаблонах, которые описывают сетевой протокол или формат файла. Дизассемблер рулит, но только для достаточно узкотаргетированных исследований, а если стоит задача проверить большое кол-во приложений на уязвимость при обработке определённых файлов - то реверсить их все не нужно и нецелесообразно. Больше всего хлопот при фаззинге доставляют сложные объектные форматы, типа PDF или докумментов Microsoft Office - трудозатраты на реализацию грамотного генератора некорректных данных под них сопоставимы с трудозатратами на реверсинг самого приложения, но в первом случае главным плюсом будет являться универсальность разработанного инструмента: ним можно будет прогнать, к примеру, хоть Adobe Reader, хоть Xpdf хоть любой другой вьювер для данного формата.
btw, где он пишет? UniLink довольно грамотный линкер, радует. Да и доки тоже неплохо написаны к нему.
kaspersky Cr4sh *пошел за книгами по фуззингу и за ЛСД, дабы обрести просветление и понять вами написанное*
Guru_of_Zen Позволю себе заметить, книга посвященная фазингу которую читал (Исследование уязвимостей методом грубой силы), мягко говоря, не соответствует уровню людей которые этим вопросом интересуются (500 или 600 страниц, ниочём ). Лучше уж своя бошка на плечах, собственноручно сделанный фаззер(простенький, а вроде никакой другой и не нужен) ,и дизаассемблер. Вообще я не искал никакие уязвимости в программе используя только дизасм. Дизасм помогает при исследование прог с открытым кодом =)
вот смотрите http://zaq1.co.cc/iebag.jpg это баг в mshtml.dll? просто лазя по инету уже штуки три таких нашел и еще в других библиотеках тоже
cornolio > вот смотрите http://zaq1.co.cc/iebag.jpg это баг в mshtml.dll? опа! ты меня купил я сдруру подумал что это "заряженный" файл и полез искать шелл-код. ниххх не наешл. сильно огорчился. и только потом открыл. любой крэш браузера это баг. по меньшей мере дос. (не)возможность выполнения шелл-кода зависит от... не все баги приводят к возможности исполнения. wh > зачем спрашивать и пальцы гнуть, если ты ламер все равно? "учите мат. часть" (с) ламер это чайник выдающий себя за гуру, чем и вызывающий раздражение окружающих. в данном случае этого не наблюдается. или я что-то упустил?