MattockFS (A strangely hybrid file-system)

rmeijer <rmeijer-qWit8jRvyhVmR6Xm/[email protected]> Wed, 16 Dec 2015 15:15:59 +0100
Newsgroups gmane.comp.capabilities.general
Message-ID <[email protected]>
Though originally not in any way capability related, the Computer 
Forensics project I'm currently working on ended up becoming a weird 
hybrid of what is basically a read-only CF file-system that allows the 
logical equivalent of pointer arithmetic with a stricter set of 
sparsecap enforced operation possibilities for things that will end up 
expanding the data in the file-system.

I just created a 'Wall-o-Text' web-page describing the outline of what 
I'm working on. I thought it may hold some interesting aspects for some 
of the Friam/cap-talk crowd.

  http://pibara.github.io/MattockFS/

The most relevant chunks:

"MattockFS is a Computer Forensics File-System. More accurately, it's a 
user-space file-system that aims to provide a major part of the 
underpinning of an envisioned message-passing based Computer Forensics 
Framework for use in a Computer Forensics laboratory. MattockFS aims to 
be a component in a Computer Forensics Framework aimed at medium to 
large scale investigations that is suitable for both professional 
investigation settings yet also suitable as basis for a framework that 
takes into account the need for compatibility with a more academic 
setting. MattockFS is not a full Digital Forensics Framework. Rather, 
MattockFS is a central component for a three part Computer Forensics 
Framework. It performs multiple key functionalities that a Computer 
Forensics Framework requires, and fulfills a linking function between 
the other two sub-frameworks."


"MattockFS will provide the per-node access to one of the data 
repositories, more on this below. While read-access is provided 
globally, MattockFS provides strict context and access control for 
adding and unforgeable provenance logged access to any writing 
operations. "


"We consider the use of a seperate UID and the use of the file-system as 
writing and logging deputy to be essential privilege separations 
constructs for the overall robustness of the Mattock framework. We take 
the conservative approach that a single unaudited third-party module 
having the power to corrupt the archive or the provenance log as a 
result of hostile-data processing should be considered an unacceptable 
risk for large-scale multi-module processing setups. The data corruption 
capacity of the archive data by a vulnerable tool should be limited to 
those parts of the archive ascribable to the vulnerable tool. "

"After the module is finished creating the file, MattockFS allows the 
module to freeze the mutable data and obtain a CarvPath to the frozen 
read-only version of the file."

"While MattockFS in general is meta-data achnostic (MattockLib generated 
meta-data is treated as just an other mime-type), our privileged 
separation needs require lab-side provenance related meta-data to be 
handled by MattockFS. We do this by creating a first provenance record 
when the first job in a tool-chain is created, appending a short 
provenance record for each consecutive job, and writing all records (as 
single-line JSON) to a provenance log file."

"As shown in MinorFS, just using sparse capabilities is insufficient a 
guard against such issues. MattockFS implements a sparse capability 
based interface as FS based API, but the use of mandatory access control 
(like AppArmor) should be considered to fully secure the forensic 
process from integrity attacks through vulnerable modules."

Any input b.t.w is greatly appreciated.

Kind Regards,

Rob