Ubuntu QA:
BlogBrainstormPackage status
Log in
Ubuntu QA
The Ubuntu community has contributed 21545 ideas, 132412 comments, 2606687 votes
Idea sandbox Idea sandbox
Popular ideas Popular ideas
Ideas in development Ideas in development
Implemented ideas Implemented ideas
Idea #23568: Prevent Malware before it is an issue

Written by C.H.E.W.S. the 5 Feb 10 at 03:51. Category: Security. Related project: Nothing/Others. Status: New
Rationale
Lets face it, no matter how much the linux security model makes since it has undiscovered Holes. Ubuntu is going to market with the idea of being less likely to be infected than windows. However by reading across the internet security holes are being tested as exploits at an alarming rate since 2009. My idea is to implement a more preemptive program for discovering these issues and fixing them. (Think offensive security!)I know as of now most linux users are keen to intelligent practices in how we install, however more and more non technical users are moving to linux partially for peace of mind. They will want to install software outside of included repos. Even google has been proven hackable!

69
votes
up equal down
Solution #1: Sponsored program for discovering exploits
Written by C.H.E.W.S. the 5 Feb 10 at 03:51.
I suggest sponsoring a controlled event in which people can win money based on how effective of an exploit they can come up with. The system being hacked should simulate a variety of users: click happy user, security expert, mid level user. Blender sponsors open movie project to improve blender so why can't we fund an event to improve security. (Participant will have to explain the exploit of course!) So summed up it is a pen testing the default configs and the systems ability to withstand different levels of user intelligence! Security for a mid level user is the most realistic target of course but an idiot can reveal tons of holes.
50
votes
up equal down
Solution #2: Software Centre suggestions / warning
Written by haydoni the 6 Feb 10 at 21:04.
If the user has downloaded an executable from a website, then when they try to install, before the install display a warning (something like): "installing software from the net can be insecure and that they may be better off installing one of the following **produce a search of similar applications and descriptions from the software centre based on the name (?) of the file which they have tried to install** from the secure repositories".

*********This could be exceptionally useful for ex-Windows users who are downloading .exe files!********

This would not only promote (or remind) repository use for the average/new user, but would only be one extra click for the determined/proficient user (who knows what they are doing). It could have a tick box saying: "next time don't display suggestions". If they choose to ignore this, that's their decision.
9
votes
up equal down
Solution #3: Download to cache for scan. Report and upload files option.
Written by houseworkshy the 14 Feb 10 at 14:40.
One could have an option to download to cache for scanning. This option could be chosen for any file type and especially for ALL installation methods. If the scanners find suspected malware there would be an option to upload to a data base where they can be checked. This feature would include update able white and blacklists to reduce false positives on heuristic scans. Thus should malware be found it could be removed before it can get at the system. For those who are at the development end looking at what has been uploaded this would also function as a resource; it's data base being, effectively, what any users who report and upload files, have found anywhere. In this way all users of the system are helping research exploits whilst keeping their machines safe. Sadly, we can rely on the malignant to find and develop the exploits without our help.
13
votes
up equal down
Solution #4: Use software sandboxing where possible.
Written by himek the 22 Feb 10 at 21:33.
By default running an executable have access to all user's files (and more). One could write a simple bash script/executable that once launched wipes out entire user's home!

Promote languege/VM level sandboxing (ECMAScript, Mono, Java, what-not) for third party desktop add-ons like appletes, themes etc.

Implement partly sandboxed installations for untrasted software. Sandboxed application should only have a limited local storage initially (for example ~/.config/myapp, ~/.local/share/myapp). Once it tries to access files outside those boundaries user should be asked to allow it or not.

Propose your solution

Attachments
No attachments.


Duplicates


Comments
cheesehead (Brainstorm admin) wrote on the 5 Feb 10 at 09:41
How does solution #1 (bounties for finding exploits) address the rationale (new users will install non-repo software)? Is there a better way to address the rationale by -for example- testing and adding software to the repos?

Have you looked at the Ubuntu Security Team https://wiki.ubuntu.com/SecurityTeam and their plans?

For solution #1, please elaborate:
Who should pay for this? How big a budget do you envision?
Who should organize it?
Who should evaluate the individual results?
Who should evaluate the effectiveness of the program?

ekspiulo wrote on the 5 Feb 10 at 21:10
This would create a financial incentive to make buggy updates to open source projects and then swoop in and 'save the day.'

C.H.E.W.S. wrote on the 6 Feb 10 at 02:22
You would have a user who on one of the three levels who is told to install all pa-gages (Securing against a user that is that dumb is not possible however this can find security risk such as the one with the gnome look screensaver) Some security issues depending on what they are would be fixed others it may be more reasonable to explain why not to take certain actions possibly in a first start video located on the desktop. Second level would be an average user who is asked to use system as he usually would. (This is the most reasonable target for security) and the last will be a security expert who takes all actions to protect machine so higher level exploits can be fixed. It could simply be a remote networked thing in which people can sign up on a hosted page to participate on both ends. People to be hacked can be recommended to use no computer that are no longer essential and that don't contain private data. Adding software is to repos is a good and vital portion to security however if ubuntu is to become any were close to the user base of windows the variety of software desired may become over whelming as well as the desire to try new stuff. To have people plugging potential means of exploits in the constant factor (The OS)it can make malicious programs harder to make and even harder to maintain as holes are constantly closed. Some like me use ppa and debs to install software and also get newer versions than in repos.Unless we wish to go the iphone route and simply lock out unapproved software! Things such as budget requirements can not be estimate as I do not see canonicals books. Organizer and evaluators could be decided upon once we decide if the idea is worth pursuing. Solution one addresses the rational by pen testing the distro so hardening measure can be decided upon. Also other solutions can be proposed as well just as all rational. Question is, is the rational a real idea that could be approved? I can modify rational by suggestions to leave it more open and keep the solutions with a bit more explanation. Cheesehead I am glad for your concerns and would be glad to collaborate on making this rational and solution work. Remember that other suggestions can be made and voted on under the rational. (Please excuse typos this is un proof read do and rushed do to the fact I also have other thing to do at the moment, so excuse the unprofessional conduct.)

haydoni wrote on the 6 Feb 10 at 20:52
The brilliant thing about FOSS is people will work on these things for the good of the community. This solution may promote these competent developers to:
a. Not work on browser security consistently
b. Withholding security flaws until competition day

C.H.E.W.S. wrote on the 7 Feb 10 at 20:17
So wait those who care about the community so much they work to the absolute best of there ability for know pay are willing to shaft the community for money, rather than try and make there software more secure? Btw this is os level security we are talking about anyway, plus many open source projects make money at least for the core team. This would be the developers of the os forking out money to draw out people who may not usually put out much thought to discovering holes on a regular basis. There are many hackers who would be glad to poke holes in and os for some cash.What I am suggesting is a form of penetration testing for the os so it may be hardened. I do not believe canonical would purposefully create hole in the os for the event, they would take more pride in making the os incredibly difficult to hack and hugely secure. It is not so much the security of any piece of software but the operating systems security against any software should it be compromised or should a software be made for malicious intent. This will just find exploits in a controlled setting so they can be patched before they can ever be used!

C.H.E.W.S. wrote on the 7 Feb 10 at 20:27
*Edit
wait those who care about the community so much they work to the absolute best of there ability for no pay are willing to shaft the community for money, rather than try and make there software more secure? Btw this is os level security we are talking about anyway, plus many open source projects make money at least for the core team. This would be the developers of the os forking out money to draw out people who may not usually put out much thought to discovering holes on a regular basis. There are many hackers who would be glad to poke holes in an os for some cash.What I am suggesting is a form of penetration testing for the os so it may be hardened. I do not believe canonical would purposefully create hole in the os for the event, they would take more pride in making the os incredibly difficult to hack and hugely secure. It is not so much the security of any piece of software but the operating systems security against any software should it be compromised or should a software be made for malicious intent. This will just find exploits in a controlled setting so they can be patched before they can ever be used!Yes community also contributes alot, however those who care to put time into the project also desire to protect the reputation of Ubuntu since reputation is the key to its success. Success ultimately means more users and faster development for the platform as well as better hardware support? Haydoni would you trade reputation, support and success for a quick buck? Some might but benefit of program will out way the costs since most will not give to such corruption and those who do are already corrupt yet undiscovered. Much more help can come through the program. Plus the prize money, while not crappy would not make you rich.

C.H.E.W.S. wrote on the 9 Feb 10 at 04:43
My idea can be mixed with the other one, mine is more for testing the effectiveness of security measures built in

C.H.E.W.S. wrote on the 15 Feb 10 at 00:37
I like solution 3 however it has a major issue I see. Updates, malicious software could be distributed via update to already approved package/

houseworkshy wrote on the 16 Feb 10 at 18:10
True and that is a danger which would apply to all undiscovered malware of unknown patterns I fear. For malware which was known one would hope that the scanners would catch it in the cache. For malware which fitted a known pattern but had not yet been tagged the heuristic scanning would offer the "upload for analysis" to the developers. The anti-malware part, though useful, is not all there is to it. The main idea is onthread: all users of the system would be helping to gather data whilst simply doing what they do anyway, unwittingly so would the malware vandals, the developers would have a huge data base, no money would be involved so no worries about 'polluting motivation'

houseworkshy wrote on the 17 Feb 10 at 18:19
Options in the scanner would be the way to cope with updates, which only apply to repositories which have been added. A casual user could select which repositories to trust, an anti-malware developer wouldn't trust anything. Fairly soon the developers would have a rather good data base of poisoned repostitories and a check on trusted ones staying clean.

C.H.E.W.S. wrote on the 18 Feb 10 at 02:39
Ah now it makes a little more sense. I am the one vote up despite the reason I gave for not liking it completely. Also how much resources will this use? Will it be reduced by being part of the managers and by only running during install and updates?

houseworkshy wrote on the 25 Feb 10 at 07:03
I don't know how much it would use in terms of system resources though I doubt it would be much as the scaning of the cache is sequential not parallel. The main cost would be in time as another stage is added. I think that this should be a option which can be configured rather than an imposed default. Choice is important, some users may like to use it for every scrap of traffic, others only for installers, others only for unknown repositories, some not at all if they wish. Because it doesn't only help the developers but also keeps the users machines safer one would hope that a little extra time involved when installing things would be acceptable for many people. I don't know how much time is involved but as we already have the option to cache files in synaptic and programs like clamav it can be tested.
I'm not sure that it would have to be built into the managers so much as tied to them. All that needs to be done is to have it called after the downloading files part and before the actual installing. The cache, of course, would also function as a quarantine folder for the malware scanners.

C.H.E.W.S. wrote on the 27 Feb 10 at 23:57
I just care that the scanner does not start on computer start up because that would be irritating and counter productive to the boot time goals of Ubuntu!

houseworkshy wrote on the 28 Feb 10 at 04:59
I think fully configurable has to be the way to go. Everything from don't use the package at all to the full monty. In that way each user can make their own choices about the speed vs helping the developers and safety balance. Nothing should be imposed, everything should be optional.


Post your comment