Ilja van Sprundel ránézett a BSD kernelek biztonságára

 ( trey | 2017. augusztus 5., szombat - 11:26 )

Népszerű feltételezés egyes körökben, hogy a BSD kernelek és kódok minősége jobb a Linuxénál. De vajon igaz-e ez? Az (el)ismert biztonsági szakember, Ilja van Sprundel úgy döntött, hogy utánajár ennek a teóriának. Valóban jobb a BSD-k kódminősége, vagy csak azért találnak és javítanak több hibát a Linuxban, mert azt többen nézik? Valóban létezik a "many eyeball" dolog? Ilja az április, május, június hónapokat BSD kódok auditálásával töltötte, a vizsgálat eredményéről pedig előadást tartott a DEF CON 25 rendezvényen. Az eredmények:

Eddig körülbelül 115 kernelbug az alábbi eloszlásban:

  • FreeBSD - 30
  • OpenBSD - 25
  • NetBSD - 60

A feltárt bugok típusai:

  • Straight heap/stack smash
  • race conditions
    expired pointers
  • Double frees
  • recursion issues
  • integer issues
    • Underflows, overflows, signedness
  • info leaks
  • out of bound read
  • NULL deref
  • Division by zero
  • kernel panics driven by userland
  • Memory leak

Megállapítások:

  • Mindhárom vizsgált BSD-ben találtak bugokat
  • Egyértelműen az OpenBSD a győztes, ami jelentősen csökkentette a támadási felületeket az elmúlt években + ügyel a kódminőségre
  • Egyértelmű vesztes a NetBSD, amiben egy tonna elavult és kompatibilitást biztosító felesleges kód van + kevésbé ügyelnek a biztonságos kódra, minőségre
  • A FreeBSD valahol a kettő között van
  • Mindhárom BSD kernelében - az OpenBSD-ben is - könnyű bugokat találni
  • A BSD-k karbantartóinak többet kellene kommunikálniuk egymással (vannak bugok, amiket pl. a NetBSD már javított, de jelen van az OpenBSD-ben és fordítva stb.)

További részletek: Are all BSDs created equally? A survey of BSD kernel vulnerabili9es.

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

Lett is belőle vagy 11 errata az OpenBSD-nél:

https://www.openbsd.org/errata61.html

--
trey @ gépház

Idézet:
Valóban jobb a BSD-k kódminősége, vagy csak azért találnak és javítanak több hibát a Linuxban, mert azt többen nézik?

Erre úgy látom, nem született válasz - vagy csak az én figyelmemet kerülte el valami?

Akkor ez most sok vagy kevés. Hogy könnyű bennük hibát találni, hát persze.
--
ulysses.co.hu

Engem az a teny nyugtat meg, hogy eszkozok milliardjaiban futnak sok eves kodok es ha tamadas aldozata is lesz valamelyik, az biztosan gyartoi alkalmazas oldalon kezdodik.

HTH

--
trey @ gépház

Azt hiányolom, hogy a Linux-kernel nem lett hasonló vizsgálatnak alávetve, hogy összehasonlítható számok legyenek.

Many eyeballs …
• Gut feeling, I suspect this is a factor.
• Based on my result, code quality alone can’t account for the discrepancy
between the bug numbers (BSD vs. Linux).
• Say what you will about the people reviewing the Linux kernel code, there are
simply orders of magnitude more of them. And it shows in the numbers.

Tudom naív vagyok meg minden, meg nem is vagyok oldschool C félisten, de ezeknek a problémáknak a 80%-át amik a slideokban le vannak írva, egy közepesen fejlett syscall és egyéb attach surface unit test suite-tal nem lehetne kiküszöbölni?

Úgyértem indulásnak kb. párszáz syscall hívást kell teszteni, a dokumentált módon, meg mindenféle invalid paraméterekkel, azért ez nem egy kivitelezhetetlen dolog, akár egy néhány fős teammel, pár hónap alatt úgy, hogy az összes piacon lévő Un*x klónt lefedje, de tényleg. És akkor nem jelenne meg a Theo de Raadt által is említett compat bitrot és hasonlók. Ezek tökéletesen automatizálható tesztfeladatok, de tényleg...

És onnantól requirement lenne, hogy csak az kerülhet be syscall hívásként a publikus interfészbe, amire van 100% coverage. Értem én, hogy ilyesmin kurva unalmas melózni, meg akkor nem lehetne a többszáz security expertnek min nyáladzni rendszeresen, de azon kívül, mi szól ellene...? Vagy csak naív vagyok?

(Amúgy ha van ilyen, bocs, csak kb. leírtam amitől felvontam a szemöldököm, nulla research után.)

-=- Mire a programozó: "Na és szerintetek ki csinálta a káoszt?" -=-

-

Még az a jó, hogy távolról egyiket sem lehet kihasználni... !?

--
robyboy

tedu@OpenBSD irasa

Másnál is feldobja az SSL hibát, miszerint unknown_issuer? :P

Igen

Ez az egész arról szól, hogy maga az X.509 és a PKI egy eléggé érdekes valami.
De ezt már kiveséztük a HUP-on: https://hup.hu/szavazasok/20170227/https_hasznalata_bongeszoben

Értem én, csak van már letsencrypt meg a fizetős évesek se veszélyesen drágák. Nyilván attól, hogy nincs benne a böngészőben a CA még lehet jó a site.

Lehet ezért teljesít jobban az OpenBSD alapokon nyugvó PNSense a FreeBSD alapú pfSense-nél?

Tovább az OPNSense teszt cikkre

Az OPNsense nem OpenBSD alapú, hanem HardenedBSD.

Igazad van! Köszönöm a javítást (https://opnsense.org/about/about-opnsense/)