보안을 위해 파일 시스템 권한에 얼마나 의존 할 수 있습니까?


31

내 질문은 파일 시스템 권한 (특히 Unix 스타일 권한)과 보안과의 관계에 관한 것입니다.

게스트 사용자 계정과 Bob이라는 사용자가있는 컴퓨터에 액세스 할 수 있다고 가정합니다. Bob의 비밀번호를 모르지만 게스트 계정을 사용할 수 있습니다. 게스트 계정에는 모든 Bob 파일에 대한 읽기 권한이 없으므로 게스트로 로그인 한 상태에서 Bob의 파일을 읽을 수 없습니다.

그러나 진정한 "적대적인"관점에서이 암호화되지 않은 디스크에 대한 모든 액세스 권한이 있습니다. 파일 시스템 권한 설정을 무시하고 Bob의 파일을 읽기 위해 다른 OS를 실행하여 이미지를 저장하고 나중에 저장할 수 있습니다.

이것으로부터 나는 질문에 도달한다 :

  1. 암호화되지 않은 디스크의 파일 시스템 권한 설정은 플래그 일뿐입니다. 맞습니까? 그리고 내가 권한이없는 파일을 읽지 못하게하는 유일한 것은 OS가 "오, 읽을 수없고 권한이 없습니다"라고 말할 것입니다. 그 파일은 여전히 ​​디스크에 있습니다 원시 형식으로 파일 시스템 플래그를 무시하여 읽을 수 있습니다 (예 : 단순히 권한을 무시하는 그늘진 부팅 가능한 OS를 통해). 이 모든 것이 맞습니까?

이제 디스크에 직접 액세스 할 수 없으며 컴퓨터에 ssh-ing하고 있습니다. Bob의 파일을 읽을 권한이 없습니다. 내가 할 수있는 일은 없어요, 맞습니까?

  1. 제한된 권한이 주어지면 아무리 노력해도 Bob의 파일에 액세스 할 수 없습니다. 루트 액세스를 위해 일부 익스플로잇을 사용하면 어떻게됩니까? 이제 OS의 권한 플래그를 무시할 수 있습니까? 이런 일이 일어 났습니까?

4
그렇습니다. 관련 개념을 올바르게 이해하는 것 같습니다. 시스템에 물리적으로 액세스 할 수없는 경우 권한을 우회하려면 권한 공격을 에스컬레이션해야합니다.
Frank Thomas

2
이것을 Security.SE 로 마이그레이션하는 것이 좋지 않습니까? 더 논리적 인 장소처럼 보입니다.
Chris Cirefice

3
@ChrisCirefice 보안 개념에 대해 자세히 살펴보면 마이그레이션이 필요합니다. 그러나 이것은 파일 시스템 권한에 대한 이해와 시스템 보안 개념에서의 특정 역할에 대한 매우 기본적인 질문이므로이 수퍼 유저에게 훨씬 더 적용됩니다.
JakeGould

답변:


31

더 짧은 대답.

컴퓨터 시스템 (PC 또는 데이터 스토리지 시스템)에 물리적으로 액세스 할 수 있고 유일한 "보호"가 파일 권한 인 경우 100 % 보호 기능이 없습니다.

암호화되지 않은 데이터는 다른 장치없이 시스템 드라이브에 연결하여 데이터를 복사 할 수있는 도구를 사용하지 않고도 최소한의 노력으로 복사 및 복제 할 수 있습니다.

그렇습니다. 잠재적 으로 물리적 침투의 일부 증거 측면은 물리적 수준에서 접근에 포함되어야합니다. 지문이 남지 않도록하고 "임의의 명백한"도장도 처리해야합니다. 그러나 솔직히 말해서, 대다수의 시스템은 최종 사용자가 더 이상 알지 못하는 물리적 데이터 사본을 위해 드라이브를 물리적으로 제거 할 수 있습니다. 드라이브가 있으면 드라이브가 있고 암호화되지 않은 경우 데이터가있는 것입니다.

이것이 오늘날 사용자 별 암호화 또는 전체 디스크 암호화가 큰 이유입니다. 랩톱 다른 휴대용 컴퓨팅 장치는 오늘날 시장에서 큰 부분을 차지하고 있습니다. 오늘날 장치 절도 또는 PC의 일시적인 차용으로 인한 데이터 손실 위험이 과거보다 훨씬 높아졌습니다.

디스크가 암호화되지 않은 경우 디스크의 데이터는 읽을 수있는 열린 책입니다. 이 개념은 Linux / Unix 시스템이 아니라 모든 OS에 국한됩니다. 암호화되지 않은 시스템에 물리적으로 액세스 할 수있는 시스템이 있습니다.

즉, 파일 권한 모든 종류의 원격 서버에 유용한 보안 수단입니다.

더 긴 대답.

내 질문은 파일 시스템 권한 (특히 Unix 스타일 권한)과 보안과의 관계에 관한 것입니다.

첫째, 컴퓨터와 모든 것에 대한 보안은 실제로 속도를 늦추고 절대적인 보안을 제공하지는 않습니다.

예를 들어, 물리적 인 건물에서 가장 취약한 보안 요소는 출입 할 때 열어야하는 문 또는 공기를 허용하기 위해 열어야하는 창입니다. 예, 문과 창문을 잠글 수 있으며 경보를 설정할 수 있지만 진정 으로 무언가에 대한 접근을 원하고 그것을 추구 할 시간, 자원, 부와 노력이있는 사람들은 그것에 접근 할 수 있습니다.

게스트 사용자 계정과 Bob이라는 사용자가있는 컴퓨터에 액세스 할 수 있다고 가정합니다. Bob의 비밀번호를 모르지만 게스트 계정을 사용할 수 있습니다. 게스트 계정에는 모든 Bob 파일에 대한 읽기 권한이 없으므로 게스트로 로그인 한 상태에서 Bob의 파일을 읽을 수 없습니다.

여기서 문제는 액세스 컨텍스트입니다. 컴퓨터에 실제로 액세스 할 수 있으면 거의 모든 것이 가능합니다. 그러나 어떤 종류의 네트워크를 통해 원격 연결을 통해서만 연결된 경우 파일 시스템 소유권은 확실히 효과적인 보안 방법입니다. Linux / Unix 서버의 경우 권한 및 소유권은 원격 침입을 방지하는 효과적인 보안 형태입니다.

이것이 Linux / Unix 세계 root에서 원격 시스템에 대한 액세스 권한이 큰 대상으로 여겨지 는 이유입니다 . 게인 root원격 시스템과 당신은 진정으로 데이터 센터 및 클론 드라이브에 걸을 필요없이 당신에게 더 큰 액세스를 제공 짓을했다.

그러나 진정한 "적대적인"관점에서이 암호화되지 않은 디스크에 대한 모든 액세스 권한이 있습니다. 파일 시스템 권한 설정을 무시하고 Bob의 파일을 읽기 위해 다른 OS를 실행하여 이미지를 저장하고 나중에 저장할 수 있습니다.

예. 정확하게. 머신에 물리적으로 접근 할 수 있다면, 처음에 설명 된 것처럼 모든 베팅이 해제됩니다. 기술적 인 노력을 거의 들지 않고 디스크 이미지를 만들거나 드라이브 자체의 원시 내용 만 추구하여 다른 사람이 소유 한 파일과 디렉토리에 액세스 할 수 있습니다.

예를 들어, 개인 컴퓨터를 빌려이 시나리오를 생각하지 않고 나만을 위해 새 계정을 설정하는 사람은 기본적으로 자신의 컴퓨터에있는 개인 데이터를 실제로 알지 못하고 포기하는 것입니다.

약간의 접선이지만, 이것이 많은 일반 사용자가 드라이브의 데이터를 지우려고 노력하지 않고 오래된 PC를 기증하는 이유입니다. 사용자 암호를 설정하고 드라이브를 휴지통에 버릴 수있을 정도로 데이터를 안전하게 유지하고 두 번 생각하지 않는 것으로 가정합니다. 실제 암호화 또는 데이터 삭제가없는 경우 휴지통에 버려지거나 판매 된 모든 드라이브는 많은 노력이나 기술적 인 노력 없이도 어디에서나 읽을 수 있습니다.


6
이 답변에는 언급 할 가치가있는 분명한 것이 빠져 있다고 생각합니다. 보안은 단순한 컴퓨터 보안이 아닙니다. 공격자는 사람이기 때문에 위협 모델도 중요합니다. 공격자는 일반적으로 흔적을 남기지 않기를 원합니다. 누군가에게 장치에 물리적으로 액세스 할 수 있지만 트레일을 남기지 않고 장치를 조작 할 수없는 방식으로 (조작 중에 지문에서 탬퍼 마커까지, 장치가 파손될 때까지) 조작 할 수있는 경우 실제로 증가 할 수 있습니다 데이터에 물리적으로 액세스 할 수 있음에도 불구하고 시스템 보안.
Mehrdad

@Mehrdad이 의견은 액세스에 대한 보안 및 보호에 대한보다 큰 토론에서 의미가있을 수 있지만이 질문과 관련 답변은 논리적 파일 시스템 권한과 시스템에 대한 기본적인 물리적 액세스의 전체 개념에 중점을 둡니다. 이 경우 지문 및 탬퍼 메이커에 대한 이러한 우려는 판타지 시나리오의 추측 일뿐입니다. 암호화되지 않은 데이터에 물리적으로 액세스 할 수있는 경우 암호화되지 않은 데이터에 물리적으로 액세스 할 수 있으며 10 개 중 9 번은 해당 시점에서 해당 데이터에 액세스하기 위해 "마스터 도둑 / 스파이"가 될 필요는 없습니다.
JakeGould

15

당신의 세 가지 점 :

  1. 일반 사용자로 SSH 접속하는 경우 원시 디스크 장치에 액세스 할 수 없습니다. 일반적으로 root원시 및 논리 디스크 장치에 액세스하려면 권한이 필요 합니다.

  2. 익스플로잇을 통해 루트 를 얻는 경우 시스템에서 가장 강력한 사용자이며 장치를 포함하여 대부분의 항목에 액세스 할 수 있습니다. 루트 사용자이므로 Bob의 파일에 직접 액세스 할 수 있으므로 디스크 장치에 액세스 할 필요가 없습니다.

  3. 물리적 액세스 비트 root. 루트는 논리 계층입니다. 디스크에 물리적으로 액세스하면이를 무시할 수 있습니다. 여기에는 루트 사용자 인 별도의 OS에 디스크를로드하는 것이 포함됩니다.

물론 시스템은 root악용에 대비하여 강화되어야 하지만 새로운 악용은 매일 나옵니다. 100 % 안전한 시스템은 없지만 액세스를 제한하여 실질적인 목적으로 안전한 시스템을 만들 수 있습니다.

파일 시스템 권한은 OS가 손상되지 않은 제한된 사용자 액세스 상황에서만 작동합니다. 자전거 잠금 장치와 같은 "정직한 (일반적인) 사용자 정직한"시스템입니다. 안전한 기회 보호에 실패하는 것 이상으로 "기회 범죄"를 방지합니다.


FS 권한 규칙은 매우 강력합니다. 그들은 작동 한 어떤 공격자가 루트가 없습니다로. POSIX 파일 시스템 시맨틱 (및 Linux 특정 확장자)은 open(2). 예를 들어 linkat(2), 열린 파일 디스크립터에 대한 디렉토리 항목을 작성할 수 있지만 링크 수가 아직 0이 아닌 경우 에만 삭제 된 파일에 대해 열린 FD를 수신하는 프로세스는 파일 시스템에 다시 링크 할 수 없습니다. 공격자가 루트 또는 물리적 액세스 권한을 얻는 것은 명백합니다. 암호화는 물리적이지만 많은 루트는 아닙니다.
Peter Cordes
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.