Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

While I'm far from convinced this is a useful thing: nginx is "untrusted code"?


Anything receiving potentially malicious input should be untrusted and sandboxed if possible. That includes the network stack itself in high-assurance, security products. We also prefer simple, rigorously-analyzed software with high predictability. Other stuff often has vulnerabilities. Nginx is nearly 200,000 lines of code per an interview with CEO I just skimmed. Lwan, made for security and maintainability, is about 10,000 lines of code in comparison:

https://lwan.ws/

Lwan's actually small enough that mathematical verification for correctness against a spec is feasible, even though costly. Unlike Lwan, I could never have any hope of proving the correctness of Nginx. Even its safety would be difficult just because of all the potential code interactions on malicious input. Leak-free for secrets it contains? Forget about it. Best bet is to shove that thing either in a partition on a separation kernel/VMM or on a dedicated machine. The automated tooling for large programs does get better every year, though. One can use any compatible with Nginx. And still shove that humongous server into a deprivileged partition just in case. ;)

https://os.inf.tu-dresden.de/papers_ps/nizza.pdf

https://genode.org/

https://www.ghs.com/products/safety_critical/integrity-do-17...


User code is generally not trusted with kernel privileges, no.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: