Škoda ECU - program bez větvení

ByCzech

  • *****
  • 1 848
    • Zobrazit profil
    • E-mail
Re:Škoda ECU - program bez větvení
« Odpověď #15 kdy: 14. 09. 2017, 11:41:59 »

1. disassembling je mimo zákon

Zdroj?


trr

Re:Škoda ECU - program bez větvení
« Odpověď #16 kdy: 14. 09. 2017, 11:48:10 »
Žádná jednotka ani firmware není. Jenom je potřeba překonat "překážky" které brání vyčtení firmware z jednotky.

To je pravda, neexistuje dokonalá ochrana. Ale už nějakou dobu se zavádí jedna ochrana, fakt o ní nemůžu mluvit, ale s ní bych do neautorizovaného zásahu do ECU opravdu nešel.

lopata

Re:Škoda ECU - program bez větvení
« Odpověď #17 kdy: 14. 09. 2017, 12:21:37 »
Vzhledem k tomu, že normy vylučují pro dopravní prostředky jazyky, kde není přímá kontrola paměti, ...

můžete být konkrétní?

Norma ISO 26262 - funkční bezpečnost
https://en.wikipedia.org/wiki/ISO_26262

Myslím, že trochu motáš dohromady přímou kontrolu paměti a dynamickou alokaci paměti. Není jediný důvod, aby jakákoliv norma nařizovala přímou kontrolu paměti, naopak je to kontraproduktivní, protože přímý přístup do paměti je zdrojem mnoha chyb. Co je v embedded de facto zakázáno, je dynamická alokace paměti, ale neřeší to ta ISO norma, ale spíše MISRA: https://en.wikipedia.org/wiki/MISRA_C. Požadavek na statickou alokaci prakticky diskvalifikuje všechno s garbage collectorem, takže zbývá C a C++ se všemi jejich nevýhodami. Nicméně nediskvalifikuje to například Rust, který přímou kontrolu paměti nemá a pro embedded je z hlediska bezpečnosti mnohem vhodnější než C/C++.

v

Re:Škoda ECU - program bez větvení
« Odpověď #18 kdy: 14. 09. 2017, 12:29:20 »
Vzhledem k tomu, že normy vylučují pro dopravní prostředky jazyky, kde není přímá kontrola paměti, ...

můžete být konkrétní?

Norma ISO 26262 - funkční bezpečnost
https://en.wikipedia.org/wiki/ISO_26262

Myslím, že trochu motáš dohromady přímou kontrolu paměti a dynamickou alokaci paměti. Není jediný důvod, aby jakákoliv norma nařizovala přímou kontrolu paměti, naopak je to kontraproduktivní, protože přímý přístup do paměti je zdrojem mnoha chyb. Co je v embedded de facto zakázáno, je dynamická alokace paměti, ale neřeší to ta ISO norma, ale spíše MISRA: https://en.wikipedia.org/wiki/MISRA_C. Požadavek na statickou alokaci prakticky diskvalifikuje všechno s garbage collectorem, takže zbývá C a C++ se všemi jejich nevýhodami. Nicméně nediskvalifikuje to například Rust, který přímou kontrolu paměti nemá a pro embedded je z hlediska bezpečnosti mnohem vhodnější než C/C++.
těch jazyků víc, řeší ti iec61508 (např iec61131 nebo ada)

trr

Re:Škoda ECU - program bez větvení
« Odpověď #19 kdy: 14. 09. 2017, 13:33:37 »
Myslím, že trochu motáš dohromady přímou kontrolu paměti a dynamickou alokaci paměti. Není jediný důvod, aby jakákoliv norma nařizovala přímou kontrolu paměti, naopak je to kontraproduktivní, protože přímý přístup do paměti je zdrojem  ;Dmnoha chyb. Co je v embedded de facto zakázáno, je dynamická alokace paměti, ale neřeší to ta ISO norma, ale spíše MISRA: https://en.wikipedia.org/wiki/MISRA_C. Požadavek na statickou alokaci prakticky diskvalifikuje všechno s garbage collectorem, takže zbývá C a C++ se všemi jejich nevýhodami. Nicméně nediskvalifikuje to například Rust, který přímou kontrolu paměti nemá a pro embedded je z hlediska bezpečnosti mnohem vhodnější než C/C++.

Jo, že to trochu motám je celkem možné  ;D.  Tohle téma je celkem široké a náročné a učím se pořád každý den.
V té ISO normě je to taky zmíněné. V normě není zmíněný konkrétní jazyk, jenom obecné řeči o tom co se může, musí a nesmí. Jo MISRA je další kapitola a těch nadávek co jsou s MISROU spojené  ;D

No ale zkus na Rust přemluvit zákazníky. To C/C++ se používá podle mně proto, že dodavatel HW má svoje knihovny v C a od toho se odvíjí rozhodnutí v jakém jazyce vyvíjet.

Java, C#, apod, jsou v automotive použitelné, ale myslím, že jen na nekritické části. Typoval bych to na GUI v infotainment, kde si člověk může za jízdy pouštět videa z jutjub. Do brzd, převodovky, motoru, světel bych to určitě nedával.


jaro123

Re:Škoda ECU - program bez větvení
« Odpověď #20 kdy: 14. 09. 2017, 15:35:29 »
OK, takhle se da mluvit fakt dlouho. Jako by bylo problem neco udelat. Vis co? Otevri si kapotu svoji nove Octavie, vyfit si ECU - ta hlinikova krabicka 20x15x5 cm. Najdi si na ulozto.cz firmware  a dokumentacku kty ECU. Nastartuj Ida Pro a mrkni se na vetveni. pak sem napis dalsi prispevek. Ostatni uvahy sou off-topic a nech si je.

Jo dalo by se o tom mluvit hodně dlouho. A v tomhle případě by to mohl byt problém, protože
1. disassembling je mimo zákon a SW v autech rozhodne není free ani opensource.
2. Tahle jednotka očividně nebyla zabezpečená proti dissasemblingu.

Dám ti dobrou radu pokud chceš auto používat k čemu je určeno, raději to nezkoušej na jiných ECU, nebo na jiných značkách aut, nebo třeba i na Škodě s aktualizovaným SW. Neautorizovaný zásah do ECU by mohl vést nejen k právním následkům, ale i technickým.

Dekujeme panu PCR za upozorneni, takove by asi melo jiste byt na zacatku uplne kazde diskuze. Pan PCR si ted pujde zkontrolovat parkovani ve sve ulici - jiste je tam taky hodne zlobilu. Takze pripomenu kluci a holky, nekradte, nezete a uz vubec ne na zaklade teto diskuze. A ted zpatky k vetveni...

gp

Re:Škoda ECU - program bez větvení
« Odpověď #21 kdy: 14. 09. 2017, 16:25:09 »
ehm: jemné doladění jsou takové ty věci okolo spalovací chemie - když je moc benzínu na málo kyslíku, spotřebuje se víc benzínu a udělá se z něj CO, komplikovanější uhlovodíky a saze -což zasviní motor karbónem, když je to naopak, motor má menší výkon, ale v obou případech běží, což je podstatné. Vyšší spotřeba nikoho nezajímá (zvlášť když už je benzín zase za osm korun - čtvrt litru) a emise už vůbec ne. Proto "jemné" doladění.

Přímým přístupem do paměti je v kontextu kritických aplikací míněno to, že mezi aplikací a pamětí už není žádná mezivrstva, která by si mohla vzpomenout, že tenhle kus paměti je teď zrovna swapnutej na disku, kterej akorát zaparkoval, protože jsme přejeli ježka a vono to drclo.

Rust z hlediska bezpečnosti... - už má nějaká aplikace v Rustu nalítáno sto tisíc hodin, aniž by spadla? (to je taky z nějaký dopravní normy, že stávající aplikace se považují za bezpečné, když mají bez nehody odpracováno tolik).

trr

Re:Škoda ECU - program bez větvení
« Odpověď #22 kdy: 14. 09. 2017, 20:42:20 »
Dekujeme panu PCR za upozorneni, takove by asi melo jiste byt na zacatku uplne kazde diskuze. Pan PCR si ted pujde zkontrolovat parkovani ve sve ulici - jiste je tam taky hodne zlobilu. Takze pripomenu kluci a holky, nekradte, nezete a uz vubec ne na zaklade teto diskuze. A ted zpatky k vetveni...

Nic jiného neumíš vyplodit? Na víc nestačíš? Nic než skryté útoky tady nepředvádíš.
Soráč, chtěl jsem tě trošku uvést do problematiky, protože jsi přišel s otázkou, ale to je házení perel sviním. Přišel jsi sem s otázkou, já jsem se snažil odpovědět. To je vše.
Pokud o to nestojíš, tak to tu neplevel a běž si hrát jinde, třeba s kobrami.

asdfsaf

Re:Škoda ECU - program bez větvení
« Odpověď #23 kdy: 15. 09. 2017, 10:43:54 »
jen pro zajímavost - moje vlastní ECU pro diesel s VP44. Vše postaveno na AVR. Napsáno v C
https://www.youtube.com/watch?v=FDtEt3hod7U

Někde bych vyhrabal zdrojáky. Bohužel sem koupil barák a narodila se dcera, tak šla hračka z baráku... ale byla to krásná zábava

jaro

Re:Škoda ECU - program bez větvení
« Odpověď #24 kdy: 15. 09. 2017, 14:31:20 »
jen pro zajímavost - moje vlastní ECU pro diesel s VP44. Vše postaveno na AVR. Napsáno v C
https://www.youtube.com/watch?v=FDtEt3hod7U

Někde bych vyhrabal zdrojáky. Bohužel sem koupil barák a narodila se dcera, tak šla hračka z baráku... ale byla to krásná zábava

Pekne, diky. Muzes to hodit treba na github.

ehmmm

Re:Škoda ECU - program bez větvení
« Odpověď #25 kdy: 16. 09. 2017, 13:05:40 »
jen pro zajímavost - moje vlastní ECU pro diesel s VP44. Vše postaveno na AVR. Napsáno v C

Zavidim, v tom dobrem slova smyslu.