Daniel Cuthbert Profile picture
Aug 1, 2021 21 tweets 7 min read Read on X
It's a Sunday.
Kids are playing Lego
Wife is chilled

Guess this means it's teardown and tinker time with IKEAs indoor pollution sensor
Ok it's pretty well-designed. David Wahl is the designer, who's responsible for a lot of pretty damn good designs. Has usb-c to power but doesn't come with a cable.
Inside the beast.
Main heart is a Eastsoft ES7P001FGSA MCU. So far can only find the datasheet in Chinese. But it has the pinouts so that's all I need I guess for now
Connected to the PCB is the PM 2.5 sensor and fan. This is a PM1006 v1.1 sensor
Always handy when they silkscreen the test points
Soldered on a wire for easier access to GND and plugged in the PCBites
Added some wires to make it easier later on
Slight delay due to kids wanting to go and BMX.. box back together with wires and I'll hopefully work out what and how later on
Normal healthy reading
Unhealthy smoke reading
Amber reading
The PM1006K receives 11 02 0B 01 E1 from the MCU and sends out the results
I guess tomorrow I could add some wires to the following pins on the MCU but not 100% sure what else it would give me, but hey, I'm on holiday so...
Scratching around I've managed to find this.
This means I can take those readings and push them into this and up to @adafruit's IO
The design of this is actually super impressive. It's easy on the eye, the LED panel works very well and the MTTF is + 5 years, which for a tenner is bloody amazing.

and it used usb-c and not the funny older ones like most do.
Because when you have the itch over how a pm 2.5 sensor works, you need to scratch it hard journals.plos.org/plosone/articl…
Carrying on exploring. Wanted to see the MCU request the values from the PM and the returned values. First up with Sally the oscilloscope.
Then with the @saleae

You can see 5 bytes being sent by the MCU, 11 2 0b 01 E1, which takes 5.01 ms to get the response back.

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Daniel Cuthbert

Daniel Cuthbert Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @dcuthbert

Jun 21
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.

We have standards, STANDARDS man, github.com/OWASP/ASVS/blo…
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
Read 10 tweets
May 2
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 Image
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.

Now working with Mark often has me saying 'dafuq you saying bruv?'arxiv.org/pdf/2211.13740
but once he's put down his markers and explained it to me like the child I am, it made sense.

A QUBO problem involves finding values for binary variables (i.e., variables that can only be 0 or 1).
Read 10 tweets
Apr 11
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 Image
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. Image
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.

This gives them a fair amount of apps to look at, which is goodowasp.org/www-project-be…
Read 21 tweets
Oct 11, 2023
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
Image
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

much better. more efficient. many wows Image
Read 16 tweets
Jun 9, 2023
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 Image
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
Read 6 tweets
Jun 9, 2023
Here’s the thing right: if you are building any application/binary or indeed something that takes input and uses that to form the basis of further functions/actions, you kinda need to think about robustness.

Imagine a HTTP POST request to /remote/portal/bookmarks
What is needed is Content-Length, which indicates the size of the corresponding body. This is how the web works, so to send and indeed accept a zero byte body is odd and you’d check for that right?

Bueller? Right??
Well it seems not and there’s a brilliant write up of why this was a problem that caused a segfault in a SSL VPN appliance by Aliz Hammond over at @watchtowrcyber

labs.watchtowr.com/fortinet-and-t…
Read 9 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us!

:(