tcp partial connections

Palumbo Mauro <[email protected]> Thu, 28 Nov 2019 15:02:38 +0000
Newsgroups gmane.comp.security.detection.bro
Message-ID <[email protected]>
--===============1430518917==
Content-Language: it-IT
Content-Type: multipart/alternative;
	boundary="_000_09a8e3bfc8a34d56ae8439e193d219c4SRVEX03aizoonlocal_"

--_000_09a8e3bfc8a34d56ae8439e193d219c4SRVEX03aizoonlocal_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Hi everybody,
   I have noticed that in many app level analyzers there is a sort of "safe=
ty check" in the method DeliverStream which essentially returns when the tc=
p session is partial, i.e.

        if ( TCP() && TCP()->IsPartial() )
                return;

This is true for example for the HTTP, SSH, SSL analyzers and more. My unde=
rstanding is that this is to prevent app layer analyzers or scripts relying=
 on them from breaking down or missing some information when processing pac=
kets with possible missing bytes.
Am I right? How much reliable is this check TCP()->IsPartial()  for partial=
 tcp sessions in the tcp analyzer?

Thanks,
Mauro

--_000_09a8e3bfc8a34d56ae8439e193d219c4SRVEX03aizoonlocal_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii"=
>
<meta name=3D"Generator" content=3D"Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0cm;
	margin-bottom:.0001pt;
	font-size:11.0pt;
	font-family:"Calibri",sans-serif;
	mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:#0563C1;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:#954F72;
	text-decoration:underline;}
span.StileMessaggioDiPostaElettronica17
	{mso-style-type:personal-compose;
	font-family:"Calibri",sans-serif;
	color:windowtext;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-family:"Calibri",sans-serif;
	mso-fareast-language:EN-US;}
@page WordSection1
	{size:612.0pt 792.0pt;
	margin:70.85pt 2.0cm 2.0cm 2.0cm;}
div.WordSection1
	{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang=3D"IT" link=3D"#0563C1" vlink=3D"#954F72">
<div class=3D"WordSection1">
<p class=3D"MsoNormal"><span lang=3D"EN-US">Hi everybody,<o:p></o:p></span>=
</p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&nbsp;&nbsp; I have noticed tha=
t in many app level analyzers there is a sort of &#8220;safety check&#8221;=
 in the method DeliverStream which essentially returns when the tcp session=
 is partial, i.e.<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp; if ( TCP() &amp;&amp; TCP()-&gt;IsPartial() )<o:p></o:p></span>=
</p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return;<o:p></o=
:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">This is true for example for th=
e HTTP, SSH, SSL analyzers and more. My understanding is that this is to pr=
event app layer analyzers or scripts relying on them from breaking down or =
missing some information when processing
 packets with possible missing bytes.<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">Am I right? How much reliable i=
s this check TCP()-&gt;IsPartial() &nbsp;for partial tcp sessions in the tc=
p analyzer?<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">Thanks,<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">Mauro<o:p></o:p></span></p>
</div>
</body>
</html>

--_000_09a8e3bfc8a34d56ae8439e193d219c4SRVEX03aizoonlocal_--

--===============1430518917==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Zeek mailing list
[email protected]
http://mailman.ICSI.Berkeley.EDU/mailman/listinfo/zeek
--===============1430518917==--