A system and method to securing a computer system from software viruses
and other malicious code by intercepting attempts by the malicious code
to write data to a storage medium. The invention intercepts the write
access requests made by programs and verifies that the program is
authorized to write before letting the write proceed. Authorization is
determined by using the identity of the program as a query element into a
database where permission values are stored. Depending on the presence or
value of the permission value, write access is permitted or denied.
Permission values can be set by the user, downloaded from a central
server, or loaded into the central server by a group of users in order to
collectively determine a permission value. The interception code can
operate in kernel mode.