пятница, 14 октября 2016 г.

Сомнительная уязвимость: атакуем каталог приложения, чтобы обмануть... самого себя?

Это перевод Dubious security vulnerability: Attacking the application directory in order to fool yourself? Автор: Реймонд Чен.

Нам отправили примерно такой отчёт о найденной уязвимости в безопасности:
В программе XYZ.EXE есть уязвимость. Если вы поместите в каталог с XYZ.EXE файл CABINET.DLL, то программа XYZ.EXE загрузит ваш CABINET.DLL, вместо реального системного. Когда XYZ.EXE попросит повышение прав, пользователь разрешит его - и тогда "хакнутая" CABINET.DLL будет выполняться под администратором.
Ээээ... OKей.

Во первых, это атака на каталог приложения, а каталог приложения считается доверенным местом. Если вы даёте кому-либо право писать в каталог вашего приложения, то этим вы даёте ему контроль за вашим приложением. Поэтому не надо так делать.

Этот конкретный отчёт пытается замаскировать суть дела введением диалога на повышение прав, но смысл от этого не меняется. Посмотрите с другой стороны: кто здесь атакующий, а кто - жертва?

Атакующий - это пользователь, который создаёт ловушку в каталоге приложения. Жертва - это пользователь, который запускает приложение и попадает в ловушку. Но как вы (атакующий) заставили жертву зайти в вонючую ванну? Какую бы технику вы не использовали, чтобы убедить пользователя запустить приложение из вашей "ванны", вы точно так же можете использовать ровно этот же подход, чтобы запустить вредоносный код напрямую; нет необходимости атаковать каталог приложения.

Другой вариант: жертва - это сам пользователь, который запускает приложение XYZ.EXE и обнаруживает, что он только что попался в свою собственную ловушку. Если вы обманули сами себя - то это не совсем уязвимость с повышением прав.

Комментариев нет:

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

Можно использовать некоторые HTML-теги, например:

<b>Жирный</b>
<i>Курсив</i>
<a href="http://www.example.com/">Ссылка</a>

Вам необязательно регистрироваться для комментирования - для этого просто выберите из списка "Анонимный" (для анонимного комментария) или "Имя/URL" (для указания вашего имени и ссылки на сайт). Все прочие варианты потребуют от вас входа в вашу учётку (поддерживается OpenID).

Пожалуйста, по возможности используйте "Имя/URL" вместо "Анонимный". URL можно просто не указывать.

Ваше сообщение может быть помечено как спам спам-фильтром - не волнуйтесь, оно появится после проверки администратором.