Наскільки здатність людини, яка отримала фізичний доступ до вашого комп'ютера, отримати будь-який захист [за допомогою Grub / Bash]?
Тому що якби Linux вирішив почати це робити, хакери просто експлуатуватимуть інші дірки в безпеці. Перше правило безпеки полягає в тому, що якщо я маю фізичний доступ до вашої системи, це закінчиться грою. Я переміг.
Крім того, уявіть, що ваш X-сервер зламався, і у вас більше немає графічного інтерфейсу. Вам потрібно завантажитися в консоль відновлення, щоб виправити речі, але ви не можете, тому що це небезпечно. У цьому випадку вам залишається повністю розбита система, але ей, принаймні, це "безпечно!"
Але Каз, як це можливо? Я встановив пароль на своєму Grub, щоб ви не могли змінити мене init
на Bash!
О, ти це зробив, чи не так? Цікаво, адже це схоже на ваш фотоальбом. GRUB взагалі не має властивого фактору безпеки. Це просто завантажувач , а не крок у захищеному ланцюзі завантаження та аутентифікації. Встановлений вами "пароль" насправді досить просто обійти.
Що, і що sysadmin не здійснює завантажувальний привід на них у надзвичайних ситуаціях?
Але як?! Ви не знаєте мого пароля (який зовсім не P@ssw0rd
btw)
Так, але це не заважає мені відкривати ваш комп'ютер і витягувати ваш жорсткий диск. Звідси - це кілька простих кроків, щоб встановити диск на моєму комп’ютері, надаючи мені доступ до всієї вашої системи. Це також має дивовижну перевагу в обход вашого пароля BIOS. Це, або я міг просто скинути ваш CMOS. Або.
Отже ... як я не дозволяю вам отримати доступ до моїх даних?
Простий. Тримайте ваш комп'ютер подалі від мене. Якщо я можу доторкнутися до нього, отримати доступ до клавіатури, вставити власні флешки або розібрати її, я можу перемогти.
Отже, чи можу я просто помістити свій комп'ютер у центр обробки даних чи щось таке? Це досить безпечно, правда?
Так, вони є. Але ви забуваєте, що люди теж підлягають хакерству, і, маючи достатньо часу та підготовки, я, мабуть, міг би потрапити в цей центр обробки даних і зафіксувати всі ті приємні, солодкі дані з вашого комп’ютера. Але я відволікаюсь. Тут ми маємо справу з реальними рішеннями.
Гаразд, так ти назвав мій блеф. Я не можу помістити його в центр обробки даних. Чи можу я просто зашифрувати домашню папку чи щось таке?
Звичайно, можна! Це ваш комп'ютер! Чи допоможе це зупинити мене? Не найменше. Я можу просто замінити щось важливе, як-от /usr/bin/firefox
власну шкідливу програму. Наступного разу, коли ви відкриєте Firefox, всі ваші таємні дані будуть передані на секретний сервер десь секретом. І ти навіть не дізнаєшся. Або якщо я маю частий доступ до вашої машини, я можу просто налаштувати вашу домашню папку, яку потрібно скопіювати, /usr/share/nonsecrets/home/
або будь-яке подібне (незашифроване) місце.
Гаразд, що з повним шифруванням диска?
Це ... насправді досить добре. Однак це ще не ідеально! Я завжди можу виконувати атаку з холодним завантаженням, використовуючи свою надійну банку зі стисненим повітрям. Або я можу просто підключити апаратний кейлоггер на комп'ютер. Один явно простіше, ніж інший, але спосіб насправді не має значення.
У переважній більшості випадків це гарне місце для зупинки. Можливо, з’єднайте його з TPM (обговорюється нижче), і ви золото. Якщо ви не розгнівали агенцію з трьома листами або дуже мотивованого хакера, ніхто не збирається докладати зусиль, необхідних пройти цей етап.
Звичайно, я все ще можу змусити вас встановити деякі шкідливі програми / на задньому плані, пропонуючи вам PPA або подібне, але це потрапляє в саму мутню область довіри користувачів.
Отже ... наскільки iPhone такі безпечні? Навіть при фізичному доступі ти не можеш багато чого зробити.
Ну так і ні. Я маю на увазі, якби я був досить мотивований, я міг би прочитати флеш-чіп і отримати все, що мені потрібно. Але iPhone є принципово різними, оскільки вони повністю закрита платформа. Але, в той же час, ви дійсно жертвуєте зручністю і здатністю відновитися після катастрофічних невдач. GRUB (за винятком випадків, коли вони спеціально розроблені) не має бути ланцюгом у системі безпеки. Насправді, у більшості систем Linux свої ланцюги безпеки починаються після завантаження, тому після того, як GRUB закінчить робити свою справу.
Крім того, в iPhone є примусовий контроль над криптографічним підписом (також обговорюється нижче), завдяки чому зловмисне програмне забезпечення дуже важко пробирається на ваш телефон законними шляхами.
А як щодо TPM / SmartCards / [вставте сюди криптовалюту]?
Що ж, тепер ви поєднуєте фізичну безпеку в рівняння, все ще стає складніше. Але це насправді не є рішенням, оскільки TPM порівняно слабкі і все шифрування не відбувається на мікросхемі. Якщо ваш TPM (якимось чином) досить сильний там, де він шифрує сам чіп (у деяких дуже фантазійних жорстких дисків є щось подібне), ключ ніколи не буде розкритий, і такі речі, як атаки з холодним завантаженням, неможливі. Однак ключі (або необроблені дані) все ще можуть бути присутніми в системній шині, тобто вони можуть бути перехоплені.
Незважаючи на це, мій апаратний кейлоггер все одно може отримати ваш пароль, і я можу легко завантажити деяку шкідливу програму на вашу машину a la Firefox, про яку я згадував раніше. Все, що мені потрібно, - це ти залишити будинок / комп’ютер, можливо, на годину.
Тепер, якщо ви берете з собою свою TPM / смарт-карту / що завгодно, і все шифрування фактично робиться на мікросхемі (це означає, що ваш ключ взагалі не зберігається в оперативній пам’яті), тоді мені практично неможливо ввійти в все, якщо ви (користувач) щось підсунути і щось забути. Тобто, якщо я не знайду способу прочитати (незашифрований) ключ із системної шини.
Але що робити, якщо я маю певну форму виконання криптографічного / цифрового підпису у всіх своїх програмах, щоб переконатися, що вони легітимні?
Як показали різні компанії смартфонів, це дуже хороший спосіб поводження з безпекою. Тепер ви скасували мою здатність вводити якийсь код на вашу машину, щоб робити шкідливі речі, що є плюсом. Ефективно ви відключили мою здатність віддалено зберігати постійний доступ до вашої машини, що є величезним плюсом.
Однак це все ще не ідеальний метод! Застосування цифрового підпису не зупинить апаратний кейлоггер. Він також повинен бути повністю позбавлений помилок, це означає, що я не можу знайти подвиг, який дозволяє завантажувати мій власний сертифікат у магазин сертифікатів вашої машини. Крім того, це означає, що кожен виконуваний файл у вашій системі повинен бути підписаний . Якщо ви не хочете вручну пройти і не зробити все це, буде дуже важко знайти пакети Apt тощо, які мають цифровий підпис на всьому. Аналогічно, це блокує законне використання для непідписаних виконуваних файлів, а саме відновлення. Що робити, якщо ви зламаєте щось важливе, і у вас немає (підписаного) виконуваного файлу, щоб це виправити? Ну, там іде ваша система.
Так чи інакше, намагання зробити це в Linux в основному було майже покинутим і більше не працює для нових ядер, тому вам потрібно буде створити своє власне.
Отже, неможливо утримати тебе від мого комп’ютера?
Ефективно, так, вибачте. Якщо у мене фізичний доступ і достатня мотивація, завжди можна потрапити в систему. Немає винятків.
Насправді, однак, більшість злих людей не намагатимуться йти так далеко лише для деяких зображень котів. Зазвичай просто повного дискового шифрування (або навіть просто запущеного Linux!) Достатньо, щоб утримати більшість дітей-скриптів від отримання двох секунд слави.
TL; DR: Просто не дозволяйте людям, яким ви не довіряєте біля свого комп’ютера. Це, як правило, досить добре.