Просмотров: 22117

Рядовая математическая утилита оказалась виртуальной машиной с генератором полиморфного кода


BBC Tech сообщает о недавнем забавном инциденте в Берлинском университете, где некая астрономическая программа неожиданно стала сбоить. Чтобы поправить ошибку, университет был вынужден обратиться к сторонним специалистам, так как своими силами разобраться в ней так и не смог, а написавший её автор уволился уже более 5 лет тому назад.

При этом расследование показало, что программа была изначально написана на ассемблере и содержит встроенную оригинальную систему защиты от исследования кода — эта программа динамически генерировала полезный код, и только затем код запускался на исполнение.

Берлинская штучка

Анализ устройства и принципов работы вроде бы безобидной на первый взгляд астрономической программы от давно уволившегося научного сотрудника, потребовал привлечения сразу десятков специалистов, в частности решающий анализ кода предоставил сотрудник немецкого отделения антивирусной лаборатории NOD32.

Программа представляла из себя настоящую виртуальную машину, которая прямо на лету генерировала исполняемый код, только после чего частями запускала его на выполнение в пошаговом режиме трассировки под своим же отладчиком, при этом агрессивно противодействуя любым попыткам запуска фрагментов своего кода под сторонним отладчиком (попытки повреждения Flash BIOS).

Устройство данной программы просто поразило специалистов её обследовавших — сложность её устройства была несопоставимой с целью её предназначения. Остаётся только гадать, какие цели преследовал её автор, фактически разработав оригинальную систему защиты от копирования и отладки, встроив её в простую астрономическую расчетную программку, единственные пользователи которой работали на факультете астрономии и радиофизики Берлинского университета. Программа генерировала многослойный полиморфный защитный код и была буквально нашпигована самыми разными антиотладочными приёмами, что сделало её анализ, по словам специалистов NOD32, — «настоящим вызовом».

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

ошибка программирования роботы программа кодеры говнокодеры генераторы кода ошибки баги юмор прикол смешно вертер робот отладчик

Is it some kind of a joke?

Специалисты считают, что почти наверняка — это была случайная ошибка допущенная автором программы, вряд ли речь может идти о намеренном создании этой уж очень мудреной ситуации-ошибки. Так или иначе, с разрешения кафедры, дизассемблированный код этой программы будет досконально изучен специалистами NOD32, как сказано в оригинальной новости — «в сугубо образовательных и научных целях».

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

twitter.com facebook.com vkontakte.ru odnoklassniki.ru mail.ru ya.ru pikabu.ru blogger.com liveinternet.ru livejournal.ru google.com bobrdobr.ru yandex.ru del.icio.us

Подписка на обновления блога → через RSS, на e-mail, через Twitter
Теги: , , , ,
Эта запись опубликована: Суббота, 19 января 2013 в рубрике Новости.

7 комментариев

Следите за комментариями по RSS
  1. R0maEng1ne v1.2

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

    У нас в 90-тых ещё не такое писали - нужное сочетание: много свободного времени. маленькая зарплата, скукота и желание двигаться куда-то дальше, так рождаются на свет такие полиморфные монстры

  2. "...потребовал привлечения сразу десятков специалистов".

    А обратиться к уволившемуся научному сотруднику у них мозгов не хватило. Бедный Берлинский университет.:)

  3. тут мимо ходом параходом

    R0maEng1ne v1.2 с какого перепуга русский!? как раз то в России программисты барахло!

    Президент Марса, тот программист Alex Shtfontsky на текущий момент у нас в Детройте, и чхать ему на германию (комментарий читаем за февраль в Detroit Free Press)

  4. тоже мима плыл

    детройт тот самый город где сейчас точно не стоит оседать, я думаю он наверно задумался о том как вернуться к астрономам, вот и замутил эту шнягу, но звезды сложились не в его сторону

  5. Прибыл по той же схеме, что и двое предшественников

    Почему, в центре Детроит очень даже ничего). На окраинах конечно не очень^^. Зато там можно поснимать пост-апокалиптические виды! Но вот предположение что он русский... Шовинизм это не хорошо.

  6. случайно попал сюды

    тут мимо ходом параходом

    18.03.2013 в 12:46

    R0maEng1ne v1.2 с какого перепуга русский!? как раз то в России программисты барахло!

    вот уж не надо, в России очень много хороших программистов, просто в основном они все сваливают за бугор, что собственно правильно, так как тут ловить нехрен.

  7. дайте линк на гения

Оставьте комментарий!

Не регистрировать/аноним

Используйте нормальные имена. Ваш комментарий будет опубликован после проверки.

Зарегистрировать/комментатор

Для регистрации укажите свой действующий email и пароль. Связка email-пароль позволяет вам комментировать и редактировать данные в вашем персональном аккаунте, такие как адрес сайта, ник и т.п. (Письмо с активацией придет в ящик, указанный при регистрации)

(обязательно)


⇑ Наверх
⇓ Вниз