Kind of. One of the problems with being attacked from the lower layers is that it can be outright impossible to defend against in some cases. In other cases the defense involves significant tradeoffs, usually in performance.
Not realistically unless I have a lot of experience with driver programming. After all, I can technically hand-edit the machine code of a binary blob too.