Могу ли я получить вирус, используя «sudo apt-get install»?

74

Я хотел бы убедиться, что загрузка программного обеспечения безопасна sudo apt-get install. Пакеты где-нибудь сканируются? Все ли пакеты, загруженные с помощью этой команды, не содержат вирусов?

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

Tomas
источник
8
Вопрос правильный, но содержит неверные представления о вирусах. Черный список как единственный способ избежать заражения - очень плохой метод , несмотря на его повсеместное распространение благодаря инвертированной модели безопасности Windows. «Сканирование» программного пакета - ужасный способ предотвратить злонамеренные действия.
Подстановочный
2
Томас, ваш комментарий был удален модератором. Пожалуйста, НЕ размещайте это снова и снова.
Джокердино

Ответы:

108

aptв системе Ubuntu по умолчанию очень маловероятно получить вирусы. Однако это не значит, что это невозможно:

  • Вредоносный PPA
    Одной из особенностей APT является возможность для администраторов добавлять личные архивы пакетов (PPA) или другие программные источники в кэш APT. Эти сторонние источники APT не обязательно являются доверенными и могут содержать вирусы. Однако для добавления одного из этих зараженных источников потребовалось бы преднамеренное действие администратора машины, что затруднило бы добавление самого себя.
  • Взломанный репозиторий
    Теоретически, программный репозиторий может быть взломан злоумышленником, в результате чего загруженные .debфайлы могут нести вредоносную нагрузку. Тем не менее, официальные репозитории программного обеспечения очень тщательно отслеживаются, и безопасность этих репозиториев довольно жесткая. Хакеру было бы трудно уничтожить один из официальных источников программного обеспечения Ubuntu, но сторонние источники программного обеспечения (см. Выше) могут быть скомпрометированы намного проще.
  • Активные MITM / сетевые атаки
    Если сеть взломана выше (скажем, вашим провайдером), возможно получить вирус из официальных источников программного обеспечения. Тем не менее, атака такого уровня потребует огромных усилий и возможности использовать Man-In-The-Middle многие сайты, включая серверы распространения ключей GPG и официальные репозитории.
  • Плохо написанный / вредоносный код
    Уязвимости существуют в открытом, проверенном и поддерживаемом коде. Хотя эти вещи технически не считаются «вирусами» по определению, некоторые эксплойты, скрытые или никогда не обнаруживаемые в коде, могут позволить злоумышленнику разместить вирус в вашей системе или атаковать ее. Одним из примеров такого типа проблем может быть Heartbleed из OpenSSL или гораздо более поздняя версия Dirty CoW. Обратите внимание, что программы из репозитория universeor multiverseявляются потенциальными угрозами такого калибра, как описано здесь .

apt(из-за его важности в системах Linux) довольно сильно защищены от почти всех этих типов атак как на стороне клиента, так и на стороне сервера. Хотя это возможно, администратор, который знает, что делает, и знает, как читать журналы ошибок, сможет предотвратить любую из этих атак.

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


Что касается реагирования на инцидент, связанный с заражением вредоносным ПО, то самый простой способ - это сжечь систему до основания и начать заново с недавнего (и известного чистого) резервного копирования. Из-за природы Linux вредоносным программам может быть очень легко проявить себя настолько глубоко в системе, что их никогда не найти и не извлечь. Однако такие пакеты, как clamavи rkhunterмогут быть использованы для сканирования системы на наличие инфекций.

Каз Вулф
источник
6
«сжечь систему до основания» - для действительно хорошо написанного вируса это почти буквально верно. Физическое уничтожение оборудования будет безопасным; все, что меньше, будет тяжелой работой (например, если прошивка жесткого диска была рутирована).
Мартин Боннер
2
Стоит отметить, что эти три примера не являются взаимоисключающими. Вы можете добавить сторонний PPA, который был взломан с помощью MITM.
el.pescado
11
Как (3) вообще возможно? Пакеты подписаны, и открытый ключ для официальных репозиториев Ubuntu поставляется с установочного носителя Ubuntu. Я не думаю, что вы можете заразиться, если вы не начнете с фальшивого установочного носителя.
Федерико Полони
6
Вам следует добавить вариант № 4: Закулисный код в официальном пакете. Ошибки, такие как сердцебиение, показывают, что серьезные ошибки могут существовать годами, даже открыто, в программном обеспечении с открытым исходным кодом. Таким образом, у злоумышленника всегда есть возможность внедрить вредоносный код в хранилище таким образом, чтобы он мог выдержать рецензирование. В этом случае вы просто загрузите бэкдор в виде полностью подписанного пакета с исходного сервера.
Falco
22
Обратите внимание, что ситуация, конечно, не лучше, чем в системах, отличных от Linux. Наоборот, действительно. Стандартный способ получить программное обеспечение для Windows - буквально скачать его с какого-то случайного сайта и надеяться, что ничего плохого не произошло. То, что вы описываете, - это лучшее, что вы можете сделать с точки зрения безопасной установки программного обеспечения. (Я думаю, что это стоит явно указать в ответе, поскольку тот, кто задает этот вопрос, находится на уровне новичка и может не осознавать этого.)
jpmc26
16

apt-getбудет устанавливаться только из официальных проверенных репозиториев Ubuntu или из репозиториев, которые вы добавили в свои источники. Если вы добавите каждый репозиторий, с которым вы столкнетесь, вы можете установить что-то неприятное Не делай этого.

Марк
источник
1
Есть случаи, когда вам нужно установить * .deb с других веб-сайтов, но они также имеют контрольные суммы / хэш-суммы, я считаю. Иногда вам нужно добавить ppa для загрузки из других репозиториев, но команда apt-get все еще используется. Было бы неплохо проверить ppa по списку известных "плохих веб-сайтов", если это было возможно ...
WinEunuuchs2Unix
8
Контрольная сумма защищает от случайного повреждения, но не от преднамеренного взлома - именно сигнатуры OpenPGP защищают от взлома.
Чарльз Даффи
1
Предполагая, что вы доверяете человеку, подписавшему пакет, вы можете проверить ключ надежным способом. Честно говоря, каждый человек иногда загружает программное обеспечение из Интернета. Хранилища большие, но не бесконечные. Идеальная безопасность и доверие - это мечта.
Андреа Лаззаротто
Но не можете ли вы добавить дополнительные репозитории?
Джереми
«Если вы добавите каждый репозиторий, с которым вы столкнетесь, вы можете установить что-то неприятное. Не делайте этого».
Марк
5

Загруженные sudo apt-getфайлы сравниваются с контрольной суммой / хэш-суммой для этого файла, чтобы убедиться, что он не был подделан и не содержит вирусов.

На самом деле проблемы, с которыми сталкиваются люди, когда вы гугляете «sudo apt get hash sum», - это слишком большая защита от вирусов.

Linux никоим образом не полностью свободен от вирусов, однако, вероятно, количество инцидентов в 1000 раз меньше, чем у Windows.

Опять же, судя по моему псевдониму, я могу быть предвзятым :)

В комментарии от 28 ноября 2017 года упоминается, что в Windows на 1000 рабочих станций больше, чем в Linux, поэтому зачем взламывать Linux. Это говорит о том, что Linux работает на всех 500 самых быстрых суперкомпьютерах, и большинство веб-серверов работают под управлением Linux, что делает его лучшим способом взломать все рабочие станции Windows, подключенные к Интернету.

Google Chrome, Android и Windows 10 предоставляют пользователям широкие возможности для одновременной передачи своей конфиденциальности и, возможно, некоторой безопасности.

WinEunuuchs2Unix
источник
4
А? Проблемы с контрольной суммой связаны не столько с предотвращением преднамеренного изменения, сколько со случайным повреждением - если на нем нет подписи (и да, пакеты Debian также имеют подписи OpenPGP), контрольную сумму можно изменить так же, как и сами необработанные данные. , Если контрольная сумма пакета не совпадает с той, которая присутствовала во время сборки, нет разумных ожиданий, что этот пакет может быть извлечен для получения желаемого исходного содержимого.
Чарльз Даффи
@Jeremy Тем не менее, в Linux работают 500 лучших суперкомпьютеров и большинство веб-серверов, что является отличным способом взломать все подключенные клиенты Windows.
WinEunuuchs2Unix
3

Хотя apt-get будет устанавливаться только из официальных репозиториев Ubuntu, он не гарантирует 100% чистоты упакованного вами пакета.

Если хранилище взломано, хакер может внедрить код вреда в пакеты. Сервер Linux Mint в качестве примера был взломан, и хакер внедрил вредоносное ПО в свои ISO-файлы. http://www.theregister.co.uk/2016/02/21/linux_mint_hacked_malwareinfected_isos_linked_from_official_site/

PT Huynh
источник
3
Даже NSA, DNC и биржи биткойнов были недавно взломаны. Я думаю, можно с уверенностью сказать, что репозитории Ubuntu не содержат вирусов на 99,9999%, что является духом вопроса и наших ответов. На самом деле, никто не выступал с вирусом Ubuntu в этих вопросах и ответах. Существует давнишний вирус / вредоносное ПО для Linux, который KASLR исправляет, о котором большинство людей даже не знают, и я читаю о нем только на альтернативном веб-сайте, не основанном на Linux, и основанном исключительно на новостях. Я хотел бы сказать, что в Linux гораздо меньше вирусов, чем в Windows, и Ubuntu Update безопасен. Однако как всегда будьте осторожны с сайтами.
WinEunuuchs2Unix
2
Существует большая разница между внедрением вредоносного кода в ISO и на серверы apt. ISO-образы подписаны не полностью - есть современные инструменты, которые можно использовать для такой подписи (EFI-подпись для защиты загрузчика, проверка GRUB OpenPGP для защиты ядра и initrd, dm-verity для защиты корневой файловой системы), но dm -версия еще не широко используется за пределами ChromeOS. Содержимое серверов apt, с другой стороны, имеет подписи OpenPGP - вам нужно взломать рабочую станцию ​​одного из доверенных разработчиков, чтобы подделать их.
Чарльз Даффи
1
Внедрение ISO и обслуживание зараженных пакетов apt совершенно разные. Сервер может быть взломан и зараженный iso может быть обслужен, но apt не может распространяться таким образом. есть подписи, которые будут этому препятствовать
Анвар
-4

зависит от ваших разрешений sudo. корневой доступ? все ставки сняты - вы ipso facto доверяете экосистеме apt-get, которая может быть или не быть безопасной. Я думаю, что это ужасная идея, но я делаю это все время, потому что это единственный выбор. Если вы работаете с конфиденциальной установкой, где безопасность выше всяких похвал, тогда запуск sudo для Anthing, который вы не полностью контролируете, вероятно, безумен. если ты обычный чмо, значит, ты в порядке.

mobileink
источник
Вопрос здесь заключается в том, является ли и в какой степени экосистема apt-get на самом деле безопасна, и я не уверен, что этот ответ решит в лоб. Что касается «ужасной идеи» - помимо распространения ключей OpenPGP, принадлежащих доверенным разработчикам, вместе с операционной системой (как это уже сделано) и требующих явного действия пользователя для включения дополнительных ключей (как при добавлении PPA), какие дополнительные меры будут или могли бы быть Вы добавляете, если вы строите свою собственную систему распространения программного обеспечения?
Чарльз Даффи
нет, вопрос очень четкий просто прочитайте соч. "Могу ли я получить вирус?" да, однозначно Создание собственной системы распространения программного обеспечения - это совершенно другой вопрос.
mobileink
пс. Я сказал «я думаю», что это ужасная идея, которую нельзя оспаривать. На самом деле, для систем распространения программного обеспечения это ужасная идея требовать sudo.
mobileink
6
Я бы сказал, что это еще более ужасная идея - позволить непривилегированному пользователю устанавливать программное обеспечение в местах, где он находится в стандартном PATH для других непривилегированных пользователей. Homebrew здесь является серьезным нарушителем - как только он выполнит свою настройку, любой скомпрометированный процесс, выполняющийся под соответствующим uid, может установить программное обеспечение, /usr/local/binне требуя от пользователя подтверждения, что он намерен разрешить административную деятельность.
Чарльз Даффи
3
Теоретически возможно, но гораздо менее вероятно. И это не Security SE, где мы находимся в теоретическом бизнесе - это Ask Ubuntu, ориентированный на конечных пользователей с вопросами, основанными на практике.
Чарльз Даффи