Как определить, что сценарий оболочки безопасен - PullRequest
2 голосов
/ 25 ноября 2011

Я скачал этот скрипт оболочки с этого сайта.

Он подозрительно велик для скрипта bash.Поэтому я открыл его с помощью текстового редактора и заметил, что за кодом много бессмысленных символов.

Я боюсь дать правильное выполнение сценария с помощью chmod +x jd.sh.Можете ли вы посоветовать мне, как распознать, безопасно ли это или как установить ограниченные права в системе?

спасибо

Ответы [ 3 ]

2 голосов
/ 25 ноября 2011

«Бессмысленные символы» указывают двоичные файлы, которые включены непосредственно в файл SH. Сценарий будет использовать сам файл в качестве файлового архива и при необходимости копировать / извлекать файлы. В этом нет ничего необычного для установщика SH. (изменить: например, makeself )

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

1 голос
/ 25 ноября 2011

Хотя источник скрипта не выглядит заслуживающим доверия (IP-адрес?), Этот может все еще быть допустимым.С помощью сценариев оболочки можно добавить двоичный контент в конце и, таким образом, создать тип установщика.Несколько лет назад Sun отправила JDK для Solaris именно в такой форме.Я не знаю, так ли это до сих пор.

Если вы хотите протестировать его без риска, я бы установил Linux в VirtualBox (бесплатное программное обеспечение для виртуальных машин), запустил там скрипт и увиделчто он делает.

Приложение к посмотрите, что он делает : В UNIX существует множество инструментов, которые можно использовать для анализа бинарной программы, таких как strace, ptrace, ltrace.Также может быть интересно запустить скрипт, используя chroot .Таким образом, вы можете легко найти все файлы, которые установлены.

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

1 голос
/ 25 ноября 2011

Не запускайте его! Этот сайт заблокирован там, где я работаю, поскольку известно, что он обслуживает вредоносное ПО.

Теперь, что касается проверки кода, на самом деле это невозможно без его полной изоляции (технически сложно, но виртуальная машина может работать, если у нее нет известных уязвимостей) и запуска ее для наблюдения за тем, что на самом деле делает. Здоровая доза недоверия всегда полезна при использовании стороннего программного обеспечения, но, конечно, ни у кого нет времени, чтобы проверить все программное обеспечение, которое они запускают, или даже небольшую его часть. Это заняло бы тысячи (скорее всего, миллионы) рабочих лет, и было бы достаточно ошибок, чтобы заставить разработчиков работать еще тысячи лет. Лучшее, что вы обычно можете сделать - это запускать только программное обеспечение, которое было создано или, по крайней мере, рекомендовано кем-то, кому вы доверяете, хотя бы в некоторой степени . Доверие должно быть определено в соответствии с вашими собственными критериями, но вот некоторые из них, которые будут в пользу программного обеспечения для меня:

  • Часть основной операционной системы / дистрибутива. Это означает, что какая-то более крупная организация решила ей доверять.
  • Исходный код общедоступен. По крайней мере, любое вредоносное ПО, вызванное политикой компании (см. Разгром Sony CD), имеет больше шансов на обнаружение.
  • Исходный код распространяется на соответствующей платформе. Такие сайты, как GitHub, позволяют вам измерять популярность программного обеспечения и отслеживать, что с ним происходит, в то время как случайный веб-сайт без каких-либо комментариев, контроля версий или базы данных ошибок - ужасное место для хранения полезного кода.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...