
Фреймворк для тестирования безопасности iOS

Needle — это open source модульный фреймворк, предназначенный для упрощения процесса оценки безопасности iOS-приложений.
ВНИМАНИЕ: Этот инструмент снят с эксплуатации и больше не поддерживается. Мы оставляем оригинальный проект в архивных целях.
Изначально Needle был создан для работы с iOS 9 и iOS 10. С тех пор был выпущен Frida, который стал де-факто инструментом для оценки безопасности мобильных приложений. Некоторые распространённые скрипты безопасности для мобильных устройств на базе Frida позже были реализованы в Needle, поскольку некоторые из них работали лучше или решали проблемы, присутствовавшие в собственных инструментах Needle.
С выходом iOS 11 появились дополнительные механизмы защиты, которые были полезны для пользователей, но оказались неблагоприятны для Needle. Эти улучшения по сути сломали функциональность Needle, и F-Secure оказалась перед выбором из двух вариантов:
F-Secure выбрала второй вариант, так как некоторые из её консультантов уже начали использовать и вносить вклад в другой инструмент, когда обсуждалась судьба Needle. Этот сторонний инструмент называется Objection и находится здесь:
https://github.com/sensepost/objection
Needle по-прежнему можно использовать на устройствах под управлением iOS 10 и ниже. Если устройство работает на iOS 11 или выше, F-Secure рекомендует использовать Objection.
Оценка безопасности iOS-приложения обычно требует множества инструментов, каждый из которых разработан для конкретной задачи и имеет разные режимы работы и синтаксис. Экосистема Android располагает такими инструментами, как «drozer», которые решили эту проблему и стремятся быть «универсальным решением» для большинства сценариев использования, однако для iOS эквивалента не существует.
Needle — это фреймворк для тестирования безопасности iOS от MWR, представленный на Black Hat USA в августе 2016 года. Это open source модульный фреймворк, который направлен на упрощение всего процесса оценки безопасности iOS-приложений и служит центральной точкой для проведения таких оценок. Needle предназначен для использования не только специалистами по безопасности, но и разработчиками, стремящимися защитить свой код. Некоторые примеры областей тестирования, охватываемых Needle: хранение данных, межпроцессное взаимодействие, сетевые взаимодействия, статический анализ кода, хукинг и защита бинарных файлов. Единственное требование для эффективной работы Needle — наличие джейлбрейкнутого устройства.
Релиз версии 1.0.0 принёс серьёзную переработку ядра и внедрение нового нативного агента, написанного целиком на Objective-C. Новый NeedleAgent — это open source iOS-приложение, дополняющее Needle и позволяющее программно выполнять задачи на устройстве нативно, устраняя необходимость в сторонних инструментах.
Needle был представлен и использовался на мастер-классах различных международных конференций, таких как Black Hat USA/EU, OWASP AppSec и DEEPSEC. Он также был включён ToolsWatch в шорт-лист Лучших инструментов безопасности 2016 года и упоминается в Руководстве по тестированию мобильной безопасности OWASP.
Needle — это программное обеспечение с открытым исходным кодом, поддерживаемое MWR InfoSecurity.
Подробности смотрите в Руководстве по установке на странице Wiki проекта.
Инструкции по использованию (как для обычных пользователей, так и для контрибьюторов) можно найти в Wiki проекта.
Needle распространяется по лицензии BSD с 3 пунктами. Полные условия приведены в файле LICENSE.
Новости и обновления — следите за @mwrneedle в Twitter и читайте блог MWR Mobile Tools.
Не стесняйтесь сообщать о проблемах или писать нам в Twitter — @mwrneedle, @lancinimarco.