2011-01-29 6 views
0

프로세스 목록에서 프로세스 이름과/proc/pid/cmdline을 숨기려면 어떻게해야합니까? 프로세스 이름이 프로세스 목록에있는 경우에는 문제가 없지만 해당 인수는 목록에 포함되어서는 안됩니다. 원인 인수에는 일반 텍스트 암호 및/또는 숨길 정보가 거의 없습니다.프로세스 목록에서 프로세스 숨기기

TIA, 일반적으로

+7

암호를 명령 줄 인수로 제공하지 마십시오. –

+0

이 질문을 게시해야합니다 : http://unix.stackexchange.com/ 또는 http://superuser.com/ –

+3

아니,이 잘 stackoverflow에, 제 생각에는. 그것은 프로그래밍으로 가장 합리적으로 해결할 수있는 기술적 인 질문을합니다. 최종 사용자의 질문이 아닙니다. 최종 사용자는 프로그램을 변경하지 않고이 문제를 제대로 해결할 수 없습니다. – bdonlan

답변

1

사티는 명령 줄에 중요한 정보를 전달하지 않습니다. 환경 변수 * 나 파일 내용에 전달하거나 파일 설명자를 통해 파이프합니다.

프로그램을 시작한 후 (argv [1]이 가리키는 메모리 덮어 쓰기로) 명령 줄을 수정할 수는 있지만 프로그램을 시작할 때와 인수가 지워질 때 사이에 취약점이 있습니다. 일반적으로 이것을 피할 수는 없습니다. 따라서 민감한 데이터에 프로그램 명령 줄 인수를 사용하지 마십시오.

* - 환경 변수의 보안은 유닉스간에 다를 수 있습니다. Linux에서는 env 변수를 읽을 수 있으면 프로세스 메모리를 직접 읽을 수 있습니다.

+2

-1 프로세스의 환경 변수도 읽을 수 있으므로 옵션이 아닙니다. – Daniel

+0

@Daniel, 적어도 Linux에서 env vars는 동일한 사용자 만 읽을 수 있습니다 - 누가 정보를 어떻게 든 숨기더라도 어쨌든 ptrace()를 사용하여 직접 프로세스 메모리를 읽을 수 있습니다! – bdonlan

+0

+2 @bdonlan : 방금 확인한 결과입니다. 창문에 어떻게 있는지 알아? 현재는 주변에 맥이있다. – Daniel

3

당신은 그것을 숨길 수 없습니다. 이것이 바로 많은 좋은 CLI 프로그램이 명령 행에서 암호를 제공하지 않는다는 이유입니다.

프로세스를 숨길 수있는 소프트웨어가 있으며 숨기기를 원하기 때문에 루트킷으로 알려져 있습니다.

암호를 제공하는 더 좋은 방법은 프로세스 사용자 만 읽을 수있는 파일을 제공하고 거기에 암호를 저장하는 것입니다. 예 : 자격 증명 옵션으로 mount에 의해 수행됩니다.

+0

만약 내가 루트킷을 사용한다면, 숨기기, 프로세스 이름을 찾는 chkhunter와 같은 다른 많은 도구들이 있습니다. 그래서 나는 다른 해결책을 찾고있다. 그러나 thnx는 당신을 도와줍니다. – SHW