64
  • valaé valaé ná
    #64
    Azért nem biztonságosak a programok, mert rosszak az alapok. Mert egy fejlesztői környezet vagy programnyelv megalkotásánál ez nem fő szempont. Pontosabban befektetés-megtérülés szempontjából nem kedvező. Talán majd szépen lassan.
  • pemga
    #63
    Köhh-köhh. A TATA-ról hallottál már? Láttad a vevői listájukat? Hány volt közöttük angol? :). De mondhattam volna a HCL-t is, csak az Mo-n nem annyira ismert.
  • vincuska
    #62
    amugy meg... mi vagyunk nyugat europa "indiája". az angolokon kivul senki sem szivesen alkalmaz indiai fejleszoket, es ezt ki kell hasznalni - magyarorszagon vannak jo programozok.

    el kell vallalni a melot, meg mindig egesz jo penzt fizetnek - es kussban meg le kell programozni mindent majd tovabblepni. meg mindig nagyon sok penz van benne, csak jo helyen kell lenni. kesobb meg lesz penzed, idoben alapitasz egy 'tanacsado ceget' es mindnert feleloseget fogsz vallalni. mert abbol a penzbol fizeted a benzint es a rezsit.
  • megrab
    #61
    Más oldalról megközelítve a dolgot: a hibák a szofverekben teljesen statisztikai jelleggel fordulnak elő. Ennek az az oka, hogy a világon milliónyi programozó milliárdnyi kódhoz nyúl hozzá.

    Tehát akad hiba a programban és idő kérdése, hogy valaki fel nem fedezi. Mivel sokan használnak pc-t a hibák jó része felszínre kerül, csak az a kérdés, hogy a fejlesztési időszakban, vagy csak utána.

    Ahogyan akad ember aki a macskáját mikróban szárítja (azért mert 6,5 milliárd ember közül elég nagy az esélye annak, hogy van ilyen hülye is), úgy gyakorlatilag lehetetlen azt elérni, hogy a programok kódjának sorainak tömegében ne legyen hiba.

    A programozók felelőssége szerintem annyi, hogy a komolyabb hibákat kijavítja amit talál. Más kérdés, hogy a mai világban erre egyre kevesebb időt hagynak nekik (ld. EA-per).
  • bakterrier
    #60
    jól látod
  • Komolytalan
    #59
    Kíváncsiak vagytok miért nem biztonságosak a szoftverek? Azért, mert ma már nem szoftverfejlesztés van, hanem szoftver ipar. Így a fejlesztések - bocsánat dehogy fejlesztés, termelés - irányításában nem vesznek részt olyan szakemberek, akik ha meglátnak egy forráskódot akkor mást is tudnak rá mondani, mint hogy "hú de hosszú, muszáj bele ez a sok sor?". Régen ez nem így volt. A programozók egy-egy csoportja fölött volt egy vezető fejlesztő, akinek kutya kötelessége volt az adott részfeladat minden forrását átlátnia, és szükség esetén belejavítania. Hozzá kell tennem hogy a programozók felvételénél is az ő szava döntött. És a felelősséget olyan szinten viselte, részesedett a project nyereségéből/veszteségéből is.
    Jelenleg - mivel ipari termelés van, nem fejelesztés - a programozók munkáját kizárólag fekete dobozként tudják vizsgálni a feletteseik illetve a teszterek: ezt kell hogy tudja, ezt tudja is, és kész. Viszont sajna azt nem tudják letesztelni, hogy a csillagok bizonyos együttállása esetén nem-e csinál valami iszonyat nagy baromságot. Ahhoz sajna bele kellene nézni valakinek. Az automata hibakereső, tesztelő eszközök teljesítménye nevetséges, arra ne hivatkozzon senki se. A szándékos hibát nem találják meg, viszont pánikolnak mindenféléért.
    Szóval ez van emberek - ha alkalmazott vagy, baromira nem érdek az, hogy a termék amit előállítasz az tökéletes legyen, sokkal inkább fontos hogy jó pozíciót harcolj ki magadnak, meg úgy általában a legkisebb energiabefektetéssel megúszd a munkádat. Ugyanígy a pék se fogja szívét-lelkét belesütni a túrós táskába, ha köze sincs a céghez, inkább kilop belőle egy kis túrót:-)
  • bakterrier
    #58
    hello!
    programozó vagyok, kövezzetek meg! :D
  • GodBadka
    #57
    Hát ha elérnék, hogy a programozó viselje a felelőséget a biztonsági hibákért, akkor józan gondolkodású programozó nem fog programot írni. Egy 10-20 soros programot is nehéz "tökéletesre" mergírni, nem még hogy egy több 100ezer, vagy millió soros gigászt. Ebből is látszik, hogy kedves a hőbörgő egykori kiberbiztonsági tanácsadó életében nem írt programot, vagy ha igen, akkor a rossz programozók közé tartozott és semmi komoly feladata nem volt.
  • irkab1rka
    #56
    Ez igy ahogy van hülyeség. Már a use case-ek tele vannak hibával és ellentmondással, akkor hogy akarod a programozón számonkérni?
    A hobákat simán ki tudod szűrni, ha megfelelő a fejlesztői környezet, és a QA-nak van ideje teszteket írni, ahogy a szerződésben meg van írva.

    Ebben a szövegben egy hiba van ;)
  • raingun
    #55
    Ismerősömmel olyan szerződést akartak aláiratni hogy a szoftver bukta után (nem lesz kész határidőre, tele van buggal) a kár felelősségének 90%-a az övé. Gondolhatná az ember hogy ez ok, hiszen tényleg mindent ők csinálnak.
    De ő megmondta ki szeretné egészíteni a szerződést azzal a mondattal, hogy siker esetén 90% haszon is az övé. Persze így már nem tetszett az adott cégnek és írtak egy normális szerződést, de azért bepróbálkoztak. Szóval a programozókat, mivel gyakolatilag ők is gyári melósok mindig le próbálják húzni...
  • BiroAndras
    #54
    Hogy a határidők szorosságáról némi fogalma legyen a társaságnak, tessék megnézni a hozzászólás időpontját (nem, nem ilyen korán járok dolgozni. :) ).
  • Laci73
    #53
    ...emelett jó minőségű fejlesztők dolgoznak rajta, tehát a felső 5% programozó...

    Nem árulunk el titkokat :)
  • BlackRose
    #52
    Különben az nem valós állítás, hogy egy programban végtelen a hibák száma... a jelenlegi felmérések a meglévő kódállományra átlag 1 hibát feltételeznek 170 sor C++, Java stb. szintű forráskódra (DeMarco és Lister szerint). De ez nem mond semmit, mert a variáció lehet akár 10000 x kisebb vagy nagyobb, de végtelen azért nincs. Ha a fejlesztés a best practices alapján zajlik és még emelett jó minőségű fejlesztők dolgoznak rajta, tehát felső 5% programozó, ezután minden szépen ki lett tervezve, kevés vagy nincs túlórázás, és nagyon odafigyelnek a build tree-re stb. akkor ez lehet sokkal kisebb szám is. A Windows 3.0 összehasonlíthatatlanul több hibát tartalmazott mint az XP, pedig annak idején kevesebb volt az alacsony minőségű programozó mint ma, de sokkal éretlenebb volt a folyamat (az engineering process) és nem voltak jó automatizált kódvizsgálók (most már a hibák 90% kód ellenőrző szoftver segítségével és a fejlesztőrendszer segítségével megtaláljuk), és a piac követelményei sem voltak olyan magassak mint ma, ezért kevés figyelmet fordítottak a hibákra, a biztonsági dolgokra meg majdnem semmit. Tehát a szoftverfejlesztés is éppen úgy mint minden más sok tényező találkozásának az eredménye, ezért nem lehet általánosítani, mindenesetre minnél bonyolultabb a szoftver annál nagyobb az esély a hibákra. És mégvalamit minnél többet csinálod annál kevesebb lesz a hiba
  • Sadist
    #51
    Az szerintem végtelen a hibaLEHETŐSÉGEK száma akart lenni...
  • droland
    #50
    Az alapvető probléma egy alaptörvény:

    "egy programban végtelen a hibák száma"

    No most ebből kiindulva senki ne írjon soha programot, mivel ha polgári szinten perelhető a dolog, akkor még 1x: soha senki ne írjon progit, még ingyen szinten sem, mert mondjuk hibás kódsor miatt egy fontos adatrészt töröl a géprőlés máris perelsz, akár kereskedelmi, akár free.
  • Laci73
    #49
    Kbupdate: "A program pontosan úgy működik, ahogy megvan írva!..."

    Meg ahogy az adott környezet futni engedi.

    Worldwideweb: "az általuk megírt kód valóban biztonságos...Mint tudjuk feltörhetetlen kód nincs, tehát erről ennyit."

    A kód elnevezés megtévesztő lehet: nem valami titkosított jelrendszert értünk alatta, hanem a "nyers" még csak karakteres (szöveges) formában lévő, egy adott programnyelv (pl. C, C++) szabályai szerint megírt "elő-programot". Ezt a nyers állapotot hívjuk még nyílt forráskódnak is (ugyanis egy másik programozó egyszerűen el tudja olvasni, azaz megérti a program egészét). Egyes programozók azonban - egy későbbi folyamat során - elrejtik ezt az állapotot (pl. Microsoft), hogy más ne tudja ellopni ötleteiket (meg ne lássák milyen szar amit írtak :)) - ez a zárt forráskód, aminek már van köze a titkosításhoz. Visszafejteni ugyan lehet, de nem éri meg.

    Assdf: "Ha egy oprendszerre felteszel egy drivert, lehet hogy mindkettő jól van megirva, mégis előfordulhat hogy pl keletkezik egy biztonsági rés"

    Nyílt forráskódnál valóban nem történhet hiba, mert ott látod mi történik. Zárt forráskódnál (lásd a Win illesztési problémáit) már más a helyzet: ott nem tudod követni, mi történik, még akkor is felléphet hiba, ha a driver jó: a zárt forráskódú oprendszer kilökheti, mert pl. a memóriakezelés számára nem megfelelő, és erről a driver alkotója a zárt kód miatt nem tudott.
    Biztonsági rés nem így keletkezik, az mindig adva van az adott programban :)
  • Sadist
    #48
    Hogynepersze, elvégre csak és kizárólag nyílt forráskódú drivereket írnak. Sőt az ATI/nVidia mindig felrakja a netre a legújabb grafikus chipjének részletes leírását/tervét. De gondolom Te utána tudsz nézni a legújabb Intel proci részletes felépítésének is és tudhatod, hogy hogyan fog működni különböző rendszereken.
  • mrzed001
    #47
    Olvass vissza: #35

    Egyébként a doki ha félrenyúl, és pl összevarja a májad a veséddel, akkor orvosi műhibaper (vagy eleve eltusolják), és fizet max a kórház 100 eFt-ot neked, mint kártérítés. Te meg esetleg nyomorék lettél. Fene nagy felelősségrevonás
  • BlackRose
    #46
    Na akkor, hogy lerajzóljam... nem is gondoltam, hogy az orvos hibája, sőt nem is azt mondtam, hanem általánossan beszéltem a hibákról, mindenkinek megvan a maga része bennük. De a sok félrekezelés az már esetleg az orvos hibája is lehet. Na de, hogy most itt ne legyünk off-topic, a tény amit it elakartam mondani, az nem más, minthogy mindenki hibázik a kérdés csak az, hogy milyen nagyot, milyen sűrűn és mennyire fontos dologban, de mindenki hibázik, és egy társadalom akkor kerül veszélybe ha hibázni nem szabad, mert akkor az emberek nem mernek kockázatot vállalni és ha nem vállalunk kockázatot akkor nincs fejlődés. Persze itt nem azt akarom mondani, hogy ne legyen felelőség, de a valóság azt mondja, hogy vigyázni kell mikor hívjuk elő, a másik oldalon meg van az a valóság, amely azt mondja, hogy ez mind csak elmélet, mert a legtöbb esetben valakinek a felelősége úgy van értelmezve, hogy mennyire nagy a hatalma és mennyire nagy a zsebe. Ha túl hatalmas akkor azért érinthetetlen, ha szükség van rá akkor azért ha meg nincs neki pénze akkor meg nem lehet róla semmit sem levenni... szóval a felelőségnek sok színe van.
  • virs lee
    #45
    Az olvasni nem tudás nem az orvos hibája, ahogy a beteg anyagi helyzete se.
  • BlackRose
    #44
    Csak az USA-ban évente néhányszázezer ember hal meg félrekezelés miatt, olykor a recepteket félreolvassák és nem megfelelő kezelést kap a beteg. Adjuk még ehhez, hogy sokszor a beteg nem kezeltetheti magát megfelelően, mert nincs anyagi fedezéke, ez meg a társadalom hibája, a politikusok a közösségek... Néhánytízezer folyamat van a bíróságokon, persze mind polgári per, mert az állami ügyészeknek esze águkban sincs ezzel foglalkozni, kivéve ha van gyanú, hogy nem véletlenségből történt a dolog. És még nálluk a legkisebb a baj (egyedül Svájc és Svédország áll egy picit jobban), úgyhogy ne gondoljuk, hogy a dokik hibátlanok, és még annyira se gondoljuk, hogy a hibáikért felelnek is. De különben aki dolgozik az téved is, a baj akkor baj ha valaki meghal, a többit ki lehet javítani.
  • virs lee
    #43
    Tévedés, a doki NEM teheti meg. Ha mellé nyúl, az gyilkosság. Ha egy programozó kúr el vmit, max leformázza a vinyódat. Ebbe nem halsz bele.
  • BlackRose
    #42
    Van olyan eset is amikor múzeumi peldány hardware, rajta GOTO telitett alkalmazás... és ragaszkodnak valami folyamthoz amelynek alapját egy Lotus 1-2-3 hypercomplex forma képezi, amelyben annyi a hiba (mert évek óta készítik százmilliószor bővitették, copy-paste a cellák aztán fele számolásnak se füle se farka...) és akkor mindez még olyan szép kis kérelemmel vegyesül, hogy az 1960-as evekbeli munkafolyamatot automatizálni szeretnék, de úgy, hogy teljessen megfeleljen a mai előirásoknak és még hatékonyan működjön, úgy, hogy a cég növelje versenyképességét, és, hogy ne felejtsem el, a mult héten olvasták, hogy most valami olyasmi a divat, amit webszolgáltatásnak neveznek és azt szeretnék, hogy a megoldás ilyen valami irányt vegyen... na én akkor szépen megkérdezem, hogy mennyivel vagyok adós a kávéért meg az ásványvízért és ... a többit már képzeljétek el. OO?
    Persze vannak pozitív peldák is ahol megértik, hogy semmi sem végérvényes, hogy minden változik, hogy tervezni kell, és ami legfontosabb, hogy kilenc nő nem szülhet egy hónap alatt gyereket...
  • BlackRose
    #41
    Az elméletben... viszont a valóságban ez nem így van. Ha így lenne, akkor nagyon sok ember vérezne, ugyanis a felelosök formálissan sokszor meg vannak nevezve, de ezt a felelőséget majdnem soha nem hivják elő. És ez így van az élet minden területén, a felelőség kinevezése nem azért lett kitalálva, hogy valaki feleljen a hibákért, hanem azért, hogy ezért az elméleti felelőségért több pénzt kapjon... na mindegy, a bíróságra csak olyan dolgok érkeznek amelyek az egyik félnek hasznot eredményeznek, legtöbbször a felelős személytől nincs mit legombolni, vagy ha van is a bizonyítási folyamat sokba kerül és ezért mindenki vaknak és süketnek teszi magát, kivéve egynéhány hangoskodót, de ezek álltalában nem is tehetnek semmit éppen azért is hangoskodnak. A valóságban minden 1000-ik hibáért felenek és akkor sem nem azért mert hiba volt, hanem azért mert valaki nyerhet a dologban.
  • pemga
    #40
    Engem azért érdekelne, hogy a fejlesztések hány százaléka OO :). Ha a rendszer régi akkor csak igen kevesen vállalják fel, hogy lecserélik egy újra.
  • assdf
    #39
    citkar: Ha jól tudom minden sejtben van egy olyan szekvencia ami az életkor előre haladtával egyre rövidül. Ennek a szekvenciának a hossza szabályozza azt hogy mennyi új sejt keletkezzen.Fiatal korban hosszabb ezért van az hogy a gyerekek örült ütemben nőnek, sokkal több új sejt keletkezik mint amennyi elpusztul, öreg korban pedig sokkal több pusztul el mint amennyi keletkezik.Olyan ez mint vmi beépitett visszaszámláló, ami egyébként is érdekes kérdéseket vet fel, ugyanis elméletileg ha ezt megállitanánk akkor nem öregedne az ember tovább, ergo "halhatlan" lenne, legalábbis a végelgyengülést tekintve.
  • assdf
    #38
    Ja és még elfelejtettem: a programozók bizony betartanak biztonsági alapelveket, például épp ezért találták fel annak idején az objektumorientált programozást. Például egy igy megirt programban az objektumok biztonságosan kezelik az adatokat egy másik objektum nem férhet ahhoz hozzá stb... és ennél már újabb modellek is vannak. De ezek csak azért felelnek hogy a programon belül helyesen müködjenek a folyamatok.De nincs az a módszer(a teljes tesztelésen kivül amikor mindenen megnézed ahogy #33 irta) amivel bárki is meg tudná előre mondani hogy két ilyen módon megirt program nem fog e összeakadni.Ha egy oprendszerre felteszel egy drivert, lehet hogy mindkettő jól van megirva, mégis előfordulhat hogy pl keletkezik egy biztonsági rés, amit senkise láthatott előre.
  • mrzed001
    #37
    És ezen felül a fejlesztői eszközökből illetve technológiákból is évente jön ki új, amit tanulhat meg szerencsétlen fejlesztő újra (jobb esetben egy régire alapul, rosszabb esetben totál új neki). Merthogy mindnek az oktatásra nem fogják elküldeni, az tuti .
  • assdf
    #36
    Szerintem az informatikát teljesen felesleges más szakmákhoz hasonlitani. Legföképp azért mert mondjon nekem vki még egy olyan szakmát ahol fél évente olyan új eszközök keletkeznek amik az előzők dupláját tudják, és gyakorlatilag évente lehet cserélni a hardwareket mert akkora a fejlődés üteme. Az összes összehasonlitás ott téved (épitész, orvos, gyógyszer stb...) hogy ezek mind egy viszonylag statikus dologra épülnek. A gyógyszergyártó cégek megtehetik hogy évegik kisérletezenek egy gyógyszerrel hogy kideritsék a mellékhatásokat, mert az emberek szervezete közben nem változik. Egy épitésznek nem kell attól tartania hogy eltünik a beton, vagy a tégla nyugodtan tervezhet egy épületet a meglévő anyagok tulajdonságainak pontos ismeretében mert azok mindig rendelkezésre állnak.Ezzel ellentétben ha vki tervez egy szoftvert annak támogatnia kell szinte hardware egységet, és nem tesztelhetik évekig hogy vajon jó e minden esetben, mert akkor mire kijönne már rég elavult lenne az a számitógép amire tervezték és az újakon meg nem müködne és igy tovább...
  • mrzed001
    #35
    Az öregedés egy beépített mechanizmus, és ha tudnám, hogy mitől van és hogy állíthatnám le, máris megkapnám a Nobel díjat :)
    Az orvos pedig kísérletez rajtad. Fáj a torkod, belenéz, azt mondja, hogy torokgyuszi (vagy tőled kenetet vesznek, és rögtön DNS-RNS vizsgálatnak veti alá, hogy meghatározza a pontos vírus-baktériumtörzset ???).
    Frászt, ad rá antibigyótikumot, hátha az segít (vagy azt se, mert a szervezet önjavító, tehát elpusztítja a betolakodót, és kijavítja az általa okozott károkat).
    Ha nem használ, úgyis visszajössz, hogy nem lettél jobban
  • citkar
    #34
    ez az önjavító dolog farnkón ahngzik,de akkor miért is halunk meg?
    nem megoldható mert variábolis az ember s nem etikus a teszt rajtunk
  • mrzed001
    #33
    Gondolod a fejlesztő szarakszik azzal, hogy kipróbálja IBM, HP, ... gépeken a progit, majd elkezdi összerakni a mindenféle sufniPC-ket, épphogy működő őrült konfigokat, ... és ezeken is megnézi, hogy szépen fut-e 1-1 hétig hiba nélkül, majd ezt követően dobja piacra. Hát LOL, vagy MEGALOL !

    Biológia órán meg vszínűleg hiányoztál a dedóból :p
  • pemga
    #32
    Szerinted ha egy autó felrobban, akkor kit kell felelősségre venni. Józsi bácsit a szalag mellől, vagy aki rosszul ellenőrizte v. tervezte? Annál a téves műtétnél kit rúgtak ki? Aki betolta a beteget a műtőbe. Mindenki tudta, hogy nem az ő hibája, senki nem nézte meg, nem ellenőrizte le, a főnővér is második hosszú műszakját nyomta, csak kellett egy bűnbak. A rendszer ettől nem javult meg, csak valakire ráhúzták a vizes lepedőt. A bűnbakkeresés nem oldja meg a problémákat, mitől változna meg a rendszer?

  • citkar
    #31
    tévedsz,TE nem ismered a drivert stb-t,de utána tudsz járni,ki tudod próbálni másik gépen,vagy már próbáltad

    de az emberi teströl,pszichiéröl még az ég világon senki sem tudna leírást adni,csak egy részéröl
  • Sir Quno Jedi
    #30
    És az a jobbik eset, ha csak leáll hibával.
  • mrzed001
    #29
    Tévedésben vagy, nem ismerjük. Minden gépben más a hardver, mindben más fejlesztette a driverét, és máshogy. Telepített valamit máris felkerült pár dolog a gépre/memóriába ...
    Az orvosok pedig kísérletezgetnek rajtad, megtehetik, hiszen a géppel ellentétben benned van önjavító mechanizmus (a progi meg a legkisebb hibára is leáll hibával)
  • citkar
    #28
    más kérdés h pontosan kire hárítsák a felelőséget s h a gyurcsány bácsinál sincs elvárás,különben az egész parlament kiürülne,meg elképzelhető lenne h vmikor tele lenne s nem újságot lapozgatnának odabenn
  • virs lee
    #27
    Egyet? Az összeset! Nagy-MAgyarország árfolyama egy fehér ló volt, lehet számolni, x milliárból hány ilyet vehetnénk. :D
  • citkar
    #26
    az a helyzet a számítógép hardware-es és software-es dolgai ismertek,hisz mi csináltuk

    egy orvos úgy nyúl bele egy ismeretlen testbe s lélekbe h nem is ismerjük,még renegteg új van benne,mégis felelős

    úgy választ gyóygszert h gyakorlatilag minden gyógyszer tud káros s hasznos lenni,egyszerre egy ugyanazon emberen,sőt szinte midnig van káros s hasznos hatása,mindig mérlegel érdemes e beadni s mikor mennyit stb...ennek ellenére h ennyi ismeretlen van s hatalams variábilitás felelős érte,mit is csinál,akár közel 20 év után is(volt rá példa) szóval hiába jön nekem akárhány programozó h neki szar,nem szívesen andék ki érte pénzt ha utána lehet h tele van hibákkal,amiket ma már nem kellene elkövetni(ennek bizony nehéz a felmérése) de az egészségügyben sem könnyebb,mégis megvannak a szintek amiket el kell érni s ez évröl évre változik
  • virs lee
    #25
    Pedig ezt kéne, akkor nem lenne szőlőtelepítés meg villaépítés!