<BLOCKQUOTE class="ip-ubbcode-quote"><div class="ip-ubbcode-quote-title">quote:</div><div class="ip-ubbcode-quote-content">Originally posted by bartfat:<BR>Of course, if we had signed certificate applications for installing in the first place, we wouldn't even need antivirus, much less dealing with rootkits. </div></BLOCKQUOTE><BR><BR>All my applications are signed before I install them.<BR><BR>The application installer downloads a list of software packages from a trusted location. The list is cryptographically signed by a GNUPG Keyring. The client keys are setup during installation.<BR><BR>The list contains the software, descriptions, and other details. Part of that detail is the SHA hash of each software application.<BR><BR>When the package is downloaded the package is hashed and compared against the records in the signed list. This will detect any corruption or tampering. <BR><BR>I have not had any need for any anti-virus for as long as I can remember. I never had a single case of viruses, adware, spyware, or anything of that nature. No applications ever tried to install software without my knowledge or consent and as far as I can tell all network traffic coming out of my machine has always been on the up and up. Oh, and I never had to deal with 'crapware' installed by my machine's OEM either. <BR><BR><BR><BLOCKQUOTE class="ip-ubbcode-quote"><div class="ip-ubbcode-quote-title">quote:</div><div class="ip-ubbcode-quote-content"><BR>I'm wondering why they aren't doing this already, actually. To quote Top Gear, how hard can it be?<BR> </div></BLOCKQUOTE><BR><BR>Not terribly difficult for part of what your saying and exceptionally-difficult-to-practically-impossible for the other part. <BR><BR>If your system supports "Mandatory Access Controls" for different system resources. Each application developer then, if they wanted too, go and create a database of required system resources and accesses needed for the correct operation of their application. Then those rules can be included with the software installation package and added to the system during run time.<BR><BR>Then the OS vendor could be free to examine these rules before adding the package to their signed list or signing the package themselves.<BR><BR>The problem you run into is purely one of practicality. That sort of approach requires massive amounts of work and locking down a system to such a degree that that works well to secure it creates a operating system that becomes very unwieldy and next to impossible to use. <BR><BR>Users want to be able to modify the system behavior. They do this by installing software, creating their own software, changing software configurations, and combining software in novel ways. Static lists like what you want totally contradict that normal required desired behavior. So the expense and difficulty of using a locked-down system is so high that the sane user will reject it outright for a OS that is usable, but may have a worse security potential. <BR><BR>My OS supports SELinux by default. <BR><BR>Using SELinux you can implement strong: <BR> * Discretionary Access Control (DAC)<BR> * Access Control Lists (ACLs)<BR> * Mandatory Access Control (MAC)<BR> * Role-based Access Control (RBAC)<BR> * Multi-Level Security (MLS)<BR> * Multi-Category Security (MCS)<BR><BR>DAC is what Windows and OS X supports. Windows also supports ACLs. Microsoft says that there is 'mandatory access controls' but they are not in the same league. RBAC is a simpler way to go about doing restrictions by creating roles and adding and removing roles from particular users. MLS and MCS is typically only things that military folks are interested in... it is used for hiding information from non-privilaged users. For example if a top-secret document ends up in a directory that is readable and writable by people with only secret clearance then it is impossible for the 'secret' level user to even know that 'top-secret' file even exists... no information leakage; not even file names. <BR><BR><BR>Fun stuff. (not)<BR><BR>The only OS vendor that tries to implement the combination of supported signed software combined with MAC on their mainstream OS is going to be Redhat and Fedora (and CentOS). But they use a 'permissive' model that only lightly protects the system from external attackers and does not really accomplish a whole lot. To truly lock down the system requires a HUGE amount of work from a experienced admin.<BR><BR>My OS supports SELinux by default, but it is not used by default. I can also run SMACK (which is a much simplier MAC) or AppArmor (which is designed to make rules for applications much much simplier). <BR><BR>MAC and other things have existed for YEARS in all sorts of different OSes. But it always runs into the same problem.. it creates a unacceptable trade of off security vs convenience. <BR><BR>It is like having a home with 3-foot thick steel-reinforced concrete walls, feet-thick bullet proof observation glass, bunker-style doors for the garage required extensive hydraulics to operate, and industrial grade radiation and poison filtering on any incoming air or water. People are just not that paranoid.<BR><BR>There is a lot lower-hanging fruit to get. <BR><BR>For example: Fixing broken web applications. Typically systems get routed nowadays because people install buggy and poorly written 'web applications' on their servers. Avoiding those would create a instant increase in security while avoiding a lot of issues.