From 28b5f4a55557eb30fa71a908dec1bd8a0e5633fa Mon Sep 17 00:00:00 2001 From: Juliana Fajardini Date: Tue, 21 Sep 2021 22:26:26 +0100 Subject: [PATCH] devguide: add page about app-layer frame support This explains the frame support from the perspective of a developer, with introductory explanation on how to add frame support to an applayer proto. Doc #4697 --- doc/devguide/Makefile.am | 3 + .../extending/app-layer/app-layer-frames.rst | 221 ++++++++++++++++++ .../extending/app-layer/img/StreamFrames.png | Bin 0 -> 103162 bytes doc/devguide/extending/app-layer/index.rst | 1 + 4 files changed, 225 insertions(+) create mode 100644 doc/devguide/extending/app-layer/app-layer-frames.rst create mode 100644 doc/devguide/extending/app-layer/img/StreamFrames.png diff --git a/doc/devguide/Makefile.am b/doc/devguide/Makefile.am index 960a945c9..e4fe5ea30 100644 --- a/doc/devguide/Makefile.am +++ b/doc/devguide/Makefile.am @@ -6,8 +6,11 @@ EXTRA_DIST = \ extending/decoder/index.rst \ extending/index.rst \ extending/app-layer/index.rst \ + extending/app-layer/app-layer-frames.rst \ extending/app-layer/parser.rst \ extending/app-layer/transactions.rst \ + extending/app-layer/diagrams \ + extending/app-layer/img \ extending/capture/index.rst \ extending/output/index.rst \ internals/engines/index.rst \ diff --git a/doc/devguide/extending/app-layer/app-layer-frames.rst b/doc/devguide/extending/app-layer/app-layer-frames.rst new file mode 100644 index 000000000..2c246adcb --- /dev/null +++ b/doc/devguide/extending/app-layer/app-layer-frames.rst @@ -0,0 +1,221 @@ +******************************* +Application Layer Frame Support +******************************* + +.. contents:: Table of Contents + +Baseline +======== + +- `Suricata rules format `_ + +General Concepts +================ + +Frame support was introduced with Suricata 7.0. Up until 6.0.x, Suricata's architecture and state of parsers meant that the network traffic available to the detection engine was just a stream of data, without detail about higher level parsers. + +.. note:: For Suricata, *Frame* is a generic term that can represent any unit of network data we are interested in, which could be comprised of one or several records of other, lower level protocol(s). Frames work as "stream annotations", allowing Suricata to tell the detection engine what type of record exists at a specific offset in the stream. + +The normal pipeline of detection in Suricata implied that: + +- Certain rules could be quite costly performance-wise. This happened because the same stream could be inspected several times for different rules, since for certain signatures the detection is done when Suricata is still inspecting a lower level stream, not the application layer protocol (e.g., *TCP* traffic, in place of *SMB* one); +- Rules could be difficult and tedious to write (and read), requiring that writers went in byte-detail to express matching on specific payload patterns. + +What the Frame support offers is the ability to "point" to a specific portion of stream and identify what type of traffic Suricata is looking at. Then, as the engine reassembles the stream, one can have "read access" to that portion of the stream, aggregating concepts like what type of application layer protocol that is, and differentiating between ``header``, ``data`` or even protocol versions (*SMB1*, *SMB2*...). + +The goal of the stream *Frame* is to expose application layer protocol `PDUs `_ and other such arbitrary elements to the detection engine directly, instead of relying on Transactions. The main purpose is to bring *TCP data* processing times down by specialising/ filtering down traffic detection. + +Adding Frame Support to a Parser +================================ + +The application layer parser exposes frames it supports to the detect engine, by tagging them as they're parsed. The rest works automatically. + +In order to allow the engine to identify frames for records of a given application layer parser, thought must be given as to which frames make sense for the specific protocol you are handling. Some parsers may have clear ``header`` and ``data`` fields that form its *protocol data unit* (pdu). For others, the distinction might be between ``request`` and ``response``, only. Whereas for others it may make sense to have specific types of data. This is better understood by seeing the different types of frame keywords, which vary on a per-protocol basis. + +It is also important to keep follow naming conventions when defining Frame Types. While a protocol may have strong naming standards for certain structures, do compare those with what Suricata already has registered: + +- ``hdr``: used for the record header portion +- ``data``: is used for the record data portion +- ``pdu``: unless documented otherwise, means the whole record, comprising ``hdr`` and ``data`` +- ``request``: a message from a client to a server +- ``response``: a message from a server to a client + +Basic steps +~~~~~~~~~~~ + +Once the frame types that make sense for a given protocol are defined, the basic steps for adding them are: + +- create an enum with the frame types; +- identify the parsing function(s) where application layer records are parsed; +- identify the correct moment to register the frames; +- use the Frame API calls directly or build upon them and use your functions to register the frames; +- register the relevant frame callbacks when registering the parser. + +Once these are done, you can enable frame eve-output to confirm that your frames are being properly registered. It is important to notice that some hard coded limits could influence what you see on the logs (max size of log output; type of logging for the payload, cf. https://redmine.openinfosecfoundation.org/issues/4988). + +If all the steps are successfully followed, you should be able to write a rule using the *frame* keyword and the frame types you have registered with the application layer parser. + +Using the *SMB* parser as example, before frame support, a rule would look like:: + + alert tcp ... flow:to_server; content:"|ff|SMB"; content:"some smb 1 issue"; + +With frame support, one is able to do:: + + alert smb ... flow:to_server; frame:smb1.data; content:"some smb 1 issue"; + +Implementation Examples & API Callbacks +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Though the steps are the same, there are a few differences when implementing frame support in Rust or in C. The following sections elaborate on that, as well as on the process itself. (Note that the code snippets have omitted portions of code that weren't so relevant to this document). + +Rust +---- + +This section shows how Frame support is added in Rust, using examples from the `SIP parser `_, and the `telnet parser `_. + +**Define the frame types**. The frame types are defined as an enum. In Rust, make sure to derive from the ``AppLayerFrameType``: + +.. literalinclude:: ../../../../rust/src/sip/sip.rs + :caption: rust/src/sip/sip.rs + :language: rust + :start-after: // app-layer-frame-documentation tag start: FrameType enum + :end-before: // app-layer-frame-documentation tag end: FrameType enum + +**Frame registering**. Some understanding of the parser will be needed in order to find where the frames should be registered. It makes sense that it will happen when the input stream is being parsed into records. See when some pdu and request frames are created for SIP: + +.. literalinclude:: ../../../../rust/src/sip/sip.rs + :caption: rust/src/sip/sip.rs + :language: rust + :start-after: // app-layer-frame-documentation tag start: parse_request + :end-before: // app-layer-frame-documentation tag end: parse_request + :dedent: 4 + +.. note:: when to create PDU frames + + The standard approach we follow for frame registration is that a frame ``pdu`` will always be created, regardless of parser status (in practice, before the parser is called). The other frames are then created when and if only the parser succeeds. + +**Use the Frame API or build upon them as needed**. These are the frame registration functions highlighted above: + +.. literalinclude:: ../../../../rust/src/sip/sip.rs + :caption: rust/src/sip/sip.rs + :language: rust + :start-after: // app-layer-frame-documentation tag start: function to add frames + :end-before: // app-layer-frame-documentation tag end: function to add frames + +**Register relevant frame callbacks.** As these are inferred from the ``#[derive(AppLayerFrameType)]`` statement, all that is needed is: + +.. literalinclude:: ../../../../rust/src/sip/sip.rs + :caption: rust/src/sip/sip.rs + :language: rust + :start-at: get_frame_id_by_name + :end-at: ffi_name_from_id), + :dedent: 8 + +.. note:: on frame_len + + For protocols which search for an end of frame char, like telnet, indicate unknown length by passing ``-1``. Once the length is known, it must be updated. For those where length is a field in the record (e.g. *SIP*), the frame is set to match said length, even if that is bigger than the current input + +The telnet parser has examples of using the Frame API directly for registering telnet frames, and also illustrates how that is done when length is not yet known: + +.. literalinclude:: ../../../../rust/src/telnet/telnet.rs + :caption: rust/src/telnet/telnet.rs + :language: rust + :start-after: // app-layer-frame-documentation tag start: parse_request + :end-before: // app-layer-frame-documentation tag end: parse_request + :lines: 1-3, 22-49 + :dedent: 4 + +We then update length later on (note especially lines 3 and 10): + +.. literalinclude:: ../../../../rust/src/telnet/telnet.rs + :caption: rust/src/telnet/telnet.rs + :language: rust + :start-after: // app-layer-frame-documentation tag start: update frame_len + :end-before: // app-layer-frame-documentation tag end: update frame_len + :linenos: + :dedent: 12 + +The Frame API calls parameters represent: + +- ``flow``: dedicated data type, carries specific flow-related data +- ``stream_slice``: dedicated data type, carries stream data, shown further bellow +- ``frame_start``: a pointer to the start of the frame buffer in the stream (``cur_i`` in the SMB code snippet) +- ``frame_len``: what we expect the frame length to be (the engine may need to wait until it has enough data. See what is done in the telnet snippet request frames registering) +- ``frame_type``: type of frame it's being registering (defined in an enum, as shown further above) + +``StreamSlice`` contains the input data to the parser, alongside other Stream-related data important in parsing context. Definition is found in *applayer.rs*: + +.. literalinclude:: ../../../../rust/src/applayer.rs + :caption: rust/src/applayer.rs + :language: rust + :start-at: pub struct StreamSlice + :end-before: impl StreamSlice + + +C code +------ + +Implementing Frame support in C involves a bit more manual work, as one cannot make use of the Rust derives. Code snippets from the *HTTP* parser: + +Defining the frame types with the enum means: + +.. literalinclude:: ../../../../src/app-layer-htp.c + :caption: src/app-layer-htp.c + :start-after: /* app-layer-frame-documentation tag start: HttpFrameTypes + :end-before: /* app-layer-frame-documentation tag end: HttpFrameTypes + :lines: 1-16 + +The HTTP parser uses the Frame registration functions from the C API (``app-layer-frames.c``) directly for registering request Frames. Here we also don't know the length yet. The ``0`` indicates flow direction: ``toserver``, and ``1`` would be used for ``toclient``: + +.. literalinclude:: ../../../../src/app-layer-htp.c + :caption: src/app-layer-htp.c + :start-after: /* app-layer-frame-documentation tag start: frame registration http request + :end-before: /* app-layer-frame-documentation tag end: frame registration http request + :dedent: 4 + +Updating ``frame->len`` later: + +.. literalinclude:: ../../../../src/app-layer-htp.c + :caption: src/app-layer-htp.c + :start-after: /* app-layer-frame-documentation tag start: updating frame->len + :end-before: /* app-layer-frame-documentation tag end: updating frame->len + :dedent: 4 + +Register relevant callbacks (note that the actual functions will also have to be written, for C): + +.. literalinclude:: ../../../../src/app-layer-htp.c + :caption: src/app-layer-htp.c + :language: c + :start-after: /* app-layer-frame-documentation tag start: registering relevant callbacks + :end-before: /* app-layer-frame-documentation tag end: registering relevant callbacks + :dedent: 8 + +Visual context +============== + +``input`` and ``input_len`` are used to calculate the proper offset, for storing the frame. The stream buffer slides forward, so frame offsets/frames have to be updated. The `relative offset` (``rel_offset``) reflects that: + +.. code-block:: c + + Start: + [ stream ] + [ frame ...........] + rel_offset: 2 + len: 19 + + Slide: + [ stream ] + [ frame .... .] + rel_offset: -10 + len: 19 + + Slide: + [ stream ] + [ frame ........... ] + rel_offset: -16 + len: 19 + +The way the engine handles stream frames can be illustrated as follows: + +.. image:: img/StreamFrames.png + :scale: 80 diff --git a/doc/devguide/extending/app-layer/img/StreamFrames.png b/doc/devguide/extending/app-layer/img/StreamFrames.png new file mode 100644 index 0000000000000000000000000000000000000000..f145c980ec2718c3ed19ff31469319d70efc9271 GIT binary patch literal 103162 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

b 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 literal 0 Hc-jL100001 diff --git a/doc/devguide/extending/app-layer/index.rst b/doc/devguide/extending/app-layer/index.rst index d3086b790..c392e5834 100644 --- a/doc/devguide/extending/app-layer/index.rst +++ b/doc/devguide/extending/app-layer/index.rst @@ -4,5 +4,6 @@ App-Layer .. toctree:: :maxdepth: 2 + app-layer-frames.rst parser.rst transactions.rst -- 2.47.3