Проверка исходников на наличие вредоносного кода.

sirocco
ИМХО, ничем не хуже скрипта.
Возможно, сам не пробовал, но по отзывам в инете этот антивирь имеет смысл держать для проверки виндовых программ и файлов. Поэтому внимания на него не обращал.

sirocco
Ну и на закуску (для медитации) - списочек пакетов из репозитария:
chkrootkit
rkhunter
tiger
unhide
Вот за это отдельное спасибо, обязательно возьму на заметку (малоли что), хотя как показал быстрый гуглеж эти программы (за исключением chkrootkit) больше для борьбы с последствиями чем для предотвращения “заражений”.

Кстати я пока не дошел до стадии острой необходимости использавиния таких программ. :)
vadik, в связи с chkrootkit, меня гуглёж некогда завёл сюда, проникнись, если не читал. У меня не хватило терпения постигать все тонкости, но тем не менее - может тебе пригодится?
А это уж и не помню откуда:
   1.   Как chkrootkit обнаруживает известные трояны на серверах?
      chkrootkit ищет известные ему "подписи" на зараженной/взломанной машине в основных бинарных файлах. Например, некоторые версии троянов, подмененняя ps имеют внутри вот такую строку: "/dev/ptyp".
      Как правило, атакующий легко может заменить данную строку(и) в исходниках рут-кита, тем самым затруднив его обнаружение. В общем смотрите следующий вопрос :).
   2. Как chkrootkit может обнаруживать модифицированные или новые рут-киты?
      если  chkrootkit не может обнаружить стандартные (известные) подписи (строки) от известных ему троянов червей и т.п. , он не может автоматически обнаружить, что система заражена/вскрыта. Запускайте chkrootkit в эксперт-режиме (expert-mode) (-x В этом режиме ползьзователь может проверить подозрительные строки, которые могут принадлежать трояну или червю, в бинарных файлах.
      Например, большинство текстовой информации, находящейся в бинарном файле, можно посмотреть так:
      # ./strings file_name| more
      используйте комманду strings именно из комплекта chkrootkit, т.к. троян мог подменить вашу базовую комманду на свою, запретив ей показывать определенные строки, или используйте следующую команду из пакета chkrootkit:
      # ./chkrootkit -x |more
      данная команда покажет содержимое ВСЕХ файлов, которые будет проверять! Будте внимательны, т.к. будет выведено большое кол-во информации на экран.
      пример поиска путей внутри файла:
      # ./strings file_name| egrep '^/'
      # ./chkrootkit -x | egrep '^/'
      т.к. путь как правило содержит энное кол-ва слешей(/) то искать удобнее всего именно их,
      хотя вам, думается, будет виднее, что именно вы хотите найти внутри файла(ов).
      Так же рекомендуем почитать о регулярных выражениях (например тут, т.к. с их помощью поиск осуществить гораздо легче.
   3. Почему вы написали chkrootkit не на perl/pyton?
      К сожалению, не на всех системах perl или pyton может присутствовать, поэтому Мы пошли по пути наиболее удобному для конечного пользователя chkrootkit - написали обычный shell-скрипт, т.к. он как правило работает всегда и везде.
   4. Какие системные комманды использует chkrootkit?
      Chkrootkit использует следующие системные комманды:
      awk, cut, echo, egrep, find, head, id, ls, netstat, ps, strings, sed -потоковый текстовый редактор, uname
   5. Могу ли я верить данным полученным от chkrootkit в ходе проверки, если есть подозрение на то, что машина вскрыта/заражена?!
      Мы бы не поверили :). Рекомендуем в подобном случае воспользоваться альтернативными путями обнаружения этой гадости:
         1. Исползуйте ключ `-p путь_к_заведомо_чистым_ситемным_файлам'(netstat,ifconfig,ps и т.п.), только не забудте сделать копию на всякий пожарный, после установки системы:
            # ./chkrootkit -p /cdrom/bin
         2. Или воспользуйтесь ключом `-r rootdir' для mountа каталога с заведомо "чистой" машины:
            # ./chkrootkit -r /mnt
   6. Насколько можно верить chkproc?
      если  вы запустили chkproc на сервере, на который запущенно большое кол-во кратковременных процессов, то в результате вы можете получить какое-то количество сообщений о возможном наличии трояна/червя на сервере. chkproc сравнивает результаты вывода команды ps с содержимым каталога /proc. если процесc был создан/убит в течении работы chkproc, то chkproc может ругнуться на это, т.к. считает это весьма подозрительной фичей :).
   7. У меня запущен PortSentry/klaxon. Может быть что-то не так при тестировании bindshell?
      если у вас запущен PortSentry/klaxon или любая другая программа, которая "слушает" неиспользуемые порты, chkrootkit может выдавать неправильные отчеты при тестировании bindshell (порты: 114/tcp, 465/tcp, 511/tcp, 1008/tcp, 1524/tcp, 1999/tcp, 3879/tcp, 4369/tcp, 5665/tcp, 10008/tcp, 12321/tcp, 23132/tcp, 27374/tcp, 29364/tcp, 31336/tcp, 31337/tcp, 45454/tcp, 47017/tcp, 47889/tcp, 60001/tcp). Так что рекомендуем "убить" на время тестирования все программы мониторинга портов (для наиболее точного отчета).
   8. chkrootkit ругается на файлы и папки, например: `.packlist', `.cvsignore', и т.п. Да, есть такая проблема, т.к. многие программы хранят свои настройки в файлах, которые начинаются с . (точки) - просто проигнорируйте ее! :)
      Но мы рекомендуем Вам внимательно изучить все, что выведенно в этой строке, т.к. атакующий как правило пытается спрятать свои файлы/каталоги в каталоги, которые начинаются c точки, например: .sk, ... ,/dev/.security и т.п. - !!! БУДТЕ ВНИМАТЕЛЬНЫ !!!, т.к. chkrootkit просто показывает подобные каталоги/файлы, не анализируя их содержимое.
   9. А могу ли я запускать chkrootkit из cron (крона)?
      Да. Например, для запуска chkrootkit в 3 часа утра и отсылки результатов проверки к вам на email, используйте:
      0 3 * * * (cd /path/to/chkrootkit; ./chkrootkit 2>&1 | mail -s "chkrootkit output" root)
      Но учтите, что в случае атаки на вашу машину, атакующий одним из первых дел проверит содержимое крона, и либо подменит его на свое, либо придумает что то в этом роде.
Блин, хреново, что спойлера нету, вот такая портянка получается.
Спасибо за инфу, у всех программ названных выше, есть один недостаток - они ищут вредоносный код когда он уже присутствует в системе (кроме strings?). Как я понял исходники и пакеты эти сканеры проверять не умеют (или я просто не правильно понял). Для проверки файлов до установки пакета должен (по идее) использоваться антивирус.
НО, насколько я понимаю, на сегодняшний день для обычного домашнего компа все эти меры избыточны (хочется чего-то простого, маленького, быстрого, прозрачного). Хотя знать о таких инструментах конечно же не помешает.
Я понял (навскидку, поверхностно), что chkrootkit может проверять бинарники, а для этого, вроде, не обязательно проге быть установленной. Бинарник может и должен быть в архиве с сырцами. Как оно там всё “чекает” и вкуривать man chkrootkit - не заморачивался, глаза поберёг))
ps/ Насчёт паранойи: вчера кто-то написал эрэм эрэф на перле “так”, а сейчас, в это самое время, какой-нибудь экспериментатор сидит и пишет на том-же перле уже “эдак”, оттачивает мастерство.., и что с ним делать прикажешь? Я в этом нихрена не смыслю, но как смыслю я: эти чекруткиты и пр. отслеживают бяки в соответствии с неким “каноничным” течением событий, и если что-то не соответствует принятому ходу вещей (им известному на сегодняшний день) - они бьют тревогу. А если что-то ранее неизвестное и незарегистрированное? Тогда хз…
Кстати chkrootkit всем известное эрэм эрэф возможно даже искать не будет. Утилита предназначена для поиска зловредов так или иначе связанных с сетевыми атаками, а эрэм эрэф к таким не относится. Хотя в действии не проверял.
Интересно, а как ментейнеры пакетов решают подобные вопросы?
Может, монетку подкидывают?)
Хорошая шутка, будем надеятся, что это действительно шутка.
Написать что-то универсальное не получится, потому что вот: http://ru.wikipedia.org/wiki/%D0%A2%D0%B5%D0%BE%D1%80%D0%B5%D0%BC%D0%B0_%D0%A0%D0%B0%D0%B9%D1%81%D0%B0.

Можно, конечно, искать какие-то шаблоны, но смысла мало будет, т.к. это будет работать только на конкретных вещах.
 
Зарегистрироваться или войдите чтобы оставить сообщение.