Based off @wimremes's request yesterday about what you need, equipment-wise, for a hardware lab, I thought maybe it useful to start a thread for the basics (well some bits aren't that basic and ill highlight them when they appear)
First a disclaimer, this is my personal lab
I surround myself with super-intelligent people who are far better at this than me. I'm lucky in that they've educated me and we also have a friggin' amazing commercial lab in the office where I learned a lot.
Before you start building/hacking/prototyping anything, you need to ask yourself this simple one question:
What is it you want to achieve?
This sets the basis for the rest of the thread.
Do you want to extract firmware from ICs and memory?
Do you want to prototype stuff?
Do you want to fix stuff?
Do you want to learn how it works? what the protocols are?
Don't just rush out and buy shit, understanding what it is you want to do is vital.
Anyway here is, what I feel is the bare minimum to get you started.
TOOLS.
You need good tools. @iFixit make amazing kits and I love their stuff. Add a good tweezer set, some good cutters, a good wire stripper and this will set you right.
Buy the best you can afford.
Digital multimeter.
You don't need a fluke. They are amazing, believe me but they are expensive. Get one with additional test lead probes such as clips for when you want to free up your hands. You will use this a LOT!
Burning lead.
A good soldering machine + hot air gun is vital if you are going to desolder/solder stuff. Again buy what you can afford and get extra tips.
Soldering brings all the geeks out to everyone's yard. There's so much crap you can get but I find the below works best for most of what i've had to do so far. Good paste, different solder, brushes and nail polish remover (acetone), electrical tape and solder wick.
If you are building or even tearing apart, a bench power supply is really useful I've found. It's not vital but again it helps a lot and they aren't super expensive.
Oscilloscope
I'll admit this still makes me feel like an imposter. It does have a high learning curve, don't let anyone convince you otherwise but once you get your head around it basically being a time machine, then you are good.
This isn't vital, think of it as aspirational
Logic Analyser.
Buy a @saleae now. Honestly, this team is amazing, and their hardware/software. Version 2 of their app now has community extensions and be still my beating heart, I love them!!
You'll use this to sniff what is happening on the board/between components etc.
Microscope and goggles.
You may laugh but my eyes are old now. A huge thanks to shitty CRT monitors in the 90s means I can't see as well as I used to. My microscope helps me SO MUCH as well as my jewellers goggles for soldering etc.
Label machine.
Laugh all you want but this is where all the cool kids hang out. Hardware means lots of shit, if you don't organise the stuff you will forever be hunting for it.
Easy to grab, you know where it is. Order and control.
Then when you start building, you need components like capacitors, resistors, and many other things. They are cheap, buy sample books and boxes.
Also, my Vernier calipers are hugely important, for example measuring PCB traces to find power
Mr @joegrand's book is also vital, along with @bunniestudios and the new one from @colinoflynn (which I can't wait to get and read, I'm beyond excited)
So who do you follow here to learn more? Well that's a whole new thread but my main mentors who I'm super lucky to call friends too are
Remember you build up your lab as you learn and grow. I'm still a n00b and feel like an imposter every damn day but that's ok as no-one is an expert.
Learn. Share. Ask questions.
The hardware community is super small but the most friendliest
I forgot one really useful thing I did recently. I'm a klutz by nature so using sticky back magnets on my cutting mat means I can add all the small screws and other bits AND it stops them rolling off.
• • •
Missing some Tweet in this thread? You can try to
force a refresh
It's a sunday and many friends sent me this paper by Maryam Motallebighomi and Aanjhan Ranganathan delving deep into their security assessment of Shimano's Di2 wireless shifting architecture and hardware
Needless to say, with the football on, I delved deep into understanding it a bit more
1: Replay Attacks - let me change gear for you
2: Targeted Jamming - now you can't change gear
3: Information Leakage - gear selection leakage (meh dude i can SEE this
Ok they are meh bugs
The researchers were able to execute replay attacks from a distance of up to 10 metres using software-defined radios without amplifiers
They note that beyond this distance the signal falls outside the effective range
I'm going on a web app security rant, so bear with me.
23 years ago OWASP was formed and it tried to help the web application space and those building apps to do so in a secure way. Session management was one of them.
If you had a token, in a header/cookie, make it secure
We've evolved this over the decades, we collectively got better with understanding the nuances and complexities of this identity being thrown around and the consequences of not doing it right.
and yet, even with all this VC cash thrown at people wearing Patagonia vests and wearing apple watches, I still see most SaaS solutions doing stuff we did when Rain Forest Puppy was hurting SQL
Patch ALL teh things we constantly tell CISOs and CIOs.
Thing is, let's be honest with each other right? we can't and this graph is telling.
Patching is a pain, we get it and we do need to revolutionise the approach. Two years ago, @LargeCardinal wrote a phenomenal paper
where, in essence, the idea was to prioritize patches by expressing the connectivity of various vulnerabilities on a network with a QUBO and then solving this with quantum annealing.
Strap in, we's going on a ride, a static analysis ride. I recently came across this paper, which looked at a wide variety of SAST tools against a number of Java apps.
Java being the choice of enterprise, and often not the best Java approaches out there, so it's a good choice
First up, what did they use and what did they benchmark it against?
They looked at free tools, tools that specifically supported Java and most importantly, are being actively maintained.
The target was the @owasp project, a good choice imho. They also looked for Java apps with bugs with disclosed CVEs which was around 680 programs.
Bugs happen but it's rare you see a bug that grabs you so hard and makes you nod like a little dog..
CVE-2023-44487 did that for me
good god what a bug and here's why
First up is understanding the key differences between HTTP 1.1 and 2, especially how requests work
HTTP 1.1 is a text-based protocol that uses a single connection for each request/response pair. Every time you request the / from , it will be a diff request NSA.gov
for each element of that page (CSS, images etc)
HTTP 2 is a binary protocol that utilises multiplexing, which allows multiple requests and responses to be sent simultaneously over a single connection
An interesting new feature found in @Apple’s latest privacy and security report is that of Link Tracking Protection and I’ve not stopped thinking about this
First up it’s pretty cool. My views on the pervasive nature of the tracking industry are not something I’ve hidden away: it’s an ugly industry with no real oversight, so any efforts to put a finger in their eye is one to applaud
The approach by Apple is interesting
First up is the deeper inspection (I’m assuming client only) that intercepts any url and does a regex on it to strip out utm and other crap added to the url
If it works like that, I’m impressed. However, how much stuff will it break in the process? I guess time will tell