Proč se webové stránky napojují na localhost

Logik

  • *****
  • 1 022
    • Zobrazit profil
    • E-mail
Re:Proč se webové stránky napojují na localhost
« Odpověď #30 kdy: 04. 05. 2021, 20:42:28 »
nealem:
Deminifikovat to jde. Ale názvy proměnných jsou nemalou součástí dokumentace, a ty neobnovíš. Takže jde o poskytnutí dokumentace potenciálnímu útočníkovi. Ale to v podstatě píšeš.

Od opensource se to přitom liší tím, že u opensource chyby hledají nejen útočníci, ale i uživatelé. Tady žádný "whitehackeři" nejsou, takže to z bezpečnostního hlediska spojuje nevýhody open a closed-source. Samozřejmě, security by obscurity je špatně, na druhou stranu, člověk také nedává do výlohy zlodějům plánek, kde má jaké bezpečnostní kamery, protože je přesvědčenej, že svůj objekt zabezpečil dobře. Každá věc, která útok ztěžuje, je dobře.


Re:Proč se webové stránky napojují na localhost
« Odpověď #31 kdy: 04. 05. 2021, 20:56:38 »
Popravde vec ktora mne skutocne vadi je, ze dnes sa uz weby vobec nepisu aby isli uplne bez JS.
Uživatelé chtějí interaktivní aplikace, nechtějí čekat, až se vše otočí přes server. Takže ta webová aplikace závislá na JavaScriptu je potřeba. No a vedle toho by musela vzniknout druhá aplikace, která by fungovala bez JavaScriptu. Ale proč? Množství uživatelů by bylo minimální, pokud by se vůbec nějací našli. A smysl to nedává žádný.

davam potencialnemu utocnikovi na zlatom podnose komplet kod aj s komentarmi, ta obfuskacia je aspon malicka prekazka
Veškeré bezpečnostně citlivé operace se musí dělat na backendu. Pokud by bylo něco bezpečnostně citlivého na frontendu, většinou nebude k odhalení potřeba zkoumat minifikovaný kód – bude stačit podívat se na požadavky, které prohlížeč odesílá, případně se podívat do DOMu v prohlížeči. Bezpečnost založená na frontendu by byla takový průšvih, že nějaká minifikace je absolutně bezvýznamný detail.

L..

  • ****
  • 302
    • Zobrazit profil
    • E-mail
Re:Proč se webové stránky napojují na localhost
« Odpověď #32 kdy: 04. 05. 2021, 21:29:10 »
Ano, je to neobvyklé. Ale pořád nikdo nenapsal, proč to vadí.

Bez urážky, teď mi trochu připomínáte juniora, co se mě ptá proč vadí, že jednu proměnnou pojmenoval obvod_kruhu, druhou ObjemValce a treti povrchKoule.

Jednak to trochu zjednodušuje hledání XSS zranitelností, ale hlavně to vypovídá o (nízké) profesionální úrovni programátorů Monety. Jsou v zásadě dvě možnosti, proč to tak je:

1) Je to přehlédnutí. Což by znamenalo, že nerozumí technologii, netuší, co dělají a to je u bankovních progamátorů na pováženou.

2) Je to schválně, protože běžně ladí na produkci. Což znamená, že nemají vhodné funkční testovací / integrační prostředí a to je opět u banky hodně, hodně na pováženou.

Re:Proč se webové stránky napojují na localhost
« Odpověď #33 kdy: 04. 05. 2021, 21:56:20 »
Jednak to trochu zjednodušuje hledání XSS zranitelností
Ne.

ale hlavně to vypovídá o (nízké) profesionální úrovni programátorů Monety
Nebo o vysoké, protože se neřídí pocity ale skutečně rozumí tomu, co dělají. Já na základě informací, které mám, nedokážu rozhodnout, co z toho je pravda.

Je to schválně, protože běžně ladí na produkci. Což znamená, že nemají vhodné funkční testovací / integrační prostředí a to je opět u banky hodně, hodně na pováženou.
Z jednoho výskyty se nedá poznat, zda je to běžné. A jak je to s testovacími či integračními prostředími jsem psal výše. Pokud se integrujete na nějaký jiný systém, je testovací a integrační prostředí záležitost dodavatele toho cizího systému. Někdy k tomu dodavatele toho systému nedonutíte, ani jako banka. Například informační systém datových schránek má jediné prostředí, které slouží pro testování nových verzí ISDS (takže jsou tam novější verze, než na produkci, a občas tam je nějaká chyba). O nějakém prostředí pro integrační testy si můžete nechat jen zdát. I jako banka.

Pixe

Re:Proč se webové stránky napojují na localhost
« Odpověď #34 kdy: 04. 05. 2021, 22:20:48 »
...ale hlavně to vypovídá o (nízké) profesionální úrovni programátorů Monety.

Nebo také managementu, (pravděpodobně) externího dodavatele, testingu,... Neházejme všechno na programátory, jsou jenom součástí řetězce.


Re:Proč se webové stránky napojují na localhost
« Odpověď #35 kdy: 04. 05. 2021, 22:43:07 »
No, zrovna toto ... nemá s managementem co dělat. Občas se na leccos zapomene, a tohle je to nejmenší.

Nicméně - pokud přijmeme myšlenku, že toto je špatně, tak je to problém jdoucí za architektem (lead developerem .. apod - podle toho, jak mu říkají).

Bez ohledu na to, jestli je to nebo není bankovnictví - pokud v tom FE není žádná kritická logika, případně nějaké pokusy o  enkrypci dat, či nějaký obfuskovací kód, a de-fakto zveřejněné zdrojáky neusnadní nějaký útok na toto, je to, jestli tam jsou, nebo ne.. vcelku úplně jedno, a ta diskuse některých, kteří na základě toho tvrdí, že jsou to matláci ... je jen honění ega a řešení vlastních problémů.

Re:Proč se webové stránky napojují na localhost
« Odpověď #36 kdy: 04. 05. 2021, 22:55:46 »
pokud v tom FE není žádná kritická logika, případně nějaké pokusy o  enkrypci dat, či nějaký obfuskovací kód
Kdyby tam něco takového bylo, je to obrovský průšvih sám o sobě. Pak by bylo úplně jedno, jestli by měl útočník triviální přístup ke zdrojáku nebo snadný přístup ke zdrojáku.

Logik

  • *****
  • 1 022
    • Zobrazit profil
    • E-mail
Re:Proč se webové stránky napojují na localhost
« Odpověď #37 kdy: 05. 05. 2021, 00:00:15 »
Citace
Bez ohledu na to, jestli je to nebo není bankovnictví - pokud v tom FE není žádná kritická logika, případně nějaké pokusy o  enkrypci dat, či nějaký obfuskovací kód, a de-fakto zveřejněné zdrojáky neusnadní nějaký útok na toto, je to, jestli tam jsou, nebo ne.. vcelku úplně jedno,
Kritická logika v tom asi nebude. To ovšem neznamená, že to nemůže nějak odkrýt např. strukturu API, což útočníkovi může usnadnit další útok. Ale to není to podstatné.
Koukni se někdy na nějaký seriál o leteckých nehodách. Letecké katastrofy se nestávají proto, že někdo udělá jednu obrovskou katastrofální chybu. Zpravila se stávají proto, že nebyla dodržována pravidla - a souhrn mnoha "neškodných" chyb dá dohromady průšvih. Proto je v letectví takový důraz na dodržování pravidel - i když se z vnějšku často zdají jako formalismus. A bankovnictví v oboru SW je podobně "precizní obor", jako letectví v průmyslu.

Samozřejmě, je možné, že to bylo "ojedinělé opomenutí" a jinak je jejich E-banking dobrá práce. Ale dá se o tom vcelku důvodně pochybovat. Právě proto, že nedodržují "standard practicies", nemají procesy nastaveny tak, aby se takováto věc nestala. Je tedy klidně možný, že ten jejich současný systém je neprůstřelný. Ale co až tam někdo vyrobí opravdovou díru? Všimne si ji někdo, než přijde do produkce? A každý programátor někdy díru udělá....




Re:Proč se webové stránky napojují na localhost
« Odpověď #38 kdy: 05. 05. 2021, 00:04:02 »
pokud v tom FE není žádná kritická logika, případně nějaké pokusy o  enkrypci dat, či nějaký obfuskovací kód
Kdyby tam něco takového bylo, je to obrovský průšvih sám o sobě. Pak by bylo úplně jedno, jestli by měl útočník triviální přístup ke zdrojáku nebo snadný přístup ke zdrojáku.

ano, to je samozrejme pravda

Re:Proč se webové stránky napojují na localhost
« Odpověď #39 kdy: 05. 05. 2021, 00:05:22 »
Citace
Bez ohledu na to, jestli je to nebo není bankovnictví - pokud v tom FE není žádná kritická logika, případně nějaké pokusy o  enkrypci dat, či nějaký obfuskovací kód, a de-fakto zveřejněné zdrojáky neusnadní nějaký útok na toto, je to, jestli tam jsou, nebo ne.. vcelku úplně jedno,
Kritická logika v tom asi nebude. To ovšem neznamená, že to nemůže nějak odkrýt např. strukturu API, což útočníkovi může usnadnit další útok. Ale to není to podstatné.
Koukni se někdy na nějaký seriál o leteckých nehodách. Letecké katastrofy se nestávají proto, že někdo udělá jednu obrovskou katastrofální chybu. Zpravila se stávají proto, že nebyla dodržována pravidla - a souhrn mnoha "neškodných" chyb dá dohromady průšvih. Proto je v letectví takový důraz na dodržování pravidel - i když se z vnějšku často zdají jako formalismus. A bankovnictví v oboru SW je podobně "precizní obor", jako letectví v průmyslu.

Samozřejmě, je možné, že to bylo "ojedinělé opomenutí" a jinak je jejich E-banking dobrá práce. Ale dá se o tom vcelku důvodně pochybovat. Právě proto, že nedodržují "standard practicies", nemají procesy nastaveny tak, aby se takováto věc nestala. Je tedy klidně možný, že ten jejich současný systém je neprůstřelný. Ale co až tam někdo vyrobí opravdovou díru? Všimne si ji někdo, než přijde do produkce? A každý programátor někdy díru udělá....

tu (api strukturu) odkryje javascript stejne. minifikace na ni nic nezmeni.

Re:Proč se webové stránky napojují na localhost
« Odpověď #40 kdy: 05. 05. 2021, 08:31:51 »
Citace
Bez ohledu na to, jestli je to nebo není bankovnictví - pokud v tom FE není žádná kritická logika, případně nějaké pokusy o  enkrypci dat, či nějaký obfuskovací kód, a de-fakto zveřejněné zdrojáky neusnadní nějaký útok na toto, je to, jestli tam jsou, nebo ne.. vcelku úplně jedno,
Kritická logika v tom asi nebude. To ovšem neznamená, že to nemůže nějak odkrýt např. strukturu API, což útočníkovi může usnadnit další útok. Ale to není to podstatné.
Koukni se někdy na nějaký seriál o leteckých nehodách. Letecké katastrofy se nestávají proto, že někdo udělá jednu obrovskou katastrofální chybu. Zpravila se stávají proto, že nebyla dodržována pravidla - a souhrn mnoha "neškodných" chyb dá dohromady průšvih. Proto je v letectví takový důraz na dodržování pravidel - i když se z vnějšku často zdají jako formalismus. A bankovnictví v oboru SW je podobně "precizní obor", jako letectví v průmyslu.

Samozřejmě, je možné, že to bylo "ojedinělé opomenutí" a jinak je jejich E-banking dobrá práce. Ale dá se o tom vcelku důvodně pochybovat. Právě proto, že nedodržují "standard practicies", nemají procesy nastaveny tak, aby se takováto věc nestala. Je tedy klidně možný, že ten jejich současný systém je neprůstřelný. Ale co až tam někdo vyrobí opravdovou díru? Všimne si ji někdo, než přijde do produkce? A každý programátor někdy díru udělá....
Nemůže tam být žádná logika (mimo GUI), která není zduplikovaná i na serveru.

Strukturu API odhalí hlavně výpis volání, ale i pokud byste chtěl získat další adresy, na které jste při zkoušení nenarazil, minifikovnaý kód je nijak neskryje.

K leteckým nehodám nedochází po sérii neškodných chyb, ale po sérii reálných chyb. U webové aplikace může být reálná chyba na frontendu jen v použitelnosti. Pokud půjde o bezpečnostní chybu, bude vždy na serveru. (Existuje pár okrajových výjimek, kterými tu nemá smysl se zabývat. I ty výjimky by znamenaly, že „útočník“ může poškodit maximálně sám sebe. Minifikovaný kód mu v tom nijak nezabrání ani mu to nijak významně nezkomplikuje.)

Když to přirovnáváte k letectví – pokud by někoho napadlo, že bezpečnostní kontrolu pasažérů i zavazadel si cestující mohou udělat už doma a na letiště jen přijdou s vytištěným potvrzením, zda prošli nebo neprošli (bez jakéhokoli bezpečnostního prvku na tom papíře), bude celkem zbytečné zabývat se tím, jestli ten postup domácí kontroly je pro cestující zjevný nebo je mírně skrytý. Skutečný problém by byl v tom, že si ten papír potvrzující úspěšné absolvování kontroly může vyrobit každý sám, bez ohledu na to, zda nějakou kontrolu doma dělal nebo ne. Diskutovat o tom, zda je problém, že ten postup domácí kontroly je zjevný, je v takovém případě úplně mimo.

Žádné pravidlo, že na serveru musí být jen mimifikovaný kód, neexistuje. Většinu doby, co existuje web, se na server dával přesně ten samý kód, který napsal programátor. Bez jakékoli minifikace nebo jiné úpravy. U jednoduchých webů se to tak dělá dodnes, protože nestojí za to to řešit. Minifikace, která přejmenovává věci v kódu, je jen dočasná anomálie, protože je spojená s vytvářením bundlů. Prohlížeče ale už dlouho podporují HTTP/2, dnes už podporují i JavaScript moduly a WebComponents, takže od vytváření velkých bundlů se bude upouštět ve prospěch aplikací, které budou modulární i v prohlížeči. Přejmenování se tím pádem přestane používat, protože by bylo obtížné udržet stejné přejmenování v různých verzích kódu.

Logik

  • *****
  • 1 022
    • Zobrazit profil
    • E-mail
Re:Proč se webové stránky napojují na localhost
« Odpověď #41 kdy: 05. 05. 2021, 12:56:14 »
Citace
Strukturu API odhalí hlavně výpis volání,
To sice ano, ovšem znalost způsobu, jakým jsou požadavky sestavovány, může podstatně ulehčit porozumění těm voláním. Je to prostě naprosto zbytečné dávání informací útočníkovi.
Otázka nezní, jak se to dá zneužít. Otázka zní: proč dělat něco, co usnadní útočníkovi útok, byť jen třeba o malý fous - když jsou standardizované postupy, jak se tomu vyhnout?
On stačí už jen ten fakt, že to vypadá neprofesionálně - což (viz reakce v této diskusi) evidentně přinejmenším části odborné veřejnosti připadá. I to je bezpečnostní riziko, protože SW, co nevypadá profesionálně, "přitahuje" hackery. I jen tento "měkký" fakt snižuje bezpečnost takovéo řešení.
Citace
K leteckým nehodám nedochází po sérii neškodných chyb, ale po sérii reálných chyb.
Nezřídka je každá z těch chyb defakto benigní. Sama o sobě by nijak bezpečnost letu neovlivnila. Ale souběh více takových chyb ano.

Citace
Žádné pravidlo, že na serveru musí být jen mimifikovaný kód, neexistuje.
Jak vidíš, poměrně dost lidí tady v diskusi to za "best practicie" považuje.
Nejen z důvodu bezpečnosti: také z důvodu rychlejšího nahrávání stránek.

Citace
Většinu doby, co existuje web, se na server dával přesně ten samý kód, který napsal programátor.
Ano. S leteckými předpisy je to úplně stejně. Na začátku dokonce předpisy nebyly vůbec. Pravidla a "best practicies" jsou až reakcí na problémy.

Citace
U jednoduchých webů se to tak dělá dodnes, protože nestojí za to to řešit.
Ano, pro ultralighty také platí podstatně mírnější pravidla, než pro komerční dopravní letectví.

Btw. píšeš, že s jednoduchými weby se to tak dělá dodnes. Tedy implicitně tvrdíš, že se složitějšími se to tak už nedělá. Tak vidíš, že je "normální to dělat". Tedy že se to "zpravidla" dělá......

Logik

  • *****
  • 1 022
    • Zobrazit profil
    • E-mail
Re:Proč se webové stránky napojují na localhost
« Odpověď #42 kdy: 05. 05. 2021, 13:04:49 »
A k
Citace
minifikovnaý kód je nijak neskryje
To není ani náhodou pravda. Mohou být v minifikovaném kódu např. jako názvy samotných endpointů v rámci nějaké struktury API, parametry k nim pak se mohou doplňovat v jiných funkcích. Samozřejmě, za pomoci reverse engeneering to jde všechno dohledat, ale stojí to podstatný čas a úsilí. A to je nezřídka právě ten faktor, který rozhoduje o tom, zdali bude daný systém hacknut nebo ne.

Zámek, co máš do bytu, také není nepřekonatelný. Je jen tak obtížně překonatelný, že útočníkovi se nevyplatí na to plácat čas. Vystavit zdrojové kód je totéž, jako napsat na dveře: zloději, zámek odvrtávejte zde - a zde je místo nepokryté kamerovým systémem.

Re:Proč se webové stránky napojují na localhost
« Odpověď #43 kdy: 05. 05. 2021, 13:21:07 »
Otázka zní: proč dělat něco, co usnadní útočníkovi útok, byť jen třeba o malý fous
To by byla dobrá otázka, kdyby to útok opravu usnadňovalo. Což je ovšem čirá spekulace, se kterou tady komentující operují opakovaně, ale zatím nikdo nepřišel ani s náznakem důkazu, že by to útok usnadňovalo.

On stačí už jen ten fakt, že to vypadá neprofesionálně - což (viz reakce v této diskusi) evidentně přinejmenším části odborné veřejnosti připadá.
Otázka je, zda laici dokáží rozpoznat, co vypadá profesionáoně a co ne.

Nezřídka je každá z těch chyb defakto benigní. Sama o sobě by nijak bezpečnost letu neovlivnila. Ale souběh více takových chyb ano.
Nikoli, jsou to chyby, které ovlivňují bezpečnost letu. Akorát v běžných případech nedojde k fatálním následkům, protože bezpečnost letu je zajištěna na více úrovních. Jedna nebo dvě chyby tedy bezpečnost ovlivní, ale nezpůsobí nehodu.

Webový frontend aplikace ovšem neptří k prvkům zajišťujícím bezpečnost aplikace.

Jak vidíš, poměrně dost lidí tady v diskusi to za "best practicie" považuje.
Nejen z důvodu bezpečnosti: také z důvodu rychlejšího nahrávání stránek.
To, že to považují za „best practice“ lidi, kteří nemají s webovým vývojem nic společného, ovšem nevypovídá o ničem. Oba „důvodyx“ (bezpečnost i rychlost nahrávání) už jsem vyvrátil.

Ano. S leteckými předpisy je to úplně stejně. Na začátku dokonce předpisy nebyly vůbec. Pravidla a "best practicies" jsou až reakcí na problémy.
Jenže zdrojové kódy před transpilací dostupné na serveru nejsou žádný problém. Transpilace usnadňuje vývoj, na bezpečnost nemá vůbec žádný vliv. Minifikace zmenšuje objem přenášených dat – ale v případě IB Monety prohlížeč používá minifikované soubory, takže to je v pořádku.

Ano, pro ultralighty také platí podstatně mírnější pravidla, než pro komerční dopravní letectví.
Pro webové stránky provozovatele ultralightů a komerčního dopravce v letectví ale platí stejná pravidla.

Btw. píšeš, že s jednoduchými weby se to tak dělá dodnes. Tedy implicitně tvrdíš, že se složitějšími se to tak už nedělá. Tak vidíš, že je "normální to dělat". Tedy že se to "zpravidla" dělá......
Že se to zpravidla dělá jsem psal už na minulé stránce, to jste nemusel tak složitě odvozovat. To, že se to zpravidla dělá, ovšem neznamená, že dělat to jinak je špatně.

Mohou být v minifikovaném kódu např. jako názvy samotných endpointů v rámci nějaké struktury API
Což uvidíte i v minifikovaném kódu, fakt to není nijak skryté.

A to je nezřídka právě ten faktor, který rozhoduje o tom, zdali bude daný systém hacknut nebo ne.
Pokud je backend děravý, pro jeho hacknutí opravdu není potřeba si číst pěkně okomentovaný kód frontendu.

Zámek, co máš do bytu, také není nepřekonatelný. Je jen tak obtížně překonatelný, že útočníkovi se nevyplatí na to plácat čas. Vystavit zdrojové kód je totéž, jako napsat na dveře: zloději, zámek odvrtávejte zde - a zde je místo nepokryté kamerovým systémem.
Ne, to není totéž. Když máte děravý backend a „zabezpečíte“ ho kódem, který si má uživatel spustit ve svém prohlížeči, je to jako kdybyste dal zloději klíče od bytu a doufal, že až bude zloděj ve vašem bytě, bude opatrný a nic nerozbije. Na to, že by dokonce mohl něco ukrást, přitom ani nepomyslíte.

Ne, bezpečnost webových aplikací vážně nikdy nikdy nikdy nemůže být založena na tom, co dělá frontendový kód. Pokud někdo tvrdí opak, může o profesionalitě nebo best practice vyprávět, co chce – že o problematice nic neví už dal najevo dávno.

Re:Proč se webové stránky napojují na localhost
« Odpověď #44 kdy: 05. 05. 2021, 14:24:14 »
Pan Jirsak, len FYI, ja som vase vysvetlenie akceptoval a beriem ho. Uznavam svoju neznalost, nie som frontendak, vsak preto som sa pytal, ci to je standard a ci to niecomu nevadi, vy ste to vysvetlil a ja to beriem, len aby ste si nemysleli, ze ja stale trvam na tom co som si povodne myslel z dovodu mojej neznalosti.