pwned dan repost
Patch Diffing
Это метод, используемый исследователями безопасности для анализа изменений между различными версиями программного обеспечения. Сравнивая код двух версий одного и того же программного обеспечения, исследователь может выявить изменения в функциях, переменных и потоке управления.
Обычно для анализа берется 2 версии одного ПО - уязвимая версия и версия с исправлениями, с целью поиска изменений, внесенных в программу, которые, возможно, были внесены для устранения уязвимости. Анализируя эти изменения, исследователь может определить точное местоположение и тип уязвимости, что в результате поможет сделать PoC.
Существует целый гайд, включающий в себя полный цикл исследования уязвимости на примере уязвимостей в сервисе Windows - Print Spooler. Помимо этого, многоуважаемый Никита Aligner проводит стримы, на которых занимается анализом уязвимостей. Записи можно найти на канале Reverse Dungeon.
Если для большей части систем нам подойдет IDA Pro + BinDiff, то как обстоят дела с Android? Пустившись в поиски хорошего инструмента, наткнулся на кучу научных и не очень работ от 中国同事, в которых рассказывается о данной проблеме и попытках ее решения, но ни в одной работе результатом не стал готовый инструмент с открытым исходным кодом. Вследствие чего, пора пилить свой, решил взглянуть на обычные code-diff инструменты. Взгляд упал на Gumtree. На вход требуется подать вывод от apktool d, а результатом анализа будет красивый вывод в нескольких форматах об удаленных, добавленных, измененных файлах и измененном коде.
Для анализа нужно получить несколько версий приложения. С этой задачей поможет справиться apkeep, чтобы указать определенную версию используется следующий синтаксис com.app.android@1.3.7. Помимо этого, у меня есть форк данного инструмента, который немного расширяет функционал, например, использовав флаг --all, можно выгрузить все доступные версии через apkpure, а с флагом --extract результатом являются готовые для анализа директории распакованных APK.
#windows #android
Это метод, используемый исследователями безопасности для анализа изменений между различными версиями программного обеспечения. Сравнивая код двух версий одного и того же программного обеспечения, исследователь может выявить изменения в функциях, переменных и потоке управления.
Обычно для анализа берется 2 версии одного ПО - уязвимая версия и версия с исправлениями, с целью поиска изменений, внесенных в программу, которые, возможно, были внесены для устранения уязвимости. Анализируя эти изменения, исследователь может определить точное местоположение и тип уязвимости, что в результате поможет сделать PoC.
Существует целый гайд, включающий в себя полный цикл исследования уязвимости на примере уязвимостей в сервисе Windows - Print Spooler. Помимо этого, многоуважаемый Никита Aligner проводит стримы, на которых занимается анализом уязвимостей. Записи можно найти на канале Reverse Dungeon.
Если для большей части систем нам подойдет IDA Pro + BinDiff, то как обстоят дела с Android? Пустившись в поиски хорошего инструмента, наткнулся на кучу научных и не очень работ от 中国同事, в которых рассказывается о данной проблеме и попытках ее решения, но ни в одной работе результатом не стал готовый инструмент с открытым исходным кодом. Вследствие чего, пора пилить свой, решил взглянуть на обычные code-diff инструменты. Взгляд упал на Gumtree. На вход требуется подать вывод от apktool d, а результатом анализа будет красивый вывод в нескольких форматах об удаленных, добавленных, измененных файлах и измененном коде.
Для анализа нужно получить несколько версий приложения. С этой задачей поможет справиться apkeep, чтобы указать определенную версию используется следующий синтаксис com.app.android@1.3.7. Помимо этого, у меня есть форк данного инструмента, который немного расширяет функционал, например, использовав флаг --all, можно выгрузить все доступные версии через apkpure, а с флагом --extract результатом являются готовые для анализа директории распакованных APK.
#windows #android