I recommend that you approach it from an engineering perspective rather than a programming perspective. Secondly, rather than a focus on security, you might get more from research into fault-tolerant and high-reliability design principles and methods.
To get started, I suggest that you acquire three books. Find the most clear, concise, and insightful books that represent these three domains:
- Digital Systems Design
- Computer Architecture
- Operating Systems
And browse them for the fundamental ideas.
From there, you may find value in studying Joe Armstrong's
thesis on fault-tolerant software concepts, and the core papers it references. (He is one of the primary Erlang guys - the thesis is concurrent-distributed system centric).
Another source of foundation and insight might be gleaned from the Ada community. This
video is a very accessible introduction. The entire sequence of requirements documents that are mentioned in the video can be found
here. And there may be some value in looking at the latest efforts of that community's high-reliability technology -
http://www.spark-2014.org/about - and it's application in embedded systems -
http://www.inspirel.com/articles/Ada_On_Cortex.html
With an understanding of the principles and methods of fault-tolerant, high-reliability systems engineering, the issues of security can probably be addressed in a more robust way.
Finally, I suggest that anyone taking on such a research project be very careful not to assume that the current-off-the-shelf computing systems are representative of mature best practices, or even good decisions. What currently exists is largely the product of rapid market-driven evolution and frontier pioneering rather than fully conscious, fully comprehending, and deliberating design. A re-factoring and revolution is in order, IMnsHO.