print
특히 Python 함수의 안전성 에 대해 묻고 있습니다 . 비밀번호를 생성하고 종료하기 전에 .printout을 사용하여 터미널 출력에 인쇄하는 Python 스크립트가 있습니다 print()
. 보안에 관해 몇 가지 질문이 있습니다.
권한이 없는 프로세스(사용자 공간에서 실행 중인 프로세스)는 다음을 통해 출력에 액세스할 수 있습니다.
터미널 화면이나 GUI의 내용을 읽으시나요? 나의 제한된 연구에 따르면 (1,2) 이는 X Windows 시스템을 사용하는 시스템에서는 가능한 것으로 보이지만 Wayland에서는 그렇지 않습니다.
파일 설명자를 읽거나 유사한 방법을 통해 읽으시나요? 나는 노력했다
cat /dev/pts/14
그리고tail -f /proc/<pid>/fd/1
, 그러나 내 실험에 따르면 그 중 아무 것도 작동하지 않으며 왜 그런지 잘 모르겠습니다.터미널 출력 로그나 어딘가에 저장된 일부 출력 기록을 읽는 중입니까(의도적으로 설치/활성화하지 않은 경우)?
해제된 프로세스의 메모리 위치를 읽으시겠습니까? 즉, Python 스크립트 실행이 완료되면 프로세스가 실행되는 동안 저장된 메모리 블록에 비밀번호 값이 남아 있습니까?
Python으로 인쇄된 특정 로그를 읽음으로써?
다른 방법으로?