Commit Graph

40 Commits

Author SHA1 Message Date
wiz 01869ca4d2 Remove workaround for ancient HTML generation code. 2017-07-03 21:28:48 +00:00
riastradh 6cb10275d0 Merge riastradh-drm2 to HEAD. 2014-03-18 18:20:35 +00:00
wiz a5684d07dd Use Mt for email addresses. 2013-07-20 21:39:55 +00:00
wiz ed5cd81dad Mark up file as argument. 2011-04-28 12:01:58 +00:00
wiz 85e4f3c354 security(7), not (8). 2011-04-28 11:23:57 +00:00
dholland a28347f962 Document -v. PR 39441 from Stathis Kamperis. Bump date. 2008-08-31 23:40:19 +00:00
elad 52cf460a76 Following input from Matthew Mondor, some Veriexec documentation changes:
- Document the signatures file format in a veriexec(5) man-page,
  - Document the strict levels and a general Veriexec intro in veriexec(8)
    instead of security(8).

Okay blymn@.
2008-02-18 10:37:19 +00:00
elad d6faea9863 Allow no signatures file to be specified for the "load" command, and use
the default one in such cases.

Update command usage and documentation to reflect the above.
2008-02-15 15:33:56 +00:00
elad 8f8e9e057c Xref security(8) from veriexec(4), veriexec(9), veriexecctl(8), and
veriexecgen(8).

Suggested by Matthew Mondor.
2008-02-10 19:32:23 +00:00
wiz 3a8a3f8310 Whitespace and HTML output fixes. 2007-12-13 22:06:45 +00:00
elad 6700cfccd6 Some Veriexec stuff that's been rotting in my tree for months.
Bug fixes:
  - Fix crash reported by Scott Ellis on current-users@.

  - Fix race conditions in enforcing the Veriexec rename and remove
    policies. These are NOT security issues.

  - Fix memory leak in rename handling when overwriting a monitored
    file.

  - Fix table deletion logic.

  - Don't prevent query requests if not in learning mode.


KPI updates:
  - fileassoc_table_run() now takes a cookie to pass to the callback.

  - veriexec_table_add() was removed, it is now done internally. As a
    result, there's no longer a need for VERIEXEC_TABLESIZE.

  - veriexec_report() was removed, it is now internal.

  - Perform sanity checks on the entry type, and enforce default type
    in veriexec_file_add() rather than in veriexecctl.

  - Add veriexec_flush(), used to delete all Veriexec tables, and
    veriexec_dump(), used to fill an array with all Veriexec entries.


New features:
  - Add a '-k' flag to veriexecctl, to keep the filenames in the kernel
    database. This allows Veriexec to produce slightly more accurate
    logs under certain circumstances. In the future, this can be either
    replaced by vnode->pathname translation, or combined with it.

  - Add a VERIEXEC_DUMP ioctl, to dump the entire Veriexec database.
    This can be used to recover a database if the file was lost.
    Example usage:

        # veriexecctl dump > /etc/signatures

    Note that only entries with the filename kept (that is, were loaded
    with the '-k' flag) will be dumped.

    Idea from Brett Lymn.

  - Add a VERIEXEC_FLUSH ioctl, to delete all Veriexec entries. Sample
    usage:

        # veriexecctl flush

  - Add a 'veriexec_flags' rc(8) variable, and make its default have
    the '-k' flag. On systems using the default signatures file
    (generaetd from running 'veriexecgen' with no arguments), this will
    use additional 32kb of kernel memory on average.

  - Add a '-e' flag to veriexecctl, to evaluate the fingerprint during
    load. This is done automatically for files marked as 'untrusted'.


Misc. stuff:
  - The code for veriexecctl was massively simplified as a result of
    eliminating the need for VERIEXEC_TABLESIZE, and now uses a single
    pass of the signatures file, making the loading somewhat faster.

  - Lots of minor fixes found using the (still under development)
    Veriexec regression testsuite.

  - Some of the messages Veriexec prints were improved.

  - Various documentation fixes.


All relevant man-pages were updated to reflect the above changes.

Binary compatibility with existing veriexecctl binaries is maintained.
2007-05-15 19:47:43 +00:00
elad 95513f79fe Support escaping characters in the path so that spaces etc. are allowed
in entries for Veriexec.

This has been requested for a long time, most recently by Brad Harder.

Thanks a lot to Michael van Elst for the patch, done during the latest
hackathon.
2006-11-29 14:28:30 +00:00
elad 53ca07b4d7 If Veriexec enforces access type, don't allow mmap() to use PROT_EXEC on
files that don't have the "indirect" flag. Also change the "library" alias
in veriexecctl(8) to mean "file, indirect".

okay blymn@
2006-09-30 10:56:31 +00:00
elad 58375355b4 .Sh -> .Ss
mmm mdoclint. :)
2006-09-17 13:03:02 +00:00
elad efffcc37c4 Reference veriexecgen(8) instead of the old scripts. Bump date. 2006-09-16 21:06:13 +00:00
elad 3ea3b1e63e Scripts don't have to be *shell* scripts. 2006-09-16 17:17:23 +00:00
elad 0f70b7df59 no VERIFIED_EXEC anymore, just a pseudo-device. 2006-07-22 10:43:51 +00:00
elad b2b73a2973 misc cleanup: remove #if 0 code, unused var, and make pretty. 2006-07-14 23:00:09 +00:00
wiz fe79b0c9bd Grammar improvement. 2005-12-12 22:29:37 +00:00
elad a9505be892 Add and document a "query" keyword to veriexecctl. Usage:
/sbin/veriexecctl query /path/to/file

will print out filename, device, inode, evaluation status, entry flags,
fingerprint, and fingerprinting algorithm.
2005-12-12 21:47:58 +00:00
elad f39afe3e47 Add and document a VERIEXEC_DELETE operation for Veriexec.
We can now delete an entry from the tables using

	veriexecctl delete /path/to/file

or remove an entire table using

	veriexecctl delete /mount_point

(any directory will work for the mount point it's on)
2005-12-10 02:10:00 +00:00
wiz 42c5a0b8fd Make sentence more readable. 2005-10-05 13:58:49 +00:00
elad 8fc0d7a9c3 Introduce per-page fingerprints in Veriexec.
This closes a hole pointed out by Thor Lancelot Simon on tech-kern ~3
years ago.

The problem was with running binaries from remote storage, where our
kernel (and Veriexec) has no control over any changes to files.

An attacker could, after the fingerprint has been verified and
program loaded to memory, inject malicious code into the backing
store on the remote storage, followed by a forced flush, causing
a page-in of the malicious data from backing store, bypassing
integrity checks.

Initial implementation by Brett Lymn.
2005-10-05 13:48:48 +00:00
wiz f309f02fd0 Bump date for previous; use more markup. 2005-08-07 11:17:31 +00:00
blymn b7550dc6d4 Add and document some convenience aliases for commonly required option
combinations.
2005-08-06 09:00:20 +00:00
elad 42735a8747 Sync with reality.
- Verified Exec -> Veriexec
- pseudo-device is `veriexec'
- veriexec.conf -> signatures, and mention /etc/signatures as the default
  location
- We use veriexec's strict level, not the system securelevel
- Mention the `direct' option
- Mention that the signatures file can have multiple options in a single
  entry, comma-separated
- Mention that both `direct' and `indirect' access modes are implied
  if no access modes are explicitly mention in the options
- Bump date
2005-08-02 18:06:14 +00:00
wiz 8dcbfbbb96 Bump date for previous. 2005-06-13 13:07:56 +00:00
elad 471eb59186 Remove bits about deprecated 'fingerprints' command. 2005-06-13 13:05:29 +00:00
elad cd0c4134f1 Remove common code for returning supported fingerprints. This is done now
via sysctl(8) using kern.veriexec.algorithms.

Also add an entry for the 'algorithms' variable in sysctl.8 forgotten in
the last commit.
2005-05-20 19:52:52 +00:00
blymn f83fbb398f Add bugs sub-heading to warn about whitespace in filenames. 2005-04-24 13:23:55 +00:00
wiz 35bf4cd6e6 Add Xr to veriexec.4. 2005-04-22 14:37:10 +00:00
wiz bb1cbe5e1c Mention command names in SYNOPSIS; add gen_rmd160 to SEE ALSO;
improve formatting; bump date.
2005-04-22 14:35:13 +00:00
blymn 8387760ed1 Rototill of the verified exec functionality.
* We now use hash tables instead of a list to store the in kernel
    fingerprints.
  * Fingerprint methods handling has been made more flexible, it is now
    even simpler to add new methods.
  * the loader no longer passes in magic numbers representing the
    fingerprint method so veriexecctl is not longer kernel specific.
  * fingerprint methods can be tailored out using options in the kernel
    config file.
  * more fingerprint methods added - rmd160, sha256/384/512
  * veriexecctl can now report the fingerprint methods supported by the
    running kernel.
  * regularised the naming of some portions of veriexec.
2005-04-20 13:44:45 +00:00
wiz 709d468844 Remove unnecessary dot, and bump date for new SEE ALSO section. 2005-01-06 15:28:13 +00:00
hubertf 149b104c3b Add SEE ALSO section pointing at the scripts to create signatures
XXX they should be installed as veriexec_gen_* IMHO,
XXX not dwell in /usr/share/examples
2005-01-06 00:33:54 +00:00
wiz eec56f3b12 Bump date for previous. 2004-03-06 23:38:40 +00:00
blymn 03244f56bf Fix error in description of signature file syntax (thanks to Chrisian
Biere)
Fix wording to match changed syntax line
Add some clarifications to the wording
Improve vertical spacing of some sections.
2004-03-06 12:03:48 +00:00
atatat dd0a8acd21 The next release will be 2.0, not 1.7. 2003-01-19 21:25:36 +00:00
wiz cbd9802b91 Remove traces of old names (verifiedexec_load and /dev/verifiedexec). 2002-12-21 23:41:44 +00:00
blymn 5447f70f9c Renamed verified exec fingerprint loader. 2002-11-23 10:52:49 +00:00