리눅스 파일 중에 “setuid” flag가 셋팅되어 있으면서, others에게 “rwx” 권한이 존재하는 경우에, 심각한 security hole이 생겼다고 볼 수 있다. 이유가 무엇인가?
회사 첫출근했는데 선배님이 저런질문을갑자기했습니다.근데 제가 대답을못했어요.. 아무리찾아도 없네요 알려주세요 고수님들 좀길게좀..
흠... 정확히는 hole이 생겼다기보다 코딩시 다른 프로그램보다 더더욱 신경을 써야 되겠지요 -_-;
예를 들어 vi 같은 경우 setuid를 설정해 놓고 일반 유저로 띄운 뒤 :!sh를 실행해 버리면 일반 유저도 root 권한으로 아무거나 할 수 있게 됩니다(물론 vi의 owner는 root겠죠).
다른 계정의 권한을 갖고 실행한다는 점에서 setuid 프로그램은 보안상 매우 주의깊게 작성되어야 할 겁니다.
...이상은 일반론적인 얘긴데 선배님이 이걸 의도하신 건지는 모르겠군요 -_-;
노루가 사냥꾼의 손에서 벗어나는 것 같이, 새가 그물치는 자의 손에서 벗어나는 것 같이 스스로 구원하라 -잠언 6:5
setuid 의 기능은 아실테구요 others에게 rwx 의 권한까지 있다면 해당 파일을 others 가 완전히 다시 쓸수(write)가 있다는 말이지요. 그렇기 때문에 others 가 shell 을 실행하는 프로그램을 하나 만든 다음 그 프로그램을 setuid가 설정된 파일로 덮어 쓴다면 어떻게 될지는 짐작하시겠죠?
하여튼감사합니다. 더긴내용을남겨주시면 고맙겠습니다.
buffer overflow를 이용해서도 root 권한을 얻을 수 있겠군요.
파일권한이 rwx니까 실행파일 자체가 buffer overflow를 일으키지 않더라도
파일을 알려진 buffer overflow되는 소스로 바꾸어서
실행해 주어도 root을 리턴 받지 않나 싶습니다.
------------------------------------------ FC5, KDEhttp://www.linuxquestions.org/http://www.fedoraforum.org/http://stanton-finley.net/fedora_core_5_installation_notes.html
------------------------------------------ emacs user
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
흠... 정확히는 hole이
흠... 정확히는 hole이 생겼다기보다 코딩시 다른 프로그램보다 더더욱 신경을 써야 되겠지요 -_-;
예를 들어 vi 같은 경우 setuid를 설정해 놓고 일반 유저로 띄운 뒤 :!sh를 실행해 버리면 일반 유저도 root 권한으로 아무거나 할 수 있게 됩니다(물론 vi의 owner는 root겠죠).
다른 계정의 권한을 갖고 실행한다는 점에서 setuid 프로그램은 보안상 매우 주의깊게 작성되어야 할 겁니다.
...이상은 일반론적인 얘긴데 선배님이 이걸 의도하신 건지는 모르겠군요 -_-;
노루가 사냥꾼의 손에서 벗어나는 것 같이, 새가 그물치는 자의 손에서 벗어나는 것 같이 스스로 구원하라 -잠언 6:5
setuid 의 기능은
setuid 의 기능은 아실테구요
others에게 rwx 의 권한까지 있다면 해당 파일을 others 가 완전히 다시 쓸수(write)가 있다는 말이지요.
그렇기 때문에 others 가 shell 을 실행하는 프로그램을 하나 만든 다음 그 프로그램을 setuid가 설정된 파일로
덮어 쓴다면 어떻게 될지는 짐작하시겠죠?
짐작이안돼여
하여튼감사합니다. 더긴내용을남겨주시면 고맙겠습니다.
buffer overflow를
buffer overflow를 이용해서도 root 권한을 얻을 수 있겠군요.
파일권한이 rwx니까 실행파일 자체가 buffer overflow를 일으키지 않더라도
파일을 알려진 buffer overflow되는 소스로 바꾸어서
실행해 주어도 root을 리턴 받지 않나 싶습니다.
------------------------------------------
FC5, KDE
http://www.linuxquestions.org/
http://www.fedoraforum.org/
http://stanton-finley.net/fedora_core_5_installation_notes.html
------------------------------------------
emacs user
댓글 달기