HWSW Informatikai Kerekasztal: Re: Nem csak szervereket érint a Heartbleed - HWSW Informatikai Kerekasztal

Ugrás a tartalomhoz

Mellékleteink: HUP | Gamekapocs

  • (2 Oldal)
  • +
  • 1
  • 2
  • Nem indíthatsz témát.
  • A téma zárva.

Re: Nem csak szervereket érint a Heartbleed

#1 Felhasználó inaktív   HWSW 

  • HWSW
  • PipaPipaPipaPipaPipa
  • Csoport: Stábtag
  • Hozzászólások: 9.283
  • Csatlakozott: 2009. márc. 17.

Elküldve: 2014. 04. 11. 11:46

A sérülékeny OpenSSL nem csak webes szolgáltatásokban található meg, hanem egy sor hálózati eszközben és az Androidban is. A Cisco már közzétette és folyamatosan frissíti sérülékeny termékei listáját. Az Androidnak a Google szerint csak a 4.1.1 verziója érintett.
https://www.hwsw.hu/hirek/52125/openssl-heartbleed-sebezhetoseg-cisco-juniper-android-biztosag.html

#2 Felhasználó inaktív   Emvy 

  • Senior tag
  • PipaPipaPipaPipa
  • Csoport: Fórumtag
  • Hozzászólások: 3.466
  • Csatlakozott: --

Elküldve: 2014. 04. 11. 11:46

Erdekes egyebkent, hogy a (klasszikus ertelemben vett) hacker kozossegek elkezdtek elegge gondolkozni azon, hogy tenyleg C-t kell-e hasznalni ezekben a kritikus rendszerekben. A biztonsagi hibak tulnyomo tobbsege* buffer overrun jellegu, ahogy ez is, sok nyelvben ezt lenyegeben lehetetlen megcsinalni.

Az OpenSSL, mint kod szinvonala meg egeszen elkepeszto, erdemes belenezni. A visszateresi ertekeknel hol az 1 jelenti az igent, hol a 0. A "sebesseg" miatt irtak maguknak egy primitiv allokatort a malloc fole, amit ha nem tettek volna meg, akkor jo esellyel ez a hiba se lett volna (csomo esetben segfaultolt volna a tamadas). Satobbi. Remes az egesz.

*nem tudomanyos erteku becsles


while (!sleep) sheep++;

#3 Felhasználó inaktív   hanischz 

  • Újonc
  • Pipa
  • Csoport: Alkalmi fórumtag
  • Hozzászólások: 81
  • Csatlakozott: --

Elküldve: 2014. 04. 11. 12:09

@Emvy: Sztem az egyik legfobb problema hogy sok az oroklott "kokori modszerekkel keszult" kod es senki nem akarja atirni oket. Ha mar c++ hasznalnanak smart pointerekkel, referenicakkal (pointerek helyett), modern stl kontenerekkel mar jobb lenne a helyzet.

Viszont menedzselt nyelv hasznalata sem megoldas mert ha jol emlekszem java is elegge lukas..pont mert c alapra epitkezik :)

#4 Felhasználó inaktív   Emvy 

  • Senior tag
  • PipaPipaPipaPipa
  • Csoport: Fórumtag
  • Hozzászólások: 3.466
  • Csatlakozott: --

Elküldve: 2014. 04. 11. 12:19

@hanischz: nem egeszen, mert az egyik esetben te magadnak kell biztositani a dolgokat, a masik esetben pedig siman nem lehetseges. Java-ban nem tudsz veletlenul olyan szituaciot eloallitani, amikor a valahonnan erkezo adat veletlenul atkerulhet egy masik adatstrukturaba.

Persze lehet ilyet csinalni, ha tenyleg nagyon el akarod cseszni (pl. foglalsz egy X meretu tombot, irsz egy allokatort ami azt hasznalja a JVM heap helyett), de Java*-ban ehhez erolkodni kell, nagyon.

*Java helyett mondhatnek rengeteg mast is, nem kell annal leragadni, hogy akkor most a Java jo vagy rossz.
while (!sleep) sheep++;

#5 Felhasználó inaktív   hanischz 

  • Újonc
  • Pipa
  • Csoport: Alkalmi fórumtag
  • Hozzászólások: 81
  • Csatlakozott: --

Elküldve: 2014. 04. 11. 12:21

@Emvy: Ugy ertettem hogy a java framework is onmagaban eleg jukas mert c-ben irtak meg.

#6 Felhasználó inaktív   Veér István 

  • Újonc
  • Pipa
  • Csoport: Alkalmi fórumtag
  • Hozzászólások: 90
  • Csatlakozott: --

Elküldve: 2014. 04. 11. 12:29

@Emvy: igen, managelt nyelvben erőlküdni kell, hoyg elbaszd, de mitn az OpenSSL allokátor is mutatja, itt is megerőltették maguk a FOSShuszárok, hogy sikerüljön úgy istenigazából elbaszni. Ha itt csináltak egy fos allokátort,. máshol is megtehetik.

Egyébiránt a managelt nyelveknél a jittelt kós is azért assabb kb mindig mint a C kód, mert mindig készül explicit 0-ra inicializáló kód minden változónak helyfoglalásnál a natív kódba. Ez egy tervezési döntés volt, ami az ilyen esetek előfordulásának valószínűségét csökkenti. Az immutable string is sokat ad a biztonsághoz, a C stílusú stringkezelés hüyleségeinek kivédésével. A jól definiált karakter és byte típusok is segítenek, hogy a multibyte szövegek ne legyenk kihívás.

Mindezek egyben a sebességen túl egyéb hátulütőket is behoznak: Például az immutable string jó, hogy ne csinálj buffer overrunt, de ellenben sokáig bennemaradhat a GC-s működés esetén a memórában pl egy jelszó szring, ezért ott azt nem szabad sima String ttípusban tárolni, hogy a rendszer meg tudja gátolni többek közt a jelszó kiswappelődését, és egyáltalán minimalizálja a memórában nyersen olvasható formában töltött idejét.

Remélem, hogy a D nyelv elterjed, ami sokkal igényesebb és alkalmasabb ilyen feladatok kezelésére, ellenben támogatja a sima scoped nem GC-s objektum életcklus modellt, kód bizalmi szint annotációkat, és általában, C++ agyfasz nélkül.

#7 Felhasználó inaktív   xclusiv 

  • Őstag
  • PipaPipaPipaPipaPipa
  • Csoport: Fórumtag
  • Hozzászólások: 11.057
  • Csatlakozott: --

Elküldve: 2014. 04. 11. 13:00

Üzenet megtekintéseIdézet: Emvy - Dátum: 2014. 04. 11. 11:46

Az OpenSSL, mint kod szinvonala meg egeszen elkepeszto, erdemes belenezni.

Ez elég régóta ismert probléma.
Szerintem itt van az ideje annak, hogy a web-es nagyok, akik erősen függnek ettől a ****kupactól (google, apple, fb, amazon, tanúsítványkiadók, bankok, telkók, stb.) összedobjanak egy team-et az openssl auditálására, még inkább újraírására.

#8 Felhasználó inaktív   hilti 

  • Tag
  • PipaPipa
  • Csoport: Alkalmi fórumtag
  • Hozzászólások: 452
  • Csatlakozott: --

Elküldve: 2014. 04. 11. 13:01

Teljesen értelmetlen az OpenSSL esetében arról vitatkozni miért C-ben van irva és mennyivel biztonságosabb lenne ha modernebb nyelvben iródott volna. 1) kb. 20 éve kezdték el fejleszteni 2) az időponttól eltekintve is meg van az oka hogy ANSI C-ben irták és opensource (pl. ezért tudják használni az utolsó gagyi környezetben is ahol van egy nyomorult C forditó) 3) egy C-ben C++-ban dolgozó képzett fejlesztőnek egy buffer overflow jellegű bug a lehető legcikibb probléma. A legalapvetőbb feladat ezek elkerülése ilyen nyelvi környezetben. Ráadásul van ezer alkalmazás az ilyen jellegű problémák ellenőrzésére, tesztelésére. Szóval normális esetben be sem lehetne "commit"-álni olyan kódot ami ilyen hibát tartalmaz.

#9 Felhasználó inaktív   Veér István 

  • Újonc
  • Pipa
  • Csoport: Alkalmi fórumtag
  • Hozzászólások: 90
  • Csatlakozott: --

Elküldve: 2014. 04. 11. 13:08

@hilti: egy normális esetben, ahol nem hobbista szabadságharcos gerillák végzik a fejlesztést. Az egész FOSS mozgalom rákfenéje, hogy pékek, szívsebészek, akadémiai arcok csinálják. Persze, hisz aki for-profit helyen dolgozik, az tudja, hogy mennyit ér a mukája, és tudja, hogy a szoftver fejlesztés egy kis (de nagyon fontos része) a kód megírása. Nem véletlen, hogy az opensource projektek esetében a dokumentáció, unit tesztek ritkaságszámba mennek.

#10 Felhasználó inaktív   hilti 

  • Tag
  • PipaPipa
  • Csoport: Alkalmi fórumtag
  • Hozzászólások: 452
  • Csatlakozott: --

Elküldve: 2014. 04. 11. 13:12

azt már meg sem emlitem hogy az OpenSSL eléggé lejáratta magát tavaly az NSA storyval, szóval manapság már az is megfordul az ember fejében hogy egy ilyen horderejű hiba tényleg véletlenül kerül -e bele a kódba és marad 2 évig a fű alatt. Egy normális unit test esetén ki kellett volna buknia

#11 Felhasználó inaktív   joghurt 

  • Tag
  • PipaPipa
  • Csoport: Fórumtag
  • Hozzászólások: 155
  • Csatlakozott: --

Elküldve: 2014. 04. 11. 14:34

@Emvy: Egy eléggé közérthető magyarázat a Heartbleedről: http://xkcd.com/1354/ :)

#12 Felhasználó inaktív   dragon1993 

  • Tag
  • PipaPipa
  • Csoport: Fórumtag
  • Hozzászólások: 114
  • Csatlakozott: --

Elküldve: 2014. 04. 11. 15:34

Nexus 4, Android 4.4.2 alatt azt írja ,hogy érintett. Kép

#13 Felhasználó inaktív   Emvy 

  • Senior tag
  • PipaPipaPipaPipa
  • Csoport: Fórumtag
  • Hozzászólások: 3.466
  • Csatlakozott: --

Elküldve: 2014. 04. 11. 15:56

@joghurt: jaja, lattam :)
while (!sleep) sheep++;

#14 Felhasználó inaktív   montyx 

  • Tag
  • PipaPipa
  • Csoport: Fórumtag
  • Hozzászólások: 298
  • Csatlakozott: --

Elküldve: 2014. 04. 11. 16:44

@dragon1993:
dettó. ez azért "mennek a picsába" szituáció nem kicsit. persze frissítés nulla, majd jön a 4.4.3...talán

#15 Felhasználó inaktív   godot 

  • Tag
  • PipaPipa
  • Csoport: Alkalmi fórumtag
  • Hozzászólások: 101
  • Csatlakozott: --

Elküldve: 2014. 04. 11. 18:51

Az openssl-t főképpen a Google fejleszti évek óta, szóval a fizetett fejlesztőik már szét auditálhatták volna ha akarják. A hibát is egy fizetett T-Systems alkalmazott tette a kódba.


#16 Felhasználó inaktív   Leni 

  • Senior tag
  • PipaPipaPipaPipa
  • Csoport: Fórumtag
  • Hozzászólások: 4.173
  • Csatlakozott: --

Elküldve: 2014. 04. 11. 19:19

@godot: Esetleg forrás? Vagy csak így bemondásra megy:)

#17 Felhasználó inaktív   Emvy 

  • Senior tag
  • PipaPipaPipaPipa
  • Csoport: Fórumtag
  • Hozzászólások: 3.466
  • Csatlakozott: --

Elküldve: 2014. 04. 11. 19:30

@godot: igazabol tokmindegy, ki rakta bele, mindenki hibazik. A durva az, hogy nem volt auditalva.
while (!sleep) sheep++;

#18 Felhasználó inaktív   godot 

  • Tag
  • PipaPipa
  • Csoport: Alkalmi fórumtag
  • Hozzászólások: 101
  • Csatlakozott: --

Elküldve: 2014. 04. 11. 19:38

@Leni:



http://www.smh.com.au/it-pro/security-it/who-is-robin-seggelmann-and-did-his-heartbleed-break-the-internet-20140411-zqtjj.html
http://www.smh.com.au/it-pro/security-it/man-who-introduced-serious-heartbleed-security-flaw-denies-he-inserted-it-deliberately-20140410-zqta1.html

Mellesleg Segglemann jegyzi többek között az RFC6520-at is aminek implementálása ilyen jól sikerült az openssl-ben.

A Google fejlesztője fedezte fel a hibát egyébként, nézd meg az openssl forrástárolóját, meg azt is mennyi kód megy bele a Google-tól.




#19 Felhasználó inaktív   godot 

  • Tag
  • PipaPipa
  • Csoport: Alkalmi fórumtag
  • Hozzászólások: 101
  • Csatlakozott: --

Elküldve: 2014. 04. 11. 19:43

@Emvy: Igazából @Veér István Floss huszáros megjegyzésére akartam reagálni. Az openssl-t is főképpen fizetett feljesztők tolják már régóta, és ettől nem lett jobb.

#20 Felhasználó inaktív   Leni 

  • Senior tag
  • PipaPipaPipaPipa
  • Csoport: Fórumtag
  • Hozzászólások: 4.173
  • Csatlakozott: --

Elküldve: 2014. 04. 11. 20:41

@godot: "A hibát is egy fizetett T-Systems alkalmazott tette a kódba. "

És ez hol is van benne a cikkben? Az, hogy most épp ott dolgozik az egy dolog. Értem én mit akarsz mondani, de szerintem az állításod itt eléggé félrevezető..

Téma megosztása:


  • (2 Oldal)
  • +
  • 1
  • 2
  • Nem indíthatsz témát.
  • A téma zárva.

1 felhasználó olvassa ezt a témát.
0 felhasználó, 1 vendég, 0 anonim felhasználó