IP Library Granted Patent US 9,450,975
Granted Patent B2
US 9,450,975 · App. 14/706,383 · Granted Sep 20, 2016

Target-based SMB and DCE/RPC processing for an intrusion detection system or intrusion prevention system

Inventor: Kenneth Todd Wease (Columbia, MD)
Assignee: Cisco Technology, Inc.
H04L63/1416H04L63/0254H04L63/1408H04L63/1425H04L63/1441H04L63/1466
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,450,975
App. No.
14/706,383
Granted
Sep 20, 2016
Kind
B2
Abstract

A method performed in a processor of an intrusion detection/prevention system (IDS/IPS) checks for valid packets in an SMB named pipe in a communication network. In a processor configured as an IDS/IPS, a packet in a transmission is received and a kind of application of a target of the packet is determined. Also, the data in the packet is inspected by the IDS/IPS as part of the SMB named pipe on only one of a condition that: (a) the FID in an SMB command header of the packet is valid (i) for segments/fragments in the SMB named pipe and (ii) for the determined kind of application of the target of the packet, as indicated by a reassembly table, and (b) the determined kind of application of the target of the packet does not check the FID, as indicated by the reassembly table.

Claims (39)

1. A method comprising:

receiving, in a processor configured as an intrusion detection/prevention system, a packet in a transmission and determining a kind of application of a target of the packet in response to receiving the packet;

including, in the intrusion detection/prevention system, data in the packet as part of a server message block inspected by the intrusion detection/prevention system as part of the server message block named pipe on only one of a condition that:

(a) a file identifier in a server message block command header of the packet is valid (i) for segments/fragments in the server message block and (ii) for the determined kind of application of the target of the packet, as indicated by a reassembly table, and

(b) the determined kind of application of the target of the packet does not check the file identifier, as indicated by the reassembly table.

2. The method of claim 1 , wherein the reassembly table indicates whether and how different kinds of applications check the file identifier in the server message block command header of the packet.

3. The method of claim 1 , further comprising determining, in the intrusion detection/prevention system, whether a user identifier in a server message block frame header of the packet is valid for the file identifier in the segments/fragments in the server message block, for the determined kind of application of the target, and including the data in the packet as part of the server message block data only if the user identifier is valid for the file identifier.

4. The method of claim 1 , further comprising determining, in the intrusion detection/prevention system, whether a tree identifier in a server message block frame header of the packet is valid for the file identifier in the segments/fragments in the server message block, for the determined kind of application of the target, and including the data in the packet as part of the server message block data only if the tree identifier is valid for the file identifier.

5. The method of claim 1 , further comprising determining, in the intrusion detection/prevention system, whether a tree identifier and a user identifier in a server message block frame header of the packet are both valid for the file identifier in the segments/fragments in the server message block, for the determined kind of application of the target, and including the data in the packet as part of the server message block data only if both the tree identifier and the user identifier are valid for the file identifier.

6. The method of claim 1 , further comprising inspecting in the intrusion detection/prevention system, the data included as part of the server message block data, to determine whether the data includes an attack spanning plural packets.

7. The method of claim 6 , further comprising notifying the target of the packet that the data included as part of the server message block data includes the attack spanning plural packets.

8. An apparatus comprising:

a network sensor configured to sense packets in a server message block in a communication network; and

a processor configured to:

receive via the network sensor, a packet in a transmission and determine a kind of application of a target of the packet in response to receiving the packet;

include data in the packet as part of the server message block on only one of a condition that:

(a) a file identifier in a server message block command header of the packet is valid (i) for segments/fragments in the server message block and (ii) for the determined kind of application of the target of the packet, as indicated by a reassembly table, and

(b) the determined kind of application of the target of the packet does not check the file identifier, as indicated by the reassembly table.

9. The apparatus of claim 8 , wherein the reassembly table indicates whether and how different kinds of applications check the file identifier in the server message block command header of the packet.

10. The apparatus of claim 8 , wherein the processor is further configured to determine whether a user identifier in a server message block frame header of the packet is valid for the file identifier in the segments/fragments in the server message block, for the determined kind of application of the target, and include the data in the packet as part of the server message block data only if the user identifier is valid for the file identifier.

11. The apparatus of claim 8 , wherein the processor is further configured to determine whether a tree identifier in a server message block frame header of the packet is valid for the file identifier in the segments/fragments in the server message block, for the determined kind of application of the target, and include the data in the packet as part of the server message block data only if the tree identifier is valid for the file identifier.

12. The apparatus of claim 8 , wherein the processor is further configured to determine whether a tree identifier and a user identifier in a server message block frame header of the packet are both valid for the file identifier in the segments/fragments in the server message block, for the determined kind of application of the target, and include the data in the packet as part of the server message block data only if both the tree identifier and the user identifier are valid for the file identifier.

13. The apparatus of claim 8 , wherein the processor is further configured to inspect the data included as part of the server message block data, to determine whether the data includes an attack spanning plural packets.

14. The apparatus of claim 13 , wherein the processor is further configured to notify the target of the packet that the data included as part of the server message block data includes the attack spanning plural packets.

15. A method comprising:

receiving, in a processor configured as an intrusion detection/prevention system, plural request fragments belonging to a single distributed computing environment/remote procedure call request;

determining, in the intrusion detection/prevention system, a kind of application of a target of the distributed computing environment/remote procedure call request;

selecting, in the intrusion detection/prevention system, one of the request fragments as a source of a context identifier depending on the target kind of application as indicated in a reassembly table;

reassembling, in the intrusion detection/prevention system, the plural request fragments into a reassembled request; and

inserting, in the intrusion detection/prevention system, the context identifier from the selected request fragment into context identifier of a distributed computing environment/remote procedure call header of the reassembled request.

16. The method of claim 15 , wherein the reassembly table indicates which of the request fragments is selected as the source of the context identifier for each of different kinds of applications.

17. The method of claim 15 , further comprising:

selecting, in the intrusion detection/prevention system, a different one of the request fragments as a source of an operation number depending on the target kind of application; and

inserting, in the intrusion detection/prevention system, the operation number from a distributed computing environment/remote procedure call header of the selected different one of the request fragments in to the operation number of the distributed computing environment/remote procedure call header of the reassembled request.

18. The method of claim 17 , wherein the reassembly table indicates which of the request fragments is selected as the source of the context identifier, and which different one of the request fragments is selected as the source of the operation number, for each of the different kinds of applications.

19. The method of claim 15 , further comprising:

selecting, in the intrusion detection/prevention system, the one of the request fragments as a source of an operation number; and

inserting, in the intrusion detection/prevention system, the operation number from the distributed computing environment/remote procedure call header of the selected request fragment into an operation number of a distributed computing environment/remote procedure call header of the reassembled request.

20. The method of claim 19 , wherein the reassembly table indicates which of the request fragments is selected as the source of both the operation number and the context identifier for each of the different kinds of applications.

Continuity (1)
Related Publication 20150237060A1 · Aug 20, 2015