» »

Nevarne programerske prakse

Nevarne programerske prakse

dudley ::

Pozdravljeni.

Kako pomagati programerjem, ki si pomoči ne želijo, pa bi bila tudi v njihovem res dobrem interesu? Denimo, da imamo programje, ki je s stališča varnosti zelo slabo, tipa zanimiva gesla v plain text-u.

Je v domovini kakšen etičen sistem prijave, razkritja?

dudley ::

Se mi zdi, da tema ni čisto nezanimiva in če je kriv manjko elokvence z moje strani, sori. Bom pozval še takole: ne rabim nasveta, kje naj zašpecam (predvidevam, da itak nimam kje). Zanimajo me mnenja, načelna stališča: izpeljava, pravo, koristnost ...

Utk ::

Moje načelno mnenje je, da pravno gledano, je najbolj koristno, da se brigaš za svoje delo in ne za druge. Če je to znotraj tvoje firme pa sploh.

dudley ::

Utk je izjavil:

Moje načelno mnenje je, da pravno gledano, je najbolj koristno, da se brigaš za svoje delo in ne za druge. Če je to znotraj tvoje firme pa sploh.
Zaposliš se kot sistemc v podjetju in ugotoviš, da za delovanje pomembnega software-a mora obstajati admin geslo za NT domeno prosto dostopno v plain text-u.

Ales ::

Eden od pravih naslovov za prijavo je SI-CERT.

Sicer pa je pohvalno (in edino pravilno), da se sprašuješ o načelnem in s pravom usklajenem pristopu. Na samem SI-CERT je nekaj dobrega gradiva na to temo, lahko začneš tudi s tem.

Preden s komerkoli deliš ugotovitve, dobro preuči vse aspekte zakonodaje.

p.s. offtopic...

S SI-CERT strani:

Naše spletno mesto uporablja funkcionalne in analitične piškotke Google Analytics z namenom spremljanja in izboljšanja spletnega mesta. Z nadaljnjim brskanjem po strani soglašate z namestitvijo piškotkov.

Ne me narobe razumet, na splošno imam dobro mnenje o fantih tam, ampak fak off no. Zakaj moramo siliti v idiokracijo še tam, kjer ni potrebe in kjer je dovolj znanja, da ni treba. Niste sposobni prebrati zakona in direktno ga kršite? Super. Ampak jebite se. :P

Tole so le dodali pod "Urejanje piškotkov" (in tako zmedeno napisali, da bog pomagaj):

Izklop analitičnih piškotkov

Onemogočenje končano: orodje za spletno analiziranje ne bo več beležilo vaših obiskov tega spletišča.
Če izbrišete vse piškotke ali piškotek za onemogočenje, zamenjate računalnik ali brskalnik, boste morali ponovno izvesti postopek onemogočenja. Trenutno je onemogočen piškotek Google Analytics, ki analizira spletni obisk.
Trenutno niste pridruženi. Kliknite tu za pristop


Mi zna kdo razložiti, zakaj mora SI-CERT deliti podatke z Googlom? Zakaj s faking Googlom, če ni prav nobene tehnične potrebe za tem? In to na način, ki direktno krši zakon?

Zgodovina sprememb…

  • spremenil: Ales ()

Utk ::

dudley je izjavil:

Utk je izjavil:

Moje načelno mnenje je, da pravno gledano, je najbolj koristno, da se brigaš za svoje delo in ne za druge. Če je to znotraj tvoje firme pa sploh.
Zaposliš se kot sistemc v podjetju in ugotoviš, da za delovanje pomembnega software-a mora obstajati admin geslo za NT domeno prosto dostopno v plain text-u.

To rešiš s temi, ki so naredili ta sw. S kom bi pa drugim lahko?

dudley ::

@Ales
Tnx. Kalikor sem preletel, moram še skrbno prebrati, zakonodajalec ni imel ravno v mislih slabega sofware-a, ko je tole pisal. Imam težave pri preslikavi na to problematiko.

@Utk
Lahko je ključna beseda. Včasih peresno.

Ales ::

dudley je izjavil:

@Ales
Tnx. Kalikor sem preletel, moram še skrbno prebrati, zakonodajalec ni imel ravno v mislih slabega sofware-a, ko je tole pisal. Imam težave pri preslikavi na to problematiko.
Imaš verjetno prav, ko sem pisal svoj odgovor še nisem prebral tega o zaposlitvi in plain text admin geslih na delovnem mestu in sem morda narobe razumel srž problematike. Ampak vseeno zna biti dobro izhodišče za nadaljnjo raziskavo. Sploh če potencialna ranljivost v vašem SW lahko prizadane širši krog ljudi, ne le ozko poslovanje podjetja.

Utk ::

Si jih opozoril pa ne reagirajo? Slovenci ali tujci? Pazi kam koga prijavljaš, da ne bo firma ostala v prekršku, sw pa tako nujen, da ga ne more zamenjat. Ker tvoja firma bo nastradala, če kaj uide, ne softwarska.

dudley ::

@Ales
V vsakem primeru moram skrbno prebrati. Pravzaprav bi to moral že prej.

@Utk
Ne rešujemo konkretnega primera. Vsak v poslu, ne glede na kateri strani problema je, je videl že boga in tri četrt čudnega, pa razlogov in izgovorov tudi nekaj.

Utk je izjavil:

Ker tvoja firma bo nastradala, če kaj uide, ne softwarska.

Jap, to bi lahko bil scenarij. Mogoče bi ravno zato zalegelo opozorilo avtoritete.

Zgodovina sprememb…

  • spremenilo: dudley ()

Utk ::

Ja, ampak zmeraj se rešuje konkretne situacije. Če ti kupuješ sw, težiš njim, če ga delaš ti, sam delaš prav, v sodelavce se pa ne vtikaš.

SeMiNeSanja ::

No, zelo odvisno je tudi od tipa podjetja. V malem podjetju boš vzel telefon v roke in nahrulil izdelovalca softw. (če je tudi ta neko malo mikro podjetje).

Večja ko sta akterja na eni in drugi strani, bolj se spremenijo postopki. Lahko se pogovoriš z direktorjem, razložiš težavo in skupaj dogovorita nadalne postopke. V še večjem podjetju boš imel nad seboj šefa IT, ki bi se moral z njim izmenjati glede takega problema, ta pa po potrebi morda celo z pravno službo.

Skratka ni nekega splošnega recepta. V vsaki obliki organizacije je treba najti metodo, ki 'deluje' za dosego cilja.

Matek ::

Utk je izjavil:

Če ga delaš ti, sam delaš prav, v sodelavce se pa ne vtikaš.
Kot prvo je v normalnih pogojih to neizvedljivo. Koda, ki jo pozna samo ena oseba, je tveganje za podjetje, proti kateremu se bori z rednimi code reviewji, pair programmingom in podobnimi praksami. Tako da če nimate codebasea razdeljnega po mapcah za vsakega developerja posebej, ne razumem, kako ti uspe obenem delati prav in se ne vtikati v sodelavce.

Kot drugo pa je ignoriranje očitnih napak ostalih neodgovorno in malomarno početje. A če bi bil mesar in si tvoj sodelavec ne bi umival rok, bi tudi rekel "Ah, jaz si jih bom umil, v druge se pa ne bom vtikal"?
Bolje ispasti glup nego iz aviona.

Utk ::

Če je to neka stvar iz zgodovine, omeniš šefu, da bi to treba spremenit, jasno, če je pa to ravnokar nekdo naredil, pa je to najbrž odobril nekdo nad tabo. In kaj imaš potem ti s tem? Boš reku, da ni potrebe po tem, poznaš vse podrobnosti zakaj je tako, boš delal svoje delo in še tuje, od sodelavca in šefa? Veš kaj ti bo šef reku ali si pa vsaj mislil? A nimaš ti svojega dela dost? In ti naložil še malo več. Dokler več res ne boš imel časa za tuje skrbi. Sej, dokler je to kjerkoli znotraj tvojega dela, se boriš proti. Ampak izven tega se pa neha.

Zgodovina sprememb…

  • spremenil: Utk ()

dudley ::

Notranjega scenarija sicer ne izključujem, ampak za praktično rabo bi prej rekel, da se ne bi pogovarjali o Snowden scenariju, bolj sodelavec ne plačuje svojega deleža za malico scenariju, kar je brezveze. Izkušnje s prepričevanjem pa so seveda dobrodošle.

Sicer pa se spomnim zgolj enega primera, tistega z NLB, ampak je tudi ta bil bolj geografsko, kot etično korektno izpeljan - z veselico na sodišču.

jukoz ::

V googla vpišite "principles for a strong nuclear safety culture":

1. Everyone is personally responsible for nuclear safety.
2. Leaders demonstrate commitment to safety.
3. Trust permeates the organization.
4. Decision-making reflects safety first.
5. Nuclear technology is recognized as special and unique.
6. A questioning attitude is cultivated.
7. Organizational learning is embraced.
8. Nuclear safety undergoes constant examination.

Zamenjajte "nuclear" s čimerkoli se že ukvarjate in imate rešitev.
To je treba forsirati v celem podjetju, za vse dele/oddelke podjetja.

Niso samo v kodi uporabljene raznorazne bližnjice, tudi povsod drugje - v računovodstvu, logistiki, kadrovski, ... povsod.

Če se bližnjice uporabljajo, jih je potrebno jasno razkriti in povedati zakaj se uporabljajo in kdaj (če sploh) se jih da odpraviti.
Če se taka kultura ne forsira gre samo na slabše.

Zgodovina sprememb…

  • spremenilo: jukoz ()

Matek ::

Utk je izjavil:

Če je to neka stvar iz zgodovine, omeniš šefu, da bi to treba spremenit, jasno, če je pa to ravnokar nekdo naredil, pa je to najbrž odobril nekdo nad tabo. In kaj imaš potem ti s tem? Boš reku, da ni potrebe po tem, poznaš vse podrobnosti zakaj je tako, boš delal svoje delo in še tuje, od sodelavca in šefa? Veš kaj ti bo šef reku ali si pa vsaj mislil? A nimaš ti svojega dela dost? In ti naložil še malo več. Dokler več res ne boš imel časa za tuje skrbi. Sej, dokler je to kjerkoli znotraj tvojega dela, se boriš proti. Ampak izven tega se pa neha.
Če nekdo da plaintext geslo v bazo, tega verjetno nadrejeni ni eksplicitno odobril. Nadrejeni je samo rekel "implementirajte sistem za prijavo uporabnikov" in tvoj sodelavec je naredil slabo implementacijo. Ti imaš dosti s tem, ker si soavtor aplikacije. Ko boš iskal naslednjo službo in ti bodo rekli "U, a ti si prej delal na CyberSpaceCorpu? Vam je ušla baza plaintext gesel, ane?" jim boš odgovoril kaj? Da nisi ti implementiral logina?
Bolje ispasti glup nego iz aviona.

jype ::

dudley je izjavil:

Kako pomagati programerjem, ki si pomoči ne želijo, pa bi bila tudi v njihovem res dobrem interesu? Denimo, da imamo programje, ki je s stališča varnosti zelo slabo, tipa zanimiva gesla v plain text-u.
S tem je kriza. Še če si zaposlen tam, kjer počnejo neumnosti, je pogosto težko ukrepati. Če nisi, si skoraj zagotovo nakoplješ težave, ker ima Slovenija na tem področju strahotno zastarelo zakonodajo.

Utk ::

Vam je ušla baza plaintext gesel, ane?" jim boš odgovoril kaj? Da nisi ti implementiral logina?

Kaj pa drugega?

Če nekdo da plaintext geslo v bazo, tega verjetno nadrejeni ni eksplicitno odobril.

Če ni eksplicitno, je pa implicitno. Sej ok, komot omeniš to kje mimogrede, če misliš da je to neka skrivnost samo tistega, ki je to naredil. Ampak ponavadi ni.
Nikomur ni problem naredit kak klic funkcije več pa da ni plaintext. Ampak ponavadi ravno šef hoče neko funkcionalnost za katero pa rabiš plaintext. Kdo je potem kriv? A si ti v položaju da določaš funkcionalnost? Če si, si kriv, če ne, pač ne. Niti tist, ki je to naredil.

Zgodovina sprememb…

  • spremenil: Utk ()

Matek ::

Utk je izjavil:

Če ni eksplicitno, je pa implicitno. Sej ok, komot omeniš to kje mimogrede, če misliš da je to neka skrivnost samo tistega, ki je to naredil. Ampak ponavadi ni.
Nikomur ni problem naredit kak klic funkcije več pa da ni plaintext. Ampak ponavadi ravno šef hoče neko funkcionalnost za katero pa rabiš plaintext. Kdo je potem kriv? A si ti v položaju da določaš funkcionalnost? Če si, si kriv, če ne, pač ne. Niti tist, ki je to naredil.
Torej če šef gostilne zahteva, da se na isti deski reže surovega piščanca in solato, ker je to hitreje, bi ti kot kuhar to naredil, čeprav ti je povsem jasno, da to ne ustreza higienskim standardom?
Bolje ispasti glup nego iz aviona.

Utk ::

No, najprej bi odprl temo na slo-techu.
Če misliš da je to isto, in če šef to zahteva tudi če pozna možne posledice, imaš samo dve možnosti. Ali narediš ali pa iščeš drugo službo, če te motijo take stvari. Ampak se bojim, da takim moralnim avtoritetam hitro zmanjka služb...
Ni pa treba pretiravat. Nihče ne bo umrl zarad plaintext gesla.

Zgodovina sprememb…

  • spremenil: Utk ()

Matek ::

To, da šef pozna možne posledice, je predpostavka. Morda jih ne in potrebuje nekoga, kot si ti, da ga poduči o tem.

Pa tudi glede dveh opcij se pa ne strinjam povsem. Imaš tretjo možnost - povsem človeško opozarjati na probleme. Lahko poveš, da gre za tveganje za podjetje - v primeru vdora bo to obupna antireklama, v primeru inšpekcije lahko fašete kazen po GDPR-u ipd.
Bolje ispasti glup nego iz aviona.

Utk ::

Ko šef predlaga nekaj za kar se zahteva plaintext, razložiš zakaj to ni dobra ideja. Jasno. To bi menda naredil vsak. Če vztraja, pa pač vztraja...Sej ne boš ti plačal kazni.

s1ck ::

Utk je izjavil:

Ni pa treba pretiravat. Nihče ne bo umrl zarad plaintext gesla.


Potem se pa najdejo osebki na forumih, ki jokajo da so nesposobnezi v teh podjetjih, da ne znajo podatke obvarovat, ko se zgodi vdor. Ne jokat, ce se strinjate s takimi pogoji shranjevanja.

Matek ::

Utk je izjavil:

Ko šef predlaga nekaj za kar se zahteva plaintext, razložiš zakaj to ni dobra ideja. Jasno. To bi menda naredil vsak. Če vztraja, pa pač vztraja...Sej ne boš ti plačal kazni.
Si ziher? V primeru gostilne jo bosta oba, je zakon tako napisan. Vprašanje, kaj bi se zgodilo v primeru resnega sranja za firmo. Imaš dokaze, da si predlagal spremembo in so jo zavrnili? Komot se prevali del krivde nate - pri Dieselgateu so šli recimo tudi programerji v zapor.
Bolje ispasti glup nego iz aviona.

Zgodovina sprememb…

  • spremenil: Matek ()

HotBurek ::

Denimo, da imamo programje, ki je s stališča varnosti zelo slabo, tipa zanimiva gesla v plain text-u.

Potrebuješ osebo, ki pozna področje (ne)varnosti in sodeluje pri izdelavi dokumentacije za program/funkcijo.

Ko je program končan, se naredi review, če program deluje tako, kot je bilo navedeno v dokumentaciji.


Vse, kar potrebuješ, je del dokumentacije namenjene varnosti programa, kjer opišeš npr.:
- sql injection; kako se temu izognit (uporaba parametrov, check input)
- sql permissions; katere pravice ima user, katerega uporablja program, za dostop do baze (klasično kar sa account)
- user/pass input; kako se bo preverjalo input (kateri so dovoljeni znaki)
- pass storage; shranjevanje gesla v zgoščeni obliki (po možnosti + salt)
- session cookie; kateri podatki so v session cookiju (tako, da ni notri plaintext user/pass/id in podobno)


Ter potem proces, kako in kdo bo to na končnem produktu preveril. Lahko predlagaš, da sam dopolniš dokumentacijo.
root@debian:/# iptraf-ng
fatal: This program requires a screen size of at least 80 columns by 24 lines
Please resize your window

Utk ::

Matek je izjavil:

Utk je izjavil:

Ko šef predlaga nekaj za kar se zahteva plaintext, razložiš zakaj to ni dobra ideja. Jasno. To bi menda naredil vsak. Če vztraja, pa pač vztraja...Sej ne boš ti plačal kazni.
Si ziher? V primeru gostilne jo bosta oba, je zakon tako napisan. Vprašanje, kaj bi se zgodilo v primeru resnega sranja za firmo. Imaš dokaze, da si predlagal spremembo in so jo zavrnili? Komot se prevali del krivde nate - pri Dieselgateu so šli recimo tudi programerji v zapor.

Naslov teme je "nevarne prakse". Ne pa "nezakonite". Čeprav princip je isti. Če si svoje naredil, se nimaš česa bat. Če nočeš bit del tega, greš drugam.

s1ck je izjavil:

Utk je izjavil:

Ni pa treba pretiravat. Nihče ne bo umrl zarad plaintext gesla.


Potem se pa najdejo osebki na forumih, ki jokajo da so nesposobnezi v teh podjetjih, da ne znajo podatke obvarovat, ko se zgodi vdor. Ne jokat, ce se strinjate s takimi pogoji shranjevanja.

Jasno da so. Ampak tisti, ki odločajo o tem, ne tisti, ki naredijo tako kot je blo odločeno. Vsak naj dela svoje delo in zanj odgovarja. Če hočeš ti popravljat in odgovarjat za šefove in sodelavčeve napake, vzemi še njihovo plačo. Če ne, te naj ne briga.

Zgodovina sprememb…

  • spremenil: Utk ()

dudley ::

jype je izjavil:

dudley je izjavil:

Kako pomagati programerjem, ki si pomoči ne želijo, pa bi bila tudi v njihovem res dobrem interesu? Denimo, da imamo programje, ki je s stališča varnosti zelo slabo, tipa zanimiva gesla v plain text-u.
S tem je kriza. Še če si zaposlen tam, kjer počnejo neumnosti, je pogosto težko ukrepati. Če nisi, si skoraj zagotovo nakoplješ težave, ker ima Slovenija na tem področju strahotno zastarelo zakonodajo.

Kupim program, prav mi je, in na tem portalu odprem temo z naslovom: Šokantno!! in vsebino: SuperProgram10Server, Superkode d. o. o., uporablja odprto share mapo, kjer je v tiskalniki.txt datoteki napisano domain admin geslo, ki se ga uporabi za namestitev tiskalnika ob zagonu programa SuperProgram10Client, ker tako pač pri vseh strankah dela BP in je pomembno, da imajo vsi isto različico gonilnika.

Kako strahotna je lahko z mano zastarela zakonodaja?


Khm, primer je izmišljen.

Zgodovina sprememb…

  • spremenilo: dudley ()

Invictus ::

Kaj ima zakonodaja veze z gonilniki za tiskalnik in kje so shranjena gesla ?!?!?!
"Life is hard; it's even harder when you're stupid."

http://goo.gl/2YuS2x

Matek ::

Utk je izjavil:

Naslov teme je "nevarne prakse". Ne pa "nezakonite".
Huh, plaintext passwordi v bazi bi znali biti po GDPRu celo nezakoniti.

Utk je izjavil:

Čeprav princip je isti. Če si svoje naredil, se nimaš česa bat.
No, tu se strinjava, razlika je zgolj v razumevanju tega, kako daleč sega "narediti svoje". IMHO vključuje izpostavljanje in popravljanje napak, ki jih nisi sam ustvaril.

Utk je izjavil:

Jasno da so. Ampak tisti, ki odločajo o tem, ne tisti, ki naredijo tako kot je blo odločeno. Vsak naj dela svoje delo in zanj odgovarja.
Če so zadaj realne življenjske posledice, nosiš moralno odgovornost. Nočem biti preveč patetičen s temi primerjavami z zdravniki in piloti, ampak softver se danes zažira globoko v naša življenja in napake lahko prinesejo povsem oprijemljive posledice. A boš imel res čisto vest, ko bodo nekomu izpraznili bančni račun ali ukradli identiteto? Boš skomignil z rameni in rekel "samo sledil sem šefovim navodilom"?
Bolje ispasti glup nego iz aviona.

Utk ::

Huh, plaintext passwordi v bazi bi znali biti po GDPRu celo nezakoniti.

GDPR ne gre tako globoko. A plaintext password spravljen v sefu firme je zakonit?

IMHO vključuje izpostavljanje in popravljanje napak, ki jih nisi sam ustvaril.

Po moje pa da ne.

Če so zadaj realne življenjske posledice, nosiš moralno odgovornost. Nočem biti preveč patetičen s temi primerjavami z zdravniki in piloti, ampak softver se danes zažira globoko v naša življenja in napake lahko prinesejo povsem oprijemljive posledice. A boš imel res čisto vest, ko bodo nekomu izpraznili bančni račun ali ukradli identiteto? Boš skomignil z rameni in rekel "samo sledil sem šefovim navodilom"?

Da. Ker on je pokasiral pol mio za ta posel, ne jaz.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Nekdanji Facebookov menedžer: Zuckerbergove odločitve niso naključje!

Oddelek: Novice / NWO
55235 (3335) bbf
»

Na internet pobegnilo 773 milijonov elektronskih naslovov in gesel (strani: 1 2 )

Oddelek: Novice / Zasebnost
5919223 (13032) MrStein
»

EnaA in njihov katastrofalni sistem za odjavo od spam-a (strani: 1 2 )

Oddelek: Informacijska varnost
6713595 (9720) fosil
»

Francija prepoveduje zgoščeno obliko gesel

Oddelek: Novice / Zasebnost
2910766 (8334) SkipEU
»

Analiza slovenskih gesel

Oddelek: Novice / Zasebnost
3912020 (9958) BlueRunner

Več podobnih tem