LLVM dodaje intrinsics o stałym czasie wykonania, aby chronić kod kryptograficzny
Trail of Bits wniosła wsparcie dla wykonania w stałym czasie do LLVM (proponowane dla LLVM 22), wprowadzając intrinsic __builtin_ct_select (llvm.ct.select.*), które wymuszają kompilację selekcji warunkowej do kodu maszynowego wykonującego się w stałym czasie. Na x86-64 obniżają się one do cmov, na AArch64 do CSEL, a na innych celach stosowane jest maskowane rachunkowe (masked arithmetic). Benchmarki ETH Zürich (zestaw Breaking Bad) oraz wczesne integracje (HACL*, Fiat-Crypto, BoringSSL, HACL*) pokazują, że intrinsic zachowują własności stałego czasu przez wszystkie poziomy optymalizacji przy minimalnym koszcie wydajności. Praca rozwiązuje długoletnie ryzyko kompilatora, w którym bezgałęziowy, wykonujący się w stałym czasie kod źródłowy może zostać przekształcony w gałęzie zależne od danych, umożliwiając ataki kanałem bocznym opartym na czasie na tajemnice kryptograficzne. Trail of Bits planuje kolejne intrinsic dla arytmetyki stałoczasowej i barier wyrażeń w całości, a zmiana wzbudziła zainteresowanie społeczności Rust, Swift i WebAssembly, co oznacza, że każdy język celujący w LLVM może to przyjąć. Dla traderów kryptowalut zmiana redukuje klasę podatności implementacyjnych w szeroko używanych bibliotekach i toolchainach kryptograficznych, zmniejszając ryzyko operacyjne dla usług powierniczych, giełd i projektów DeFi polegających na kryptografii programowej.
Neutral
Jest to przede wszystkim usprawnienie bezpieczeństwa i narzędzi, a nie zdarzenie, które bezpośrednio przesuwa ceny tokenów. Poprzez zmniejszenie klasy podatności implementacyjnych w bibliotekach kryptograficznych i kompilatorach, zmiana obniża ryzyko operacyjne i wykonawcze dla usług zarządzających aktywami kryptograficznymi (powiernicy, giełdy, portfele, DeFi). To redukuje ryzyko ogona dla konkretnych projektów zależnych od dotkniętych bibliotek, co jest konstruktywne dla długoterminowej stabilności rynku, ale nie spodziewa się, by wygenerowało natychmiastową presję kupna lub materialnie zmieniło krótkoterminowe wyceny tokenów. Krótkoterminowy wpływ: minimalny — traderzy prawdopodobnie nie będą reagować dużymi zmianami pozycji jedynie na podstawie tej aktualizacji narzędzi. Długoterminowy wpływ: umiarkowanie pozytywny — ulepszone gwarancje kompilatora mogą zmniejszyć przyszłą możliwość wykorzystania kluczy prywatnych i implementacji, obniżając ryzyko systemowe i dodatkową premię za bezpieczeństwo dla projektów, które przyjmą toolchain. Ogólnie aktualizacja jest pozytywna dla bezpieczeństwa, ale sama w sobie nie wpływa na cenę.