Поделиться через


Безопасность отладчика

Возможность отладки другого процесса дает вам чрезвычайно широкие полномочия, которых у вас не было бы в противном случае, особенно при удаленной отладке. Вредоносный отладчик может нанести значительный ущерб компьютеру, который отлаживается.

Тем не менее многие разработчики не понимают, что угроза безопасности также может поступать в противоположном направлении. Вредоносный код в процессе отладки может поставить под угрозу безопасность отладочного компьютера: существует ряд эксплойтов безопасности, которые должны быть защищены.

Рекомендации по обеспечению безопасности

Существует неявная связь доверия между кодом, который вы отлаживаете, и отладчиком. Если вы готовы отладить что-то, вы также должны быть готовы запустить его. Суть в том, что вы должны быть в состоянии доверять тому, что вы отлаживаете. Если вы не можете доверять ему, то не следует отлаживать его или отлаживать его с компьютера, который можно позволить себе поставить под угрозу, и в изолированной среде.

Чтобы уменьшить потенциальную область атаки, отладка должна быть отключена на рабочих компьютерах. По той же причине отладка никогда не должна быть включена на неопределенный срок.

Безопасность управляемой отладки

Ниже приведены некоторые общие рекомендации, которые применяются ко всем управляемым отладкам.

Безопасность удаленной отладки

Локальная отладка обычно безопасна, чем удаленная отладка. Удаленная отладка увеличивает общую область поверхности, которую можно прощупировать.

Монитор удаленной отладки Visual Studio (msvsmon.exe) используется в удаленной отладке и существует несколько рекомендаций по обеспечению безопасности. Предпочтительный способ настройки режима проверки подлинности — это проверка подлинности Windows, потому что режим без проверки подлинности небезопасен.

Диалоговое окно ошибки

При использовании режима проверки подлинности Windows помните, что предоставление ненадежным пользователям разрешения на подключение к msvsmon опасно, так как пользователь получает все ваши разрешения на компьютере, на котором размещена msvsmon.

Не выполняйте отладку неизвестного процесса на удаленном компьютере: возможные эксплойты, которые могут повлиять на компьютер, на котором запущен отладчик, или которые могут скомпрометировать msvsmon. Если необходимо выполнить отладку неизвестного процесса, попробуйте выполнить локальную отладку и использовать брандмауэр для локализации любых потенциальных угроз.

Сведения о настройке msvsmon см. в разделе "Настройка удаленного отладчика".

Безопасность отладки веб-служб

Это безопаснее для локальной отладки, но так как у вас, вероятно, нет Visual Studio, установленной на веб-сервере, локальная отладка может оказаться нецелесообразной. Как правило, отладка веб-служб выполняется удаленно, за исключением во время разработки, поэтому рекомендации по удаленной отладке также применяются к отладке веб-служб. Ниже приведены некоторые дополнительные рекомендации. Дополнительные сведения см. в разделе "Отладка ВЕБ-служб XML".

  • Не включите отладку на веб-сервере, который был скомпрометирован.

  • Убедитесь, что веб-сервер является безопасным перед отладкой. Если вы не уверены, что это безопасно, не отлаживайте его.

  • Будьте особенно осторожны, если выполняется отладка веб-службы, которая предоставляется в Интернете.

Внешние компоненты

Помните о состоянии доверия внешних компонентов, с которыми взаимодействует ваша программа, особенно если вы не написали код. Кроме того, помните о компонентах, которые могут использовать Visual Studio или отладчик.

Символы и исходный код

Два средства Visual Studio, требующие думать о безопасности, являются следующими: