1.2K Followers
122 Following
947 Posts
Reversing, exploits, {Windows, Hyper-V, *OS} internals, mitigations.
Apple SEAR. Opinions are my own.
Twitterhttps://twitter.com/AmarSaar
Publicationshttps://saaramar.github.io/Publications/
GitHubhttps://github.com/saaramar

Good read about cancellations in Async Rust https://sunshowers.io/posts/cancelling-async-rust/

This blogpost covers a lot of the problems in this space very well. I like how it emphasizes definitions and semantics, shows examples of bugs they came across to, and list some practical recommendations.

The "double-edge sword" of cancellation in Rust is spot on: on one hand, it's cool how "easy" and simple it is to cancel future in Rust -- you *drop* it. Especially given how non-trivial it can be in synchronous environments.

However, this also means it's far too easy to *silently* drop a future. This is scary on its own, and combined with the fact that cancellation of parent futures propagates down to child futures (because of the single ownership model) makes it much more concerning.

This post also links another (much older, Feb 2024) blogpost that covers this space well, elaborating on async clean-up problems and mentions linear types as a solution https://without.boats/blog/asynchronous-clean-up/

A lot of vendors and open-source projects are dealing with a pretty serious problem lately: a flood of AI-generated “bug reports”. These reports are, put politely, confident garbage.

It reminds me of the prize offered for solving Fermat's Last Theorem and the experience the Wolfskehl committee had. Quoting Wikipedia:

“Prior to Wiles's proof, thousands of incorrect proofs were submitted to the Wolfskehl committee, amounting to roughly 10 feet (3.0 meters) of correspondence. In the first year alone (1907–1908), 621 attempted proofs were submitted, although by the 1970s, the rate of submission had decreased to roughly 3–4 attempted proofs per month. According to some claims, Edmund Landau tended to use a special preprinted form for such proofs, where the location of the first mistake was left blank to be filled by one of his graduate students”

The real problem now is that a lot of these AI-written so called “bug reports” sound just plausible enough that you can’t automatically dismiss them. So, instead of building trust between the external community and engineering teams, companies end up wasting expensive resources reviewing mountains of garbage.

You know, why use numbers to indicate levels of things?

Cool, apparently, I have been cited by CISA: https://www.cisa.gov/sites/default/files/2023-12/The-Case-for-Memory-Safe-Roadmaps-508c.pdf

But seriously, I’m happy to see more folks mention Firebloom. Firebloom is amazing. It was super fun reversing it and revealing how powerful and life-changing it is. Definitely the right kind of mitigations. Remember, folks: always target 1st order primitives (or a stage as close to the 1st order as possible :P)

I saw this on the X site, but I don’t believe I saw it here yet, so: a very interesting architectural attack targeting AMD SEV-ES and SEV-SNP: https://cachewarpattack.com/paper.pdf

“Assessing Game Balance with AlphaZero: Exploring Alternative Rule Sets in Chess" - very interesting work.

https://arxiv.org/abs/2009.04374

Assessing Game Balance with AlphaZero: Exploring Alternative Rule Sets in Chess

It is non-trivial to design engaging and balanced sets of game rules. Modern chess has evolved over centuries, but without a similar recourse to history, the consequences of rule changes to game dynamics are difficult to predict. AlphaZero provides an alternative in silico means of game balance assessment. It is a system that can learn near-optimal strategies for any rule set from scratch, without any human supervision, by continually learning from its own experience. In this study we use AlphaZero to creatively explore and design new chess variants. There is growing interest in chess variants like Fischer Random Chess, because of classical chess's voluminous opening theory, the high percentage of draws in professional play, and the non-negligible number of games that end while both players are still in their home preparation. We compare nine other variants that involve atomic changes to the rules of chess. The changes allow for novel strategic and tactical patterns to emerge, while keeping the games close to the original. By learning near-optimal strategies for each variant with AlphaZero, we determine what games between strong human players might look like if these variants were adopted. Qualitatively, several variants are very dynamic. An analytic comparison show that pieces are valued differently between variants, and that some variants are more decisive than classical chess. Our findings demonstrate the rich possibilities that lie beyond the rules of modern chess.

arXiv.org
The organizers are doing fantastic job!
Don’t miss David Chisnall’s CHERIoT talk today at BlueHat IL! The video below shows a CHERIoT system animating LEDs with JavaScript fetched from the Azure IoT Hub with a memory safe and compartmentalized network stack, come and see how it works!
I really like this slide and how it frames `mk_timer` :) (ref: https://github.com/brightiup/Trekking/blob/main/Slides/MOSEC22-BGT.pdf by @BGT )
Trekking/MOSEC22-BGT.pdf at main · brightiup/Trekking

Contribute to brightiup/Trekking development by creating an account on GitHub.

GitHub