Как аутентифицировать образ загрузочного диска?

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

Прежде всего, вот что я пытался сделать:

  1. Записать Ubuntu ISO (с проверкой подлинности хэша) через Pen Drive Linux на Windows на USB-накопитель, что приводит к загрузке изображение. [одна тысяча сто двадцать-два]

  2. Установите получившийся загрузочный образ на компьютер A.

  3. Записать тот же ISO-образ на другой USB-накопитель на другом компьютере с помощью Startup Disk Creator из существующего другого контекста Ubuntu.

  4. Установите полученный загрузочный образ на компьютер B.

  5. Используйте Startup Disk Creator на компьютере A, чтобы создать новый загрузочный USB-накопитель с использованием оригинального ISO, приведенного выше, в результате чего получится образ A.

  6. Используйте Startup Disk Creator на компьютере B, чтобы создать новый загрузочный USB-накопитель с тем же ISO, что приведет к созданию образа B.

  7. Сравните изображение A и изображение B. Другими словами, если я начну с двух разных способов создания загрузочного образа, загрузят ли их дочерние загрузочные образы, а затем совпадут, если на самом деле я использую только Startup Disk Creator, а не Pen Drive Linux во втором раунде?

Вот что я узнал, без определенного порядка:

  1. У создателя загрузочного диска есть «Стереть диск» ", но она не работает, потому что, похоже, сохраняет тип файловой системы. Действительно ли он стирает загрузочный сектор (не говоря уже о таблице разделов) или просто оставляет там последний загрузочный вирус, готовый заразить только что созданный загрузочный диск, когда он используется для установки? Да, мы можем использовать Дисковую утилиту для форматирования мультимедиа, но было бы неплохо, если бы Startup Disk Creator сказал мне, что он на самом деле ничего не инициализирует способом, подходящим для безопасной загрузки. (Загрузка EFI может частично смягчить эту угрозу, но, вероятно, не устранит ее.)

  2. У нас есть различные страницы на ubuntu.com, которые предоставляют различные хеши для ISO. Но это не имеет значения, поскольку в конечном итоге нам всем нужен аутентифицированный загрузочный образ, а не аутентифицированный сжатый файл, который в конечном итоге превращается в вышеуказанный загрузочный образ (после прохождения через зараженную машину и т. Д.).

  3. У нас есть md5sum.txt в загрузочном образе. MD5 годами считается устаревшим хэшем. Не говоря уже о том, что вирус может легко изменить этот файл, поэтому он не может заменить необходимость хэшей файлов, которые можно загрузить из https://ubuntu.com/i-dont-know-where , а не в отличие от http (не s!): //releases.ubuntu.com/14.04/SHA256SUMS. Да, конечно, он отлично подходит для защиты от случайных ошибок, но это не относится к безопасности.

  4. ldlinux.sys даже не упоминается в md5sum.txt. Это единственный файл, который отличается между изображением A и изображением B (опять же, несмотря на то, что все пришло из того же ISO). У меня даже нет контрольной суммы для этого файла, не говоря уже о безопасном хеше. Насколько я знаю, компьютер A и компьютер B заражены, но разными вирусами заражают этот файл по-разному.

Вот что я хочу знать, как это сделать:

  1. Способ аутентификации дочернего образа (онлайн, а не локальными средствами, которые могли заразиться).

  2. Какой-то стандарт, который гарантирует, что Startup Disk Creator и Pen Drive Linux и все, что может придерживаться Random Boot Maker, могут присоединиться, так что любой может легко проверить получившийся загрузочный диск и сказать «это было подписано Ubuntu» или по крайней мере, «эти хэши выглядят так же, как те, что я вижу на https://ubuntu.com/hashes ».

  3. Если ничего другого, то SHA256 и правильный размер ldlinux.sys для различных версий Unbuntu.

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

2
задан 16 May 2014 в 02:52

1 ответ

ldlinux.sys для начальной загрузки Linux от отформатированных гибких дисков MS-DOS. Современные изображения Ubuntu (как 14,04) не используют ldlinux.sys. Вместо этого они используют isolinux.bin, который является частью El Torito Boot image ubuntu.iso. Для дампа заголовка El Torito, сделайте:

$  xorriso -indev ubuntu-14.04-desktop-amd64.iso -toc
xorriso 1.3.2 : RockRidge filesystem manipulator, libburnia project.

xorriso : NOTE : Loading ISO image tree from LBA 0
xorriso : UPDATE : 507 nodes read in 1 seconds
xorriso : NOTE : Detected El-Torito boot information which currently is set to be discarded
Drive current: -indev 'ubuntu-14.04-desktop-amd64.iso'
Media current: stdio file, overwriteable
Media status : is written , is appendable
Boot record  : El Torito , ISOLINUX isohybrid MBR pointing to boot image
Media summary: 1 session, 493568 data blocks,  964m data, 11.2g free
Volume id    : 'Ubuntu 14.04 LTS amd64'
Drive current: -indev 'ubuntu-14.04-desktop-amd64.iso'
Drive type   : vendor 'YOYODYNE' product 'WARP DRIVE' revision 'FX01'
Media current: stdio file, overwriteable
Media status : is written , is appendable
Media blocks : 493568 readable , 5895012 writable , 6388580 overall
Boot record  : El Torito , ISOLINUX isohybrid MBR pointing to boot image
Boot catalog : '/isolinux/boot.cat'
Boot image   : '/isolinux/isolinux.bin' , boot_info_table=on
Boot image   : '/boot/grub/efi.img' , platform_id=0xEF 
TOC layout   : Idx ,  sbsector ,       Size , Volume Id
ISO session  :   1 ,         0 ,    493568s , Ubuntu 14.04 LTS amd64
Media summary: 1 session, 493568 data blocks,  964m data, 11.2g free
Media nwa    : 493568s

При изменении какой-либо этой структуры начальной загрузки контрольная сумма (SHA256) ubuntu.iso отличалась бы. Можно получить SHA256SUMS, SHA256SUMS.gpg и ubuntu.iso из releases.ubuntu.com. Можно проверить изображение флэш-памяти USB на Карте памяти при помощи dd для записи изображения, и затем чтения его назад и сравнения его к оригиналу:

# checksum downloaded image (check this matches the published hash)
$ sha256sum ubuntu-14.04-desktop-amd64.iso
cab6b0458601520242eb0337ccc9797bf20ad08bf5b23926f354198928191da5  ubuntu-14.04-desktop-amd64.iso

# write image to USB flash
$ dd if=ubuntu-14.04-desktop-amd64.iso of=/dev/sdb

# read image from USB flash and checksum it
$ /bin/ls -l ubuntu-14.04-desktop-amd64.iso
-rw-r--r-- 1 user user 1010827264 Apr 17 10:51 ubuntu-14.04-desktop-amd64.iso
$ dd if=/dev/sdb bs=512 count=1974272 | sha256sum
1974272+0 records in
1974272+0 records out
cab6b0458601520242eb0337ccc9797bf20ad08bf5b23926f354198928191da5  -
1010827264 bytes (1.0 GB) copied, 34.1066 s, 29.6 MB/s

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

Если Вы используете другой инструмент (не dd) для записи в Карту памяти, то она могла бы записать различные двоичные данные, и необходимо будет генерировать собственную контрольную сумму путем записи использования инструмента и затем чтения диска с dd. Если Вы не доверяете единственному ПК, но доверяете нескольким, то необходимо будет воссоздать изображение на нескольких ПК, и гарантировать, что изображение генерирует ту же контрольную сумму на всех.


Если Вы предполагаете, что компьютер, который Вы используете, чтобы загрузить изображение и записать USB, был захвачен, то Вы никогда не можете доверять ничему, что это делает. Это могло сообщить, что контрольная сумма была прекрасна, и что в изображение не вмешались - но Вы никогда не могли доверять ему, потому что это уже было поставлено под угрозу. Исследователям удалось разработать системы, которые могут заразить встроенное микропрограммное обеспечение EFI, и таким образом переживать полную очистку формата жесткого диска, и в то же время сообщать, что Защищенная загрузка включена и хорошо работать, даже при том, что система полностью ниспровергалась. После того как система была поставлена под угрозу, Вы никогда не можете полностью удостоверяться, что она была убрана. Следовательно, почему NSA имеет в распоряжении программу, чтобы перенаправить, прервать и поставить под угрозу целевые системы пока все еще в руках курьера, прежде чем быть поставленным клиенту.

0
ответ дан 16 May 2014 в 02:52

Другие вопросы по тегам:

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