<div dir="ltr"><div style="text-align:center"><b><font face="arial, helvetica, sans-serif">$500 Discount 5-Day Developer Training</font></b></div><div style="text-align:center"><font face="arial, helvetica, sans-serif">Paris, France</font></div><div style="text-align:center"><font face="arial, helvetica, sans-serif">September 12 - 16</font></div><div><font face="arial, helvetica, sans-serif"><br></font></div><div><div><font face="arial, helvetica, sans-serif"><br></font></div><div><font face="arial, helvetica, sans-serif">Don't miss this opportunity to attend the 5-day Suricata training designed for and led by developers. This <u>annual</u> training event will teach you how to extend Suricata's features and functionalities. You will also have direct access to the Suricata's developers for questions and help.</font></div><div style="text-align:center"><font face="arial, helvetica, sans-serif"><br></font></div><div style="text-align:center"><font face="arial, helvetica, sans-serif"><b>REGISTER BEFORE JULY 15 and receive $500 off!</b></font></div><div style="text-align:center"><font face="arial, helvetica, sans-serif"><a href="https://5-daydevtraining-paris.eventbrite.com/?discount=EarlyBird" target="_blank" style="letter-spacing:0.5px">Early Bird Registration</a><span style="color:rgb(0,0,0);letter-spacing:0.5px;background-color:rgb(248,248,250)"> </span><br></font></div><div><font face="arial, helvetica, sans-serif"><br></font></div><div><font face="arial, helvetica, sans-serif"><br></font></div><div><span style="color:rgb(0,0,0)"><b><i><font face="arial, helvetica, sans-serif">Want know more... check out the agenda:</font></i></b></span></div><div><span style="color:rgb(0,0,0)"><b><i><font face="arial, helvetica, sans-serif"><br></font></i></b></span></div><div><span style="color:rgb(0,0,0)"><font face="arial, helvetica, sans-serif">Each day each of the major topics below will be started with a lecture, then a walk through followed by an exercise. During the days there will be plenty of time for questions and discussion.</font></span></div><div><span style="color:rgb(0,0,0)"><font face="arial, helvetica, sans-serif"><br></font></span></div><div><ul><li><span style="color:rgb(0,0,0)"><font face="arial, helvetica, sans-serif">Day 1</font></span></li><ul><li><span style="color:rgb(0,0,0)"><font face="arial, helvetica, sans-serif">Introduction into Suricata development... we will go into development tools and procedures. We will give a high-level overview of the Suricata architecture, of debugging techniques, QA, etc.</font></span></li><li><font face="arial, helvetica, sans-serif"><span style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;outline:0px;vertical-align:baseline;line-height:19px">Building a packet decoder - </span><span style="color:rgb(0,0,0)">Packet decoders are low-level parsers for L2, L3 and L4 protocols. Think about ethernet, vlan, IP or TCP.</span></font></li></ul><li><span style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;outline:0px;vertical-align:baseline;line-height:19px"><font face="arial, helvetica, sans-serif">Day 2</font></span></li><ul><li><font face="arial, helvetica, sans-serif"><span style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;outline:0px;vertical-align:baseline;line-height:19px">Creating a simple detection module - </span><span style="color:rgb(0,0,0)">Simple low-level detection keywords that inspects properties of individual packets. Such keywords are used to inspect fields like TCP flags. As an extension of this, we'll look into the Lua detection API.</span></font></li><li><font face="arial, helvetica, sans-serif"><span style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;outline:0px;vertical-align:baseline;line-height:19px">App Layer - </span><span style="color:rgb(0,0,0)">The app layer API is the primary way of dealing with L7 protocols such as HTTP, TLS, etc. These parsers run on top of TCP (with stream reassembly) and UDP. The API has many aspects so we'll spend quite a bit of time on this.</span></font></li></ul><li><span style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;outline:0px;vertical-align:baseline;line-height:19px"><font face="arial, helvetica, sans-serif">Day 3</font></span></li><ul><li><font face="arial, helvetica, sans-serif"><span style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;outline:0px;vertical-align:baseline;line-height:19px">App Layer Decoder - </span><span style="color:rgb(0,0,0)">Implement a basic parser, hook it into the engine and take care of things like memory management, transaction handling, error handling, exception handling. Reporting on bad & non-compliant traffic.</span></font></li></ul><li><span style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;outline:0px;vertical-align:baseline;line-height:19px"><font face="arial, helvetica, sans-serif">Day 4 </font></span></li><ul><li><font face="arial, helvetica, sans-serif"><span style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;outline:0px;vertical-align:baseline;line-height:19px">App Layer Logger - </span><span style="color:rgb(0,0,0)">Dive into the logging API, with hooking a logger for the new protocol parser into the EVE json output. </span><span style="color:rgb(0,0,0)">Additionally, exposing the new protocol to the Lua output API.</span></font></li><li><font face="arial, helvetica, sans-serif"><span style="color:rgb(0,0,0)">App Layer Detection - w</span><span style="color:rgb(0,0,0)">hen parsing a protocol often the goal is to expose parts of it to the detection engine. This is about hooking the detection logic into the engine. It will also address things like normalization of data.</span></font></li></ul><li><span style="color:rgb(0,0,0)"><font face="arial, helvetica, sans-serif">Day 5</font></span></li><ul><li><span style="color:rgb(0,0,0)"><font face="arial, helvetica, sans-serif">Detection keywords using string/array buffers can be hooked into the Multi Pattern Matcher (MPM) engine for optimal performance.</font></span></li><li><span style="color:rgb(0,0,0)"><font face="arial, helvetica, sans-serif">Q&A Session</font></span></li></ul></ul></div><div><div><font face="arial, helvetica, sans-serif"><br></font></div><font face="arial, helvetica, sans-serif">-<font size="1">- <br></font></font><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><font color="#0000ff" face="arial, helvetica, sans-serif" size="1"><b>Kelley Misata</b></font><div><font color="#0000ff" face="arial, helvetica, sans-serif" size="1"><b>Executive Director</b></font></div><div><font color="#0000ff" face="arial, helvetica, sans-serif" size="1"><b><a href="mailto:kmisata@oisf.net" target="_blank">kmisata@oisf.net</a></b></font></div><div><font color="#0000ff" face="arial, helvetica, sans-serif" size="1"><b>twitter:@OISFoundation</b></font></div><div><font color="#0000ff" face="arial, helvetica, sans-serif" size="1"><b><a href="http://www.oisf.net" target="_blank">www.oisf.net</a></b></font></div><div><br></div></div></div></div></div>
</div></div></div>