The risk, there, is "you" are unlikely to be expert enough in that science -- esp if it is an emerging technology. (Or, has political repercussions). So, YOU take on some risk in the hope that the other folks responsible for those aspects of the project are up to the challenge, don't bail out, die, etc.
Clients always wonder why your billing rate is so high... you have to remind them of the uncertainty involved, vs. being a "regular employee" (which is by no means a certainty but considerably less risky than a bleeding edge project with uncertain funding, skills, market, etc.)
Didn't find your answer? Ask the community — no account required.
D
Don Y
As with most technical problems, solutions exist -- usually within the existing frameworks.
In my case, I built a compressed image of the "system disk" and installed it on a portion of the disk that wasn't accessible to the OS (nowadays, disks support such things via HPA and DSO).
Then, configured the machine to reboot on logout and a "loader" that would drag the compressed image back in and decompress it onto the "real" portion of the disk.
This is similar to how "recovery" partitions now work. It's costly to do on each boot. But, if you limit the amount of "stuff" on the disk, it doesn't take long to perform these steps.
[I still use it as a way of AVOIDING support for users who want to be careless with their machines (laptops). If you want anything to be persistent, save it on a writeable partition *or* external medium.]
Nowadays, you can deploy a sandbox and let the user work entirely in the sandbox, then delete and recreate it on reboot. This protects the current machine from PERSISTENT alterations (but doesn't protect data from being siphoned off the machine as the sandbox only works one way -- blocking writes)
[I.e., malware could still install itself in the sandbox -- due to the actions of the user -- and "tattle" on the activities of the user as long as the session remains active]
D
Don Y
E.g., I designed an electronic kilowatt-hour meter in the 80's. Relatively easy to solve in terms of electronics, software, etc.
But, there were no tariffs in place (e.g., telco) to facilitate remote collection of the data. So, it cut down on SOME of the cost of reading a meter -- and improved accuracy, timestamps, etc. -- but the meter-reader still had to visit the premises.
A 50c meter read may have become a 47c read but not enough to justify the cost of replacing meters, wholesale (and, replacing them piecemeal saves almost nothing!)
W
Waldek Hebisch
Conside computer laboratory for students. Not exactly public space but almost: anybody could came from outside and have access to computers (but only valid users had accounts). We had password on BIOS, password on bootloader. BIOS was configured to boot only from hard drive. Some machines were Linux-only, some dual booted to Linux and Windows. In the Windows 98 era Windows partition was rewriten overnight using image stored on the server. Later this process was broken by changes to Windows, but Windows security get a bit better, so we relied just on Windows security.
There was also a machine running DOS program available to general public. This DOS program run inside DOSEMU, machine booted to Linux and automatically logged in DOSEMU user, startup environement for that user started DOSEMU, so for users that looked just as a DOS machine, except for that files were subject to Linux permissions. The actual reason for doing this was that the DOS program accessed data on several CD-s. Linux allowed storing CD-s on HDD, so everything just worked from HDD which was nicer than dealing with CD-s.
Certainly this was breakable. One possible way would be for one student to leave a program displying something like a system login screen trying to get a password from fellow students. Most students learned to use magic key combination to force logout of previous user, so this was not a big problem. Another way would be to exchange keyboard for a modified one which logged keystrokes. Keyboard is somewhat bulky and somebody binging in new keyboard could be noticed, but equvalent effect could be obtainde by adding some tiny extender plug for keyboard.
On the really public machine above user did not need to provide a password and was not expected to enter any passwords, so protecting users was not a problem.
In practice we had no traces of anybody trying to setup a keylogger. OTOH, RAM in one machine got stolen (after that we installed locks on computer cases).
D
Don Y
There are no "accounts"; Windows just thinks of you as "User" (and not "Administrator"). No passwords, etc. No antivirus software to require updating. No blocks on sites that you can visit (because all those things require maintenance and someone to perform that on a continuing basis)
I overwrote the image each time the previous user logged out. So, a user just saw THEIR machine as "booting up" (if they happened to come right on the heels of the previous user logging out)
No server to maintain, just a hidden portion of THAT disk drive.
If the shared printer ran out of paper or died, some "staff" person would have to take care of that.
[I once got a panicked call that the printer had stopped working -- someone had moved it and disconnected the network cable to make it easier to do that. Of course, they forgot to reconnect the cable afterwards.]
You don't have to install a keylogger or otherwise try to "hack" the next user in order to "compromise the followon user's use of that machine".
You could change settings to create confusion as the user is expecting the machine to behave a particular way (i.e., the way it did YESTERDAY).
You could replace "New Text Document.txt" that the user had left on the desktop with your own "New Text Document.txt" causing the first user to wonder why it is no longer what he expected it to be.
You could change browser defaults (search engines, etc.). Or, alter the system default printer.
All things that don't require any special "privilege" as they are all happening on the *one* "User" account. (creating an account for each possible user on each possible machine would be ridiculous; setting up an authentication server would require maintenance)
Note that none of these are intentionally malicious; you're just leaving things the way YOU like them -- at the expense of the next user's expectations for them to be the way they were previously. There's no one on-hand to assist the users so the machine(s) have to behave in a predictable manner.
Note that these students GOT to the lab on public transportation so don't have much choice as to when they will arrive. And, will depart on the same mechanism -- so have to watch those schedules lest they end up sitting around waiting for another bus, etc. Wasting even a few minutes of their time on something unexpected has more consequences than delaying your DRIVE home.
Life is already hard for them so any inconvenience just makes it harder for them as they *try* to complete their goals.
In college, we weren't as "accommodating" of our fellow students. It was a relatively common practice to crash the server (no individual workstations back then -- PC's didn't exist) just after you finished YOUR homework... to encourage your classmates to do THEIRS before "the last minute" (particularly effective for classes early on Monday morning where there were no staff on hand to reboot the machine).
[Each class had its own server, typically running an OS that the professor had authored (with the help of his graduate students). So, lots of little bugs to exploit: list volume 2 (when the count is 0-based so the second volume is actually "1"). Overwrite the kernel memory, swap area, etc. Having an endless supply of engineering students on hand to stress your design is invaluable; except to the other users! :> ]
Join the Discussion
Have something to add? Share your thoughts — no account required.
Didn't find your answer?
Ask the community — no account required
Report Content
You are reporting this content to the moderators. They will look at it
ASAP.