Isolation Minifilter Solution Framework (IMSF) for Windows
A proven, easy to use, framework for the development of Windows file system Isolation Minifilters.
Writing a Windows file system Minifilter is usually a challenging, but reasonably achievable, undertaking. That is, assuming that the Minifilter you need to write is a Standard Minifilter. Standard Minifilters, such as antivirus and malware scanners, track or monitor file system operations but do not alter the content or format of the data stored in the files they filter.
When a Windows file system Minifilter needs to change the “shape” of the underlying data stored by the file system, or present applications with a different view of the data than that stored directly by the underlying file system, you need to write an Isolation Minifilter. An Isolation Minifilter separates, or “isolates”, the view(s) of a file’s data from the underlying native content, or even the location, of the file’s data.
Probably the most common example of an Isolation Minifilter is the per-file transparent encryption/decryption filter. In this type of filter, the underlying native contents of the file consists of a header that contains encryption metadata and a data area that is stored in encrypted format. The view an application receives of this file could be just the dynamically decrypted contents of the file. Thus, the view of the file’s data that’s presented to the application is very different from the native underlying content of the file. This sort of split view requires an Isolation Minifilter.
Unfortunately, developing an Isolation Minifilter is very difficult undertaking. This is because the Isolation Minifilter needs to closely interact with the Windows Cache Manager and Memory Manager subsystems. As a result, developing an Isolation Minifilter is much more like developing a native Windows file system than developing a Standard file system Minifilter. It’s a big, complicated, job that requires significant Windows file systems experience. In our experience, it takes more than a year for an experienced Windows file system developer to implement a working Isolation Minifilter from scratch.
We know about developing Isolation Minifilters for Windows because we pioneered the concept back in the 1990’s. We also have a lot of recent experience in this space as a result of implementing our toolkit for developing per-file transparent data encryption products, the OSR File Encryption Solution Framework (FESF). As is required for almost any transparent data encryption product for Windows, FESF has at its heart a flexible, robust, Isolation Minifilter framework. Because there are developers who need the power that an Isolation Minifilter provides, but might not need FESF, we decided to make our Isolation Filter available for use separately.
Advantages/Benefits of using OSR’s Isolation Minifilter Solution Framework (IMSF)
There are a number good reasons to use our Isolation Minifilter Solution Framework over “rolling your own” implementation:
- Time to market — We have code ready for you to use today. That means you can have a prototype available in quite literally days or weeks, as opposed to the months or years it would take even the most experienced Windows file system developer to create a prototype from scratch.
- Proven Reliability — Because the Isolation Minifilter Solution Framework is at the heart of our FESF product, it’s tested and used every day. FESF forms the basis for several commercially shipping products in multiple markets world-wide (including US/Canada, Europe, and Asia).
- Proven Interoperability — One of the most difficult challenges for any complex Minifilter is interoperability. Our Isolation Minifilter Solution Framework uses the proven “same stack” architecture that we pioneered years ago, and that has been officially endorsed by Microsoft. We regularly attend Microsoft’s Plugfest events to ensure we identify interoperability issues early.
- World-Class Support — OSR’s team of experienced file systems developers are ready to assist you with any problems you encounter. We also have comprehensive consulting services available to aid you in the design and/or implementation of your product.
- You Get to Focus on Your Solution — Using our proven and tested Isolation Minifilter Solution Framework frees you up from having to worry about the countless complexities of building the Isolation part of your product, and lets you focus on the part of your product that adds value and that you know best. In other words, we do what we do best (Windows file systems internals), and you do what you do best (create the best product for your market requirements).
- Continuous Evolution — Perhaps one of the most frustrating aspects of supporting a complex, kernel-mode, Windows component is that Windows is constantly changing. Staying compatible with these changes often requires updates and alterations to complex file system components such as Isolation Minifilters. Did you notice that recent versions of Windows 10 now ship with nine (yes, NINE) Microsoft-provided file system Minifilters out of the box? Have you noticed that file system semantics and features have been rapidly changing, to meet the requirements of Windows Subsystem for Linux (WSL)? As Windows changes, the Isolation Minifilter Solution Framework changes to ensure ongoing smooth operation and compatibility.
- You Get All The Source Code — IMSF ships with all the C Language source code needed, all buildable using the standard Windows Driver Kit (WDK) and Visual Studio.
- One Time License Fee + No Royalties — Don’t like quarterly sales accounting? Neither do we. We license the Isolation Minifilter Solution Framework for a one-time license fee, so you know your costs up front. No royalty payments are involved.
Using our Isolation Minifilter Solution Framework does require an experienced Windows kernel-mode developer, who has at least basic familiarity with Windows file system concepts. But it provides you a leading-edge, stable, proven, platform on which to build your product.
If you need to create a per-file transparent data encryption solution, you should consider our File Encryption Solution Framework. If you want more control than FESF provides, or you need to build a different type of Isolation Minifilter, you should talk to us about our Isolation Minifilter Solution Framework.
Get in touch with our team at firstname.lastname@example.org to find out more about either our IMSF or FESF products.
Product Types that Can Benefit from Isolation Minifilters
The common thread among these types of products is that they show applications a different view of the data in a file than the native file contents stored in the file system.
- Streaming Content Delivery and Cloud Storage
- Data Deduplication
- Data Versioning, Revision Tracking, Change Management
- File Migration
- File and Data Virtualization (e.g. ramfs)
- Real-time Non-Linear Video Editing
- Dynamic Language Translation
- Intra-Document Security Products (where parts of a document’s contents may be obscured or removed depending on the accessor)