Basically, I just heard that Microsoft was giving away free Intel Galileo boards and I signed up for shits and giggles and did not really expect to be granted one.
Part of the signup process (which I think is still open) is stating what you plan to build with the board. I can't remember exactly what I wrote, but the one thing I do remember mentioning was investigating security related problems and solutions in the Internet of Things (IoT) space. A month or so later and I still find the topic interesting so that's what I'm going to do.
Microsoft shipped the board from the USA for free which I thought was pretty cool, but when I received the package it was pretty obvious that Microsoft had really spared no expense!
I did not get just a board and a piece of paper or two in a small, plain, cardboard box like I was expecting. No, they also threw in everything you need to get up and hacking on the board from the word go. They even include a USB Ethernet adaptor which at the time I supposed was for those with Ethernet-less ultrabooks. Later I realised most neckbeards would be upset if they had to unplug their Ethernet from their desktop or have the board in a separate room so the additon of the adaptor makes a fair bit of sense when you're really trying to woo people with Cheeto-dust coated fingers.
The heavily bubble-wrapped item contains (as the label suggests) a LED so that you can dance with delight when your Hello World code beats the hardware into submission and creates a blinking light. The SD card contains a pared down copy of Windows intended specially for the Galileo (rev1) board sporting the Intel Quark SoC X1000 (400Mhz, 32-bit, single core, single-thread, i586 ISA).
Yeah. This thing runs Windows.
Wikipedia suggests that the Galileo officially runs the Yocto Project Linux distribution.
I'm not a massive hardware person - it's cool and all but it's not really for me. However, I don't mind playing with hardware long enough to go and write some interesting software to go with it! Microsoft's development tools for this platform seem fairly nice and their site seems to be pushing Open Source. I'll give Microsoft's tools a go but hopefully I work out how to program the board from Linux just so that I can work comfortably. Maybe I can compile code on the board itself because it runs it runs Windows and has 256MB of RAM.
So what do I plan on doing with this?
Short story is: I don't think the world is ready for IoT because there are massive security problems. The security problem isn't IoT specific - heck, it's been around for 20+ years already in the form of embedded network-connected devices such as your average home router that are innevitably abandoned by manufacturers within a few months of shipping. I want to demonstrate how bad this is problem is within an IoT setting and also attempt to provide some solutions.
...Solutions? Why haven't they been applied to the 20+ year old case already? Good question.
Some of the obvious solutions have been applied. There is software such as OpenWRT which is able to update itself constantly due to bringing an almost-normal Linux ecosystem onto embedded devices. Open Source (many eyes & transparency) and updatable software goes a long way to ensuring basic security... But what if you have a dozen of these IoT devices around your home? Well we already have management software for server clusters for both Linux and Windows so it shouldn't be hard to take that idea and apply it to IoT devices running these Operating Systems right? Obviously it'd be trivial to work with a Galileo running Linux but it will be interesting to see how a Galileo running Windows goes.
It might be a little while until my next post as I have a lot of University work to do but I am looking forward to the procrastination opportunities my new project will provide.Comments powered by Disqus