From 5b9052a67efe19b9c9ed08bbaf25b46a4a671489 Mon Sep 17 00:00:00 2001 From: Kelly Kaoudis Date: Thu, 22 Aug 2024 13:36:16 -0400 Subject: [PATCH] updates tdag documentation --- docs/img/tdag.png | Bin 0 -> 99743 bytes docs/tdag.md | 181 ++++++++++++++++++---------------------------- 2 files changed, 72 insertions(+), 109 deletions(-) create mode 100644 docs/img/tdag.png diff --git a/docs/img/tdag.png b/docs/img/tdag.png new file mode 100644 index 0000000000000000000000000000000000000000..b8bd3677837b246ec5d3d1720a1fc02e285e1988 GIT binary patch literal 99743 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

`sV_aAcRObw_0 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

vQS_5^&TB^F!sS9OWE>q2=#+YhX`it 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 z

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 AqyPW_ literal 0 HcmV?d00001 diff --git a/docs/tdag.md b/docs/tdag.md index 63e0b0ae..e4698516 100644 --- a/docs/tdag.md +++ b/docs/tdag.md @@ -1,156 +1,119 @@ -# TaintDAG file format +# The Tainted Directed Acyclic Graph (TDAG) File Format -The Taint Directed Acyclic Graph (TaintDAG, TDAG) file format is tailored to facilitate fast recording of taint operations. +Please see [our ISSTA paper](https://github.com/trailofbits/publications/blob/master/papers/issta24-polytracker.pdf) for a more formal version (as of July 2024) of the documentation that follows. -It is a binary file format based on sparse files. It consists of a header and a number of subsections. The subsections store information about: +PolyTracker uses static instrumentation placed with several [LLVM passes](../polytracker/include/polytracker/passes) to produce several different but complementary kinds of runtime program information in the TDAG format. -- taint sources: filename and offset information -- taint output log: tainted values written to an output file -- taint graph: the graph of how taint values are unioned from source taint and other unions. +The Tainted Directed Acyclic Graph (TaintDAG, TDAG) binary file format is an abstract representation of the directed acyclic graph of each taint label recorded at execution time and the provenance relationships between them. Each provenance relationship between labels is directed (each label knows about its two most immediate ancestors, if it's not a source label). The acyclic nature of this graph is a result of processing input bytes and tracing those processing operations during parsing. Here's an idea of what we're talking about: -Because of the sparse layout it is very well suited for memory mapping (via `mmap()`) directly into the instrumented process address space. +

+ The Directed Acyclic Graph part of a TDAG. This is incidentally a figure from our ISSTA paper. Check out that paper if you want more diagrams. +

-## Taint Sources, Unions and Ranges +*Figure: an idealized Tainted Directed Acyclic Graph. Increase in color saturation indicates the accumulation of data flow taint.* -Whenever data is read from an input file, the data entering the program is labeled as source taint. Information about which file and at what offset is kept. This is the only way taints can originate in a program. +We store PolyTracker traces as TDAG files so they can be analyzed after they are recorded. Whenever a PolyTracker-instrumented binary runs, that binary produces a new TDAG. Unlike other information flow tracking tools, PolyTracker does not currently do any "online" analysis at runtime! We store PolyTracker traces in the TDAG format so that we can "post-hoc" or "offline" conduct sampled analyses, differential (comparative) analyses between traces, and other types of analyses that are not possible at runtime. Conveniently enough, this also means we don't need to spend runtime tracing memory on analysis operations and can separately optimize our analyses. -As the instrumented binary operates on the now labeled data, the associated taint labels need to reflect those operations. E.g. on addition of two tainted values there should be a new taint label associated with the result. The new label should reflect the union of the operand labels. +Parsing code that can read TDAGs and produces Python data structures from the sections of TDAG files primarily lives in [taint_dag.py](../polytracker/taint_dag.py). This "read side" code directly corresponds to the C++ header-file definitions we use to write a TDAG file as we build up data flow information, which can be found in [polytracker/include/taintdag](../polytracker/include/taintdag). -```C - uint32_t a = ...; - uint32_t b = ...; - uint32_t result = a + b; -``` - -For the above case the taint label of `result` represents a union of the taint labels of `a` and `b`. - -If the taint labels considered for a union are adjacent (number wise), e.g. two consecutive source taint bytes, a range is created. Unions and ranges occupy the same amount of storage. The main difference is that a range can be extended to become a larger range. +The size of a given TDAG depends not only on the size of the input traced, but also on the complexity of the operations the instrumented software did with the input bytes. Some TDAGS, understatement, are quite large. To reduce the number of file system operations needed, the `polytracker` Python library memory [maps the contents of the TDAG into process memory](https://github.com/trailofbits/polytracker/blob/master/polytracker/taint_dag.py#L451) (via `mmap()`). This makes it possible to work with ``raw'' TDAGs exactly like one might work with an array or a buffer. While we currently use a number of buffer copies for operations on the TDAG, this strategy will eventually prove unsustainable for tracing more complex algorithms (such as zlib decompression) run on larger inputs. -Consider the following operation on source bytes +## Layout -```C -uint8_t src[1024]; -// read source taint -uint32_t val = *(uint32_t*)src; -``` +Each TDAG includes a number of subsections; the largest of these is typically the labels section, followed by the control flow log section. The following image is an idealized representation of what you'll find in an average TDAG (as of July 2024). Note that this drawing doesn't include directly, for example, the bitmap section. -In this example `val` should be labeled with the union of the four consecutive source taint lables. In this case a range is instead created representing all four labels. +

+ The TDAG. This is incidentally a figure from our ISSTA paper. Check out that paper if you want more diagrams. +

-The main motivation for introducing ranges is to allow for efficient membership testing. If a taint label is already included in a range of taint values, the range can be reused. It is possible to unfold the range into a tree of unions and walk the tree, but it requires more computation. +*Figure: Layout of an idealized TDAG. Increase in color saturation indicates the accumulation of data flow taint.* -```C -uint8_t src[1024]; -// read source taint -uint32_t val1 = *(uint32_t*)src; -uint32_t val2 = val1 + src[1]; -``` +Every [section](../polytracker/include/taintdag/section.h) in the TDAG has a predefined size, entry size, and optionally also spacing/padding between entries. The sections available in a TDAG file are accessed by tag by the class `TDFile` in [taint_dag.py](../polytracker/taint_dag.py). -In this slightly extended example the label of `val2` can be made equal to `val1`. It depends on the exact same source labels. Ranges make checking for such cases more efficient. +Some specifics: +- [File Header](../polytracker/include/taintdag/outputfile.h): this header consists of the TDAG magic bytes, and then "meta" information used to determine the number, type, and contents of the sections that follow FileHeader. This is what `TDFile` is going to interpret to figure out what to do with the rest of the file contents. +- [Labels](../polytracker/src/taintdag/) consists of the tainted information flow labels recorded at runtime +- [Sources](../polytracker/src/taint_sources/taint_sources.cpp) contains source labels (byte offsets into the input) +- The Source Label Index is a bitmap that defines how to index the sources section. +- [Sinks](../polytracker/include/taintdag/sink.h) contains sink labels (representing bytes of the output) +- [Strings](../polytracker/include/taintdag/string_table.h) todo(kaoudis) the string table is used in conjunction with the fnmapping to put together an earlier version of the control flow log used for grammar extraction +- [Functions](../polytracker/include/taintdag/fnmapping.h) todo(kaoudis) this contains an early version of the function list part of the control flow log used for grammar extraction +- [Events](../polytracker/include/taintdag/fntrace.h) todo(kaoudis) this contains an early version of the entry and exit events used to structure the control flow log +- [Control Flow Log](../polytracker/include/taintdag/control_flow_log.h): this consists of the function entry and exit records we need to reconstruct the call stack that data flow passed through. -## Affects control flow +## TDAG Contents -In addition to being Source-, Union- or Range-Taint, each value is also marked if it affects control flow. The basic example is a value with taint label `L` is read from file, compared against another value, and a branch is taken based on the result. Whenever the conditional branch is executed, the taint with label `L` is marked as affecting control flow. +You'll notice the TDAG doesn't just include data flow labels, but also has the other information we collect as well. We use LLVM passes to place several different kinds of static instrumentation at build time. Via this instrumentation, the PolyTracker library will collect different, complementary, aspects of runtime information flow. - +We track a couple different kinds of information flow, and record them all together in different sections of the same file: +- dynamic information flow trace labels (taint labels) +- "affects-control-flow" label tags (represented with the letter C in the above figure) +- function entries and exits that correspond to the function log for callstack reconstruction purposes -Affects control flow propagates through unions and ranges. This means that if a value with a union or range label `W` affects control flow, then each taint label represented by `W` is in turn marked as affecting control flow. +We also include the following more static data: +- the function log that corresponds to the section of the control flow graph our data flow trace followed +- the index of source bytes, and a mapping between source bytes and initial labels +- the index of sink bytes -## File format +Once the TDAG of interest has been read in, we can re-construct information that is useful for analyses, such as: +- provenance relationships for each intermediate label (these tell you how we got a particular label and what data it descends from; these relationships also can be leveraged to determine what other labels descend from the label of interest), and +- the control flow log to label mapping for each intermediate label (this tells you where/when we recorded the label during execution). -The general layout of the file is as follows: +## Labels -``` -[FileHdr][FileDescriptorMap][TDAGMapping][SinkLog] -``` +Each label is currently of size `uint32_t`, but because we store other data that describes the label in a bit vector right alongside it, we use an `uint64_t` ("`storage_t`") to hold all of this. See `label_t` and `storage_t` in [taint.h](../polytracker/include/taintdag/taint.h). See [encoding.h](../polytracker/include/taintdag/encoding.h) comments in [encoding.cpp](../polytracker/src/taintdag/encoding.cpp) for some description of what actually goes in a "taint label". -### FileHdr +As the instrumented binary operates on the now labeled data, the associated taint labels need to reflect those operations. For example, if the instrumented program happens to add two tainted values, we will create a new taint label to represent the addition's result. The new label should reflect the union of the operand labels. -```C -struct FileHdr { - uint64_t fd_mapping_offset; - uint64_t fd_mapping_count; - uint64_t tdag_mapping_offset; - uint64_t tdag_mapping_size; - uint64_t sink_mapping_offset; - uint64_t sink_mapping_size; -}; -``` +### Source Labels -Each offset is relative to the start of the file. +Whenever the instrumented program reads in data, by default, we label each byte of that input as a *taint source*. PolyTracker can also use either stdin and all of argv as sources of taint, but you'll need to set either `POLYTRACKER_STDIN_SOURCE` or `POLYTRACKER_TAINT_ARGV` to make that work. When we work with sources on the "read" or analysis side of PolyTracker, each `source` has a reference to the input file it came from. -### FDMappingHdr +### Shadow Memory Usage -At `fd_mapping_offset` there is an array of `FDMappingHdr` structures. Length of the array is given by `fd_mapping_count`. +As a note for the unwary, how we use shadow memory differs a bit from how you might expect DFSan to operate. We primarily cache intermediate labels there: a given label needs to be written out to the TDAG file before we can add to shadow memory a new descendant label resulting from a range or union operation involving that initial label. ```C -struct FDMappingHdr { - int32_t fd; - uint32_t name_offset; - uint32_t name_len; - uint32_t prealloc_begin; - uint32_t prealloc_end; -}; -``` - -Each of the `FDMappingHdr` structures has an implicit index. Subsequent structures in the TDAG use that index to refer to each `FDMappingHdr`. - -``` -[FDMappingHdr][FDMappingHdr]...[FDMappingHdr] -Index 0 Index 1 ... Index N + uint32_t a = ...; + uint32_t b = ...; + uint32_t result = a + b; ``` -The `fd` field is the file descriptor as seen at runtime. The `name_offset` is the offset at which the name associated with `fd` is located in the TDAG file. The `name_len` is the length of the file name at `name_offset`. The `prealloc_begin` and `prealloc_end`, if not zero, indicate a source taint sequence of adjacent labels that was preallocated for this file. The idea is to have as many contiguous labels as possible for the same file, aiming at maximising the number of ranges generated. +For the above case the taint label of `result` represents a union of the taint labels of `a` and `b`. The labels of `a` and `b` will be written out to the labels section of the TDAG before we add the label corresponding to `result` to shadow memory. -### SourceTaint, UnionTaint and RangeTaint - the actual TDAG - -At `tdag_mapping_offset` there is `tdag_mapping_count` of `uint64_t` entries. Each entry denotes either a Source-, Union- or Range-Taint. Their relative index is the taint label. Index zero is unused as it denotes 'not tainted'. The general layout of the `uint64_t` value is: - -``` -| x y zzz...z | - 63 0 -``` +### Range Versus Union -Bits `x` and `y` are common for the three kinds of taint values. The value `x` is set to one to indicate that it is a source taint and to zero if it is a Union- or Range-Taint. The value `y` is set to one if the taint affects control flow and zero if not. +If the taint labels considered for a union are adjacent in memory, for example, two consecutive source taint bytes, we create a *range* label instead. Unions and ranges occupy the same amount of storage. The main difference between these two label creation operations and the resulting label types is that a range can be "extended" to become a larger range. -For SourceTaint, the following layout is used: +Consider the following operation on source bytes -``` -| x y ooo oo iiiiiiii | - 63 61 7 0 +```C +uint8_t src[1024]; +// read source taint +uint32_t val = *(uint32_t*)src; ``` -Here, `o` denotes the offset in the source file. The `i` denotes the source file index, referring to the `FDMappingHdr` index and structures previously described. +In this example `val` should be labeled with the union of the four consecutive source taint lables. In this case a range is instead created representing all four labels. -If `x` is zero, the value is either a Union-Taint or a Range-Taint. They share a common layout +The main motivation for introducing ranges is to allow for efficient membership testing. If a taint label is already included in a range of taint values, the range can be reused. It is possible to unfold the range into a tree of unions and walk the tree, but that requires more computation. -``` -| x y vvv ... v www ... w | - 63 61 30 0 +```C +uint8_t src[1024]; +// read source taint +uint32_t val1 = *(uint32_t*)src; +uint32_t val2 = val1 + src[1]; ``` -Here, `v` and `w` denotes unsigned integers referring to other taint values in the TDAG structure. To differentiate between a range and a union the following rule is used: - -``` -v < w => RangeTaint -w < v => UnionTaint -w == v => undefined -``` +In this slightly extended example the label of `val2` can be made equal to `val1`. It depends on the exact same source labels. Ranges make checking for such cases more efficient. -### SinkLog +## `affects_control_flow` -The sinklog is a sequence of records logging what tainted values have been written to output files. Each entry in the sinklog index is defined as +When we find that the value tagged with a particular taint label affects control flow, we set a bit on the label indicating such on the write side (see [taint.h](../polytracker/include/taintdag/taint.h) for the definition and [labels.h](../polytracker/include/taintdag/labels.h) for how we do this). On the read side, we represent this property for labels using the Boolean value `affects_control_flow` (see [taint_dag.py](../polytracker/taint_dag.py)). -```C -struct SinkLogEntry { - uint8_t fdidx; - uint64_t offset; - uint32_t label; -}; -``` +If a parent of a given label has `affects_control_flow` set, we also set `affects_control_flow` for the label. This means that `affects_control_flow` is a distinctly tracked type of tainted information flow from our main data flow! As well, note that if a value with a union or range label `W` affects control flow, then each taint label represented by `W` is in turn marked as affecting control flow. -NOTE: The structure is assumed to be packed and occupy `1 + 8 + 4 = 13` bytes. -In this structure, the `fdidx` is an index into the `FDMappingHdr` array described previously. The `offset` is the offset in the output file represented by `fdidx`. Finally the `label` is the taint label associated with the data written and is thus an index into the TDAG structure at `tdag_mapping_offset`. +A simple example of a control-flow-affecting data flow operation is: a value with taint label `L` is read from file, compared against another value, and a branch is taken based on the result. Whenever the conditional branch is executed, the taint with label `L` is marked as affecting control flow. ## Portability -The file format is currently not portable. There is no effort made to store values in anything other than the native endianess. +We store all values in their native endianness. This file format is currently not portable. \ No newline at end of file