Flash Ripper RSS Readers

Флещь опасносте!11 или снова смерть декомпиляторам?

О новом Flash Player 9.0.124 мы уже писали: он поддерживает новую политику безопасности. А что за политика? Большая политика. Речь идет о глобальной AS-уязвимости Flash Player всех версий, кроме самой последней — 9.0.124. И похоже, что флэш-декомпиляторам может прийти крышка от старых добрых манипуляций с байткодом.

Подробно на все вопросы отвечает статья от Nox Noctis: Тотальная уязвимость Flash Player.

Вы не смотрите, что я пишу в шутливом тоне. Это я от волнения. Дело на самом серьезное, читать и понимать статью — срочно.

Писал Rost, 18 Апрель 2008 14:08

Найдены баги:

то что один человек скомпилил, другой завсегда декомпилить сможет... =)

Moulin Cook™. 18 Апрель 2008 17:12

Не знал что манипуляции с байткодом декомпилерам уже пофиг

Fernando Costa™. 18 Апрель 2008 17:16

Любителей bytecode cloacking нужно расстреливать в детстве из рогатки. Сделать код недекомпилируемым можно и без этого.

PS Рост, а предложение в заголовке -- оно на каком языке? ;)

Max™. 18 Апрель 2008 18:09

Не понял, а при чём тут декомпиляторы?

Dan™. 19 Апрель 2008 8:11

Особых причин радоваться не вижу. Да, нашли уязвимость - можно делать bytecode tricks. В следующем апдейте плеера адоб уязвимость закрывает - "защищенные" флешки перестают работать. Кому такое надо?

Ivan Azarov™. 19 Апрель 2008 13:06

Если прочитать внимательнее, то можно увидеть, что флешки не должны переставать работать с новыми версиями. Там почти это и написано. Честно говоря, не читал статью Нокса(счас исправлюсь) - использовал для этих целей оригинал.
А, вообще, достаточно перепутать типы тегов в SWF-файле и ниодин декомпилер не отдекомпилит. Защитится методов уйма, смотреть нужно только на важность и значимость информации и алгоритмов, которые прячете.

a_[w]™. 20 Апрель 2008 0:50

Погорячился с комментарием - всё может быть и по всякому. Я не учёл момента, что не знаю, как адобовцы решили эту проблему. :)))

a_[w]™. 20 Апрель 2008 0:58

Уязвимость не в байт-коде, а в теге DefineSceneAndFrameLabelData.
Она позволяет записать некоторые заранее заданное значение в некоторую заранее заданную область памяти (в адресном пространстве Flash-плеера).

Но так как набор возможных адресов ограничен, то стандартный в таком случае приём - прямое внедрение кода в какую-либо функцию или модификация адреса какого-либо вызова - сильно усложняется.

Поэтому Марк использует обходной манёвр - с помощью данной уязвимости модифицирует одну из таблиц, используемую верификатором.

Исправляется уязвимость путём закрытия любого из двух багов в обработке тега DefineSceneAndFrameLabelData.
Их действительно два: первый состоит в том, что целочисленное значение проверяется как знаковое, а используется как беззнаковое. В результате отрицательное число проходит проверку, но при использовании превращается в большое число.
Второй состоит в том, что нет проверки на NULL после вызова mem_Calloc().
Исправление любого из этих багов закроет уязвимость.

При чём тут декомпиляторы и протекторы?

Dan™. 20 Апрель 2008 11:31
Написать багрепорт:










Можно: a href target, b, i, stroke, blockquote, code, pre, small, img src width height border, strong, em
Нельзя: [ EГГОГ #61: Список запретов пус#$6545 ]


Запомнить тебя?






Это запись из категории 'Security'. 10 еще cвежих:

Архивы по категориям:

3D-15, Adobe AIR-25, Architecture-2, ARP-1, Art-25, Articles-25, AS3-51, Books-6, Business-3, Cairngorm-2, CI-1, Classes-10, Coding-29, Community-111, Components-19, Contests-26, Debug-17, Design-25, Development-84, Events-11, Extensions-2, FAQ-7, FDS-1, Flash and html-3, Flash Player-32, Flash Updates-7, Flash-scene-1, FlashLite-2, Flex-30, Flex 2-80, Flickr-1, FMS-1, FPUG-28, Games-11, Good Job!-33, HaXe-13, Health-2, Humor-7, Ideas-13, JavaScript-1, Job-23, JSFL-8, Maps-1, Math-8, Money-10, MXML-1, Open Source-15, Patterns-8, Personalities-26, Politics-1, Preloading-3, Productivity-9, Pv3d-1, Rafpug-4, Red5-3, Remoting-11, Resources-20, Ruby-6, Security-11, SEO-6, Silverlight-4, Sound-1, Strategy-119, Tools-112, Training-2, Trash-8, Usability-4, Video-6, VoIP-4, Wallop-1, Wishlist-2, Архив всех записей (большой)

За последние месяцы:

Май 2008: Macromedia Flex, Brady и Partridge. Продукты для профессионалов, Вышла новая версия Adobe Acrobat Connect Pro для ICQ,

Апр 2008: Программирование под флэш платформу. Cтатья (местами спорная), Advanced Flash Components бесплатно раздает все свои AS2-компоненты,

Мар 2008: Зарплаты программистов в 2007 году, FlashPhone как технология года? Технология года? В Рунете?,

Фев 2008: ЙА ФПУГ — регистрация на первую встречу UAFPUG продолжается, Закулисы Flex и секрет успеха опенсорс-проекта,

Янв 2008: Sprout Builder в действии: отжиг из бета-версии. Песня!, Уроки по PureMVC — много, понятно и на русском,

Дек 2007: Флэш-программистеры и флэш-программиссиссы!, Как я провел зиму, весну, лето и осень 2007 года,





Примечания:
Статус документа
: в процессе
   2002-2007 Производство: Рост Прибыли · О проекте · Подписка на новости (RSS)