Re: [sip-clf] anomaly detectors

Hadriel Kaplan <HKaplan@acmepacket.com> Sun, 26 July 2009 12:24 UTC

Return-Path: <HKaplan@acmepacket.com>
X-Original-To: sip-clf@core3.amsl.com
Delivered-To: sip-clf@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 119623A67F8 for <sip-clf@core3.amsl.com>; Sun, 26 Jul 2009 05:24:27 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level:
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[AWL=0.000, BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id SYiKE+8mGcey for <sip-clf@core3.amsl.com>; Sun, 26 Jul 2009 05:24:26 -0700 (PDT)
Received: from etmail.acmepacket.com (etmail.acmepacket.com [216.41.24.6]) by core3.amsl.com (Postfix) with ESMTP id E82723A6403 for <sip-clf@ietf.org>; Sun, 26 Jul 2009 05:24:25 -0700 (PDT)
Received: from mail.acmepacket.com (216.41.24.7) by etmail.acmepacket.com (216.41.24.6) with Microsoft SMTP Server (TLS) id 8.1.375.2; Sun, 26 Jul 2009 08:24:24 -0400
Received: from mail.acmepacket.com ([127.0.0.1]) by mail ([127.0.0.1]) with mapi; Sun, 26 Jul 2009 08:24:21 -0400
From: Hadriel Kaplan <HKaplan@acmepacket.com>
To: Vijay Gurbani <vkg@alcatel-lucent.com>
Date: Sun, 26 Jul 2009 08:24:20 -0400
Thread-Topic: anomaly detectors
Thread-Index: AcoN0JLDCy8mlATjRlmdqmaeda6RywABvQEw
Message-ID: <E6C2E8958BA59A4FB960963D475F7AC31984655206@mail>
References: <4A69DFBB.3010307@alcatel-lucent.com> <E6C2E8958BA59A4FB960963D475F7AC31984654C6C@mail> <4A6A1A29.9010504@alcatel-lucent.com> <E6C2E8958BA59A4FB960963D475F7AC31984654FE0@mail> <4A6A285C.6050007@alcatel-lucent.com> <E6C2E8958BA59A4FB960963D475F7AC31984655059@mail> <4A6C1D08.9020301@alcatel-lucent.com>
In-Reply-To: <4A6C1D08.9020301@alcatel-lucent.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: "sip-clf@ietf.org" <sip-clf@ietf.org>
Subject: Re: [sip-clf] anomaly detectors
X-BeenThere: sip-clf@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: SIP Common Log File format discussion list <sip-clf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/sip-clf>, <mailto:sip-clf-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/sip-clf>
List-Post: <mailto:sip-clf@ietf.org>
List-Help: <mailto:sip-clf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/sip-clf>, <mailto:sip-clf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 26 Jul 2009 12:24:27 -0000

> -----Original Message-----
> From: Vijay Gurbani [mailto:vkg@alcatel-lucent.com]
> Sent: Sunday, July 26, 2009 5:08 AM
> 
> Do SBCs use learning algorithms to do such anomaly detection
> or do policy based triggers form the foundation of such detection?
> I suspect it is the latter.

As far as I know, many of them still use policy-based triggers in practice - but "learning algorithms" for the parser-layer detection and for some load-based behavior limits have been either claimed or hinted-at by some SBC vendors for a while, including the company I work for. (but what each of us do in that space in practice is not public info for competitive reasons) 


> Can existing SBC-based anomaly detection system be trained on
> the infamous SIP PRACK state machine to detect anomalous behavior?
> I suspect not -- though I may be wrong.  I am aware of some
> preliminary work on training machines to recognize the temporal
> association of SIP messages in a dialog (i.e., BYE is preceded by
> an INVITE); but so far this work is just starting and the more
> complex cases like it is okay to send an UPDATE and CANCEL
> before an INVITE finishes, but one must not send a SUBSCRIBE
> in similar scenarios are not supported.  For an SBC to do such
> analysis, an awful lot of dialog state would be needed...

SBC's can and usually do maintain full dialog state for all dialogs (as a b2bua), and enforce protocol compliance for messages and their state machines, with knobs for various control.  That was one of the basic tenets from the beginning.  Of course whether the SBC's do it correctly, or whether they should be doing it to begin with, is a different question. ;)  It's always been a fine line, though, between enforcing protocol rules for security, and letting sessions succeed when they can or even fixing them so they do succeed.  One man's anomalous signaling, is another man's paying customer.


> I suspect that what we have been discussing in the mailing list, i.e.,
> having a base set of headers and an extensibility model to account
> for other headers is generally a good thing.  

Yup.

> Reverting to logging
> the whole SIP message seems to be throwing our hands up in the air
> and saying that we don't really know what we want so we'll save the
> whole kitchen sink just in case.  HTTP CLF has worked without
> saving the whole message, and with some judicious thought I think
> we can make SIP CLF work as well.

It's not that I don't think CLF has value - it's the central claim that's it's for "anomaly detectors" that makes me wince.  Obviously it can be used for some anomaly purposes - just that we shouldn't be saying that's its main purpose/use-case, because it's not good enough for it, imho.

It's sorta like the sip-ipfix draft, which has as one of its use-cases "billing".  While it may be technically possible to do billing for very trivial cases using a CLF formatted as ipfix, it is missing so much meta-data required for billing in the real-world that the claim is distracting because it's so clearly not useable for that.

-hadriel