
Проблема безопасности, существующая уже одиннадцать лет, означает, что вредоносные приложения для Mac могли отображаться как подписанные Apple, обманывая многие инструменты, предназначенные для их обнаружения.
Эта проблема, вызванная нечеткими рекомендациями Apple, означала, что вредоносное ПО могло попасть в белый список множества инструментов, используемых как частными лицами, так и компаниями…
ArsTechnica объясняет проблему.
Цифровые подписи являются основной функцией безопасности для всех современных операционных систем. Криптографически сгенерированные подписи позволяют пользователям с полной уверенностью знать, что приложение было подписано цифровой подписью с использованием закрытого ключа доверенной стороны. Но, по словам исследователей, механизм, который многие инструменты macOS использовали с 2007 года для проверки цифровых подписей, было тривиально обойти. В результате любой мог выдавать вредоносный код за приложение, подписанное ключом, который Apple использует для подписи своих приложений.
Этот метод работал с использованием двоичного формата, также известного как Fat или Universal файл, который содержал несколько файлов, написанных для разных ЦП, используемых в Mac на протяжении многих лет, таких как i386, x86_64 или PPC. Только первый так называемый файл Mach-O в пакете должен был быть подписан Apple. По крайней мере, восемь сторонних инструментов показывали другой неподписанный исполняемый код, включенный в тот же пакет, как подписанный Apple. Среди затронутых сторонних инструментов были VirusTotal, Google Santa, Facebook OSQuery, Little Snitch Firewall (см. ниже), Yelp, OSXCollector, Carbon Black’s db Response и несколько инструментов от Objective-See.
Другими словами, вы могли иметь файл, который содержал законную версию приложения для PPC и вредоносное ПО для Intel, и инструменты обманывались, применяя белый список PPC к версии для Intel. Затем это вредоносное ПО отображалось бы как подписанное Apple.
Проблема, по словам исследователя безопасности Патрика Уордла, чьи собственные приложения Objective-See были затронуты, заключается в том, что документация Apple была неясной.
Обход был результатом неоднозначной документации и комментариев, предоставленных Apple для использования общедоступных программных интерфейсов, которые обеспечивают работу проверок подписи.
«Хочу уточнить, это не уязвимость или ошибка в коде Apple… в основном, просто неясная/запутанная документация, которая привела к тому, что люди неправильно использовали их API», — сказал Уордл Ars. «Apple обновила [свои] документы, чтобы сделать их более понятными, а сторонние разработчики просто должны вызывать API с более полным флагом (который всегда был доступен)».
Apple прояснила документацию, что должно привести к тому, что разработчики сторонних инструментов исправят проблему.
Обновление: Little Snitch сообщает нам, что, хотя их брандмауэр показывал приложение как действительное, он регистрировал несоответствие, когда вредоносное приложение запрашивало сетевое подключение. По умолчанию в такой ситуации подключение блокировалось. Теперь проблема решена, и неподписанные приложения больше не отображаются как действительные. Подробнее см. их блог.
Смотрите 9to5Mac на YouTube для получения дополнительных новостей об Apple: