2

I have programmed my own Windows kiosk application (.NET) which requires admin rights from the OS to ensure certain services are running (amongst other things).

However, this causes the UAC prompt every time the application starts. Obviously this is not ideal in a kiosk situation where the power may be switched off or if silent updates are required.

Other than a non-scalable trick using Task Scheduler, there is unfortunately no way to add exceptions for the UAC prompt; although I can understand why this is.

The other caveat is the kiosks will also be connected to the internet.

But, given the situation, disabling UAC entirely seems to be my only option.

If my software is the only thing that will ever be installed (on a clean OS), is this safe enough, or will it still be open to random attacks from the internet (excluding any security flaws in my own software, of course)?

All advice appreciated - thanks.

  • John Deters gave a great answer, the only thing I would add to this is that devising a way to easily reimage the systems is a good idea if you haven't already. – theterribletrivium Nov 19 '14 at 18:50
  • Also, look at other ways to approach the problem. Why does the logged in user need to be an admin? Can the logged in user just be a normal user, and post signals to a separate admin task to do the needed admin stuff? – John Deters Nov 20 '14 at 23:32
3

Remember, the "U" in UAC stands for User. In the case of a kiosk, who is the user? Almost certainly it will not be you.

What good outcome could you expect from UAC on a kiosk? Do you expect it to prevent the installation of malware if someone is surfing to evilsite.com? Do you expect the bored kid who surfed to evilsite.com to tap "no, I didn't mean to install a virus on this kiosk?" Also consider the case where you're trying to send out a patch, and UAC prompts the screen for yes/no; some random customer at your kiosk decides to helpfully tap "no".

UAC needs to be off for a kiosk. It's not a question of "is it safe?" Your security has to come from your other activities hardening the machine. You have to disable accessibility keys, task manager, and a host of other things that can be started by hot keys or gestures. You have to block browsing to unapproved sites. You have to lock that machine down hard, and even so you should expect that clever script kiddies will find a way to infect it; so it's even more important that you isolate it from the rest of your network in a DMZ.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.