When Does Usability Become a Liability? 930
nasteric asks: "I caught myself in the middle of a very interesting discussion last Friday over Krispy Kreme donuts and coffee. The discussion had to do with usability and security. Many of the Microsoft Administrators I work with argued the more user friendly Linux becomes, the more vulnerable it becomes. They claimed making Linux a friend of Joe User will require it to 'open itself up' and become more susceptible to attack. Needless to say, this became an endless debate between our Microsoft Administrators and our Linux/Unix Administrators that will undoubtedly continue into the morning. Therefore I pose this question to the Slashdot community. Will making Linux more user friendly result in it becoming less secure? Hopefully your expertise will help shed some light on (and bring to and end) our discussion." Does decent usability necessarily imply the presence of vulnerabilities? Macs seem to have this area down pretty well, with little in the way of vulnerabilities. Can Linux software follow the same route?
Wha? (Score:3, Insightful)
Also, since the editorial already starts us off with an "OS X vs Linux" flamewar, let me add to the discussion... Windows and Linux admins in the same organization? What organization is this?!
Why do people think that the command line [osnews.com] is *not* "user friendly"? Do we write books by pointing and clicking at icons, avatars, and pictures? Except under amazing cirumcstances (Steven Hawking, the blind, etc) would you hire an author that did? Then why a system administrator?
Re:Wha? (Score:5, Insightful)
Extremely poor analogy.
We spend literally decades learning to read and write and even then very few people are actually any good at writing books. Natural language is also, compared to computer languages, extremely stable. Natural language are also exactly that - natural. Our brains evolved to support them and our languages evolved over millenia to suit our brains.
Understanding images is considerably more important than language and certainly long pre-dates any human language- written or spoken.
And I'm sure you've heard the expression "A picture is worth a thousand words".
So, your point would be?
Comment removed (Score:4, Insightful)
Re:Wha? (Score:5, Interesting)
Apparently, the lead engineer is quoted as saying "a word is worth a thousand pictures" when it comes to GUI design.
Re:Wha? (Score:5, Funny)
A picture is not ~1000 words.
Re:Wha? (Score:5, Funny)
Re:Wha? (Score:4, Interesting)
I agree, but not with your inference. You suppose that a computer language does not have this property, but as it is produced by the human brain without constraints upon it, surely it is an even purer reflection of the human brain's inherent language ability (however much it is inherent). There might have been constraints in the old days, but have you tried Python yet?
More on-topic however, I agree with the original poster but for not for his reasons. The picture / point-and-click approach is more of a use-base method rather than one based on underlying theory.*
The danger with this is you get people who do things by the step-by-step book instead of through a true understanding. Like how a mechanic used to have a good grasp of how an engine worked and nowadays tends to just follow the official process.
*Doesn't have to be, but it is.**
**My gods, I'm using footnotes in a
This depends on what you define as ease of use... (Score:5, Insightful)
There's a lot of things that are purely cumbersome because of the GUI under XP or MacOS.
Re:This depends on what you define as ease of use. (Score:4, Interesting)
for instance...
Dad sits down to a computer for the first time ever and see this:
#linux>
In his head - What is the first thing to do? Maybe type a sentence?
#linux>Show me what you do.
Show: command not found
#linux>What the heck does that mean?
What: command not found
Hmm - looks like the first word I type does something. I should try help
#linux> help
#linux> linux
linux: Command not found
At this point, dad tries to read the manual, but it's all so much techno-gibberish that he is lost by the third page. He smashes monitor with his typewriter.
Icons:
Dad starts computer and sees a screen with three pictures and a menu bar with Start on it. He clicks Start, and some more pictures appear. He selects one of the pictures from the menu and it starts the program. He tries to click a picture on the Desktop and it does nothing. He's not really sure what to do with those, but he can run them from the Start menu, so he ignores them.
So what did we learn from this?
GUIs have multiple solutions to the same task while CLIs usually don't (aliases break this slightly, but require being a little less noob)
CLIs require directions to learn at least the basics, and often those directions aren't easy enough to understand for the computer illiterate.
GUIs facilitate learning by showing the options, where with CLIs you need to find the options, and then usually the options for the options.
CLIs have a lot of configurability that GUIs have, but not ease of learning. Even once learned, the options need to be remembered, where a GUI will put them all in front of you if done correctly, although it has a tendency to get buried in submenus (like Preferences).
Re:Wha? (Score:5, Insightful)
What is easier - a multiple choice test, or a fill in the blank test?
Re:Wha? (Score:4, Insightful)
If you have limited computer background, icons, menus, and dialog boxes can help with choices and can help people cross OS boundries a lot easier, or learn the next version.
Without that frame of reference, the choices mean nothing.
Re:Wha? (Score:5, Interesting)
a. To know that there is a `man' command
b. To know which command to even bother looking up.
Then expecting a n00b to dicipher a man page is a leap. I also have never seen an icon or have I even seen anyone make a shortcut to the "format c:
Also, you imply there are 'wrong' choices, when in fact, there is not really a 'wrong' choice per se, just not the specific function you're looking for. If this is the case, you choose one of the other choices and move forward. Now you know what that other function does for when you do need it and have also completed what you set out to do. Not likely to get the same quick understanding on cl.
The main benefit of a gui is the flattening of the learning curve. It is not as efficient as knowing exactly what you want to do at the cl - this is true, but gets you to a point to where you can be somewhat productive. Obviously being adept at the cl will make you more efficient.
Re:Wha? (Score:5, Informative)
Sorry, I do not have the source available. The study was discussed in the NYT within the last year or so.
Re:Wha? (Score:5, Interesting)
Re:Eating in France (Score:4, Funny)
No word in English (Score:5, Interesting)
As far as I can tell, there is no word in everyday English that means 'being unable to speak the local language'.
This is quite a common occurance nowdays. Hop on a plane and within a few hours you can be in a place where you can't speak the local language. But we don't have any word for that condition.
Allow me to propose the new word:
illinguate
from 'illiterate' and 'linguistics'.
Re:Wha? (Score:5, Insightful)
Seriously though, I'm an author and do a lot of writing. We are a visual species - look at the popularity of TV, movies, and video games. Why are GUIs popular? It gives you a lot of information in a small amount of space. Think small applets, like CPU usage or disk usage. More information can be sent quicker using a pie graph and setting colors than just giving raw capacity and percentage used.
But writing is much more precise. When you write something down, you need to know *exactly* what you're saying and who you're saying it to. Otherwise the meaning could be lost.
Re:Wha? (Score:5, Insightful)
Re:Wha? (Score:5, Interesting)
It depends. The command line can be quite user friendly.
copy a b
That's a fairly easy way to understand how to copy a file in dos. But in the gui world, a person has to remember to right click and say copy (or ctrl+c) and then right click on the destination and say paste (or ctrl+v). Or remember that if dragging files between folders not on the same drive, the file is copied by default but if dragging between folders on the same drive move is the default in windows. KDE does this better, always asking the user what to do with files drug from one location to another.
As far as your example goes, it really depends on the os. In my copy example above, linux would have the user us cp. Well, how does the user know that? If the os let a person say:
burn song.wav to cd1 as audio-cd
burn all songs in c:\mp3 to cd1 as data-cd
that would be pretty easy and friendly. But no os does that AFAIK. No reason you couldn't make a bash alias to do that and then it would be easy for people.
On the other hand, I just found a really handy little program called sequoiaview that gives you a visual representation of how much space your files and folders occupy on a drive or network share. There's no way a command line utility could convey the amount of information in the sequoiaview window in as easy a fashion.
The thing to remember is that usability is Hard. Very Hard. But it isn't the medium that's restrictive, it's the capabilities of the person creating the interface.
Re:Wha? (Score:4, Informative)
burn song.wav to cd1 as audio-cd
burn all songs in c:\mp3 to cd1 as data-cd
that would be pretty easy and friendly. But no os does that AFAIK. No reason you couldn't make a bash alias to do that and then it would be easy for people.
Actually, that looks pretty close to AppleScript. Unfortunately, the "ease of use" tends to become a liability to advanced users, as they have difficulty remembering the syntax.
Re:Wha? (Score:5, Insightful)
Take your example to 'copy a b'. Is a the object or the indirect object? In order to find out, you have to consciously learn a particular grammar. You could do English-like where 'copy a b' means 'copy a to b' or switch positions, where 'copy a b' means 'copy to a, b' . Some natural languages actually use that kind of syntax. My point here is that your ad-hoc syntax is ambiguous from the start, and requires explicit training as to what exactly the grammar is.
Contrast that, for example, a GUI where you have two different folders, anybody immediately understands an object's movement from one place to another. As a species, we're pretty good with language, but visual processing has been going on for millions of years longer.
Re:Wha? (Score:4, Insightful)
A GUI should facilitate work getting done and then get the hell out of the way. Interupting the user's concentration and workflow by popping up a dialog asking how to move files is absurd. Changing the move behavior based on whether the destination is on the same drive is equally absurd. An interface needs to be consistant and forgettable. A user should never have to fight with the interface to get their work done. The specific task at hand - be it typing an essay, editing a photograph, or composing a musical score - should be all the user has to concern themself with. Computers are supposed to do the hard work while we get the important stuff done, not the other way around.
Command lines aren't *learner* friendly (Score:5, Insightful)
Once you have that training, the command line is a very useful tool. But if you can't get the training, and aren't self-sufficient or technically apt enough to go to the bookstore and buy a book on how to use the command line, you're screwed.
That's why people like having icons for things. The message icon is your mail program. Don't have to remember what it's name is, or where it's at. Just click.
Command Lines Different kind of Learning (Score:5, Insightful)
Re:Command Lines Different kind of Learning (Score:5, Insightful)
None of that is remotely friendly especially considering it is all something I could do in Windows only using a mouse. Two or Three buttons is a hell of a lot simpler than 104+
Re:Command lines aren't *learner* friendly (Score:5, Funny)
Re:Wha? (Score:5, Interesting)
Tracy Hickman (of Dragonlance fame.) has professed to using a "help you write" tool. Despite using what ammounts to a novel-wizard, his last four or five books were all NYT best-sellers. And he probably wrote the manuscripts in a GUI environment.
As for the CLI itself--it's not that CLIs can't be user-friendly, it's that they simply aren't. A user-friendly, intuitive command line would:
* Have plain-language redirects to all commands (swipe some code from a twenty-year old Command-line game if you must!)
* Have a help-file that's intuitively found and starts with the basics--file maniuplation, directory navigation, et al.
* Give immediate and clear feedback that something is working.
Re:Wha? (Score:4, Informative)
Its not as bad as you make it sound. The software in question is essentially a directed brainstorming application that helps authors make sure their ideas for a novel adequately cover the many different levels that many critics think are essential for a 'good book'. It isn't exactly 'point and drool'...
Re:Wha? (Score:5, Interesting)
Talk about an asinine knee-jerk reaction!
The whole point of bringing up OS X was as a proof-of-concept that the sort of user-friendliness which Linux is moving towards does not automatically mean weak security. It has nothing to do with flame-wars, and everything to do to paying attention to what others in the industry are doing. (Something everybody should do, unless they want to lose in the long run.)
let me add to the discussion... Windows and Linux admins in the same organization? What organization is this?!
Damn near every Linux-centric organization I've ever been a part of, for a start. If you are a software company, you are going to have customers on Windows. If you are going to support those customers at all, you need to make your shit work in a Windows environment, which means maintaining a Windows environment.
Mixed environments are the norm, not the rule. A lot of companies even have a few Novell systems lying around doing stuff. Show me a "pure" Linux shop, or a "pure" Windows shop, and I'll show you an IS department run by a raging platform bigot.
Why do people think that the command line is *not* "user friendly"?
The command line is extremely user friendly. Having to remember the names and locations of dozens of config files in order to perform basic upkeep and maintenance of your server is not. I don't know about you, but I need to crack a book open to remind myself how to add a virtual host to my Apache web server each time I do it. If I was constantly editing the httpd.cnfg file (or whatever the hell it is), I wouldn't need to look it up every few months just to remember all the lines that need to be changed, but since it's only an occational change, a GUI front-end that held my hand through the process would not be entirely unwelcome. Granted, a badly designed GUI tool which lacked the flexibility I expect from raw config file edits would be ignored, but do it right and I would never need to open that file in vi again. That's what people mean when they say "user friendly."
Re:Wha? (Score:5, Insightful)
The whole point of bringing up OS X was as a proof-of-concept that the sort of user-friendliness which Linux is moving towards does not automatically mean weak security
-----
I think everyone's ignoring that Apple was able to prevent the unitiated general run-of-the-mill script hacker from exploring the innards of their system for many many years before Windows became mainstream. Sticking with their ultra-super-secret closed model they've bred an OS that's secure not just because of the code it runs but because of the mindset and the historical knowledge and background of their top level programmers and designers.
If we would take the Mach32 kernel and give it to a bunch of MS jockeys and ask them to produce OS X I have no doubt that it would be a security nightmare. Apple's been refining their methods for decades.
Simple (Score:5, Funny)
Write better SQL! (Score:5, Funny)
Re:Write better SQL! (Score:4, Funny)
What you need to do (Score:4, Insightful)
Re:What you need to do (Score:4, Interesting)
Here we go again... (Score:4, Insightful)
OK, here we go:
Re:Here we go again... (Score:5, Insightful)
Re:Here we go again... (Score:5, Insightful)
When a hole is discovered, the number of people who get hacked is equal to the number of people who are running the affected software who don't patch in time.
If a luser wants to run telnet to get to their Linux server as root... they're just asking for trouble. Good thing most people who understand what to do at a bash prompt already know that. The problem comes when people who don't understand that SSH is better for a huge reason want to see a Linux command prompt on a remote server...
Re:Here we go again... (Score:5, Insightful)
This theory needs only a slight modification to become valid...
It's popularity among stupid people that breeds vulnerabilities.
Apache may not have very many holes, but it's far too easy to write a PHP script that gives away the keys to the kingdom if you're not careful. A password of "password" is insecure on any system.
Just Called Tech Support... (Score:3, Funny)
I cannot wait to hear from "Jack" and hear how his beloved "Mets" are doing in this fine baseball season.
I await with interest to hear his small talk about traveling on the "NJ Turnpike" to work.
Tech Support. You gotta love it.
Yes (Score:5, Insightful)
Re:Yes (Score:5, Insightful)
Hmm, I was under the impression that most viruses these days just need a stupid email client (read: Outlook), with no intervention by the user required one way or the other.
Yes, I suppose there may be a way to disable the braindeadedness of Outlook, and that some may regard users as "stupid" if they do not lock down their system in this way. But, given that MS pitches Windows as the everyman's OS, does it not make much more sense to place the burden on *them* to provide a reasonably secure default setup, such that it is reasonably resistant to simple script-kiddie attacks "out of the box"?
There's a difference between stupidity and ignorance. In this case, it seems to me that the OS design is stupid, and if the user is ignorant of this fact, then they are in trouble.
Re:Yes (Score:5, Informative)
Re:Yes (Score:4, Informative)
> Most "viruses" at the moment need a stupid user.
Hmm, I was under the impression that most viruses these days just need a stupid email client (read: Outlook), with no intervention by the user required one way or the other.
A virus, by definition [ic.ac.uk], requires human intervention to propagate.
A worm [ic.ac.uk] can propagate without human intervention.
Usability is always a liability. (Score:5, Funny)
Re:Usability is always a liability. (Score:5, Funny)
Re:Usability is always a liability. (Score:5, Funny)
It's all in the install program... (Score:5, Insightful)
One of the biggest design flaws in Linux from a usablity perspective is that nearly every service that comes with the system is turned on by default.
Re:It's all in the install program... (Score:4, Informative)
Re:It's all in the install program... (Score:3, Insightful)
WinXP SP2 will supposedly change that, to increase security by decreasing the number of services enabled by default. I think this question is good now, but should also be revisited after WinXP SP2.
Comment removed (Score:5, Insightful)
It's all about the end user (Score:5, Interesting)
Making Linux more user friendly, in my mind, means improving upon the features that revolve around the GUI. The great thing about Linux is how much you can customize it; you can strip away the GUI and have a powerful production-level server environment. This is different from Microsoft products, as the ease of usability encompases the operating system.
Linux is much more "modular", in that you can build exactly what you want; an installation could take up anywhere from a few megs to a few gigs. The security and vulnerability lies in the end user.
oh of course! (Score:3, Interesting)
Mac OS X "trojan"? (Score:5, Insightful)
It doesn't "expose" some fatal flaw in the OS, nor is it some newly discovered exploit. All it is was an application that displayed a dialog box. Mac OS applications (with the exception of Cocoa applications) have always been able to have:
a.) any icon, and
b.) any name
The only remotely slightly interesting feature of this proof-of-concept was that it stored the executable code within an MP3 ID3 tag, and even contained valid MP3 data. But that's mostly irrelevant, since the executable code could be anywhere, and the code can't even be moved in raw binary form without destroying the resource fork. Though the major media outlets haven't picked up on the subtleties of this thanks to Intego's FUD-mongering and self-serving press release, this "trojan" is nothing more than a Carbon application. (Though, the discussion that comes of this will be fruitful: maybe Apple will revisit yet again the filesystem metadata vs. file extension dichotomy, and discuss novel ways of visually identifying executables, perhaps in the same fashion as aliases.)
So, to get on-topic, no, an OS doesn't necessarily have to become less secure to become user-friendly. Some (most?) of the security of an operating system, both from a user perspective and network perspective, comes from underlying philosophical design principles and fundamentals - not to mention the intensive peer examination that open source software encourages. Sure, some user-friendly "features", such as auto-opening attachments in the preview pane of Outlook, exist to make things "easier" for the user. But this is a wrongheaded approach: a sensible focus on security can solve the majority of problems without necessarily making it harder on the user. Ease of use and security aren't entirely, or even mostly, mutually exclusive.
The key is making security easy to use.
But the age-old technique of "tricking the user" will ALWAYS be possible via various means, on any OS on any platform.
Re:Mac OS X "trojan"? (Score:5, Informative)
I assume that most Mac mailers observe the MacMIME [cmu.edu] spec. This makes sending forked files through email a transparent process.
(Not arguing with the rest of your post -- I think it would be a lot easier to trojan Mac users with a "Install this Cool Screensaver" thing instead of jumping through hoops with a fake MP3.)
totally incorrect (Score:4, Insightful)
If Usability implies vunerability... (Score:5, Insightful)
Absolutely Inevitable. (Score:5, Insightful)
Once Linux gets to the point that it can be administered by people who aren't dedicated specialists, it's inevitable they will try it out and that most of these people will be less careful administrators. After all they aren't dedicated *nix admins and will often wear many hats in their organization. This doesn't mean that Linux is insecure, it's just a growing pain that it has to go through.
Don't forget how many people fall into the "it's working, it's now forgotten" category. These are the people that only perform oil changes on their cars and wonder why it eventually breaks down on them - and there are a lot of them. They won't patch it, back it up or anything else until the day it inevitably comes crashing down around them.
Re:Absolutely Inevitable. (Score:4, Interesting)
To quote a musician I know... "I'm an amateur. I don't need to practice."
The only difference in quality of output between a lot of amateur musicians and a lot of professional musicians is the amount of practice. With more practice a musician makes fewer mistakes and can repeat the same music more consistently every time.
One pottery class I heard about divided the class into two groups. One group was given the job of making just one pot in a semester, but it had to be "perfect". They spent the entire time studying and preparing for that one pot. The other group was told not to worry about quality but to make as many pots as they could. Each group would be graded differently. At the end of the semester the group that made one pot each had made their pot, and the group that made as many as they could had made a lot of pots. The pots made by the people who were aiming for quality were consistently bad. They had made mistakes in their pot making, come across issues that they hadn't encountered in their research and so on. The other group had a range of pots. Their first pots were awful. Their final pots were excellent. They had learned from their mistakes throughout the course and had continually experimented with different firing temperatures, glazes, and so on.
So, what am I trying to say here? The professional who doesn't practice is not going to be any better than the amateur who works hard at it his art. I've been involved in printing from an amateur stand point and I would be confident enough with some (but not all) of the "home-brew print jobs" that I have done that I would quite happily pass them to a pro with no expectation that they "squeem" in pain. Some talented amateurs will always be better than untalented pros, the best output from untalented amateurs will beat the worst output from untalented pros and vice versa. Talented pros and talented amateurs will both produce good and bad work, but the best work of both will be on a par.
Z.
p.s. I used an 1854 Albion letter press for fine press printing. I can set type by hand using a case of type and a compositors wand, I can ink and run the (hand) press well, but I can't prepare the paper. My father (the owner of the press) can prepare the paper, and is better at page layout and adjusting the form. We both have our strengths and weaknesses but for rank amateurs our "home-brew print jobs" have done remarkably well. I also have a degree in Applied Physics and another in Software Technology, I am definitely no more than an amateur printer.
Ok, we're on to you. (Score:5, Funny)
Cheese it, it's the cops!
depends (Score:3, Interesting)
I think linux can be user friendly without all that but with anything the more layers you add to it the complexity and ability to keep it secure will become harder. Not impossible but harder. At least with linux you will know were the problems are instead of having it for 2 years and then finding a patch for it one day.
Yes (Score:5, Interesting)
A "user friendly Linux" (Lindows, anyone?) will have to be very, very careful not to end up down this same path.
Re:Yes (Score:5, Informative)
There is no need to log into an admin account to do any of this kind of stuff under OS X.
I've also never seen an OS X app that says you have to give all users all perms to the root folder, or have everyone running as admin, or open up the program folder for everyone to write to because settings are being stored in the wrong dang place.
Windows could be a lot more secure, but Microsoft doesn't go far enough to shame software vendors into sticking to the logo requirements. How many times have you Windows admins had to support a desktop app or driver for a peripheral that REQUIRES admin or power user rights? It's insane that there are Windows programmers that are still writing crap like this today.
It's all in the account setup... (Score:5, Insightful)
It's really more of a user eductation issue than a technical one. The best security practices are usually in counter to an element of ease of use.
Re:It's all in the account setup... (Score:5, Informative)
Except it's not quite the same. On Linux, graphical apps, at least the ones that are part of the distro's admin tools, prompt for the root password if they are started by a regular user. Windows XP, as far as I've been able to tell, doesn't do this. Ordinary *nix apps are designed to run with user-level privileges, and this has been so from the beginning. Many Windows apps, however, are written with a permissive environment like Windows 95/98 in mind, so apps do things that only work if the "Program Files" directory is writable. Most Linux distros have a regular user account created as part of the installation. Any additional users created as part of a Windows XP installation have Administrator privileges by default.
On a typical Linux box, running as a regular user is usually the path of least resistance. The opposite is true for Windows XP.
"Microsoft Administrators" have no perspective (Score:5, Interesting)
User friendly does NOT imply vulnerable, nor vice versa. I've posted before about building secure systems and securing existing ones. The techniques are, for the most part, well known albeit tedious, though I do anyway. (I even posted a security advisory to BUGTRAQ today...)
As long as the people making Linux user friendly keep security in mind when designing and implementing the new features, there will be no problem.
SELinux to make Linux even better (Score:4, Interesting)
We'll soon be able to run apache securely, even with a gaping security holes that allow browsers to execute arbitrary code. We'll be able to download code and run it in harmless environments where privilege escalation is impossible and the bounds for operation are clearly set. And this will be the default setup for every linux user.
Re:"Microsoft Administrators" have no perspective (Score:4, Informative)
How about "familiarity breeds contempt"?
How about post hoc, ergo propter hoc?
The anti-usability bullshit must stop. (Score:5, Insightful)
Of course if you have elitist programmer types who use their case-modded Amiga's to talk to talk to each in Klingon don't expect your user experience to be one 'Joe User' can use or enjoy. If you are one of those people who are disdainful of people not as smart as you and want to keep Linux/OSS in the hands of your CRT tanned brethren then by all means continue to disparage and FUD usability all day long - just don't complain about Linux's adoption - EVER.
A few things for folks to remember:
Yes. (Score:3, Insightful)
Now let's face it, the ease of use your friends are talking about is things like not having to use a user ID and password when you turn on the PC and, most especially, not having to "su" to install spyware ^H^H^H^H^H^H^H pop-up blockers.
Yes... but not for the reason you think. (Score:3, Insightful)
[As | If] Linux becomes more 'userfriendly,' security will suffer. This is not because it becomes inherently more vulnerable, but because it becomes accessible to ever less competent people.
A *NIX system does have inherent security advantages over Windows, but it still requires a very competent Admin to do a thorough job. Right now, I'd lay money (based on experience) that the average Linux Admin has a far better understanding than the average Windows admin simply because he needs to. This is going to change.
Consider that in my day, a programmer was still a computer scientist. Nowadays, I have to work with people who took a few months at a college course using a Visual design package and couldn't even program a Bubble Sort routine. It'll be similar with Linux security.
How about the implementation? (Score:3, Interesting)
End users generally either accept defaults, or install everything they can - regardless of if it's anything they'd ever use. This also means opening all the ports for the applications they install (by default, in Windows). They're simply not experienced enough to appreciate what they do.
My limited experience in Linux (I consider myself a very average user at best) with Red Hat and Fedora distributions is that it opens itself up for whatever I install as well. I often find myself fortunate if I can get 80% of what I install working, so I suppose that's inherantly more secure.
However, I still use 14 character passwords in Windows and Linux. I still set appropriate permissions on files in both Windows and Linux. Vulnerabilities will always exist, regardless of platform. I fail to see how wider use would make the produce less secure, however.
Using Security (Score:5, Interesting)
SELinux (or, hopefully, a similar system with a sane configuration/management interface) can also assist with this by limiting what vulnerabilities can do.
And the interface design itself helps. Microsoft's attempts at usability equate to "do everything automatically." Compare this to GNOME where the design is based not on automation, but on streamlining. I fully believe GNOME is *more* usable than Windows in almost every way, yet it hasn't the security problems as apps don't try to auto-run executables from untrusted sources, embed scripting languages with system-modification abilities, etc.
In truth, the interface can be designed such that it makes using security easier, vs hiding security away.
Convenience vs Security (Score:4, Insightful)
The argument is usually phrased as "Convenience vs Security." They can be seen as being opposed. That's not quite the same as "Usability vs Vulnerability" but that's the direction your friends' arguments were pointing.
I'm not sure that it always holds true that you have a single gradient between Convenience and Security. You can have elements of both, and it's not just a fractional position between two extremes.
For example, the 'root' problem is that root or Administrator can do anything on the system, so cracker types will focus their attention on the major prize. The alternative would be to spread rights and responsibilities into fine-grained accounts like "backup" and "network" and "installer" and other capabilities. An attacker has to work harder, but the machine's owner does too.
However, that doesn't mean that you're going to have to allow web browsers and email clients to execute unknown privileged code. Many of Microsoft's engineers in the 90s had no concept of trust and privilege, and it showed. Those few who understood the implications couldn't drive the rest of the overwhelmingly "convenience-driven" corporate culture to really care about the down-sides to an all-root-all-the-time lack of security. Now that Microsoft knows the implications, their inertia has them at a strict disadvantage: they must change, and in so changing, they break their #1 asset: long-term backwards compatibility.
MS Admins are experts on Linux security? (Score:5, Funny)
Apple doesn't think so (Score:5, Interesting)
One nice trick Apple discovered is to have the users be non-root, yet still administrative. (Did you hear that, Lindows?) They did this by creating tools that run as root, but which require authentication to run. For example, a mortal user who is an administator can't trash the whole filesystem by dragging and dropping important items, because they are not root. But they can run Software Update, an application for downloading patches, by supplying a username and password.
On Linux you can add users to the group "wheel" and make them sudoers with much the same effect.
Apple also made many important directories like /etc invisible from within the GUI, which I think is a great idea as long as power users can turn it off.
Seems easy and secure to me...
Guess what (Score:5, Insightful)
As secure as you think OSX is, anyone who wanted to write an application to fuck stuff up, call it "Super Happy Funtime Sexy Game", and email it to morons, could do so just as easily as they could with a VBScript file.
I could write:
#!\bin\sh
rm -rf
cat
echo Linux is teh gay!
Email it to some stupid people, tell them they have to run it as root or else they wont see the video of Condoleeza Rice's tits.
Stupid people will run what came with the box they bought at Best Buy. When those boxes start shipping with linux, they'll be on linux. The REALLY stupid people shop at K-Mart, who I understand are in the business of ubercheap linux boxes these days.
Be afraid, be very afraid, of the rootkits that get put on this new army of lindows boxes.
Re:Guess what (Score:5, Interesting)
Why is this modded as insightful? Anybody who knows how to run something as root (and how to do it) would know how to look at the script and decide what it's doing. It's not like OS X has a "Run as Root" button on the toolbar or anything.
Yes, people can do stupid things. But if you sent that to your average OS X non-power-user, they would do absolutely no damage whatsoever, no matter how much they tried.
Maybe... Need more sandboxes/restricted userids... (Score:5, Insightful)
I think that maybe all vulnerable processes, like web browsers, irc clients etc should run under a separate uid from the user (maybe each user should have 2 uid's - one normal, and one restricted so that it can only access a subdirectory of the users home). So rather than Mozilla launching as user fredbloggs:fredbloggs, it launches as "fredbloggs_restricted:fredbloggs_restricted" by default. The user could then chown some directory to be writable to fredbloggs_restricted" for downloads, cache etc.
Maybe this is already implemented? The real problem though is that a user could still build and run something they downloaded, potentially wiping all their files, unless a mechanism automatically made anything they installed themselves, run as the restricted user and not their own uid:gid.
Does any of that make sense?
Re:Maybe... Need more sandboxes/restricted userids (Score:5, Interesting)
Nope. Any system that doesn't allow the user to do whatever they want to do is going to is not user friendly. We've got two somewhat paradoxical concepts here.
Users will always want to be runing at root at all times. Some won't grasp the security implications until it's too late.
user friendly means stable code (Score:5, Insightful)
My point is, moving towards usability shouldn't mean that we should loosen our belts, allowing the user to run amock in the system, we should tighten them.
Memory Permissions (Score:5, Insightful)
Usability, however, does have to do with coherent UI design: picking icons that communicate what the button does on a toolbar, grouping menus is a logical way, making sure that there are keystrokes available for commonly used features, etc.
It sounds like the Microsofties have confused usability with Feature Creep.
Now.. the more people running Linux may in fact lead to more vulnerabilities being found, since testing only proves the existence of bugs, not the absence. However, history shows that bugs are fixed much quicker in open source then in closed source, so that's a race Linux wins easily. But as far as usability, comparing the latest KDE and GNOME desktop to Windows XP just shows that as far as usability, Linux may have already surpassed Windows.
The List (Score:5, Funny)
Security is in the eye of the beholder (Score:3, Insightful)
On the other hand, anyone can make a linux box insecure. The question then becomes as simple as whether you trust users to administer their own boxes. This is where you need user friendliness. This is where the OS has a choice to remain secure by staying obfuscated (and thus scaring users away at the expense of functionality) or become more friendly (at the risk of letting users hurt themselves).
Windows, by default, can be (is?) insecure. But that's not where the "(Microsft vs. Linux) vs. (User Friendly vs. Insecure)" debate should begin.
Note to Linux (Score:3, Funny)
Hey linux--how about you worry about that particular hurdle when it's within a light year away or so?
Maybe (Score:3, Interesting)
I think it would be better to educate the users than to dummy-down the OS. Education needent be difficult. Documentation is key to understanding. If the user can't/won't read the docs....then it's all their problem, but if the docs are there, and they're clear and concise, and he reads them and can use them. Then you have a good system.
End users like "Joe Sixpack" don't want to have to type things like mount
Take Microsoft's lead. They spent an enormous amount of time, money, and effort making the systems useable and simple. Apple did the same (albeit on a slightly different track). Linux can too. Just because someone makes Linux (as a whole) easier for Joe to use doesn't mean that security will go out the window. It just means that there's more that needs to be thought about before implimentation.
And that's why there's the "maybe."
windows is not user friendly (Score:3, Insightful)
Not exactly, but there is some truth to it (Score:4, Informative)
On the other hand a system infected with viruses and trojans can be un-usable.
In all fairness to MS, the Windows history is from a novice single user or small work group. Windows was kinda of thrust onto the Internet, by, well, the growth of the Internet. It is more usable and less secure because of that.
Linux has the whole multi-user UNIX, USENET, geek, Internet history behind it. It is more secure and less usable because of that.
I see Windows and Linux evolving toward each other in security, in usability and in many other ways.
Unix/Windows history (Score:5, Insightful)
-Microsoft does not hire retards. Their programmers are skilled.
-IBM,Sun,Novell,etc, do not hire retards. Their programmers are probably equally skilled with Microsoft's.
-Linux was inspired by Unix
-Unix is a multi-user operating system originally designed during the dawn of computing for big iron mainframes accessible by client terminals via command line.
-Computer "users" at the time of the creation and dominance of Unix knew, more often than not, how to program, do shell scripts, etc. They were very computer-literate. To use a computer in that age meant you knew how a computer worked.
-Windows began as a (more or less) single user operating system intended to run on PCs, not mainframes, and is used more often than not by people who know nothing of programming, or how a computer works abstractly.
Before you jump to say that Microsoft produces crap code, think logically. The Windows O/S may be considered to be a history lesson for all the O/S programmers out there. Learn from it. Sure, they didn't invent the GUI. Sure they weren't the first windowing O/S. But consider that Windows is the first operating system to reach the level of adoption that it has. They have to support every common architecture, network protocol, hardware design, etc, in the world.
If Windows serves any purpose to you guys at all, it is to illustrate what works, and what doesn't. From their example, user stupidity has been illustrated. Never more than now have programmers been aware of the need to balance ease of use with covering for the ignorance of a user. From their example, we've learned that the user really shouldn't be trusted to be a good admin, that firewalls are a good feature to build into an O/S, etc etc. Microsoft has proven useful in studying the effectiveness of GUI systems and their pitfalls.
Don't sit and criticize Microsoft. Take the lessons they had to learn the hard way, and use them to make better code. That's essentially what Apple did with OSX, even though for them it was a lot easier - they don't have to standardize for all hardware and software configs. They offered very limited backwards compatibility, as ugly compatibility hacks aren't good to keep in code
As an MS Admin and a Linux User ... (Score:5, Insightful)
Many of the Microsoft Administrators I work with argued the more user friendly Linux becomes, the more vulnerable it becomes. They claimed making Linux a friend of Joe User will require it to 'open itself up' and become more susceptible to attack.
Spoken like a true MSCE. No, making Linux more usable will not open it up any more than necessary. One just needs to make sure that there isn't 1. a scripting host with direct access to the OS configuration, 2. all ports open by default, 3. lots of services open by default, 4. all user accounts with root access by default, 5. applications that can call the scripting host unecessarily (can we say Outlook running VBS attachments on open in the scripting engine with Admin privileges on a default installation?). None of these things really effects users. The two main ones that would affect users are 1. installation programs - just make installers call for an admin password when installed on default-configured accounts - which is what RPM for instance already does - and 2. make passwords mandatory (is that such a usability hardship?)
Asbestos suit time (Score:5, Insightful)
So with Windows you have to run as admin all the time, which is why trojans can get in so easily. Win9x effectively runs as admin all the time anyway unless you have a fancy administrator who configures it for you, which most home users don't.
If "user friendly" = "run as root by default" then yes, Linux would end up having the same problems as Windows. But it doesn't have to. Prompting for root password when attempting a privileged operation is one possible solution; if a trojan attempts to run and the root pw prompt appears, hopefully the user will be prompted to think "er, why did clicking on that MP3 cause a root prompt?" and give the game away. I'm sure there must be other solutions.
Usability is not vulnerability (Score:4, Interesting)
"Warning: Setting Up a SendMail Daemon without checking for security patches may risk increasing the world supply of electronic Junk Mail (SPAM). Perform check for securely signed patches (Default: Yes)? Use Default trusted patch Server patchserver.ThisLinuxVendor.com (Default: Yes)?"
Of course, increasing accessibility also increases accessibility to potential shoot-yourself-in-the-foot things like filesharing. Right now, Security through Obscurity usually protects Aunt Tillie from setting up a SMB share of her entire hard drive. On the other hand, if she does do it somehow, she'll never figure out that her DSL is slow because she's been turned into the leading WAREZ distro for Podunk. Security through Obscurity is generally considered harmful-- but it is Security. Good interfaces can be designed to provide the users with warnings to educate them as to hazards, while letting them shoot themselves in the foot if they really, really want to.
Now, if you talk about increasing the functionality, so the Linux users can do things like install spyware, or DirectX components to reformat their hard drive, then yes, that's likely to decrease security.
Comment removed (Score:5, Funny)
No. (Score:5, Insightful)
Linux, on the other hand, has always been a multi-user system (well, it has since it became an OS, and not Linus's hyper-fast text editor). Because of this, and the unix philosophy in general, you'd have to go out of your way to find software that does not fit into the multi-user system model. Because of this, linux can remain more secure, even when giving it to 'joe user'.
Of course, the problem comes from the same third party vendors who don't get it in windows also not getting it in linux. Hopefully, they will know something about a multi-user system BEFORE bringing their wares to the linux world. Then again, the idiots creating cruft like 'bonzai buddy' will never get it, nor do they care.
Obligatory response (Score:4, Funny)
You're new here, aren't you?
Why Windows is Insecure (Score:5, Interesting)
Windows was originally designed as a single-user, game-playing operating system. It had no concept of networking or segmented user space or file permissions, etc. These things, among others, were added on later as the need arose.
Windows was originally marketed to home users who wanted to play games and small businesses who wanted to track a few dozen or perhaps a few hundred accounts/clients.
Today, MS has positioned Windows as an Enterprise class OS. People who grew up playing games on Windows should know that this doesn't make sense.
I used to laugh when looking for patches for an NT4 domain that I administered a few years ago. I'd skip all of the new video (DirectX) enhancements that were constantly avaiable. What did gaming/video drivers have to do with domain controllers?
In short, you can't make something into something it's not... at least not without many problems. MS Windows is a classic example of this.
apples v. oranges (Score:4, Insightful)
Windows is not less secure because it is "more user friendly" and linux is not more secure because it can be obtuse and seem l33t-friendly. Windows is still locked into a one-box, one-app, one-user approach to things. And until they change that - and demand some basic network savvy from their average user - windows will never be more secure.
The unices were designed for a networked environment with lots of users with varying degrees of access. Security wasn't as afterthought - it was a prerequisite. As long as they are developed properly, adding some pretty icons, some control panels, even some (shudder) wizards will not make Linux less secure.
And since your pro-MS buddies are horrified by the thought of an open-source system,"open(ing) itself up" to "Joe User", I wonder why you're even taking the argument seriously. Burn them some liveCDs (I'd start with Knoppix, SuSE live-eval and FreeSBIE) and ask them to give those systems a good, hard look.
Re:Cought? (Score:3, Funny)
Re:Mac Security (Score:3, Informative)
Re:Mac Security (Score:5, Interesting)
This means that yes, a trojan horse could run, and yes, it could keep running until the user logs out, and maybe even add a login item on a per-user basis, but it can't install anything into the system that runs at startup unless the user explicitly enters a password to say that "yes, I really expected this to be installing something". This simple authentication requirement would have prevented 99% of what has made Windows viruses so virulent.
In fact, the best form of user-friendly security basically amounts to having a bunch of policies for things that shouldn't generally happen, then shouting at the user and asking if you really want to do that. This concept has been popping up repeatedly on the Mac platform ever since the classic "GateKeeper" virus checker extension. I remember saying that I wanted to see an OS do exactly this sort of sanity checking (don't let an application modify the OS without user permission) back when I was still in elementary school (mid-eighties).
So here's what I don't get.... If this was obvious to me at about age 10, what does that say about companies that still haven't figured out how to implement such a basic security measure? And why would anyone in his/her right mind use an OS like Windows whose security policies haven't caught up to what seemed obvious to a 10-year-old kid almost 20 years ago?
For shame.