Компания Coverity, разработчик инструмента для автоматического исследования безопасности и качества программного обеспечения на основе сканирования и анализа исходного кода, опубликовала (http://blog.coverity.com/open-source/launch-of-the-coverity-.../) первые результаты за 2010 год в документе под названием "Отчёт о корректности Open Souce ПО". Последнее подобное исследование состоялось (http://www.opennet.me/opennews/art.shtml?num=15991) в 2008 году. Стоит напомнить, что программа Coverity Scan (http://scan.coverity.com) была начата в 2006 году как инициатива Министерства национальной безопасности США по обеспечению и усилению безопасности информационной инфраструктуры Соединенных Штатов, работающей на основе Open Source ПО.
В рамках исследования в этом году был проанализирован 61 миллион строк исходного кода 291 самых популярных и важных Open Source проектов, включая такие известные продукты как Android, Samba, Linux и Apache. Результаты этого ...URL: http://blog.coverity.com/open-source/launch-of-the-coverity-.../
Новость: http://www.opennet.me/opennews/art.shtml?num=28504
ну по заголовку и тексту уже ясно, что исследование проплачено заинтересованными лицами :)
Coverity - коммерческая компания, не забывайте.И 300 млн строк кода проанализироваться - это не балду гонять.
мы так же не забываем что FSF позволило им взять gcc и на его базе написать _закрытый_ анализатор кода.
Который они успешно продают - за очень не вменяемые деньги.
> мы так же не забываем что FSF позволило им взять gcc и
> на его базе написать _закрытый_ анализатор кода.
> Который они успешно продают - за очень не вменяемые деньги.да и условием этой сделки было как раз таки то что они бесплатно будут иногда анализировать качество кода открытых проектов и присылать им отчеты. В которых местами много левых срабатываний.
а теперь пусть местные защитники FSF раскажут - как-это можно на базе открытого кода создать закрытый?
И почему FSF разрешило это.
>И почему FSF разрешило это.потому что у них весомый аргумент "люди в масках" и нац. безопастность )
эти люди всем известны,ведь это именно те, кто кричит, что "опенсоурс - это не только бзд", что "в гцц и гпл надо довавить исключения" и т.д.
собственно это именно те, кто сейчас кричит "как же опенсоурс позволила".
собственно - это вы.
зы:
но даже и не это главное - главное, что закрытый код вообще не анализируется.
а если аналищзируется, то остается в застенках подобных организаций.
> зы:
> но даже и не это главное - главное, что закрытый код вообще
> не анализируется.
> а если аналищзируется, то остается в застенках подобных организаций.Анализируется он, анализируется.
Только по своему.
И результаты не оглашаются)
А цель анализа - вовсе не "найти и исправить все ошибки".
Скорее это "понять, почему вон та фигня не работает, а вон та - тормозит. И исправить до пятницы."
Ведь если глюк не замечают, зачем тратить время и деньги на его исправление?
внутренний анализ не особо интересен по ряду причин - сроки, средства, бэкдоры, халатность, совместимые только сами с собой стандарты, дрм'ы, усложнение кода и логики чтобы никто не догадался,..
так что об этой стороне тестирования речи нет.
> внутренний анализ не особо интересен по ряду причинОн как раз бывает интереснее "публичного" анализа - никто не стесняется в выражениях и цифрах.
Можно узнать много нового.
Помнится, утекли в сеть письма Гейтса - там он прямым текстом писал "Другие программы могут открывать формат DOC! Безобразие! Нужно срочно что-нибудь в нем поменять, чтобы он перестал у них открываться!".
извините, но это "слухи, скандалы, расследования", а не анализ.
даже по вашему приеру можно сказать только одно - мс анализирует опенсорсные проекты, не более. а про дыры, бэкдоры и тд вообще нет речи.
> извините, но это "слухи, скандалы, расследования", а не анализ.
> даже по вашему приеру можно сказать только одно - мс анализирует опенсорсные
> проекты, не более. а про дыры, бэкдоры и тд вообще нет
> речи.Это не анализ.
Это "не стесняется в выражениях")
>Ведь если глюк не замечают, зачем тратить время и деньги на его исправление?коментариев подобных этому - не один десяток в багзиле RedHat.
так что далеко не только закрытые проекты страдают этим.
как правило это говорит только об одном - бардак в багтреккере.
и как правили во всех них есть ссыслка на багдупликат. и если задаться целью, то коментарий с иправлением находится в 95.
в любом случае - это действительно проблема, т.к. дублирующиеся баги забодятся пачками и в каждом дистре отдельно. и как это исправить, не понятно.
но и говорить, что баги не правятся - не верно, т.к. в подавляющем большинстве случае лично я нахожу решение, хоть и трачу на поиск не мало времени. и только если уверен, что все проискал, завожу новый баг. но это очень редко. (про нестабильные программы речи нет, там я специально ставлю самое последнее, забожу баги, иногда патчи)
Возможно вы не отслеживали историю коверити, но начинали они не совсем "на базе gcc". Они к gcc дописали свой дампер дерева (либо дополнили имеющийся), и даже открыли этот патч. И уже над набором таких дампов у них запускался их закрытый анализатор.Для такой системы не нужно разрешение FSF, тк GPL не нарушается.
Правда их сайт с патчем был недолго доступен.
> ну по заголовку и тексту уже ясно, что исследование проплачено заинтересованными лицами :)Вы так говорите будто в этом есть что-то плохое.
Я работаю. Моя работа проплачена заинтересованными лицами.
Если они действительно направили подробные отчеты разработчикам протестированного ПО, то остается только радоваться, баги устранят. С проприетарным ПО такой анализ не прокатит и их баги останутся при них.
Ну если гора не идет к Магомеду, то ...
Они хоть ошибки эти конкретно назовут? Багрепорты пошлют? Хотелось бы.
После каждого тестирования результаты выкладываются. Каждый проект их может получить и зафиксить. Но не сказать, что все пользуются такой возможностью.
http://scan.coverity.com/rung2.html
Ruby - броня! Ни одной ошибки!
Какой же бред. Разработчики ищут ошибки в безопасности, даже деньги готовы некоторые платить, а они написали скриптик, который автоматически ошибки находит. Тоесть одну программу, которая лучше чем специализированные тесты каждой программы.В общем, не покажут конкретику -- ничем не лучше SCO и их обвинений всяких.
а они аписали, что это худший вариант?данная работа интересна только в статистическом плание - что, сколько, какие тенденции.
и в данном плане опенсорс не плох - масса кода выросла, тенденции ухудшения кода - нет.
> данная работа интересна только в статистическом планиеВ последнюю очередь в статистическом плане. В первую очередь они дают открытым проектам их ошибки бесплатно для проектов.
> а они написали скриптикДружище, а накидайте мне такой скриптик, печеньку дам.
Coverity -- это в т.ч. народец, который годами выуживал дырки и постил их в bugtraq@ и full-disclosure@ в том числе. А сейчас предпочитает зарабатывать анализом, а не продажей дырок. Мне очень сложно обвинить их в злонамерении, по крайней мере что касается таких вот проходов по коду.
>> а они написали скриптик
> Дружище, а накидайте мне такой скриптик, печеньку дам.
> Coverity -- это в т.ч. народец, который годами выуживал дырки и постил
> их в bugtraq@ и full-disclosure@ в том числе. А сейчас
> предпочитает зарабатывать анализом, а не продажей дырок. Мне очень сложно
> обвинить их в злонамерении, по крайней мере что касается таких вот
> проходов по коду.большая часть их анализа построена на потрохах gcc - который научили выдавать +/- коректную ругань.
Видел я их результаты и даже анализировал - процентов 30% - false positive. аля как gcc вдруг из-за левой оптимизации начинает кричать о неинициализрованной переменной.
> ... и даже анализировал - процентов 30% - false positive. аля....О великий и могучий Аноним!!!
Я у них с 2006 года пытаюсь выпросить триальную версию, для анализа 45000 строк.
О Наиумнейший!!! Поделись, сколько мегабаксов отдал?
> Видел я их результаты и даже анализировал - процентов 30% - false
> positive.Ты так говоришь будто в 70% правильных результатов есть что-то плохое. Люди делают полезное для OSS дело, и попутно зарабатывают на жизнь с маслом. Молодцы.
Они много сделали, впрочем никому не мешают сделать больше и лучше. GCC тебе в руки ананимный критег.
>> а они написали скриптик
> Дружище, а накидайте мне такой скриптик, печеньку дам.
> Coverity -- это в т.ч. народец, который годами выуживал дырки и постил
> их в bugtraq@ и full-disclosure@ в том числе. А сейчас
> предпочитает зарабатывать анализом, а не продажей дырок. Мне очень сложно
> обвинить их в злонамерении, по крайней мере что касается таких вот
> проходов по коду.ок. На питоне, ничего?
#!/usr/bin/python
# -*- coding: utf-8 -*-
print u'У вас 12 потенциальных уязвимостей'Чем хуже их скрипта? Или они нашли хоть одну действительно стоящую уязвимость, о которой не знали?)
Не путаем ошибки и дыры!
> Не путаем ошибки и дыры!В новости написано про уязвимости, вроде.
Уязвимость это одна из следствий ошибки. То есть, не всяка бага есть уязвимость.
> Чем хуже их скрипта?Новость читал? Там ссылки есть, нажимать на них пробовал ? А, о ужас, читать что написано по ссылкам ? Или это тебе не по силам, великий написатель однострочечного скрипта ? Детский сад.
> Или они нашли хоть одну действительно стоящую уязвимость, о которой не знали?)
Сотни.
> Новость читал? Там ссылки есть, нажимать на них пробовал ? А, о
> ужас, читать что написано по ссылкам ? Или это тебе не
> по силам, великий написатель однострочечного скрипта ? Детский сад.Читал. Ходил. Что я там должен был увидеть? Ни одной ссылки на их багрепорты конкретные не нашел, увы. Может я плохо смотрел.
Дай мне ссылку, о великий интернет-пользователь.
они предлагают багрепорты не всем подряд для злоупотреблений, а предлагают тем кто развивает проект получить баги своего проекта, вот тут: http://scan.coverity.com/all-projects.html (Sign in)Уже зафикшиные баги можно найти гуглом в самих проектах например для X.ORG:
http://fr2.rpmfind.net/linux/RPM/opensuse/11.2/i586/xorg-x11...
- xfsinfo 1.0.2
* Plug memory leaks (Coverity ids 570 & 571)
- xcursorgen 1.0.2
* Coverity #621: RESOURCE_LEAK: Returned without freeing storage
"curr"
* Coverity #624: RESOURCE_LEAK: Returned without freeing storage
"fp"
- xprop 1.0.3
* Coverity #905: Handle_Prop_Requests returned without freeing
storage "thunks"
- iceauth 1.0.2
* Coverity #1039: Using uninitialized value "authdata"
* Coverity #1089: Double frees in error cleanup pathhttp://lists.freedesktop.org/archives/xorg-announce/2006-Jun...
The highlights are fixing 44 Coverity bugs
Coverity #804: Another leak on OOM path.
Coverity #806: Another memory leak on OOM path.
Coverity #847, #848, #849: Three more memory leaks.
Coverity #1003, #1004: Two more useless null checks.
Coverity #1005: Avoid a null deref.
Coverity #1007: Fix a silly null check.
Coverity #323, #445, #446, #447: Fix potential NULL dereferences.
Coverity #169: Fix potential fgets() into NULL (?!?).
Coverity #324: Fix potential NULL dereference. (Alan Coopersmith)
Coverity #340: Fix potential NULL dereference.
Coverity #1216: Fix double-close of file on error.
Coverity #987: Avoid potential NULL dereference.
Coverity #844, #845, #846: Fix memory leaks.
Coverity #826: Fix potential memory leak.
Coverity #333, #334 - eliminate unncessary test for always true condition in fbEvenStipple.
Coverity #488: Avoid smashing an array on malformed config files.
Coverity #769: Fix a potential memory leak for systems that
allocate on malloc(0)
Coverity #838: Plug two more memory leaks.
Coverity #837: Fix another another memory leak.
Coverity #836: Fix another memory leak.
Coverity #835: Plug memory leak in extension section parsing.
Coverity #812: Fix parser memory leak.
Coverity #818: Avoid memory leak on error path.
Coverity #985: Avoid segfault on malloc failure.
Coverity #1037: Sanity check idx before use.
> они предлагают багрепорты не всем подрядНу наконец-то.
What types of issues does the tool find?
Some examples of the defects include:
leaked resources
references to pointers that could be NULL
references to pointers that are guaranteed to be NULL
use of uninitialized data
array overruns
unsafe use of signed values
use of resources that have been freedКороче то, что должно быть отловлено компилятором и тестами. Они написали хитрую фигню, которая чуть лучше это делает. Что ж, да, полезная вещь (которой не должно быть, ибо это должен делать компилятор, но у ребят такой бизнес).
"Талантов" мышления в обсуждении просто невообразимое количество.По результатам прошлого исследования, если я точно помню, разработчиками OpenSource было подтверждено не менее 80% ошибок, большую часть которых исправили. Т.е. лишь 20% ошибок оказались ложными срабатываниями.
И напишите-ка "скриптик", который будет находить подобные ошибки. Хочу посмотреть хватит ли мозгов хотя бы находить ошибки уровня "утечек памяти" (Coverity ищет гораздо шире).
валгринд в помощь. если желание будет.только другое интересно - как прокоментируете меячные с критическими уязвимостями в флэшах, жабах, дотнетах.
Трудно с идиотами спорить - попробуйте valgrind натравить на исходники _не_ запуская программы - это именно то, что делает Coverity. Попробуйте в автоматическом режиме его запустить.Комментировать нечего, Coverity - это не AI и он не может находить все ошибки.
>Трудно с идиотами споритьзабавный аргумент. :D
что ж, видимо другого нет.
зы:
никто панацею и не обещал. и вопрос - как прокомментируете критические дни каждый месяц с критическими уязвимостями в закрытом софте (в флэшах, жабах, дотнетах,...), который вообще независимыми конторами не тестируется - остаётся без ответа.
ззы:
надеюсь господин умник понимает, что тестирование с наличием исходников на десятки порядков проще и эффективнее.
> забавный аргумент. :D
> что ж, видимо другого нет.Другой аргумент у товарища написан, но вы его предпочли не заметить. Вернитесь и перечитайте (пропустить надо про идиотов, а прочитать остальное, а не наоборот)
> как прокомментируете критические дни каждый месяц с критическими уязвимостями в закрытом софте
это оффтопик дорогой. Или по фиг что у меня плохо, лишь бы у соседа было хуже ?
Почему позититвную деятельность Coverity воспринимаете как наезд ? Потому что не поняли что они раскравают бесплатно для FOSS найденные баги ?
читать, дорогой ты наш, научись.
нигде отрицательно их деятельность я не оценивал.
но из тех 80% думаю такой же результат получили бы и сами разработчики используя валгринд и прочие известные утили. а то может и просто обращая внимание на варнинги, которые выдет компилятор. попробуйте к приеру генту и убедитесь сколько там эти варнигов, начиная с самого гцц.короче, пока не придет добрый дядя и не скажет - вот этот варнинг ведет к такой то дыре, никто и не чешиться.
а с клозет сорсом даже добрый дядя не приходит. и тот булыжник в их городе не мной закинут.теперь понятна сентенция на широко известное произведение Достоевского, господин защитник униженных и оскорбленных?
> получили быНе смогли получить по не важно каким причинам.
Никто кроме coverity за них это тоже не сделал не важно каким причинам.
coverity сделали не важно каким причинам.Предпочитаю оперировать фактами для оценки заслуг, а не "если бы"
гениально!
"если бы" - это то, что не делает разработчик в силу своих обязанностей.
"факты" - это то, что кто-то обнаружил, что в коде то оказывается баги таки есть.
при этом всё остается на своих местах.
гениально.
"Качество Open Source улучшится" - чушь, после отсылки багрепорта от силы улучшится качество куска кода, где были найдены проблемы.Другой вопрос, как это аналитики нашли (читали - и нашли?) ошибки, которые не видели (ага, читали, но не нашли) сами разработчики, которые и логику приложений, и свой код знают куда как лучше? А если анализ был автоматическим, то можно ли ему верить. Помнится, OpenSSL как-то доанализировали-доулучшали автоматом :)
Чтобы найти ошибки, дыры в безопасности, утечки - не нужно знать код. Для этих целей достаточно написать приложение (да, оно очень сложное, в большинстве случаев оно должно обыгрывать разные варианты хода программы, анализ велся не на конкретных числах а на множестве определения переменных и операциях над множествами и проч.), но для поиска ошибок не нужен человек. Знать и понимать все строчки в своей программе недостаточно - иногда полезней попросить другого человека или программу это сделать - причем бездушная программа лучше, т.к. она не имеет представлений о том как эта программу будут использовать, что пользователь скорее всего будет запускать ее с определенными намерениями, и т.д. Она просто молотит входные данные, и как бы себя разработчик не обманывал - дает ему результат. Причем уверен, что и программа всех ошибок не найдет
>Чтобы найти ошибки, дыры в безопасности, утечки - не нужно знать код.знать - не обязательно. иметь исходники - очень желательно.
>>Чтобы найти ошибки, дыры в безопасности, утечки - не нужно знать код.
> знать - не обязательно. иметь исходники - очень желательно.Ну ведь речь идет об Open Source, поэтому это само собой разумеется
Если в коде не вырезаны дебаг символы, то где память вытекает и зависшие дескрипторы и так ясно.
текущая память и не освобожденные ресурсы - это далеко не все баги на планете.
к тому же понять в сложных случаях - не тривиальная задача. а в легких - и без дебагера видно что память течет, ресурсы жруться.
к примеру макос утекает уже релиза 4-5 и никто не шевелится.
> к примеру макос утекает уже релиза 4-5 и никто не шевелится.Не замечал там никаких сильных утечек. В гибернейте мак уже месяца 4, не выключаю. Ну Virtualbox вылетает - но это он от души делает.
В ПО на базе базарных патчей утечки отследить вообще крайне проблематично без сборщика. Один патч привносит, второй накатом удаляет, третий лечит и первый и второй, четвертый исправляет в первом утеку, третий начинает обращаться в астрал и тд и тп. Отслеживать такие утечки жуткий гемморой.
а я вот замечал.
перегружать макбукпро приходится 2 раза в неделю.
да и гугл соврать не даст - ссылок на это довольно много.а про базарные патчи - не течет сцуко, как вы не пыжтесь.
к тому же я и сам разработчик и лапшу кому другому вешайте, а не мне. закрытые разработки не лучше, а в силу шкурности и жадности - хуже.
на индокод я насмотрелся, спасибо.
> а про базарные патчи - не течет сцуко, как вы не пыжтесь.Чиго? VLC и XBMC пожирают метр в минуту. Жрут как лошади. И тд и тп. И как ты не троллишь на маке все нормально. Ссылки в гугл - значит что ты и где там наслышался весьма интересно.
да иди ты в опу. угу, наслышался, как же.
по остальным
1. vlc не течет ни в макос, ни в линухе. ни собранный самостоятельно, ни бинарник.
при чем на маке он гораздо симпатичнее (и открывается быстрее, и панелька в фулскрине полупрозрачная)
2. xbmc не пользуюсь.а макос течет. с 10.6.2 до 10.6.4 точно. остальные не помню. невыгружаемая память больше 2 гб за 4 дня может стать - ппц.
помогает только перезагрузка.
> да иди ты в опу. угу, наслышался, как же.
> по остальным
> 1. vlc не течет ни в макос, ни в линухе. ни собранный
> самостоятельно, ни бинарник.Да лан 2 часа работы и вылет и-за выхода за 4 гб предел. Смотрю iptv и HD спутниковое.
> а макос течет. с 10.6.2 до 10.6.4 точно. остальные не помню. невыгружаемая
> память больше 2 гб за 4 дня может стать - ппц.90 дней аптайма - сборщик отлично зачищает память. Интересно какое именно место течет.
невыгружаемая память.
соответсвенно все остальные - в своп.
максимум - неделя и надо перегружать. ни закрытие прог. ни выход из сессии не помогают.
в инете то на фф грешат, то на хром, то на адоб.
какой в опу адоб, если все проги закрыты, а ресурсы не вернулись?
даже если есть утечки у всех этих прог, ось должна возвращать ресуры при их уничтожении.зы:
про влс мне только не гони, т.к. в маке только им и пользуюсь. и давно.
а почему FreeBSD звездочками? народу интересно знать своих героев :)
Снизу есть надпись
"** FreeBSD's use of Coverity's tools pre-dates the Scan website, and continues, separate from Scan."
ДЖве ключеые фразы данного исследования:
_____________________________________________
1. "Компания Coverity, разработчик инструмента для автоматического исследования безопасности и качества программного обеспечения на основе сканирования и анализа исходного кода".2. "Обычно подобные ошибки пользователи Coverity исправляют до выхода продукта на рынок."
_____________________________________________
То есть покупайте продукт этой фирмы, и будет вам счастье. И им тоже.
> ДЖве ключеые фразы данного исследования:Нет. Ключевое - что они принесли пользу для Free Open Source Software, а то что они при этом зарабатывают и могут полностью себя посвятить разработке алгоритмов, а не подработке на стороне, так это вдвойне молодцы.
У вас ужасно искаженный фильтр восприятия реальности. Вы увидели вторичное. Пускай пиарятся, пиар хорошей вещи - это хорошо!
>У вас ужасно искаженный фильтр восприятия реальности. Вы увидели вторичное.Пускай пиарятся, пиар хорошей вещи - это хорошо!
---
По 1й части: это у вас фильтр фантазии и отрыва от реальности. Вы воображаете желаемое, не видя первичного.
По 2й части: Она опровергает ваше заключение из 1й части. Согласен - пускай пиарятся, они же делают деньги и хотят их больше. Их право.
Согласен. Удивительно, что существуют такие оторванные от реальной жизни люди.
Возможно, szh не просто витает в облаках, а занимается "облачными вычислениями"?