Важный компонент защиты от несанкционированного доступа
Каждому разумному человеку есть, что скрывать. Это нормально. Никто не хочет, чтобы утекли его приватные ключи для доступа в репозиторий, важный код или личные фотки в свитере с оленями.
Поэтому, я тут подумал и решил собрать в одном месте некий стандартизированный чек-лист по комплексной защите своего ноутбука. Я намеренно отсекаю станционарные ПК, потому что они меньше подвержены угрозам вида «случайно забыл в баре». С 6 килограммами жестких дисков, тепловых трубок и башенным кулером это сделать куда сложнее.
Я постараюсь пройтись по основным угрозам и методам защиты. Например, люди часто забывают, что вводить пароль под камерой — плохая идея. Буду крайне признателен вашим дополнениям.
Паранойя непродуктивна
Мы можем сколько угодно фантазировать на тему зарядов термита в батарейном отсеке и загрузке с внешнего жесткого диска, замаскированного под кофеварку. Нет, все это реально можно реализовать, но, как показывает практика, это довольно бессмысленно и сильно усложняет жизнь владельцу.
К сожалению, самые изощренные схемы часто разбиваются тем самым гаечным ключом за $5. Поэтому, сразу определим уровень защиты как разумно-сбалансированный, где для включения ноутбука не требуется собирать вшестером ключ из фрагментов Шамира.
Больше всего нас тревожит, что к ноутбуку могут получить физический доступ. Это чревато утечкой содержимого жестких дисков и бонусами в виде руткитов. Особенно это опасно в случае, если вы не заметили, что компьютер побывал в чьих-то руках.
Почувствуй себя волшебной принцессой
Проблема скрытого доступа решается до идиотизма просто. Только для начала надо будет научиться делать покер-фейс в магазине, который продает максимально дешевые накладные ногти, пластмассовые сережки и тому подобные радости для девочек лет 10. Да, нам понадобится лак с блестками. Как ни странно, но практически невозможно замаскировать факт выкручивания винтов корпуса, если на них нанести каплю подобного разноцветного ужаса за 50 рублей. Структура лака будет нарушена и ориентация частиц изменится даже при попытке сгладить все каплей растворителя. Особенно удобно использовать для этого два разных лака с длинными частицами в форме волосков.
Помимо этого можно воспользоваться и штатными вариантами вроде kensington lock. Но это скорее не про защиту от скрытого доступа, а про пристегивание ноутбука к тумбе потяжелее, чтобы не утащили, пока вы отошли за кофе.
Разблокировка
Любая более или менее современная ОС предполагает автоматическую блокировку сеанса пользователя при закрытии крышки ноутбука, ручной блокировке или после некоторого таймаута. К сожалению, любая попытка сделать безопасно приводит к варианту «сделать неудобно». Поэтому есть смысл рассмотреть недостатки удобных и популярных способов упрощенной разблокировки.
Отпечаток пальца, если есть выделенный для этого сенсор ноутбука. Весьма неплох в большинстве ситуаций, но имеет несколько фундаментальных проблем, общих для любой биометрии. Его нельзя заменить, так как количество нескомпрометированных пальцев имеет тенденцию заканчиваться. А еще его очень просто использовать по принуждением. Думаю, что не ошибусь, если предположу, что большинство использует отпечаток указательного пальца правой руки. К тому же стандартные сенсоры потребительского сегмента не контролируют косвенные параметры вроде наличия пульсации капилляров, что позволяет не только приложить палец отдельно от владельца, но и банальную реплику, снятую со стакана в баре.
Разного рода face unlock также стали достаточно популярны вслед за мобильными телефонами, но они в большинстве случаев абсолютно непригодны для контроля доступа. Обычная камера с радостью разблокируется в ответ на фотографию из социальной сети, которую показывают на экране мобильника. Ну и все те же проблемы с недобровольным доступом.
Доверенные устройства вроде фитнесс-браслета уже интереснее. Но у них другая проблема- неконтролируемый радиус действия. Вроде бы отошел от ноутбука за кофе, но связь с браслетом все равно сохраняется. Реально подобный метод подходит для защиты только от кражи компьютера.
Резюме: лучше всего ввод пароля из неизвлекаемого хранилища в сером веществе владельца. Но если очень раздражает, то отпечаток пальца, хотя это и снижает защиту. А еще правда не стоит вводить пароли под камерами наблюдения. Разрешения более чем достаточно для его восстановления.
Шифрование
Это такой пункт, который не особо имеет смысл обсуждать. Шифровать однозначно надо. Да, формально это увеличивает риски необратимой потери данных. Но тут сразу есть два контраргумента:
- Особенно ценные данные лучше безвозвратно похоронить в виде шифрованного фарша, но не отдать в плохие руки
- Жесткий диск и так может отказать в любой момент, потому что звезды не так сошлись. Поэтому шифрование ни в коем случае не отменяет бэкапов.
Осталось определиться как лучше всего его реализовать. Наибольшее доверие традиционно отдается свободным вариантам реализации. LUKS с помощью dm-crypt для линуксоидов и полнодисковые варианты вроде VeraCrypt для всех вариантов ОС. Последний вариант хорош своей гибкостью в выборе алгоритмов шифрования диска и возможностью использования токенов и ключевых файлов на внешнем носителе. К сожалению, использование файлов в дополнение к паролю возможно только для контейнеров на уровне ОС, но не при полнодисковом шифровании.
Помимо этих вариантов я бы хотел еще предложить полнодискового шифрования с SED — Self-encrypting disk. На данный момент существует спецификация TCG OPAL 2.0, которой соответствует большинство современных SSD-дисков. Основной плюс этого подхода — нулевой оверхед на шифрование. CPU даже не пытается занимать этой задачей, а все шифрование абсолютно прозрачно для операционной системы. Всем занимается непосредственно контроллер SSD. Более того, если мы посмотрим спецификацию на распространенные Samsung EVO серии, то будет понятно, что они в принципе из коробки выполняют AES шифрование всех данных зашитым ключом. Просто по умолчанию поверх этого ключа не добавляется еще один пользовательский. Но после активации шифрования диск будет доступен только после ввода пользовательского ключа при загрузке. Есть очень неплохой мануал от Dell на эту тему.
Важно не забывать, что все шифрование бесполезно в тот момент, когда компьютер находится в разблокированном состоянии. Поэтому важно позаботиться об автоматической блокировке через приемлемо короткий промежуток времени. В случае с Self-encrypting disk есть проблема. Сброс ключей происходит в момент полного цикла включения-выключения. Так как процесс шифрования прозрачен для ОС, то обычный deauth не блокирует жесткий диск. Более того, на некоторых моделях ноутбуков не происходит обрыва питания SSD в момент перезагрузки, что потенциально делает всю систему уязвимой. Рекомендую прочитать презентацию с BlackHat на эту тему.
Также не забывайте организовать резервное копирование данных. Обычно оптимальным вариантом будет использование коммерческого облака с выгрузкой данных в шифрованном виде. Или можно поднять свой Nextcloud и организовать реплики данных на доверенных машинах.
Прочие очевидные и не очень пункты
Своевременно обновляйтесь. Я сам иногда сижу подолгу на Ubuntu LTS, который уже ушел в oldstable. Но все-таки не затягивайте до окончания сроков security поддержки вашей ОС и ключевых компонентов. Каждая незакрытая CVE — потенциальный вектор атаки.
Никогда не подключайте неизвестные устройства. Банально, но это типовой вектор получения контроля, особенно, если ОС имеет уязвимости или используется zero-day. Если прям очень надо, то лучше воспользоваться live-cd любого дистрибутива linux.
Следите за софтом, который вы устанавливаете. Сейчас все кому не лень хотят покопаться в ваших файлах. От Microsoft спрятаться сложно, можно только уповать на то, что хоть какие-то галочки они не игнорируют. Ну и на эффективность фильтрации телеметрии на уровне DNS от локального pi-hole. Но помимо системных утилит есть еще сторонние антивирусы, клиенты облачных хранилищ с мутным EULA и правами залить вам «ярлык для приложения видеоконференций» на 101 мегабайт. По возможности предпочтите свободные аналоги программ. Они, как правило, такой дичи не творят.
Чек-лист
- Защита должна быть соразмерна угрозе. Используйте простые и надежные методы, которые не мешают жить.
- Обеспечьте защиту от скрытого вскрытия корпуса. Пара капель лака решат эту проблему.
- Лучше всего разблокируйте устройство паролем. Если хочется менее безопасно, но удобно, то используйте отпечаток пальца.
- Используйте шифрование. Если хотите гибко и надежно — LUKS и VeraCrypt помогут, но сожрут ресурсы CPU и уронят IOPS. Если надо быстро и прозрачно — TCG OPAL 2.0. Но могут быть проблемы с блокировкой во сне.
- Не забывайте про бэкапы. Данные можно потерять не только из-за ключа, но из-за банального отказа диска.
- Ставьте security-патчи вовремя.
- Не ставьте софт с непонятными привилегиями и доступом в сеть.
- Не подключайте неизвестные устройства.
Автор: ru_vds