Claims
- 1. A method for identifying an unauthorized client communication system seeking access to a host communication system, comprising:
locating a memory segment within a client communication system that stores client software used to access a host communication system; determining whether the client software stored in the memory segment located corresponds to client software for an official client communication system; and identifying the client communication system as an unauthorized client communication system when the client software stored in the memory segment located does not correspond to the client software for an official client communication system.
- 2. The method of claim 1, wherein locating the memory segment comprises:
identifying a type or version of client software being used by the client communication system to enable communication, and locating the memory segment of the client communication system based on the identified type or version.
- 3. The method of claim 2, wherein identifying the type or version comprises receiving information indicating the type or version of the client software from the client communication system when a communication session is initiated.
- 4. The method of claim 2, wherein identifying the type or version comprises performing a diagnostic on the client communication system to automatically determine the type or version of the client software.
- 5. The method of claim 1, wherein locating the memory segment comprises locating a memory segment of the client communication system that includes client software that remains unchanged in memory segments of official client communication systems.
- 6. The method of claim 1, wherein locating the memory segment comprises locating a memory segment of the client communication system that includes client software that is user independent in memory segments of official client communication systems.
- 7. The method of claim 1, wherein locating the memory segment comprises identifying the memory segment based on a random selection among several memory segments that store the client software.
- 8. The method of claim 7, wherein identifying the memory segment comprises identifying the memory segment based on a random selection among several memory segments including client software that remains unchanged with respect to each particular client.
- 9. The method of claim 8, wherein identifying the memory segment comprises identifying the memory segment based on a random selection among several memory segments including a continuous piece of client software on the memory segment that is stored without relocation of any intermediate client software.
- 10. The method of claim 1, wherein determining whether the client software corresponds to official software comprises comparing the client software stored in the identified memory segment with the corresponding client software of the official client communication system.
- 11. The method of claim 10, wherein comparing the client software comprises:
performing a mathematical computation on the contents of the identified memory segment; and comparing results from the mathematical computation performed on the contents of the identified memory segment against a mathematical representation for the corresponding client software of the official communication system.
- 12. The method of claim 11, wherein the mathematical computation comprises a checksum.
- 13. The method of claim 11, wherein the mathematical computation comprises a hashing algorithm.
- 14. The method of claim 1, further comprising terminating communications from the client communication system when the client software stored in the memory segment is determined to diverge from predictable client software for an official client communication system.
- 15. The method of claim 13, wherein terminating communications is performed after a predetermined and intentional delay once the client communication system is identified as an unauthorized client communication system.
- 16. The method of claim 1, further comprising sending a notification to the user of the client communication system indicating identification of an unauthorized client when the client software stored in the memory segment is determined to diverge from predictable client software for an official client communication system.
- 17. A computer readable medium or propagated signal having embodied thereon a computer program for identifying an unauthorized client communication system seeking access to a host communication system, the computer program comprising:
a locating code segment for locating a memory segment within a client communication system that stores client software used to access a host communication system; a determining code segment for determining whether the client software stored in the memory segment located corresponds to client software for an official client communication system; and an identifying code segment for identifying the client communication system as an unauthorized client communication system when the client software stored in the memory segment located does not correspond to the client software for an official client communication system.
- 18. The medium of claim 17, wherein the locating code segment comprises:
an identifying code segment for identifying a type or version of client software being used by the client communication system to enable communication, and a locating code segment for locating the memory segment of the client communication system based on the identified type or version.
- 19. The medium of claim 18, wherein the identifying code segment comprises a receiving code segment for receiving information indicating the type or version of the client software from the client communication system when a communication session is initiated.
- 20. The medium of claim 18, wherein the identifying code segment comprises a performing code segment for performing a diagnostic on the client communication system to automatically determine the type or version of the client software being used by the client communication system to enable communication.
- 21. The medium of claim 17, wherein the locating code segment comprises a code segment for locating a memory segment of the client communication system that includes client software that remains unchanged in memory segments of official client communication systems.
- 22. The medium of claim 17, wherein the locating code segment comprises a code segment for locating a memory segment of the client communication system that includes client software that is user independent in memory segments of official client communication systems.
- 23. The medium of claim 17, wherein the locating code segment comprises an identifying code segment for identifying the memory segment based on a random selection among several memory segments that include the client software.
- 24. The medium of claim 23, wherein the identifying code segment comprises a code segment for identifying the memory segment based on a random selection among several memory segments including client software that remains unchanged.
- 25. The medium of claim 17, wherein the determining code segment comprises a comparing code segment for comparing the client software stored in the identified memory segment with the corresponding client software of the official client communication system.
- 26. The medium of claim 25, wherein the comparing code segment comprises:
a performing code segment for performing a mathematical computation on the contents of the identified memory segment; and a comparing code segment for comparing results from the mathematical computation performed on the contents of the identified memory segment against a mathematical representation for the corresponding client software of the official communication system.
- 27. The medium of claim 26, wherein the mathematical computation comprises a checksum.
- 28. The medium of claim 26, wherein the mathematical computation comprises a hashing algorithm.
- 29. The medium of claim 17, further comprising a terminating code segment for terminating communications from the client communication system when the client software stored in the memory segment is determined to diverge from predictable client software for an official client communication system.
- 30. An apparatus for identifying an unauthorized client communication system seeking access to a host communication system, the apparatus comprising:
a locator structured and arranged to locate a memory segment within a client communication system that stores client software used to access a host communication system; a comparing device structured and arranged to determine whether the client software stored in the memory segment located corresponds to client software for an official client communication system; and an identifier structured and arranged to identify the client communication system as an unauthorized client communication system when the client software stored in the memory segment located does not correspond to the client software for an official client communication system.
- 31. The apparatus of claim 30, wherein the locator comprises:
an identifier structured and arranged to identify a type or version of client software being used by the client communication system to enable communication, and a locator structured and arranged to locate the memory segment of the client communication system based on the identified type or version.
- 32. The apparatus of claim 31, wherein the identifier comprises a receiver structured and arranged to receive information from the client communication system when the communication session is initiated indicating the type or version of client software.
- 33. The apparatus of claim 31, wherein the identifier comprises a testing device structured and arranged to perform a diagnostic on the client communication system to automatically determine the type or version of the client software being used by the client communication system to enable communication.
- 34. The apparatus of claim 30, wherein the locator comprises a memory segment locator structured and arranged to locate a memory segment of the client communication system that includes client software that remains unchanged in memory segments of official client communication systems.
- 35. The apparatus of claim 30, wherein the locator comprises a memory segment locator structured and arranged to locate a memory segment of the client communication system that includes client software that is user independent in memory segments of official client communication systems.
- 36. The apparatus of claim 30, wherein the locator comprises an identifier structured and arranged to identify the memory segment based on a random selection among several memory segments that include the client software.
- 37. The apparatus of claim 36, wherein the identifier comprises a memory segment identifier structured and arranged to identify the memory segment based on a random selection among several memory segments including client software that remains unchanged.
- 38. The apparatus of claim 30, wherein the comparing device comprises a comparing device structured and arranged to compare the client software stored in the identified memory segment with the corresponding client software of the official client communication system.
- 39. The apparatus of claim 38, wherein the comparing device comprises:
a testing device structured and arranged to test a mathematical computation on the contents of the identified memory segment; and a comparing device structured and arranged to compare results from the mathematical computation performed on the contents of the identified memory segment against a mathematical representation for the corresponding client software of the official communication system.
- 40. The apparatus of claim 39, wherein the mathematical computation comprises a checksum.
- 41. The apparatus of claim 39, wherein the mathematical computation comprises a hashing algorithm.
- 42. The apparatus of claim 30, further comprising a device structured and arranged to terminate communications from the client communication system when the client software stored in the memory segment is determined to diverge from predictable client software for an official client communication system.
Parent Case Info
[0001] This application claims priority from U.S. application No. 09/749,638, filed Dec. 28, 2000, and U.S. Provisional Application No. 60/218,243, filed Jul. 14, 2000, which is incorporated by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60218243 |
Jul 2000 |
US |
Continuations (1)
|
Number |
Date |
Country |
| Parent |
09749638 |
Dec 2000 |
US |
| Child |
09851121 |
May 2001 |
US |