There would be some potential convenience in having it though I would try to achieve that other ways.
It could probably be possible to make SMB secure enough on Linux having it run in a container, virtualised, etc and read only secondary copy (a clone / replicant, not master editable copy) as well as with monitoring (you always assume they manage to find a way in so also have fallbacks).
I doubt you can do anything so easily with windows and I doubt they have so many fallbacks.
It's not just the ability to remote access files (if they make it the master copy to and RW) but also those kind of services are known to be stuffed with exploits. A simpler file transfer mechanism can likely be better audited or controlled.
SMB probably gives far more features than they really need. If you really want it I would have multiple computers on the device. Things get sent to a raspberry PI one way through internal link and that can share all kinds of ways. Still not as simple as it sounds though.
In Windows, your best bet is to keep the system patched, disable null sessions, have no anonymous shares, have a strong password policy on the machine, have good lockout policies, and enable SMB signing. But that's an unbelievable amount of risk to adopt on a voting machine.
Keeping it patched is useless if you want to keep out anything more than script kiddies.
It workstation or personal computer security policy is very different in certain ways to that for other circumstances and this is one of them.
Patching ritually can introduce problems when your situation is particularly sensitive so you don't just do things in the traditional ticking checkboxes approach or just doing the things that are well known to do but people don't really understand.
However, removing or otherwise disabling anything that's not needed is universally applicable. You would turn off virtually all network services except perhaps basic DHCP, etc.
The biggest problem for things like SMB is that they have a long history of having things like remote execution exploits. It's also a black box and a hard service to trust as it's often more lumbering than you need.
Signing is for local network security which is another problem. Actually it can be quite a big problem if someone is able to plug in something that detects the voting machine then tries to rival its shares and manages to do either MIM or just manufacture the data in the same format.
It's worse if they can alter the master record because you can't just go back then and check again so easily.
I'm going to have to disagree with the first statement—Windows is so full of holes that you're in trouble if you're connected to the internet without your security patches (or at least deploying some sort of mitigation for the vulnerability). My comment was specifically for securing SMB shares, but yes, there's a lot you need to do in order to properly secure Windows, which is why it's dangerous to put our voting infrastructure on that platform and connect it to a network.
I'm less concerned with remote code execution in SMB (although this thing probably hasn't been updated in a while) and more concerned with user enumeration, anonymous shares, etc. And if an attackers happens to know the password for a user on the box and SMB is open, it's pwned. It also needs to only allow SMBv3. SMB signing isn't signing the data—it's a security technique that prevents SMB relay attacks, which is important if these machines are connected to a network that's going to be accessing the shares.
Another thing that'll probably make you sick is that these machines have autorun enabled. So it would only take a flash drive with a malicious executable to compromise the entire thing. Yeah, there are security covers for the USB ports, but that shouldn't even be a question.
I'm in infosec as well. With the amount of junk you can do with SMB shares sitting on a network, having them on voting machines is appalling.
Then wait for these machines to get locked up by a cryptolocker “attack” once forensic investigators from the guvmint show up, hiding all evidence
There would be some potential convenience in having it though I would try to achieve that other ways.
It could probably be possible to make SMB secure enough on Linux having it run in a container, virtualised, etc and read only secondary copy (a clone / replicant, not master editable copy) as well as with monitoring (you always assume they manage to find a way in so also have fallbacks).
I doubt you can do anything so easily with windows and I doubt they have so many fallbacks.
It's not just the ability to remote access files (if they make it the master copy to and RW) but also those kind of services are known to be stuffed with exploits. A simpler file transfer mechanism can likely be better audited or controlled.
SMB probably gives far more features than they really need. If you really want it I would have multiple computers on the device. Things get sent to a raspberry PI one way through internal link and that can share all kinds of ways. Still not as simple as it sounds though.
In Windows, your best bet is to keep the system patched, disable null sessions, have no anonymous shares, have a strong password policy on the machine, have good lockout policies, and enable SMB signing. But that's an unbelievable amount of risk to adopt on a voting machine.
Keeping it patched is useless if you want to keep out anything more than script kiddies.
It workstation or personal computer security policy is very different in certain ways to that for other circumstances and this is one of them.
Patching ritually can introduce problems when your situation is particularly sensitive so you don't just do things in the traditional ticking checkboxes approach or just doing the things that are well known to do but people don't really understand.
However, removing or otherwise disabling anything that's not needed is universally applicable. You would turn off virtually all network services except perhaps basic DHCP, etc.
The biggest problem for things like SMB is that they have a long history of having things like remote execution exploits. It's also a black box and a hard service to trust as it's often more lumbering than you need.
Signing is for local network security which is another problem. Actually it can be quite a big problem if someone is able to plug in something that detects the voting machine then tries to rival its shares and manages to do either MIM or just manufacture the data in the same format.
It's worse if they can alter the master record because you can't just go back then and check again so easily.
I'm going to have to disagree with the first statement—Windows is so full of holes that you're in trouble if you're connected to the internet without your security patches (or at least deploying some sort of mitigation for the vulnerability). My comment was specifically for securing SMB shares, but yes, there's a lot you need to do in order to properly secure Windows, which is why it's dangerous to put our voting infrastructure on that platform and connect it to a network.
I'm less concerned with remote code execution in SMB (although this thing probably hasn't been updated in a while) and more concerned with user enumeration, anonymous shares, etc. And if an attackers happens to know the password for a user on the box and SMB is open, it's pwned. It also needs to only allow SMBv3. SMB signing isn't signing the data—it's a security technique that prevents SMB relay attacks, which is important if these machines are connected to a network that's going to be accessing the shares.
Another thing that'll probably make you sick is that these machines have autorun enabled. So it would only take a flash drive with a malicious executable to compromise the entire thing. Yeah, there are security covers for the USB ports, but that shouldn't even be a question.