The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

23.11.2011 11:42  Инструментарий для выявления скрытых уязвимостей, возникающих из-за использования стороннего кода

Австралийский исследователь Сильвио Кезаре (Silvio Cesare) представил проект Clonewise, в рамках которого подготовлен инструментарий для выявления общих частей в исходных текстах различных программ и автоматического анализа такого кода на предмет наличия известных уязвимостей. Clonewise помогает решить проблему с возникновением скрытых уязвимостей, которые остаются неисправленными на протяжении длительного времени.

Код анализатора написан на языке С++ и распространяется под лицензией GPLv3. Дополнительно подготовлен GUI-интерфейс на языке Java для управления процессом и визуализации идентичных блоков кода в различных пакетах. Поддерживается работа с репозиториями, использующими пакеты в формате RPM и DEB (для загрузки задействованы yumdownloader и apt-get). При анализе и сопоставлении данных активно используется математический аппарат теории графов. При анализе учитывается как пересечение имен файлов, так и их содержимое (для блоков кода рассчитываются хэши, которые затем сравниваются).

Типичной является ситуация, когда разработчики интегрируют в свой код часть функциональности другого открытого продукта или библиотеки. В случае, если в исходном продукте или библиотеке будет найдена уязвимость, как правило она касается и кода, заимствованного другими проектами. Но так как библиотека используется не через динамическое связывание, а путем копирования кода, такие уязвимости остаются незамеченными. Clonewise связывает CVE-идентификатор уязвимости с блоком кода, вызывающим появлением проблемы, и пытается найти данный код в репозиториях с исходными текстами пакетов различных дистрибутивов.

Например, опасная уязвимость в библиотеке libpng была устранена в браузере Firefox, в поставку которого входили файлы из данной библиотеки, только спустя три месяца. После анализа утилитой Clonewise свежих репозиториев Debian и Fedora было выявлено пять пактов, в которых проявляется уязвимость в libpng, исправленная ещё в начале апреля. В начале года отмечена серия уязвимостей в популярных программах просмотра PDF, таких как Evince и Xpdf, что также было связано с заимствованием кода. Подобные случаи не исключаются и для других популярных проектов, в которых регулярно находят уязвимости, таких как bzip2, libzip, libxml2 и FFmpeg.

Около 90% выявленных утилитой проблем являются ложными срабатываниями. Используя GUI-интерфейс ложные срабатывания отсеиваются в считанные секунды, достаточно пробежаться по списку беглым взглядом. Несмотря на высокий процент ложных срабатываний, в процессе разработки Clonewise в стандартном репозитории Fedora Linux было выявлено 30 ранее не замеченных уязвимостей. Что касается степени заимствования кода, то исследовав репозиторий Debian GNU/Linux, как один из самых больших репозиториев открытого ПО, было выявлено 420 приложений, в которых присутствует код, скопированный из других проектов.

  1. Главная ссылка к новости (http://www.scmagazine.com.au/N...)
Лицензия: CC-BY
Тип: К сведению
Ключевые слова: linux, analyze, security, clonewise
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Линейный вид | Ajax | Показать все | RSS
 
  • 1.1, Аноним, 12:28, 23/11/2011 [ответить] [смотреть все]
  • +10 +/
    Полезная штука.
     
     
  • 2.2, Xasd, 12:39, 23/11/2011 [^] [ответить] [смотреть все] [показать ветку]
  • +1 +/
    а вот программиисты которые занимаются Copy-Past -- бесполезны 9000 раз же всем... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.4, Аноним, 13:13, 23/11/2011 [^] [ответить] [смотреть все]  
  • +1 +/
    Балмер что ли? Зачем изобретать велосипеды, когда все уже написано до нас?
     
     
  • 4.6, Xasd, 13:26, 23/11/2011 [^] [ответить] [смотреть все]  
  • –1 +/
    тыг вот и сделай ссылку на этот уже написанный чужой код а не присваивай себ... весь текст скрыт [показать]
     
     
  • 5.8, Xasd, 13:35, 23/11/2011 [^] [ответить] [смотреть все]  
  • +4 +/
    в Балмеровской Windows XP -- кстате какраз было много Copy-Past нутых чужих ошиб... весь текст скрыт [показать]
     
     
  • 6.20, 1, 15:45, 23/11/2011 [^] [ответить] [смотреть все]  
  • –3 +/
    пруф или не было?
     
     
  • 7.26, Аноним, 16:33, 23/11/2011 [^] [ответить] [смотреть все]  
  • +2 +/
    > пруф или не было?

    MS11-083 :)

     
     
  • 8.32, z, 17:14, 23/11/2011 [^] [ответить] [смотреть все]  
  • –4 +/
    А где ссылка на аналогичную уязвимость в *BSD?
     
  • 8.33, Аноним, 17:14, 23/11/2011 [^] [ответить] [смотреть все]  
  • +1 +/
    Что бы не выдумывал Карманов, а рабочие эксплоиты от этого эксплоитами не перест... весь текст скрыт [показать]
     
     
  • 9.53, Аноним, 04:19, 24/11/2011 [^] [ответить] [смотреть все]  
  • +1 +/
    А ботам пофигу Надо долбить 52 дня Будут в фоне долбить 52 дня Мне они вон SS... весь текст скрыт [показать]
     
  • 2.60, ол, 09:45, 26/11/2011 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    классная картинка
     
  • 1.3, Alen, 12:57, 23/11/2011 [ответить] [смотреть все]  
  • +5 +/
    Антивирус по опенсоурсному - это антидырус ;)
     
     
  • 2.5, Аноним, 13:15, 23/11/2011 [^] [ответить] [смотреть все] [показать ветку]  
  • +2 +/
    Антивирус, а точнее средство автоматического отслеживания атак и определения взл... весь текст скрыт [показать] [показать ветку]
     
  • 2.7, Lain_13, 13:31, 23/11/2011 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    И, кстати, это правильно. Нужно избавляться от проблем, а не их последствий.
     
  • 2.19, Аноним, 15:34, 23/11/2011 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    Так заткнуть дыру - это ж умнее чем вместо этого ловить то что через нее валится... весь текст скрыт [показать] [показать ветку]
     
  • 1.10, Аноним, 14:31, 23/11/2011 [ответить] [смотреть все]  
  • +/
    А что за странное пятно слева сверху на графе?
     
     
  • 2.11, Guest, 14:50, 23/11/2011 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    это бесформенное пятно
     
  • 2.12, SsD, 14:54, 23/11/2011 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Сферический конь в вакууме
     
     
  • 3.39, Lain_13, 18:19, 23/11/2011 [^] [ответить] [смотреть все]  
  • +/
    Если учесть, что 90 это лочные срабатывания, то это определённо именно он и ест... весь текст скрыт [показать]
     
     
  • 4.40, Lain_13, 18:20, 23/11/2011 [^] [ответить] [смотреть все]  
  • +2 +/
    > лоЧные

    Эк я по Же-то промазал-то…

     
  • 2.22, Crazy Alex, 15:58, 23/11/2011 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    Даже если он будет частью операционки кстати как вы это себе представляете то... весь текст скрыт [показать] [показать ветку]
     
  • 2.24, Карбофос, 16:12, 23/11/2011 [^] [ответить] [смотреть все] [показать ветку]  
  • +5 +/
    Ваня, очнись этими болезнями кишат и закрытые проекты прикинь ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.37, gegMOPO4, 17:37, 23/11/2011 [^] [ответить] [смотреть все]  
  • +8 +/
    Именно, что кишат. Любой более-менее крупный закрытый проект тащит с собой целый зоопарк необновляемого стороннего купленного закрытого кода. Для свободного софта в Линуксе это исключение (420 срабатываний на десятки тысяч приложений).
     
  • 2.27, Аноним, 16:41, 23/11/2011 [^] [ответить] [смотреть все] [показать ветку]  
  • +8 +/
    > 1. "инструментарий для ... автоматического анализа ... кода на предмет наличия ИЗВЕСТНЫХ
    > уязвимостей" (выделено мной)

    И что? У MS бывали дыры в общедоступных либах типа злибы, и ничего, не смущались.

    > Fedora было выявлено пять пакетов, в которых проявляется уязвимость ... исправленная
    > ещё в начале апреля"

    А у MS вообще анимированные курсоры позволяли в ядро проломиться. И дыр в GDI+ было оптом в всех парсерах форматов - от жпега до WMF. Чем это лучше?

    > Это ещё одна затычка для детских болезней open-source'а

    Про детские болезни вякать после MS11-083 довольно нагловато, имхо. Это у вас в TCP/IP стеке детские болезни, если оно позволяет ремотным пакетом кернел мод поиметь.

    > причиной которых является огрехи в архитектуре ОС и методике разработки.

    А MS11-083 почему-то у MS случился. По логике получается что там не огрехи а сплошной мегафэйл, да? Потому что в *BSD/Linux такого лютого пи...ца с дырявостью сетевого стека не наблюдается.

    > Так libpng просто напрашивается стать частью ОС, но вместо этого дублируется
    > (!!) в десятках проектов.

    Так кто виноват что бакланы из микрософта не предоставляют возможность попросить "дайте нам libpng"? В линухе так и делают обычно, указывая libpng в зависимостях вместо копипи...нга кода из нее. Но есть же винды, где это не вариант. А переть с собой всю библу - так прога сильно распухает и тяжелеет. Вот и выкручиваются как умеют.

    > А вот это уже ППЦ.

    Не, ППЦ - это когда ремотный пакет влетает в кернел и выполняется. Как в MS11-083. Вот это лютенько, ничего не скажешь.

     
  • 1.16, анон, 15:08, 23/11/2011 [ответить] [смотреть все]  
  • +/
    копирасты обрадуюются
    это ж нахаляву такой инструмент!
     
     
  • 2.18, Аноним, 15:33, 23/11/2011 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    А ты не тырь у копирасов. Это как минимум некультурно.
     
  • 2.41, Lain_13, 18:32, 23/11/2011 [^] [ответить] [смотреть все] [показать ветку]  
  • +2 +/
    Не, им он практически без толку Он ищет известные фрагменты кода, а не 171 ко... весь текст скрыт [показать] [показать ветку]
     
  • 1.23, Аноним, 16:04, 23/11/2011 [ответить] [смотреть все]  
  • +/
    На Java Жаль ... весь текст скрыт [показать]
     
     
  • 2.36, тоже Аноним, 17:33, 23/11/2011 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    Это интерфейс для присобачивания этой системы к всяческим НетБинсам, Эклипсам и ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.57, Суровый, 16:30, 24/11/2011 [^] [ответить] [смотреть все]  
  • +1 +/
    На ассемблере
     
  • 1.61, alex, 22:03, 29/11/2011 [ответить] [смотреть все]  
  • +/
    Буду очень благодарен за небольшой HOWTO как этим воспользоваться ? Для поиска одинаковых кусков кода в проекте например ?
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor TopList