← All projects
Project record01 mention
Originally shared on Hacker News

SaRCAsm (safe runtime capability-enforcing assembler)

A safe runtime capability-enforcing assembler that makes assembly memory safe. It works and OpenSSL has been ported to it, though the author does not yet have full confidence in it. Once complete it will replace zunsafe, Fil-C's escape hatch, which is currently only used for OpenSSL's assembly; hand-written assembly is otherwise needed to avoid timing side channels.

Last shared
01 / The problem

What it addresses

Hand-written assembly (e.g. in OpenSSL) is unsafe and currently requires zunsafe, Fil-C's escape hatch, since without calls out to assembly OpenSSL has too high a risk of timing side channels.

02 / Source history

Shared over time

Each entry reflects what was shared on that date. Details may have changed since then.

  1. SaRCAsm (safe runtime capability-enforcing assembler)

    A safe runtime capability-enforcing assembler that makes assembly memory safe. It works and OpenSSL has been ported to it, though the author does not yet have full confidence in it. Once complete it will replace zunsafe, Fil-C's escape hatch, which is currently only used for OpenSSL's assembly; hand-written assembly is otherwise needed to avoid timing side channels.

    Problem: Hand-written assembly (e.g. in OpenSSL) is unsafe and currently requires zunsafe, Fil-C's escape hatch, since without calls out to assembly OpenSSL has too high a risk of timing side channels.

    Posted by @pizlonator · Original comment ↗

    “The SaRCAsm (safe runtime capability-enforcing assembler) works and I have OpenSSL ported to it but I don’t yet have 100% confidence in this. Once this is done I’ll be able to get rid of zunsafe (the closest thing to an escape hatch in Fil-C; it’s only used for the assembly in OpenSSL; without calls out to assembly, OpenSSL has too high risk of timing side channels).”