\sech{Custom Works}

\nopagebreak
I have written a good bit of software over the past years.  Some of the more
useful packages (written in C) are briefly noted below.  For a more complete
list of publicly available software and more encompassing descriptions,
covering a variety of programming languages, see:

\mbox{\hspace{5ex}\tt http://www.episec.com/people/edelkind/}
\vspace{3ex}

\newcommand{\lxlib}{\texttt{lx\_lib}}
\customwork[lx lib Structural Memory Library]{\lxlib{} Structural Memory Library}{11/00}{present}
{http://www.episec.com/people/edelkind/lx\_lib.html}{

  \lxlib{} is a structural data library, designed for security,
  functionality, speed, and convenience, in that order.  With \lxlib{},
  memory allocation is handled using structures, promoting (among other
  things) more secure programming practices.  This is a fully functional
  work; additional functionality is added as desired or requested.

}

\newcommand{\getopts}{\texttt{get\_opts}}
\customwork[Structural get opts]{Structural \getopts{}}{4/01}{present}
{http://www.episec.com/people/edelkind/get\_opts.html}{

  Using a slightly different option parsing method than most, \getopts{}
  parses desired arguments into memory structures, which are easily accessed
  manipulated.  \getopts{} is designed to be an efficient, easily usable,
  and extensible option parsing library.  This is a complete and fully
  functional work.

}

\newcommand{\libnaw}{\texttt{libnaw}}
\customwork[Network Authentication Wrapper (libnaw)]{Network Authentication Wrapper (\libnaw{})}{9/01}{present}
{http://www.episec.com/people/edelkind/libnaw.html}{

  Many programs insufficiently authenticate network connections.  Some skip
  this vital step completely.  \libnaw{} wraps network library calls, and
  authenticates based on the configuration file you create for it.  Using
  \libnaw{}, you can (once complete) force mutual cryptographic
  authentication, so that both the client and server can be sure who's
  really on the other end. \libnaw{} is a partially functional work, and is
  under heavy development.

}

\newcommand{\slowget}{\texttt{slowget}}
\customwork[slowget Load Tester]{\slowget{} Load Tester}{9/01}{9/01}
{http://www.episec.com/people/edelkind/slowget.html}{

  \slowget{} is a metered load testing program allowing site administrators
  to emulate slow connections to their servers.  This is a highly important,
  yet commonly overlooked, element to generating accurate load testing
  results.  \slowget{} is a complete and fully functional work.

}

\newcommand{\fmtlib}{\texttt{fmtlib}}
\customwork[fmtlib Binary Auditing Tool]{\fmtlib{} Binary Auditing Tool}{07/02}{07/02}
{http://www.episec.com/people/edelkind/fmtlib.html}{

  Format string misuse is a dangerous flaw among today's programs and services,
  yet problems are prevalent.  \fmtlib{} is a dynamically loadable shared
  object that checks calls sent to format string-based functions and checks to
  see if the format string was passed using writable memory (i.e. memory that
  could have been loaded with user input).  Instances are logged, and may be
  reviewed at a later date.  The current version works with both FreeBSD and
  DGUX, and may easily be ported to other operating systems and arcitectures.
}

\newcommand{\socketwinch}{\texttt{socketwinch}}
\customwork[socketwinch Socket Redirection Tool]{\socketwinch{} Socket Redirection Tool}{09/03}{09/03}
{http://www.episec.com/people/edelkind/socketwinch.html}{

  \socketwinch is a socket redirection program that reads from many sockets
  and writes to one single socket. It is useful for running services that
  log to unix domain sockets in chroot(2) environments, converting between
  STREAM and DGRAM styles of sockets, etc.
}


\pagebreak[2]
\sech{Papers}

\nopagebreak
\paper{Securing Insecure Programs: Circumventing the Designer Bug}{2/01}
{submitted to Dr. Dobbs Journal \small{(available upon request)}}

\paper{Exploit Instruction Code Construction: assisting the manipulation of
services on obscure operating systems}{7/02}
{{\tt http://www.episec.com/people/edelkind/papers/shellcode.html}}

