now SSL and ids ( was Re: ssh and ids )

From: Jason (security_at_brvenik.com)
Date: 06/23/04

  • Next message: Drew Copley: "RE: Anomaly Based Network IDS"
    Date: Tue, 22 Jun 2004 22:01:03 -0400
    To: Peter_Schawacker@NAI.com
    
    

    Hi Peter,

    Thanks for taking the time to elaborate on this a little, I had
    previously asked some questions about the technology in general and
    hopefully you can respond. I have also read the white paper and have
    some questions.

    My initial questions are quoted below and my questions to the white
    paper and comments on your statements are inline. Thank you in advance
    for taking the time to read and discuss...

    --- begin quote ---
    > This is an interesting area I think deserves more conversation. I
    > want to toss out a few questions and hopefully someone will have
    > first hand experience and can elaborate.
    >
    > Simply doing the escrow of the private key allows the capture of the
    > symetric key but...
    >
    > How many simultaneous SSL sessions can be tracked?
    >
    > What are the DoS potentials to detection by forcing a constant rekey?
    >
    > How is spoofing handled? If you walk the possible session id space
    > and attempt a connection you force every existing session to rekey
    > and tracking of each possible session for a period of time, this is
    > expensive to track.
    >
    > When passive what happens if a rekey is missed?
    >
    > When inline what performance impact can be imposed on the network
    > with a $300 SSL acelerator card and a perl script?
    >
    > What ciphers are supported?
    >
    > How are new ciphers handled?
    >
    > What if an unsupported cipher is used?
    >
    > Does it validate the trust chains? Anything in the SSL session?
    > Time...
    >
    > How does it handle client certs? It cannot possibly know the private
    > key for client certs too. IIRC, some servers allow client/server key
    > negotiation without requiring authentication.
    >
    > I understand that the intent is to detect attacks over known SSL
    > channels but these are issues I would like to explore deeper. I do
    > not think it is possible to properly handle the SSL case without
    > terminating and watching behind the termination point and even then
    > it does not gracefully handle the client cert issue gracefully when
    > authentication is involved.
    --- end quote---

    In the white paper it is mentioned that the original packet is released
    unmolested once normalization has determined it to be harmless, does
    this imply that should the inspection device normalize differently than
    the target an attack will still pass successfully? I thought that the
    intrushield device attempted to prevent this by performing normalization
    of the traffic and passing the normalized requests on.

    For the normalization phase what are the parameters used to determine
    when enough data has passed and it is safe to allow the unmolested
    packets through? I am assuming that you have to queue the entire request
    to completion and then inspect. If this is the case how are pipelined
    requests that can be arbitrarily long handled? What if during the
    pipelined request a rekey is initiated?

    Peter_Schawacker@NAI.com wrote:

    > Hi Marty,
    >
    > Since you were kind enough to mention us :-) I thought I would offer two
    > comments about what you wrote regarding SSL "key escrow" (is it really
    > "key escrow" when the key isn't handed to a third party?) and IDS/IPS.

    It is key escrow when there is an opportunity for key recovery. A third
    party need not be involved even though one typically is. The device also
    qualifies as a third party having access to the private key.

    > First, remember that storing your web server's private key on an
    > external system is something that's done routinely with SSL
    > accelerators. Hardware SSL accelerators are commonplace these days.

    This is an area where there is no real standard and the accelerators can
    be simple cards inserted into the host server and accessed with a driver
    or completely separate devices that then act as reverse proxies and
    communicate with the server in the clear. In the case of security and
    defense in depth you prevent a private key compromise in the event of
    server compromise by using a separate device. You can attempt to prevent
    this by using on board hardware accelerators however unless they are
    devices that actually perform the crypto in hardware and only pass the
    encrypted data back a key compromise is assured. It is more prudent to
    offload this to a separate device thus providing no opportunity for
    compromise.

    > Second, we fully understand that folks are often squeamish about sharing
    > keys, so great care was taken to protect the private keys on the
    > IntruShield appliance. We believe we have found the best possible
    > strategy for mitigating private key theft risk while eliminating the
    > SSL/NIDS "blind spot". Through the use of public key cryptography, we
    > persist the key in such a way that one would need information that is
    > resident only in the sensor, along with information that is resident
    > only in the IntruShield Manager in order to recover the key. Having just
    > one or the other will not suffice. I won't bore the list with the
    > details, but our implementation is described here:
    >
    >
    > http://www.nai.com/us/_tier2/products/_media/sniffer/wp_encr_th_prot.pdf
    >

    I like the approach in that it appears that the manager always pushes
    the key to the sensor and the sensor never stores the key in non
    volatile storage. Splitting the stored server key from the private key
    capable of decrypting it is prudent. A compromise between stability and
    security but a good one from the information in the paper.

    > Should an attacker root your web server, how safe will your private keys
    > be? If your IDS/IPS can't handle TCP/443 to your production web
    > servers, you have a blind spot where attackers can operate unseen and
    > unhindered. Which is worse, copying your web servers' private keys to
    > your IPS to prevent a web server compromise, or being blind to attacks
    > against those same servers? Frankly, I can't think of a single IDS/IPS
    > product that is less secure than a typical web server. Security is all
    > about trade-offs. This is not a difficult one.

    I disagree here completely. If you properly deploy a hardware
    accelerator that is a separate device then both goals are met without
    duplicating keys or introducing additional risk. The inspection device
    can do what it wants with the data in the clear and the server can even
    be rooted by a person inside and they cannot impersonate the server. It
    is a difficult decision when you look at the complete problem, the
    approach of decrypting the traffic destined to the endpoint flies in the
    face of defense in depth and sound crypto principals. Protecting the key
    regardless of stability of the server is paramount. I doubt any
    E-Commerce site would like to have a keypair floating around that can
    impersonate them with all the associated assurances that SSL and a
    trusted third party attempt to add. There are still deployment cases
    where this is less than optimal but those generally revolve around
    authorization and not authentication which can be handled well as a
    separate credential pass over secure channels.

    >
    > You also alluded to the problem of covert channels. I believe that the
    > best protection against covert channels is to stop the attacker before
    > the back door is installed. Failing that, a host based IPS/firewall is
    > the last, strongest line of defense.

    I agree that the best defense is a good offense. Patching, defense in
    depth, due diligence, policy, and auditing all play a role in this. The
    unfortunate case is that often times the attacker is on the inside where
    you cannot get between them and the target easily. The covert channel
    will still exist and unless you have sound security policy and are
    diligent in monitoring you will lose the game.

    Thank you again for taking the time to discuss.
    Jason.

    >
    > Peter Schawacker, CISSP
    > IPS Technical Evangelist
    > McAfee
    > Office 760 200 4258
    > Mobile 760 880 4258
    > ps@nai.com
    >
    > -----Original Message-----
    > From: Martin Roesch [mailto:roesch@sourcefire.com]
    > Sent: Friday, June 18, 2004 5:54 PM
    > To: Runion Mark A FGA DOIM WEBMASTER(ctr)
    > Cc: focus-ids@securityfocus.com
    > Subject: Re: ssh and ids
    >
    >
    > Hey Mark,
    >
    > VENDOR ALERT: I'm a vendor and I'm going to talk about my technology.
    > Please take my comments with an appropriate amount of sodium chloride.
    >
    > Sourcefire's RNA product is capable of isolating/identifying layer-7
    > protocols (including encrypted protocols) and tracking the flows. For
    > example, if you wanted to find SSH/SSL traffic that it being initiated
    > from outside your network to inside, setting up a query (or automated
    > reporting) is pretty trivial. Hacker busts into your network and sets
    > up an SSH server, RNA picks it up and can let you know that it detected
    >
    > a new service and logs the flow data, etc. Anyway, if you're
    > interested in seeing a demo or talking more, let me know.
    >
    > As far as IDS being able to do much with encrypted traffic, there's
    > generally not much to do once the session goes encrypted. You can
    > setup rules in a system like Snort to differentiate between "allowed"
    > and "everyone else" hosts talking to machines on your network pretty
    > easily (and you can query RNA's flow data for the info too).
    >
    > I know the NAI guys just released a mod to their sensors that allow
    > them to do real-time SSL decryption if you're willing to escrow the
    > private crypto keys on the box (shudder). There's been talk of
    > implementing the same sort of thing in Snort (ala ssldump) for a while,
    >
    > but it's never come together...
    >
    > -Marty
    >
    >
    > On Jun 18, 2004, at 2:18 PM, Runion Mark A FGA DOIM WEBMASTER(ctr)
    > wrote:
    >
    >
    >>Lets suppose the attacker is mildly sophisticated, and after making
    >
    > the
    >
    >>initial assault roots the box and installs a secure backdoor or two.
    >
    >
    >>Is
    >>there any IDS capable of isolating data it cannot read, except to
    >>monitor
    >>authorized port usage of a system or group of systems? Not to
    >>complicate
    >>the question, but when the attacker is using portal gates and all
    >>communications traffic is encrypted in normal channels how can an IDS
    >>participate? Monitoring normal traffic patterns seems a bit slow for
    >>detection.
    >>
    >>-
    >>Mark Runion
    >>
    >>
    >>----------------------------------------------------------------------
    >>-
    >>----
    >>
    >>----------------------------------------------------------------------
    >>-
    >>----
    >>
    >>

    ---------------------------------------------------------------------------

    ---------------------------------------------------------------------------


  • Next message: Drew Copley: "RE: Anomaly Based Network IDS"

    Relevant Pages

    • Re: Decrypting SSH traffic
      ... using the host's private key of the honeypot, ... OpenSSH server, which could be detected by an attacker. ... Or you could run the entire honeypot system inside an emulation ...
      (comp.security.ssh)
    • Re: Python and SSL
      ... The SSL module will trust *any* ... server certificate, no need to tell it explicitly which ones to ... the whole idea of SSL is that you don't trust the connection. ... messages were not replaced by an attacker, ...
      (comp.lang.python)
    • Re: Ephemeral Diffie-Hellman in SSL
      ... The point of an ephemeral key is that the private key needs not be ... the permanent server key, the one which public counterpart is in the ... / HSM that the attacker may physically open. ...
      (sci.crypt)
    • Re: How to completely destroy a script and make it disappear forever.
      ... An attacker can use a local proxy to talk to your server ... over SSL, and have plain HTTP traffic between the browser and the proxy. ...
      (comp.lang.javascript)
    • SSL and TCP RST/SYN attack
      ... I would like to ask a question about SSL. ... he can always block the client to get service from the https server. ... the attacker can always block the client to reach his ...
      (Security-Basics)