As we welcome 2025, I'd like to take a moment to reflect on what an extraordinary year 2024 has been for Brown CS Secure Systems Lab (https://gitlab.com/brown-ssl/). It has been a year of innovation, creativity, and growth—both for the lab and for me personally as its director. Witnessing the passion, dedication, and brilliance of our team—Neophytos Christou, Alexander Gaidis, Marius Momeu, @dijin, and Vaggelis Atlidakis—has been truly fulfilling and inspiring!

In 2024, we tackled complex challenges and made significant strides in advancing our research on software hardening and OS kernel protection. Here are some highlights from this remarkable year:

✳️ Marius Momeu presented #SafeSlab at @acm_ccs #CCS2024. Safeslab hardens the Linux SLUB allocator against exploits that abuse use-after-free (#UaF) vulnerabilities, using #Intel #MPK. (Joint work with Technical University of Munich and @mikepo.)
📄 https://cs.brown.edu/~vpk/papers/safeslab.ccs24.pdf
💾 https://github.com/tum-itsec/safeslab

✳️ Neophytos Christou presented #Eclipse at @acm_ccs #CCS2024. Eclipse is a compiler-assisted framework that propagates artificial data dependencies onto sensitive data, preventing the CPU from using attacker-controlled input during speculative execution.
📄 https://cs.brown.edu/~vpk/papers/eclipse.ccs24.pdf
💾 https://gitlab.com/brown-ssl/eclipse

✳️ Di Jin presented #BeeBox at the @usenixassociation Security Symposium 2024. BeeBox hardens #Linux BPF/eBPF against transient execution attacks. #usesec24
📄 https://cs.brown.edu/~vpk/papers/beebox.sec24.pdf
💾 https://gitlab.com/brown-ssl/beebox

✳️ Yaniv David presented #Quack at the NDSS Symposium 2024. Quack hardens PHP code against deserialization attacks using a novel (static) duck typing-based approach. (Joint work with Andreas D Kellas and Junfeng Yang.) #NDSSsymposium2024
📄 https://cs.brown.edu/~vpk/papers/quack.ndss24.pdf
💾 https://github.com/columbia/quack

✳️ Marius Momeu presented #ISLAB at @ACM #ASIACCS24. ISLAB hardens SLAB-based (kernel) allocators, against memory errors, via SMAP-assisted isolation. (Joint work with Technical University of Munich and @mikepo.) #asiaccs
📄 https://cs.brown.edu/~vpk/papers/islab.asiaccs24.pdf
💾 https://github.com/tum-itsec/islab

🏆 #EPF (presented by Di Jin at @usenixassociation #ATC 2023) was the runner-up for the "Bug of the Year" award ("Weirdest Machine" category) at IEEE Symposium on Security and Privacy LangSec (Language-Theoretic Security) workshop 2024! #atc23 #LangSec
⌨️ https://langsec.org/spw24/bugs-of-the-year-awards.html
📄 https://cs.brown.edu/~vpk/papers/epf.atc23.pdf
💾 https://gitlab.com/brown-ssl/epf

🏅 I am honored and delighted to have received the "Distinguished Reviewer Award" at @acm_ccs #CCS2024!

🏅Alexander Gaidis has been awarded the "Distinguished Artifact Reviewer" award at the @usenixassociation Security Symposium 2024!
https://cs.brown.edu/news/2024/09/20/brown-cs-phd-student-alexander-j-gaidis-has-been-named-a-usenix-security-2024-distinguished-artifact-reviewer/
#usesec24 #proudadvisor

📢 I had the great pleasure of discussing some of these works recently at the Computer Systems Seminar at Boston University!
📽️ https://www.bu.edu/rhcollab/events/bu-systems-bu%E2%99%BAs-seminar/

#brownssl #browncs 🚀

Brown Secure Systems Lab · GitLab

https://brown-ssl.slack.com

GitLab
Does "not fucking up parsing by actually reading and understanding the underlying language" already count as #langsec work? Asking for a friend.

"Moving security from the developer to the compiler

After years of code auditing, publishing and teaching good practice and still finding the same problems, we must admit that current methods do not work.

To the authors, it mostly points to the necessity of changing one key part of the design of software: the programming language. Using a safe programming language, the security moves from the developer to the compiler.

This ensures that no security check will be forgotten, and that the compiler will be able to use its knowledge of the code (like read-only variables, non-aliased values, memory management etc.) to produce code that is both faster and safer. It also allows to not only fix bugs, but rather to fix bug classes."

#langsec #memorysafety

http://spw17.langsec.org/papers/chifflier-parsing-in-2017.pdf

Curious to see if the #Crowdstrike bug will be eligible for one of the #LangSec Bug of the Year awards. From what we know so far, a bad parser of "channel files" seems to be involved...

It is looking more and more like the whole thing happened due to malformed data files and a parser that crapped its pants trying to parse them. 🤦‍♀️

With that in mind, I'd like to suggest we all spend some time reminding ourselves of, or learning about, #LangSec:
https://langsec.org/

✨ LangSec® ✨
Don't pull a CrowdStrike!™

#InfoSec #CrowdStrike

@carey @tj right. If it's hot-patching the kernel then it is presumably undermining Microsoft's kernel driver signing thingy?

I mean even if it's a data file with some signatures, and the parser in the driver is so bad it goes belly-up when the file is not properly formatted, that's an immense fuck-up.

Looks like #CrowdStrike needs to learn about #LangSec.

At the #langsec conference, "Universe of PCX 1700 PCX files" from the Internet Archive credited by the discoverers of the logofail EFI firmware security bug, via Alex Matrosov, because it was their only effective way to get a fuzzing corpus for the PCX parser in most EFI firmware. Bravo (and cc @textfiles).

Sitting in the #langsec workshop, "Towards Language-Theoretic Security for Dynamic Documents", Will Crichton and Shriram Krishnamurthi.

The authors are essentially proposing Android-style capabilities permissions with user prompts, except that you can mark individual classes as needing the capability. The point is to make rich documents without creating extra data flows, but it can be bypassed.

It does, however, pose a good threat model base for documents.