경고 : 주소 공간 무작위 화 비활성화 오류 : 작업이 허용되지 않습니다.


79

gdb나에게 제대로 작동 하지 않는 내가 무엇을 잘못했거나하지 않았 습니까?


46
고정 표시기 컨테이너 내에서 실행하는 경우 I가 추가 될 때까지,이 오류가 발생했습니다 --security-opt seccomp=unconfined받는 docker run.
Cameron Taggart 2016 년

@CameronTaggart 팁 주셔서 감사합니다! 당신은 내 하루를 만들었습니다.
gaijin

@CameronTaggart 나를 위해 잘 작동하지만 보안 문제 COMS
지아

답변:


145

Docker를 사용하는 경우 --security-opt seccomp=unconfined옵션이 필요할 수 있습니다 (및 ptrace 활성화).


5
고마워요-이걸 배우는 데 얼마나 많은 시간을 잃었는지 모르겠어요!
VorpalSword

2
이미 실행중인 프로세스에 --cap-add=SYS_PTRACE연결할 때만 필요 하다고 생각 gdb합니다.
말라

이러한 옵션을 사용하여 보안 문제를 제공 할 수 있습니까?
Ra'Jiska

4
이 명령을 이미 실행중인 인스턴스에 적용하는 방법이 있습니까? 이 인스턴스를 제거하고 새 인스턴스를 시작하고 싶지 않기 때문에
sh.3.ll

18

어떤 이유로 든 사용자 계정에는이 프로세스에 대한 커널의 주소 공간 레이아웃 무작위 화를 비활성화 할 권한이 없습니다. 기본적으로 gdb는 디버깅을 더 쉽게 해주기 때문에이 기능을 해제합니다 (특히 프로그램을 실행할 때마다 스택 객체의 주소가 동일 함을 의미합니다). 여기에서 자세한 내용을 읽어보십시오 .

에서 gdb의이 기능을 비활성화하여이 문제를 해결할 수 있습니다 set disable-randomization off.

사용자에게 ASLR을 비활성화하는 데 필요한 권한을 부여하려면 /proc/sys/kernel/randomize_va_space. 여기에서 자세한 내용을 읽어보십시오 .


12

바탕 wisbucky의 대답은 여기에 (! 감사합니다) 도커의 작성에 대해 동일한 설정입니다 :

보안 옵션 seccomp:unconfinedaddress space randomization경고를 수정했습니다 .

Docker 문서 에 SYS_PTRACE가 "기본적으로 부여되지 않은"기능이라고 명시되어 있지만 기능 SYS_PTRACE는 눈에 띄는 영향을 미치지 않는 것 같습니다 . 무엇을 찾아야할지 모르겠습니다.


1
YOu 오타가 있습니다. 확인되지 않은 것이 아닙니다.
Marc43
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.