• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    SPIRALIRust - Programovací jazyk
    WILD_A
    WILD_A --- ---
    Ja mam emacs na vsecno, takze emacs + rust-mode + rustic. Pokud nejste emacs user vrele nedoporucuji.
    SHINING_KATE
    SHINING_KATE --- ---
    MARASAN: Mám to jako Spirali. A https://tracing.rs/tracing/ je neskutečně mocný nástroj :)
    SPIRALI
    SPIRALI --- ---
    MARASAN: Ja pouzivam spise nez interaktivni debugger tak intenzivni logovani a trasovani. Z trasovani pak delame taky performance analyzu. To doplnujeme standardnimi C/C++ nastroji. Ja mam rad callgrind; kolega, ktery je v tom kovany tak jeho nejoblibenejsi tool pro toto je VTune.
    SPIRALI
    SPIRALI --- ---
    NYX: Nevim jestli rozbiti na vice crate az tolik pomuze. Pro pri vyvoji vice crate najednou stejne chce clovek workspace a zase tam bude jen jeden cargo lock. Alespon me nejaka takova kolize trapila davno s nejakou tehdejsi verzi RLS a vice crate mi moc nepomohlo.
    MARASAN
    MARASAN --- ---
    co vy a debugger? profiler? VS Code je v tomhle ohledu komfortni nebo ne? pro linux.
    SHINING_KATE
    SHINING_KATE --- ---
    SPIRALI: CLion + rust plugin. V teamu to momentálně máme 2x CLion, 2x VSCode + RA a 1x Atom jen se základním Rust pluginem bez autocomplete.
    NYX
    NYX --- ---
    SPIRALI: No rust-analyzer mam vypnuty, nejak mi to kolidovalo s buildem (vyrobil ten cargo lock a build na nej pak ceka). To pouzivam jako pomerne tupy editor :) Takze asi nejsem schopny odpovedet.

    Kdyz me to bude dlouhodobe stvat, dam si tu praci a rozbiju to na vic nezavislych crate. Nemelo by to byt moc slozite.
    MARASAN
    MARASAN --- ---
    SPIRALI: pouzivam vim s nejakyma pluginama, ale uvazuju, ze zkusim MS VS Code, hlavne kvuli debuggeru.
    SPIRALI
    SPIRALI --- ---
    NYX: Rust Enhanced jsem mel v planu take vyzkouset. Nejaky konkretni zdroj nespokojenosti?

    btw: Umi uz RLS nebo rust-analyzer nejake vetsi refaktorizace? (napr. kdyz presunu soubor tak to opravi vsechny importy?)
    NYX
    NYX --- ---
    SPIRALI: Ja jedu v sublime + rust enhanced + rustfmt. Ale nejak zvlast spokojeny s tim nejsem teda.
    SPIRALI
    SPIRALI --- ---
    Otazka pro vsechny: Jake pouzivate pro Rust IDE?

    Ja jsem prosel cestou Spacemacs -> vscode -> pycharm + rust plugin. Pycharm je pro mne horsi editor nez ty predchozi dva, ale k diky moznost refaktorizatorizace a obecne analyzy kodu u mne vyhrava. (Navic kolega byl jednu dobu nejaktivnejsi prispevatel do Rust pluginu, takze mam 1st-class support coz dost pomaha:)
    SPIRALI
    SPIRALI --- ---
    UETOYO: I kdyz to neni u zadne ISO-like organizace, tak jak to chapu ja, tak je specifikovano vse pomerne presne az na memory model. Coz je trochu problem pri psani unsafe kodu, ale trapi to primarne autory verifikacnich toolu, v praxi se uvazuje LLVM model (~ C++ model), na kterem ted stoji hlavni prekladac.
    FALL
    FALL --- ---
    UETOYO: pardon, moje chyba, špatně jsem to přečetl. Předpokládal jsem, že tam popisují cestu Rustu k RFC procesu u nějaké mezinárodní organizace typu ISO nebo IEEE, ale to je pouze popis interního RFC mechanismu v Rust "komunitě".

    Nicméně ta odpověď je hned o pár kliků vedle: https://doc.rust-lang.org/stable/ a https://github.com/rust-lang/rust

    Ano, není na tom nikde razítko nějaké "modré" organizace, ale jako specifikace všech částí mi to příjde dostatečné. Například C++ to dělá stejně (draft standardu je na githubu a konkrétní vydýání pak jen "otiskne" ISO).
    ELHO_CID
    ELHO_CID --- ---
    FALL: souhlasím, jsme tu trochu OT, ale kde je tu diskuze o MCU security? O žádné nevím.
    Fyzické útoky jsou oblast, kde klasické MCU končí a nastupují secure produkty, souhlasím. Ale i tam je ta hranice jen o kus dál a pokud má útočník k dispozici neomezený přísun virgin čipů, které si může rozlámat, tak se tím otvírají další možnosti. Nedostupnost těch čipů mimo okruh ověřených zákazníků je prostě součást security.
    FALL
    FALL --- ---
    FALL
    FALL --- ---
    ELHO_CID: uff, tahle diskuze se beojím odehrává ve špatném klubu, ale moderátor snad promine. Já mluvím o opravdovém kontaktním útoku, kdy má útočník fyzický přístup k té věci (čipu). Pro IoT zařízení a útoky z vnějšku "krabice" nebo dokonce útok na dálku přes internet/Bluetooth/atd. jsou ochrany typu secure boot, attestation atd. rozhodně dobrá věc a pokud je to napsané správně, můžou i při děravém stacku nebo chybě v aplikaci zabránit, aby útočník dostal data ven nebo aby dokázal nahrát vlastní firmware.

    Nicméně jakmile do obrazu přidáme útoky, kdy si to zařízení může útočník na pár dní půjčit domů a rozebrat, začíná být většina dnešních TrustZone implementací bezbranná, protože ty čipy nejsou stavěné na věci jako side channel/power analysis, glitching, probing atd. Takže s vybavením v řádech stovek až ticíců dolarů se útočník dostane "dovnitř" a ani TrustZone ani FW/loader/kernel napsaný v Rustu ti nepomůže. Viz například tato historka (nRF52840 má TrustZone a je mu to na nic):

    nRF52 Debug Resurrection (APPROTECT Bypass) Part 1 - LimitedResults
    https://limitedresults.com/2020/06/nrf52-debug-resurrection-approtect-bypass/

    Ano, určitě jde vývoj dopředu a v kombinaci TrustZone + unmutable OTP paměť + PUF a podobné věci budou tyto útoky stále těžší, ale bez opravdu bezpečného návrhu daného čipu aby ustál ty běžné útoky (hádání klíčů za běhu z EM záření nebo spotřeby, glitching a aktivní útok na startovací sekvenci za běhu, přímé čtení paměti když se otevře pouzdro...) můžeš jen těžko vymyslet byznys model, ve kterém bys mohl garantovat ochranu věcí, které mají hodnotu větší, než řekněme 1000 dolarů (protože to bude cena, za kterou ti X lidí ochotně takový "běžný" čip vyláme v laboratoři, t.j. dostaneš veškerý kód a data a můžeš vesele začít dumat, jakou další chybu tam mají a jak jí využít už relativně levně na zbytku těchto zařízení rozesetých po světě...)
    RUDOLF
    RUDOLF --- ---
    btw.. kdyby někoha vývoj v rustu na game jamy, tak vyšel nový release bevy

    Bevy - Bevy 0.5
    https://bevyengine.org/news/bevy-0-5/
    ELHO_CID
    ELHO_CID --- ---
    FALL: troufám si tvrdit, že consumer čipy s TrustZone už jsou i pro zkušeného útočníka oříšek, pokud je ten secure boot v produktu uživatelem nakonfigurovaný dobře. Vlastně stačí správně použít ARMovský TF-M. Ale ve výsledku jistota není, dokud na tom někdo nezaplatí hodně drahý penetration testing v nějaké renomované laboratoři. A v tom to právě je, vývoj a testování seure aplikací je drahá záležitost, takže to opravdu dělají jen velcí hráči, zatímco firmám střední velikosti vychází jako nejlepší použití JavaCard. Koupit si čip s vlastnostmi SC000/SC300 v GM je pak úplná utopie. Proto bude průnik Rust do tohohle konzervativního odvětví běh na dlouhou trať.
    Nejlepší by asi bylo začít se srovnávat s tím TF-M.
    FALL
    FALL --- ---
    A aby tu byly i názory z "druhé stran, tak je dobré zmínit, že né všichni sdílej Bryanovo nadšení...

    Back to Go, Rust is Slow (in Ways That Matter to the Most People)
    https://www.youtube.com/watch?v=5cEunr8hPE0
    Kliknutím sem můžete změnit nastavení reklam