Используя команду (dd if=/dev/mmcblk0p1 | sha1sum) при запуске с initramfs

-rwxrw ---- означает, что у владельца есть разрешения на чтение, запись и выполнение, у группы есть права на чтение и запись, а у других нет разрешений. .

Предоставленные вами разрешения дают группе "groupX" права на чтение, запись и выполнение файла. Если вы являетесь членом группы «groupX», но не владельцем файла, эти разрешения будут применяться к вам.

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

Я обычно читаю разрешения слева направо. Я владелец? Если да, применяются разрешения владельца. Если не; я член группы? Если да, применяются разрешения группы. Если нет, то ко мне применяются разрешения для «Другое».

В некоторых случаях полезно быть владельцем файла, но не иметь прав на запись. Он защищает вас от случайного удаления или изменения файла. Лично я установил разрешение 400 для всех моих файлов шаблонов, чтобы убедиться, что я не изменяю их случайно. То же самое и с разрешениями на выполнение.

1
12.12.2018, 10:31
1 ответ

Я не буду отвечать на ваш номинальный вопрос, потому что слишком мало информации для ответа. Нет особой причины, по которой вам нужно обращаться к загрузочному разделу иначе, чем к initramfs. Если обычное имя не работает, это означает, что initramfs использует другие пути или еще не загрузил драйвер в тот момент, когда вы запускаете эту команду. Если вы хотите получить помощь в этом, вы должны подробно объяснить, как вы создаете initramfs и где вы добавляете эту команду.

Я публикую это как ответ, а не как комментарий, чтобы вы не беспокоились.

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

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

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

Это невозможно сделать на Raspberry Pi, потому что ПЗУ не проверяет, что оно загружает. Вы не можете не доверять своему загрузочному разделу, если не хотите использовать другое оборудование. К сожалению, у меня нет рекомендации :, рынок не подходит для надежной загрузки для проектов любителей на платформах Arm.

Кстати, даже если ваша команда сработала, у нее есть пара недочетов.

  • dd if=/dev/mmcblk0p1 | sha1sumсовпадает с sha1sum </dev/mmcblk0p1. Без параметров, отличных от ifи of, ddпросто копирует входные данные на выходные. Помните, что с некоторыми параметрами ddфактически искажает данные ! Не используйте dd, если вам это действительно не нужно, и вы уверены, что то, как вы его используете, не рискует повредить.
  • SHA -1 не работает . Он не сломан для всех вариантов использования, и в вашем случае было бы трудно использовать его (кто-то должен был организовать установку некоторого созданного, безвредного контента в законный загрузочный раздел ), но использование SHA безответственно -1 в новом оформлении. Используйте sha256sum.
0
28.01.2020, 00:22

Теги

Похожие вопросы