Oracle vil gerne stoppe med at sende dem bugs - her er hvorfor det er skørt

Oracle er i varmt vand over et misforstået blogindlæg af sikkerhedschef, Mary Davidson. Denne demonstration af, hvordan Oracle's sikkerhedsfilosofi afgår fra mainstream, blev ikke modtaget godt i sikkerhedssamfundet ...

Oracle er i varmt vand over et misforstået blogindlæg af sikkerhedschef, Mary Davidson.  Denne demonstration af, hvordan Oracle's sikkerhedsfilosofi afgår fra mainstream, blev ikke modtaget godt i sikkerhedssamfundet ...
Reklame

Oracle er i varmt vand i denne uge over et blogindlæg skrevet af deres sikkerhedschef, Mary Davidson. Stillingen, selvom den dækker en række emner, handler mest om brugen af ​​rapportering af mulige sikkerhedsproblemer til Oracle. Specifikt, hvorfor skal du ikke.

"For nylig har jeg set et stort ish uptick hos kunderne omvendt-engineering vores kode for at forsøge at finde sikkerhedsproblemer i den. Det er derfor, jeg har skrevet mange breve til kunder, der starter med "hej, howzit, aloha" men slutter med "venligst overhold din licensaftale og stop reverse engineering vores kode allerede."

Davidson forklarer, at der er et stigende antal sikkerhedsbevidste kunder, der er omvendt-engineering Oracle-software på udkig efter sikkerhedsproblemer (eller ansættelse konsulenter til at gøre det for dem). Davidson anklager disse kunder for at overtræde deres licensaftaler, ikke at tage almindelige sikkerhedsforanstaltninger, at forsøge at gøre Oracle's job for dem, og at de generelt er Bad People. Hvis kunden har fundet en reel sårbarhed, mens Oracle vil rette det.

"Jeg hader næsten at svare på dette spørgsmål, fordi jeg vil gerne gentage, at kunderne burde ikke og skal ikke omdanne vores kode. [...] Vi vil ikke give en kunde, der rapporterer et sådant problem (som de fandt gennem reverse engineering) en særlig (engangs) patch til problemet. Vi vil heller ikke give kredit i eventuelle rådgivning, vi måtte udstede. Du kan ikke rigtig forvente, at vi siger "tak for at bryde licensaftalen." "

Dette gik ikke godt i sikkerhedssamfundet, og posten blev hurtigt taget ned - selvom det ikke var før en ny hashtag Hashtag Activism: #powerful eller #pointless? Hashtag Activism: #powerful eller #pointless? #BringBackOurGirls, #ICantBreathe, og #BlackLivesMatter har set stor international dækning i det forløbne år - men er hashtags et effektivt aktivisme? Læs mere .

"Check Enigma's EULA først", sagde Alan Turing. #oraclefanfic

- Thorsten Sick (@ThorstenSick) 11. august 2015

Men hvis du ikke er bekendt med sikkerhedsverdenen, er det måske ikke indlysende, hvorfor det oprindelige indlæg er så uforskammet. Så i dag skal vi tale om, hvor Oracles sikkerhedsfilosofi afviger fra mainstream, og hvorfor det er et problem.

Forklare kontroversen

Så hvad er nøjagtigt reverse engineering, og hvorfor er Davidson så bekymret over det? I grund og grund, når Oracle udgiver et stykke software, "compilerer" deres interne kildekode til eksekverbare filer, og leverer derefter disse filer til kunderne. Kompilering er en proces, der oversætter læsbar kode (på sprog som C ++ 3 Websites til at komme i gang med Learning C ++ Programmeringssprog 3 Websites til at komme i gang med at lære C ++ Programmeringssprog At lære at programmere kan være svært for mange, selv med relativt lette programmeringssprog . Mens Java er lettere at komme i gang med (hvor vi har mange artikler her på MakeUseOf for Java samt ... Læs mere) til et tættere binært sprog, der kan tilføres direkte til en computerprocessor.

Oracle's kildekode er ikke offentlig. Dette har til formål at gøre det vanskeligere for andre at stjæle deres intellektuelle ejendomsret. Det betyder dog også, at det er meget vanskeligt for kunderne at kontrollere, at koden er sikker. Det er her, hvor 'dekompilering' kommer i spil. Grundlæggende oversætter de-compilation i den anden retning, konverterer eksekverbare filer tilbage til menneskelig læsbar kode. Dette leverer ikke nøjagtigt den oprindelige kildekode, men den leverer kode, der fungerer på samme måde - selvom det ofte er svært at læse på grund af tab af kommentarer og organisationsstruktur.

Dette er den "reverse engineering", som Davidson henviser til. Oracle er imod det, fordi de mener, at det sætter deres intellektuelle ejendomsret i fare. Dette er i det mindste lidt tåbeligt, fordi brug af en licensaftale om at forbyde IP-tyveri er lidt som at bruge en sternt ordnet dørmat for at forhindre hjemmeinvasion. De slags mennesker, der forsøger at klone dine produkter, er ligeglade med licensaftaler. 4 måder at læse og forstå en slutbrugerlicensaftale på. Flere nemme 4 måder at læse og forstå en slutbrugerlicensaftale til (EULA) Mere enkle EULA'er eller Slutbrugerlicensaftaler er et af de onde i det moderne liv. Disse er uendelige ordrige aftaler, som regel skrevet i lille print. Dette er de ting, du blindt ruller ned og leder efter det darn ... Læs mere og ofte ikke i jurisdiktioner, hvor du i alle tilfælde kunne håndhæve disse aftaler.

Mennesket er dømt ... #oraclefanfic #justoraclethings pic.twitter.com/e6MOZzkkvq

- CyberAnarchist (@ Cyb3rOps) 12. august 2015

Politikken påvirker kun lovlige kunder. Situationen ligner den af ​​videospil DRM 6 Steder at købe DRM-fri spil [MUO Gaming] 6 steder at købe DRM-fri spil [MUO Gaming] Da jeg har besluttet ikke at købe spil fra Steam, skal jeg finde andre kilder. Mange af dem er faktisk værre end Steam selv. Ubisofts butik er fortryllende og fuld af irriterende DRM. Electronic Art's ... Læs mere, men på en eller anden måde endnu mere ineffektive.

Hvorfor vil kunderne dekompilere disse eksekverbare? Det handler om sikkerhed. At have adgang til kildekoden giver dig mulighed for at grave igennem det på udkig efter fejl og potentielle problemer. Ofte gøres dette ved hjælp af software, der udfører en "statisk kodeanalyse" - en automatiseret gennemlæsning af koden, som identificerer kendte fejl og farlige softwarepraksis, som har tendens til at føre til fejl. Selvom der er værktøjer, der analyserer den eksekverbare fil direkte, dekompilerer det muliggør generelt dybere analyser. Denne form for statisk analyse er et standardværktøj for handel med sikkerhed, og de fleste sikkerhedsbevidste virksomheder anvender sådan software internt til at producere kode, der mindre sandsynligt indeholder alvorlige fejl.

Oracle's politik på denne type analyse er simpelthen "ikke". Hvorfor? Jeg vil lade Davidson forklare.

"En kunde kan ikke analysere koden for at se om der er en kontrol, der forhindrer angrebet, som scanningsværktøjet skriger om (hvilket sandsynligvis er en falsk positiv) [...] Nu skal jeg bemærke, at vi ikke bare accepterer scan rapporter som "bevis på, at der er en der, der", dels fordi du taler statisk eller dynamisk analyse, er en scanningsrapport ikke et bevis på en faktisk sårbarhed. [...] Åh, og vi kræver, at kunder / konsulenter ødelægger resultaterne af sådan reverse engineering og bekræfter, at de har gjort det. "

Med andre ord, værktøjet, der viser et resultat, er ikke et bevis på en reel fejl - og da Oracle bruger disse værktøjer internt, er det ikke meningen, at kunderne kører dem alene.

Det store problem med dette er, at disse statiske kodeanalyseværktøjer ikke eksisterer bare for at bringe bugs til din opmærksomhed. De skal også tjene som mål for kodekvalitet og sikkerhed. Hvis du dumper Oracle's kodebase i et standardstatistik for standardanalyser og det spytter ud hundrede sider af problemer, er det et rigtig dårligt tegn.

Det korrekte svar, når et statisk kodeanalyseværktøj spytter tilbage et problem, er ikke at se på problemet og sige 'åh nej det forårsager ikke en fejl, fordi sådan og sådan.' Det rigtige svar er at gå ind og løse problemet. De ting, der er markeret med statiske kodeanalyseværktøjer, er som regel dårlige fremgangsmåder generelt, og din evne til at bestemme, om et bestemt problem faktisk forårsager en fejl, er fejlbar. Over tusindvis af problemer vil du savne ting. Du har det bedre ikke at have sådanne ting i din kodebase i første omgang.

Her er Oculus CTO John Carmack, der synger rosene fra disse værktøjer fra sin tid på iD Software. (Læs alment essayet, det er interessante ting).

"Vi havde en periode, hvor et af projekterne ved et uheld fik den statiske analyse mulighed slukket i et par måneder, og da jeg bemærkede og genaktiverede det, var der bunker af nye fejl, der var indført i mellemtiden. [...] Dette var demonstrationer om, at de normale udviklingsoperationer løbende producerede disse klasser af fejl, og [statisk kodeanalyse] var effektivt at beskytte os mod mange af dem. "

Kort sagt, det er sandsynligt, at mange af Oracles kunder ikke nødvendigvis forsøger at rapportere specifikke fejl - de spurgte, hvorfor Oracle's kodningspraksis var så dårlig, at deres kodebase blev riddled med tusindvis af tusindvis af spørgsmål så grundlæggende, at de kunne blive plukket ud ved hjælp af automatiseret software.

Jeg er stadig ked af, at solen er væk. Og hvem var det geni, der solgte dem til Oracle? Det er som at lade Darth Vader babysit dine børn.

- Brad Neuberg (@bradneuberg) 15. august 2015

Sikkerhed ved klistermærker

Så hvad skal sikkerhedsrelaterede kunder gøre, i stedet for at bruge statiske analyseværktøjer? Heldigvis var Davidsons blogindlæg ekstremt detaljeret om dette emne. Bortset fra at forpligte sig til generel grundlæggende sikkerhedspraksis, giver hun konkrete forslag til de interesserede i sikkerheden af ​​den software, de bruger.

"Her er mange ting, en kunde kan lide, og jeg taler faktisk med leverandører om deres forsikringsprogrammer eller kontrol af certificeringer for produkter, for hvilke der er gode housekeeping sæler til (eller" good code "sæler) som fælles kriterier certificeringer eller FIPS-140 certificeringer. De fleste leverandører - i det mindste de fleste af de store, jeg ved - har ret robuste forsikringsprogrammer nu (vi ved det, fordi vi alle sammenligner notater på konferencer). "

Dette er et forfærdeligt svar fra en organisation, der er så stor som Oracle. Computersikkerhed er et hurtigt udviklende felt. Nye sårbarheder findes hele tiden, og formalisering af sikkerhedskrav til en certificering, der opdateres hvert par år, er absurd. Sikkerhed er ikke et klistermærke. Hvis du har tillid til, at en vigtig software er sikker på basis af en forsegling på emballagen, er du uansvarlig dum.

Hej, statiske analyseværktøjer bliver opdateret meget hyppigere end disse certificeringer gør - i nogle tilfælde dagligt - og eliminering af alle de problemer, de opstår, er ikke nok til at have stor tillid til sikkerheden i din kode, fordi de fleste sårbarheder også er kompleks til at blive registreret af disse slags automatiserede værktøjer.

Den eneste måde at have tillid til din egen sikkerhed er at udsætte din kode for verden og bede hackere om at forsøge at bryde den. Sådan fungerer de fleste større softwarefirmaer: Hvis du finder et problem med deres kode, vil de ikke overbevisende snarke på dig for at overtræde din brugsaftale. De betaler dig penge. De vil have, at folk prøver deres bedste for at bryde deres software hele tiden. Det er den eneste måde, de kan have tillid til, deres kode er overhovedet sikker.

Disse programmer kaldes "bug bounty" -programmer, og de er de bedste ting at ske på sikkerhedsniveau på virksomhedsniveau i lang tid. De er også tilfældigt noget, som Davidson har ret stærke meninger om.

"Bug bounties er det nye drengeband (pænt alliterende, nej?) Mange virksomheder skriger, besvimler og smider undertøj hos sikkerhedsforskere [...] for at finde problemer i deres kode og insistere på, at dette er vejen, gå i det: hvis du laver ikke bug bounties, din kode er ikke sikker.

Åh, vi finder 87% af sikkerhedssvaghederne selv, sikkerhedsforskere finder ca. 3%, og resten findes hos kunderne. [...] Jeg slipper ikke bug-bounties, men kun på det strengt økonomiske grundlag, hvorfor skulle jeg kaste meget penge på 3% af problemet. "

Til at begynde med, baseret på resultaterne af disse statiske kodeanalyser, kan det vise sig at være meget mere end 3%, hvis du har betalt dem. Men jeg går ned. Det virkelige punkt er dette: Bug bounties er ikke for dig, de er for os. Kan du finde bugs mere effektivt, hvis du brugte de samme penge på interne sikkerhedseksperter? Nå, sandsynligvis ikke - men lad os smide Oracle en knogle og antage, at de kunne. Men de kunne også tage pengene, bankere det og derefter gøre absolut ingenting. Hvis den resulterende sikkerhed er underparent, vil kunderne kun finde ud af om det år fra nu, når deres socialsikringsnumre mystisk kommer op på den dybe web Sådan finder du aktive løgsteder og hvorfor du måske vil finde ud af, hvordan du finder aktive løgsteder & Hvorfor du måske vil have løgsteder, så navngivet, fordi de slutter med ".onion", er vært som Tor skjulte tjenester - en fuldstændig anonym måde at hoste websites på. Læs mere .

"Der er ingen sårbarhed. EULA siger det." #oraclefanfic pic.twitter.com/cUfafDCWbv

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

Bug bounties eksisterer halvt, fordi de er en virkelig effektiv måde at identificere fejl, og halvdelen fordi de er en form for sikkerhed, du ikke kan falske. En bug-bounty fortæller verden troværdigt, at eventuelle fejl i koden er dyrere at finde end den angivne bounty.

Bug bounties eksisterer ikke for din bekvemmelighed, Oracle, de eksisterer fordi vi ikke stoler på dig.

Vi må heller ikke! Masser af store virksomheder tillader sikkerhed at falde ved vejen, da de mange megabreaches mål bekræfter op til 40 millioner amerikanske kunder kreditkort potentielt hackede mål bekræfter op til 40 millioner amerikanske kunder kreditkort potentielt hacket mål har netop bekræftet, at et hack kunne have kompromitteret Kreditkortoplysningerne for op til 40 millioner kunder, der har handlet i sine amerikanske butikker mellem 27. november og 15. december 2013. Læs mere viser alt for tydeligt. Du er den næststørste softwareproducent i verden. Det er absurd at bede os om bare at tage dit ord, at dine produkter er sikre.

Hvad Davidson får ret

I fairness til Davidson er der elementer af dette, der er rimelige i sammenhæng. Sandsynligvis går mange af deres kunder på ambitiøse revisioner af Oracles kode uden at tage sig tid til at fjerne mere jordiske sikkerhedsproblemer fra deres systemer.

"Avancerede vedvarende trusler" - dygtige hackerorganisationer, der forsøger at få adgang til bestemte organisationer til at stjæle data - er helt sikkert skræmmende, men af ​​tallene er de meget mindre farlige end de millioner af opportunistiske amatørhackere med automatiserede værktøjer. Hvis du foretager disse typer af statiske analyser af kommerciel software, når du ikke har vedtaget grundlæggende sikkerhedsforanstaltninger, er det meget som at installere et panikrum, når du endnu ikke har en lås på hoveddøren.

Ligeledes er det sandsynligvis virkelig frustrerende og uhensigtsmæssigt at blive præsenteret med den samme automatiserede analyse igen og igen og igen.

Men som en helhed afslører artiklen nogle alvorligt forældede ideer om systemsikkerhed og forholdet mellem udviklere og kunder. Jeg sætter pris på, at Davidsons arbejde er frustrerende, men brugerne går ud af deres måde at kontrollere sikkerheden for den software, de bruger, ikke er problemet. Her er præsident for sikkerhedsbevidsthed, Ira Winklers tager på det:

"Oracle er et meget stort og rige firma med produkter, der er bredt distribueret og bruges til kritiske applikationer. Periode. De har et ansvar for at gøre deres software så stærk som muligt [...] Der kan være mange falske positiver og dermed forbundne omkostninger, men det er en faktor [der sælger] en masse software, der har mange brugere. Det er en omkostning ved at drive forretning. Jeg er sikker på, at alle softwarefirmaer har de samme falske positive rapporter. Jeg hører ikke Microsoft et al. klager.”

Hvis Oracle ikke vil fortsætte med at modtage tusindvis af problemer, der findes af statiske sikkerhedsværktøjer, må de måske løse de tusindvis af problemer. Hvis de er irriteret af folk, der vender sig i de samme ikke-fejl igen og igen, må de måske have et ordentligt fejlprogram, der har mekanismer til at håndtere gentagne indlæg af ikke-problemer. Oracle kunder klamrer for en højere sikkerhedsstandard, og det er ikke det rigtige svar, at shaming dem.

Selv om Oracle har taget ned og generelt afvist posten, er den overhovedet skrevet en dybt uhyggelig sikkerhedskultur inden for Oracle. Oracle's tilgang til sikkerhed prioriterer at beskytte deres egne intellektuelle ejendomsrettigheder over deres kunders sikkerhed og fred - og hvis du overdrager Oracle-software med kritisk information, bør det skræmme bejeezus ud af dig.

Hvad synes du? Er du bekymret for Oracle's sikkerhedspolitik? Tror du, at Davidson bliver behandlet for hårdt? Lad os vide i kommentarerne!

In this article