2 ms·
Machine code is insecure, we should all run interpreted code in a formally verified interpreter. Alternatively, only allow for the execution of cryptographly
by pjmlp 2mo ago
Machine code is insecure, we should all run interpreted code in a formally verified interpreter.
Alternatively, only allow for the execution of cryptographly signed static linked binaries, this naturally includes the interpreter above.
- genxy 2mo agoIf we are sprinkling formal verification on things, we can sprinkle it on a JIT.
- bastawhiz 2mo agoBut then we'd have to admit that it's not the JIT that's a problem, it's the lack of guardrails and analysis features in the machine code interfaces that higher level languages expose!
- pjmlp 2mo agoOnly if it goes through verified bytecode, and the set of instructions is provable. The JIT must also only be allowed to call into specific code, controlled by the runtime, and nothing else.