(с)
Вы вслепую запускаете код из интернета, который вы даже не видели, и тут даже совершенно неважно где вы его взяли.
Основные причины следующие:
- Вы приучаете себя к тому, что так делать можно. Это самая большая здесь проблема, и сравнить такое действие можно с пользователем который открывает исполняемый файл из пришедшего ему письма. О последствиях таких действий мы все отлично знаем по огромным ботнетам на Windows, а также разного рода утекших приватных данных.
- Вы не проверяете контрольные суммы и таким образом не можете сказать, запускаете ли вы то, что вы думаете что вы запускаете. Скрипт может быть подменен большим количеством способов, включая подмену записи в DNS провайдером, взлом сайта с которого производится скачивание, и т.д.
Чтобы разобраться, рассмотрим правильный способ установки программ, сначала в общем виде:
- Вы ищете информацию про автора, и пытаетесь понять можно ли ему доверять. Такая информация обычно находится даже про авторов небольших программ.
- Скачиваете вашу программу, тут неважно в каком виде, пакет это, архив или образ iso.
- Считаете с помощью sha256sum (https://www.google.de/?gws_rd=ssl#q=sha256sum) (или хотя бы md5sum) (https://ru.wikipedia.org/wiki/Md5sum) контрольную сумму того, что вы скачали.
- Идете на сайт разработчика и смотрите, совпадает ли то, что вы насчитали, с тем, что написано там.
- Вбиваете контрольную сумму в гугл и находите другой источник.
- Убеждаетесь в том, что скорее всего вы скачали именно то, что хотел вам предоставить автор программы.
- Теперь у вас есть достаточное основание для того, чтобы ставить программный пакет и не слишком сильно переживать.
Еще раз.
Абсолютно вся безопасность построена на вашем доверии к определенным людям или компаниям, будь это Линус Торвальдс, Ubuntu Security Team,
Microsoft Windows, либо автор маленькой полезной утилиты.
Вам необходимо убедиться в том, что 1. автор заслуживает доверия, и 2. вы запускаете то, что выложил автор.
- Известная компания, можно с опаской доверять. Доверять всегда можно только с опаской.
- Вы скачиваете образ диска с любого зеркала: При этом совершенно не важно, взломано ли зеркало или защищенное ли соединение.
- Далее считаете контрольную сумму, sha256 у них на сайте нет, поэтому пойдет md5: «md5sum ubuntu-14.04.1-desktop-amd64.iso»
- Идете к ним на сайт и видите вот это «help.ubuntu.com/community/UbuntuHashes». Все в порядке, контрольная сумма совпала.
- Ищете эту контрольную сумму в гугле. Как минимум убеждаетесь, что на других зеркалах она такая же, в идеале находите почтовую рассылку, в которой она упоминается.
- Теперь вы убедились, что скаченный образ не подделка, и можете его ставить.
Теперь рассмотрим, как работает пакетный менеджер на примере apt-get (
https://www.google.de/?gws_rd=ssl#q=apt-get:)
- При установке системы у вас уже настроены некоторые репозитории.
- В этих репозиторих есть файлы со списком всех пакетов и их контрольными суммами.
- Эти файлы в свою очередь подписаны закрытым ключом разработчиков.
- В дистрибутив после установки уже вшит открытый ключ.
- Таким образом, когда вы ставите новый пакет, вы скачиваете соответствующий ему списков всех пакетов (если в репозитории было обновление), потом сам пакет, и можете быть уверены, что цепочка доверия будут прослежена: {контрольная сумма пакета}--{список пакетов с контрольными суммами}--{подпись закрытым ключом списка пакетов}-{вшитый в ваш дистрибутив открытый ключ}.
Как вы можете видеть, проверка происходит на всех уровнях. Никакого неподписанного исполняемого кода в вашу систему не пролезет.
Если же проверки не выполняются. Никакого основания такому коду доверять у вас нет.
Поэтому, правило:
Никогда не запускайте непонятный код из интернета !
Либо самостоятельно убедись в том, что он безопасен, либо убедитесь в том, что автору можно доверять, и это именно его код.
Если у вас недостаточно знаний, чтобы проверить код самостоятельно, используйте только официальные репозитории, там есть специальная команда специалистов, которая старается (и обычно у нее хорошо получается) делать это за вас.