On 02-Jul-07, at 12:57 PM, krishnakant Mane wrote:
now coming to the point of developing some trogen. it is now the responsibility of a user to manage his or her own house and this is nothing to do with any OS for that matter.
Sorry, but that's not how it is. It *is* the OS's (or an anti-virus software's) responsibility to ensure that programs do nothing more than what they are supposed to do. Even on Windows, that is what Norton, McAfee et. al. do. On Linux, you might extend my previous example by running a daemon that monitors all the fd's being accessed by a particular executable. For instance, if the flash installer is trying to modify certain core system files, the daemon can immediately detect this and put a stop to it. Think iptables, but at the filesystem level. Of course, this would mean you would need to know the behavior of every program and allow the user to add custom rules, but that is what existing anti-virus software do anyway.
There is an alternative method, which is most prominently used in distributions these days - called sandboxing. In Gentoo [1], whenever you install a package via a package manager, it first writes the files to a temporary "sandbox" location, and only after verifying that there are no "sandbox violations" - or files written to where they were not supposed to be - is the package merged back into root. Hence, coupled with GPG signing and Manifests, the chances of a virus/ trojan being transmitted via a distro's package management system comes down to near-nil.
Further research is being undertaken in this area, by extending the concept of namespaces to every process - for more information, check out Plan 9 from Bell Labs [2].
-- Anant Narayanan http://www.kix.in/
[1] http://bugday.gentoo.org/sandbox.html [2] http://plan9.bell-labs.com/plan9/