DEF CON 32 - Anyone can hack IoT- Beginner's Guide to Hacking Your First IoT Device by Andrew Bellini @d1gitalandrew
TLDR:- An Walkthrough covering the methodology, tools, tactics and a <$100 toolkit to find your first IoT vulnerability.
@SunnGod23@B0SSBowseR@MeesterKeem This is normal when opening old pokemon card boxes. The boxes are almost always worth more than what is in them cause they are no longer produced and every time one is opened the boxes get rarer.
BREAKING NEWS: Riot just announced Vanguard On-Demand. Vanguard no longer needs to start at boot.
If you enable Secure Boot, TPM 2.0, VBS, HVCI, and IOMMU, Vanguard will only run while you play. Microsoft built a Runtime Driver Attestation Report that lets Vanguard verify driver integrity without needing to be present at boot.
For everyone who complained about Vanguard running at startup, this is the answer. Enable your hardware security features and it goes away.
The blog also breaks down every cheat vector in detail: kernel exploits, BYOVD, DMA hardware cheats, bootkits, hypervisors, and pixelbots. With real data showing cheaters deliberately downgrade to older Windows to avoid security features.
https://t.co/qjuA7VJ34D
Some of the best security engineers in the industry working on one of the hardest problems in gaming. Massive respect for publishing this level of detail publicly.
@deteccphilippe@nickeverdox@aidankhoury
#AntiCheat #Vanguard #GameSecurity
@0day_ninja Calling that the conclusion is extremely misleading. MSRC has always documented the security boundaries of Windows and it has always been clear that PatchGuard isn't one of them. Also don't get me wrong I'm not a fan of PatchGuard.
Sigh... I think it’s time to address some recent controversy.
For the past few months, I've been experimenting with AI coding agents to familiarize myself with this new programming paradigm. The result of that experiment is the samloader-rs project.
I chose "Samsung firmware downloading and flashing" because the problem space is small and self-contained compared to something like Magisk. It’s also genuinely useful to me; none of the existing tools fit my exact needs.
Regardless of what you think of the codebase, actual engineering work went into this. I reverse-engineered the LZ4 data transmission by myself because I didn’t know the brokkr-flash project existed at the time. With no code or docs to reference, I pulled out Ghidra for the first time. I’m the first to admit I’m an assembly noob, so my approach definitely has flaws.
And yes—99% of the code in samloader-rs was written by AI. I have never tried to hide this! But every single commit was reviewed, tested, and tightly guided by me. I drove the development and purposely delegated only the "coding" part to the agents.
The Samsung firmware scene is new to me, and I used AI to catch up to speed so I could make tangible progress. It’s not perfect; AI cannot replace years of human research.
However, seeing people use my learning curve and my use of AI to completely discredit my contribution to this project—and worse, use it to discredit my legacy on Magisk—is incredibly disheartening. I’m just trying to learn, build, and share in an area completely new to me.
I built Magisk on the shoulders of many existing open-source efforts, and today, forks and derivative projects stemming from it are flourishing. To me, open source has always been about learning. It’s deeply saddening to feel discouraged from doing exactly that, simply because I used AI as a tool.
Balancing a full-time job and starting a new family in a foreign country means real life takes a toll, and free time is incredibly sparse. Without these new AI tools, dedicating the time and effort required to dive into a brand-new area of interest would be nearly impossible.
To be honest, I kinda regret open-sourcing samloader-rs. It exposed my lack of knowledge on a new topic and thrust me right into the middle of the AI coding controversy. 🫤
Everyone tends to think of swapfiles being disk based.
In reality, swapping to RAM is exponentially more popular.
If you have a traditional model of memory in your head, this makes NO SENSE. Swap is that thing we use when the system runs out of real ram right?
You know, RAM fills up, swap out to SSD to give the OS some breathing room. Why (and how?) would you swap to memory…very thing that’s full?
Well, Modern CPUs are ridiculously fast at compression, especially with something light like lz4. Zswap intercepts old pages, quickly compresses them, and then crams them back into system RAM. If you’re lucky, you might be able to fit ~3-4 compressed pages into the space of 1 traditional page.
Of course, this also has the benefit of not prematurely wearing out your SSD.
Mobile has done this for *years*, I know Android specifically has used this for a decade+. Regular Linux is catching up, Fedora uses zram by default now. The NT kernel (windows) also has their own implementation of in-memory compression, you can see it in task manager quite easily!
Anyway, it’s a fun trick used everywhere that few realize. Towards the future, I wouldn’t be surprised if inline, accelerated LZ4 starts showing up in the majority of CXL controllers.
@TheGodOfEnergy@ChShersh Rust has an equivalent but that is not it since it is guaranteed to panic. Undefined behavior means the program can do anything crashing in a controlled manor like a panic is not guaranteed. This is the equivalent https://t.co/nNvMQ6Ki2f
MY TED TALK IS OUT NOW!!!!!!!!!!!!!!!
The link is in my bio to watch it. I hope you guys love it. Thank you all for bringing me here and thank you @TEDTalks for everything.
SPEED IS THE MOAT: AMD ROCm software stack has improved performance by over 75x in the last 14 days since DeepSeekv4 launch. The performance comes from fusing mHC operations & also fusing RoPE hadamard transformations to reduce cpu overhead & improve HBM memory utlization. Furthermore, other kernels like the attention indexer & kvcache compressor has been written using TileLang & Triton for fast development velocity.
Another 5x performance improvement is needed to catch up to single node aggregated B200 performance & then another 1.5x is needed to catch up to PD disaggregated B200 performance, which is within the realm of possibility for AMD within the next couple of weeks. Great work to HaiShaw, Thomas, @roaner, @AnushElangovan for this rapid improvement.
@thdxr I love rust, but tauri aggressively over promised things and still isn't mature enough to use. If you do want to make a gui app in rust my recommendation is to use iced or egui.
🦀 Google shipped Rust in the Pixel 10 cellular baseband. Not an app. Not a service. The modem firmware itself.
🔒 They replaced a C-based DNS parser : a known source of memory-safety CVEs, with one built on hickory-proto. Bare-metal, no_std, FFI into existing C allocators. The whole thing.
🪛 The DNS parser is just the wedge. The build system integration is now in place. More Rust in the baseband is coming.
📈 This is what incremental adoption actually looks like.
🔗 https://t.co/9PlBSN7vzN
#Rust #RustLang #MemorySafety #EmbeddedSystems #Android
I wrote 90% of the SPU code in Twisted Metal. (A lot of it was moving PostFX off the GPU.) I'm proud that it got called out for being SPU-intensive. It sure was! We basically maxed out the PPU, SPUs, and RSX all at the same time. 😝
@JamesStanard@rpcs3 My understanding is that a big part of SPU intensive games be finally viable is AVX-512 finally being available on consumer hardware and even still it takes a lot of very clever tricks to make it work.
@olson_dan@mjackson It is a low bar but I would definitely say that Zig tends to take memory safety substantially more seriously than C despite not guaranteeing it compile time