Recently my team has been working on drones for many reasons. One reason is shipping companies will save time by sending drones to drop mail boxes instead of having delivery men getting stuck in traffic while working. Another reasons is Vlogers and many ordinary people will use drones to capture best picture. Police can also use drones to combat crime. Nonetheless keeping drones safe will be major priority; for example police using drones to fight crime could have their drones turn against them due to hackers infiltrating the drones.
What it does
What I am trying to do is implement a safe hardware implementation; there are few secured hardware implementations. DragonBoard 410 is one of the safe ones because it uses ARM V8. so it makes sense to use ARM TrustZone implementation. ARM trust-zone works by splitting memory ( RAM ) into two zones; normal and safe zone. Hacker cant able to access secure zone during flight which will make it safe to operate.
How we built it
I implemented OPTEE using customized operating system which can make it in two secured and normal zone. We ran some examples to check whether its working and can see OS switching from normal to secured world zone and vice versa
Challenges we ran into
Due to not having sd memory card available with kit, we weren't able to install our own customized operating system. To tackle this problem, we decided to use QEMU. The way QEMU works is by not only run different operating systems like virtual machine, but also changing which hardware the OS will work on. We changed hardware on our DragonBoard on Qemu and continued installing to there. We also need external memory so we can install OPTEE through cross compilation and that takes 8 GB.
Accomplishments that we're proud of
We got our safe hardware implementation to work and we completed our testing. All of our tests are passing. After this hackathon, we plan to continue to work on making more effective code for the secure world which can reduce execution time difference between switching from normal to secure and switching from secure world back to normal world
What we learned
We learned OPTEE ( open source implementation trusted execution environment ) We learned learn what is ARM TrustZone. We learned how to use QEmu. We learned how to use OPTEE
What's next for Secured World hardware implementation ( ARM Trustzone)
We will work on more advanced examples; there is a potential to drastically reduce execution time for drone flight. We will also work on making code efficient, so drone flight will not be affected.