Kevesebb bug, mint a riválisokban

Címkék

Négy évnyi kutatás, 5.7 milliónyi Linux forráskód sor átvizsgálás után öt Stanford Egyetemen dolgozó számítógép-kutató azt állítja, hogy a Linux kódja programozási szempontból jobb és biztonságosabb, mint a legtöbb kereskedelmi szoftver forráskódja.Alapozzák ezt az állítást arra, hogy Carnegie Mellon Egyetem szakemberei 20-30 bugot találtak átlagban a kereskedelmi programok forráskódjának minden 1000 sorában, míg ők átlagosan 0.17 bugot fedeztek fel a Linux forráskódban 1000 soronként.

A részletes fejtegetés itt.

Hozzászólások

Van sajtohir is:

Linux Kernel Software Quality and Security Better than Most Proprietary

Enterprise Software, 4-Year Coverity Analysis Finds

Stanford computer science researchers analyze 5.7 million lines of software,

identify 985 software bugs most already fixed by open source community

SAN FRANCISCO, December 14, 2004 Coverity, a software engineering company

focused on developing a better way to build software, today announced results

on Linux security compiled over four years of source code analysis of the

Linux kernel. The recent 2.6 Linux production kernel now shipping in

operating system products from Novell and other major Linux software

companies contains 985 bugs in 5.7 million lines of code, well below the

industry average for commercial enterprise software.

Commercial software typically has 20 to 30 bugs for every thousand lines of

code, according to Carnegie Mellon University's CyLab Sustainable Computing

Consortium. This is equivalent to 114,000 to 171,000 bugs in 5.7 million

lines of code.

The former director of cybersecurity for the U.S. Department of Homeland

Security, Amit Yoran, this month told a Washington, D.C. conference on

Homeland Security and Information Assurance that automatic code debuggers are

required to make software secure.

The Linux source code analysis project started in 2000 at the Stanford

University Computer Science Research Center as part of a massive research

initiative to improve core software engineering processes in the software

industry. The initiative continues on at Coverity, a commercial software

company started by five of the lead Stanford researchers. Coverity customers

include the top vendors in networking, electronic design automation and

storage, among others.

As a public service, Coverity will start providing bug analysis reports on a

regular basis and make a summary of the results freely available to the Linux

development community.

"This is a benefit to the Linux development community and we appreciate

Coverity's efforts to help us improve the security and stability of Linux,"

said Andrew Morton, lead Linux kernel maintainer. "We've already addressed

the top priority bugs that Coverity has uncovered. It's a very useful system

for high quality code."

"Key Linux developers can now use the same tools that many of the world's

largest commercial IT vendors have integrated into their software development

process," said Seth Hallem, CEO of Coverity. "Our findings show that Linux

contains 0.17 bugs per thousand lines of code, which is an extremely low

defect rate and is evidence of the strong security of Linux. Many security

holes in software are the result of software bugs that can be eliminated with

good programming processes."

Coverity found Linux bugs in five areas:

crash causing defects,

incorrect program behavior,

performance degradation,

Improper use of APIs,

security flaws

Of the 985 bugs, 627 are in critical parts of the kernel and are broken down

as follows:

Crash causing: 569

Buffer overruns: 25

Performance degradation (resource leaks): 33

Security: 100

A summary of the bugs is available at http://linuxbugs.coverity.com

Active members of the Linux kernel development community can obtain detailed

bug reports by contacting Coverity.


About Coverity's Products

SWAT's core technology is unique amongst source code analysis solutions in

both its precision and scalability. Unlike many competing technologies, SWAT

simulates the effects that the operations in the source code might have in

the runtime environment, rather than searching the source code for known,

dangerous coding patterns or potentially sloppy coding constructs. The result

is that the defects detected by SWAT's analysis platform are potentially

disastrous runtime errors that must be fixed in the source code. In addition,

SWAT is designed to integrate easily into existing software development

practices without any changes to existing build systems or existing

development tools.


About Coverity

Coverity, Inc. (www.coverity.com) is a software engineering company focused

on developing a better way to build software. While hardware design has

always been considered a difficult task that merits significant investments

in automation and verification, the notion that building software is just as

difficult has only recently gained credibility in the marketplace. Coverity

was founded to meet that insight with a solution: analyze source code with

sophisticated, automatic tools that allow software developers to identify

defects that could cause catastrophic failures or security breaches without

imposing any additional burden on the development cycle.

> Bizonyos szervezetek (kormanyok, iskolak, egyetemek, stb.) reszt vehetnek valami Windows forraskod programban, ahol 8434237424 darab NDA alairasa utan belenezhetnek a Windows * forraskodokba. Allitolag igy szivargtak ki annak idejen azok a bizonyos Windows forraskodok is... Valamelyik diak...

Jah, a Windows forráskódok annakidején a Mainsoft cégtől kerültek ki, akik cross-platform fejlesztésekkel foglalkoznak és a Microsofttól hivatalosan volt meg nekik a forrás. Egyetemek nem hiszem hogy csak úgy megkapják a kódokat.

> Vannak olyan szoftverek amelyek tipikus programozasi hibakat keresnek. Pl. puffer tulcsordulasokat, memory leak, stb. Ezekkel nem ``olyan'' nehez...

Jah, vannak, de használhatatlanok. Ilyeneket ellenőriz a legtöbb, hogy strcpy van-e a forrásban, ha igen, akkor felhívja a figyelmedet, hogy veszélyes, használj inkább strncpy-t, sprintf helyett snprintf, stb. Ha ilyenre alapoznak bármilyen kutatást is, akkor az nem sokat ér. Nyílván akkora a fault positive arány egy ilyen auditáló szoftvernél, hogy a találataiból semmit sem lehet leszűrni. (Az strcpy, sprintf, stb. függvényeket is lehet biztonságosan használni).

Az OpenBSD csapat annyira paranoid, hogy az összes ilyen strcpy -> strncpy, sprintf -> snprintf cserét elvégezték a forrásukon anélkül, hogy ellenőrizték volna melyik jelent valódi kockázatot. Akkor ha az ő forrásukkal hasonlították volna össze a kereskedelmi termékeket még nagyobb különbségek jöttek volna ki, pedig egy mai modern szoftverben ilyen jellegű puffer túlcsordulásos hibák már egyébként sincsenek, ha használnak is strcpy és hasonló funkciókat, azokat biztonságosan alkalmazzák. A Windowsban sem ilyen alapvető bof hibákat találnak már a bogárvadászok, hanem jóval nehezebben felderíthető integer és heap túlcsordulásokat, melyeket egy ilyen auditáló szoftver vagy nem talál meg, vagy olyan helyeken is jelez, ahol nem kellene.

>Egyetemek nem hiszem hogy csak úgy megkapják a kódokat.

De. Csak Ausztiaban ket egyetemnek van meg a kod.

``The Federal Ministry of the Interior in Austria is the first government body in Europe to be granted the source code for Windows XP under Microsoft's Shared Source Initiative. The ministry is using the insight it has gained through this Shared Source Initiative to guarantee a higher level of security for the citizens of Austria.

Within the framework of the Shared Source Initiative, Microsoft is providing the Windows source code to customers, academic institutions, governments and partners. The primary aim here is to harmonise the positive aspects of increased transparency with the requirements of an economically healthy and innovative software industry. Microsoft has been providing academic institutions with access to the Windows source code for research and training purposes for more than ten years already. Over 120 universities in 30 countries worldwide have availed of this opportunity. In Austria two universities currently hold a source code licence. ''

http://www.microsoft.com/presspass/press/2001/dec01/12-03SharedSourcePR.asp

Én gondolom jól, hogy átalában nem csak a hibák számossága, hanem a minősítése is fontos szempont, ha már hasonlítunk ? Jó ez a kocsi, csak nha kihagy a fék, és távolról leállthatják.

Jó ez a kocsi, csak néha zörög a sárhányó,kényelmetlen a szék, és néha rigojás ha cserélek benne egy 1000 éves indexizzót vagy üléskárpitot. :-D

Nem ertem, mit kinlodtak vele annyit, kb. megsaccoltam volna en is igy... ;)

That's not a bug, that's a feature...

Kiváncsi lennék hogy hogyan tudták analizálni azoknak a kereskedelmi szoftvereknek a forráskódját (Windows XP). Meg az is érdekelne, hogy hogyan zajlott azaz analizálás... Egy automatikus auditáló szoftvert eresztettek rá a forráskódokra vagy a kutatók saját kezüleg bogarászták át az összes sort? Miből gondolják a Standfordi kutatók, hogy hasonlóan jól tudnak auditálni, mint a Carnegie Mellon egyetem szakemberei?

Ehez képest a Microsoft Get the Facts kampány közelebb áll a valósághoz... :)

Gondolom, ez alatt négy évvel ezelőtti kernelt kell érteni. Egyébként meg hogy egyes embereknek mennyi szabad idejük van...

Hat igen. Ezen elgondolkodtam en is.

>Kiváncsi lennék hogy hogyan tudták analizálni azoknak a kereskedelmi szoftvereknek a forráskódját (Windows XP).

Bizonyos szervezetek (kormanyok, iskolak, egyetemek, stb.) reszt vehetnek valami Windows forraskod programban, ahol 8434237424 darab NDA alairasa utan belenezhetnek a Windows * forraskodokba. Allitolag igy szivargtak ki annak idejen azok a bizonyos Windows forraskodok is... Valamelyik diak...

>Meg az is érdekelne, hogy hogyan zajlott azaz analizálás... Egy automatikus auditáló szoftvert eresztettek rá a forráskódokra vagy a kutatók saját kezüleg bogarászták át az összes sort?

Vannak olyan szoftverek amelyek tipikus programozasi hibakat keresnek. Pl. puffer tulcsordulasokat, memory leak, stb. Ezekkel nem ``olyan'' nehez...

>Miből gondolják a Standfordi kutatók, hogy hasonlóan jól tudnak auditálni, mint a Carnegie Mellon egyetem szakemberei?

Lehet ugyanazt a programot hasznaltak? :-)

Aztmondjahogy: "the 2.6 Linux production kernel, shipped with software from Red Hat, Novell and other major Linux software vendors, contains 985 bugs in 5.7 million lines of code, well below the industry average for commercial enterprise software. Windows XP, by comparison, contains about 40 million lines of code, with new bugs found on a frequent basis."

Jól értem, hogy a Linux monolitikus kernelét hasonlították össze a Windows XP-vel, mint operációs rendszerrel? (Merthogy a WinXP-s hibák inkább valamilyen alrendszer programkódjai, és mint tudjuk, a Linuxos programok sem éppen hibamentesek...)

Ha letűzfalazol egy gépet, akkor a biztonsága a tűzfaltól függ csak (meg a buta felhasználótól). Ha engedélyezed a fájlmegosztást, akkor a fájlmegosztási modul, legyen az Samba vagy Windowsos belső lesz hibaforrás... és így tovább. Nem hiszem, hogy az összehasonlítás ilyen formában korrekt.