Electrical computers and digital processing systems: memory – Storage accessing and control – Hierarchical memories
Reexamination Certificate
1998-04-10
2001-08-07
Yoo, Do Hyun (Department: 2187)
Electrical computers and digital processing systems: memory
Storage accessing and control
Hierarchical memories
C713S152000, C713S152000, C707S793000
Reexamination Certificate
active
06272593
ABSTRACT:
FIELD OF THE INVENTION
The invention relates generally to computer systems and networks, such as intranets and the Internet, and more particularly to reducing security risks of cached network content without compromising usability.
BACKGROUND OF THE INVENTION
For network client applications, such as web browsers, a limiting performance factor is often low bandwidth to the server. To mitigate this low-bandwidth problem, network client applications often cache content replicated from servers, so that as much information as possible is kept available on the client user's hard drive. To cache content, the local machine generates a filename from the content's URL (Uniform Resource Locator) and stores the file in a cache directory (folder). As data access times from the hard drive are typically orders of magnitude faster than download times, some or all of a server's content may often be rapidly accessed from the cache with little or no downloading of data from the server. In the extreme case, the computer or server may be offline from the network, in which case the cache may still provide some version of the content. Note that caching operations are automatic and invisible to the user, and thus no security checks (e.g., code signing verification) are immediately performed on the downloaded content. However, content that is cached is harmless unless opened.
While content caching thus provides substantial performance improvements, a big security problem is that a malicious web site may easily guess the default location of the cache and the filename generated for a given URL. By including a page with an embedded http: reference to a virus or other malicious program, the malicious site causes the virus/malicious program to be automatically downloaded to the cache. The site and/or page may also embed a guessed file: reference to the cache location of the virus. Note that normal security checks are carried out if the user invokes the http: reference, since the operating system recognizes the content as coming from a server. However, if the user invokes the guessed file: reference, (e.g., by clicking a corresponding location on the page or in some other manner), the operating system treats this as any other local file in the file system, thus executing or opening the virus/malicious program. As can be readily appreciated, normal code signing verification techniques applied to downloaded programs may be bypassed in this manner.
By way of example, assume via an embedded http: reference such as http://server/virus.exe, a malicious site places a hypothetical file named “virus.exe” in a user's cache directory named (e.g., by default) “C:\Windows\Temporary Internet Files\Cache2”. If the site correctly guesses this file and location, the malicious site may include a file: reference, i.e., “file://c:\windows\Temporary Internet Files\Cache2\virus.exe” on the same (or even another) page. When the user invokes this file: reference, the virus program is executed.
Some contemporary web browsers solve this security problem by generating random filenames for cached files, whereby to be able to invoke the file via a corresponding file: reference, the site would have to guess the filename from an extremely large number of permutations. However, this has the drawback that applications (e.g., Microsoft Word) which are invoked from valid downloaded content will display and may even remember the random file names, confusing users.
SUMMARY OF THE INVENTION
Briefly, the present invention provides a system and method of storing content in a cache in a manner that makes it virtually impossible for a site to guess the cache location. To this end, random subdirectory names are generated for one or more caches, and randomly-named cache directories are created from the random subdirectory names. When content is downloaded from a server, the content is stored as one or more files in one of the randomly-named cache directories. In addition to generating random subdirectory names, the system and method provide for enhanced file system performance by balancing the number of files among the cache directories, and by limiting the number of files in any cache directory by creating additional cache directories as needed.
Other advantages will become apparent from the following detailed description when taken in conjunction with the drawings, in which:
REFERENCES:
patent: 3985998 (1976-10-01), Crafton
patent: 5390318 (1995-02-01), Ramakrishnan et al.
patent: 5442760 (1995-08-01), Rustad et al.
patent: 5628015 (1997-05-01), Singh
patent: 5737599 (1998-04-01), Rowe et al.
patent: 5787470 (1998-07-01), DeSimone et al.
patent: 5787475 (1998-07-01), Pawlowski
patent: 5863207 (1999-01-01), Powell
patent: 5864852 (1999-01-01), Luotonen
patent: 5889958 (1999-03-01), Willens
patent: 5991760 (1999-11-01), Gauvin et al.
patent: 6061715 (2000-05-01), Hawes
patent: 6067565 (2000-05-01), Horvitz
patent: 6085226 (2000-07-01), Horvitz
patent: 6112231 (2000-08-01), DeSimone
Michalik & Wylie PLLC
Microsoft Corporation
Moazzami Nasser
Yoo Do Hyun
LandOfFree
Dynamic network cache directories does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Dynamic network cache directories, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Dynamic network cache directories will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2550133