시스템 해킹은 원래 접근할 수 있는 제한적인 권한에서 그 이상의 권한을 가지고 접근할 수 있게 되는 것을 말한다. 리눅스에서는 root라고 불리는 관리자와 일반 사용자밖에 없으므로 리눅스에서 시스템 해킹은 일반사용자가 관리자의 권한을 획득하는 것을 말하는 것이다.

 

umaskumask 값에 따라 파일과 디렉터리의 기본 권한이 설정되는 것이다. 최고 권한 값에서 umask 값을 뺀 값이 기본 권한이 된다. 리눅스에서는 기본적으로 umask값이 022로 설정되어 있다. 일반 파일의 기본 생성 최고 권한이 666, 디렉터리의 기본 생성 최고 권한은 777인데, umask022로 설정되어 있다면 생성 시 일반 파일의 기본 권한은 644, 디렉터리는 755가 된다. umask 값은 관리자만 변경이 가능하며 sudo 명령어로 변경할 수 있다.

 

SetUIDSetUID 비트를 가진 프로그램을 실행하면 실행하는 동안 관리자의 권한을 가지게 하는 것이다. 또한 실행이 끝나면 다시 일반 사용자의 권한으로 되돌아오게 하는 것도 SetUID의 역할이다. SetUID를 이용하면 프로그램에 SetUID를 넣은 권한을 부여한 후 그 프로그램을 실행시키면 일반 사용자를 관리자의 ID로 바꾸어 관리자의 권한을 얻을 수 있게 된다. 따라서 SetUID를 이용하면 시스템 해킹을 할 수 있다.

 

* 위의 글은 www.kocw.net/home/search/kemView.do?kemId=1320013 14주차 강의를 보고 제가 작성한 내용입니다.

'시스템보안(이론)' 카테고리의 다른 글

인증, 패스워드  (0) 2020.09.15
대칭 키 합의(Diffie-Hellman)  (0) 2020.08.31
KDC : Kerberos  (0) 2020.08.25
KDC (키 배분 센터)  (0) 2020.08.18
디지털 서명  (0) 2020.08.17