The following detailed description refers to the accompanying drawings. Wherever possible, the same reference numbers are used in the drawings and the following description to refer to the same or similar elements. While embodiments of the invention may be described, modifications, adaptations, and other implementations are possible. For example, substitutions, additions, or modifications may be made to the elements illustrated in the drawings, and the methods described herein may be modified by substituting, reordering, or adding stages to the disclosed methods. Accordingly, the following detailed description does not limit the invention. Instead, the proper scope of the invention is defined by the appended claims.
Generally, program modules include routines, programs, components, data structures, and other types of structures that perform particular tasks or implement particular abstract data types. Moreover, the invention may be practiced with other computer system configurations, including hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, 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.
Referring now to
Consistent with an embodiment of the invention, access to network 14 by computers 2A-2B and server computer 40 may be provided by a cable television services network. Such networks may provide digital and analog video programming, telephone services, high speed Internet access, video-on-demand, and information services to customers via a hybrid fiber coax (HFC) network consisting of both optical fiber and coaxial cable lines. Network (e.g., Internet) access may be provided by connecting cable modems (such as cable modems 10A and 10B) to incoming coaxial cable lines at a customer premises. When providing Internet access, the cable television services network may serve as an Internet service provider (ISP) enabling customers to engage in a variety of online activities including browsing the World Wide Web and sending and receiving e-mail for a fee. The ISP may assign each customer an IP address that may be used to identify the customer for billing and other purposes as well as to track network usage.
Computers 2A-2B may comprise general-purpose desktop or laptop client computer systems capable of executing web browsers 4A and 4B for browsing the World Wide Web. Computers 2A-2B may also be operative to execute application programs 6A and 6B that may be used, for example, to send and receive e-mail messages over network 14. Computers 2A and 2B may further comprise wireless adapters 8A and 8B that may be used to communicate with WAPs 15A and 15B, respectively. Wireless adapters 8A and 8B and WAPs 15A and 15B may comprise a wireless local area network (WLAN). Wireless adapters 8A and 8B may be antennas that may be internal or external components of computers 2A and 2B. For instance, in one embodiment, wireless adapters 8A and 8B may be one or more integrated wireless antennas within computers 2A and 2B. In another embodiment, wireless adapters 8A and 8B may be externally connected to computers 2A and 2B via an input/output controller (not shown).
Through WAPs 15A and 15B, computers 2A and 2B may establish wireless connections with network 14 (through modems 10A and 10B), with each other, or with other computers for communicating data within the wireless range defined by various WLAN standards. In accordance with embodiments of the invention, the WLAN standards may include with the 802.11 family of specifications developed by the Institute of Electrical and Electronics Engineers for wireless LAN technology that specifies an over-the-air interface between a wireless client and a base station (e.g., a WAP) or between two wireless clients.
In establishing a connection for communicating data over network 14, WAPs 15A and 15B may use network address translation (NAT). NAT is a standard that may enable a WLAN to use one set of Internet protocol (IP) addresses for internal traffic (i.e., data communications between a computer and the WAP) and a second set of addresses for external traffic (i.e., data communications between the WAP and the Internet). In a typical WLAN, the WAP may assign all connected computers a reserved pool of internal IP address that may be then translated to one or more external IP addresses (that are assigned by the ISP) when data is communicated over the Internet.
A WAP may assign the pool of internal IP addresses using Dynamic Host Configuration Protocol (DHCP). DHCP is a protocol for assigning dynamic IP addresses to devices on a network. With dynamic addressing, a computer can have a different IP address every time it connects to the network. In particular, IP addresses may be assigned using a “request-and-grant” process in which the computer's networking software (e.g., TCP/IP) may be configured to lease an IP address from a WAP (acting as a DHCP server) for a predetermined time period.
Computer 2C may comprise a general-purpose desktop or laptop client computer system capable of wireless communication with computers 2A-2B via connected antenna 17. Computer 2C may also be also operative to execute wireless detection application 32, e-mail application 34, and web browser 36. According to an embodiment of the invention, wireless detection application 32 may be utilized to automatically detect open WAPs (i.e., unsecured WAPs) within the range of antenna 17 that are in communication with network 14. WAPs may be configured for secured access through the use of a user-generated network key or passphrase. The network key or password may be generated according to a wireless security protocol that is used to encrypt data communicated over wireless networks. Common wireless security protocols may include Wired Equivalent Privacy (WEP) and Wi-Fi Protected Access (WPA). Secured WAPs may require the network key or passphrase for connecting to wireless networks. Unsecured WAPs do not require the network key or passphrase and are known as “open.”
As described in greater detail below, wireless detection application 32 may also be utilized to automatically establish a connection with any detected open WAPs and automatically utilize the open WAPs to generate and send data traffic (e.g., an e-mail message using e-mail application 34 or navigating to a website using web browser 36) over network 14 to server computer 40. As described in greater detail below, the data traffic may be parsed for an external IP address to identify the owner of an open WAP.
Server computer 40 may be operative to execute a tracking application 42. According to an embodiment, tracking application 42 may be utilized to parse the data traffic received from computer 2C for the IP addresses of users having open WAPs. The tracking application 42 may be further utilized to compare the external IP addresses from the parsed data traffic to IP addresses stored in database 44 to determine if any of the external IP addresses match any of the stored IP addresses.
Computer 2C may be a vehicle based computer system operated by an ISP that patrols densely populated customer areas (e.g., apartment complexes) to detect open WAPs. Server computer 40 may be a component in an abuse tracking system for the ISP. IP addresses received by server computer 40 may be compared to IP addresses assigned by the ISP to determine customers with open WAPs. Once these customers are identified, the ISP may then send each customer a communication reminding them to utilize available encryption features on their WAP to protect against unauthorized use.
Referring now to
Mass storage device 24 may be connected to CPU 5 through a mass storage controller (not shown) connected to bus 12. Mass storage device 24 and its associated computer-readable media provide non-volatile storage for computer 2C. Although the description of computer-readable media contained herein refers to a mass storage device, such as a hard disk or CD-ROM drive, computer-readable media can be any available media that can be accessed by computer 2C.
By way of example, and not limitation, computer-readable media may comprise computer storage media and communication media. Computer storage media may include volatile and non-volatile, 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, EPROM, EEPROM, flash memory or other solid state memory technology, CD-ROM, digital versatile disks (DVD), or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store the desired information and that can be accessed by computer 2C.
According embodiments of the invention, computer 2C may operate in a networked environment using logical connections to remote computers through one or more wireless networks. Computer 2C may connect to the wireless networks through an antenna (i.e., the antenna 17 of
Mass storage device 24 and RAM 9 may also store one or more program modules. In particular, mass storage device 24 and RAM 9 may store wireless detection application 32, e-mail application 34, and web browser 36, as described above with respect to
Referring now to
Referring now to
Routine 300 may continue from operation 320 at operation 330 where wireless detection application 32 selects an open WAP from the detected unsecured wireless networks. In particular, if multiple wireless networks are detected by wireless detection application 32, unsecured wireless networks representing open WAPs may be individually selected in alphabetical or numerical order while secured wireless networks are ignored.
Routine 300 may continue from operation 330 at operation 340 where wireless detection application 32 establishes a wireless connection with the selected WAP. In particular, wireless detection application 32 may automatically request a DHCP lease from the selected WAP to receive an internal IP address for establishing a connection to the selected WAP.
Routine 300 then continues from operation 340 at operation 350 where wireless detection application 32 automatically sends data over the wireless connection established with the selected WAP through network 14 to determine the identify of a user of the WAP. In particular, wireless detection application 32 may generate and send Internet data traffic which is parsed by tracking application 42 to retrieve an external IP address to the server 40. As discussed above with respect to
In another embodiment of the invention, the Internet data traffic sent to server 40 may also be generated as a result of wireless detection application 32 being configured to automatically connect with an open WAP to navigate to Uniform Resource Locator (URL) for a website hosted by server 40. In this embodiment, tracking application 42 may be configured to monitor requests for the website and retrieve the external or source IP address from received request data. The external IP address in the received request data represents the network (e.g., ISP) assigned IP address for the owner of the WAP used to navigate to the URL. It will be appreciated that the URL may be designated to only be used upon detecting an open WAP. Other types of Internet data traffic may also be received by server 40 for determining an external or source IP address identifying a user of an open WAP including, but not limited to, User Datagram Protocol (UDP) data and data packets, such as those used to troubleshoot Internet connections (e.g., “Ping”), etc.
Routine 300 continues from operation 350 at operation 360 where wireless detection application 32, after sending the data to the server 40, automatically disconnects from the currently selected open WAP. Routine 300 then continues from operation 360 at operation 370 where the wireless detection application 32 determines if there are any additional detected open WAPs. If there are additional open WAPs, routine 300 returns to operation 330 where the next open WAP may be selected. If there are no additional open WAPs, routine 300 then ends.
Referring not to
Routine 400 may continue from operation 420 at operation 430 where wireless detection application 32 selects an open WAP from any unsecured wireless networks as discussed above with respect to
Routine 400 then continues from operation 440 at operation 450 where wireless detection application 32 automatically sends data over the wireless connection established with the selected WAP through network 14 to determine the identify of a user of the WAP as discussed above with respect to
Based on the foregoing, the various embodiments of the invention include methods and computer-readable media for automatically identifying a user of an open wireless access point in a communications network. The methods and computer-readable media enable a data services provider, such as an ISP, to detect customers with open wireless access points which may be exploited by unauthorized users to access the communications network.
The above specification, examples and data provide a complete description of the manufacture and use of the composition of the invention. Since many embodiments of the invention can be made without departing from the spirit and scope of the invention, the invention resides in the claims hereinafter appended.