2014-01-11 2 views
0

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

Я думал о создании приложения, которое могло автоматически сканировать проекты для меня, но я думаю, что он не будет даже рядом с хорошим уровнем эффективности, поскольку существует множество способов реализации кодов вредоносных программ внутри проектов, которые aren Обычный. Аудит предназначен для обнаружения вредоносных программ в проектах с открытым исходным кодом.

Есть ли у вас предложения для меня?

+0

@IraBaxter, попробуйте экранировать \ *, но не будет 'rm *. *' Удалить все файлы? – Popnoodles

+0

Не используйте какой-либо открытый исходный код, где сообщество, создающее его, либо вредоносного кода, либо позволяет вредоносному ПО. Другим вариантом является еще один аромат гонки вооружений, который обнаруживает вредоносное ПО в закрытом источнике. –

+0

@Popnoodles: что-то удалило мой комментарий. Да, точка звезды star star star starm, что он удаляет все файлы, таким образом, является злым. В частности, изменение двух символов преобразует программу из доброкачественной в злонамеренную. [Каковы правила цитирования текста в комментариях? Где они задокументированы?] –

ответ

1

Backdoor в Open Source Software традиционно довольно сложно вставить, и они должны быть очень тонкими. Взгляните на это article about Linux для одной точки данных. Использование автоматических инструментов, чтобы попытаться найти что-то подобное, скорее всего, потерпит неудачу, тем более, что существует так много способов скрыть/обфускать код.

Одним из вариантов является запуск стандартного инструмента статического анализа (например, Gimpel's Lint, Purify и т. Д.) В исходном коде для создания базовой линии. Затем запустите его снова при новом падении кода. Если на выходах есть какие-то дельта, вам нужно исследовать каждое индивидуальное изменение.

Я думаю, что более распространенными, чем бэкдоры/вредоносные программы, являются изменения, которые непреднамеренно (случайно) обеспечивают защиту. В библиотеке OpenSSL произошел сбой, в котором код edit removed был скомпрометирован. Но код был намеренно оставлен таким образом, чтобы обеспечить больше бит энтропии. Когда энтропия была уменьшена, сеанс был намного легче сломать. Влияние таких изменений вряд ли будет трудно интерпретировать, так как требуется эксперт, который хорошо знаком с кодом для понимания эффектов.

+0

Итог: вы анализируете машины Тьюринга. Хорошо известно, что это невозможно сделать правильно. Использование open source - это версия бутылки Alice in Wonderland с надписью «Drink Me». Побочные эффекты могут быть неожиданными. –

Смежные вопросы