US20070081488A1 - Collaboratively locating disconnected clients and rogue access points in a wireless network - Google Patents
Collaboratively locating disconnected clients and rogue access points in a wireless network Download PDFInfo
- Publication number
- US20070081488A1 US20070081488A1 US11/637,292 US63729206A US2007081488A1 US 20070081488 A1 US20070081488 A1 US 20070081488A1 US 63729206 A US63729206 A US 63729206A US 2007081488 A1 US2007081488 A1 US 2007081488A1
- Authority
- US
- United States
- Prior art keywords
- information
- access point
- rogue
- clients
- disconnected
- 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.)
- Abandoned
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/12—Detection or prevention of fraud
- H04W12/121—Wireless intrusion detection systems [WIDS]; Wireless intrusion prevention systems [WIPS]
- H04W12/122—Counter-measures against attacks; Protection against rogue devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/12—Detection or prevention of fraud
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W24/00—Supervisory, monitoring or testing arrangements
- H04W24/08—Testing, supervising or monitoring using real traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W80/00—Wireless network protocols or protocol adaptations to wireless operation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W64/00—Locating users or terminals or network equipment for network management purposes, e.g. mobility management
Definitions
- Fault diagnostics in IEEE 802.11 infrastructure networks has not garnered attention from the research community relative to other higher profile areas of research in wireless networking.
- Several companies attempt to offer diagnostic tools, but these products lack a number of desirable features. For example, they do not do a comprehensive job of gathering and analyzing the data to establish the possible causes of a problem.
- most products typically only gather data from the APs and neglect the client-side view of the network.
- Some products that monitor the network from the client's perspective require hardware sensors, which can be expensive to deploy and maintain.
- current solutions do not typically provide any support for disconnected clients, even though these are the ones that need the most help.
- a computer-readable medium including computer-executable instructions for determining the location of a disconnected wireless computing device, the wireless computing device being disconnected from an infrastructure network, the computer-executable instructions executing on one or more connected wireless computing devices in the vicinity of the disconnected device, and performing the steps of receiving one or more beacon signals from the disconnected device, recording signal strength information about the disconnected device according to the beacon signals, informing a diagnostic server that the disconnected device is not connected to the infrastructure network, and transmitting the signal strength information to the diagnostic server for estimating the location of the disconnected device, wherein the beacon signals are sent by the disconnected device in response to a determination that the device is not connected to the infrastructure network.
- a computer-readable medium including computer-executable instructions for determining the location of a disconnected wireless computing device, the wireless computing device being disconnected from an infrastructure network and in the vicinity of one or more wireless devices being connected to the infrastructure network, the computer-executable instructions executing on a server, and performing the steps of receiving signal strength information about the disconnected device from the one or more connected devices, computing estimates of the locations of the one or more connected devices; and approximating the location of the disconnected device using the computed estimates and the received signal strength information.
- a method for identifying a rogue wireless access point in an infrastructure network comprising the steps of receiving information about a suspicious access point, the information collected by one or more nearby wireless computing devices or access points, comparing the information with an access point database, and identifying the suspicious access point as rogue if the information is inconsistent with the access point database.
- FIG. 1 is a simplified schematic illustrating an exemplary architecture of a computing, as used in accordance with an embodiment of the invention
- FIG. 2 is a diagram illustrating an exemplary wireless network for locating disconnected clients and rogue access points, in accordance with an embodiment of the invention
- FIG. 4 is a flow diagram illustrating a method for collaboratively obtaining information on access points in a wireless network, in accordance with an embodiment of the invention
- FIG. 5 is a flow diagram illustrating a method for determining if an access point is rogue, in accordance with an embodiment of the invention.
- Connectivity problems End-users complain about inconsistent or a lack of network connectivity in certain areas of a building. Such “dead spots” or “RF holes” can occur due to a weak RF signal, lack of a signal, changing environmental conditions, or obstructions. Locating an RF hole automatically is critical for wireless administrators; they can then resolve the problem by either relocating APs or increasing the density of APs in the problem area or by adjusting the power settings on nearby APs for better coverage.
- Performance problems This category includes all the situations where a client observes degraded performance, e.g., low throughput or high latency. There could be a number of reasons why the performance problem exists, e.g., traffic slow-down due to congestion, RF interference due to a microwave oven or cordless phone, multi-path interference, large co-channel interference due to poor network planning, or due to a poorly configured client/AP. Performance problems can also occur as a result of problems in the non-wireless part of the network, e.g., due to a slow server or proxy. It is therefore useful for the diagnostic tool to be able to determine whether the problem is in the wireless network or elsewhere. Furthermore, identifying the cause in the wireless part is important for allowing network administrators to better provision the system and improve the experience for end-users.
- Rogue AP Problem a nightmare scenario for IT managers occurs when employees unknowingly compromise the security of the network by connecting an unauthorized AP to an Ethernet tap of the corporate network.
- the problem is commonly referred to as the “Rogue AP Problem”.
- Rogue APs are one of the most common and serious breaches of wireless network security. Due to the presence of such APs, external users are allowed access to resources on the corporate network; these users can leak information or cause other damage. Furthermore, Rogue APs can cause interference with other access points in the vicinity. Detecting Rogue APs in a large network via a manual process is expensive and time consuming; thus, it is important to detect such APs proactively.
- Authentication problems According to the IT support group's logs, a number of complaints are related to users' inability to authenticate themselves to the network. In wireless networks secured by technologies such as IEEE 802.1x, authentication failures are typically due to missing or expired certificates. Thus, detecting such authentication problems and helping clients to bootstrap with valid certificates is important.
- the present invention will be more completely understood through the following detailed description, which should be read in conjunction with the attached drawings. In this description, like numbers refer to similar elements within various embodiments of the present invention. Aspects of the invention are illustrated as being implemented in a suitable computing environment. Although not required, the invention will be described in the general context of computer-executable instructions, such as procedures, being executed by a personal computer.
- procedures include program modules, routines, functions, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types.
- procedures include program modules, routines, functions, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types.
- the invention may be practiced with other computer system configurations, including hand-held devices, multi-processor systems, microprocessor based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, and the like.
- the invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network.
- program modules may be located in both local and remote memory storage devices.
- the term computer system may be used to refer to a system of computers such as may be found in a distributed computing environment.
- FIG. 1 illustrates an example of a suitable computing system environment 100 on which aspects of the invention may be implemented.
- the computing system environment 100 is only one example of a suitable computing environment and is not intended to suggest any limitation as to the scope of use or functionality of the invention. Neither should the computing environment 100 be interpreted as having any dependency or requirement relating to any one or combination of components illustrated in the exemplary operating environment 100 .
- one embodiment of the invention does include each component illustrated in the exemplary operating environment 100
- another more typical embodiment of the invention excludes non-essential components, for example, input/output devices other than those required for network communications.
- an exemplary system for implementing the invention includes a general purpose computing device in the form of a computer 110 .
- Components of the computer 110 may include, but are not limited to, a processing unit 120 , a system memory 130 , and a system bus 121 that couples various system components including the system memory to the processing unit 120 .
- the system bus 121 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures.
- such architectures include Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA) bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnect (PCI) bus also known as Mezzanine bus.
- ISA Industry Standard Architecture
- MCA Micro Channel Architecture
- EISA Enhanced ISA
- VESA Video Electronics Standards Association
- PCI Peripheral Component Interconnect
- the computer 110 typically includes a variety of computer readable media.
- Computer readable media can be any available media that can be accessed by the computer 110 and includes both volatile and nonvolatile media, and removable and non-removable media.
- Computer readable media may comprise computer storage media and communication media.
- Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data.
- Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by the computer 110 .
- Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media.
- modulated data signal means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal.
- communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of the any of the above should also be included within the scope of computer readable media.
- removable/non-removable, volatile/nonvolatile computer storage media that can be used in the exemplary operating environment include, but are not limited to, magnetic tape cassettes, flash memory cards, digital versatile disks, digital video tape, solid state RAM, solid state ROM, and the like.
- the hard disk drive 141 is typically connected to the system bus 121 through a non-removable memory interface such as interface 140
- magnetic disk drive 151 and optical disk drive 155 are typically connected to the system bus 121 by a removable memory interface, such as interface 150 .
- hard disk drive 141 is illustrated as storing operating system 144 , application programs 145 , other program modules 146 and program data 147 . Note that these components can either be the same as or different from operating system 134 , application programs 135 , other program modules 136 , and program data 137 . Operating system 144 , application programs 145 , other program modules 146 , and program data 147 are given different numbers hereto illustrate that, at a minimum, they are different copies.
- a user may enter commands and information into the computer 110 through input devices such as a tablet, or electronic digitizer, 164 , a microphone 163 , a keyboard 162 and pointing device 161 , commonly referred to as a mouse, trackball or touch pad.
- Other input devices may include a joystick, game pad, satellite dish, scanner, or the like.
- a monitor 191 or other type of display device is also connected to the system bus 121 via an interface, such as a video interface 190 .
- the monitor 191 may also be integrated with a touch-screen panel or the like. Note that the monitor and/or touch screen panel can be physically coupled to a housing in which the computing device 110 is incorporated, such as in a tablet-type personal computer. In addition, computers such as the computing device 110 may also include other peripheral output devices such as speakers 197 and printer 196 , which may be connected through an output peripheral interface 194 or the like.
- the computer 110 may operate in a networked environment using logical connections to one or more remote computers, such as a remote computer 180 .
- the remote computer 180 may be a personal computer, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to the computer 110 , although only a memory storage device 181 has been illustrated in FIG. 1 .
- the logical connections depicted in FIG. 1 include a local area network (LAN) 171 and a wide area network (WAN) 173 , but may also include other networks.
- LAN local area network
- WAN wide area network
- Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets and the Internet.
- the computer 110 When used in a LAN networking environment, the computer 110 is connected to the LAN 171 through a network interface or adapter 170 .
- the computer 110 When used in a WAN networking environment, the computer 110 typically includes a modem 172 or other means for establishing communications over the WAN 173 , such as the Internet.
- the modem 172 which may be internal or external, may be connected to the system bus 121 via the user input interface 160 or other appropriate mechanism.
- program modules depicted relative to the computer 110 may be stored in the remote memory storage device.
- FIG. 1 illustrates remote application programs 185 as residing on memory device 181 . It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the computers may be used.
- the computer 110 preferably contains a wireless networking interface or wireless card, operating according to an IEEE 802.11 protocol.
- a system consists of several components, as illustrated in FIG. 2 .
- a Diagnostic Client (DC) 202 is software that runs on a wireless client machine 204 .
- a Diagnostic AP (DAP) 206 runs on an Access Point 208 .
- a Diagnostic Server (DS) 210 runs on a backend server 212 of the organization.
- the Diagnostic Client module 202 monitors the RF environment and the traffic flow from neighboring clients 214 and APs 216 .
- the DC 202 uses the collected data to perform local fault diagnosis.
- a summary of this data is transmitted to the DAPs 206 or DSs 210 at preferably regular intervals.
- the DC 202 is programmed to accept commands from the DAP 206 or the DS 210 to perform on-demand data gathering, e.g., switching to promiscuous mode and analyzing a nearby client's performance problems.
- the DC 202 logs data to a local database/file. This data can be analyzed by the DAP 206 or DS 210 at some future time when network connectivity is resumed.
- the Diagnostic AP 206 accepts diagnostic messages from DCs 202 , merges them along with its own measurements and sends a summary report to the DS 210 . Some embodiments of the invention do not include the Diagnostic AP 206 .
- the DAP 206 offloads work from the DS 210 .
- Some embodiments of the invention include a mixture of legacy APs 220 and DAPs 206 : if an AP is a legacy AP 220 , its monitoring functions are performed by the DCs 202 and its summarizing functions and checks are performed at the DS 210 .
- the Diagnostic Server 210 accepts data from DCs 202 and DAPs 206 and performs the appropriate analysis to detect and diagnose different faults.
- the DS 210 also has access to a database 221 that stores each AP's 208 location. Network administrators can deploy multiple DSs 210 in the system to balance the load, for example, by hashing each AP's MAC address to a particular DS 210 .
- the Diagnostic Server 210 interacts with other network servers, such as a RADIUS 230 and Kerberos 232 servers, to get client authorization and user information.
- the exemplary system described with reference to FIG. 2 supports both reactive and proactive monitoring.
- DCs and DAPs monitor the system continuously: if an anomaly is detected by a DC, DAP, or DS, an alarm is raised for a network administrator to investigate.
- the reactive monitoring mode is used when a support personnel wants to diagnose a user complaint. The personnel can issue a directive to a particular DC from one of the DSes to collect and analyze the data for diagnosing the problem.
- the exemplary system imposes negligible overheads with respect to power management. Both the proactive and reactive techniques described later consume very little bandwidth, CPU, or disk resources; as a result, they have negligible impact on battery consumption.
- the exemplary system architecture shown in FIG. 2 supports several functions in embodiments of the invention by using the DCs, DAPs and DSes. Some of the supported functions include: locating disconnected clients; helping disconnected clients; isolating performance problems; and detecting rogue access points.
- the DAP 206 is a software modification on AP 208 , allowing for better scalability and for analyzing an AP's performance. Since no hardware modifications are necessary, the bar for deploying this embodiment is lower.
- the client machines 204 and access points 208 preferably have the ability to control beacons and probes. Additionally, client machines 204 preferably have the capability of starting an infrastructure network (i.e., becoming an AP) or an ad hoc network (i.e., computer-to-computer) on their own; this ability is supported by many wireless cards currently available in the marketplace. Some embodiments of the invention make use the presence of nearby clients or access points. By taking advantage of nearby clients and access points instrumented with software “sensors”, deployment costs are potentially lowered.
- the backend server 212 preferably uses a database to maintain the location of all the access points in the network. Such location databases are preferably maintained by network administrators.
- the exemplary system illustrated in FIG. 2 can scale with the number of clients and APs in the system.
- the system contains two shared resources: DSs and DAPs.
- additional DSs are preferably added as the system load increases.
- some embodiments allow each individual DS to offload work by sharing the diagnosis burden with the DCs and the DAPs; the DS is used only when the DCs and DAPs are unable to diagnose the problem and the analysis requires a global perspective and additional data (e.g., signal strength information obtained from multiple DAPs may be needed for locating a disconnected client).
- some embodiments of the invention use an optimization technique, whereby an AP does not perform active scanning if any client is associated with it; the associated clients perform these operations as needed. The AP continues to perform passive monitoring activities that have a negligible effect on its performance. If there is no client associated, the AP is idle and it can perform these monitoring operations. This approach ensures that most of the physical area around the AP is monitored without hurting the AP's performance.
- the interactions between the DC, DAP, and DS are secured using EAP-TLS certificates issued over IEEE 802.1x.
- An authorized certification authority (CA) issues certificates to DCs, DAPs and DSs; these certificates are used to ensure that all communication between these entities is mutually authenticated.
- CA authorized certification authority
- One embodiment includes known techniques for detecting malicious behavior by legitimate users.
- a disconnected client determines that it is in an RF hole if it does not hear beacons from any AP (as opposed to being disconnected due to some other reason such as authentication failures).
- a technique called Double Indirection for Approximating Location or DIAL described with reference to FIG. 3 .
- a client 302 When a client 302 discovers that it is disconnected at step 304 , it becomes an AP or starts an ad hoc network and starts beaconing at step 306 . To determine the approximate location of this client, nearby connected clients 308 hear the client's 302 beacons at step 310 and record the signal strength (RSSI) of these packets at step 312 . At step 314 , they inform the DS 316 that client 302 is disconnected and send the collected RSSI data. The DS 316 then, at step 318 , executes the first step of DIAL to determine the location of the connected clients: this can be done using any known location-determination technique in the literature, such as those described by P. Bahl and V. N.
- the DS 316 uses the locations of the connected clients as “anchor points” and the disconnected client's RSSI data to estimate its approximate location.
- This step is preferably performed using any scheme that uses RSSI values from multiple clients for determining a machine's location, such as those described in the references above or by any other known method. Since locating the connected clients results in some error, consequently locating disconnected clients with these anchor points can further increase the error. However, it has been empirically shown that this error is approximately 10 to 12 meters which is acceptable for estimating the location of disconnected clients.
- Rogue APs are unauthorized APs that have been connected to an Ethernet tap in an enterprise or university network; such APs can result in security holes, and unwanted RF and network load. Rogue APs are considered a major security issue for enterprise wireless LANs.
- clients and (if possible) APs to monitor the environment around them, embodiments of the invention detect rogue APs.
- the approach is to make clients and DAPs collect information about nearby access points and send it to the DS.
- the DS receives information about an AP X, it checks an AP location database and ensures that X is a registered AP in the expected location and channel.
- the approach detects rogue APs using off-the-shelf IEEE 802.11-compliant hardware. This suffices to function as a low-cost mechanism that addresses the common case Rogue AP problem being faced in current deployments: for many networks administrators, the main goal is to detect APs inadvertently installed by employees for experimentation or convenience. Other embodiments may implement detection of non-compliant Rogue access points and clients as well. If two companies have neighboring wireless networks, the other companies' access points are preferably detected as Rogue APs. If this classification is unacceptable, the network administrators of the respective companies can share their AP location databases.
- Each DC 402 monitors the packets in its vicinity (in a nonpromiscuous mode), and for each AP 404 that it detects, it sends a 4-tuple ⁇ MAC address, SSID, channel, RSSI> to the DS 406 .
- the 4-tuple uniquely identifies an AP in a particular location and channel.
- a DC 402 determines the MAC addresses of all APs 404 around it.
- the DC 402 can obtain the MAC address of an AP 404 by switching to promiscuous mode and observing data packets (it can use the FromDS and ToDS bits in the packet to determine which address belongs to the AP).
- the same effect is preferably achieved using the following approach: since IEEE 802.11 requires all APs to broadcast beacons at regular intervals at step 408 , the DC 402 listens for the beacons at step 410 and obtains the MAC addresses from the APs' 404 beacons from all the APs that it can hear at step 412 . It has been shown that a DC 402 not only hears beacons on its channel but it may also hear beacons from overlapping channels as well; this property increases the likelihood of a Rogue AP being detected.
- embodiments use the Active Scanning mechanism of the IEEE 802.11 protocol: when a client 402 (for example, a diagnostic client running on a wireless computer or on an access point) wants to find out what APs 404 are nearby, the client 402 goes to each of the 11 channels (in 802.11b), and sends Probe Requests at step 414 . The client 402 waits for Probe Responses to be sent from all APs at step 416 that hear those Probe Requests; from these responses, the DC obtains the APs' 404 MAC addresses at step 418 .
- a client 402 for example, a diagnostic client running on a wireless computer or on an access point
- the client 402 goes to each of the 11 channels (in 802.11b), and sends Probe Requests at step 414 .
- the client 402 waits for Probe Responses to be sent from all APs at step 416 that hear those Probe Requests; from these responses, the DC obtains the APs' 404 MAC addresses at step 418 .
- a Busy AP Optimization is preferably used so that active scans in an AP's vicinity are performed by an AP only when it has no client associated with it.
- Active Scanning is preferably performed on demand, for example, at the request of a network administrator as communicated through diagnostic clients and diagnostic access points. Alternatively, Active Scanning is performed regularly on a periodic basis or according to a policy set by a network administrator.
- the client 402 Once the client 402 has collected AP information, it sends the 4-tuples to the DS 406 at step 420 . The DS 406 then determines whether the AP is a rogue AP at step 422 , described in more detail below.
- the DS when the DS receives information for an AP from various clients at step 502 , it uses DIAL to estimate the AP's approximate location based on these clients' locations and the AP's RSSI values from them at step 504 , using methods such as those described above with reference to FIG. 3 .
- the DS classifies an AP as rogue if a 4-tuple does not correspond to a known legal AP in the DS's AP location database at step 506 , i.e., if the MAC address is not present in the database, or if the AP is not in the expected location at step 508 , or the SSID does not correspond to the expected SSID(s) in the organization at step 510 .
- an AP's SSID corresponds to an SOS SSID
- the DS skips further analysis since this AP may actually correspond to a disconnected client that is executing a connection setup phase of a Client Conduit protocol, as described in co-pending application entitled “USING A CONNECTED WIRELESS COMPUTER AS A CONDUIT FOR A DISCONNECTED WIRELESS COMPUTER” by Adya, et al., filed Jan. 31, 2005 with attorney docket 231441.
- the channel information is used in a slightly different way. As stated above, if an AP is on a certain channel, it is possible to be heard on overlapping channels.
- an AP is classified as rogue at step 512 only if it is reported on a channel that does not overlap with the one on which it is expected. If the channel on an AP is changed, the DAP preferably asks the DS to update its AP location database (recall that the communication between the DAP and the DS is authenticated; if the AP is a legacy AP, the administrator can update the AP location database when the AP's channel is changed).
- the basic architecture consists of the DC, DAP and DS daemons running on clients, access points and servers, respectively.
- the system can be implemented, for example, on the MICROSOFT WINDOWS operating system with standard commercial 802.11b cards.
- the daemon process accepts information from DAPs.
- the DS reads the list of legitimate APs from a file or database.
- the structure of the code on the DC or DAP preferably comprises a user-level daemon 602 and kernel level drivers 604 and 606 . These pieces are structured such that code is added to the kernel drivers 604 and 606 only if the functionality cannot be achieved in the user-level daemon 602 or if the performance penalty is too high.
- the miniport driver 604 communicates directly with the hardware and provides basic functionalities such as sending/receiving packets, setting channels, etc. It exposes sufficient interfaces such that functions like association, authentication, etc. can be handled in the IM driver 606 .
- the IM driver 606 supports a number of interfaces (exposed via ioctls) for querying various parameters such as the current channel, transmission level, power management mode, SSID, etc. In addition to allowing the parameters to be set, it allows the user-level code to request for active scans, associate with a particular SSID, capture packets, etc. In general, it provides a significant amount of flexibility and control to the user-level code.
- Embodiments of the invention allow filters to be set such that only certain packets or packet headers are captured, e.g., filters based on specific MAC addresses, packet types, packet subtypes (such as management and beacon packets), etc.
- Embodiments of the invention obtain the RSSI value of every received packet and maintain a table called the NeighborInfo table that keeps track of the RSSI value from each neighbor (indexed on the MAC address). An exponentially weighted average is maintained with the new value given some weighting factor of, for example, 0.25.
- the RSSI information is preferably used for estimating the location of disconnected clients and APs using DIAL.
- embodiments keep track of the channels on which packets were heard from a particular MAC address, SSID information (from beacons), and whether the device is an AP or a station. This information is preferably sent to the DAP/DS for Rogue AP detection.
- Kernel event support for protocol efficiency An event is preferably added that is shared between the kernel and user-level code. The kernel triggers this event when an “interesting” event occurs; this allows some of the protocols to be interrupt-driven rather being polling based.
- ioctls are preferably added to get and clear the information discussed above.
- the diagnostics daemon 602 runs on a device and gathers information and implements various mechanisms discussed above, e.g., collect MAC addresses of APs for Rogue AP detection, etc. If the device is an AP, it communicates diagnostic information with the DS and the DCs; if the device is just a DC, it communicates with its associated AP to convey the diagnostic information.
- the Diagnostic daemon on the DC obtains the current NeighborInfo table from the kernel 608 at a periodic interval, for example every 30 seconds. If any new node has been discovered or if the existing data has changed significantly (e.g., RSSI value of a client has changed by more than a factor of 2), it is sent to the DAP.
- the DAP also preferably maintains a similar table indexed on MAC addresses. However, it only sends information about disconnected clients and APs to the DS; otherwise, the DS would end up getting updates for every client in the system, making it less scalable.
- the DAP sends new or changed information about APs to the DS periodically (e.g., 30 seconds). Furthermore, if the DAP has any pending information about a disconnected client D, it informs the DS immediately so that the disconnected can be serviced in a timely fashion. All messages from the DC to the DAP and from DAP to the DS are preferably sent as XML messages.
- the DC sends information about other connected clients, APs, and disconnected clients. For each such class of entities, it sends the MAC address of a machine along with RSSI, SSID, and a channel bitmap which indicates the channels on which the particular device was overheard.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
Methods are described for using collaboration of neighboring wireless devices to enable location of disconnected wireless devices and rogue wireless access points. A central server computes the locations of the neighboring clients and uses those locations to estimate the location of a disconnected client. These techniques may take advantage of the beaconing and probing mechanisms of IEEE 802.11 to ensure that connected clients do not pay unnecessary overheads for detecting disconnected clients. Methods are also described for detecting and locating rogue devices by collaboratively collecting information from neighboring devices and comparing the information to a database.
Description
- The present application claims the benefit of Adya et al., U.S. Provisional Patent Application No. 60/613,055 entitled, “SYSTEM AND METHOD FOR DIAGNOSING FAULTS IN WIRELESS NETWORKS”, filed on Sep. 24, 2004, which is hereby incorporated by reference in its entirety. The present application is related to co-pending applications with attorney reference numbers 231441 and 231443 entitled “USING A CONNECTED WIRELESS COMPUTER AS A CONDUIT FOR A DISCONNECTED WIRELESS COMPUTER” and “DETECTING AND DIAGNOSING PERFORMANCE PROBLEMS IN A WIRELESS NETWORK THROUGH NEIGHBOR COLLABORATION”, both filed on Jan. 31, 2005, and both hereby incorporated by reference in their entirety.
- This invention relates generally to network operations, and more particularly, to locating disconnected or unauthorized devices in wireless networks.
- The convenience of wireless networking has led to a wide-scale adoption of wireless networks (e.g., IEEE 802.11 networks). Corporations, universities, homes, and public places are deploying these networks at a remarkable rate. However, a significant number of “pain points” remain for end-users and network administrators. Users experience a number of problems such as intermittent connectivity, poor performance, lack of coverage, and authentication failures. These problems occur due to a variety of reasons such as poor access point layout, device misconfiguration, hardware and software errors, the nature of the wireless medium (e.g., interference, propagation), and traffic congestion. Users frequently complain about connectivity and performance problems, and network administrators are expected to diagnose these problems while managing corporate security and coverage. Their task is particularly difficult due to the unreliable nature of the wireless medium and a lack of intelligent diagnostic tools for determining the cause of these problems.
- For companies with a large deployment of IEEE 802.11 networks, there may be several thousand Access Points (APs) spread over many buildings. Problems with the networks result in end-user frustration and loss of productivity for the corporation. Furthermore, resolution of each end-user complaint results in additional support personnel costs to a company's IT department; this cost can be several tens of dollars and this does not include the cost due to the loss of end-user productivity.
- Fault diagnostics in IEEE 802.11 infrastructure networks has not garnered attention from the research community relative to other higher profile areas of research in wireless networking. Several companies attempt to offer diagnostic tools, but these products lack a number of desirable features. For example, they do not do a comprehensive job of gathering and analyzing the data to establish the possible causes of a problem. Furthermore, most products typically only gather data from the APs and neglect the client-side view of the network. Some products that monitor the network from the client's perspective require hardware sensors, which can be expensive to deploy and maintain. Also, current solutions do not typically provide any support for disconnected clients, even though these are the ones that need the most help.
- The problems outlined above may at least in part be addressed by a system and method for detecting and diagnosing faults in wireless networks as described herein.
- The following presents a simplified summary of the disclosure in order to provide a basic understanding to the reader. This summary is not an exhaustive or limiting overview of the disclosure. The summary is not provided to identify key and, or critical elements of the invention, delineate the scope of the invention, or limit the scope of the invention in any way. Its sole purpose is to present some of the concepts disclosed in a simplified form, as an introduction to the more detailed description that is presented later.
- In one embodiment, the monitoring architecture described herein is used for locating client machines that have become disconnected from a wireless network. In another embodiment, the architecture is used for detecting rogue or unauthorized access points in enterprise wireless networks.
- In one embodiment, a computer-readable medium including computer-executable instructions is provided for determining the location of a disconnected wireless computing device, the wireless computing device being disconnected from an infrastructure network, the computer-executable instructions executing on one or more connected wireless computing devices in the vicinity of the disconnected device, and performing the steps of receiving one or more beacon signals from the disconnected device, recording signal strength information about the disconnected device according to the beacon signals, informing a diagnostic server that the disconnected device is not connected to the infrastructure network, and transmitting the signal strength information to the diagnostic server for estimating the location of the disconnected device, wherein the beacon signals are sent by the disconnected device in response to a determination that the device is not connected to the infrastructure network.
- In another embodiment, a computer-readable medium including computer-executable instructions is provided for determining the location of a disconnected wireless computing device, the wireless computing device being disconnected from an infrastructure network and in the vicinity of one or more wireless devices being connected to the infrastructure network, the computer-executable instructions executing on a server, and performing the steps of receiving signal strength information about the disconnected device from the one or more connected devices, computing estimates of the locations of the one or more connected devices; and approximating the location of the disconnected device using the computed estimates and the received signal strength information.
- In still another embodiment, a method is provided for identifying a rogue wireless access point in an infrastructure network, method comprising the steps of receiving information about a suspicious access point, the information collected by one or more nearby wireless computing devices or access points, comparing the information with an access point database, and identifying the suspicious access point as rogue if the information is inconsistent with the access point database.
- While the appended claims set forth the features of the present invention with particularity, the invention and its advantages are best understood from the following detailed description taken in conjunction with the accompanying drawings, of which:
-
FIG. 1 is a simplified schematic illustrating an exemplary architecture of a computing, as used in accordance with an embodiment of the invention; -
FIG. 2 is a diagram illustrating an exemplary wireless network for locating disconnected clients and rogue access points, in accordance with an embodiment of the invention; -
FIG. 3 is a flow diagram illustrating a method for locating disconnected clients, in accordance with an embodiment of the invention; -
FIG. 4 is a flow diagram illustrating a method for collaboratively obtaining information on access points in a wireless network, in accordance with an embodiment of the invention; -
FIG. 5 is a flow diagram illustrating a method for determining if an access point is rogue, in accordance with an embodiment of the invention; and -
FIG. 6 is a schematic diagram of software components used for locating disconnected clients and rogue access points, in accordance with an embodiment of the invention. - The methods and systems to locate disconnected clients and detect rogue access points will now be described with respect to preferred embodiments; however, the methods and systems of the present invention are not so limited. Moreover, the skilled artisan will readily appreciate that the methods and systems described herein are merely exemplary and that variations can be made without departing from the spirit and scope of the invention. After reviewing this description, it should be apparent to those skilled in the art that the foregoing is merely illustrative and not limiting, having been presented by way of example only. Numerous modifications and other illustrative embodiments are within the scope of one of ordinary skill in the art and are contemplated as falling within the scope of the invention. In particular, although many of the examples presented herein involve specific combinations of method operations or system elements, it should be understood that those operations and those elements may be combined in other ways to accomplish the same objectives. Operations, elements, and features discussed only in connection with one embodiment are not intended to be excluded from a similar role in other embodiments. Moreover, use of ordinal terms such as “first” and “second” in the claims to modify a claim element does not by itself connote any priority, precedence, or order of one claim element over another or the temporal order in which operations of a method are performed, but are used merely as labels to distinguish one claim element having a certain name from another element having a same name (but for use of the ordinal term) to distinguish the claim elements.
- Listed below are many of the problems that users and network administrators face when using and maintaining corporate wireless networks.
- Connectivity problems: End-users complain about inconsistent or a lack of network connectivity in certain areas of a building. Such “dead spots” or “RF holes” can occur due to a weak RF signal, lack of a signal, changing environmental conditions, or obstructions. Locating an RF hole automatically is critical for wireless administrators; they can then resolve the problem by either relocating APs or increasing the density of APs in the problem area or by adjusting the power settings on nearby APs for better coverage.
- Performance problems: This category includes all the situations where a client observes degraded performance, e.g., low throughput or high latency. There could be a number of reasons why the performance problem exists, e.g., traffic slow-down due to congestion, RF interference due to a microwave oven or cordless phone, multi-path interference, large co-channel interference due to poor network planning, or due to a poorly configured client/AP. Performance problems can also occur as a result of problems in the non-wireless part of the network, e.g., due to a slow server or proxy. It is therefore useful for the diagnostic tool to be able to determine whether the problem is in the wireless network or elsewhere. Furthermore, identifying the cause in the wireless part is important for allowing network administrators to better provision the system and improve the experience for end-users.
- Network security: Large enterprises often use solutions such as IEEE 802.1x to secure their networks. However, a nightmare scenario for IT managers occurs when employees unknowingly compromise the security of the network by connecting an unauthorized AP to an Ethernet tap of the corporate network. The problem is commonly referred to as the “Rogue AP Problem”. These Rogue APs are one of the most common and serious breaches of wireless network security. Due to the presence of such APs, external users are allowed access to resources on the corporate network; these users can leak information or cause other damage. Furthermore, Rogue APs can cause interference with other access points in the vicinity. Detecting Rogue APs in a large network via a manual process is expensive and time consuming; thus, it is important to detect such APs proactively.
- Authentication problems: According to the IT support group's logs, a number of complaints are related to users' inability to authenticate themselves to the network. In wireless networks secured by technologies such as IEEE 802.1x, authentication failures are typically due to missing or expired certificates. Thus, detecting such authentication problems and helping clients to bootstrap with valid certificates is important. The present invention will be more completely understood through the following detailed description, which should be read in conjunction with the attached drawings. In this description, like numbers refer to similar elements within various embodiments of the present invention. Aspects of the invention are illustrated as being implemented in a suitable computing environment. Although not required, the invention will be described in the general context of computer-executable instructions, such as procedures, being executed by a personal computer. Generally, procedures include program modules, routines, functions, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. Moreover, those skilled in the art will appreciate that the invention may be practiced with other computer system configurations, including hand-held devices, multi-processor systems, microprocessor based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, and the like. The invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices. The term computer system may be used to refer to a system of computers such as may be found in a distributed computing environment.
-
FIG. 1 illustrates an example of a suitablecomputing system environment 100 on which aspects of the invention may be implemented. Thecomputing system environment 100 is only one example of a suitable computing environment and is not intended to suggest any limitation as to the scope of use or functionality of the invention. Neither should thecomputing environment 100 be interpreted as having any dependency or requirement relating to any one or combination of components illustrated in theexemplary operating environment 100. Although one embodiment of the invention does include each component illustrated in theexemplary operating environment 100, another more typical embodiment of the invention excludes non-essential components, for example, input/output devices other than those required for network communications. - With reference to
FIG. 1 , an exemplary system for implementing the invention includes a general purpose computing device in the form of acomputer 110. Components of thecomputer 110 may include, but are not limited to, aprocessing unit 120, asystem memory 130, and asystem bus 121 that couples various system components including the system memory to theprocessing unit 120. Thesystem bus 121 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. By way of example, and not limitation, such architectures include Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA) bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnect (PCI) bus also known as Mezzanine bus. - The
computer 110 typically includes a variety of computer readable media. Computer readable media can be any available media that can be accessed by thecomputer 110 and includes both volatile and nonvolatile media, and removable and non-removable media. By way of example, and not limitation, computer readable media may comprise computer storage media and communication media. Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by thecomputer 110. Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of the any of the above should also be included within the scope of computer readable media. - The
system memory 130 includes computer storage media in the form of volatile and/or nonvolatile memory such as read only memory (ROM) 131 and random access memory (RAM) 132. A basic input/output system 133 (BIOS), containing the basic routines that help to transfer information between elements withincomputer 110, such as during start-up, is typically stored inROM 131.RAM 132 typically contains data and/or program modules that are immediately accessible to and/or presently being operated on by processingunit 120. By way of example, and not limitation,FIG. 1 illustratesoperating system 134,application programs 135, other program modules 136 andprogram data 137. - The
computer 110 may also include other removable/non-removable, volatile/nonvolatile computer storage media. By way of example only,FIG. 1 illustrates ahard disk drive 141 that reads from or writes to non-removable, nonvolatile magnetic media, amagnetic disk drive 151 that reads from or writes to a removable, nonvolatilemagnetic disk 152, and anoptical disk drive 155 that reads from or writes to a removable, nonvolatileoptical disk 156 such as a CD ROM or other optical media. Other removable/non-removable, volatile/nonvolatile computer storage media that can be used in the exemplary operating environment include, but are not limited to, magnetic tape cassettes, flash memory cards, digital versatile disks, digital video tape, solid state RAM, solid state ROM, and the like. Thehard disk drive 141 is typically connected to thesystem bus 121 through a non-removable memory interface such asinterface 140, andmagnetic disk drive 151 andoptical disk drive 155 are typically connected to thesystem bus 121 by a removable memory interface, such asinterface 150. - The drives and their associated computer storage media, discussed above and illustrated in
FIG. 1 , provide storage of computer readable instructions, data structures, program modules and other data for thecomputer 110. InFIG. 1 , for example,hard disk drive 141 is illustrated as storingoperating system 144,application programs 145,other program modules 146 andprogram data 147. Note that these components can either be the same as or different fromoperating system 134,application programs 135, other program modules 136, andprogram data 137.Operating system 144,application programs 145,other program modules 146, andprogram data 147 are given different numbers hereto illustrate that, at a minimum, they are different copies. A user may enter commands and information into thecomputer 110 through input devices such as a tablet, or electronic digitizer, 164, a microphone 163, akeyboard 162 andpointing device 161, commonly referred to as a mouse, trackball or touch pad. Other input devices (not shown) may include a joystick, game pad, satellite dish, scanner, or the like. These and other input devices are often connected to theprocessing unit 120 through auser input interface 160 that is coupled to the system bus, but may be connected by other interface and bus structures, such as a parallel port, game port or a universal serial bus (USB). Amonitor 191 or other type of display device is also connected to thesystem bus 121 via an interface, such as avideo interface 190. Themonitor 191 may also be integrated with a touch-screen panel or the like. Note that the monitor and/or touch screen panel can be physically coupled to a housing in which thecomputing device 110 is incorporated, such as in a tablet-type personal computer. In addition, computers such as thecomputing device 110 may also include other peripheral output devices such asspeakers 197 andprinter 196, which may be connected through an output peripheral interface 194 or the like. - The
computer 110 may operate in a networked environment using logical connections to one or more remote computers, such as aremote computer 180. Theremote computer 180 may be a personal computer, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to thecomputer 110, although only amemory storage device 181 has been illustrated inFIG. 1 . The logical connections depicted inFIG. 1 include a local area network (LAN) 171 and a wide area network (WAN) 173, but may also include other networks. Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets and the Internet. - When used in a LAN networking environment, the
computer 110 is connected to theLAN 171 through a network interface oradapter 170. When used in a WAN networking environment, thecomputer 110 typically includes amodem 172 or other means for establishing communications over theWAN 173, such as the Internet. Themodem 172, which may be internal or external, may be connected to thesystem bus 121 via theuser input interface 160 or other appropriate mechanism. In a networked environment, program modules depicted relative to thecomputer 110, or portions thereof, may be stored in the remote memory storage device. By way of example, and not limitation,FIG. 1 illustratesremote application programs 185 as residing onmemory device 181. It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the computers may be used. In particular, thecomputer 110 preferably contains a wireless networking interface or wireless card, operating according to an IEEE 802.11 protocol. - In an embodiment of the invention, a system consists of several components, as illustrated in
FIG. 2 . A Diagnostic Client (DC) 202 is software that runs on awireless client machine 204. A Diagnostic AP (DAP) 206 runs on anAccess Point 208. A Diagnostic Server (DS) 210 runs on abackend server 212 of the organization. - In some embodiments of the invention, the
Diagnostic Client module 202 monitors the RF environment and the traffic flow from neighboring clients 214 and APs 216. During normal activity, the client's wireless card is not placed in promiscuous mode. TheDC 202 uses the collected data to perform local fault diagnosis. Depending on the individual fault-detection mechanism, a summary of this data is transmitted to theDAPs 206 orDSs 210 at preferably regular intervals. In addition, theDC 202 is programmed to accept commands from theDAP 206 or theDS 210 to perform on-demand data gathering, e.g., switching to promiscuous mode and analyzing a nearby client's performance problems. In case thewireless client 204 becomes disconnected, theDC 202 logs data to a local database/file. This data can be analyzed by theDAP 206 orDS 210 at some future time when network connectivity is resumed. - The
Diagnostic AP 206 accepts diagnostic messages fromDCs 202, merges them along with its own measurements and sends a summary report to theDS 210. Some embodiments of the invention do not include theDiagnostic AP 206. TheDAP 206 offloads work from theDS 210. Some embodiments of the invention include a mixture oflegacy APs 220 and DAPs 206: if an AP is alegacy AP 220, its monitoring functions are performed by theDCs 202 and its summarizing functions and checks are performed at theDS 210. - The
Diagnostic Server 210 accepts data fromDCs 202 andDAPs 206 and performs the appropriate analysis to detect and diagnose different faults. TheDS 210 also has access to adatabase 221 that stores each AP's 208 location. Network administrators can deploymultiple DSs 210 in the system to balance the load, for example, by hashing each AP's MAC address to aparticular DS 210. In some embodiments, theDiagnostic Server 210 interacts with other network servers, such as aRADIUS 230 andKerberos 232 servers, to get client authorization and user information. - The exemplary system described with reference to
FIG. 2 supports both reactive and proactive monitoring. In proactive monitoring, DCs and DAPs monitor the system continuously: if an anomaly is detected by a DC, DAP, or DS, an alarm is raised for a network administrator to investigate. The reactive monitoring mode is used when a support personnel wants to diagnose a user complaint. The personnel can issue a directive to a particular DC from one of the DSes to collect and analyze the data for diagnosing the problem. - The exemplary system imposes negligible overheads with respect to power management. Both the proactive and reactive techniques described later consume very little bandwidth, CPU, or disk resources; as a result, they have negligible impact on battery consumption. The exemplary system architecture shown in
FIG. 2 supports several functions in embodiments of the invention by using the DCs, DAPs and DSes. Some of the supported functions include: locating disconnected clients; helping disconnected clients; isolating performance problems; and detecting rogue access points. - In some embodiments of the invention, the
DAP 206 is a software modification onAP 208, allowing for better scalability and for analyzing an AP's performance. Since no hardware modifications are necessary, the bar for deploying this embodiment is lower. - The
client machines 204 andaccess points 208 preferably have the ability to control beacons and probes. Additionally,client machines 204 preferably have the capability of starting an infrastructure network (i.e., becoming an AP) or an ad hoc network (i.e., computer-to-computer) on their own; this ability is supported by many wireless cards currently available in the marketplace. Some embodiments of the invention make use the presence of nearby clients or access points. By taking advantage of nearby clients and access points instrumented with software “sensors”, deployment costs are potentially lowered. - The
backend server 212 preferably uses a database to maintain the location of all the access points in the network. Such location databases are preferably maintained by network administrators. - The exemplary system illustrated in
FIG. 2 can scale with the number of clients and APs in the system. The system contains two shared resources: DSs and DAPs. To prevent a single Diagnostic Server from becoming a potential bottleneck, additional DSs are preferably added as the system load increases. Furthermore, some embodiments allow each individual DS to offload work by sharing the diagnosis burden with the DCs and the DAPs; the DS is used only when the DCs and DAPs are unable to diagnose the problem and the analysis requires a global perspective and additional data (e.g., signal strength information obtained from multiple DAPs may be needed for locating a disconnected client). - Similarly, since the DAP is a shared resource, making it do extra work can potentially hurt the performance of all its associated clients. To reduce the load on a DAP, some embodiments of the invention use an optimization technique, whereby an AP does not perform active scanning if any client is associated with it; the associated clients perform these operations as needed. The AP continues to perform passive monitoring activities that have a negligible effect on its performance. If there is no client associated, the AP is idle and it can perform these monitoring operations. This approach ensures that most of the physical area around the AP is monitored without hurting the AP's performance.
- In one embodiment, the interactions between the DC, DAP, and DS are secured using EAP-TLS certificates issued over IEEE 802.1x. An authorized certification authority (CA) issues certificates to DCs, DAPs and DSs; these certificates are used to ensure that all communication between these entities is mutually authenticated. One embodiment includes known techniques for detecting malicious behavior by legitimate users.
- The ability to locate disconnected wireless clients automatically in a fault diagnosis system is potentially useful for proactively determining problematic regions in a deployment, e.g., poor coverage or high interference (locating RF holes) or for locating possibly faulty APs. In embodiments of the invention, a disconnected client determines that it is in an RF hole if it does not hear beacons from any AP (as opposed to being disconnected due to some other reason such as authentication failures). To approximately locate disconnected clients (and hence help in locating RF holes), embodiments use a technique called Double Indirection for Approximating Location or DIAL, described with reference to
FIG. 3 . - When a
client 302 discovers that it is disconnected atstep 304, it becomes an AP or starts an ad hoc network and starts beaconing atstep 306. To determine the approximate location of this client, nearby connectedclients 308 hear the client's 302 beacons atstep 310 and record the signal strength (RSSI) of these packets atstep 312. Atstep 314, they inform theDS 316 thatclient 302 is disconnected and send the collected RSSI data. TheDS 316 then, atstep 318, executes the first step of DIAL to determine the location of the connected clients: this can be done using any known location-determination technique in the literature, such as those described by P. Bahl and V. N. Padmanabhan in “RADAR: An Inbuilding RF-based User Location and Tracking System,” in Proc. of IEEE INFOCOM, Tel-Aviv, Israel, March 2000, and by A. Ladd et al. in “Robotics-Based Location Sensing using Wireless Ethernet,” in Proc. of ACM MobiCom, Atlanta, Ga., September 2002, which are hereby incorporated by reference in their entirety for all that they teach without exclusion of any part thereof. Atstep 320, theDS 316 uses the locations of the connected clients as “anchor points” and the disconnected client's RSSI data to estimate its approximate location. This step is preferably performed using any scheme that uses RSSI values from multiple clients for determining a machine's location, such as those described in the references above or by any other known method. Since locating the connected clients results in some error, consequently locating disconnected clients with these anchor points can further increase the error. However, it has been empirically shown that this error is approximately 10 to 12 meters which is acceptable for estimating the location of disconnected clients. - Turning to
FIG. 4 , a method of detecting rogue APs is discussed, in accordance with an embodiment of the invention. Rogue APs are unauthorized APs that have been connected to an Ethernet tap in an enterprise or university network; such APs can result in security holes, and unwanted RF and network load. Rogue APs are considered a major security issue for enterprise wireless LANs. By using clients and (if possible) APs to monitor the environment around them, embodiments of the invention detect rogue APs. The approach is to make clients and DAPs collect information about nearby access points and send it to the DS. When the DS receives information about an AP X, it checks an AP location database and ensures that X is a registered AP in the expected location and channel. The approach detects rogue APs using off-the-shelf IEEE 802.11-compliant hardware. This suffices to function as a low-cost mechanism that addresses the common case Rogue AP problem being faced in current deployments: for many networks administrators, the main goal is to detect APs inadvertently installed by employees for experimentation or convenience. Other embodiments may implement detection of non-compliant Rogue access points and clients as well. If two companies have neighboring wireless networks, the other companies' access points are preferably detected as Rogue APs. If this classification is unacceptable, the network administrators of the respective companies can share their AP location databases. - Each
DC 402 monitors the packets in its vicinity (in a nonpromiscuous mode), and for eachAP 404 that it detects, it sends a 4-tuple <MAC address, SSID, channel, RSSI> to theDS 406. Essentially, the 4-tuple uniquely identifies an AP in a particular location and channel. To get this information, aDC 402 determines the MAC addresses of allAPs 404 around it. - The
DC 402 can obtain the MAC address of anAP 404 by switching to promiscuous mode and observing data packets (it can use the FromDS and ToDS bits in the packet to determine which address belongs to the AP). However, the same effect is preferably achieved using the following approach: since IEEE 802.11 requires all APs to broadcast beacons at regular intervals atstep 408, theDC 402 listens for the beacons atstep 410 and obtains the MAC addresses from the APs' 404 beacons from all the APs that it can hear atstep 412. It has been shown that aDC 402 not only hears beacons on its channel but it may also hear beacons from overlapping channels as well; this property increases the likelihood of a Rogue AP being detected. - To ensure that a Rogue AP does not go undetected, even if no client is present on any channel overlapping with the AP, embodiments use the Active Scanning mechanism of the IEEE 802.11 protocol: when a client 402 (for example, a diagnostic client running on a wireless computer or on an access point) wants to find out what
APs 404 are nearby, theclient 402 goes to each of the 11 channels (in 802.11b), and sends Probe Requests atstep 414. Theclient 402 waits for Probe Responses to be sent from all APs atstep 416 that hear those Probe Requests; from these responses, the DC obtains the APs' 404 MAC addresses atstep 418. Every IEEE 802.11-compliant AP must respond to such requests; in some chipsets, no controls are provided to disable this functionality. A Busy AP Optimization is preferably used so that active scans in an AP's vicinity are performed by an AP only when it has no client associated with it. In embodiments of the invention, Active Scanning is preferably performed on demand, for example, at the request of a network administrator as communicated through diagnostic clients and diagnostic access points. Alternatively, Active Scanning is performed regularly on a periodic basis or according to a policy set by a network administrator. - Once the
client 402 has collected AP information, it sends the 4-tuples to theDS 406 atstep 420. TheDS 406 then determines whether the AP is a rogue AP atstep 422, described in more detail below. - Turning to
FIG. 5 , when the DS receives information for an AP from various clients atstep 502, it uses DIAL to estimate the AP's approximate location based on these clients' locations and the AP's RSSI values from them atstep 504, using methods such as those described above with reference toFIG. 3 . The DS classifies an AP as rogue if a 4-tuple does not correspond to a known legal AP in the DS's AP location database atstep 506, i.e., if the MAC address is not present in the database, or if the AP is not in the expected location atstep 508, or the SSID does not correspond to the expected SSID(s) in the organization atstep 510. In some embodiments, if an AP's SSID corresponds to an SOS SSID, the DS skips further analysis since this AP may actually correspond to a disconnected client that is executing a connection setup phase of a Client Conduit protocol, as described in co-pending application entitled “USING A CONNECTED WIRELESS COMPUTER AS A CONDUIT FOR A DISCONNECTED WIRELESS COMPUTER” by Adya, et al., filed Jan. 31, 2005 with attorney docket 231441. The channel information is used in a slightly different way. As stated above, if an AP is on a certain channel, it is possible to be heard on overlapping channels. Thus, an AP is classified as rogue atstep 512 only if it is reported on a channel that does not overlap with the one on which it is expected. If the channel on an AP is changed, the DAP preferably asks the DS to update its AP location database (recall that the communication between the DAP and the DS is authenticated; if the AP is a legacy AP, the administrator can update the AP location database when the AP's channel is changed). - A Rogue AP R might try to use MAC address spoofing to avoid being detected, i.e., send packets using the MAC address corresponding to a real AP G. However, the DS in embodiments of the invention still detects R since R will reside in a different location or channel than G (if it is on the same channel and location, G immediately detects it). Note that a Rogue AP is detected even if it does not broadcast the SSID in its beacons since a DC can still obtain the AP's MAC address from the beacon. Such unauthorized APs are alternatively detected by disallowing APs that do not broadcast SSIDs in an enterprise LAN.
- In embodiments of the invention, an unauthorized AP may stay undetected for a short time by spoofing an existing AP X near X's location, beacon a valid SSID in the organization, and stay on a channel on which no DC or AP can overhear its beacons. However, when a nearby client performs an active scan, the Rogue AP will be detected. To detect such rogue APs, a DC preferably performs such a scan every 5 minutes.
- Turning attention to
FIG. 6 , details of one embodiment of an implementation are shown. The basic architecture consists of the DC, DAP and DS daemons running on clients, access points and servers, respectively. The system can be implemented, for example, on the MICROSOFT WINDOWS operating system with standard commercial 802.11b cards. On the DS, the daemon process accepts information from DAPs. The DS reads the list of legitimate APs from a file or database. The structure of the code on the DC or DAP preferably comprises a user-level daemon 602 andkernel level drivers kernel drivers level daemon 602 or if the performance penalty is too high. - There are two kernel drivers in the exemplary system—a
miniport driver 604 and an intermediate driver (IM driver) 606, such as the Native WiFi driver in the MICROSOFT WINDOWS operating system. Theminiport driver 604 communicates directly with the hardware and provides basic functionalities such as sending/receiving packets, setting channels, etc. It exposes sufficient interfaces such that functions like association, authentication, etc. can be handled in theIM driver 606. TheIM driver 606 supports a number of interfaces (exposed via ioctls) for querying various parameters such as the current channel, transmission level, power management mode, SSID, etc. In addition to allowing the parameters to be set, it allows the user-level code to request for active scans, associate with a particular SSID, capture packets, etc. In general, it provides a significant amount of flexibility and control to the user-level code. - Even though many operations are already present in the
IM driver 606, embodiments of the invention used modifications to expose certain functionalities and to improve performance of specific protocols. Theminiport driver 604 is preferably changed minimally to expose certain types of packets to theIM driver 606. In theIM driver 606, the following support is preferably added: capturing packet headers and packets; storing the RSSI values from received packets; keeping track of AP information; and kernel event support for protocol efficiency: These modifications are now discussed in further detail. - Capturing packet headers and packets: Embodiments of the invention allow filters to be set such that only certain packets or packet headers are captured, e.g., filters based on specific MAC addresses, packet types, packet subtypes (such as management and beacon packets), etc.
- Storing the RSSI values from received packets: Embodiments of the invention obtain the RSSI value of every received packet and maintain a table called the NeighborInfo table that keeps track of the RSSI value from each neighbor (indexed on the MAC address). An exponentially weighted average is maintained with the new value given some weighting factor of, for example, 0.25. The RSSI information is preferably used for estimating the location of disconnected clients and APs using DIAL.
- Keeping track of AP information: In the NeighborInfo table, embodiments keep track of the channels on which packets were heard from a particular MAC address, SSID information (from beacons), and whether the device is an AP or a station. This information is preferably sent to the DAP/DS for Rogue AP detection.
- Kernel event support for protocol efficiency: An event is preferably added that is shared between the kernel and user-level code. The kernel triggers this event when an “interesting” event occurs; this allows some of the protocols to be interrupt-driven rather being polling based.
- Additionally, a number of ioctls are preferably added to get and clear the information discussed above.
- In embodiments of the invention, the diagnostics daemon 602 runs on a device and gathers information and implements various mechanisms discussed above, e.g., collect MAC addresses of APs for Rogue AP detection, etc. If the device is an AP, it communicates diagnostic information with the DS and the DCs; if the device is just a DC, it communicates with its associated AP to convey the diagnostic information. The Diagnostic daemon on the DC obtains the current NeighborInfo table from the
kernel 608 at a periodic interval, for example every 30 seconds. If any new node has been discovered or if the existing data has changed significantly (e.g., RSSI value of a client has changed by more than a factor of 2), it is sent to the DAP. The DAP also preferably maintains a similar table indexed on MAC addresses. However, it only sends information about disconnected clients and APs to the DS; otherwise, the DS would end up getting updates for every client in the system, making it less scalable. The DAP sends new or changed information about APs to the DS periodically (e.g., 30 seconds). Furthermore, if the DAP has any pending information about a disconnected client D, it informs the DS immediately so that the disconnected can be serviced in a timely fashion. All messages from the DC to the DAP and from DAP to the DS are preferably sent as XML messages. A sample message format from the DC is shown below (timestamps have been removed):<DiagPacket Type=“RSSIInfo” TStamp=“...”> <Clients TStamp=“...”> <MacInfo MAC=“00:40:96:27:dd:cc” RSSI=“23” Channels =“19” SSID=“” TStamp=“...”/> </Clients> <Real-APs TStamp=“...”> <MacInfo MAC=“00:20:a6:4c:c7:85” RSSI=“89” Channels=“12” SSID=“UNIV_LAN” TStamp=“...”/> <MacInfo MAC=“00:20:a6:4c:bb:ad” RSSI=“7” Channels=“10” SSID=“EXPER” TStamp=“...”/> </Real-APs> <Disconnected-Clients TStamp=“...”> <MacInfo MAC=“00:40:96:33:34:3e” RSSI=“57” Channels=“2048” SSID=“SOS_764” TStamp=“...”/> </Disconnected-Clients> </DiagPacket> - As the sample message shows, the DC sends information about other connected clients, APs, and disconnected clients. For each such class of entities, it sends the MAC address of a machine along with RSSI, SSID, and a channel bitmap which indicates the channels on which the particular device was overheard.
- In view of the many possible embodiments to which the principles of the present invention may be applied, it should be recognized that the embodiments described herein with respect to the drawing figures are meant to be illustrative only and should not be taken as limiting the scope of the invention. For example, those of skill in the art will recognize that the illustrated embodiments can be modified in arrangement and detail without departing from the spirit of the invention. Although the invention is described in terms of software modules or components, those skilled in the art will recognize that such may be equivalently replaced by hardware components. Therefore, the invention as described herein contemplates all such embodiments as may come within the scope of the following claims and equivalents thereof.
Claims (9)
1.-12. (canceled)
13. A method for identifying a rogue wireless access point in an infrastructure network, method comprising the steps of:
receiving information about a suspicious access point, the information collected by one or more nearby wireless computing devices or access points;
comparing the information with an access point database; and
identifying the suspicious access point as rogue if the information is inconsistent with the access point database.
14. The method of claim 13 wherein the information comprises a combination of one or more of: signal strength information; MAC address; SSID; and channel information.
15. The method of claim 13 wherein the information comprises a MAC address, and the MAC address is obtained by the one or more nearby wireless devices by listening to a beacon of the suspicious access point.
16. The method of claim 13 wherein the information comprises a MAC address, and the MAC address is obtained by the one or more nearby wireless devices by performing a method comprising the steps of:
sending a probe request;
receiving a probe response from the suspicious access point; and
retrieving the MAC address from the probe response.
17. The method of claim 13 wherein the information comprises signal strength information, the method further comprising the steps of:
estimating the location of the suspicious access point using the signal strength information received; and
identifying the suspicious access point as rogue if the estimated location is inconsistent with the access point database.
18. The method of claim 17 wherein estimating the location comprises:
computing estimates of the locations of the nearby wireless computing devices or access points; and
using the computed estimates and received signal strength information to further estimate the location of the suspicious access point.
19. The method of claim 13 wherein the information comprises channel information, the method further comprising the step of:
identifying the suspicious access point as rogue if it broadcasts on a channel that does not overlap with the channel indicated in the access point database.
20. The method of claim 13 further comprising the step of:
updating the access point database with new information in response to receiving an update request from an authenticated access point.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/637,292 US20070081488A1 (en) | 2004-09-24 | 2006-12-12 | Collaboratively locating disconnected clients and rogue access points in a wireless network |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US61305504P | 2004-09-24 | 2004-09-24 | |
US11/047,022 US7317914B2 (en) | 2004-09-24 | 2005-01-31 | Collaboratively locating disconnected clients and rogue access points in a wireless network |
US11/637,292 US20070081488A1 (en) | 2004-09-24 | 2006-12-12 | Collaboratively locating disconnected clients and rogue access points in a wireless network |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/047,022 Division US7317914B2 (en) | 2004-09-24 | 2005-01-31 | Collaboratively locating disconnected clients and rogue access points in a wireless network |
Publications (1)
Publication Number | Publication Date |
---|---|
US20070081488A1 true US20070081488A1 (en) | 2007-04-12 |
Family
ID=35406770
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/047,022 Expired - Fee Related US7317914B2 (en) | 2004-09-24 | 2005-01-31 | Collaboratively locating disconnected clients and rogue access points in a wireless network |
US11/637,292 Abandoned US20070081488A1 (en) | 2004-09-24 | 2006-12-12 | Collaboratively locating disconnected clients and rogue access points in a wireless network |
US11/940,466 Expired - Fee Related US8086227B2 (en) | 2004-09-24 | 2007-11-15 | Collaboratively locating disconnected clients and rogue access points in a wireless network |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/047,022 Expired - Fee Related US7317914B2 (en) | 2004-09-24 | 2005-01-31 | Collaboratively locating disconnected clients and rogue access points in a wireless network |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/940,466 Expired - Fee Related US8086227B2 (en) | 2004-09-24 | 2007-11-15 | Collaboratively locating disconnected clients and rogue access points in a wireless network |
Country Status (5)
Country | Link |
---|---|
US (3) | US7317914B2 (en) |
EP (1) | EP1641183B1 (en) |
KR (1) | KR101109317B1 (en) |
CN (1) | CN1783810B (en) |
AT (1) | ATE539520T1 (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060152477A1 (en) * | 2003-01-30 | 2006-07-13 | Takuro Noda | Communications device and method, recording medium, and program |
US20070087761A1 (en) * | 2005-09-01 | 2007-04-19 | Toshiba America Research, Inc. | Client assisted location data acquisition scheme |
US20090064299A1 (en) * | 2007-09-04 | 2009-03-05 | Microsoft Corporation | History-based downgraded network identification |
EP3091770A1 (en) * | 2015-05-08 | 2016-11-09 | Panasonic Avionics Corporation | Identifying and disabling a rogue access point in a public wireless environment |
US11418956B2 (en) | 2019-11-15 | 2022-08-16 | Panasonic Avionics Corporation | Passenger vehicle wireless access point security system |
Families Citing this family (115)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7665126B2 (en) * | 2003-12-17 | 2010-02-16 | Microsoft Corporation | Mesh networks with exclusion capability |
US7603460B2 (en) | 2004-09-24 | 2009-10-13 | Microsoft Corporation | Detecting and diagnosing performance problems in a wireless network through neighbor collaboration |
US7760654B2 (en) * | 2004-09-24 | 2010-07-20 | Microsoft Corporation | Using a connected wireless computer as a conduit for a disconnected wireless computer |
US7317914B2 (en) * | 2004-09-24 | 2008-01-08 | Microsoft Corporation | Collaboratively locating disconnected clients and rogue access points in a wireless network |
EP2527859B1 (en) | 2004-10-29 | 2016-04-20 | Skyhook Wireless, Inc. | Location beacon database and server, method of building location beacon database, and location based service using same |
US8369264B2 (en) | 2005-10-28 | 2013-02-05 | Skyhook Wireless, Inc. | Method and system for selecting and providing a relevant subset of Wi-Fi location information to a mobile client device so the client device may estimate its position with efficient utilization of resources |
US8244272B2 (en) | 2005-02-22 | 2012-08-14 | Skyhook Wireless, Inc. | Continuous data optimization of moved access points in positioning systems |
US9392406B2 (en) | 2005-02-03 | 2016-07-12 | Trueposition, Inc. | Method and system for location-based monitoring of a mobile device |
US20060193299A1 (en) * | 2005-02-25 | 2006-08-31 | Cicso Technology, Inc., A California Corporation | Location-based enhancements for wireless intrusion detection |
WO2006096416A2 (en) * | 2005-03-04 | 2006-09-14 | Skyhook Wireless, Inc. | Encoding and compression of a location beacon database |
WO2006099540A2 (en) | 2005-03-15 | 2006-09-21 | Trapeze Networks, Inc. | System and method for distributing keys in a wireless network |
EP2456259B1 (en) * | 2005-07-25 | 2014-04-16 | Telefonaktiebolaget L M Ericsson (publ) | Means and method for improving the handover characteristics of radio access networks |
US8918530B2 (en) * | 2005-09-09 | 2014-12-23 | Microsoft Corporation | Plug and play device redirection for remote systems |
TWI272795B (en) * | 2005-09-09 | 2007-02-01 | Hon Hai Prec Ind Co Ltd | Method and system for detecting a rogue access point and device for determing the rogue access point |
GB2430114B (en) * | 2005-09-13 | 2008-06-25 | Roke Manor Research | A method of verifying integrity of an access point on a wireless network |
GB2430580B (en) * | 2005-09-13 | 2008-04-09 | Roke Manor Research | A method of authenticating access points on a wireless network |
US8638762B2 (en) * | 2005-10-13 | 2014-01-28 | Trapeze Networks, Inc. | System and method for network integrity |
US7551619B2 (en) * | 2005-10-13 | 2009-06-23 | Trapeze Networks, Inc. | Identity-based networking |
US7573859B2 (en) * | 2005-10-13 | 2009-08-11 | Trapeze Networks, Inc. | System and method for remote monitoring in a wireless network |
US7724703B2 (en) * | 2005-10-13 | 2010-05-25 | Belden, Inc. | System and method for wireless network monitoring |
WO2007044986A2 (en) * | 2005-10-13 | 2007-04-19 | Trapeze Networks, Inc. | System and method for remote monitoring in a wireless network |
US7925765B2 (en) * | 2006-04-07 | 2011-04-12 | Microsoft Corporation | Cooperative diagnosis in a wireless LAN |
TWI316345B (en) * | 2006-04-28 | 2009-10-21 | Hon Hai Prec Ind Co Ltd | System and method for identifying beacon |
US7558266B2 (en) | 2006-05-03 | 2009-07-07 | Trapeze Networks, Inc. | System and method for restricting network access using forwarding databases |
US8966018B2 (en) * | 2006-05-19 | 2015-02-24 | Trapeze Networks, Inc. | Automated network device configuration and network deployment |
US7577453B2 (en) * | 2006-06-01 | 2009-08-18 | Trapeze Networks, Inc. | Wireless load balancing across bands |
US9258702B2 (en) | 2006-06-09 | 2016-02-09 | Trapeze Networks, Inc. | AP-local dynamic switching |
US7912982B2 (en) * | 2006-06-09 | 2011-03-22 | Trapeze Networks, Inc. | Wireless routing selection system and method |
US9191799B2 (en) | 2006-06-09 | 2015-11-17 | Juniper Networks, Inc. | Sharing data between wireless switches system and method |
US8818322B2 (en) | 2006-06-09 | 2014-08-26 | Trapeze Networks, Inc. | Untethered access point mesh system and method |
US8144673B2 (en) | 2006-07-07 | 2012-03-27 | Skyhook Wireless, Inc. | Method and system for employing a dedicated device for position estimation by a WLAN positioning system |
US7724704B2 (en) * | 2006-07-17 | 2010-05-25 | Beiden Inc. | Wireless VLAN system and method |
JP5034397B2 (en) * | 2006-09-14 | 2012-09-26 | 富士通株式会社 | Fiber misconnection detection method and apparatus |
US8340110B2 (en) * | 2006-09-15 | 2012-12-25 | Trapeze Networks, Inc. | Quality of service provisioning for wireless networks |
US8072952B2 (en) | 2006-10-16 | 2011-12-06 | Juniper Networks, Inc. | Load balancing |
US8681692B2 (en) | 2006-10-20 | 2014-03-25 | T-Mobile Usa, Inc. | System and method for authorizing access to an IP-based wireless telecommunications service |
US7974235B2 (en) * | 2006-11-13 | 2011-07-05 | Telecommunication Systems, Inc. | Secure location session manager |
KR100847145B1 (en) * | 2006-12-04 | 2008-07-18 | 한국전자통신연구원 | Method for detecting illegal Access Point |
US20080151844A1 (en) * | 2006-12-20 | 2008-06-26 | Manish Tiwari | Wireless access point authentication system and method |
US7873061B2 (en) | 2006-12-28 | 2011-01-18 | Trapeze Networks, Inc. | System and method for aggregation and queuing in a wireless network |
WO2008083339A2 (en) * | 2006-12-28 | 2008-07-10 | Trapeze Networks, Inc. | Application-aware wireless network system and method |
GB2480191A (en) * | 2007-02-02 | 2011-11-09 | Ubiquisys Ltd | Determining the location of a base station |
US20080226075A1 (en) * | 2007-03-14 | 2008-09-18 | Trapeze Networks, Inc. | Restricted services for wireless stations |
US20080276303A1 (en) * | 2007-05-03 | 2008-11-06 | Trapeze Networks, Inc. | Network Type Advertising |
US8902904B2 (en) * | 2007-09-07 | 2014-12-02 | Trapeze Networks, Inc. | Network assignment based on priority |
US20090088132A1 (en) * | 2007-09-28 | 2009-04-02 | Politowicz Timothy J | Detecting unauthorized wireless access points |
US9109903B2 (en) | 2007-10-09 | 2015-08-18 | Microsoft Technology Licensing, Llc | Transmitting location data in wireless networks |
US8238942B2 (en) * | 2007-11-21 | 2012-08-07 | Trapeze Networks, Inc. | Wireless station location detection |
US20090181664A1 (en) * | 2008-01-15 | 2009-07-16 | Eapen Kuruvilla | Method and apparatus for network managed radio frequency coverage and mobile distribution analysis using mobile location information |
US8045482B2 (en) * | 2008-02-08 | 2011-10-25 | Yahoo! Inc. | Location tracking based on proximity-based ad hoc network |
US8150357B2 (en) | 2008-03-28 | 2012-04-03 | Trapeze Networks, Inc. | Smoothing filter for irregular update intervals |
US8474023B2 (en) | 2008-05-30 | 2013-06-25 | Juniper Networks, Inc. | Proactive credential caching |
US8978105B2 (en) * | 2008-07-25 | 2015-03-10 | Trapeze Networks, Inc. | Affirming network relationships and resource access via related networks |
US8327143B2 (en) * | 2008-08-04 | 2012-12-04 | Broadcom Corporation | Techniques to provide access point authentication for wireless network |
JP5097052B2 (en) * | 2008-08-21 | 2012-12-12 | キヤノン株式会社 | Information processing apparatus and control method thereof |
US8238298B2 (en) * | 2008-08-29 | 2012-08-07 | Trapeze Networks, Inc. | Picking an optimal channel for an access point in a wireless network |
US8176328B2 (en) * | 2008-09-17 | 2012-05-08 | Alcatel Lucent | Authentication of access points in wireless local area networks |
US9645225B2 (en) | 2008-11-21 | 2017-05-09 | Qualcomm Incorporated | Network-centric determination of node processing delay |
US8892127B2 (en) | 2008-11-21 | 2014-11-18 | Qualcomm Incorporated | Wireless-based positioning adjustments using a motion sensor |
US20100135178A1 (en) | 2008-11-21 | 2010-06-03 | Qualcomm Incorporated | Wireless position determination using adjusted round trip time measurements |
US9125153B2 (en) | 2008-11-25 | 2015-09-01 | Qualcomm Incorporated | Method and apparatus for two-way ranging |
US8768344B2 (en) | 2008-12-22 | 2014-07-01 | Qualcomm Incorporated | Post-deployment calibration for wireless position determination |
US8750267B2 (en) * | 2009-01-05 | 2014-06-10 | Qualcomm Incorporated | Detection of falsified wireless access points |
US20100246416A1 (en) * | 2009-03-25 | 2010-09-30 | Amit Sinha | Systems and methods for remote testing of wireless lan access points |
US8082303B2 (en) | 2009-03-30 | 2011-12-20 | Qualcomm Incorporated | Methods and apparatus for combined peer to peer and wide area network based discovery |
US8694624B2 (en) * | 2009-05-19 | 2014-04-08 | Symbol Technologies, Inc. | Systems and methods for concurrent wireless local area network access and sensing |
US8351454B2 (en) * | 2009-05-20 | 2013-01-08 | Robert Bosch Gmbh | Security system and method for wireless communication within a vehicle |
RU2543095C2 (en) * | 2009-07-28 | 2015-02-27 | Конинклейке Филипс Электроникс Н.В. | Diagnosing and resolving wireless network malfunctions |
US20120023552A1 (en) * | 2009-07-31 | 2012-01-26 | Jeremy Brown | Method for detection of a rogue wireless access point |
US8781492B2 (en) | 2010-04-30 | 2014-07-15 | Qualcomm Incorporated | Device for round trip time measurements |
KR101868819B1 (en) | 2010-06-11 | 2018-06-19 | 스카이후크 와이어리스, 인크. | Methods of and Systems for Measuring Beacon Stability of Wireless Access Points |
KR101670758B1 (en) * | 2010-07-05 | 2016-11-01 | 에스케이텔레콤 주식회사 | Method for Detecting Position, Mobile Communication Terminal And Position Estimating Server therefor |
US20120026887A1 (en) * | 2010-07-30 | 2012-02-02 | Ramprasad Vempati | Detecting Rogue Access Points |
JP5524002B2 (en) * | 2010-09-21 | 2014-06-18 | 株式会社東芝 | Radio communication system and mobile radio communication apparatus in broadcast radio transmission |
US8606294B2 (en) | 2010-10-05 | 2013-12-10 | Skyhook Wireless, Inc. | Method of and system for estimating temporal demographics of mobile users |
US9858126B2 (en) | 2010-12-16 | 2018-01-02 | Microsoft Technology Licensing, Llc | Device redirection for remote systems |
US8593967B2 (en) * | 2011-03-08 | 2013-11-26 | Medium Access Systems Private Limited | Method and system of intelligently load balancing of Wi-Fi access point apparatus in a WLAN |
KR101232256B1 (en) * | 2011-03-18 | 2013-03-05 | 주식회사 퓨쳐시스템 | Server and method and system for detecting packet relay |
US8938196B2 (en) | 2011-05-18 | 2015-01-20 | Radius Networks Inc. | System and method for delivering content to a wireless station |
US20120331561A1 (en) | 2011-06-22 | 2012-12-27 | Broadstone Andrew J | Method of and Systems for Privacy Preserving Mobile Demographic Measurement of Individuals, Groups and Locations Over Time and Space |
US8655312B2 (en) * | 2011-08-12 | 2014-02-18 | F-Secure Corporation | Wireless access point detection |
US9154958B2 (en) * | 2011-09-06 | 2015-10-06 | Whitserve Llc | Security system for cloud computing |
US8949993B2 (en) | 2011-10-17 | 2015-02-03 | Mcafee Inc. | Mobile risk assessment |
TW201327370A (en) * | 2011-12-28 | 2013-07-01 | Amtran Technology Co Ltd | System and method for resource sharing and broadcasting device thereof |
WO2013121670A1 (en) * | 2012-02-16 | 2013-08-22 | ソニー株式会社 | Wireless communication device, program, and communication control method |
DE102013206353B4 (en) * | 2012-04-25 | 2018-01-25 | International Business Machines Corporation | IDENTIFY UNAUTHORIZED OR ERROR-CONFIGURED WIRELESS NETWORK ACCESS USING DISTRIBUTED END POINTS |
EP2907333A1 (en) * | 2012-10-11 | 2015-08-19 | Nokia Solutions and Networks Oy | Fake base station detection with core network support |
CN103856957B (en) * | 2012-12-04 | 2018-01-12 | 航天信息股份有限公司 | Counterfeit AP method and apparatus in detection wireless LAN |
US9596670B2 (en) | 2013-01-16 | 2017-03-14 | Apple Inc. | Location assisted service capability monitoring |
US9432961B2 (en) * | 2013-01-16 | 2016-08-30 | Apple Inc. | Location-assisted service capability monitoring |
GB2510169A (en) * | 2013-01-28 | 2014-07-30 | Microsoft Corp | Determining a location of a mobile user terminal |
US9369872B2 (en) | 2013-03-14 | 2016-06-14 | Vonage Business Inc. | Method and apparatus for configuring communication parameters on a wireless device |
US8799993B1 (en) * | 2013-03-14 | 2014-08-05 | Vonage Network Llc | Method and apparatus for configuring communication parameters on a wireless device |
WO2015006979A1 (en) * | 2013-07-19 | 2015-01-22 | Intel Corporation | Identification of rogue access points |
US9088894B1 (en) * | 2013-09-25 | 2015-07-21 | Juniper Networks, Inc. | Systems and methods for detecting rogue client devices connected to wireless hotspots |
KR101534476B1 (en) * | 2013-10-29 | 2015-07-07 | 삼성에스디에스 주식회사 | Method and apparatus for detecting unauthorized access point |
KR102107132B1 (en) | 2013-12-05 | 2020-05-06 | 삼성전자주식회사 | Access point connection method of electronic apparatus and electronic appparatus thereof |
US10019703B2 (en) * | 2014-05-13 | 2018-07-10 | Google Llc | Verifying a secure connection between a network beacon and a user computing device |
US9485243B2 (en) * | 2014-05-23 | 2016-11-01 | Google Inc. | Securing a wireless mesh network via a chain of trust |
CN104270366B (en) * | 2014-09-30 | 2017-09-29 | 北京金山安全软件有限公司 | method and device for detecting karma attack |
US9877300B2 (en) | 2014-11-24 | 2018-01-23 | Hewlett Packard Enterprise Development Lp | Determining a location of a disconnected device |
US10068089B1 (en) * | 2015-09-25 | 2018-09-04 | Symantec Corporation | Systems and methods for network security |
EP3174363A1 (en) * | 2015-11-26 | 2017-05-31 | Alcatel Lucent | Management system for detecting a wifi range extender |
EP3318103B1 (en) * | 2015-12-09 | 2023-08-30 | Hewlett-Packard Development Company, L.P. | Data transmissions without connections |
US10057776B2 (en) | 2016-03-31 | 2018-08-21 | Fortinet, Inc. | Containing internet of things (IOT) analytics poisoning on wireless local access networks (WLANs) |
US10979530B2 (en) * | 2017-03-03 | 2021-04-13 | LGS Innovations LLC | Methods and apparatuses for batch radio resource command and control |
BR112019019353A2 (en) | 2017-03-17 | 2020-04-14 | Scrrd Inc | wireless device detection, tracking and authentication platform and techniques |
US10085118B1 (en) | 2017-03-17 | 2018-09-25 | SCRRD, Inc. | Wireless device detection, tracking, and authentication platform and techniques |
US10341814B2 (en) | 2017-03-17 | 2019-07-02 | SCRRD, Inc. | Wireless device detection, tracking, and authentication platform and techniques |
WO2019006075A1 (en) * | 2017-06-29 | 2019-01-03 | Lunera Lighting Inc. | Poe led lamp as a mobile access point |
US11197160B2 (en) * | 2018-09-27 | 2021-12-07 | Sophos Limited | System and method for rogue access point detection |
US11025338B1 (en) * | 2020-03-05 | 2021-06-01 | Wipro Limited | Method and system for identifying and mitigating interference caused by rogue Li-Fi access point |
US11445423B2 (en) | 2020-05-29 | 2022-09-13 | Cisco Technology, Inc. | Network environment health monitoring |
US11212681B1 (en) * | 2020-06-29 | 2021-12-28 | Fortinet, Inc. | Intrusion detection in a wireless network using location information of wireless devices |
CN113709744B (en) * | 2021-10-28 | 2022-03-11 | 连连(杭州)信息技术有限公司 | Wi-Fi control method and device, electronic equipment and storage medium |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020025795A1 (en) * | 2000-08-24 | 2002-02-28 | Msafe Inc., | Method, system and device for monitoring activity of a wireless communication device |
US20030118015A1 (en) * | 2001-12-20 | 2003-06-26 | Magnus Gunnarsson | Location based notification of wlan availability via wireless communication network |
US20040185845A1 (en) * | 2003-02-28 | 2004-09-23 | Microsoft Corporation | Access point to access point range extension |
US20060068769A1 (en) * | 2004-09-24 | 2006-03-30 | Microsoft Corporation | Detecting and diagnosing performance problems in a wireless network through neighbor collaboration |
US20060077946A1 (en) * | 2004-09-24 | 2006-04-13 | Microsoft Corporation | Using a connected wireless computer as a conduit for a disconnected wireless computer |
Family Cites Families (52)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US723286A (en) * | 1901-12-02 | 1903-03-24 | James J Lawler | Check-valve for hot-water systems. |
WO1995001020A1 (en) | 1993-06-25 | 1995-01-05 | Xircom, Incorporated | Virtual carrier detection for wireless local area network with distributed control |
JPH08204709A (en) | 1995-01-31 | 1996-08-09 | Nippondenso Co Ltd | Communication system |
JP3097581B2 (en) | 1996-12-27 | 2000-10-10 | 日本電気株式会社 | Ad-hoc local area network configuration method, communication method and terminal |
JP3183224B2 (en) | 1997-07-31 | 2001-07-09 | 日本電気株式会社 | Communication control method for multiple network terminals and apparatus therefor |
US6414634B1 (en) | 1997-12-04 | 2002-07-02 | Lucent Technologies Inc. | Detecting the geographical location of wireless units |
US6697103B1 (en) | 1998-03-19 | 2004-02-24 | Dennis Sunga Fernandez | Integrated network for monitoring remote objects |
US6370146B1 (en) | 1998-06-29 | 2002-04-09 | Lucent Technologies Inc. | Method and apparatus for non-disruptive addition of a new node to an inter-nodal network |
JP2000115230A (en) | 1998-10-02 | 2000-04-21 | Nippon Telegr & Teleph Corp <Ntt> | Communication path selection method and its system |
US6721305B1 (en) * | 1998-10-09 | 2004-04-13 | International Business Machines Corporation | Wireless message courier |
JP2000196593A (en) | 1998-12-24 | 2000-07-14 | Nippon Telegr & Teleph Corp <Ntt> | Traffic and communication quality measuring system |
US6799047B1 (en) | 1999-02-25 | 2004-09-28 | Microsoft Corporation | Locating and tracking a user in a wireless network through environmentally profiled data |
US6839560B1 (en) * | 1999-02-25 | 2005-01-04 | Microsoft Corporation | Using a derived table of signal strength data to locate and track a user in a wireless network |
DE19931838C1 (en) | 1999-07-09 | 2001-10-31 | Daimler Chrysler Ag | Method for checking a ring-shaped optical network line for data transmission between several network participants in a motor vehicle |
US6522888B1 (en) * | 1999-08-31 | 2003-02-18 | Lucent Technologies Inc. | System for determining wireless coverage using location information for a wireless unit |
JP2001076582A (en) * | 1999-09-01 | 2001-03-23 | Matsushita Electric Ind Co Ltd | Electronic apparatus |
IL151080A0 (en) * | 2000-02-07 | 2003-04-10 | Qualcomm Inc | Position determination using bluetooth devices |
US7006434B1 (en) | 2000-02-10 | 2006-02-28 | Ciena Corporation | System for non-disruptive insertion and removal of nodes in an ATM sonet ring |
US6950521B1 (en) * | 2000-06-13 | 2005-09-27 | Lucent Technologies Inc. | Method for repeated authentication of a user subscription identity module |
US7068599B1 (en) | 2000-07-26 | 2006-06-27 | At&T Corp. | Wireless network having link-condition based proxies for QoS management |
DE10038764A1 (en) | 2000-08-09 | 2002-02-21 | Bosch Gmbh Robert | Procedure for remote diagnosis and central error evaluation of decentralized electrical devices and decentralized electronic device for this |
US6970939B2 (en) | 2000-10-26 | 2005-11-29 | Intel Corporation | Method and apparatus for large payload distribution in a network |
US7133909B2 (en) * | 2001-01-12 | 2006-11-07 | Microsoft Corporation | Systems and methods for locating mobile computer users in a wireless network |
KR100456719B1 (en) | 2001-08-17 | 2004-11-10 | 엘지전자 주식회사 | System And The Method For Integration Surveillance And Test Of Wireless Network |
SE524262C2 (en) | 2001-10-24 | 2004-07-20 | Abb Ab | Method and system for automatic interaction between intelligent devices in a network |
US6728545B1 (en) * | 2001-11-16 | 2004-04-27 | Meshnetworks, Inc. | System and method for computing the location of a mobile terminal in a wireless communications network |
JP2003186761A (en) | 2001-12-17 | 2003-07-04 | Ntt Comware Corp | Data collecting terminal device, network diagnostic system, control method of network diagnosis system, control program and recording medium |
US7184421B1 (en) | 2001-12-21 | 2007-02-27 | Itt Manufacturing Enterprises, Inc. | Method and apparatus for on demand multicast and unicast using controlled flood multicast communications |
US7016948B1 (en) | 2001-12-21 | 2006-03-21 | Mcafee, Inc. | Method and apparatus for detailed protocol analysis of frames captured in an IEEE 802.11 (b) wireless LAN |
US7159026B2 (en) | 2002-01-31 | 2007-01-02 | Telcordia Technologies, Inc. | Service performance correlation and analysis |
KR20040096616A (en) * | 2002-03-27 | 2004-11-16 | 인터내셔널 비지네스 머신즈 코포레이션 | Methods apparatus and program products for wireless access points |
DE60326330D1 (en) | 2002-04-08 | 2009-04-09 | Airmagnet Inc | MONITORING A LOCAL NETWORK |
JP2005522779A (en) | 2002-04-09 | 2005-07-28 | シンボル テクノロジーズ インコーポレイテッド | XML control management |
US6664925B1 (en) | 2002-05-02 | 2003-12-16 | Microsoft Corporation | Method and system for determining the location of a mobile computer |
US7437451B2 (en) | 2002-05-16 | 2008-10-14 | Hewlett-Packard Development Company, L.P. | System and method for collecting desired information for network transactions at the kernel level |
US7778606B2 (en) | 2002-05-17 | 2010-08-17 | Network Security Technologies, Inc. | Method and system for wireless intrusion detection |
TW200721738A (en) * | 2002-07-31 | 2007-06-01 | Interdigital Tech Corp | Wireless personal communicator and communication method |
US7096459B2 (en) | 2002-09-11 | 2006-08-22 | International Business Machines Corporation | Methods and apparatus for root cause identification and problem determination in distributed systems |
US20040054766A1 (en) | 2002-09-16 | 2004-03-18 | Vicente John B. | Wireless resource control system |
US20040151129A1 (en) | 2003-01-31 | 2004-08-05 | Gyula Kun-Szabo | Controller for controlling routers |
US6992625B1 (en) * | 2003-04-25 | 2006-01-31 | Microsoft Corporation | Calibration of a device location measurement system that utilizes wireless signal strengths |
US20050027858A1 (en) | 2003-07-16 | 2005-02-03 | Premitech A/S | System and method for measuring and monitoring performance in a computer network |
US6990428B1 (en) * | 2003-07-28 | 2006-01-24 | Cisco Technology, Inc. | Radiolocation using path loss data |
US7069024B2 (en) | 2003-10-31 | 2006-06-27 | Symbol Technologies, Inc. | System and method for determining location of rogue wireless access point |
US7127258B2 (en) * | 2003-11-10 | 2006-10-24 | Symbol Technologies, Inc. | WLAN roaming based on location |
US7042391B2 (en) | 2003-12-12 | 2006-05-09 | Xerox Corporation | Mobile device and method for determining location of mobile device |
US7242947B2 (en) * | 2003-12-23 | 2007-07-10 | Motorola, Inc. | Method and apparatus for determining the location of a unit using neighbor lists |
US7359339B2 (en) | 2003-12-23 | 2008-04-15 | Lenovo Singapore Pte Ltd | Smart access point |
US7536723B1 (en) | 2004-02-11 | 2009-05-19 | Airtight Networks, Inc. | Automated method and system for monitoring local area computer networks for unauthorized wireless access |
US7209751B2 (en) * | 2004-03-30 | 2007-04-24 | Sony Corporation | System and method for proximity motion detection in a wireless network |
US7509131B2 (en) * | 2004-06-29 | 2009-03-24 | Microsoft Corporation | Proximity detection using wireless signal strengths |
US7317914B2 (en) * | 2004-09-24 | 2008-01-08 | Microsoft Corporation | Collaboratively locating disconnected clients and rogue access points in a wireless network |
-
2005
- 2005-01-31 US US11/047,022 patent/US7317914B2/en not_active Expired - Fee Related
- 2005-09-08 EP EP05108255A patent/EP1641183B1/en not_active Not-in-force
- 2005-09-08 AT AT05108255T patent/ATE539520T1/en active
- 2005-09-23 KR KR1020050088777A patent/KR101109317B1/en active IP Right Grant
- 2005-09-23 CN CN2005101064139A patent/CN1783810B/en not_active Expired - Fee Related
-
2006
- 2006-12-12 US US11/637,292 patent/US20070081488A1/en not_active Abandoned
-
2007
- 2007-11-15 US US11/940,466 patent/US8086227B2/en not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020025795A1 (en) * | 2000-08-24 | 2002-02-28 | Msafe Inc., | Method, system and device for monitoring activity of a wireless communication device |
US20030118015A1 (en) * | 2001-12-20 | 2003-06-26 | Magnus Gunnarsson | Location based notification of wlan availability via wireless communication network |
US20040185845A1 (en) * | 2003-02-28 | 2004-09-23 | Microsoft Corporation | Access point to access point range extension |
US20060068769A1 (en) * | 2004-09-24 | 2006-03-30 | Microsoft Corporation | Detecting and diagnosing performance problems in a wireless network through neighbor collaboration |
US20060077946A1 (en) * | 2004-09-24 | 2006-04-13 | Microsoft Corporation | Using a connected wireless computer as a conduit for a disconnected wireless computer |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060152477A1 (en) * | 2003-01-30 | 2006-07-13 | Takuro Noda | Communications device and method, recording medium, and program |
US20100093286A1 (en) * | 2003-01-30 | 2010-04-15 | Sony Corporation | Communications apparatus and method, storage medium, as well as program |
US7711388B2 (en) * | 2003-01-30 | 2010-05-04 | Sony Corporation | Communications device and method, recording medium, and program |
US7953434B2 (en) * | 2003-01-30 | 2011-05-31 | Sony Corporation | Communications apparatus and method, storage medium, as well as program |
US20070087761A1 (en) * | 2005-09-01 | 2007-04-19 | Toshiba America Research, Inc. | Client assisted location data acquisition scheme |
US9046595B2 (en) * | 2005-09-01 | 2015-06-02 | Toshiba America Research, Inc. | Client assisted location data acquisition scheme |
US20090064299A1 (en) * | 2007-09-04 | 2009-03-05 | Microsoft Corporation | History-based downgraded network identification |
US8769639B2 (en) | 2007-09-04 | 2014-07-01 | Microsoft Corporation | History-based downgraded network identification |
EP3091770A1 (en) * | 2015-05-08 | 2016-11-09 | Panasonic Avionics Corporation | Identifying and disabling a rogue access point in a public wireless environment |
US10257215B2 (en) | 2015-05-08 | 2019-04-09 | Panasonic Avionics Corporation | Identifying and disabling a rogue access point in a public wireless environment |
US11418956B2 (en) | 2019-11-15 | 2022-08-16 | Panasonic Avionics Corporation | Passenger vehicle wireless access point security system |
Also Published As
Publication number | Publication date |
---|---|
US7317914B2 (en) | 2008-01-08 |
KR20060088000A (en) | 2006-08-03 |
ATE539520T1 (en) | 2012-01-15 |
US20080070563A1 (en) | 2008-03-20 |
CN1783810A (en) | 2006-06-07 |
EP1641183B1 (en) | 2011-12-28 |
EP1641183A2 (en) | 2006-03-29 |
US20060068811A1 (en) | 2006-03-30 |
KR101109317B1 (en) | 2012-01-31 |
EP1641183A3 (en) | 2010-11-10 |
CN1783810B (en) | 2011-10-12 |
US8086227B2 (en) | 2011-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7317914B2 (en) | Collaboratively locating disconnected clients and rogue access points in a wireless network | |
US7760654B2 (en) | Using a connected wireless computer as a conduit for a disconnected wireless computer | |
JP4733488B2 (en) | A method for cooperatively finding disconnected clients and rogue access points in a wireless network | |
US7603460B2 (en) | Detecting and diagnosing performance problems in a wireless network through neighbor collaboration | |
Adya et al. | Architecture and techniques for diagnosing faults in IEEE 802.11 infrastructure networks | |
US20100246416A1 (en) | Systems and methods for remote testing of wireless lan access points | |
EP1493240B1 (en) | Monitoring a local area network | |
US8576812B2 (en) | Methods, apparatuses and systems facilitating management of airspace in wireless computer network environments | |
US7346338B1 (en) | Wireless network system including integrated rogue access point detection | |
US9137670B2 (en) | Method for detecting rogue devices operating in wireless and wired computer network environments | |
US7516049B2 (en) | Wireless performance analysis system | |
US7668513B2 (en) | Platform for enterprise wireless network management applications | |
US20060193299A1 (en) | Location-based enhancements for wireless intrusion detection | |
JP4733489B2 (en) | Detect and diagnose performance problems in wireless networks by collaborating with neighboring devices | |
JP4933762B2 (en) | Using connected wireless computer as conduit for disconnected wireless computer |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |
|
AS | Assignment |
Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:034766/0001 Effective date: 20141014 |