Oracle želi da im prestanete slati bugove - evo zašto je to ludo

  • Michael Cain
  • 0
  • 3072
  • 750
Oglas

Oracle je ovog tjedna u vrućoj vodi zbog postova na blogu koji je napisala njihova šefica sigurnosti Mary Davidson. Iako obuhvaća niz tema, post se uglavnom odnosi na praksu prijavljivanja Oracle-a o mogućim sigurnosnim ugroženjima. Konkretno, zašto ne biste trebali.

“Nedavno sam vidio velik napredak u kupcima koji obrnuto rade svoj kod kako bi pokušali pronaći sigurnosne ranjivosti u njemu. Zbog toga sam napisao puno pisama kupcima koja počinju “bok, howzit, aloha” ali završi sa “molimo vas da se pridržavate licencnog ugovora i prestanite unazad inženjering našeg koda.”

Davidson objašnjava da je sve veći broj klijenata koji se bave sigurnošću i koji obrnuto rade na Oracle softveru koji traže sigurnosne ranjivosti (ili zapošljavaju savjetnike da to urade umjesto njih). Davidson optužuje ove klijente da krše ugovore o licenci, da nisu poduzeli lažne sigurnosne mjere opreza, da pokušavaju obavljati posao tvrtke Oracle i da su uglavnom loši ljudi. Ako je kupac otkrio pravu ranjivost, Oracle će je popraviti.

“Gotovo ne volim odgovoriti na ovo pitanje jer želim ponoviti da kupci ne bi trebali i ne smiju obrnuti svoj kod. […] Nećemo kupcu prijaviti takav problem (koji je pronašao obrnutim inženjeringom) posebnu (jednokratnu) zakrpu za problem. Također nećemo pružiti kredit u bilo kojem savjetu koji bismo ga mogli izdati. Ne možeš stvarno očekivati ​​da ćemo to reći “hvala što ste prekršili licenčni ugovor.””

Ovo je uspjelo ne ako se dobro zabavite u sigurnosnoj zajednici, i post je brzo oduzet - premda ne prije nego što je stvorio novi hashtag Hashtag aktivizam: #napostojan ili #postojan? Hashtag aktivizam: #moćan ili #pokazan? #BringBackOurGirls, #ICantBreathe i #BlackLivesMatter u posljednjih su godinu dana vidjeli široku međunarodnu pokrivenost - ali jesu li hashtagovi učinkovito sredstvo aktivizma? .

"Prvo provjerite Enigmu EULA", rekao je Alan Turing. #oraclefanfic

- Thorsten Sick (@ThorstenSick) 11. kolovoza 2015

Ali, ako niste upoznati sa svijetom sigurnosti, možda nije očito zašto je izvorni post toliko pogrešan. Dakle, danas ćemo razgovarati o tome gdje se Oracle-ova filozofija sigurnosti odmiče od glavnog toka i zašto je to problem.

Objašnjenje kontroverze

Dakle, što je zapravo obrnuti inženjering i zašto se Davidson toliko brine zbog toga? Kad Oracle izda dio softvera, oni zapravo “sastaviti” njihov unutarnji izvorni kod u izvršne datoteke, a zatim te datoteke isporučuju kupcima. Kompilacija je proces koji prevodi ljudski čitljiv kôd (na jezike poput C ++ 3 web stranice za početak učenja s programskim jezikom C ++ 3 Web stranice za početak učenja C ++ Programski jezik Učenje programa može biti teško za mnoge, čak i s relativno laganim programskim jezicima Iako je Java lakša za početak (gdje ovdje imamo brojne članke na MakeUseOf za Javu, kao i ...), na gušći binarni jezik koji se može uvesti izravno u računalni procesor.

Oracle izvorni kod nije javno. Ovaj je cilj drugima otežati krađu intelektualnog vlasništva. Međutim, to također znači da je klijentima vrlo teško provjeriti je li kôd siguran. Tu igra 'dekompilacija'. U osnovi, de-kompilacija prevodi u drugom smjeru, pretvarajući izvršne datoteke natrag u ljudski čitljiv kôd. To ne isporučuje točno originalni izvorni kod, ali donosi kod koji funkcionira na isti način - premda je to često teško pročitati, zbog gubitka komentara i organizacijske strukture.

Ovo je “obrnuti inženjering” na koje se Davidson odnosi. Oracle je protiv toga jer smatraju da bi time ugrožio njihovo intelektualno vlasništvo. To je barem malo glupo, jer je korištenje licencnog ugovora za zabranu krađe IP-a malo nalik korištenju strogog i kratkog okvira za sprečavanje upada u kuću. Vrste ljudi koji će pokušati klonirati vaše proizvode ne zanimaju licenčne ugovore. 4 načina jednostavnijeg čitanja i razumijevanja ugovora o licenciranju za krajnjeg korisnika (EULA) 4 načina čitanja i razumijevanja licencnog ugovora s krajnjim korisnikom (EULA) Lakše EULA-ove ili ugovori o licenci za krajnjeg korisnika jedno su od zla modernog života. To su beskrajno složeni sporazumi, obično napisani sitnim tiskom. To su stvari koje se slijepo pomičete prema dolje, tražeći tu prokletu ..., a često nisu ni u jurisdikcijama gdje biste te sporazume mogli provesti u svakom slučaju.

Čovječanstvo je osuđeno na smrt ... #oraclefanfic #justoraclethings pic.twitter.com/e6MOZzkkvq

- CyberAnarchist (@ Cyb3rOps) 12. kolovoza 2015

Pravila stvarno utječu samo na zakonite kupce. Situacija je slična onoj u videoigri DRM 6 Mjesta za kupnju igara bez DRM-a [MUO Gaming] 6 mjesta za kupnju igara bez DRM-a [MUO Gaming] Budući da sam odlučio ne kupiti igre od Steam-a, moram pronaći druge izvori. Mnogi od njih su zapravo gori od samog Steam-a. Ubisoft trgovina je zbunjujuća i prepuna dosadnog DRM-a. Electronic Art je…, ali nekako još neučinkovitiji.

Zašto bi kupci željeli dekompilirati ove izvršne datoteke? Sve je u pitanju sigurnosti. Pristup izvornom kodu omogućuje vam da kopate po njemu tražeći pogreške i potencijalne probleme. Često se to događa pomoću softvera koji izvodi “statička analiza koda” - automatizirano čitanje koda, koje identificira poznate pogreške i opasne softverske prakse koje teže dovode do grešaka. Iako postoje alati koji izravno analiziraju izvršnu datoteku, dekompaliranjem ona omogućuje općenito dublje analize. Ova vrsta statičke analize standardni je alat trgovine sigurnošću, a većina sigurnosnih tvrtki koristi takav softver interno za proizvodnju koda za koji je manje vjerojatno da sadrži ozbiljne pogreške.

Oracleova politika za ovakvu vrstu analiza je jednostavno “nemoj.” Zašto? Pustit ću Davidsona da objasni.

“Kupac ne može analizirati kôd da vidi postoji li kontrola koja sprečava napad na koji alat za skeniranje vrišti (što je najvjerojatnije lažno pozitivno) […] Sada, moram napomenuti da ne prihvaćamo samo skeniranje izvješća kao “dokaz da postoji, tamo,” dijelom zato što govorite li o statičkoj ili dinamičkoj analizi, izvješće o skeniranju nije dokaz stvarne ranjivosti. […] Oh, i zahtijevamo od kupaca / konzultanata da unište rezultate takvog obrnutog inženjeringa i potvrde da su to učinili.”

Drugim riječima, alat koji otkriva rezultate nije dokaz stvarne pogreške - i, budući da Oracle te alate koristi interno, nema smisla da ih kupci samostalno pokreću..

Veliki problem s tim je što ti alati za statičku analizu koda ne postoje samo kako bi privukli bugove. Oni bi također trebali služiti kao meta za kvalitetu i sigurnost koda. Ako bacate Oracle bazu koda u industrijski standardni alat za statičku analizu i on ispljune stotine stranica, to je stvarno loš znak.

Ispravan odgovor, kada alat za analizu statičkog koda vrati problem, nije gledati problem i reći "oh, ne, to ne uzrokuje pogrešku jer je takav i takav." Ispravan je odgovor da uđete i riješite problem. Stvari označene alatima za analizu statičkog koda obično su općenito loša praksa, a vaša sposobnost da utvrdite da li neki problem zapravo uzrokuje pogrešku je pogrešna. Preko tisuće problema propustit ćete stvari. Bolje vam je da takve stvari u svojoj bazi kodova uopće nemate.

Evo Cul Oculus John Carmack pjevajući pohvale ovih alata iz svog vremena na iD Software. (Ozbiljno, pročitajte cijeli esej, zanimljive su stvari).

“Imali smo razdoblje u kojem je jedan projekt slučajno isključio mogućnost statičke analize nekoliko mjeseci, a kad sam to primijetio i ponovno omogućio, došlo je do gomile novih pogrešaka koje su u međuvremenu uvedene. […] To su bile demonstracije da su normalne razvojne operacije kontinuirano stvarale ove klase pogrešaka, a [statička analiza koda] učinkovito nas je štitila od mnogih njih.”

Ukratko, vjerovatno je da mnogi Oracleovi kupci nisu nužno pokušavali prijaviti određene bugove - pitali su ih zašto su Oracleove metode kodiranja toliko loše da je njihova baza kodova bila prepuna tisuća i tisuća izdanja, toliko osnovnih da bi ih se moglo izabrati automatiziranim softverom.

Još sam tužna što Sunca nema. A tko je bio genij koji ih je prodao Oracleu? To je poput puštanja Darth Vadera da čuva djecu.

- Brad Neuberg (@bradneuberg) 15. kolovoza 2015

Sigurnost naljepnicama

Pa, što bi trebali učiniti korisnici koji brinu o sigurnosti, umjesto da se koriste alatima za statičku analizu? Srećom, Davidsonov blog blog bio je izuzetno detaljan na tu temu. Osim što zagovara opće osnovne sigurnosne prakse, ona daje konkretne prijedloge za one koji su zabrinuti zbog sigurnosti softvera koji koriste.

“[T] ovdje se može dogoditi puno stvari poput kupca, zapravo razgovarati s dobavljačima o svojim programima uvjeravanja ili provjeriti certifikate za proizvode za koje postoje pečati dobre kućanske usluge (ili “dobar kod” pečate) poput certifikata po uobičajenim kriterijima ili potvrde FIPS-140. Većina dobavljača - barem većina velikih poduzeća koje poznajem - sada ima prilično robusne programe uvjeravanja (to znamo jer svi uspoređujemo bilješke na konferencijama).”

Ovo je užasavajući odgovor organizacije velike kao što je Oracle. Sigurnost računala je polje koje se brzo razvija. Stalno se pronalaze nove ranjivosti, a formaliziranje sigurnosnih zahtjeva u certifikate koji se ažurira svakih nekoliko godina apsurdno je. Sigurnost nije naljepnica. Ako vjerujete da je komad ključnog softvera siguran na temelju pečata na ambalaži, postajete neodgovorno glupi.

Pakao, alati za statičku analizu ažuriraju se mnogo češće nego što to čine u nekim slučajevima i svakodnevno - te eliminiraju sva pitanja koja nastanu još nije dovoljno da biste imali puno povjerenja u sigurnost vašeg koda, jer je većina ranjivosti previše složeno da bi se otkrilo pomoću ove vrste automatiziranih alata.

Jedini način da imate povjerenja u vlastitu sigurnost jest izložiti svoj kôd svijetu i zamoliti hakere da ga pokušaju razbiti. Ovako djeluje većina većih softverskih tvrtki: ako nađete problem s njihovim kodom, neće vam svraćati snažno zbog kršenja ugovora o korištenju. Platit će vam novac. Žele da se ljudi cijelo vrijeme trude da im pokvari softver. To je jedini način na koji mogu imati povjerenja da je njihov kôd uopće siguran.

Ti se programi nazivaju “bug nagrada” programima i oni su najbolja stvar koja se dogodi dugogodišnjoj sigurnosti na razini poduzeća. Oni su, slučajno, nešto o čemu Davidson ima prilično jaka mišljenja.

“Bug bounties su novi dječački bend (lijepo aliterativni, zar ne?) Mnoge tvrtke vrište, onesviještaju se i bacaju rublje istraživačima sigurnosti […] kako bi pronašli probleme u svom kodu i inzistirali na tome da je to način, idite u to: ako želite ne rade buntove, vaš kôd nije siguran.

Ah, dobro, sami pronalazimo 87% sigurnosnih ranjivosti, sigurnosni istraživači nalaze oko 3%, a ostatak pronalaze kupci. […] Ne odbacujem neljubave bugova, samo napominjem da na strogo ekonomskoj osnovi, zašto bih bacio puno novca na 3% problema.”

Za početak, na temelju rezultata tih statičkih analiza, moglo bi se pokazati da je puno više od 3% ako ste ih platili. Ali odstupam. Prava poanta je sljedeća: buntovi buba nisu za vas, oni su za nas. Možete li efikasnije pronaći bugove ako ste isti novac potrošili na interne stručnjake za sigurnost? Pa, vjerojatno ne - ali hajde da bacimo Oracleu kost i pretpostavimo da mogu. Međutim, također su mogli uzeti novac, uplatiti ga i onda apsolutno ništa. Ako je rezultirajuća sigurnost pod-par, kupci će saznati za to tek od sada kada njihovi brojevi socijalnog osiguranja misteriozno završe na dubokom webu Kako pronaći aktivne .Onion Dark Web stranice (i zašto to možda želite) Kako Pronađite aktivne .Onion mračne web stranice (i zašto to možda želite) Mračni web, dijelom, sastoji se od .onion web-lokacija koje se nalaze u Tor mreži. Kako ih pronalazite i gdje krenuti? Prati me… .

"Nema ranjivosti. EULA tako kaže." #oraclefanfic pic.twitter.com/cUfafDCWbv

- Schuyler St. Leger (@DocProfSky) 11. kolovoza 2015

Brojevi bugova postoje upola jer su zaista učinkovit način prepoznavanja grešaka, a pola jer su oblik sigurnosti koji ne možete lažirati. Nagrada za programsku pogrešku vjerodostojno poručuje svijetu da je bilo koji bug koji ostane u kodu skuplji od navedenog unosa.

Ogrlice buba ne postoje radi vaše udobnosti, Oracle, postoje jer vam ne vjerujemo.

Niti bismo trebali! Mnoštvo velikih tvrtki dopušta da sigurnost propadne, jer brojne mega-kršenja cilja potvrđuju i do 40 milijuna američkih kreditnih kartica potencijalno hakiranih ciljeva potvrđuje i do 40 milijuna američkih kreditnih kartica za potencijalno hakirane ciljeve upravo je potvrdilo da bi hack mogao biti ugrožen. Podaci o kreditnoj kartici za do 40 milijuna kupaca koji su se prodavali u njezinim prodavaonicama u SAD-u u periodu od 27. studenog do 15. prosinca 2013., pokazuju previše jasno. Vi ste drugi najveći proizvođač softvera na svijetu. Apsurdno je tražiti od nas da vam uzmemo samo riječi da su vaši proizvodi sigurni.

Što Davidson dobiva dobro

Pošteno prema Davidsonu, postoje elementi koji su razumljivi u kontekstu. Vjerojatno se mnogi njihovi klijenti upuste u ambiciozne revizije Oracleovog koda, a da pritom ne odvoje vrijeme kako bi uklonili više svjetovnih sigurnosnih pitanja iz svojih sustava..

“Napredne uporne prijetnje” - kvalificirane hakerske organizacije koje pokušavaju dobiti pristup određenim organizacijama za krađu podataka - svakako su zastrašujući, ali po broju su puno manje opasni od milijuna oportunističkih amaterskih hakera s automatiziranim alatima. Provođenje ovakvih statičkih analiza komercijalnog softvera kada niste usvojili osnovne sigurnosne mjere je puno poput instaliranja sobe za paniku kada još nemate zaključavanje na ulaznim vratima.

Isto tako, vjerojatno je zastrašujuće i beskorisno iznova i iznova i iznova dobivati ​​iste automatizirane analize.

Međutim, uzeta u cjelini, članak otkriva neke ozbiljno zastarjele ideje o sigurnosti sustava i odnosu između programera i kupaca. Cijenim da je Davidsonov posao frustrirajući, ali korisnici nisu na putu da provjere sigurnost softvera koji koriste nisu problem. Evo predsjednice Sigurnosne svijesti, Ira Winkler na to:

“Oracle je vrlo velika i bogata tvrtka, s proizvodima koji se široko distribuiraju i koriste za kritične aplikacije. Razdoblje. Oni su odgovorni za to da njihov softver učine što jačim […] Možda postoji puno lažnih pozitivnih rezultata i s tim povezanih troškova, ali to je faktor [njihove prodaje] puno softvera koji ima puno korisnika. To je trošak poslovanja. Siguran sam da sve softverske tvrtke imaju iste lažno pozitivne izvještaje. Ne čujem Microsoft et al. gunđanje.”

Ako Oracle ne želi nastaviti primati tisuće problema pronađenih statičkim sigurnosnim alatima, možda bi i trebali popraviti tih tisuća izdanja. Ako ih nerviraju ljudi koji se iznova i iznova vraćaju u iste non-bugove, možda bi trebali imati odgovarajući program za stvaranje bugova koji ima mehanizme za rješavanje ponovljenih prijava ne-pitanja. Oracleovi kupci traže viši standard sigurnosti, a sramota ih zbog toga nijepravi odgovor.

Iako je Oracle skinuo i uglavnom odbio post, to što je napisano, uopće otkriva duboko pogrešnu sigurnosnu kulturu unutar Oracle-a. Oracleov pristup sigurnosti daje prioritet zaštiti vlastitog intelektualnog vlasništva nad sigurnošću i bezbrižnošću svojih kupaca - a ako Oracle softver povjerite kritičnim informacijama, to bi trebalo preplašiti bejeezus od vas.

Što misliš? Jeste li zabrinuti zbog Oracleove filozofije sigurnosti? Mislite li da se prema Davidsonu postupa prestrogo? Javite nam se u komentarima!




Još ne komentari

O modernoj tehnologiji, jednostavnoj i pristupačnoj.
Vaš vodič u svijetu moderne tehnologije. Naučite kako koristiti tehnologije i uređaje koji nas okružuju svaki dan i naučite kako otkriti zanimljivosti na Internetu.