Мой вопрос касается разрешений файловой системы (в частности, разрешений в стиле Unix) и как они связаны с безопасностью.
Скажем, у меня есть доступ к компьютеру с гостевой учетной записью и пользователем по имени Боб. Я не знаю пароль Боба, но я могу использовать гостевую учетную запись. У учетной записи гостя нет абсолютно никаких прав на чтение всех файлов Боба, поэтому я не могу читать ни один из файлов Боба, когда вошел в систему как гость.
Однако с истинной точки зрения «противника» у меня есть полный доступ к этому незашифрованному диску. Я мог бы создать образ, сохранить его на потом, запустить другую ОС, чтобы просто читать файлы Боба, игнорируя при этом настройки разрешений файловой системы.
Отсюда я получаю вопрос:
- Настройка разрешения файловой системы на незашифрованном диске - это просто флаг, верно? И единственное, что мешает мне читать файлы, на которые у меня нет разрешения, это то, что ОС скажет: «О, вы не можете это прочитать, у вас нет разрешения». Этот файл все еще находится на диске в необработанном виде, и я мог прочитать его, просто игнорируя флаги файловой системы (скажем, через некоторую теневую загрузочную ОС, которая просто игнорирует разрешения). Это все правильно?
Теперь скажите, что у меня нет прямого доступа к диску, и я просто пытаюсь подключиться к машине. У меня нет разрешения на чтение файлов Боба. Я действительно ничего не могу с этим поделать, правильно?
- Учитывая мои ограниченные права, я просто не могу получить доступ к файлам Боба, как бы я ни старался, нет? Что если я воспользуюсь эксплойтом для получения root-доступа? Могу ли я обойти флаги разрешений ОС? Это когда-нибудь случается?
Ответы:
Короче ответ.
Если у вас есть физический доступ к компьютерной системе - ПК или системе хранения данных - и единственной «защитой» на месте являются права доступа к файлам, у вас нет 100% защиты.
Эти незашифрованные данные могут быть скопированы и клонированы с минимальными усилиями практически без каких-либо инструментов, кроме наличия другого устройства, к которому вы можете подключить системный диск, чтобы сделать копию данных.
И да, потенциально некоторые доказательные аспекты физического проникновения, возможно, должны быть учтены в доступе на физическом уровне; например, убедитесь, что отпечатки пальцев не оставлены, и любые «очевидные» печати также рассматриваются. Но, честно говоря, подавляющее большинство систем может физически удалить свои диски для физической копии данных, и конечный пользователь никогда не узнает ничего лучшего. Если у вас есть диск, у вас есть диск, а затем у вас есть данные, если они не зашифрованы.
Вот почему шифрование для каждого пользователя или шифрование на полном диске является такой большой вещью в наши дни; Ноутбуки и другие портативные вычислительные устройства являются такой большой частью рынка, в настоящее время риск потери данных из-за кражи устройства или случайного заимствования ПК гораздо выше, чем когда-либо в прошлом.
Если диск не зашифрован, данные на нем являются открытой книгой, готовой для чтения. Эта концепция не ограничивается машинами Linux / Unix, но любой ОС где угодно; если у вас есть физический доступ к незашифрованной системе, у вас есть система.
Тем не менее, права доступа к файлам являются полезной мерой безопасности для удаленных серверов всех видов.
Более длинный ответ.
Во-первых, имейте в виду, что безопасность компьютеров и всего остального - это просто сдерживающий фактор, который замедляет работу и не обязательно обеспечивает абсолютную безопасность.
Например, самый слабый элемент безопасности в любом физическом здании - это дверь, которую вы должны открыть при входе / выходе из нее, или окно, которое вы должны открыть, чтобы пропустить воздух. Да, вы можете заблокировать двери и окна и настроить сигнализацию, но если кто-то действительно хочет получить доступ к чему-то - и у них есть время, ресурсы, богатство и усилия для этого - они получат доступ к этому.
Проблема здесь заключается в контексте доступа. Если у вас есть физический доступ к компьютеру, практически все возможно. Но если вы подключены только через удаленное соединение - через какую-то сеть - тогда владение файловой системой, безусловно, является эффективным методом обеспечения безопасности. А в случае серверов Linux / Unix разрешения и владение являются эффективными формами безопасности для предотвращения удаленного вторжения.
Вот почему в мире Linux / Unix
root
доступ к удаленной системе считается таким большим призом. Получитеroot
доступ к удаленной системе, и тогда вы действительно сделали что-то, что дает вам больший доступ без необходимости заходить в центр обработки данных и клонировать диск.Да. В точку. Если у вас есть физический доступ к машине, то, как объяснялось вначале, все ставки отключены. Вы можете получить доступ к файлам и каталогам, принадлежащим другим, создав образ диска - или даже просто извлекая исходное содержимое самого диска - практически без особых технических усилий.
Любой, кто, например, одалживает вам свой персональный компьютер и создает новую учетную запись только для вас, не задумываясь об этом сценарии, в основном передает все свои личные данные на своем компьютере, даже не подозревая об этом.
Немного касательно, но я думаю, что именно поэтому многие обычные пользователи жертвуют старые ПК, не прикладывая ни малейших усилий, чтобы стереть данные на диске. Они устанавливают пароль пользователя и предполагают, что сохраняют свои данные в безопасности до такой степени, что они могут просто выбросить диск в корзину и не думать дважды. Когда реальность без истинного шифрования или очистки данных, любой диск, брошенный в мусорную корзину или проданный, может быть прочитан кем угодно в любом месте без особых усилий или больших технических усилий.
источник
Ваши три очка:
Если вы используете SSH как обычный пользователь, у вас нет доступа к необработанному дисковому устройству. Обычно вам нужно
root
или разрешение для доступа к устройствам с необработанным и логическим диском.Если вы получили root с помощью эксплойта, то вы самый мощный пользователь в системе и имеете доступ ко всему, включая устройство. Поскольку вы являетесь пользователем root, вы можете напрямую обращаться к файлам Боба, поэтому нет необходимости обращаться к дисковому устройству.
Физический доступ бьет
root
. Корень - это логический слой. Вы можете проигнорировать это с физическим доступом к диску. Это включает загрузку указанного диска в отдельную ОС, где вы являетесь пользователем root.Конечно, системы должны быть защищены от
root
эксплойтов, но новые эксплойты появляются ежедневно. Ни одна система не является безопасной на 100%, но вы можете сделать ее безопасной для практических целей, ограничив доступ.Предполагается, что разрешения файловой системы будут работать только в ситуациях с ограниченным доступом пользователей, где ОС не скомпрометирована. Это система «держать честных (и типичных) пользователей честными», например, велосипедные замки. Это работает, чтобы предотвратить «преступления возможностей» более чем надежную полную защиту.
источник
open(2)
. Например,linkat(2)
позволяет создать запись каталога для дескриптора открытого файла, но только если счетчик ссылок не равен нулю, поэтому процесс, который получает открытый FD для удаленного файла, не может связать его обратно в файловую систему. Очевидно, что злоумышленник, получивший root или физический доступ, означает, что вы тост. Шифрование помогает с физическим, но не столько корнем.