And the problem always is: how are you going to verify that the terminal you're using is running precisely the version of software you've seen?
There's an awesome online course touching all those topics and then some, from J. Alex Halderman, Associate Professor in University of Michigan. It's called 'Securing Digital Democracy' and is available on Coursera: https://www.coursera.org/learn/digital-democracy