Защита контента от хостера
В некоторых случаях возникает необходимость защиты контента сайта от нечистплотного хостера, например, не брезгующего плагиатом.
Особенно когда его моральные качества заранее неизвестны.
Конечно, можно хранить контент на отдельном зашифрованном диске, например, с файловой системой EncFS, CryptoFS и т.п.,
но разумеется, это еще не защита, поскольку хостеру не составит труда вставить LiveCD, загрузиться с него с получить доступ к контенту.
И вот простая идея, препятствующая его алчным намерениям – монтировать крипто-ФС не автоматически, в процессе загрузки ОС, а вручную, вводом пароля владельцем контента.
Разумеется, это несколько хлопотно, но учитывая высокий uptime серверов, не настолько уж.
На первый взгляд идея вполне работоспособная. С другой стороны, не слышал, чтобы ее кто-то использовал.
Может, в этой схеме есть существенный изъян?
Буду рад конструктивной критике и советам.
Ссылки
[link1] https://www.pgpru.com/comment69681
[link2] https://www.pgpru.com/faq/zaschitadiska#h42-14
[link3] https://www.pgpru.com/novosti/2011/amnesiaprogramnajazaschitaotatakholodnojjperezagruzki
[link4] https://www.pgpru.com/biblioteka/osnovy/fondpoleznyhpostov/raznoe#fppD2I
[link5] https://www.pgpru.com/forum/prakticheskajabezopasnostj/realizacijapgpalgoritmanajavascript
[link6] http://lenta.ru/news/2013/10/25/uploadertalk/
Не существует никакой физической возможности помешать противнику, имеющему физический доступ к компьютеру (а хостер по определению его имеет), извлечь шифровальный ключ непосредственно из ОЗУ. Ваша задача не имеет решения. Можно городить всякий security through obscurity, но это полумеры, только отсрочивающие взлом.
Остаётся только защитить хостера от наличия контента — самому стать хостером.
/comment69681[link1] в этом топике тоже уместен, делаю кросслистинг.
Лучшая и простая идея — чтобы сервер хранил только зашифрованный контент, а его расшифрование проходило на компьютерах клиентов с помощью ключа, который они не передают на сервер. Хотя так и не рекомендуют[link2] делать, это (удалённые шифрованные файловые системы) всё равно лучше чем то, что вы предлагаете.
Бывают случаи, когда какой-то софт или ключи надо хранить на самом сервере, поэтому удалённые файловые системы не решают задачу. В этом случае могут применяться ряд уловок вида безопасность через неясность, которые хотя и неидеальны, но все вместе, в совокупности, очень сильно поднимают планку на взлом атакующим.
И как же это делается – при помощи вспомогательных аппаратных устройств? Если да, то вряд ли хостер будет этим заморачиваться, если контент не столь ценен (скажем, оценивается в $5000 – $10000).
Если бы массовые клиенты имели массовый же софт для расшифрования – тогда да. А так, при условии, что в наличии у пользователей только голые браузеры – проблематично.
Вот если бы кто большой и важный написал кросс-браузерный плагин с такой функцией для всех браузеров – тогда да. Но увы, такого пока нет.
Программно.
http://openpgpjs.org/
Гм. Как же это можно сделать программно, если после перезагрузки доступа к крипто-ФС без пароля не будет, а пароль к ней хранится на сервере в хешированном виде?
Можете прокомментировать проект, в том числе и степень доверия к нему, своими словами? А то мало что понятно..
Будет. Кто сотрёт пароль из ОЗУ? Читаем внимательно[link3]. Хинты: live forensics, forenscope. Есть и масса аппаратных средств: «О методах получения доступа к шифрованным данным при наличии физического доступа к атакуемой системе»[link4].
Напомнило[link5].
Вам нужен колокейшен. Покупаете свой физический сервер, снабжаете датчиком на вскрытие, опечатываете и ставите в датацентр. Сервер должен быть снабжен встроенным KVM для администрирования на случай недоступности ОС. Это единственный надежный способ.
Смотря что и от кого прятать. При самом параноидальном варианте можно допустить, что на колокейшене могут обвешать сервер кучей датчиков съёма данных (потребление энергии, электромагнитное излучение и пр.) по всем побочным каналам и сопоставлять их показания с трафиком (возможно адаптивно-модулированным). Так можно реконструировать ключи сертификатов и внутреннего шифрования диска сервера, после чего делать расшифрование дампов трафика, не вскрывая чёрный ящик.
Любой датчик на вскрытие можно обойти, вопрос в стоимости.
В любом современном ДЦ есть отдельные комнатки из решеток для самых требовательных клиентов. Клиент туда вешает замок, ставить своё видеонаблюдение и сигнализацию, сотрудники ДЦ не могут туда заходить. Внутрь заводится интернет и питание, а дальше клиент сам устанавливает все что ему надо, любое нестандартное оборудование. Правда там соответствующая цена и долгосрочные договоры.
Короче, как всегда, безопасность — вопрос экономического компромисса.
Kлиенту, которому хостинг нужно купить и обслуживать анонимно при том, что него спецслужбы охотятся, эта схема не подойдёт. Это крайний случай, как Сноуден или wikileaks, но он показателен.
Есть лишь 1 способ, хранить и распрастронять контент зашифрованным, таким образом что клиенты сайта, зная пароль, получают информацию уже локально, скачав зашифрованный контейнер себе на машину.
М-да, как все плёхо :( Да и колокейшн с амбарным замком не всегда подходит, дедики обычно берутся не поблизовсти, в дальних странах.
Мдя... Особенно, если хостер такой нехорощий как WDF[link6]: