Potent malware that hid for six years spread through routers
While analyzing some memory dumps suspicious of being infected with a keylogger, we identified a library containing strings to interact with a virtual file system. This turned out to be a malicious loader internally named “Slingshot”.
A 48Khz digital music player for the Commodore 64
Move over, Sennheiser. Make yourself scarce, Bose. Here comes the ultimate Hi-Fi solution for your living room: The Commodore 64! I s it sa...
No, PGP is not broken, not even with the Efail vulnerabilities
Recently, news broke about potential vulnerabilities in PGP, dubbed Efail. However, despite reports to the contrary, PGP is not actually broken, as we will explain in this post.
A researcher’s tale of defeating traps, tricks, and complex virtual machines
Office 365 Advanced Threat Protection (Office 365 ATP) blocked many notable zero-day exploits in 2017. In our analysis, one activity group stood out: NEODYMIUM. This threat actor is remarkable for two reasons: FinFisher is such a complex piece of malware that, like other researchers, we had to devise special methods…
Why writing a linked list in safe Rust is so damned hard
Before I start this post, let me preface it by saying that I’m not an experienced Rustacean by any means. The excellent foks at /r/rust gave a lot of helpful feedback and cleared up some misconceptions I had. Futher errata and corrections are appreciated. This post is aimed at helping other fledgling rust-learners…
The Absolute Denial of Shit
Today emoji are used by 92% of the world’s online population. The diminutive images have inspired a holiday and a $50 million animated movie. You can even make a living translating them. The Emojicon convention draws attendees from around the world. Topics of discussion at the 2018 gathering in Brooklyn include: “How…
Promises are not neutral enough
Open Source Freelancer
Making an emperor bed
In 2012 or 2013, I stumbled across the Wikipedia page for Bed Sizes [ 1 ] and discovered that the UK had two sizes larger than America's King or California King: The Emperor (7'x7') and The Caesar (8'x7')
Recursive Common Table Expressions in Postgres
Common Table Expressions in PostgreSQL are a powerful SQL construct. You can think of CTEs as a view that is materialized only while the query is running. Recursive CTEs allow themselves to be called until some condition is met. This post from the Citus Data team explores how recursive CTEs work in Postgres.
The benefits and costs of writing a POSIX kernel in a high-level language
This paper presents an evaluation of the use of a high-level language (HLL) with garbage collection to implement a monolithic POSIX-style kernel. The goal is to explore if it is reasonable to use an HLL instead of C for such kernels, by examining performance costs, implementation challenges, and programmability and…
Ethereum programming for web developers
HappyFunCorp ships AI-enabled products and custom software for web, mobile, TV, and more. Trusted by leading startups and Fortune 500 clients since 2009.
Joanna Rutkowska leaves Qubes OS, joins Golem
Earlier this year, I decided to take a sabbatical. I wanted to reflect on my infosec work and decide what I would like to focus on in the coming years. As you probably know, I’ve spent the last nine years mostly fighting the battle to secure the endpoint, more specifically creating, dev...
Atomically thin LED opens the possibility for invisible displays
Tiny device opens the door to displays that would be bright when turned on but see-through when turned off -- or in futuristic applications such as light-emitting tattoos
Augmenting Long-term Memory
One day in the mid-1920s, a Moscow newspaper reporter named Solomon Shereshevsky entered the laboratory of the psychologist Alexander Luria. Shereshevsky's boss at the newspaper had noticed that Shereshevsky never needed to take any notes, but somehow still remembered all he was told, and had suggested he get his…
Learning to write programs that generate images
Through a human’s eyes, the world is much more than just the images reflected in our corneas. For example, when we look at a building and admire the intricacies of its design, we can appreciate the craftsmanship it requires. This ability to interpret objects through the tools that created them gives us a richer…
SQL as an API language
Datasette (previously) is my open source tool for exploring and publishing structured data. There are a lot of ideas embedded in Datasette. I realized that I haven’t put many of …
Zen Magnets: 6 Years of Battle End in Victory
“We will not settle for any sort of stop-sale of magnets that are perfectly safe when not misused… We vow to continue this [legal] battle until our very last drop of cash-flow blood”, promised in August 2014 , forecasting 95% chance of a glorious honorable death of insolvency on the legal battlefield.
2,800 New Data Breaches with 80M Records Added
tl;dr - a collection of nearly 3k alleged data breaches has appeared with a bunch of data already proven legitimate from previous incidents, but also tens of millions of addresses that haven't been seen in HIBP before. Those 80M records are now searchable, read on for the full story:
What the Four Color Theorem Can Teach Us About Writing Software
A visual exploration of what The Four Color Theorem can say about software complexity.