Никто не знает точно, как выглядит мифический китайский зверь Цилинь. В одних источниках его описывают как копытного дракона с рогами, но в других намекают, что он больше похож на жирафа. А для нас это просто редкая возможность разместить здесь красивую старинную картинку для привлечения внимания, вместо скучного скриншота с кодами.
Ну а теперь — про коды. В проектах по анализу защищённости одним из самых трудоёмких дел является фаззинг прошивок. Здесь и приходит на помощь фреймворк для эмуляции Qiling, названный в честь сказочного зверя Цилиня.
Qiling ведёт своё происхождение от другого мифического существа — Единорога, то есть фреймворка Unicorn, что обещает нам обилие эмулируемых архитектур (8086, X86, X86_64, ARM, ARM64, MIPS, RISC-V, PowerPC). Архитектурное разнообразие Unicorn имеет обратную сторону в виде отсутствия возможностей по работе с кодом, предполагающим запуск в операционных системах (syscalls, FS, etc.).
Здесь-то Qiling и проявляет себя во всей красе. Он не просто имеет хороший набор уже реализованных сущностей, но и предоставляет минималистичные rootfs-ы для многих наборов архитектур и операционных систем. А ещё всё это имеет реализацию на Python, что позволяет почти безболезненно дописывать что-то отсутствующее прямо "на ходу".
Подробнее о том, как фаззить с помощью копытного дракона — читайте в статье Никиты Прошина "Расчехляем Qiling, или Фаззинг прошивок: эмуляция вместо железа".
Post #134
2.36K

- 🔥 9
- 👍 7
- ❤ 2