Насколько мы можем полагаться на разрешения файловой системы для безопасности?


31

Мой вопрос касается разрешений файловой системы (в частности, разрешений в стиле Unix) и как они связаны с безопасностью.

Скажем, у меня есть доступ к компьютеру с гостевой учетной записью и пользователем по имени Боб. Я не знаю пароль Боба, но я могу использовать гостевую учетную запись. У учетной записи гостя нет абсолютно никаких прав на чтение всех файлов Боба, поэтому я не могу читать ни один из файлов Боба, когда вошел в систему как гость.

Однако с истинной точки зрения «противника» у меня есть полный доступ к этому незашифрованному диску. Я мог бы создать образ, сохранить его на потом, запустить другую ОС, чтобы просто читать файлы Боба, игнорируя при этом настройки разрешений файловой системы.

Отсюда я получаю вопрос:

  1. Настройка разрешения файловой системы на незашифрованном диске - это просто флаг, верно? И единственное, что мешает мне читать файлы, на которые у меня нет разрешения, это то, что ОС скажет: «О, вы не можете это прочитать, у вас нет разрешения». Этот файл все еще находится на диске в необработанном виде, и я мог прочитать его, просто игнорируя флаги файловой системы (скажем, через некоторую теневую загрузочную ОС, которая просто игнорирует разрешения). Это все правильно?

Теперь скажите, что у меня нет прямого доступа к диску, и я просто пытаюсь подключиться к машине. У меня нет разрешения на чтение файлов Боба. Я действительно ничего не могу с этим поделать, правильно?

  1. Учитывая мои ограниченные права, я просто не могу получить доступ к файлам Боба, как бы я ни старался, нет? Что если я воспользуюсь эксплойтом для получения root-доступа? Могу ли я обойти флаги разрешений ОС? Это когда-нибудь случается?

4
да и да. Вы, кажется, правильно понимаете связанные понятия. Если вы не можете получить физический доступ к системе, потребуется обойти атаку привилегий, чтобы обойти разрешения.
Фрэнк Томас,

2
Не было бы хорошей идеей перенести это в Security.SE ? Кажется, это более логичное место для этого.
Крис Cirefice

3
@ChrisCirefice Более глубокое изучение концепции безопасности потребовало бы миграции. Но это очень простой вопрос о понимании прав доступа к файловой системе и их особой роли в концепции безопасности системы, поэтому он в большей степени относится к этому Суперпользователю.
JakeGould

Ответы:


31

Короче ответ.

Если у вас есть физический доступ к компьютерной системе - ПК или системе хранения данных - и единственной «защитой» на месте являются права доступа к файлам, у вас нет 100% защиты.

Эти незашифрованные данные могут быть скопированы и клонированы с минимальными усилиями практически без каких-либо инструментов, кроме наличия другого устройства, к которому вы можете подключить системный диск, чтобы сделать копию данных.

И да, потенциально некоторые доказательные аспекты физического проникновения, возможно, должны быть учтены в доступе на физическом уровне; например, убедитесь, что отпечатки пальцев не оставлены, и любые «очевидные» печати также рассматриваются. Но, честно говоря, подавляющее большинство систем может физически удалить свои диски для физической копии данных, и конечный пользователь никогда не узнает ничего лучшего. Если у вас есть диск, у вас есть диск, а затем у вас есть данные, если они не зашифрованы.

Вот почему шифрование для каждого пользователя или шифрование на полном диске является такой большой вещью в наши дни; Ноутбуки и другие портативные вычислительные устройства являются такой большой частью рынка, в настоящее время риск потери данных из-за кражи устройства или случайного заимствования ПК гораздо выше, чем когда-либо в прошлом.

Если диск не зашифрован, данные на нем являются открытой книгой, готовой для чтения. Эта концепция не ограничивается машинами Linux / Unix, но любой ОС где угодно; если у вас есть физический доступ к незашифрованной системе, у вас есть система.

Тем не менее, права доступа к файлам являются полезной мерой безопасности для удаленных серверов всех видов.

Более длинный ответ.

Мой вопрос касается разрешений файловой системы (в частности, разрешений в стиле Unix) и как они связаны с безопасностью.

Во-первых, имейте в виду, что безопасность компьютеров и всего остального - это просто сдерживающий фактор, который замедляет работу и не обязательно обеспечивает абсолютную безопасность.

Например, самый слабый элемент безопасности в любом физическом здании - это дверь, которую вы должны открыть при входе / выходе из нее, или окно, которое вы должны открыть, чтобы пропустить воздух. Да, вы можете заблокировать двери и окна и настроить сигнализацию, но если кто-то действительно хочет получить доступ к чему-то - и у них есть время, ресурсы, богатство и усилия для этого - они получат доступ к этому.

Скажем, у меня есть доступ к компьютеру с гостевой учетной записью и пользователем по имени Боб. Я не знаю пароль Боба, но я могу использовать гостевую учетную запись. У учетной записи гостя нет абсолютно никаких прав на чтение всех файлов Боба, поэтому я не могу читать ни один из файлов Боба, когда вошел в систему как гость.

Проблема здесь заключается в контексте доступа. Если у вас есть физический доступ к компьютеру, практически все возможно. Но если вы подключены только через удаленное соединение - через какую-то сеть - тогда владение файловой системой, безусловно, является эффективным методом обеспечения безопасности. А в случае серверов Linux / Unix разрешения и владение являются эффективными формами безопасности для предотвращения удаленного вторжения.

Вот почему в мире Linux / Unix rootдоступ к удаленной системе считается таким большим призом. Получите rootдоступ к удаленной системе, и тогда вы действительно сделали что-то, что дает вам больший доступ без необходимости заходить в центр обработки данных и клонировать диск.

Однако с истинной точки зрения «противника» у меня есть полный доступ к этому незашифрованному диску. Я мог бы создать образ, сохранить его на потом, запустить другую ОС, чтобы просто читать файлы Боба, игнорируя при этом настройки разрешений файловой системы.

Да. В точку. Если у вас есть физический доступ к машине, то, как объяснялось вначале, все ставки отключены. Вы можете получить доступ к файлам и каталогам, принадлежащим другим, создав образ диска - или даже просто извлекая исходное содержимое самого диска - практически без особых технических усилий.

Любой, кто, например, одалживает вам свой персональный компьютер и создает новую учетную запись только для вас, не задумываясь об этом сценарии, в основном передает все свои личные данные на своем компьютере, даже не подозревая об этом.

Немного касательно, но я думаю, что именно поэтому многие обычные пользователи жертвуют старые ПК, не прикладывая ни малейших усилий, чтобы стереть данные на диске. Они устанавливают пароль пользователя и предполагают, что сохраняют свои данные в безопасности до такой степени, что они могут просто выбросить диск в корзину и не думать дважды. Когда реальность без истинного шифрования или очистки данных, любой диск, брошенный в мусорную корзину или проданный, может быть прочитан кем угодно в любом месте без особых усилий или больших технических усилий.


6
Я думаю, что в этом ответе пропущено нечто довольно очевидное, о чем стоит упомянуть Безопасность - это не только безопасность вычислений. Модели угроз также имеют значение, потому что злоумышленники - люди: злоумышленники, как правило, хотят не оставлять следов. Если вы предоставляете кому-то физический доступ к устройству, но делаете это таким образом, что устройство не может быть подделано, не оставляя следа (от отпечатков пальцев до маркеров несанкционированного доступа и до разрушения устройства во время манипуляции), тогда оно действительно может увеличиться безопасность вашей системы, несмотря на тот факт, что данные физически доступны.
Мердад

@Mehrdad Этот комментарий может иметь смысл в более широком обсуждении безопасности и защиты от доступа, но этот вопрос - и мой связанный с ним ответ - сосредоточены на общих концепциях разрешений логической файловой системы в сравнении с базовым физическим доступом к системе. И в этом случае эти опасения по поводу отпечатков пальцев и мошенников являются лишь предположением о фантастическом сценарии. Если кто-то имеет физический доступ к незашифрованным данным, он имеет физический доступ к незашифрованным данным, и 9 раз из 10 не обязательно быть «главным вором / шпионом», чтобы получить доступ к этим данным в этой точке.
JakeGould

15

Ваши три очка:

  1. Если вы используете SSH как обычный пользователь, у вас нет доступа к необработанному дисковому устройству. Обычно вам нужно rootили разрешение для доступа к устройствам с необработанным и логическим диском.

  2. Если вы получили root с помощью эксплойта, то вы самый мощный пользователь в системе и имеете доступ ко всему, включая устройство. Поскольку вы являетесь пользователем root, вы можете напрямую обращаться к файлам Боба, поэтому нет необходимости обращаться к дисковому устройству.

  3. Физический доступ бьет root. Корень - это логический слой. Вы можете проигнорировать это с физическим доступом к диску. Это включает загрузку указанного диска в отдельную ОС, где вы являетесь пользователем root.

Конечно, системы должны быть защищены от rootэксплойтов, но новые эксплойты появляются ежедневно. Ни одна система не является безопасной на 100%, но вы можете сделать ее безопасной для практических целей, ограничив доступ.

Предполагается, что разрешения файловой системы будут работать только в ситуациях с ограниченным доступом пользователей, где ОС не скомпрометирована. Это система «держать честных (и типичных) пользователей честными», например, велосипедные замки. Это работает, чтобы предотвратить «преступления возможностей» более чем надежную полную защиту.


Правила разрешения FS довольно надежны. Они работают до тех пор, пока у злоумышленника нет рута. Семантика файловой системы POSIX (и специфичные для Linux расширения) тщательно разработана, чтобы не открывать больше доступа, чем вы можете получить с помощью всего лишь одного open(2). Например, linkat(2)позволяет создать запись каталога для дескриптора открытого файла, но только если счетчик ссылок не равен нулю, поэтому процесс, который получает открытый FD для удаленного файла, не может связать его обратно в файловую систему. Очевидно, что злоумышленник, получивший root или физический доступ, означает, что вы тост. Шифрование помогает с физическим, но не столько корнем.
Питер Кордес,
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.