объекты.

тавьте, что у нас есть программа или скрипт, который может принимать аргумент пароля (или другую конфиденциальную информацию):

> program.exe /password:secret

Для Linux лучшая практика обычно рекомендуетпротив указание пароля непосредственно в командной строке из-за потенциальных проблем безопасности (пароль может появиться в файле истории оболочки и в таблице процессов системы):

$ ./program.sh --password 'secret' &
[1] 4152

$ cat /proc/4152/cmdline 
/bin/sh./program.sh--passwordsecret

Однако при поиске я не вижу такой же активной рекомендации для Windows.

При написании программ и скриптов дляWindowsДолжны ли мы предоставить альтернативные средства для ввода пароля помимо аргумента параметра командной строки, чтобы избежать непреднамеренного раскрытия пароля?

Ответ наэтот вопрос предполагает, что специальная подсказка для ввода пароля повышает безопасность, предотвращая серфинг в плечах. Существуют ли другие способы использования видимого пароля в командной строке, который оправдывает написание альтернативных методов ввода, как в контексте оболочки, так и в способе управления процессами Windows?

Меняются ли последствия для безопасности при запуске программы из пакетного файла или сценария PowerShell, который передает пароль в качестве аргумента программе?

$password = # prompt for password 
program.exe /password:$password

редактировать - Я понимаю, что мы можем неверно истолковать этот вопрос как основанный на мнении, потому что я упоминаю «лучшие практики» и «рекомендации», чтобы предоставить справочную информацию. Однако я ищу конкретные доказательства того, как пароль может быть уязвим в аргументе команды, и - если это предположение верно - конкретные примеры или ссылки, которые изображают безопасные альтернативы.

Ответы на вопрос(2)

Ваш ответ на вопрос