[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

US7743144B1 - Securing an access provider - Google Patents

Securing an access provider Download PDF

Info

Publication number
US7743144B1
US7743144B1 US10/698,933 US69893303A US7743144B1 US 7743144 B1 US7743144 B1 US 7743144B1 US 69893303 A US69893303 A US 69893303A US 7743144 B1 US7743144 B1 US 7743144B1
Authority
US
United States
Prior art keywords
access
requestor
request
connection transaction
access request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related, expires
Application number
US10/698,933
Inventor
Christopher J. Wright
Patrick Hufford
Terry Rolon
Jonathan K. Robertson
Thomas Stehnach
Rajkumar Jalan
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Avago Technologies International Sales Pte Ltd
Yahoo Inc
Foundry Networks LLC
Original Assignee
AOL Inc
Foundry Networks LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to US10/698,933 priority Critical patent/US7743144B1/en
Application filed by AOL Inc, Foundry Networks LLC filed Critical AOL Inc
Assigned to FOUNDRY NETWORKS, INC. reassignment FOUNDRY NETWORKS, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: JALAN, RAJKUMAR
Assigned to FOUNDRY NETWORKS, INC. reassignment FOUNDRY NETWORKS, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ROLON, TERRY
Assigned to BANK OF AMERICA, N.A. AS ADMINISTRATIVE AGENT reassignment BANK OF AMERICA, N.A. AS ADMINISTRATIVE AGENT SECURITY AGREEMENT Assignors: BROCADE COMMUNICATIONS SYSTEMS, INC., FOUNDRY NETWORKS, INC., INRANGE TECHNOLOGIES CORPORATION, MCDATA CORPORATION
Assigned to BANK OF AMERICAN, N.A. AS COLLATERAL AGENT reassignment BANK OF AMERICAN, N.A. AS COLLATERAL AGENT SECURITY AGREEMENT Assignors: AOL ADVERTISING INC., AOL INC., BEBO, INC., GOING, INC., ICQ LLC, LIGHTNINGCAST LLC, MAPQUEST, INC., NETSCAPE COMMUNICATIONS CORPORATION, QUIGO TECHNOLOGIES LLC, SPHERE SOURCE, INC., TACODA LLC, TRUVEO, INC., YEDDA, INC.
Assigned to WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT reassignment WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT SECURITY AGREEMENT Assignors: BROCADE COMMUNICATIONS SYSTEMS, INC., FOUNDRY NETWORKS, LLC, INRANGE TECHNOLOGIES CORPORATION, MCDATA CORPORATION, MCDATA SERVICES CORPORATION
Priority to US12/775,783 priority patent/US8108531B2/en
Application granted granted Critical
Publication of US7743144B1 publication Critical patent/US7743144B1/en
Assigned to FOUNDRY NETWORKS, LLC reassignment FOUNDRY NETWORKS, LLC CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: FOUNDRY NETWORKS, INC.
Assigned to TACODA LLC, AOL ADVERTISING INC, AOL INC, QUIGO TECHNOLOGIES LLC, MAPQUEST, INC, LIGHTNINGCAST LLC, TRUVEO, INC, GOING INC, SPHERE SOURCE, INC, NETSCAPE COMMUNICATIONS CORPORATION, YEDDA, INC reassignment TACODA LLC TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS Assignors: BANK OF AMERICA, N A
Priority to US13/361,765 priority patent/US8850046B2/en
Assigned to INRANGE TECHNOLOGIES CORPORATION, BROCADE COMMUNICATIONS SYSTEMS, INC., FOUNDRY NETWORKS, LLC reassignment INRANGE TECHNOLOGIES CORPORATION RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Assigned to BROCADE COMMUNICATIONS SYSTEMS, INC., FOUNDRY NETWORKS, LLC reassignment BROCADE COMMUNICATIONS SYSTEMS, INC. RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Assigned to AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED reassignment AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: Brocade Communications Systems LLC
Adjusted expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/822Collecting or measuring resource availability data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1458Denial of Service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]

Definitions

  • This invention relates to securing an access provider. More particularly, this invention relates to detecting and preventing denial of service attacks on an access provider.
  • Access providers have proven susceptible to various attacks by computer hackers.
  • a hacker attempts to deny service to legitimate users of online computer services. For instance, a hacker may send a high number of illegitimate access requests to an accessible computer system of an access provider (hereinafter access provider), causing the access provider to dedicate its resources to handling the illegitimate access requests rather than handling legitimate access requests from legitimate users.
  • access provider an access provider
  • This type of attack is commonly known as a synchronize (SYN) flood.
  • Another type of a computer attack occurs when a hacker attempts to gain unauthorized access to an online computer service through an access provider.
  • the hacker uses a client to attempt to establish an unauthorized connection with the access provider. For instance, the hacker begins by identifying a logon identification known to be valid. The hacker then attempts to crack the password associated with the valid logon identification. For instance, the hacker may use a computer program to associate several passwords with the logon identification in rapid succession, repeatedly attempting to establish a connection with the access provider using the known logon identification and one of the associated passwords. This type of attack may tax processing resources to effectively deny legitimate users access to the online computer service.
  • access providers When subject to such attacks, access providers may be forced to cease operation.
  • securing an access provider includes monitoring communications with at least one access provider for a partially-completed connection transaction and terminating the partially-completed connection transaction when the partially-completed connection transaction remains in existence for a period of time that exceeds a threshold period of time.
  • Embodiments may include one or more of the following features.
  • the monitoring may include detecting partially-completed connection transactions initiated by an access requestor, measuring the period of time that a partially-completed connection transaction remains in existence, and comparing the period of time with the threshold period of time.
  • the monitoring also may include monitoring communications with at least one access provider based on TCP communications for partially-completed connection transactions.
  • the monitoring may include monitoring a process whereby an access requestor sends a SYN request and the access provider sends a SYN acknowledgement.
  • the monitoring may include monitoring communications with a plurality of access providers for partially-completed connection transactions.
  • the monitoring also may include detecting partially-completed connection transactions that occur when an access requestor initiates a connection transaction and the access requestor subsequently fails to send a reply. More particularly, the monitoring may include detecting partially-completed connection transactions that occur when an access requestor initiates a connection transaction based on a return address that differs from an actual return address of the access requestor. This particular instance may occur when the return address is an Internet protocol address that differs from the actual return address of the access requestor.
  • the monitoring may include detecting partially-completed connection transactions between at least one client and at least one host, and/or detecting partially-completed connection transactions between at least once client and a plurality of hosts and/or detecting partially-completed connection transactions between a plurality of clients and at least one host.
  • the terminating may include resetting a communication port located on the access provider.
  • the terminating also may include terminating the partially-completed connection transaction when the partially-completed connection transaction remains in existence for a period of time that exceeds a configurable threshold period of time.
  • FIG. 1 is a block diagram that illustrates the physical level of a system for securing an access provider.
  • FIG. 2 is a block diagram that illustrates the logical level of a system for securing an access provider of FIG. 1 .
  • FIG. 3 is a block diagram that illustrates components included in a switch such as those shown by FIGS. 1 and 2 .
  • FIG. 4 is a block diagram that illustrates components included in a monitoring component of the switch of FIG. 3 .
  • FIG. 5 is a flowchart of a process for securing an access provider, which may be performed by the systems shown by FIGS. 1-4 .
  • FIG. 6 is a flowchart of a process for monitoring the access provider for partially-completed connection transactions as part of the process of FIG. 5 .
  • FIG. 1 is a block diagram that illustrates the physical level of an accessible computer system 100 .
  • FIG. 1 shows multiple access requestors 110 , the Internet 130 , multiple routers 150 , switch 170 , multiple access providers 190 , and multiple communication links 120 , 140 , 160 , and 180 .
  • An access requestor 110 may include a client, and may be embodied in a general-purpose computer (e.g., a personal computer), a special-purpose computer, a workstation, a server, a personal digital assistant, an electronic organizer, a mobile phone, a pager, a device, a component, or other physical or virtual equipment or some combination thereof, any of which may be programmed or configured to respond to and execute instructions in a defined manner.
  • Access requestors 110 are connected to the Internet 130 by communication links 120 .
  • the Internet 130 is an example of a delivery network that may be used to enable communications to/from access requestors 110 .
  • Other examples of a delivery network may include the World Wide Web, wide area networks (WANs), local area networks (LANs), analog or digital wired and wireless telephone networks (e.g. Public Switched Telephone Network (PSTN), Integrated Services Digital Network (ISDN), and Digital Subscriber Lines (xDSL)), radio, television, cable, satellite, and/or any other delivery mechanism for carrying data.
  • PSTN Public Switched Telephone Network
  • ISDN Integrated Services Digital Network
  • xDSL Digital Subscriber Lines
  • the Internet 130 is generally connected to one or more routers 150 by communication links 140 .
  • Each router 150 generally includes a computer processor, computer software, a hardware device, other physical or virtual equipment or some combination of these elements that is capable of receiving, processing and transmitting information. In general, each router 150 routes communications between one or more access requestors 110 and one or more access providers 190 . Communications received from an access provider 190 are generally routed to an access requestor 110 through the Internet 130 . Communications received from an access requestor 110 are generally routed to an access provider 190 through a switch 170 . More specifically, each router 150 receives a data packet and/or data request from access requestor 110 and routes the data packet and/or data request through switch 170 to one or more of the access providers 190 based on predefined criteria or algorithms. The routers 150 are connected to switch 170 by communication links 160 .
  • Switch 170 generally includes one or more hardware components and one or more software components. It is capable of receiving a unit of data and of transmitting the received data to one or more access providers 190 or routers 150 based on predefined criteria or algorithms. Switch 170 may perform load balancing algorithms such as hashing techniques to avoid overwhelming any particular router 150 or access provider 190 . Switch 170 also may perform the functions of the router 150 as a separate or integrated component or device. Additionally or alternatively, switch 170 may include one or more processors and one or more storage and memory devices, such as internal memory. The switch 170 is connected to multiple access providers 190 by communication links 180 .
  • An access provider 190 may be any software or hardware capable of providing access by an access requestor 110 to desired information or services.
  • an access provider 190 may include a host, and it may be embodied in a general-purpose computer (e.g., a personal computer) or a special-purpose computer capable of communicating with one or more access requestors 110 by responding to and executing instructions in a defined manner.
  • Other examples of an access provider 190 include a special-purpose computer, a work station, a server, a device, a component, other physical or virtual equipment or some combination of these elements that is capable of responding to and executing instructions as described.
  • Communication links 120 , 140 , 160 and 180 may include, for example, a wired, wireless, cable or satellite communication pathway.
  • FIG. 2 is a block diagram that illustrates a logical level of the system 100 illustrated in FIG. 1 .
  • FIG. 2 shows multiple access requestors 110 , switch 170 , and multiple access providers 190 .
  • switch 170 may be representative of one or more of Internet 130 , router 150 and switch 170 , or some combination there between such as that described in FIG. 1 .
  • An access requestor 110 is generally used to establish a physical or non-physical electronic connection with an access provider 190 .
  • Connections may be established on various levels using various protocols. For instance, a connection may be established on Level III (e.g., a packet based level), on Level IV (e.g., a protocol data unit based level with flow control and error correction) or on some other level using an appropriate protocol capable of establishing a connection between an access requestor 110 and an access provider 190 . More specifically, examples of protocols include Transmission Control Protocol (TCP), Internet Protocol (IP), TCP/IP, User Datagram Protocol (UDP), and UDP/IP.
  • TCP Transmission Control Protocol
  • IP Internet Protocol
  • UDP User Datagram Protocol
  • Access protocols are observed to establish a connection.
  • an access requestor 110 sends an access request through switch 170 .
  • the request is routed to one of the access providers 190 , which responds to the access request by sending an acknowledgement that is routed back to the access requestor 110 through switch 170 .
  • the access requestor 110 receives the acknowledgement sent by the access provider 190
  • the access requestor 110 generates an acknowledgement that is sent back to the access provider 190 through switch 170 .
  • the completion of this transaction establishes a connection between the access requestor 110 and the access provider 190 .
  • connection transaction is used to describe one or more of sending, receiving, or exchanging the units of data necessary to use a protocol (e.g., TCP, IP, UDP, TCP/IP, and UDP/IP) to establish a communication link (e.g., wired, wireless, cable, and satellite) between the access requestor 110 and access provider 190 .
  • a protocol e.g., TCP, IP, UDP, TCP/IP, and UDP/IP
  • a communication link e.g., wired, wireless, cable, and satellite
  • a connection transaction results in a TCP connection between the access requestor 110 and the access provider 190 , where procedures to establish a connection transaction use the synchronize (SYN) control flag and involve an exchange of three messages.
  • SYN REQ access request
  • the access provider 190 responds to the access requestor 110 through switch 170 with an acknowledgement (SYN ACK). Then, the access requestor 110 sends an acknowledgement (ACK) to access provider 190 via switch 170 .
  • SYN ACK acknowledgement
  • ACK acknowledgement
  • Other connection transactions between access requestor 110 and access provider 190 through switch 170 are also possible and can result in different types of connections (e.g., IP, TCP/IP, UDP, and UDP/IP).
  • partially-completed connection transaction is used to describe one or more of sending, receiving, or exchanging data that is necessary to establish a connection transaction under a protocol (e.g., TCP, IP, UDP, TCP/IP, and UDP/IP) but that is insufficient to establish a communications link (e.g., wired, wireless, cable, and satellite) between the access requestor 110 and access provider 190 .
  • a protocol e.g., TCP, IP, UDP, TCP/IP, and UDP/IP
  • a communications link e.g., wired, wireless, cable, and satellite
  • the access provider 190 opens a communication port and sends an acknowledgement (SYN ACK) to the access requestor 110 through switch 170 .
  • the access requestor 110 fails to send a reply (ACK) to the access provider 190 via switch 170 . This failure to send a reply results in the partially-completed connection transaction.
  • Another type of partially-completed connection transaction may occur when an illegitimate access requestor 110 initiates a connection transaction based on a spoofed return address that differs from an actual return address of the illegitimate access requestor 110 .
  • the illegitimate access requestor 110 sends an access request (SYN REQ) to the access provider 190 via switch 170 using the spoofed return address.
  • the access provider 190 opens a communication port.
  • the access provider 190 sends an acknowledgement (SYN ACK) to the spoofed return address, which differs from the actual return address of the illegitimate access requestor 110 .
  • the spoofed return address may be Internet protocol (IP) addresses which is capable of identifying each sender or receiver of information across the Internet 130 .
  • IP Internet protocol
  • FIG. 3 is a block diagram that illustrates logical components of switch 170 .
  • the switch 170 includes the components necessary to detect and prevent a hacker attack on access providers 190 .
  • switch 170 includes a monitoring component 310 and a terminating component 320 , which generally include one or more elements embedded in software modules, but may be embodied in physical devices connected to one another or may be embodied in some combination of software modules and physical devices.
  • the components illustrated in FIG. 3 may be resident on an access provider 190 .
  • the monitoring component 310 is generally structured and arranged to monitor communications with at least one access provider 190 for partially-completed connection transactions.
  • the monitoring component 310 may be structured and arranged to detect partially-completed connection transactions by monitoring communications performed to establish a connection involving an access provider 190 based on TCP protocol.
  • the monitoring component 310 may be structured and arranged to monitor communications with several access providers 190 to detect partially-completed connection transactions.
  • monitoring component 310 may be programmed to recognize partially-completed connection transactions based on other criteria, or other partially-completed connection transaction types altogether (e.g., IP, TCP/IP, UDP, and UDP/IP).
  • the monitoring component 310 may be preconfigured or it maybe programmable, as will be described in FIG. 4 .
  • the terminating component 320 is generally structured and arranged to terminate partially-completed connection transactions when the partially-completed connection transactions remain in existence for a period of time that exceeds a threshold period of time.
  • the monitoring component 310 may include a detection component 410 , a measuring component 420 , and a comparing component 430 .
  • the detection component 410 is generally structured and arranged to detect partially-completed connection transactions initiated by an access requestor 110 .
  • the detection component 410 is generally programmable and capable of recognizing when a partially-completed connection transaction occurs. For example, detection component 410 may be programmed to recognize a partially-completed connection transaction that occurs when an access requestor 110 initiates a connection transaction and the access requestor 110 subsequently fails to send a reply. In one scenario described above with respect to FIG.
  • the detection component 410 may detect partially-completed connection transactions that occur when an illegitimate access requestor 110 initiates a connection transaction based on a spoofed return address (e.g., IP address) that differs from an actual return address (e.g., IP address) of the illegitimate access requestor 110 .
  • a spoofed return address e.g., IP address
  • IP address an actual return address
  • the detection component 410 is capable of detecting partially-completed connection transactions between at least one client and at least one host. Additionally or alternatively, where the access requestor 110 includes one or more clients and the access provider 190 includes one or more hosts, the detection component 410 may be capable of detecting partially-completed connection transactions between at least one client and multiple hosts and/or between multiple clients and at least one host. The detection component 410 generally communicates with to the measuring component 420 .
  • the measuring component 420 is generally structured and arranged to measure the period of time that a partially-completed connection transaction remains in existence.
  • the measuring component 420 is generally programmable.
  • Measuring component 420 may be implemented using a processor and an internal memory for measuring and recording the period of time. It may be implemented using software performed by a processor, or it may be implemented using some combination of hardware and software.
  • measuring component 420 measures a period of time that starts when an access request (SYN REQ) is first received.
  • measuring component 420 may measure a period of time that starts when the access provider 190 opens a communication port, perhaps starting when the acknowledgement (SYN ACK) is sent in response to an access request (SYN REQ). In this way, measuring component 420 may measure and record the period of time that the communication port remains in existence.
  • SYN ACK acknowledgement
  • SYN REQ access request
  • Measuring component 420 is capable of measuring the period of time across multiple access providers 190 .
  • the measuring component 420 communicates with the comparing component 430 .
  • the comparing component 430 is generally structured and arranged to compare the period of time measured by the measuring component 420 with a threshold period of time.
  • the threshold period of time is set to a fixed period of time.
  • the threshold period of time may be a configurable threshold period of time such that the threshold period of time may be set to any period of time.
  • terminating component 320 When the comparing component 430 determines that the threshold period of time has been exceeded, terminating component 320 generally terminates the partially-completed connection transaction.
  • terminating component 320 includes a reset component that is structured and arranged to reset a communication port located on the access provider 190 .
  • the communication port on the access provider 190 may be reset when the port remains in existence in excess of the threshold period of time which typically occurs when access provider 190 does not receive a reply (ACK) from access requestor 110 .
  • ACK reply
  • the communication port When the communication port is reset, it becomes available for use in response to a new access request (SYN REQ).
  • terminating component 320 may delay terminating the partially-completed connection transaction to allow the monitoring component 310 to continue monitoring communications with the access provider 190 .
  • the terminating component 320 may also block any future access requests from a particular illegitimate access requestor 110 through the use of a header that identifies the IP address of the illegitimate access requestor 110 .
  • a process 500 is described for securing an access provider 190 , which process 500 may be performed by the systems described above with respect to FIGS. 1-4 .
  • the process 500 may be performed by a switch 170 , by an access provider 190 , or by a combination of the two.
  • the process also may be performed by any other hardware device or software device capable of being programmed to receive, process, and send instructions in the manner described.
  • the process 500 generally includes monitoring communications with an access provider 190 for partially-completed connection transactions (step 510 ) and terminating the partially-completed connection transactions when the partially-completed connection transactions remain in existence for a period of time that exceeds a threshold period of time (step 520 ).
  • step 510 includes monitoring at least one access provider 190 to detect partially-completed connection transactions by monitoring communications performed to establish a connection involving the access provider 190 based on TCP protocol.
  • an access requestor 110 sends an access request (SYN REQ).
  • the access provider 190 opens a communication port and sends an acknowledgement (SYN ACK) to the access requestor 110 .
  • the partially-completed connection transaction may be detected based on a failure of the access requestor 110 to send a reply (ACK) to the access provider 190 .
  • the monitoring step 510 may monitor communication ports to determine whether a connection port that has been opened in response to the access request by the access provider 190 remains in existence beyond the threshold period of time. Additionally or alternatively, step 510 may include monitoring communications with multiple access providers 190 for partially-completed connection transactions.
  • Step 520 generally includes terminating the partially-completed connection transaction when the partially-completed connection transaction remains in existence for a fixed period of time (e.g., six seconds).
  • a fixed period of time e.g. six seconds.
  • the threshold period of time may be configurable such that it may be set for any period of time.
  • monitoring communications with the access provider 190 for partially-completed connection transactions may include detecting partially-completed connection transactions (step 610 ), measuring the period of time that a partially-completed connection transaction remains in existence (step 620 ), and comparing the period of time with a threshold period of time (step 630 ).
  • Detecting 610 may include detecting partially-completed connection transactions that occur when an access requestor 110 initiates a connection transaction and the access requestor 190 subsequently fails to send a reply.
  • the detecting 610 may include determining whether an illegitimate access requestor 110 has initiated a connection transaction based on a spoofed return address (e.g., IP address) that differs from the actual return address (e.g., IP address) of the illegitimate access requestor 110 .
  • a spoofed return address e.g., IP address
  • IP address e.g., IP address
  • detecting 610 may include detecting partially-completed connection transactions between at least one client and at least one host.
  • detecting may include detecting partially-completed connection transactions between at least one client and multiple hosts and/or multiple clients and at least one host. Detecting also may include recognizing other connection transactions or their components (e.g., IP, TCP/IP, UDP, and UDP/IP).
  • Measuring 620 generally includes measuring the period of time that a partially-completed connection transaction remains in existence.
  • the access provider 190 opens a communication port when it receives an access request (SYN REQ) from an access requestor 110 .
  • measuring may measure a period of time that starts when an access request (SYN REQ) is first received.
  • measuring may measure a period of time that starts when the access provider 190 opens a communication port and sends an acknowledgement (SYN ACK) in response to an access request (SYN REQ).
  • Measuring determines the length of the period of time that the communication port remains in existence.
  • Measuring also may include recording the period of time that the communication port remains in existence. Additionally or alternatively, measuring 620 may include measuring the period of time that other types of partially-completed connection transactions (e.g., IP, TCP/IP, UDP, and UDP/IP) remain in existence.
  • Other types of partially-completed connection transactions e.g., IP, TCP/IP, UDP, and UDP/IP
  • Comparing 630 generally includes comparing the period of time with a threshold period of time.
  • the threshold period of time may be configurable. If the period of time exceeds the threshold period of time, step 520 terminates the partially-completed connection transaction. Terminating 520 may include resetting the communication port on the access provider 190 that was opened in response to an access request initiated by access requestor 110 .
  • the communication port on the access provider 190 may be reset when the port remains in existence in excess of the threshold period of time which typically occurs when access provider 190 does not receive a reply (ACK) from access requestor 110 .
  • ACK reply
  • terminating 520 may delay resetting the communication port to allow monitoring 510 to continue monitoring communications with the access provider 190 .
  • Terminating 520 also may block future access requests from an illegitimate requestor 110 through the use of a header that identifies the IP address of the illegitimate access requestor 110 .
  • the systems, methods, and techniques described here may be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them.
  • Apparatus embodying these techniques may include appropriate input and output devices, a computer processor, and a computer program product tangibly embodied in a machine-readable storage device for execution by a programmable processor.
  • a process embodying these techniques may be performed by a programmable processor executing a program of instructions to perform desired functions by operating on input data and generating appropriate output.
  • the techniques may advantageously be implemented in one or more computer programs that are executable on a programmable system including at least one programmable processor coupled to receive data and instructions from, and to transmit data and instructions to, a data storage system, at least one input device, and at least one output device.
  • Each computer program may be implemented in a high-level procedural or object-oriented programming language, or in assembly or machine language if desired; and in any case, the language may be a compiled or interpreted language.
  • Suitable processors include, by way of example, both general and special purpose microprocessors. Generally, a processor will receive instructions and data from a read-only memory and/or a random access memory.
  • Storage devices suitable for tangibly embodying computer program instructions and data include all forms of non-volatile memory, including by way of example semiconductor memory devices, such as Erasable Programmable Read-Only Memory (EPROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and Compact Disc Read-Only Memory (CD-ROM disks). Any of the foregoing may be supplemented by, or incorporated in, specially-designed ASICs (application-specific integrated circuits).
  • EPROM Erasable Programmable Read-Only Memory
  • EEPROM Electrically Erasable Programmable Read-Only Memory
  • CD-ROM disks Compact Disc Read-Only Memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

To secure an access provider, communications to/from the access provider are monitored for a partially-completed connection transaction. Detected partially-completed connection transactions are terminated when they remain in existence for a period of time that exceeds a threshold period of time. The monitoring may include detecting partially-completed connection transactions initiated by an access requestor, measuring the period of time that a partially-completed connection transaction remains in existence, comparing the period of time with the threshold period of time, and resetting a communication port located on the access provider.

Description

CROSS REFERENCE TO RELATED APPLICATIONS
This application is a continuation application of U.S. application Ser. No. 09/666,104, filed Sep. 20, 2000, now abandoned, and titled “Securing An Access Provider,” which claims the benefit of U.S. Provisional Application No. 60/227,309, filed Aug. 24, 2000, and titled “Securing An Accessible Computer System,” both of which are incorporated by reference.
TECHNICAL FIELD
This invention relates to securing an access provider. More particularly, this invention relates to detecting and preventing denial of service attacks on an access provider.
BACKGROUND
Access providers have proven susceptible to various attacks by computer hackers. In a type of computer attack known as a denial of service attack, a hacker attempts to deny service to legitimate users of online computer services. For instance, a hacker may send a high number of illegitimate access requests to an accessible computer system of an access provider (hereinafter access provider), causing the access provider to dedicate its resources to handling the illegitimate access requests rather than handling legitimate access requests from legitimate users. In this manner, legitimate users may be denied access to an online computer service enabled by the access provider because of the influx of illegitimate access requests sent by the hacker. This type of attack is commonly known as a synchronize (SYN) flood.
Another type of a computer attack occurs when a hacker attempts to gain unauthorized access to an online computer service through an access provider. In this type of attack, the hacker uses a client to attempt to establish an unauthorized connection with the access provider. For instance, the hacker begins by identifying a logon identification known to be valid. The hacker then attempts to crack the password associated with the valid logon identification. For instance, the hacker may use a computer program to associate several passwords with the logon identification in rapid succession, repeatedly attempting to establish a connection with the access provider using the known logon identification and one of the associated passwords. This type of attack may tax processing resources to effectively deny legitimate users access to the online computer service.
When subject to such attacks, access providers may be forced to cease operation.
SUMMARY
In one general aspect, securing an access provider includes monitoring communications with at least one access provider for a partially-completed connection transaction and terminating the partially-completed connection transaction when the partially-completed connection transaction remains in existence for a period of time that exceeds a threshold period of time.
Embodiments may include one or more of the following features. For example, the monitoring may include detecting partially-completed connection transactions initiated by an access requestor, measuring the period of time that a partially-completed connection transaction remains in existence, and comparing the period of time with the threshold period of time.
The monitoring also may include monitoring communications with at least one access provider based on TCP communications for partially-completed connection transactions. The monitoring may include monitoring a process whereby an access requestor sends a SYN request and the access provider sends a SYN acknowledgement. The monitoring may include monitoring communications with a plurality of access providers for partially-completed connection transactions.
The monitoring also may include detecting partially-completed connection transactions that occur when an access requestor initiates a connection transaction and the access requestor subsequently fails to send a reply. More particularly, the monitoring may include detecting partially-completed connection transactions that occur when an access requestor initiates a connection transaction based on a return address that differs from an actual return address of the access requestor. This particular instance may occur when the return address is an Internet protocol address that differs from the actual return address of the access requestor.
Where the access requestor is a client and the access provider is a host, the monitoring may include detecting partially-completed connection transactions between at least one client and at least one host, and/or detecting partially-completed connection transactions between at least once client and a plurality of hosts and/or detecting partially-completed connection transactions between a plurality of clients and at least one host.
The terminating may include resetting a communication port located on the access provider. When the threshold period of time is configurable, the terminating also may include terminating the partially-completed connection transaction when the partially-completed connection transaction remains in existence for a period of time that exceeds a configurable threshold period of time.
These general and specific aspects may be implemented using a system or method or combination of system and method.
The details of one or more embodiments are set forth in the accompanying drawings and the description below. Other features and advantages will be apparent from the description and drawings, and from the claims.
DESCRIPTION OF DRAWINGS
FIG. 1 is a block diagram that illustrates the physical level of a system for securing an access provider.
FIG. 2 is a block diagram that illustrates the logical level of a system for securing an access provider of FIG. 1.
FIG. 3 is a block diagram that illustrates components included in a switch such as those shown by FIGS. 1 and 2.
FIG. 4 is a block diagram that illustrates components included in a monitoring component of the switch of FIG. 3.
FIG. 5 is a flowchart of a process for securing an access provider, which may be performed by the systems shown by FIGS. 1-4.
FIG. 6 is a flowchart of a process for monitoring the access provider for partially-completed connection transactions as part of the process of FIG. 5.
Like reference symbols in the various drawings may indicate like elements.
DETAILED DESCRIPTION
FIG. 1 is a block diagram that illustrates the physical level of an accessible computer system 100. FIG. 1 shows multiple access requestors 110, the Internet 130, multiple routers 150, switch 170, multiple access providers 190, and multiple communication links 120, 140, 160, and 180.
An access requestor 110 may include a client, and may be embodied in a general-purpose computer (e.g., a personal computer), a special-purpose computer, a workstation, a server, a personal digital assistant, an electronic organizer, a mobile phone, a pager, a device, a component, or other physical or virtual equipment or some combination thereof, any of which may be programmed or configured to respond to and execute instructions in a defined manner. Access requestors 110 are connected to the Internet 130 by communication links 120.
The Internet 130 is an example of a delivery network that may be used to enable communications to/from access requestors 110. Other examples of a delivery network may include the World Wide Web, wide area networks (WANs), local area networks (LANs), analog or digital wired and wireless telephone networks (e.g. Public Switched Telephone Network (PSTN), Integrated Services Digital Network (ISDN), and Digital Subscriber Lines (xDSL)), radio, television, cable, satellite, and/or any other delivery mechanism for carrying data. The Internet 130 is generally connected to one or more routers 150 by communication links 140.
Each router 150 generally includes a computer processor, computer software, a hardware device, other physical or virtual equipment or some combination of these elements that is capable of receiving, processing and transmitting information. In general, each router 150 routes communications between one or more access requestors 110 and one or more access providers 190. Communications received from an access provider 190 are generally routed to an access requestor 110 through the Internet 130. Communications received from an access requestor 110 are generally routed to an access provider 190 through a switch 170. More specifically, each router 150 receives a data packet and/or data request from access requestor 110 and routes the data packet and/or data request through switch 170 to one or more of the access providers 190 based on predefined criteria or algorithms. The routers 150 are connected to switch 170 by communication links 160.
Switch 170 generally includes one or more hardware components and one or more software components. It is capable of receiving a unit of data and of transmitting the received data to one or more access providers 190 or routers 150 based on predefined criteria or algorithms. Switch 170 may perform load balancing algorithms such as hashing techniques to avoid overwhelming any particular router 150 or access provider 190. Switch 170 also may perform the functions of the router 150 as a separate or integrated component or device. Additionally or alternatively, switch 170 may include one or more processors and one or more storage and memory devices, such as internal memory. The switch 170 is connected to multiple access providers 190 by communication links 180.
An access provider 190 may be any software or hardware capable of providing access by an access requestor 110 to desired information or services. For instance, an access provider 190 may include a host, and it may be embodied in a general-purpose computer (e.g., a personal computer) or a special-purpose computer capable of communicating with one or more access requestors 110 by responding to and executing instructions in a defined manner. Other examples of an access provider 190 include a special-purpose computer, a work station, a server, a device, a component, other physical or virtual equipment or some combination of these elements that is capable of responding to and executing instructions as described.
Communication links 120, 140, 160 and 180 may include, for example, a wired, wireless, cable or satellite communication pathway.
FIG. 2 is a block diagram that illustrates a logical level of the system 100 illustrated in FIG. 1. FIG. 2 shows multiple access requestors 110, switch 170, and multiple access providers 190. In this figure, switch 170 may be representative of one or more of Internet 130, router 150 and switch 170, or some combination there between such as that described in FIG. 1.
An access requestor 110 is generally used to establish a physical or non-physical electronic connection with an access provider 190. Connections may be established on various levels using various protocols. For instance, a connection may be established on Level III (e.g., a packet based level), on Level IV (e.g., a protocol data unit based level with flow control and error correction) or on some other level using an appropriate protocol capable of establishing a connection between an access requestor 110 and an access provider 190. More specifically, examples of protocols include Transmission Control Protocol (TCP), Internet Protocol (IP), TCP/IP, User Datagram Protocol (UDP), and UDP/IP.
Access protocols are observed to establish a connection. In an exemplary Level IV protocol, an access requestor 110 sends an access request through switch 170. The request is routed to one of the access providers 190, which responds to the access request by sending an acknowledgement that is routed back to the access requestor 110 through switch 170. When the access requestor 110 receives the acknowledgement sent by the access provider 190, the access requestor 110 generates an acknowledgement that is sent back to the access provider 190 through switch 170. The completion of this transaction establishes a connection between the access requestor 110 and the access provider 190.
For purposes of this detailed description, the term connection transaction is used to describe one or more of sending, receiving, or exchanging the units of data necessary to use a protocol (e.g., TCP, IP, UDP, TCP/IP, and UDP/IP) to establish a communication link (e.g., wired, wireless, cable, and satellite) between the access requestor 110 and access provider 190. One example of a connection transaction results in a TCP connection between the access requestor 110 and the access provider 190, where procedures to establish a connection transaction use the synchronize (SYN) control flag and involve an exchange of three messages. In this example, an access requestor 110 sends an access request (SYN REQ) to an access provider 190 through switch 170. The access provider 190 responds to the access requestor 110 through switch 170 with an acknowledgement (SYN ACK). Then, the access requestor 110 sends an acknowledgement (ACK) to access provider 190 via switch 170. Other connection transactions between access requestor 110 and access provider 190 through switch 170 are also possible and can result in different types of connections (e.g., IP, TCP/IP, UDP, and UDP/IP).
For purposes of this detailed description, the term partially-completed connection transaction is used to describe one or more of sending, receiving, or exchanging data that is necessary to establish a connection transaction under a protocol (e.g., TCP, IP, UDP, TCP/IP, and UDP/IP) but that is insufficient to establish a communications link (e.g., wired, wireless, cable, and satellite) between the access requestor 110 and access provider 190. One example of a partially-completed connection transaction occurs during an attempt to establish a TCP connection between access requestor 110 and access provider 190. In this example, an access requestor 110 sends an access request (SYN REQ) to an access provider 190 through switch 170. In response to the access request, the access provider 190 opens a communication port and sends an acknowledgement (SYN ACK) to the access requestor 110 through switch 170. The access requestor 110 fails to send a reply (ACK) to the access provider 190 via switch 170. This failure to send a reply results in the partially-completed connection transaction.
Another type of partially-completed connection transaction may occur when an illegitimate access requestor 110 initiates a connection transaction based on a spoofed return address that differs from an actual return address of the illegitimate access requestor 110. In this instance, the illegitimate access requestor 110 sends an access request (SYN REQ) to the access provider 190 via switch 170 using the spoofed return address. In response to the access request, the access provider 190 opens a communication port. Then, because the access request is spoofed, the access provider 190 sends an acknowledgement (SYN ACK) to the spoofed return address, which differs from the actual return address of the illegitimate access requestor 110. Thereafter, no reply (ACK) is generated by the illegitimate access requestor 110, which does not even receive the acknowledgement (SYN ACK) sent by the access provider 190 to the spoofed return address. Thus, the attempted TCP connection is only a partially-completed connection transaction. In this example, the spoofed return address may be Internet protocol (IP) addresses which is capable of identifying each sender or receiver of information across the Internet 130.
When a partially-completed connection transaction occurs, the communication port that was opened on the access provider 190 remains opened, awaiting completion of the initiated connection transaction. Consequently, one of a finite number of communication ports on access provider 190 is used. Other partially-completed connection transactions between access requestor 110 and access provider 190 may occur on other levels (e.g., Level III) using other types of protocols (e.g., IP, TCP/IP, UDP, and UDP/IP).
FIG. 3 is a block diagram that illustrates logical components of switch 170. As shown, the switch 170 includes the components necessary to detect and prevent a hacker attack on access providers 190. In particular, switch 170 includes a monitoring component 310 and a terminating component 320, which generally include one or more elements embedded in software modules, but may be embodied in physical devices connected to one another or may be embodied in some combination of software modules and physical devices. In other implementations, the components illustrated in FIG. 3 may be resident on an access provider 190.
The monitoring component 310 is generally structured and arranged to monitor communications with at least one access provider 190 for partially-completed connection transactions. In one example, the monitoring component 310 may be structured and arranged to detect partially-completed connection transactions by monitoring communications performed to establish a connection involving an access provider 190 based on TCP protocol. In another example, the monitoring component 310 may be structured and arranged to monitor communications with several access providers 190 to detect partially-completed connection transactions. Additionally or alternatively, monitoring component 310 may be programmed to recognize partially-completed connection transactions based on other criteria, or other partially-completed connection transaction types altogether (e.g., IP, TCP/IP, UDP, and UDP/IP). The monitoring component 310 may be preconfigured or it maybe programmable, as will be described in FIG. 4.
The terminating component 320 is generally structured and arranged to terminate partially-completed connection transactions when the partially-completed connection transactions remain in existence for a period of time that exceeds a threshold period of time.
Referring to FIG. 4, the monitoring component 310 may include a detection component 410, a measuring component 420, and a comparing component 430. The detection component 410 is generally structured and arranged to detect partially-completed connection transactions initiated by an access requestor 110. The detection component 410 is generally programmable and capable of recognizing when a partially-completed connection transaction occurs. For example, detection component 410 may be programmed to recognize a partially-completed connection transaction that occurs when an access requestor 110 initiates a connection transaction and the access requestor 110 subsequently fails to send a reply. In one scenario described above with respect to FIG. 2, the detection component 410 may detect partially-completed connection transactions that occur when an illegitimate access requestor 110 initiates a connection transaction based on a spoofed return address (e.g., IP address) that differs from an actual return address (e.g., IP address) of the illegitimate access requestor 110.
Where the access requestor 110 includes one or more clients and the access provider 190 includes one or more hosts, the detection component 410 is capable of detecting partially-completed connection transactions between at least one client and at least one host. Additionally or alternatively, where the access requestor 110 includes one or more clients and the access provider 190 includes one or more hosts, the detection component 410 may be capable of detecting partially-completed connection transactions between at least one client and multiple hosts and/or between multiple clients and at least one host. The detection component 410 generally communicates with to the measuring component 420.
The measuring component 420 is generally structured and arranged to measure the period of time that a partially-completed connection transaction remains in existence. The measuring component 420 is generally programmable. Measuring component 420 may be implemented using a processor and an internal memory for measuring and recording the period of time. It may be implemented using software performed by a processor, or it may be implemented using some combination of hardware and software. In the example of a partially-completed connection transaction based on TCP communications, measuring component 420 measures a period of time that starts when an access request (SYN REQ) is first received. Alternatively, measuring component 420 may measure a period of time that starts when the access provider 190 opens a communication port, perhaps starting when the acknowledgement (SYN ACK) is sent in response to an access request (SYN REQ). In this way, measuring component 420 may measure and record the period of time that the communication port remains in existence.
Measuring component 420 is capable of measuring the period of time across multiple access providers 190. The measuring component 420 communicates with the comparing component 430.
The comparing component 430 is generally structured and arranged to compare the period of time measured by the measuring component 420 with a threshold period of time. In the preferred implementation, the threshold period of time is set to a fixed period of time. Alternatively, the threshold period of time may be a configurable threshold period of time such that the threshold period of time may be set to any period of time.
When the comparing component 430 determines that the threshold period of time has been exceeded, terminating component 320 generally terminates the partially-completed connection transaction. In one example, terminating component 320 includes a reset component that is structured and arranged to reset a communication port located on the access provider 190. In the instance when the partially-completed connection transaction is based on TCP communications, the communication port on the access provider 190 may be reset when the port remains in existence in excess of the threshold period of time which typically occurs when access provider 190 does not receive a reply (ACK) from access requestor 110. When the communication port is reset, it becomes available for use in response to a new access request (SYN REQ).
Additionally or alternatively, when the comparing component 430 determines that the threshold period of time has been exceeded, terminating component 320 may delay terminating the partially-completed connection transaction to allow the monitoring component 310 to continue monitoring communications with the access provider 190. The terminating component 320 may also block any future access requests from a particular illegitimate access requestor 110 through the use of a header that identifies the IP address of the illegitimate access requestor 110.
Referring to FIG. 5, a process 500 is described for securing an access provider 190, which process 500 may be performed by the systems described above with respect to FIGS. 1-4. For instance, the process 500 may be performed by a switch 170, by an access provider 190, or by a combination of the two. The process also may be performed by any other hardware device or software device capable of being programmed to receive, process, and send instructions in the manner described. The process 500 generally includes monitoring communications with an access provider 190 for partially-completed connection transactions (step 510) and terminating the partially-completed connection transactions when the partially-completed connection transactions remain in existence for a period of time that exceeds a threshold period of time (step 520).
In one example, step 510 includes monitoring at least one access provider 190 to detect partially-completed connection transactions by monitoring communications performed to establish a connection involving the access provider 190 based on TCP protocol. In this instance, an access requestor 110 sends an access request (SYN REQ). In response to the access request, the access provider 190 opens a communication port and sends an acknowledgement (SYN ACK) to the access requestor 110. The partially-completed connection transaction may be detected based on a failure of the access requestor 110 to send a reply (ACK) to the access provider 190. For instance, the monitoring step 510 may monitor communication ports to determine whether a connection port that has been opened in response to the access request by the access provider 190 remains in existence beyond the threshold period of time. Additionally or alternatively, step 510 may include monitoring communications with multiple access providers 190 for partially-completed connection transactions.
Step 520 generally includes terminating the partially-completed connection transaction when the partially-completed connection transaction remains in existence for a fixed period of time (e.g., six seconds). Alternatively or additionally, the threshold period of time may be configurable such that it may be set for any period of time.
Referring to FIG. 6, monitoring communications with the access provider 190 for partially-completed connection transactions (step 510 of FIG. 5) may include detecting partially-completed connection transactions (step 610), measuring the period of time that a partially-completed connection transaction remains in existence (step 620), and comparing the period of time with a threshold period of time (step 630).
Detecting 610 may include detecting partially-completed connection transactions that occur when an access requestor 110 initiates a connection transaction and the access requestor 190 subsequently fails to send a reply. In one scenario described above, the detecting 610 may include determining whether an illegitimate access requestor 110 has initiated a connection transaction based on a spoofed return address (e.g., IP address) that differs from the actual return address (e.g., IP address) of the illegitimate access requestor 110. Where the access requestor 110 is a client and the access provider 190 is a host, detecting 610 may include detecting partially-completed connection transactions between at least one client and at least one host. Additionally or alternatively, detecting may include detecting partially-completed connection transactions between at least one client and multiple hosts and/or multiple clients and at least one host. Detecting also may include recognizing other connection transactions or their components (e.g., IP, TCP/IP, UDP, and UDP/IP).
Measuring 620 generally includes measuring the period of time that a partially-completed connection transaction remains in existence. In the example of a partially-completed connection transaction based on TCP communications, the access provider 190 opens a communication port when it receives an access request (SYN REQ) from an access requestor 110. In the instance when the partially-completed connection transaction is based on TCP communications, measuring may measure a period of time that starts when an access request (SYN REQ) is first received. Alternatively, measuring may measure a period of time that starts when the access provider 190 opens a communication port and sends an acknowledgement (SYN ACK) in response to an access request (SYN REQ). Measuring determines the length of the period of time that the communication port remains in existence. Measuring also may include recording the period of time that the communication port remains in existence. Additionally or alternatively, measuring 620 may include measuring the period of time that other types of partially-completed connection transactions (e.g., IP, TCP/IP, UDP, and UDP/IP) remain in existence.
Comparing 630 generally includes comparing the period of time with a threshold period of time. The threshold period of time may be configurable. If the period of time exceeds the threshold period of time, step 520 terminates the partially-completed connection transaction. Terminating 520 may include resetting the communication port on the access provider 190 that was opened in response to an access request initiated by access requestor 110. In the instance when the partially-completed connection transaction is based on TCP communications, the communication port on the access provider 190 may be reset when the port remains in existence in excess of the threshold period of time which typically occurs when access provider 190 does not receive a reply (ACK) from access requestor 110. When the communication port is reset, it becomes available for use in response to a new access request (SYN REQ). Additionally or alternatively, terminating 520 may delay resetting the communication port to allow monitoring 510 to continue monitoring communications with the access provider 190. Terminating 520 also may block future access requests from an illegitimate requestor 110 through the use of a header that identifies the IP address of the illegitimate access requestor 110.
A number of implementations have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the invention. For example, advantageous results still could be achieved if steps of the disclosed techniques were performed in a different order and/or if components in the disclosed systems were combined in a different manner and/or replaced or supplemented by other components.
In addition, the systems, methods, and techniques described here may be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. Apparatus embodying these techniques may include appropriate input and output devices, a computer processor, and a computer program product tangibly embodied in a machine-readable storage device for execution by a programmable processor. A process embodying these techniques may be performed by a programmable processor executing a program of instructions to perform desired functions by operating on input data and generating appropriate output. The techniques may advantageously be implemented in one or more computer programs that are executable on a programmable system including at least one programmable processor coupled to receive data and instructions from, and to transmit data and instructions to, a data storage system, at least one input device, and at least one output device. Each computer program may be implemented in a high-level procedural or object-oriented programming language, or in assembly or machine language if desired; and in any case, the language may be a compiled or interpreted language. Suitable processors include, by way of example, both general and special purpose microprocessors. Generally, a processor will receive instructions and data from a read-only memory and/or a random access memory. Storage devices suitable for tangibly embodying computer program instructions and data include all forms of non-volatile memory, including by way of example semiconductor memory devices, such as Erasable Programmable Read-Only Memory (EPROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and Compact Disc Read-Only Memory (CD-ROM disks). Any of the foregoing may be supplemented by, or incorporated in, specially-designed ASICs (application-specific integrated circuits).
Accordingly, other embodiments are within the scope of the following claims.

Claims (35)

1. A method of monitoring access requests to access providers comprising:
observing, using an intermediary device other than an access providing host that assigns resources responsive to inbound access requests, information identifying a requestor based on receipt of the requestor's submission of an access request to a first access providing host;
accessing, using the intermediary device, stored information identifying previous requestors, of the first access providing host as well as of other access providing hosts, that are determined to have submitted a previous access request that has timed out prior to submission of an acknowledgement corresponding to the previous access request;
comparing, using the intermediary device, the observed information identifying the requestor to the stored information identifying previous requestors; and
when the comparison reveals that the requestor has submitted a previous access request that has timed out prior to submission of an acknowledgement corresponding to the previous access request, denying, using the intermediary device, the access request submitted by the requestor while denying passage of the access request to the first access providing host,
wherein the intermediary device is a switch capable of performing load balancing for the first access providing host as well as the other access providing hosts.
2. The method of claim 1 wherein denying, using the intermediary device, the access request submitted by the requestor while denying passage of the access request to the first access providing host comprises denying, using the intermediary device, the access request submitted by the requestor when the comparison reveals that the requestor has submitted a previous access request that has timed out prior to submission of an acknowledgement corresponding to the previous access request based on a previous access request submitted to an access providing host other than the first access providing host.
3. The method of claim 1 further comprising:
denying the access request in response to a determination that a return address included in the access request differs from an actual return address of the requestor's device.
4. The method of claim 1 further comprising, when the comparison reveals that the requestor has not submitted a previous access request that has timed out prior to submission of an acknowledgement corresponding to the previous access request, monitoring, using the intermediary device, a partially-completed connection transaction resulting from the access request to determine whether a time out condition occurs prior to requestor submission of an acknowledgement corresponding to the access request.
5. The method of claim 4 further comprising, to the extent that a time out condition is determined to exist, adding, using the intermediary device, information identifying the requestor to the stored information identifying previous requestors for use in comparing against future requestors that submit an access request.
6. A networking device, other than an access providing host that assigns resources responsive to inbound access requests, comprising:
a processor; and
a memory encoded with machine readable instructions that, when executed by the processor, operate to cause the processor to perform operations comprising:
observing information identifying a requestor based on receipt of the requestor's submission of an access request to a first access providing host;
accessing stored information identifying previous requestors, of the first access providing host as well as of other access providing hosts, that are determined to have submitted a previous access request that has timed out prior to submission of an acknowledgement corresponding to the previous access request;
comparing the observed information identifying the requestor to the stored information identifying previous requestors; and
when the comparison reveals that the requestor has submitted a previous access request that has timed out prior to submission of an acknowledgement corresponding to the previous access request, denying the access request submitted by the requestor while denying passage of the access request to the first access providing host,
wherein the networking device is a switch capable of performing load balancing for the first access providing host as well as the other access providing hosts.
7. The networking device of claim 6 wherein denying the access request submitted by the requestor while denying passage of the access request to the first access providing host comprises denying the access request submitted by the requestor when the comparison reveals that the requestor has submitted a previous access request that has timed out prior to submission of an acknowledgement corresponding to the previous access request based on a previous access request submitted to an access providing host other than the first access providing host.
8. The networking device of claim 6 wherein the memory is further encoded with machine readable instructions that, when executed by the processor, operate to cause the processor to perform operations comprising:
denying the access request in response to a determination that a return address included in the access request differs from an actual return address of the requestor's device.
9. The networking device of claim 6 wherein the memory is further encoded with machine readable instructions that, when executed by the processor, operate to cause the processor to perform operations comprising, when the comparison reveals that the requestor has not submitted a previous access request that has timed out prior to submission of an acknowledgement corresponding to the previous access request, monitoring a partially-completed connection transaction resulting from the access request to determine whether a time out condition occurs prior to requestor submission of an acknowledgement corresponding to the access request.
10. The networking device of claim 9 wherein the memory is further encoded with machine readable instructions that, when executed by the processor, operate to cause the processor to perform operations comprising, to the extent that a time out condition is determined to exist, adding information identifying the requestor to the stored information identifying previous requestors for use in comparing against future requestors that submit an access request.
11. A storage medium encoded with instructions that, when executed by a processing device, operate to cause the processing device to perform operations comprising:
observing, using an intermediary device other than an access providing host that assigns resources responsive to inbound access requests, information identifying a requestor based on receipt of the requestor's submission of an access request to a first access providing host;
accessing, using the intermediary device, stored information identifying previous requestors, of the first access providing host as well as of other access providing hosts, that are determined to have submitted a previous access request that has timed out prior to submission of an acknowledgement corresponding to the previous access request;
comparing, using the intermediary device, the observed information identifying the requestor to the stored information identifying previous requestors; and
when the comparison reveals that the requestor has submitted a previous access request that has timed out prior to submission of an acknowledgement corresponding to the previous access request, denying, using the intermediary device, the access request submitted by the requestor while denying passage of the access request to the first access providing host,
wherein the intermediary device is a switch capable of performing load balancing for the first access providing host as well as the other access providing hosts.
12. The storage medium of claim 11 wherein denying, using the intermediary device, the access request submitted by the requestor while denying passage of the access request to the first access providing host comprises denying, using the intermediary device, the access request submitted by the requestor when the comparison reveals that the requestor has submitted-a previous access request that has timed out prior to submission of an acknowledgement corresponding to the previous access request based on a previous access request submitted to an access providing host other than the first access providing host.
13. The storage medium of claim 11 wherein the storage medium is further encoded with instructions that, when executed by the processing device, operate to cause the processing device to perform operations comprising:
denying the access request in response to a determination that a return address included in the access request differs from an actual return address of the requestor's device.
14. The storage medium of claim 11 wherein the storage medium is further encoded with instructions that, when executed by the processing device, operate to cause the processing device to perform operations comprising, when the comparison reveals that the requestor has not submitted a previous access request that has timed out prior to submission of an acknowledgement corresponding to the previous access request, monitoring, using the intermediary device, a partially-completed connection transaction resulting from the access request to determine whether a time out condition occurs prior to requestor submission of an acknowledgement corresponding to the access request.
15. The storage medium of claim 14 wherein the storage medium is further encoded with instructions that, when executed by the processing device, operate to cause the processing device to perform operations comprising, to the extent that a time out condition is determined to exist, adding, using the intermediary device, information identifying the requestor to the stored information identifying previous requestors for use in comparing against future requestors that submit an access request.
16. A method of handling connection transactions, the method comprising:
receiving, at an intermediary device, a connection transaction request from a requestor device that requests access to an access providing host;
using information identifying requestor devices, of other access providing hosts, that previously submitted a partially-completed connection transaction request to determine whether to block the connection transaction request to the access providing host; and
blocking, at the intermediary device, the connection transaction request in response to a determination to block the connection transaction request,
wherein the intermediary device is a switch capable of performing load balancing for the access providing host as well as the other access providing hosts.
17. The method of claim 16 wherein using information identifying requestor devices, of other access providing hosts, that previously submitted a partially-completed connection transaction request to determine whether to block the connection transaction request to the access providing host comprises monitoring connection transaction requests across multiple access providing hosts.
18. The method of claim 17 wherein monitoring connection transaction requests across multiple access providing hosts comprises measuring timing of connection transaction requests across multiple access providing hosts.
19. The method of claim 16 wherein using information identifying requestor devices, of other access providing hosts, that previously submitted a partially-completed connection transaction request to determine whether to block the connection transaction request to the access providing host comprises comparing, at the intermediary device, an identity of the requestor device to information identifying requestor devices, of the access providing host as well as the other access providing hosts, that previously submitted a partially-completed connection transaction request that reached a time out condition prior to receipt of an acknowledgement corresponding to the partially-completed connection transaction request.
20. The method of claim 16 further comprising, in response to a determination not to block the connection transaction request, determining, at the intermediary device, whether the connection transaction request results in a partially-completed connection transaction in which a time out condition is reached prior to receipt of an acknowledgement corresponding to the connection transaction request.
21. The method of claim 20 further comprising, in response to a determination that the connection transaction request has reached a time out condition prior to receipt of an acknowledgement corresponding to the connection transaction request, terminating the connection transaction request.
22. The method of claim 20 further comprising, in response to a determination that the connection transaction request has reached a time out condition prior to receipt of an acknowledgement corresponding to the connection transaction request, adding the requestor device to the information identifying requestor devices that previously submitted a partially-completed connection transaction request to enable blocking of future connection transaction requests received from the requestor device.
23. The method of claim 16 wherein, at the time of blocking the connection transaction request, the intermediary device has not previously received, from the requestor device, a connection transaction request that requested access to the access providing host.
24. The method of claim 16 further comprising delaying termination of a partially-completed connection transaction based on the connection transaction request to allow the intermediary device to continue monitoring communications from the requestor device to the access providing host as well as the other access providing hosts.
25. The method of claim 16 further comprising:
blocking, at the intermediary device, the connection transaction request in response to a determination that a return address included in the connection transaction request differs from an actual return address of the requestor device.
26. A networking device comprising:
a processor; and
a memory encoded with machine readable instructions that, when executed by the processor, operate to cause the processor to perform operations comprising:
receiving a connection transaction request from a requestor device that requests access to an access providing host;
using information identifying requestor devices, of other access providing hosts, that previously submitted a partially-completed connection transaction request to determine whether to block the connection transaction request to the access providing host; and
blocking the connection transaction request in response to a determination to block the connection transaction request,
wherein the networking device is a switch capable of performing load balancing for the access providing host as well as the other access providing hosts.
27. The networking device of claim 26 wherein using information identifying requestor devices, of other access providing hosts, that previously submitted a partially-completed connection transaction request to determine whether to block the connection transaction request to the access providing host comprises monitoring connection transaction requests across multiple access providing hosts.
28. The networking device of claim 27 wherein monitoring connection transaction requests across multiple access providing hosts comprises measuring timing of connection transaction requests across multiple access providing hosts.
29. The networking device of claim 26 wherein using information identifying requestor devices, of other access providing hosts, that previously submitted a partially-completed connection transaction request to determine whether to block the connection transaction request to the access providing host comprises comparing an identity of the requestor device to information identifying requestor devices, of the access providing host as well as the other access providing hosts, that previously submitted a partially-completed connection transaction request that reached a time out condition prior to receipt of an acknowledgement corresponding to the partially-completed connection transaction request.
30. The networking device of claim 26 wherein the memory is further encoded with machine readable instructions that, when executed by the processor, operate to cause the processor to perform operations comprising:
in response to a determination not to block the connection transaction request, determining whether the connection transaction request results in a partially-completed connection transaction in which a time out condition is reached prior to receipt of an acknowledgement corresponding to the connection transaction request.
31. The networking device of claim 30 wherein the memory is further encoded with machine readable instructions that, when executed by the processor, operate to cause the processor to perform operations comprising:
in response to a determination that the connection transaction request has reached a time out condition prior to receipt of an acknowledgement corresponding to the connection transaction request, terminating the connection transaction request.
32. The networking device of claim 30 wherein the memory is further encoded with machine readable instructions that, when executed by the processor, operate to cause the processor to perform operations comprising:
in response to a determination that the connection transaction request has reached a time out condition prior to receipt of an acknowledgement corresponding to the connection transaction request, adding the requestor device to the information identifying requestor devices that previously submitted a partially-completed connection transaction request to enable blocking of future connection transaction requests received from the requestor device.
33. The networking device of claim 26 wherein, at the time of blocking the connection transaction request, the networking device has not previously received, from the requestor device, a connection transaction request that requested access to the access providing host.
34. The networking device of claim 26 wherein the memory is further encoded with machine readable instructions that, when executed by the processor, operate to cause the processor to perform operations comprising:
delaying termination of a partially-completed connection transaction based on the connection transaction request to allow the networking device to continue monitoring communications from the requestor device to the access providing host as well as the other access providing hosts.
35. The networking device of claim 26 wherein the memory is further encoded with machine readable instructions that, when executed by the processor, operate to cause the processor to perform operations comprising:
blocking the connection transaction request in response to a determination that a return address included in the connection transaction request differs from an actual return address of the requestor device.
US10/698,933 2000-08-24 2003-11-03 Securing an access provider Expired - Fee Related US7743144B1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US10/698,933 US7743144B1 (en) 2000-08-24 2003-11-03 Securing an access provider
US12/775,783 US8108531B2 (en) 2000-08-24 2010-05-07 Securing an access provider
US13/361,765 US8850046B2 (en) 2000-08-24 2012-01-30 Securing an access provider

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US22730900P 2000-08-24 2000-08-24
US66610400A 2000-09-20 2000-09-20
US10/698,933 US7743144B1 (en) 2000-08-24 2003-11-03 Securing an access provider

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US66610400A Continuation 2000-08-24 2000-09-20

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US12/775,783 Continuation US8108531B2 (en) 2000-08-24 2010-05-07 Securing an access provider

Publications (1)

Publication Number Publication Date
US7743144B1 true US7743144B1 (en) 2010-06-22

Family

ID=42124948

Family Applications (5)

Application Number Title Priority Date Filing Date
US09/666,140 Expired - Fee Related US7711790B1 (en) 2000-08-24 2000-09-20 Securing an accessible computer system
US10/698,933 Expired - Fee Related US7743144B1 (en) 2000-08-24 2003-11-03 Securing an access provider
US12/727,499 Expired - Fee Related US9288218B2 (en) 2000-08-24 2010-03-19 Securing an accessible computer system
US12/775,783 Expired - Fee Related US8108531B2 (en) 2000-08-24 2010-05-07 Securing an access provider
US13/361,765 Expired - Fee Related US8850046B2 (en) 2000-08-24 2012-01-30 Securing an access provider

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US09/666,140 Expired - Fee Related US7711790B1 (en) 2000-08-24 2000-09-20 Securing an accessible computer system

Family Applications After (3)

Application Number Title Priority Date Filing Date
US12/727,499 Expired - Fee Related US9288218B2 (en) 2000-08-24 2010-03-19 Securing an accessible computer system
US12/775,783 Expired - Fee Related US8108531B2 (en) 2000-08-24 2010-05-07 Securing an access provider
US13/361,765 Expired - Fee Related US8850046B2 (en) 2000-08-24 2012-01-30 Securing an access provider

Country Status (1)

Country Link
US (5) US7711790B1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090300175A1 (en) * 2008-05-29 2009-12-03 Canon Kabushiki Kaisha Information processing apparatus, control method of information processing apparatus, and storage medium of storing computer program to perform control method
US20100131659A1 (en) * 2008-11-25 2010-05-27 Raghav Somanahalli Narayana Systems and Methods For Load Balancing Real Time Streaming
US20100281539A1 (en) * 2009-04-29 2010-11-04 Juniper Networks, Inc. Detecting malicious network software agents
US20110055921A1 (en) * 2009-09-03 2011-03-03 Juniper Networks, Inc. Protecting against distributed network flood attacks

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8380854B2 (en) * 2000-03-21 2013-02-19 F5 Networks, Inc. Simplified method for processing multiple connections from the same client
US7711790B1 (en) * 2000-08-24 2010-05-04 Foundry Networks, Inc. Securing an accessible computer system
US7609625B2 (en) 2005-07-06 2009-10-27 Fortinet, Inc. Systems and methods for detecting and preventing flooding attacks in a network environment
US7675854B2 (en) * 2006-02-21 2010-03-09 A10 Networks, Inc. System and method for an adaptive TCP SYN cookie with time validation
US8584199B1 (en) 2006-10-17 2013-11-12 A10 Networks, Inc. System and method to apply a packet routing policy to an application session
US8312507B2 (en) 2006-10-17 2012-11-13 A10 Networks, Inc. System and method to apply network traffic policy to an application session
EP1990738B1 (en) * 2007-05-07 2011-03-09 Software AG Method and server for synchronizing a plurality of clients accessing a database
US9960967B2 (en) 2009-10-21 2018-05-01 A10 Networks, Inc. Determining an application delivery server based on geo-location information
US8458757B2 (en) * 2010-08-31 2013-06-04 At&T Intellectual Property I, L.P. Method and system for region-based monitoring of video assets
US9215275B2 (en) 2010-09-30 2015-12-15 A10 Networks, Inc. System and method to balance servers based on server load status
US9609052B2 (en) 2010-12-02 2017-03-28 A10 Networks, Inc. Distributing application traffic to servers based on dynamic service response time
US8897154B2 (en) 2011-10-24 2014-11-25 A10 Networks, Inc. Combining stateless and stateful server load balancing
US9386088B2 (en) 2011-11-29 2016-07-05 A10 Networks, Inc. Accelerating service processing using fast path TCP
US9094364B2 (en) 2011-12-23 2015-07-28 A10 Networks, Inc. Methods to manage services over a service gateway
US10044582B2 (en) 2012-01-28 2018-08-07 A10 Networks, Inc. Generating secure name records
US8782221B2 (en) 2012-07-05 2014-07-15 A10 Networks, Inc. Method to allocate buffer for TCP proxy session based on dynamic network conditions
US10021174B2 (en) 2012-09-25 2018-07-10 A10 Networks, Inc. Distributing service sessions
US9843484B2 (en) 2012-09-25 2017-12-12 A10 Networks, Inc. Graceful scaling in software driven networks
US10002141B2 (en) 2012-09-25 2018-06-19 A10 Networks, Inc. Distributed database in software driven networks
CN108027805B (en) 2012-09-25 2021-12-21 A10网络股份有限公司 Load distribution in a data network
US9338225B2 (en) 2012-12-06 2016-05-10 A10 Networks, Inc. Forwarding policies on a virtual service network
US9531846B2 (en) 2013-01-23 2016-12-27 A10 Networks, Inc. Reducing buffer usage for TCP proxy session based on delayed acknowledgement
US9900252B2 (en) 2013-03-08 2018-02-20 A10 Networks, Inc. Application delivery controller and global server load balancer
WO2014144837A1 (en) 2013-03-15 2014-09-18 A10 Networks, Inc. Processing data packets using a policy based network path
WO2014179753A2 (en) 2013-05-03 2014-11-06 A10 Networks, Inc. Facilitating secure network traffic by an application delivery controller
US10027761B2 (en) 2013-05-03 2018-07-17 A10 Networks, Inc. Facilitating a secure 3 party network session by a network device
US10230770B2 (en) 2013-12-02 2019-03-12 A10 Networks, Inc. Network proxy layer for policy-based application proxies
US10020979B1 (en) 2014-03-25 2018-07-10 A10 Networks, Inc. Allocating resources in multi-core computing environments
US9942152B2 (en) 2014-03-25 2018-04-10 A10 Networks, Inc. Forwarding data packets using a service-based forwarding policy
US9942162B2 (en) 2014-03-31 2018-04-10 A10 Networks, Inc. Active application response delay time
US9806943B2 (en) 2014-04-24 2017-10-31 A10 Networks, Inc. Enabling planned upgrade/downgrade of network devices without impacting network sessions
US9906422B2 (en) 2014-05-16 2018-02-27 A10 Networks, Inc. Distributed system to determine a server's health
US10129122B2 (en) 2014-06-03 2018-11-13 A10 Networks, Inc. User defined objects for network devices
US9986061B2 (en) 2014-06-03 2018-05-29 A10 Networks, Inc. Programming a data network device using user defined scripts
US9992229B2 (en) 2014-06-03 2018-06-05 A10 Networks, Inc. Programming a data network device using user defined scripts with licenses
US10581976B2 (en) 2015-08-12 2020-03-03 A10 Networks, Inc. Transmission control of protocol state exchange for dynamic stateful service insertion
US10243791B2 (en) 2015-08-13 2019-03-26 A10 Networks, Inc. Automated adjustment of subscriber policies
US9762610B1 (en) * 2015-10-30 2017-09-12 Palo Alto Networks, Inc. Latency-based policy activation
US10318288B2 (en) 2016-01-13 2019-06-11 A10 Networks, Inc. System and method to process a chain of network applications
US10389835B2 (en) 2017-01-10 2019-08-20 A10 Networks, Inc. Application aware systems and methods to process user loadable network applications
WO2018225667A1 (en) * 2017-06-05 2018-12-13 日本電気株式会社 Information processing device, information processing system, information processing method, and recording medium
EP3951738B1 (en) 2021-12-13 2023-12-13 Pfeiffer Vacuum Technology AG Apparatus and method for communication with a vacuum device

Citations (110)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5444705A (en) * 1991-02-22 1995-08-22 International Business Machines Corp. Dual priority switching apparatus for simplex networks
US5475839A (en) 1990-03-28 1995-12-12 National Semiconductor Corporation Method and structure for securing access to a computer system
US5546390A (en) 1994-12-29 1996-08-13 Storage Technology Corporation Method and apparatus for radix decision packet processing
US5548533A (en) 1994-10-07 1996-08-20 Northern Telecom Limited Overload control for a central processor in the switching network of a mobile communications system
US5577197A (en) * 1992-10-29 1996-11-19 Mci Communications Corporation Test system for testing electronic transaction processing services at a common carrier network switch
US5606668A (en) 1993-12-15 1997-02-25 Checkpoint Software Technologies Ltd. System for securing inbound and outbound data packet flow in a computer network
US5619648A (en) 1994-11-30 1997-04-08 Lucent Technologies Inc. Message filtering techniques
US5634040A (en) 1994-12-19 1997-05-27 Samsung Electronics Co., Ltd. Data communication apparatus and method having concurrent image overlay function
US5699514A (en) 1995-12-26 1997-12-16 Lucent Technologies Inc. Access control system with lockout
US5704047A (en) 1994-09-28 1997-12-30 Siemens Aktiengesellschaft ATM communication system wherein upstream switching element stops the transmission of message for a predetermined period of time upon backpressure signal
US5732212A (en) 1992-10-23 1998-03-24 Fox Network Systems, Inc. System and method for remote monitoring and operation of personal computers
US5742587A (en) 1997-02-28 1998-04-21 Lanart Corporation Load balancing port switching hub
US5805810A (en) 1995-04-27 1998-09-08 Maxwell; Robert L. Apparatus and methods for converting an electronic mail to a postal mail at the receiving station
US5857188A (en) 1996-04-29 1999-01-05 Ncr Corporation Management of client requests in a client-server environment
EP0889668A2 (en) 1997-06-30 1999-01-07 Nec Corporation Communication control apparatus having a receiving section with an address filtering section
US5862325A (en) 1996-02-29 1999-01-19 Intermind Corporation Computer-based communication system and method using metadata defining a control structure
WO1999003238A2 (en) 1997-07-09 1999-01-21 Telefonaktiebolaget Lm Ericsson (Publ) Mail server being arranged to append an identifier to a received mail
US5877724A (en) * 1997-03-25 1999-03-02 Trimble Navigation Limited Combined position locating and cellular telephone system with a single shared microprocessor
US5884246A (en) 1996-12-04 1999-03-16 Transgate Intellectual Properties Ltd. System and method for transparent translation of electronically transmitted messages
WO1999033188A2 (en) 1997-12-23 1999-07-01 Bright Light Technologies, Inc. Apparatus and method for controlling delivery of unsolicited electronic mail
US5923848A (en) 1996-05-31 1999-07-13 Microsoft Corporation System and method for resolving names in an electronic messaging environment
US5958053A (en) * 1997-01-30 1999-09-28 At&T Corp. Communications protocol with improved security
US5999932A (en) 1998-01-13 1999-12-07 Bright Light Technologies, Inc. System and method for filtering unsolicited electronic mail messages using data matching and heuristic processing
US6002851A (en) * 1997-01-28 1999-12-14 Tandem Computers Incorporated Method and apparatus for node pruning a multi-processor system for maximal, full connection during recovery
US6018619A (en) 1996-05-24 2000-01-25 Microsoft Corporation Method, system and apparatus for client-side usage tracking of information server systems
US6044260A (en) 1997-09-02 2000-03-28 Motorola, Inc. Method of controlling the number of messages received by a personal messaging unit
US6049774A (en) * 1996-07-08 2000-04-11 At&T Corp. Machine, method and medium for dynamic optimization for resource allocation
US6072942A (en) 1996-09-18 2000-06-06 Secure Computing Corporation System and method of electronic mail filtering using interconnected nodes
US6088736A (en) 1995-07-19 2000-07-11 Fujitsu Network Communications, Inc. Joint flow control mechanism in a telecommunications network
US6092115A (en) 1997-02-07 2000-07-18 Lucent Technologies Inc. Method for supporting per-connection queuing for feedback-controlled traffic
US6105012A (en) 1997-04-22 2000-08-15 Sun Microsystems, Inc. Security system and method for financial institution server and client web browser
US6161130A (en) 1998-06-23 2000-12-12 Microsoft Corporation Technique which utilizes a probabilistic classifier to detect "junk" e-mail by automatically updating a training and re-training the classifier based on the updated training set
US6167434A (en) 1998-07-15 2000-12-26 Pang; Stephen Y. Computer code for removing junk e-mail messages
US6167029A (en) 1998-10-13 2000-12-26 Xaqti Corporation System and method for integrated data flow control
US6182226B1 (en) 1998-03-18 2001-01-30 Secure Computing Corporation System and method for controlling interactions between networks
US6195680B1 (en) * 1998-07-23 2001-02-27 International Business Machines Corporation Client-based dynamic switching of streaming servers for fault-tolerance and load balancing
US6205551B1 (en) 1998-01-29 2001-03-20 Lucent Technologies Inc. Computer security using virus probing
US6212184B1 (en) 1998-07-15 2001-04-03 Washington University Fast scaleable methods and devices for layer four switching
US6219706B1 (en) 1998-10-16 2001-04-17 Cisco Technology, Inc. Access control for networks
US6219786B1 (en) * 1998-09-09 2001-04-17 Surfcontrol, Inc. Method and system for monitoring and controlling network access
US6219694B1 (en) 1998-05-29 2001-04-17 Research In Motion Limited System and method for pushing information from a host system to a mobile data communication device having a shared electronic address
US6237027B1 (en) 1996-06-20 2001-05-22 Sony Corporation Electronic mail system, computer device, and remote notification method
US6266664B1 (en) 1997-10-01 2001-07-24 Rulespace, Inc. Method for scanning, analyzing and rating digital information content
US6286049B1 (en) 2000-03-24 2001-09-04 Covad Communications Group, Inc. System and method for providing broadband content to high-speed access subscribers
US6310859B1 (en) * 1997-10-30 2001-10-30 Ntt Mobile Communications Network Inc. Packet communications network
US6314464B1 (en) * 1996-04-03 2001-11-06 Sony Corporation Communication control method
US6321267B1 (en) 1999-11-23 2001-11-20 Escom Corporation Method and apparatus for filtering junk email
US6330590B1 (en) 1999-01-05 2001-12-11 William D. Cotten Preventing delivery of unwanted bulk e-mail
US6351764B1 (en) 1998-12-31 2002-02-26 Michael Voticky System and method for prioritizing communications messages
US6351794B1 (en) 1996-06-17 2002-02-26 Network Associates, Inc. Computer resource management system
US6360254B1 (en) 1998-09-15 2002-03-19 Amazon.Com Holdings, Inc. System and method for providing secure URL-based access to private resources
US6363479B1 (en) 1998-07-22 2002-03-26 Entrust Technologies Limited System and method for signing markup language data
US6418420B1 (en) 1998-06-30 2002-07-09 Sun Microsystems, Inc. Distributed budgeting and accounting system with secure token device access
US20020103916A1 (en) 2000-09-07 2002-08-01 Benjie Chen Thwarting connection-based denial of service attacks
US6430619B1 (en) 1999-05-06 2002-08-06 Cisco Technology, Inc. Virtual private data network session count limitation
US20020108059A1 (en) 2000-03-03 2002-08-08 Canion Rodney S. Network security accelerator
US20020107953A1 (en) 2001-01-16 2002-08-08 Mark Ontiveros Method and device for monitoring data traffic and preventing unauthorized access to a network
US20020116463A1 (en) 2001-02-20 2002-08-22 Hart Matthew Thomas Unwanted e-mail filtering
US6484203B1 (en) 1998-11-09 2002-11-19 Sri International, Inc. Hierarchical event monitoring and analysis
US6496866B2 (en) * 1996-08-23 2002-12-17 International Business Machines Corporation System and method for providing dynamically alterable computer clusters for message routing
US6507866B1 (en) 1999-07-19 2003-01-14 At&T Wireless Services, Inc. E-mail usage pattern detection
US6529955B1 (en) 1999-05-06 2003-03-04 Cisco Technology, Inc. Proxy session count limitation
US6535517B1 (en) * 1997-06-20 2003-03-18 Telefonaktiebolaget L M Ericsson (Publ) Network access device monitoring
US6542583B1 (en) 1997-03-06 2003-04-01 Avaya Technology Corp. Caller identification verification system
US6580790B1 (en) 2000-02-09 2003-06-17 At&T Corp. Calling assistance system and method
US6591301B1 (en) 1999-06-07 2003-07-08 Nortel Networks Limited Methods and systems for controlling network gatekeeper message processing
US6591291B1 (en) 1997-08-28 2003-07-08 Lucent Technologies Inc. System and method for providing anonymous remailing and filtering of electronic mail
US20030145232A1 (en) 2002-01-31 2003-07-31 Poletto Massimiliano Antonio Denial of service attacks characterization
US6615241B1 (en) 1997-07-18 2003-09-02 Net Exchange, Llc Correspondent-centric management email system uses message-correspondent relationship data table for automatically linking a single stored message with its correspondents
US20030167402A1 (en) 2001-08-16 2003-09-04 Stolfo Salvatore J. System and methods for detecting malicious email transmission
US6636894B1 (en) 1998-12-08 2003-10-21 Nomadix, Inc. Systems and methods for redirecting users having transparent computer access to a network using a gateway device having redirection capability
US6643685B1 (en) 1999-05-06 2003-11-04 International Business Machines Corporation Method of creating unique user aliases for users in a communications network
US6643262B1 (en) * 1997-08-29 2003-11-04 Telefonaktiebolaget Lm Ericsson (Publ) System and method for dynamic sharing of connection resources
US6643686B1 (en) 1998-12-18 2003-11-04 At&T Corp. System and method for counteracting message filtering
US6654373B1 (en) 2000-06-12 2003-11-25 Netrake Corporation Content aware network apparatus
US6654787B1 (en) 1998-12-31 2003-11-25 Brightmail, Incorporated Method and apparatus for filtering e-mail
US6662230B1 (en) 1999-10-20 2003-12-09 International Business Machines Corporation System and method for dynamically limiting robot access to server data
US6678835B1 (en) 1999-06-10 2004-01-13 Alcatel State transition protocol for high availability units
US6691156B1 (en) 2000-03-10 2004-02-10 International Business Machines Corporation Method for restricting delivery of unsolicited E-mail
US6701522B1 (en) 2000-04-07 2004-03-02 Danger, Inc. Apparatus and method for portal device authentication
US20040064515A1 (en) 2000-08-31 2004-04-01 Alyn Hockey Monitoring eletronic mail message digests
US20040083270A1 (en) 2002-10-23 2004-04-29 David Heckerman Method and system for identifying junk e-mail
US6732149B1 (en) 1999-04-09 2004-05-04 International Business Machines Corporation System and method for hindering undesired transmission or receipt of electronic messages
US20040093384A1 (en) 2001-03-05 2004-05-13 Alex Shipp Method of, and system for, processing email in particular to detect unsolicited bulk email
US6738814B1 (en) * 1998-03-18 2004-05-18 Cisco Technology, Inc. Method for blocking denial of service and address spoofing attacks on a private network
US6742128B1 (en) 2002-08-28 2004-05-25 Networks Associates Technology Threat assessment orchestrator system and method
US6742123B1 (en) 1999-09-10 2004-05-25 Sun Microsystems, Inc. Apparatus and methods for preventing denial of service attacks
US6748422B2 (en) 2000-10-19 2004-06-08 Ebay Inc. System and method to control sending of unsolicited communications relating to a plurality of listings in a network-based commerce facility
US6751668B1 (en) 2000-03-14 2004-06-15 Watchguard Technologies, Inc. Denial-of-service attack blocking with selective passing and flexible monitoring
US6757836B1 (en) * 2000-01-10 2004-06-29 Sun Microsystems, Inc. Method and apparatus for resolving partial connectivity in a clustered computing system
US6763467B1 (en) 1999-02-03 2004-07-13 Cybersoft, Inc. Network traffic intercepting method and system
US6772334B1 (en) 2000-08-31 2004-08-03 Networks Associates, Inc. System and method for preventing a spoofed denial of service attack in a networked computing environment
US6778498B2 (en) 2001-03-20 2004-08-17 Mci, Inc. Virtual private network (VPN)-aware customer premises equipment (CPE) edge router
US6789203B1 (en) 2000-06-26 2004-09-07 Sun Microsystems, Inc. Method and apparatus for preventing a denial of service (DOS) attack by selectively throttling TCP/IP requests
US6829772B2 (en) 1999-11-30 2004-12-07 Sun Microsystems, Inc. Apparatus and methods for communicating between resource domains
US6829635B1 (en) 1998-07-01 2004-12-07 Brent Townshend System and method of automatically generating the criteria to identify bulk electronic mail
US6834310B2 (en) 1998-10-30 2004-12-21 Science Applications International Corp. Preventing packet flooding of a computer on a computer network
US6839759B2 (en) 1998-10-30 2005-01-04 Science Applications International Corp. Method for establishing secure communication link between computers of virtual private network without user entering any cryptographic information
US6868436B1 (en) 1997-08-12 2005-03-15 Micron Technology, Inc. Method and system for filtering unauthorized electronic mail messages
US6868498B1 (en) 1999-09-01 2005-03-15 Peter L. Katsikas System for eliminating unauthorized electronic mail
US6894972B1 (en) 1999-11-12 2005-05-17 Inmon Corporation Intelligent collaboration across network system
US7032023B1 (en) 2000-05-16 2006-04-18 America Online, Inc. Throttling electronic communications from one or more senders
US7069313B2 (en) * 2000-03-14 2006-06-27 Microsoft Corporation Methods and systems for preventing socket flooding during denial of service attacks
US7103846B1 (en) * 1999-06-02 2006-09-05 International Business Machines Corporation Collaborative application with indicator of concurrent users
US7103599B2 (en) 2001-05-15 2006-09-05 Verizon Laboratories Inc. Parsing of nested internet electronic mail documents
US7197639B1 (en) * 1999-02-05 2007-03-27 Rsa Security Inc. Cryptographic countermeasures against connection depletion attacks
US7301899B2 (en) * 2001-01-31 2007-11-27 Comverse Ltd. Prevention of bandwidth congestion in a denial of service or other internet-based attack
US7437457B1 (en) * 2003-09-08 2008-10-14 Aol Llc, A Delaware Limited Liability Company Regulating concurrent logins associated with a single account
US7454499B2 (en) * 2002-11-07 2008-11-18 Tippingpoint Technologies, Inc. Active network defense system and method
US7464410B1 (en) * 2001-08-30 2008-12-09 At&T Corp. Protection against flooding of a server

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US1301899A (en) 1917-07-30 1919-04-29 United Shoe Machinery Corp Heeling-machine.
US4467147A (en) 1982-07-16 1984-08-21 At&T Bell Laboratories Switching network for interactive access and testing of subscriber loops
US4652990A (en) 1983-10-27 1987-03-24 Remote Systems, Inc. Protected software access control apparatus and method
US4821034A (en) 1987-02-06 1989-04-11 Ancor Communications, Inc. Digital exchange switch element and network
DE4222380A1 (en) 1992-07-08 1994-01-13 Ernst Peter Prof Dr M Strecker Endoprosthesis implantable percutaneously in a patient's body
US5774660A (en) 1996-08-05 1998-06-30 Resonate, Inc. World-wide-web server with delayed resource-binding for resource-based load balancing on a distributed resource multi-node network
US5884312A (en) 1997-02-28 1999-03-16 Electronic Data Systems Corporation System and method for securely accessing information from disparate data sources through a network
JPH10302050A (en) * 1997-04-30 1998-11-13 Fujitsu Ltd Data transformation processing circuit
US6615258B1 (en) * 1997-09-26 2003-09-02 Worldcom, Inc. Integrated customer interface for web based data management
US6151601A (en) 1997-11-12 2000-11-21 Ncr Corporation Computer architecture and method for collecting, analyzing and/or transforming internet and/or electronic commerce data for storage into a data storage area
US7047300B1 (en) * 1998-02-10 2006-05-16 Sprint Communications Company L.P. Survivable and scalable data system and method for computer networks
JP3995338B2 (en) 1998-05-27 2007-10-24 富士通株式会社 Network connection control method and system
US6438652B1 (en) 1998-10-09 2002-08-20 International Business Machines Corporation Load balancing cooperating cache servers by shifting forwarded request
US6788692B1 (en) * 1999-05-03 2004-09-07 Nortel Networks Limited Network switch load balancing
US6421688B1 (en) 1999-10-20 2002-07-16 Parallel Computers Technology, Inc. Method and apparatus for database fault tolerance with instant transaction replication using off-the-shelf database servers and low bandwidth networks
US7032241B1 (en) * 2000-02-22 2006-04-18 Microsoft Corporation Methods and systems for accessing networks, methods and systems for accessing the internet
US6990481B1 (en) 2000-02-25 2006-01-24 Coraid, Inc. System and method for content management over network storage devices
US6697806B1 (en) 2000-04-24 2004-02-24 Sprint Communications Company, L.P. Access network authorization
AU2001278328A1 (en) 2000-07-26 2002-02-05 David Dickenson Distributive access controller
US7711790B1 (en) 2000-08-24 2010-05-04 Foundry Networks, Inc. Securing an accessible computer system
WO2002019661A2 (en) * 2000-09-01 2002-03-07 Top Layer Networks, Inc. System and process for defending against denial of service attacks on network nodes
US7200662B2 (en) * 2001-07-06 2007-04-03 Juniper Networks, Inc. Integrated rule network management system
US6831310B1 (en) 2003-11-10 2004-12-14 Freescale Semiconductor, Inc. Integrated circuit having multiple memory types and method of formation

Patent Citations (113)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5475839A (en) 1990-03-28 1995-12-12 National Semiconductor Corporation Method and structure for securing access to a computer system
US5444705A (en) * 1991-02-22 1995-08-22 International Business Machines Corp. Dual priority switching apparatus for simplex networks
US5732212A (en) 1992-10-23 1998-03-24 Fox Network Systems, Inc. System and method for remote monitoring and operation of personal computers
US5577197A (en) * 1992-10-29 1996-11-19 Mci Communications Corporation Test system for testing electronic transaction processing services at a common carrier network switch
US5606668A (en) 1993-12-15 1997-02-25 Checkpoint Software Technologies Ltd. System for securing inbound and outbound data packet flow in a computer network
US5704047A (en) 1994-09-28 1997-12-30 Siemens Aktiengesellschaft ATM communication system wherein upstream switching element stops the transmission of message for a predetermined period of time upon backpressure signal
US5548533A (en) 1994-10-07 1996-08-20 Northern Telecom Limited Overload control for a central processor in the switching network of a mobile communications system
US5619648A (en) 1994-11-30 1997-04-08 Lucent Technologies Inc. Message filtering techniques
US5634040A (en) 1994-12-19 1997-05-27 Samsung Electronics Co., Ltd. Data communication apparatus and method having concurrent image overlay function
US5546390A (en) 1994-12-29 1996-08-13 Storage Technology Corporation Method and apparatus for radix decision packet processing
US5805810A (en) 1995-04-27 1998-09-08 Maxwell; Robert L. Apparatus and methods for converting an electronic mail to a postal mail at the receiving station
US6088736A (en) 1995-07-19 2000-07-11 Fujitsu Network Communications, Inc. Joint flow control mechanism in a telecommunications network
US5699514A (en) 1995-12-26 1997-12-16 Lucent Technologies Inc. Access control system with lockout
US5862325A (en) 1996-02-29 1999-01-19 Intermind Corporation Computer-based communication system and method using metadata defining a control structure
US6314464B1 (en) * 1996-04-03 2001-11-06 Sony Corporation Communication control method
US5857188A (en) 1996-04-29 1999-01-05 Ncr Corporation Management of client requests in a client-server environment
US6018619A (en) 1996-05-24 2000-01-25 Microsoft Corporation Method, system and apparatus for client-side usage tracking of information server systems
US5923848A (en) 1996-05-31 1999-07-13 Microsoft Corporation System and method for resolving names in an electronic messaging environment
US6351794B1 (en) 1996-06-17 2002-02-26 Network Associates, Inc. Computer resource management system
US6237027B1 (en) 1996-06-20 2001-05-22 Sony Corporation Electronic mail system, computer device, and remote notification method
US6049774A (en) * 1996-07-08 2000-04-11 At&T Corp. Machine, method and medium for dynamic optimization for resource allocation
US6496866B2 (en) * 1996-08-23 2002-12-17 International Business Machines Corporation System and method for providing dynamically alterable computer clusters for message routing
US6072942A (en) 1996-09-18 2000-06-06 Secure Computing Corporation System and method of electronic mail filtering using interconnected nodes
US5884246A (en) 1996-12-04 1999-03-16 Transgate Intellectual Properties Ltd. System and method for transparent translation of electronically transmitted messages
US6002851A (en) * 1997-01-28 1999-12-14 Tandem Computers Incorporated Method and apparatus for node pruning a multi-processor system for maximal, full connection during recovery
US5958053A (en) * 1997-01-30 1999-09-28 At&T Corp. Communications protocol with improved security
US6092115A (en) 1997-02-07 2000-07-18 Lucent Technologies Inc. Method for supporting per-connection queuing for feedback-controlled traffic
US5742587A (en) 1997-02-28 1998-04-21 Lanart Corporation Load balancing port switching hub
US6542583B1 (en) 1997-03-06 2003-04-01 Avaya Technology Corp. Caller identification verification system
US5877724A (en) * 1997-03-25 1999-03-02 Trimble Navigation Limited Combined position locating and cellular telephone system with a single shared microprocessor
US6105012A (en) 1997-04-22 2000-08-15 Sun Microsystems, Inc. Security system and method for financial institution server and client web browser
US6535517B1 (en) * 1997-06-20 2003-03-18 Telefonaktiebolaget L M Ericsson (Publ) Network access device monitoring
EP0889668A2 (en) 1997-06-30 1999-01-07 Nec Corporation Communication control apparatus having a receiving section with an address filtering section
WO1999003238A2 (en) 1997-07-09 1999-01-21 Telefonaktiebolaget Lm Ericsson (Publ) Mail server being arranged to append an identifier to a received mail
US6615241B1 (en) 1997-07-18 2003-09-02 Net Exchange, Llc Correspondent-centric management email system uses message-correspondent relationship data table for automatically linking a single stored message with its correspondents
US6868436B1 (en) 1997-08-12 2005-03-15 Micron Technology, Inc. Method and system for filtering unauthorized electronic mail messages
US6591291B1 (en) 1997-08-28 2003-07-08 Lucent Technologies Inc. System and method for providing anonymous remailing and filtering of electronic mail
US6643262B1 (en) * 1997-08-29 2003-11-04 Telefonaktiebolaget Lm Ericsson (Publ) System and method for dynamic sharing of connection resources
US6044260A (en) 1997-09-02 2000-03-28 Motorola, Inc. Method of controlling the number of messages received by a personal messaging unit
US6266664B1 (en) 1997-10-01 2001-07-24 Rulespace, Inc. Method for scanning, analyzing and rating digital information content
US6310859B1 (en) * 1997-10-30 2001-10-30 Ntt Mobile Communications Network Inc. Packet communications network
WO1999033188A2 (en) 1997-12-23 1999-07-01 Bright Light Technologies, Inc. Apparatus and method for controlling delivery of unsolicited electronic mail
US6052709A (en) 1997-12-23 2000-04-18 Bright Light Technologies, Inc. Apparatus and method for controlling delivery of unsolicited electronic mail
US5999932A (en) 1998-01-13 1999-12-07 Bright Light Technologies, Inc. System and method for filtering unsolicited electronic mail messages using data matching and heuristic processing
US6205551B1 (en) 1998-01-29 2001-03-20 Lucent Technologies Inc. Computer security using virus probing
US6182226B1 (en) 1998-03-18 2001-01-30 Secure Computing Corporation System and method for controlling interactions between networks
US6738814B1 (en) * 1998-03-18 2004-05-18 Cisco Technology, Inc. Method for blocking denial of service and address spoofing attacks on a private network
US6219694B1 (en) 1998-05-29 2001-04-17 Research In Motion Limited System and method for pushing information from a host system to a mobile data communication device having a shared electronic address
US6161130A (en) 1998-06-23 2000-12-12 Microsoft Corporation Technique which utilizes a probabilistic classifier to detect "junk" e-mail by automatically updating a training and re-training the classifier based on the updated training set
US6418420B1 (en) 1998-06-30 2002-07-09 Sun Microsystems, Inc. Distributed budgeting and accounting system with secure token device access
US6829635B1 (en) 1998-07-01 2004-12-07 Brent Townshend System and method of automatically generating the criteria to identify bulk electronic mail
US6167434A (en) 1998-07-15 2000-12-26 Pang; Stephen Y. Computer code for removing junk e-mail messages
US6212184B1 (en) 1998-07-15 2001-04-03 Washington University Fast scaleable methods and devices for layer four switching
US6363479B1 (en) 1998-07-22 2002-03-26 Entrust Technologies Limited System and method for signing markup language data
US6195680B1 (en) * 1998-07-23 2001-02-27 International Business Machines Corporation Client-based dynamic switching of streaming servers for fault-tolerance and load balancing
US6219786B1 (en) * 1998-09-09 2001-04-17 Surfcontrol, Inc. Method and system for monitoring and controlling network access
US6360254B1 (en) 1998-09-15 2002-03-19 Amazon.Com Holdings, Inc. System and method for providing secure URL-based access to private resources
US6167029A (en) 1998-10-13 2000-12-26 Xaqti Corporation System and method for integrated data flow control
US6219706B1 (en) 1998-10-16 2001-04-17 Cisco Technology, Inc. Access control for networks
US6839759B2 (en) 1998-10-30 2005-01-04 Science Applications International Corp. Method for establishing secure communication link between computers of virtual private network without user entering any cryptographic information
US6834310B2 (en) 1998-10-30 2004-12-21 Science Applications International Corp. Preventing packet flooding of a computer on a computer network
US6484203B1 (en) 1998-11-09 2002-11-19 Sri International, Inc. Hierarchical event monitoring and analysis
US6636894B1 (en) 1998-12-08 2003-10-21 Nomadix, Inc. Systems and methods for redirecting users having transparent computer access to a network using a gateway device having redirection capability
US6643686B1 (en) 1998-12-18 2003-11-04 At&T Corp. System and method for counteracting message filtering
US6351764B1 (en) 1998-12-31 2002-02-26 Michael Voticky System and method for prioritizing communications messages
US6654787B1 (en) 1998-12-31 2003-11-25 Brightmail, Incorporated Method and apparatus for filtering e-mail
US6330590B1 (en) 1999-01-05 2001-12-11 William D. Cotten Preventing delivery of unwanted bulk e-mail
US6763467B1 (en) 1999-02-03 2004-07-13 Cybersoft, Inc. Network traffic intercepting method and system
US7197639B1 (en) * 1999-02-05 2007-03-27 Rsa Security Inc. Cryptographic countermeasures against connection depletion attacks
US6732149B1 (en) 1999-04-09 2004-05-04 International Business Machines Corporation System and method for hindering undesired transmission or receipt of electronic messages
US6529955B1 (en) 1999-05-06 2003-03-04 Cisco Technology, Inc. Proxy session count limitation
US6643685B1 (en) 1999-05-06 2003-11-04 International Business Machines Corporation Method of creating unique user aliases for users in a communications network
US6430619B1 (en) 1999-05-06 2002-08-06 Cisco Technology, Inc. Virtual private data network session count limitation
US7103846B1 (en) * 1999-06-02 2006-09-05 International Business Machines Corporation Collaborative application with indicator of concurrent users
US6591301B1 (en) 1999-06-07 2003-07-08 Nortel Networks Limited Methods and systems for controlling network gatekeeper message processing
US6678835B1 (en) 1999-06-10 2004-01-13 Alcatel State transition protocol for high availability units
US6507866B1 (en) 1999-07-19 2003-01-14 At&T Wireless Services, Inc. E-mail usage pattern detection
US6868498B1 (en) 1999-09-01 2005-03-15 Peter L. Katsikas System for eliminating unauthorized electronic mail
US6742123B1 (en) 1999-09-10 2004-05-25 Sun Microsystems, Inc. Apparatus and methods for preventing denial of service attacks
US6662230B1 (en) 1999-10-20 2003-12-09 International Business Machines Corporation System and method for dynamically limiting robot access to server data
US6894972B1 (en) 1999-11-12 2005-05-17 Inmon Corporation Intelligent collaboration across network system
US6321267B1 (en) 1999-11-23 2001-11-20 Escom Corporation Method and apparatus for filtering junk email
US6829772B2 (en) 1999-11-30 2004-12-07 Sun Microsystems, Inc. Apparatus and methods for communicating between resource domains
US6757836B1 (en) * 2000-01-10 2004-06-29 Sun Microsystems, Inc. Method and apparatus for resolving partial connectivity in a clustered computing system
US6580790B1 (en) 2000-02-09 2003-06-17 At&T Corp. Calling assistance system and method
US20020108059A1 (en) 2000-03-03 2002-08-08 Canion Rodney S. Network security accelerator
US6691156B1 (en) 2000-03-10 2004-02-10 International Business Machines Corporation Method for restricting delivery of unsolicited E-mail
US7069313B2 (en) * 2000-03-14 2006-06-27 Microsoft Corporation Methods and systems for preventing socket flooding during denial of service attacks
US6751668B1 (en) 2000-03-14 2004-06-15 Watchguard Technologies, Inc. Denial-of-service attack blocking with selective passing and flexible monitoring
US6286049B1 (en) 2000-03-24 2001-09-04 Covad Communications Group, Inc. System and method for providing broadband content to high-speed access subscribers
US6701522B1 (en) 2000-04-07 2004-03-02 Danger, Inc. Apparatus and method for portal device authentication
US20060136590A1 (en) 2000-05-16 2006-06-22 America Online, Inc. Throttling electronic communications from one or more senders
US7032023B1 (en) 2000-05-16 2006-04-18 America Online, Inc. Throttling electronic communications from one or more senders
US6654373B1 (en) 2000-06-12 2003-11-25 Netrake Corporation Content aware network apparatus
US6789203B1 (en) 2000-06-26 2004-09-07 Sun Microsystems, Inc. Method and apparatus for preventing a denial of service (DOS) attack by selectively throttling TCP/IP requests
US6772334B1 (en) 2000-08-31 2004-08-03 Networks Associates, Inc. System and method for preventing a spoofed denial of service attack in a networked computing environment
US20040064515A1 (en) 2000-08-31 2004-04-01 Alyn Hockey Monitoring eletronic mail message digests
US20020103916A1 (en) 2000-09-07 2002-08-01 Benjie Chen Thwarting connection-based denial of service attacks
US7398317B2 (en) * 2000-09-07 2008-07-08 Mazu Networks, Inc. Thwarting connection-based denial of service attacks
US6748422B2 (en) 2000-10-19 2004-06-08 Ebay Inc. System and method to control sending of unsolicited communications relating to a plurality of listings in a network-based commerce facility
US20020107953A1 (en) 2001-01-16 2002-08-08 Mark Ontiveros Method and device for monitoring data traffic and preventing unauthorized access to a network
US7301899B2 (en) * 2001-01-31 2007-11-27 Comverse Ltd. Prevention of bandwidth congestion in a denial of service or other internet-based attack
US20020116463A1 (en) 2001-02-20 2002-08-22 Hart Matthew Thomas Unwanted e-mail filtering
US20040093384A1 (en) 2001-03-05 2004-05-13 Alex Shipp Method of, and system for, processing email in particular to detect unsolicited bulk email
US6778498B2 (en) 2001-03-20 2004-08-17 Mci, Inc. Virtual private network (VPN)-aware customer premises equipment (CPE) edge router
US7103599B2 (en) 2001-05-15 2006-09-05 Verizon Laboratories Inc. Parsing of nested internet electronic mail documents
US20030167402A1 (en) 2001-08-16 2003-09-04 Stolfo Salvatore J. System and methods for detecting malicious email transmission
US7464410B1 (en) * 2001-08-30 2008-12-09 At&T Corp. Protection against flooding of a server
US20030145232A1 (en) 2002-01-31 2003-07-31 Poletto Massimiliano Antonio Denial of service attacks characterization
US6742128B1 (en) 2002-08-28 2004-05-25 Networks Associates Technology Threat assessment orchestrator system and method
US20040083270A1 (en) 2002-10-23 2004-04-29 David Heckerman Method and system for identifying junk e-mail
US7454499B2 (en) * 2002-11-07 2008-11-18 Tippingpoint Technologies, Inc. Active network defense system and method
US7437457B1 (en) * 2003-09-08 2008-10-14 Aol Llc, A Delaware Limited Liability Company Regulating concurrent logins associated with a single account

Non-Patent Citations (16)

* Cited by examiner, † Cited by third party
Title
Allowing controlled SMTP relaying in Sendmail 8.9, (2 pages), http://web.archive.org/web/20000510213022/www.sendmail.org/tips/relaying.html.
Anti-Spam Configuration Control, (5 pages), http://web.archive.org/web/20000520064211/www.sendmail.org/m4/anti-spam.html.
Anti-Spam Provisions in Sendmail 8.8, (4 pages), http://web.archive.org/web/20000510040556/www.sendmail.org/antispam.html.
Eric Allman, Sendmail(TM) Installation and Operation Guide Version 8.310 for Sendmail Version 8.10, Sendmail, Inc., (84 pages).
Eric Allman, Sendmail™ Installation and Operation Guide Version 8.310 for Sendmail Version 8.10, Sendmail, Inc., (84 pages).
Godfrey, J., "Instant Spam: It's Tough to Swallow," Home Office Computing, [online] vol. 16, No. 11, p. 24 [retrieved on Dec. 29, 2004]. Retrieved from .
Godfrey, J., "Instant Spam: It's Tough to Swallow," Home Office Computing, [online] vol. 16, No. 11, p. 24 [retrieved on Dec. 29, 2004]. Retrieved from <URL: http://proquest.umi.com/pdqweb?index=21&sid=2&srchmode=1&vinst=PROD&fmt=4&startpage...>.
Mark Durham, Spam Control in 8.10, (3 pages), http://web.archive.org/web/20000618042433/sendmail.net/?feed=interview810-5.
Paul Boutin, RFC 2476: Message Submission Agent, (3 pages), http://web.archive.org/web/200010270602105/sendmail.net/?feed=rfc2476.
Paul Boutin, RFC 2554: SMTP Authentication, (4 pages), http://web.archive.org/web/20001016141928/sendmail.net/?feed=rfc2554.
Relaying Denied/Allowed (in sendmail 8.8/8.9), Last Update Feb. 11, 2000, (2 pages), http://web.archive.org/web/20000418000700/www.sendmail.org/~ca/email/relayingdenied....
Relaying Denied/Allowed (in sendmail 8.8/8.9), Last Update Feb. 11, 2000, (2 pages), http://web.archive.org/web/20000418000700/www.sendmail.org/˜ca/email/relayingdenied....
rfc2222, J. Myers, Simple Authentication and Security Layer (SASL), (16 pages), Oct. 1997, The Internet Society (1997), http://web.archive.org/web/20001027153713/www.cis.ohio-state.edu/htbin/rfc/rfc2222.ht....
rfc2554, J. Myers, SMTP Service Extension for Authentication, (11 pages), Mar. 1999, The Internet Society (1999), http://web.archive.org/web/20001018181229/www.cis.ohio-state.edu/htbin/rfc/rfc2554.ht....
Using SMTP AUTH in Sendmail 8.10, (2 pages), Mar. 27, 2000, http://web.archive.org/web/20001016174022/sendmail.net/?feed=usingsmthpauth.
USPTO Final Office Action issued in U.S. Appl. No. 09/666,140, mailed Nov. 9, 2009, 17 pages.

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090300175A1 (en) * 2008-05-29 2009-12-03 Canon Kabushiki Kaisha Information processing apparatus, control method of information processing apparatus, and storage medium of storing computer program to perform control method
US8346916B2 (en) * 2008-05-29 2013-01-01 Canon Kabushiki Kaisha Information processing apparatus, control method of information processing apparatus, and storage medium of storing computer program to perform control method
US20100131659A1 (en) * 2008-11-25 2010-05-27 Raghav Somanahalli Narayana Systems and Methods For Load Balancing Real Time Streaming
US8135850B2 (en) * 2008-11-25 2012-03-13 Citrix Systems, Inc. Systems and methods for load balancing real time streaming
US8271666B2 (en) 2008-11-25 2012-09-18 Citrix Systems, Inc. Systems and methods for load balancing real time streaming
US20100281539A1 (en) * 2009-04-29 2010-11-04 Juniper Networks, Inc. Detecting malicious network software agents
US8914878B2 (en) 2009-04-29 2014-12-16 Juniper Networks, Inc. Detecting malicious network software agents
US9344445B2 (en) 2009-04-29 2016-05-17 Juniper Networks, Inc. Detecting malicious network software agents
US20110055921A1 (en) * 2009-09-03 2011-03-03 Juniper Networks, Inc. Protecting against distributed network flood attacks
US8789173B2 (en) * 2009-09-03 2014-07-22 Juniper Networks, Inc. Protecting against distributed network flood attacks

Also Published As

Publication number Publication date
US7711790B1 (en) 2010-05-04
US20120131671A1 (en) 2012-05-24
US20100217863A1 (en) 2010-08-26
US9288218B2 (en) 2016-03-15
US8108531B2 (en) 2012-01-31
US20100235506A1 (en) 2010-09-16
US8850046B2 (en) 2014-09-30

Similar Documents

Publication Publication Date Title
US7743144B1 (en) Securing an access provider
US8800001B2 (en) Network authentication method, method for client to request authentication, client, and device
US8645537B2 (en) Deep packet scan hacker identification
US7301899B2 (en) Prevention of bandwidth congestion in a denial of service or other internet-based attack
US7536552B2 (en) Upper-level protocol authentication
US6772334B1 (en) System and method for preventing a spoofed denial of service attack in a networked computing environment
US8370937B2 (en) Handling of DDoS attacks from NAT or proxy devices
US7234161B1 (en) Method and apparatus for deflecting flooding attacks
EP1433076B1 (en) Protecting against distributed denial of service attacks
US6779033B1 (en) System and method for transacting a validated application session in a networked computing environment
US20100095351A1 (en) Method, device for identifying service flows and method, system for protecting against deny of service attack
US20120227088A1 (en) Method for authenticating communication traffic, communication system and protective apparatus
US20030226032A1 (en) Secret hashing for TCP SYN/FIN correspondence
US8880891B2 (en) Method, system and apparatus for establishing communication
JP2004507978A (en) System and method for countering denial of service attacks on network nodes
US10536468B2 (en) System and method for voice security in a telecommunications network
KR101263381B1 (en) Method and apparatus for defending against denial of service attack in tcp/ip networks
US7860977B2 (en) Data communication system and method
Smith et al. Comparison of operating system implementations of SYN flood defenses (cookies)
Kavisankar et al. T-RAP:(TCP reply acknowledgement packet) a resilient filtering model for DDoS attack with spoofed IP address
CN117792793A (en) Method and device for establishing tunnel
JP2003244246A (en) Transmission origin false attack limiting service system and router device

Legal Events

Date Code Title Description
AS Assignment

Owner name: FOUNDRY NETWORKS, INC.,CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ROLON, TERRY;REEL/FRAME:015150/0088

Effective date: 20040220

Owner name: FOUNDRY NETWORKS, INC.,CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:JALAN, RAJKUMAR;REEL/FRAME:015150/0092

Effective date: 20040302

AS Assignment

Owner name: BANK OF AMERICA, N.A. AS ADMINISTRATIVE AGENT,CALI

Free format text: SECURITY AGREEMENT;ASSIGNORS:BROCADE COMMUNICATIONS SYSTEMS, INC.;FOUNDRY NETWORKS, INC.;INRANGE TECHNOLOGIES CORPORATION;AND OTHERS;REEL/FRAME:022012/0204

Effective date: 20081218

Owner name: BANK OF AMERICA, N.A. AS ADMINISTRATIVE AGENT, CAL

Free format text: SECURITY AGREEMENT;ASSIGNORS:BROCADE COMMUNICATIONS SYSTEMS, INC.;FOUNDRY NETWORKS, INC.;INRANGE TECHNOLOGIES CORPORATION;AND OTHERS;REEL/FRAME:022012/0204

Effective date: 20081218

AS Assignment

Owner name: BANK OF AMERICAN, N.A. AS COLLATERAL AGENT,TEXAS

Free format text: SECURITY AGREEMENT;ASSIGNORS:AOL INC.;AOL ADVERTISING INC.;BEBO, INC.;AND OTHERS;REEL/FRAME:023649/0061

Effective date: 20091209

Owner name: BANK OF AMERICAN, N.A. AS COLLATERAL AGENT, TEXAS

Free format text: SECURITY AGREEMENT;ASSIGNORS:AOL INC.;AOL ADVERTISING INC.;BEBO, INC.;AND OTHERS;REEL/FRAME:023649/0061

Effective date: 20091209

AS Assignment

Owner name: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATE

Free format text: SECURITY AGREEMENT;ASSIGNORS:BROCADE COMMUNICATIONS SYSTEMS, INC.;FOUNDRY NETWORKS, LLC;INRANGE TECHNOLOGIES CORPORATION;AND OTHERS;REEL/FRAME:023814/0587

Effective date: 20100120

STCF Information on status: patent grant

Free format text: PATENTED CASE

AS Assignment

Owner name: FOUNDRY NETWORKS, LLC, CALIFORNIA

Free format text: CHANGE OF NAME;ASSIGNOR:FOUNDRY NETWORKS, INC.;REEL/FRAME:024733/0739

Effective date: 20090511

AS Assignment

Owner name: TACODA LLC, NEW YORK

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:BANK OF AMERICA, N A;REEL/FRAME:025323/0416

Effective date: 20100930

Owner name: AOL INC, VIRGINIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:BANK OF AMERICA, N A;REEL/FRAME:025323/0416

Effective date: 20100930

Owner name: NETSCAPE COMMUNICATIONS CORPORATION, VIRGINIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:BANK OF AMERICA, N A;REEL/FRAME:025323/0416

Effective date: 20100930

Owner name: LIGHTNINGCAST LLC, NEW YORK

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:BANK OF AMERICA, N A;REEL/FRAME:025323/0416

Effective date: 20100930

Owner name: MAPQUEST, INC, COLORADO

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:BANK OF AMERICA, N A;REEL/FRAME:025323/0416

Effective date: 20100930

Owner name: AOL ADVERTISING INC, NEW YORK

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:BANK OF AMERICA, N A;REEL/FRAME:025323/0416

Effective date: 20100930

Owner name: YEDDA, INC, VIRGINIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:BANK OF AMERICA, N A;REEL/FRAME:025323/0416

Effective date: 20100930

Owner name: QUIGO TECHNOLOGIES LLC, NEW YORK

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:BANK OF AMERICA, N A;REEL/FRAME:025323/0416

Effective date: 20100930

Owner name: TRUVEO, INC, CALIFORNIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:BANK OF AMERICA, N A;REEL/FRAME:025323/0416

Effective date: 20100930

Owner name: SPHERE SOURCE, INC, VIRGINIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:BANK OF AMERICA, N A;REEL/FRAME:025323/0416

Effective date: 20100930

Owner name: GOING INC, MASSACHUSETTS

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:BANK OF AMERICA, N A;REEL/FRAME:025323/0416

Effective date: 20100930

FPAY Fee payment

Year of fee payment: 4

AS Assignment

Owner name: FOUNDRY NETWORKS, LLC, CALIFORNIA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:034792/0540

Effective date: 20140114

Owner name: BROCADE COMMUNICATIONS SYSTEMS, INC., CALIFORNIA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:034792/0540

Effective date: 20140114

Owner name: INRANGE TECHNOLOGIES CORPORATION, CALIFORNIA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:034792/0540

Effective date: 20140114

AS Assignment

Owner name: BROCADE COMMUNICATIONS SYSTEMS, INC., CALIFORNIA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT;REEL/FRAME:034804/0793

Effective date: 20150114

Owner name: FOUNDRY NETWORKS, LLC, CALIFORNIA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT;REEL/FRAME:034804/0793

Effective date: 20150114

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552)

Year of fee payment: 8

AS Assignment

Owner name: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED, SINGAPORE

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:BROCADE COMMUNICATIONS SYSTEMS LLC;REEL/FRAME:047270/0247

Effective date: 20180905

Owner name: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITE

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:BROCADE COMMUNICATIONS SYSTEMS LLC;REEL/FRAME:047270/0247

Effective date: 20180905

FEPP Fee payment procedure

Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

LAPS Lapse for failure to pay maintenance fees

Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Lapsed due to failure to pay maintenance fee

Effective date: 20220622