우리가 암호 (또는 기타 민감한 정보)를 인수 걸릴 수있는 프로그램 또는 스크립트가 상상해 : Linux의Windows 명령에서 암호 인수를 사용하는 것이 안전합니까?
> program.exe /password:secret
을, 가장 좋은 방법은 일반적으로에 대한 명령 줄 때문에 직접 암호를 지정하는 것이 좋습니다 잠재적 인 보안 문제 (암호는 쉘의 기록 파일 시스템의 프로세스 테이블에 나타날 수) : 주변 검색 할 때
$ ./program.sh --password 'secret' &
[1] 4152
$ cat /proc/4152/cmdline
/bin/sh./program.sh--passwordsecret
그러나, 나는 Windows 용 같은 활발한 추천을 볼 수 없습니다.
Windows에 대한 프로그램 및 스크립트를 작성할 때 실수로 암호가 노출되는 것을 방지하기 위해 명령 줄 옵션의 인수 외에 암호를 입력 할 수있는 다른 방법을 제공해야합니까?
this question에 대한 대답은 전용 암호 입력 프롬프트가 어깨을 감싸는 것을 방지하여 보안을 향상 시킨다는 것을 나타냅니다. 셸의 컨텍스트와 Windows에서 프로세스를 관리하는 방법에서 대체 입력 방법을 쓰는 것을 정당화하는 명령 문자열에서 보이는 암호를 이용하는 다른 방법이 있습니까?
암호를 프로그램의 인수로 전달하는 배치 파일이나 PowerShell 스크립트에서 프로그램을 시작할 때 보안 관련 내용이 변경됩니까?
$password = # prompt for password
program.exe /password:$password
편집 - 난 우리가이 질문을 잘못 해석 할 수 있음을 이해 의견을 기반 나는 배경을 제공하는 "최상의 방법"과 "추천"을 언급하기 때문이다. 그러나 암호가 명령 인수에서 어떻게 취약 할 수 있는지 보여주는 특정 증거를 찾고 —이 가정이 유효한 대체 사례 인 — 구체적인 예 또는 참조 인 경우이를 찾아야합니다.
평문 비밀번호는 '쇼 기록'에 표시되거나 세션의 위/아래 화살표를 사용하여 표시됩니다. '최상의 방법'은 DPAPI (보안 문자열)를 사용하거나 Windows의 인증에 의존합니다. – TheIncorrigible1