Анна Антоненко, занимающаяся разработкой встраиваемых систем и в свободное время развивающая операционную систему BOSS (BEAM-based Operating System with Security), опубликовала результаты обратного инжиниринга музыкального синтезатора Yamaha PSR-E433. В ходе проведённой работы в синтезаторе был выявлен обфусцированный shell-интерфейс, позволивший организовать выполнение своего кода на уровне прошивки. Доступ к shell-интерфейсу осуществляется посредством отправки MIDI-пакетов с сообщениями SysEx, которые можно передать при подключении синтезатора через порт USB. Полученные в ходе обратного инжиниринга сведения о чипе и прошивках, а также примеры кода и отладочные дампы размещены на GitHub.
Дальнейшее изучение прошивки показало, что команды обрабатываются в пакетах, всегда начинающихся с одних и тех же 8 байт данных и заканчивающихся кодом 0xf7. Так как внешнее взаимодействие с синтезатором осуществляется только через MIDI, а в спецификации MIDI предусмотрен специальный служебный тип сообщений SysEx, было предположено, что именно он может использоваться для передачи команд. Догадку также подкрепляло то, что сообщения SysEx и пакеты, разбираемые оболочкой, начинались с одного кода 0xf0, за которым следовал идентификатор производителя 0x43 (Yamaha).
Для проверки гипотезы был написан Python-скрипт, который транслировал вводимые данные в пакеты протокола MIDI. И метод сработал:
login
passwd? #0000
login OK
> help
logout
help
?
info
ver
stack
perf-on
perf-off
perf-disp
d
dp
d xxxxx
d/s xxxxx
m ADDRESS DATA
m/b ADDRESS DATA
m/w ADDRESS DATA
m/l ADDRESS DATA
> info
DevelopName PSR-E433
DevelopNumber #3341
Main DevelopNumber #3341
Make data & time MAY 16 2012 19:00:57
J/E Select English
>
В подсказке, показанной при отправке команды "help", среди прочего присутствовали команды для изменения содержимого памяти. При помощи данных команд можно было загрузить произвольный код в память и передать на него управление, подменив указатель в стеке, используемый для возврата после завершения обработки команды. В качестве эксперимента в неиспользуемой области памяти было размещено написанное на ассемблере простейшее приложение, выводящее строку "HeloWrld" в 8-символьный индикатор ЖК-дисплея. Программа была оформлена в виде обычного MIDI-файла, который достаточно было передать на устройство.
Я рада что ты снова интересуешься хохлушками.
И бэкдорами
И бэкдорами
Ну и это, да.
Новость действительно интересная. Завтра внимательно прочитаю и посмотрю, что она там нашла.
самоирония у меня не пропадала) не только интересуюсь, но и тебя даже заинтересовал)
а кроме того, сосискин - мамкин пирожок и вахтер
но и тебя даже заинтересовал)
Ты только теги правильно ставь, а то в следующий раз не получится.
а я думаю, что раз в этот раз получилось, то и в следующий раз не промахнусь)
а кроме того, сосискин - мамкин пирожок и вахтер
В этот раз я увидела, а в следующий могу не увидеть. Ты тэг правильно ставь.
Уважаемая александра, ты опять совершаешь свою обычную ошибку.) Не нужно разговаривать с людьми в указательном тоне. Увидишь ты или не увидишь - это имеет значение исключительно для тебя самой)
а кроме того, сосискин - мамкин пирожок и вахтер
Завтра внимательно прочитаю и посмотрю, что она там нашла.
Хочешь перенять опыт? Гнобить бедных акынов из кафэшек за неправильные ноты?
За неправильные ноты надо палкой бить, а не гнобить
Ты это Саньке говори, не мне.
вот так вот
сидишь, работаешь на своем синтезаторе ямаха
а в это время кто то получает на нём рута и дедосит твою зубную щетку
как страшно жить
как страшно жить
Это да, особенно если ты такой себе безопасник.
особенно если ты не безопасник
Интересно с одной стороны, но практическое применение непонятно какое
мы сейчас про хохлушек или про бекдоры? в данном конкретном случае я не занимаюсь ни музыкой, ни айтишницами. практического применения 0.0, просто интересный факт, как был найден отладочный интерфейс.
а кроме того, сосискин - мамкин пирожок и вахтер
но практическое применение непонятно какое
Возможно околонулевое.
Тырить контеннт у студий, перепродавая конкурентам. Студии работающие со стриминговыми сервисами, оказывается, живут в лютейшей озлобленной конкуренции. Там экшн поживее любой реальной войны у них творится.
«https://github.com/portasynthinca3/randalloc#contribution-policy Yerevan» Алсо ещё вангую это на самом деле пидор
я сразу заподозрил, что нормальная украинка не будет писать код! [ убрал тег ]
а кроме того, сосискин - мамкин пирожок и вахтер
Украинка нашла бекдор в синтезаторе Ямаха
А дальше что случилось? Зашили бекдор то? или может воспользовались им? Потому что я не понимаю, плакать мне или радоваться. Мне ничего не говорит тот факт, что некоторые команды, определённо начинающиеся, как-то одинаково заканчиваются; если кому-то эта информация полезна, я буду удивлён. А от Python-скрипта также толку ноль, потому что на деле не применимо. Поэтому у меня не может быть никакого комментария к этому, кроме как “👍” , “рад за вас”





