Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Возможность отладки другого процесса дает вам чрезвычайно широкие полномочия, которых у вас не было бы в противном случае, особенно при удаленной отладке. Вредоносный отладчик может нанести значительный ущерб компьютеру, который отлаживается.
Тем не менее многие разработчики не понимают, что угроза безопасности также может поступать в противоположном направлении. Вредоносный код в процессе отладки может поставить под угрозу безопасность отладочного компьютера: существует ряд эксплойтов безопасности, которые должны быть защищены.
Рекомендации по обеспечению безопасности
Существует неявная связь доверия между кодом, который вы отлаживаете, и отладчиком. Если вы готовы отладить что-то, вы также должны быть готовы запустить его. Суть в том, что вы должны быть в состоянии доверять тому, что вы отлаживаете. Если вы не можете доверять ему, то не следует отлаживать его или отлаживать его с компьютера, который можно позволить себе поставить под угрозу, и в изолированной среде.
Чтобы уменьшить потенциальную область атаки, отладка должна быть отключена на рабочих компьютерах. По той же причине отладка никогда не должна быть включена на неопределенный срок.
Безопасность управляемой отладки
Ниже приведены некоторые общие рекомендации, которые применяются ко всем управляемым отладкам.
Будьте осторожны при присоединении к процессу ненадежного пользователя: при этом предполагается, что это надежно. При попытке подключиться к процессу ненадежного пользователя появится диалоговое окно предупреждения системы безопасности с запросом на присоединение к процессу. "Доверенные пользователи" включают вас и набор стандартных пользователей, часто определенных на компьютерах с установленной платформой .NET Framework, например aspnet, localsystem, networkservice и localservice. Дополнительные сведения см. в разделе "Предупреждение системы безопасности": присоединение к процессу, принадлежащему ненадежному пользователю, может быть опасным. Если приведенные ниже сведения выглядят подозрительными или если вы не уверены, не подключайтесь к этому процессу.
Будьте осторожны при скачивании проекта из Интернета и его загрузке в Visual Studio. Это очень рискованно сделать даже без отладки. При этом предполагается, что проект и код, содержащиеся в нем, являются надежными.
Дополнительные сведения см. в разделе "Отладка управляемого кода".
Безопасность удаленной отладки
Локальная отладка обычно безопасна, чем удаленная отладка. Удаленная отладка увеличивает общую область поверхности, которую можно прощупировать.
Монитор удаленной отладки Visual Studio (msvsmon.exe) используется в удаленной отладке и существует несколько рекомендаций по обеспечению безопасности. Предпочтительный способ настройки режима проверки подлинности — это проверка подлинности Windows, потому что режим без проверки подлинности небезопасен.
При использовании режима проверки подлинности Windows помните, что предоставление ненадежным пользователям разрешения на подключение к msvsmon опасно, так как пользователь получает все ваши разрешения на компьютере, на котором размещена msvsmon.
Не выполняйте отладку неизвестного процесса на удаленном компьютере: возможные эксплойты, которые могут повлиять на компьютер, на котором запущен отладчик, или которые могут скомпрометировать msvsmon. Если необходимо выполнить отладку неизвестного процесса, попробуйте выполнить локальную отладку и использовать брандмауэр для локализации любых потенциальных угроз.
Сведения о настройке msvsmon см. в разделе "Настройка удаленного отладчика".
Безопасность отладки веб-служб
Это безопаснее для локальной отладки, но так как у вас, вероятно, нет Visual Studio, установленной на веб-сервере, локальная отладка может оказаться нецелесообразной. Как правило, отладка веб-служб выполняется удаленно, за исключением во время разработки, поэтому рекомендации по удаленной отладке также применяются к отладке веб-служб. Ниже приведены некоторые дополнительные рекомендации. Дополнительные сведения см. в разделе "Отладка ВЕБ-служб XML".
Не включите отладку на веб-сервере, который был скомпрометирован.
Убедитесь, что веб-сервер является безопасным перед отладкой. Если вы не уверены, что это безопасно, не отлаживайте его.
Будьте особенно осторожны, если выполняется отладка веб-службы, которая предоставляется в Интернете.
Внешние компоненты
Помните о состоянии доверия внешних компонентов, с которыми взаимодействует ваша программа, особенно если вы не написали код. Кроме того, помните о компонентах, которые могут использовать Visual Studio или отладчик.
Символы и исходный код
Два средства Visual Studio, требующие думать о безопасности, являются следующими:
Исходный сервер, который предоставляет версии исходного кода из репозитория исходного кода. Полезно, если у вас нет текущей версии исходного кода программы. Предупреждение системы безопасности: отладчик должен выполнить ненадежную команду.
Сервер символов, который используется для предоставления символов, необходимых для отладки сбоя во время системного вызова.
Связанный контент
- Параметры отладчика и подготовка
- Первое знакомство с отладчиком
- Предупреждение безопасности: присоединение к процессу, принадлежащему ненадежному пользователю, может быть опасно. Если приведенные ниже сведения выглядят подозрительными или не уверены, не присоединяйтесь к этому процессу.
- Предупреждение системы безопасности: отладчик должен выполнить ненадежную команду