Как обезопасить свой ноутбук, чтобы взлом через физический доступ был невозможен?

73

Я испортил свою систему раньше, меня встретили с черным экраном при загрузке в Ubuntu. Когда я запустил свой ноутбук, я выбрал опцию восстановления в меню grub и выбрал откат в корневом терминале. Я увидел, что могу использовать команду добавления пользователя, с ее помощью я, вероятно, смогу создать привилегированного пользователя на моей машине.

Разве это не проблема безопасности?

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

Если подумать, даже если вы как-то удалите эту запись, можно было бы загрузиться с live-CD, запустить chrootи запустить, а затем добавить другого пользователя с необходимыми привилегиями, позволяющими ему видеть все мои данные.

Если я установлю BIOS для загрузки только на моем HD, без USB, CD / DVD, запуска по сети и установлю пароль BIOS, это все равно не будет иметь значения, потому что у вас все еще будет эта запись запуска восстановления grub.

Я совершенно уверен, что кто-то из Китая, России, не сможет взломать мой Ubuntu Trusty Tahr из сети, потому что это безопасно. Но если у кого-то есть физический доступ к моей - вашей - машине, тогда, вот почему я задаю этот вопрос. Как я могу защитить свою машину, чтобы взлом через физический доступ был невозможен?


Сообщение об ошибке:

blade19899
источник
35
Полное шифрование диска и glitternailpolish для ваших винтов. Кто сегодня этим не занимается?
понедельник,
2
@ByteCommander вы можете добавлять пользователей root. Просто добавьте другого пользователя с uid 0 в / etc / password. Я просто добавил Фреда, fred:x:0:0:fred,,,:/home/fred:/bin/bashи теперь, если я войду в систему как Фред и бегу whoami, я получуroot
Йозеф
3
@ByteCommander они должны быть. Инструменты для управления учетными записями, как, например, adduserи т. Д., Обычно не позволяют вам этого делать, а просто редактирование /etc/passwdработает. Быть хакером означает игнорировать то, что вы должны делать;)
Йозеф
3
@ blade19899 Ваша новая ошибка наверняка будет отклонена. Сравните этот существующий: bugs.launchpad.net/ubuntu/+bug/283662
Byte Commander
4
@ blade19899 В более широком смысле, вы должны думать о рисках и компромиссах, а не об абсолютах. Я понятия не имею, кто вы и где вы живете, но домашнее ограбление, ведущее к тому, что кто-то эффективно использует ваши данные (вместо того, чтобы просто пытаться разгрузить аппаратное обеспечение), звучит немного надуманным и, возможно, менее тревожным, чем время, потеря денег или даже данных из-за отсутствия эффективных вариантов восстановления. Вот почему наличие резервного корневого терминала - это хорошо. Но очевидно, что это не значит, что вы не должны смотреть на полное шифрование диска.
Расслабленный

Ответы:

86

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


Кроме того, невозможно защитить вашу машину от опытного хакера с физическим доступом.

  • Пароли пользователей / учетных записей:
    легко создать нового пользователя-администратора, если вы загрузитесь в режиме восстановления, как вы сами описали, потому что вы получаете корневую оболочку без запроса паролей таким образом.
    Это может выглядеть как случайная проблема безопасности, но предназначено для (кто бы мог подумать?) Случаев восстановления, когда вы, например, потеряли пароль администратора или испортили sudoкоманду или другие важные вещи.

  • пароль root:
    Ubuntu по умолчанию не устанавливает пароль пользователя root. Тем не менее, вы можете установить один и будет предложено для него, если вы загружаетесь в режиме восстановления. Это кажется довольно безопасным, но все еще не является в конечном счете безопасным решением. Вы все еще можете добавить параметр ядра single init=/bin/bashчерез GRUB перед загрузкой Ubuntu, которая запускает его в однопользовательском режиме - который на самом деле является корневой оболочкой без пароля.

  • Защита меню GRUB с помощью пароля.
    Вы можете защитить свои пункты меню GRUB, чтобы они были доступны только после аутентификации, т.е. вы можете запретить загрузку режима восстановления без пароля. Это также предотвращает манипулирование параметрами ядра. Для получения дополнительной информации см. Сайт Grub2 / Passwords на help.ubuntu.com . Это можно обойти, только если вы загрузитесь с внешнего носителя или подключите жесткий диск к другому компьютеру напрямую.

  • Отключить загрузку с внешнего носителя в BIOS:
    вы можете установить порядок загрузки и, как правило, исключать устройства из загрузки во многих текущих версиях BIOS / UEFI. Эти настройки не защищены, так как каждый может войти в меню настроек. Вы должны установить пароль и здесь, но ...

  • Пароли BIOS:
    Обычно вы также можете обойти пароли BIOS. Есть несколько методов:

    • Сбросьте память CMOS (там, где хранятся настройки BIOS), открыв корпус компьютера и физически вынув батарею CMOS или временно установив перемычку «Clear CMOS».
    • Сброс настроек BIOS с помощью комбинации служебных клавиш. Большинство производителей материнских плат описывают комбинации клавиш в своих руководствах по обслуживанию, чтобы сбросить неверные настройки BIOS до значений по умолчанию, включая пароль. Примером может служить удержание ScreenUpпри включении питания, которое, если я правильно помню, разблокировало материнскую плату acer с AMI BIOS один раз для меня после того, как я испортил свои настройки разгона.
    • Наконец, что не менее важно, есть набор паролей BIOS по умолчанию, которые, кажется, всегда работают, независимо от реального установленного пароля. Я не проверял это, но этот сайт предлагает список их, классифицированных производителем.
      Спасибо Rinzwind за эту информацию и ссылку!
  • Заблокируйте корпус компьютера / запретите физический доступ к материнской плате и жесткому диску.
    Даже если все остальное не поможет, похититель данных все равно сможет открыть ваш ноутбук / компьютер, вынуть жесткий диск и подключить его к своему компьютеру. Смонтировать его и получить доступ ко всем незашифрованным файлам - очень просто. Вы должны положить его в надежно закрытый ящик, где вы можете быть уверены, что никто не сможет открыть компьютер. Это, однако, невозможно для ноутбуков и трудно для настольных компьютеров. Может быть, вы можете подумать о собственном боевике, подобном самоуничтожающемуся устройству, которое взрывает внутри себя взрывчатку, если кто-то пытается ее открыть? ;-) Но убедитесь, что вам никогда не придется открывать его для обслуживания!

  • Полное шифрование диска:
    я знаю, что рекомендовал этот метод как безопасный, но он также не на 100% безопасен, если вы потеряете свой ноутбук, когда он включен. Существует так называемая «холодная загрузка», которая позволяет злоумышленнику считывать ключи шифрования из вашей оперативной памяти после перезагрузки работающей машины. Это выгружает систему, но не сбрасывает содержимое оперативной памяти, пока питание не достаточно короткое.
    Спасибо Косу за его комментарий об этой атаке!
    Я также собираюсь процитировать его второй комментарий здесь:

    Это старое видео, но оно хорошо объясняет концепцию: «Чтобы мы не помнили:« холодные »атаки на ключах шифрования» на YouTube ; если у вас установлен пароль BIOS, злоумышленник все еще может извлечь батарею CMOS, пока ноутбук еще включен, чтобы загруженный диск был загружен без потери какой-либо важной секунды; это страшнее в наше время из-за SSD, так как пользовательский SSD, вероятно, будет способен создавать даже 8 ГБ менее чем за 1 минуту, учитывая скорость записи ~ 150 МБ / с

    Связанный, но все еще оставшийся без ответа вопрос о том, как предотвратить «холодные» атаки: как включить Ubuntu (с использованием полного шифрования диска) для вызова LUKSsupend перед сном / приостановкой работы в ОЗУ?


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

Если вы заботитесь не столько о своих данных, сколько о своем оборудовании, вы можете купить и установить отправитель GPS в ваше дело, но это только для настоящих параноиков или федеральных агентов.

Byte Commander
источник
7
И все же полное шифрование диска не спасет вас от холодных атак, если ваш ноутбук украден, пока он включен!
Кос
14
Кроме того, после того, как ваш ноутбук какое-то время находился вне вашего контроля, нельзя ожидать, что он больше не будет в безопасности. Например, теперь он может записать ваш пароль перед загрузкой.
Иосиф
1
Шифрование ваших данных не должно увеличивать риск их потери, потому что у вас есть резервные копии, верно? Данные, сохраненные только один раз, не намного лучше, чем данные, которых не существует. SSD особенно имеют тенденцию внезапно выходить из строя без возможности получить что-либо из них.
Иосиф
3
Это старое видео, но оно хорошо объясняет концепцию: youtube.com/watch?v=JDaicPIgn9U ; если у вас установлен пароль BIOS, злоумышленник все еще может извлечь батарею CMOS, пока ноутбук еще включен, чтобы загруженный диск был загружен без потери какой-либо важной секунды; в настоящее время это страшнее из-за SSD, так как пользовательский SSD, вероятно, будет способен записывать даже 8 ГБ менее чем за 1 минуту, учитывая скорость записи ~ 150 МБ / с
kos
2
@ByteCommander, но ваш SSD может выйти из строя точно так же, и все ваши данные будут потеряны. Конечно, если вы склонны забывать пароли (ну, тогда запишите их и положите в свой сейф), вероятность потери всех ваших данных может увеличиться с помощью шифрования, но это не значит, что ваши данные сверхнадежны, если вы не решитесь их зашифровать. , Вы не «рискуете всем, забывая свой пароль или сбой», вы делаете это, не имея резервных копий.
Иосиф
11

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

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

Запретив эти параметры, дважды зашифруйте жесткий диск и для его расшифровки необходимо подключить USB-накопитель. USB-накопитель содержит один набор ключей дешифрования, а BIOS содержит другой набор - конечно, защищенный паролем. Добавьте к этому процедуру автоматического самоуничтожения данных, если флэш-накопитель USB не подключен во время загрузки / возобновления из режима ожидания. Всегда носите с собой USB-накопитель. Эта комбинация также имеет дело с XKCD # 538 .

XKCD # 538

Э. Диаз
источник
7
Автоматическая процедура самоуничтожения, безусловно, станет приятным сюрпризом, когда ваш USB-накопитель накопит пыль на контактных площадках.
Дмитрий Григорьев
10

Зашифруйте свой диск. Таким образом, ваша система и ваши данные будут в безопасности в случае кражи вашего ноутбука. В противном случае:

  • Пароль BIOS не поможет: вор может легко извлечь диск из вашего компьютера и установить его на другой компьютер для загрузки с него.
  • Ваш пароль пользователя / root также не поможет: вор может легко смонтировать диск, как описано выше, и получить доступ ко всем вашим данным.

Я бы порекомендовал вам иметь раздел LUKS, в котором вы можете настроить LVM. Вы можете оставить загрузочный раздел незашифрованным, так что вам нужно будет ввести пароль только один раз. Это означает, что ваша система может быть более легко взломана, если будет подделана (украдена и возвращена вам без вашего ведома), но это очень редкий случай, и, если вы не думаете, что за вами следят АНБ, правительство или какой-то мафия, тебе не стоит об этом беспокоиться.

Ваш установщик Ubuntu должен дать вам возможность установки с LUKS + LVM очень простым и автоматизированным способом. Я не публикую здесь подробности, так как в Интернете уже есть много документации. :-)

Peque
источник
Если возможно, не могли бы вы дать более подробный ответ. Как вы можете сказать по моему вопросу, я не специалист по безопасности.
blade19899 21.09.15
голосуем за пулевые пункты, но учтите, что полное шифрование диска - не единственный способ, и в этом нет необходимости, если вы ограничиваете свои конфиденциальные файлы /home/yourName- как следует! - затем поместите эту папку в стек с помощью драйвера шифрования на уровне файлов (такого, который я упоминал на OP и больше не буду спамить), что является очень жизнеспособной альтернативой. Я не волнуюсь о людях, видящих все скучные вещи /usr, и т. Д.
underscore_d
1
@underscore_d: Я действительно беспокоюсь о других вещах снаружи /home(включая личные и профессиональные данные в других разделах), поэтому мне проще зашифровать все, но я предполагаю, что у каждого пользователя есть свои потребности :-). Однако использование ecryptfsне является лучшим решением с точки зрения производительности. Вы можете найти некоторые тесты здесь . Обязательно прочитайте страницы 2-5в статье для получения реальных результатов (страница 1является лишь вступлением).
Пек
Очень верно, спасибо за ссылку / тесты. Я еще не достиг никаких барьеров производительности, но, возможно, позже я это сделаю. Кроме того , я понял , что я, возможно , придется начать думать о шифровании вещи , как /var/log, /var/www(источник), и /tmp, поэтому , возможно , полное шифрование диска начинает казаться более разумным!
underscore_d
@underscore_d: да, и тогда вы начинаете думать о /etcдругих каталогах верхнего уровня ... В конце концов, полное шифрование диска - это простое и быстрое решение, которое позволит вам спать как ребенок каждую ночь. ^^
Пек
5

Есть пара аппаратных решений, на которые стоит обратить внимание.

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

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

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

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

Блейк Уолш
источник
2

В дополнение к шифрованию вашего диска (вы не сможете обойти это): - SELinux и TRESOR. Оба защищают ядро ​​Linux и пытаются затруднить злоумышленникам чтение вещей из памяти.

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

  • Попробуйте очистить все с закрытым исходным кодом (также прошивки) от ПК. Это включает в себя UEFI / BIOS!
  • Используйте tianocore / coreboot в качестве нового UEFI / BIOS
  • Используйте SecureBoot со своими собственными ключами.

Есть много других вещей, которые вы можете сделать, но они должны дать разумное количество вещей, с которыми им нужно справиться.

И не забудьте про: xkcd ;-)

larkey
источник
Эти предложения не являются полезными. Ни SELinux, ни TRESOR не останавливает кого-либо с физическим доступом. Они не предназначены для этой модели угроз. Они обеспечат ложное чувство безопасности. PS Чистка кода с закрытым исходным кодом совершенно не связана с обеспечением защиты от кого-то с физическим доступом.
DW
1
@DW «TRESOR (рекурсивная аббревиатура для« TRESOR выполняет шифрование безопасно вне ОЗУ ») - это исправление ядра Linux, которое обеспечивает шифрование на основе ЦП для защиты от атак« холодной загрузки »- так что TRESOR определенно помогает в таких сценариях. Но это только побочный момент. Я написал «Дополнительно», поскольку эти вещи ничего не сделают, если вы не зашифруете свой диск (в случае физического доступа). Однако, когда вы повышаете физическую безопасность, вы не должны забывать, что злоумышленник все еще может просто загрузиться и провести цифровую атаку (например, использовать ошибки).
Кларк
@DW Это довольно дерьмово, если ваш компьютер хорошо зашифрован, но склонен к повышению привилегий. Вот почему - если кто-то собирается защитить систему с физической стороны - нужно также сделать некоторую защиту со стороны программного обеспечения. Я прямо заявил, что они укрепили ядро ​​Linux, и они должны быть сделаны дополнительно . То же самое касается программного обеспечения с закрытым исходным кодом. Ваш диск может быть хорошо зашифрован, но если в UEFI есть секретный кейлоггер, это не поможет вам против спецслужб.
Кларк
Если вы используете полное шифрование диска и не оставляете свой компьютер без присмотра, атаки на повышение привилегий не имеют значения, так как злоумышленник не узнает пароль для расшифровки. (. Правильное использование полного шифрования диска требует , чтобы выключить / спящий режим , когда без присмотра) Если используется полное шифрование диска и сделать оставить свой компьютер без присмотра, то полное шифрование диска может быть обойден любым количеством способов - например, прикрепляя USB ключ - даже если вы используете TRESOR, SELinux и т. д. Опять же, они не предназначены для этой модели угроз. Этот ответ, похоже, не отражает тщательного анализа безопасности.
DW
1
С ласканной формулировкой «попробуй» все подойдет - шифрование rot13 может попытаться гарантировать, что эксплойт не сможет захватить систему. Не получится, черт возьми, но я могу описать это как попытку. Я хочу сказать, что защита, которую вы выделяете, не эффективна для остановки этого класса атак. SELinux / TRESOR не останавливайте холодную загрузку. Чтобы проанализировать безопасность, вы должны начать с модели угроз и проанализировать защиту против этой конкретной модели угроз. Безопасность - это не процесс посыпания бесконечного списка дополнительных ограничений, которые звучат хорошо. В этом есть какая-то наука.
DW
2

Поскольку вы немного изменили вопрос, вот мой ответ на измененную часть:

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

Ответ: вы не можете

Существует множество современных аппаратных и программных систем, таких как обнаружение несанкционированного доступа , шифрование и т. Д., Но все это сводится к следующему:

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

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

Следующий вопрос, который вы должны задать : как я могу приобрести новое оборудование, которое не было взломано.

Josef
источник
1

Используйте пароль ATA для вашего HDD / SSD

Это предотвратит использование диска без пароля . Это означает, что вы не можете загрузиться без пароля, потому что вы не можете получить доступ к MBR или ESP без пароля. И если диск используется внутри другого канала, пароль все равно требуется.

Таким образом, вы можете использовать так называемый пользовательский пароль ATA для вашего HDD / SSD. Обычно это устанавливается в BIOS (но это не пароль BIOS).

Для дополнительной безопасности вы также можете установить мастер-пароль ATA на диске. Чтобы отключить использование пароля производителя.

Вы можете сделать это с Кли hdparmтоже.

Особая осторожность следует принимать , потому что вы можете потерять все свои данные , если вы потеряете пароль.

http://www.admin-magazine.com/Archive/2014/19/Using-the-ATA-security-features-of-modern-hard-disks-and-SSDs

Примечание. Здесь также есть недостатки, поскольку существуют программы, которые утверждают, что восстанавливают пароль ATA или даже утверждают, что его удаляют. Так что это не на 100% безопасно.

Примечание: пароль ATA не обязательно идет с FED (полное шифрование диска)

солнцестояние
источник