LINUX.ORG.RU
ФорумTalks

В линуксе отсутствует механизм контроля целостности системы посредством эцп

 


0

1

Ехал с работы, размышлял о том, что защищённее Windows или GNU/Linux и тут до меня внезапно дошло, что в линуксе какой-либо механизм контроля целостности самой системы отсутствует как факт. Вот в винде, напимер, любой исполняемый файл и любая библиотека снабжены эцп, в линуксе (я имею в виду top10 популярных дистрибутивов) gpg-подпись имеют только пакеты в репозитории, но не отдельные файлы в составе этих пакетов. И когда ты, допустим, принимаешь сервер у предыдущего админа, у тебя нет никаких гарантий, что он в нём не оставил какую-нибудь гадость.

★★★★★

Вот в винде, напимер, любой исполняемый файл и любая библиотека снабжены эцп

Во-первых, не любой. Во-вторых, кто бы удивлялся, что это добавляет шерето для атакующих: https://labs.mwrinfosecurity.com/blog/masquerading-as-a-windows-system-binary...

И когда ты, допустим, принимаешь сервер у предыдущего админа, у тебя нет никаких гарантий, что он в нём не оставил какую-нибудь гадость.

Про хэш-суммы ты, разумеется, не слышал.

Ехал с работы

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

redgremlin ★★★★★
()
Ответ на: комментарий от dexpl

Попрошу без дискриминации deb-большинств! dpkg -V тоже не помешает.

redgremlin ★★★★★
()
Ответ на: комментарий от Sociopsih

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

sunny1983 ★★★★★
() автор топика
Последнее исправление: sunny1983 (всего исправлений: 2)

Таки ты не прав. Некоторые пакетные менеджеры хранят хеш-суммы каждого установленного файла, а не только пакета как целого.

Кроме того, даже те где это не делается позволяют скачать все установленные из репозитория пакеты, сверить их контрольные суммы, распаковать их во временную директорию, а затем сравнить скажем diff -rq /usr /tmp/root/usr.

Xenius ★★★★★
()

Принимай у предыдущего админа не сервер, а [желательно исполнимый] diff относительно дистрибутива, просмотри его и разверни новый сервер.

DonkeyHot ★★★★★
()
Ответ на: комментарий от sunny1983

Твое требование технически нереализуемо в линуксе. Ибо все точилось на скорость а не на удобство всобачивания подписей

ckotinko ☆☆☆
()

И когда ты, допустим, принимаешь сервер у предыдущего админа, у тебя нет никаких гарантий, что он в нём не оставил какую-нибудь гадость.

Для этого есть платные системы архивации, есть бесплатные системы архивации.
Есть, о ужос, стримеры, которые уже какой месяц Макс Крюкофф пересобирает на ютубчике.

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

Deleted
()
Ответ на: комментарий от Deleted

понятно что не про наши реалии, когда денег нужно на пожрать, а не на оплату своего труда. 8-(

Deleted
()
Ответ на: комментарий от sunny1983

ЭЦП можно сверять на старте системы. Более того, это было реализовано в платах accord которые пилило внии пвти что в Москве на Павелецкой.

ckotinko ☆☆☆
()
Ответ на: комментарий от sunny1983

хэш-сумма != эцп

Расскажи подробнее, чем тебя не устраивает, например, верификация пакетов RPM. И если формально, то ЭЦП - это именно хеш-сумма.

tailgunner ★★★★★
()
Ответ на: комментарий от sunny1983

хэш-сумма != эцп

Может тебе еще на каждый файл выдавать бумажный сетрификат, подписанный не менее 3 аккредитованными мейнтейнерами?

Siado ★★★★★
()
Ответ на: комментарий от Deleted

Не, если за базис принимать теорию Эрзента, то личный винтик на пару ТБ не помешает, тихонько делать бэкапы для себя. Зная что развалится и пипец

Deleted
()

принимаешь сервер у предыдущего админа, у тебя нет никаких гарантий

Иди к Поттерингу. Он обнимет, утешит, и запилит в systemd.

aidaho ★★★★★
()

Вот в винде, напимер, любой исполняемый файл и любая библиотека снабжены эцп, в линуксе (я имею в виду top10 популярных дистрибутивов) gpg-подпись имеют только пакеты в репозитории, но не отдельные файлы в составе этих пакетов.

https://en.wikipedia.org/wiki/Deb_(file_format)

Control archive
The control archive contents can include the following files:
…
md5sums contains MD5 checksums of all files in the package in order to detect corrupt or incomplete files.
…

И когда ты, допустим, принимаешь сервер у предыдущего админа, у тебя нет никаких гарантий, что он в нём не оставил какую-нибудь гадость.

А какие средства на винде есть чтобы это проверить одним махом для всех файлов/всей системы? На линуксе такого не замечал тоже.

Exmor_RS ★★★
()
Ответ на: комментарий от redgremlin

А если отдельно установлено и скомпилено что-то левое вместо /opt/ в /var/lib какой-нибудь

Siado ★★★★★
()
Ответ на: комментарий от Exmor_RS

А какие средства на винде есть чтобы это проверить одним махом для всех файлов/всей системы?

Позвони в поддержку микрософт - там тебе помогут все по телефону проверить

Siado ★★★★★
()

Меня вот очень интересует, есть ли по твоему в Винде подписи на политики AD, на hosts, на тонну ini'шников? Ты думаешь что там так мало мест для манипуляций? Автозагрузка в реестре подписана? Реестр вообще подписан? Ты точно уверен что переданная тебе винда девственно чиста. Тред - Тупак.

Promusik ★★★★★
()
Ответ на: комментарий от Promusik

Вероятно, Поттеринг, уже думает над этим.

madcore ★★★★★
()
Ответ на: комментарий от ckotinko

ЭЦП можно сверять на старте системы. Более того, это было реализовано в платах accord которые пилило внии пвти что в Москве на Павелецкой.

И сколько же длилась загрузка ? Полдня ? Отлично.

lenin386 ★★★★
()
Ответ на: комментарий от Promusik

ну вообще у меня на одном месте работы вся винда была настолько огорожена, что не каждый Администратор мог что-то в hosts локального компа поправить, а за попытку что-то изменить в реестре - к тебе сразу выезжали :)

проблема была тут в том, что за этими компами работают программисты, и им частенько надо что-то в системе поменять

с серверами тоже проблема в таком подходе - часто софт крашится, и без отладки непонятно, почему именно. А когда всё вокруг анально оккупировано, и на каждый ченж нужно писать бумагу с прошением об изменении, отладка начинает занимать не пару часов, а пару месяцев в лучшем случае (если баг не завязан на время)

stevejobs ★★★★☆
()
Последнее исправление: stevejobs (всего исправлений: 1)
Ответ на: комментарий от ckotinko

с фига ли оно не реализуемо? Вон в Astra Linux вообще [url-http://www.astralinux.com/home/pressa-o-nas/236-khaker-russkij-bronirovannyj-... контроль доступа вкорячили. До того, что хочет ТС там недалеко.

вопрос только в том, зачем это нужно. После внедрения тотальной ЭЦП-изации, поциент будет совсем неоперабелен

stevejobs ★★★★☆
()
Последнее исправление: stevejobs (всего исправлений: 1)
Ответ на: комментарий от Sociopsih

Выше уже говорили про хэш-суммы.

Что мешает создать собственный репозиторий, подписать самособраные пакеты и установить их на рабочую машину? Все подпися и хэши совпадут до бита!

iZEN ★★★★★
()
Ответ на: комментарий от stevejobs

ну вообще это так.

вот например, есть у тебя struct file_operations; куда ты собрался в линуксе вкорячивать контроль ЭЦП?

линукс архитектурно не приспособлен к ЭЦП. единственно что через fuse сделают.

ckotinko ☆☆☆
()
Ответ на: комментарий от ckotinko

Это физически невозможно, товарищ. Скорее, они проверяли не все файлы, а выборочно. И этот их выбор был скорее всего волюнтаристским.

lenin386 ★★★★
()

Во фряхе есть freebsd-update IDS для базовой системы.

unC0Rr ★★★★★
()
Ответ на: комментарий от ckotinko

Понимаешь, поведение программы может зависеть от 10500 файлов, которых на этапе проверки может и не существовать. Видел я эти системы контроля целостности. Всё защибись. Только майнер фигачит. Хе-е-е-е-е.

lenin386 ★★★★
()
Ответ на: комментарий от redgremlin

dpkg -V делает именно это

Это не делает ничего на уровне измененных файлов.Только проверку наличия самих файлов. Компилируй что хочешь и подставляй на место оригинала. Оно не заметит.

Астра в этом плане тоже ничем от deb не отличается. Те, кому важно следить за составом дистрибутива - делают это собственными утилитами.

Из коробки (точно, проверено) - заметит Solus со своим eopkg check. Вот он проверяет именно хэши всех файлов установленных пакетов. И бинарники, и юниты systemd. Просто так подсунуть чужой бинарник под видом пакетного там не выйдет. Да и в целом, несмотря на кажущуюся «несерьезную красивенькость» в Solus ещё пара моментов реализовано удачнее, чем в брутальных «взрослых» дистрибутивах. Возможно, это по наследию от ClearLinux.

Deleted
()
Ответ на: комментарий от dexpl

А кто проверит хеш-сумму /usr/bin/rpm (и всех бинарников, которые дёргаются при вычислении хеш-суммы)? Тут разве что скачать LiveCD и с него проверять. Должна быть последовательность доверия. Сначала через SecureBoot грузится немодифицированное подписанное ядро, потом ядро грузит подписанный init и тд. А проверять непонятно чем непонятно что - от безопасности тут остаётся немного.

Legioner ★★★★★
()
Ответ на: комментарий от Legioner

Должна быть последовательность доверия.

Справедливо абсолютно для любой ОС.

dexpl ★★★★★
()
Ответ на: комментарий от ckotinko

Што ты проверишь ? То, что запускаемый файл цел ? А если при наличии файла /tmp/a0bnuop он делает cat /dev/zero > /dev/sda. Или запускает файл /tmp/asgbe. Или <сам придумай>. И это его нормальное поведение.

lenin386 ★★★★
()
Последнее исправление: lenin386 (всего исправлений: 1)
Ответ на: комментарий от Deleted

Это не делает ничего на уровне измененных файлов

Делает. Это сравнивает md5-хэши всех файлов пакета (без аргументов — всех установленных пакетов).

redgremlin ★★★★★
()

Он есть: IMA (Integrity Measurement Architecture). Эта штука работает на стороне ядра и позволяет проверять хеши/подписи всех файлов. Если вместе с IMA включить UEFI с кастомными ключами и проверку подписей модулей ядра, то можно гарантировать целостность всей системы начиная с загрузчика.

Но из коробки этого нигде нет, насколько я знаю.

Deleted
()
Ответ на: комментарий от Legioner

А проверять непонятно чем непонятно что - от безопасности тут остаётся немного.

Если непонятно чем проверять непонятно что - конечно. А если проверять подписанным бинарем - безопасности гораздо больше.

tailgunner ★★★★★
()

И когда ты, допустим, принимаешь сервер у предыдущего админа, у тебя нет никаких гарантий, что он в нём не оставил какую-нибудь гадость.

Против гадости, оставленной предыдущим админом, это не поможет. Она тоже может быть подписана правильным ключём.

Deleted
()
Ответ на: комментарий от ckotinko

вот например, есть у тебя struct file_operations; куда ты собрался в линуксе вкорячивать контроль ЭЦП?

Если нужно вкрячить ее именно в file_operations, то в ->open. А вообще, в security_operations есть dentry_open - наверное, туда.

tailgunner ★★★★★
()
Последнее исправление: tailgunner (всего исправлений: 1)
Ответ на: комментарий от iZEN

Ничего. Но создание собственного репозитория не относится к тому, что хочет ТС.

Sociopsih ★☆
()

Не нужно, ибо это прямой путь к тивоизации. secure boot проверяет ядро, ядро проверяет пакеты. Так ты не запустишь ничего неодобренного дядей, даже при формально полностью открытой ОС.

te111011010
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.