민감한 정보를 터미널 출력에 인쇄해도 안전합니까?

민감한 정보를 터미널 출력에 인쇄해도 안전합니까?

print특히 Python 함수의 안전성 에 대해 묻고 있습니다 . 비밀번호를 생성하고 종료하기 전에 .printout을 사용하여 터미널 출력에 인쇄하는 Python 스크립트가 있습니다 print(). 보안에 관해 몇 가지 질문이 있습니다.

권한이 없는 프로세스(사용자 공간에서 실행 중인 프로세스)는 다음을 통해 출력에 액세스할 수 있습니다.

  1. 터미널 화면이나 GUI의 내용을 읽으시나요? 나의 제한된 연구에 따르면 (1,2) 이는 X Windows 시스템을 사용하는 시스템에서는 가능한 것으로 보이지만 Wayland에서는 그렇지 않습니다.

  2. 파일 설명자를 읽거나 유사한 방법을 통해 읽으시나요? 나는 노력했다cat /dev/pts/14그리고tail -f /proc/<pid>/fd/1, 그러나 내 실험에 따르면 그 중 아무 것도 작동하지 않으며 왜 그런지 잘 모르겠습니다.

  3. 터미널 출력 로그나 어딘가에 저장된 일부 출력 기록을 읽는 중입니까(의도적으로 설치/활성화하지 않은 경우)?

  4. 해제된 프로세스의 메모리 위치를 읽으시겠습니까? 즉, Python 스크립트 실행이 완료되면 프로세스가 실행되는 동안 저장된 메모리 블록에 비밀번호 값이 남아 있습니까?

  5. Python으로 인쇄된 특정 로그를 읽음으로써?

  6. 다른 방법으로?

관련 정보