Oracle si přeje, abyste jim přestali posílat chyby - proč je to šílené

  • Joseph Goodman
  • 0
  • 5382
  • 952
reklama

Oracle je tento týden v horké vodě přes blogový příspěvek napsaný jejich šéfem bezpečnosti Mary Davidsonovou. Příspěvek, i když se týká celé řady témat, se většinou týká postupu hlášení možných zranitelností zabezpečení společnosti Oracle. Konkrétně, proč byste neměli.

“Nedávno jsem viděl velký nárůst zákazníků v zpětném inženýrství našeho kódu, abych se v něm pokusil najít slabiny zabezpečení. Proto jsem psal hodně dopisů zákazníkům, kteří začínají “ahoj, howzit, aloha” ale končí “prosím, dodržujte svou licenční smlouvu a zastavte zpětné inženýrství našeho kódu již.”

Davidson vysvětluje, že existuje stále více zákazníků, kteří dbají na bezpečnost, kteří používají software Oracle pro reverzní inženýrství, kteří hledají bezpečnostní chyby (nebo najímají konzultanty, kteří jim to pomohou). Davidson obviňuje tyto klienty z porušování jejich licenčních smluv, nepřijímání běžných bezpečnostních opatření, pokusů udělat pro ně práci Oracle a obecně být Bad People. Pokud zákazník zjistil skutečnou zranitelnost, Oracle ji opraví.

“Skoro nenávidím odpověď na tuto otázku, protože chci znovu zopakovat, že zákazníci by neměli a nemusí to zpětně analyzovat náš kód. […] Nedáme zákazníkovi, který ohlásí takový problém (který zjistil pomocí reverzního inženýrství), speciální (jednorázovou) opravu problému. Nebudeme také poskytovat úvěr v žádných radách, které bychom mohli vydat. Nemůžete opravdu očekávat, že to řekneme “děkuji za porušení licenční smlouvy.””

To se stalo ne projděte se dobře v bezpečnostní komunitě a příspěvek byl rychle odstraněn - i když ne dříve, než vytvoříte nový hashtagový aktivismus Hashtag: # mocný nebo # zbytečný? Haštagský aktivismus: # mocný nebo # zbytečný? #BringBackOurGirls, #ICantBreathe a #BlackLivesMatter v uplynulém roce viděl široké mezinárodní pokrytí - ale jsou hashtagy účinným prostředkem aktivismu? .

„Nejdříve zkontrolujte EULA Enigmy,“ řekl Alan Turing. #oraclefanfic

- Thorsten Sick (@ThorstenSick) 11. srpna 2015

Ale pokud nejste obeznámeni se světem bezpečnosti, nemusí být zřejmé, proč je původní příspěvek tak zavádějící. Dnes tedy budeme hovořit o tom, kde se filozofie bezpečnosti Oracle liší od hlavního proudu a proč je to problém.

Vysvětlení diskuse

Co přesně tedy znamená reverzní inženýrství a proč se o to Davidson tak zajímá? V zásadě, když Oracle uvolní kus softwaru, tak “sestavit” jejich interní zdrojový kód do spustitelných souborů a poté je doručí zákazníkům. Kompilace je proces, který překládá lidsky čitelný kód (v jazycích jako C ++ 3 Webové stránky Začínáme s výukou C ++ Programovací jazyk 3 Webové stránky Začínáme s výukou C ++ Programovací jazyk Výuka programového jazyka může být pro mnohé obtížná, a to iu relativně jednoduchých programovacích jazyků Zatímco Java je jednodušší začít (kde máme mnoho článků zde na MakeUseOf pro Javu, stejně jako ...) do hustšího binárního jazyka, který může být přiváděn přímo do počítačového procesoru.

Zdrojový kód Oracle není veřejný. Účelem je ztěžovat ostatním krádež jejich duševního vlastnictví. Znamená to však také, že je pro zákazníky velmi obtížné ověřit, zda je kód bezpečný. Zde začíná hrát „dekompilace“. V zásadě se de-kompilace překládá jiným směrem a převádí spustitelné soubory zpět na lidsky čitelný kód. Toto neposkytuje přesně původní zdrojový kód, ale poskytuje kód, který funguje stejným způsobem - i když je často obtížné číst kvůli ztrátě komentářů a organizační struktury.

To je “zpětné inženýrství” na které Davidson odkazuje. Společnost Oracle je proti, protože si myslí, že to ohrožuje jejich duševní vlastnictví. To je přinejmenším pošetilé, protože použití licenční smlouvy k zákazu krádeží IP je trochu jako použití přísně formulované rohože, aby se zabránilo domácí invazi. Druhům lidí, kteří se pokusí klonovat vaše produkty, se nestarají o licenční smlouvy 4 způsoby, jak číst a porozumět licenční smlouvě s koncovým uživatelem (EULA) Snadněji 4 způsoby, jak číst a porozumět licenční smlouvě s koncovým uživatelem (EULA) Více snadno EULA nebo licenční smlouvy s koncovým uživatelem jsou jedním ze zlých moderního života. Jedná se o nekonečně strašlivé dohody, obvykle psané malým písmem. To jsou věci, které slepě přejdete dolů, hledáte to zatraceně… a často nejsou v jurisdikcích, kde byste tyto dohody mohli v každém případě vynutit.

Lidstvo je odsouzeno ... #oraclefanfic #justoraclethings pic.twitter.com/e6MOZzkkvq

- CyberAnarchist (@ Cyb3rOps) 12. srpna 2015

Tato politika se skutečně týká pouze legitimních zákazníků. Situace je podobná jako u videohry DRM 6 míst k nákupu her bez obsahu DRM [MUO Gaming] 6 míst k nákupu her bez obsahu DRM [MUO Gaming] Protože jsem se rozhodl nekupovat hry od Steam, potřebuji najít jiné prameny. Mnoho z nich je ve skutečnosti horší než samotná Steam. Obchod Ubisoftu je bezradný a plný nepříjemného DRM. Electronic Art's…, ale nějak ještě neefektivnější.

Proč by zákazníci chtěli dekompilovat tyto spustitelné soubory? Je to všechno o bezpečnosti. Mít přístup ke zdrojovému kódu vám umožňuje procházet jej hledáním chyb a potenciálních problémů. Často se to provádí pomocí softwaru, který provádí “statická analýza kódu” - automatické čtení kódu, které identifikuje známé chyby a nebezpečné softwarové postupy, které mají sklon vést k chybám. I když existují nástroje, které analyzují spustitelný soubor přímo, dekompilace umožňuje obecně hlubší analýzy. Tento druh statické analýzy je standardním nástrojem obchodu s bezpečností a většina společností, které si uvědomují bezpečnost, používá tento software interně k vytváření kódu, který je méně pravděpodobný, že obsahuje vážné chyby.

Zásady společnosti Oracle pro tento druh analýzy jsou jednoduše “ne.” Proč? Nechám Davida vysvětlit.

“Zákazník nemůže analyzovat kód, aby zjistil, zda existuje kontrola, která zabraňuje útoku, který skenovací nástroj křičí (což je pravděpodobně falešně pozitivní) […] Nyní bych měl poznamenat, že skenování nepřijímáme zprávy jako “důkaz, že tam existuje, tam,” částečně proto, že ať už mluvíte o statické nebo dynamické analýze, zpráva o skenování není důkazem skutečné chyby zabezpečení. […] Oh, a požadujeme, aby zákazníci / konzultanti zničili výsledky takového zpětného inženýrství a potvrdili, že tak učinili.”

Jinými slovy, nástroj, který přinese výsledek, není důkazem skutečné chyby - a protože společnost Oracle tyto nástroje používá interně, nemá smysl, aby je zákazníci sami provozovali sami.

Velkým problémem je, že tyto nástroje pro analýzu statického kódu neexistují pouze proto, aby vás upozornily na chyby. Mají také sloužit jako cíl pro kvalitu a bezpečnost kódu. Pokud vypustíte databázi Oracle do průmyslového standardního nástroje pro statickou analýzu a vyplivne stovky stránek problémů, je to opravdu špatné znamení.

Správná odpověď, když nástroj pro analýzu statického kódu vyplivne problém zpět, nemá se na tento problém dívat a říkat „ach, ne, to nezpůsobuje chybu, protože takový a takový“. Správná odpověď je jít a opravit problém. Věci označené nástroji pro analýzu statického kódu jsou obvykle špatné postupy a vaše schopnost určit, zda daný problém skutečně způsobuje chybu, je omylná. Přes tisíce problémů vám budou chybět věci. Je lepší, když takové věci v základně kódu vůbec nemáte.

Zde je Oculus CTO John Carmack, který zpívá chválu těchto nástrojů ze své doby v iD Software. (Vážně, přečtěte si celou esej, je to zajímavé).

“Měli jsme období, kdy jeden z projektů omylem vypnul možnost statické analýzy na několik měsíců, a když jsem si toho všiml a znovu povolil, byly mezitím nové chyby, které byly mezitím zavedeny. [...] To byly demonstrace, že normální vývojové operace tyto třídy chyb neustále vytvářejí a [statická analýza kódu] nás účinně chránila před mnoha z nich.”

Stručně řečeno, je pravděpodobné, že mnoho zákazníků Oracle se nutně nesnažilo hlásit konkrétní chyby - ptali se, proč byly postupy kódování Oracle tak slabé, že jejich kódová základna byla protkána tisíci a tisíci problémy tak základními, že je bylo možné vybrat pomocí automatizovaného softwaru.

Pořád jsem smutný, že Slunce je pryč. A kdo je génius, který je prodával Oracle? Je to jako nechat Darth Vader hlídat vaše děti.

- Brad Neuberg (@ Bradneuberg) 15. srpna 2015

Zabezpečení pomocí samolepek

Co by tedy měli zákazníci se zájmem o bezpečnost dělat, místo použití nástrojů statické analýzy? Naštěstí byl Davidsonův blogový příspěvek na toto téma velmi podrobný. Kromě obhajování obecných základních bezpečnostních postupů předkládá konkrétní návrhy těm, kteří se zajímají o bezpečnost softwaru, který používají.

“[T] tady je spousta věcí, které může zákazník udělat, gosh, vlastně mluvit s dodavateli o jejich programech ověřování nebo ověřování certifikátů u produktů, pro které existují pečeti dobrého hospodaření (nebo “dobrý kód” pečeti), jako jsou certifikáty Common Criteria nebo FIPS-140. Většina prodejců - přinejmenším většina těch nejrozsáhlejších, které znám - má nyní poměrně robustní programy záruk (to víme, protože všichni porovnáváme poznámky na konferencích).”

Toto je hrůzný odpověď od organizace tak velké jako Oracle. Počítačové zabezpečení je rychle se vyvíjející pole. Stále se objevují nová zranitelná místa a formalizace bezpečnostních požadavků do certifikace, která se aktualizuje každých několik let, je absurdní. Bezpečnost není nálepka. Pokud věříte, že určitý klíčový software je bezpečný na základě pečeti na obalu, jste nezodpovědně hloupí.

Sakra, nástroje pro statickou analýzu jsou aktualizovány mnohem častěji než tyto certifikace - v některých případech denně - a eliminují všechny problémy, které se objevují ještě pořád nestačí mít důvěru v zabezpečení vašeho kódu, protože většina zranitelných míst je příliš složitá na to, aby byla detekována těmito druhy automatizovaných nástrojů.

Jediným způsobem, jak mít důvěru ve své vlastní zabezpečení, je vystavit svůj kód světu a požádat hackery, aby se pokusili jej rozbít. Takto funguje většina hlavních softwarových společností: pokud narazíte na problém s jejich kódem, nebudou se na vás blahosklonně modlit za porušení vaší smlouvy o používání. Zaplatí vám peníze. Chtějí, aby lidé, kteří se snaží co nejlépe, neustále porušovali svůj software. Je to jediný způsob, jak mohou mít jistotu, že jejich kód je vůbec bezpečný.

Tyto programy se nazývají “chyba odměna” programy a jsou to nejlepší, co se stane s podnikovým zabezpečením za dlouhou dobu. Shodou okolností jsou také něčím, na co má Davidson docela silné názory.

“Bugové odměny jsou novou chlapeckou kapelou (pěkně alliterativní, ne?) Mnoho společností křičí, mdloby a hází spodní prádlo na bezpečnostní výzkumníky […], aby zjistilo problémy ve svém kódu a naléhalo, že to je způsob, Walk In It: pokud nedělají odměny za chyby, váš kód není bezpečný.

Aha, no, nacházíme 87% bezpečnostních chyb sami, výzkumníci v oblasti bezpečnosti najdou asi 3% a zbytek najdou zákazníci. […] Neodmítávám bugové odměny, jen si všímám, že na přísně ekonomickém základě, proč bych hodil spoustu peněz na 3% problému.”

Pro začátečníky se na základě výsledků těchto analýz statického kódu může ukázat, že pokud jste je zaplatili, může to být mnohem více než 3%. Ale já odbočuji. Skutečné je, že: odměny za chyby nejsou pro vás, jsou pro nás. Mohli byste najít chyby efektivněji, pokud jste utratili stejné peníze odborníkům na vnitřní bezpečnost? Pravděpodobně ne - ale házejme Oracle kost a předpokládejme, že mohli. Mohli však také vzít peníze, uložit je do banky a pak neudělat vůbec nic. Pokud je výsledné zabezpečení dílčí, zákazníci se o něm dozvídají teprve roky, až jejich čísla sociálního zabezpečení záhadně skončí na hlubokém webu Jak najít aktivní .Onion Dark Web Sites (A proč byste měli chtít) Jak Najděte aktivní .Onion Dark Webové stránky (a proč byste měli chtít) Dark Web, zčásti, sestává z .onion webů, hostovaných v síti Tor. Jak je najdete a kam jít? Následuj mě… .

"Neexistuje žádná zranitelnost. EULA to říká." #oraclefanfic pic.twitter.com/cUfafDCWbv

- Leger (@DocProfSky) 11. srpna 2015

Odměny za chyby existují napůl, protože jsou skutečně účinným způsobem identifikace chyb, a napůl proto, že jsou formou zabezpečení, kterou nemůžete předstírat. Odměna chyby důvěryhodně říká světu, že jakékoli chyby zbývající v kódu je dražší najít než uvedená odměna.

Odměny chyb pro vaše pohodlí neexistují, Oracle, existují, protože vám nedůvěřujeme.

Neměli bychom také! Spousta velkých společností umožňuje, aby bezpečnost klesla na vedlejší kolej, protože četné megabreache Target potvrzuje kreditní karty až 40 milionů amerických zákazníků Potenciálně hacknutý cíl potvrzuje až 40 milionů amerických zákazníků kreditní karty Potenciálně hacknutý cíl právě potvrdil, že hack mohl ohrozit informace o kreditní kartě až pro 40 milionů zákazníků, kteří nakupovali ve svých amerických obchodech mezi 27. listopadem a 15. prosincem 2013. Zobrazují se příliš jasně. Jste druhým největším výrobcem softwaru na světě. Je absurdní požádat nás, abych jen řekl, že vaše produkty jsou bezpečné.

Co Davidson má pravdu

Spravedlivě k Davidsonovi existují určité prvky, které jsou v kontextu přiměřené. Pravděpodobně se mnoho jejich klientů pustí do ambiciózních auditů kódu Oracle, aniž by museli věnovat čas tomu, aby z jejich systémů odstranili více běžných bezpečnostních problémů..

“Pokročilé trvalé hrozby” - Zkušení hackerské organizace, které se snaží získat přístup ke konkrétním organizacím, aby ukradly data - jsou určitě děsivé, ale podle čísel jsou mnohem méně nebezpečná než miliony oportunistických amatérských hackerů s automatizovanými nástroji. Dělat tyto druhy statických analýz komerčního softwaru, když jste nepřijali základní bezpečnostní opatření, je hodně podobné instalaci panické místnosti, pokud ještě nemáte zámek u předních dveří..

Stejně tak je pravděpodobně frustrující a neužitečné předkládat stejnou automatickou analýzu znovu a znovu.

Celkově však článek odhaluje některé vážně zastaralé představy o zabezpečení systému a vztahu mezi vývojáři a zákazníky. Oceňuji, že Davidsonova práce je frustrující, ale uživatelé, kteří se snaží překonat bezpečnost softwaru, který používají, nejsou problémem. Ira Winkler se toho ujímá:

“Oracle je velmi velká a bohatá společnost s produkty, které jsou široce distribuovány a využívány pro kritické aplikace. Doba. Mají odpovědnost za to, aby byl jejich software co nejsilnější […] Mohlo by to být spoustu falešných pozitiv a souvisejících nákladů, ale to je faktor [jejich prodeje] hodně softwaru, který má mnoho uživatelů. Jedná se o náklady na podnikání. Jsem si jist, že všechny softwarové společnosti mají stejné falešné pozitivní zprávy. Neslyším Microsoft a kol. stěžuje si.”

Pokud Oracle nechce nadále přijímat tisíce problémů nalezených statickými bezpečnostními nástroji, možná by měly opravit ty tisíce problémů. Pokud jsou naštvaní lidmi, kteří obracejí stejné non-chyby znovu a znovu, možná by měli mít správný program odměn za chyby, který má mechanismy pro řešení opakujících se podání problémů. Zákazníci společnosti Oracle se dožadují vyššího standardu zabezpečení a za to nesprávná odpověď.

Přestože společnost Oracle tento příspěvek odstranila a obecně se od něj distancovala, jeho napsání vůbec odhaluje hluboce zavádějící kulturu zabezpečení v rámci společnosti Oracle. Přístup společnosti Oracle k zabezpečení upřednostňuje ochranu jejich vlastního duševního vlastnictví před bezpečností a klidem svých zákazníků - a pokud svěřujete softwaru Oracle kritické informace, mělo by vás bejeezus vyděsit.

Co myslíš? Znepokojuje vás filozofie zabezpečení společnosti Oracle? Myslíte si, že se s Davidsonem zachází příliš tvrdě? Dejte nám vědět v komentářích!




Bisher hat noch niemand einen Kommentar zu diesem Artikel abgegeben.

O moderní technologii, jednoduché a cenově dostupné.
Váš průvodce ve světě moderních technologií. Naučte se, jak používat technologie a pomůcky, které nás každý den obklopují, a naučte se, jak objevovat na internetu zajímavé věci.