2011-11-25 4 views
2

Скачано this shell script from this сайт.Как определить, что сценарий оболочки безопасен

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

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

спасибо

ответ

1

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

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

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

False positive? – user123444555621

+0

Может быть; просто пытаясь быть в безопасности, а не сожалеть. Веб-фильтр говорит: «** Домен зарегистрирован и проверен как вредоносная программа **» (мой акцент). Конечно, если вы доверяете веб-сайту, который связан со сценарием, то по расширению вы * можете * доверять ссылочному сайту, достаточному для запуска скрипта ... – l0b0

+0

@ I0b0 Какой веб-фильтр вы используете? Является ли это более надежным? – xralf

2

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

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

1

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

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

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

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

+0

Что значит «видеть, что он делает»? Вы используете какое-то приложение, которое может посмотреть, что делает программа? Вызываемые функции? Файлы, которые создаются и редактируются? – xralf