The rise of the Internet and networking technologies has resulted in the widespread transfer of code, data and files between computers. This material is not always what it seems to be. For example, code that is accessed on a remote machine and downloaded to a computer system can contain hostile algorithms that can potentially destroy code, crash the system, corrupt code or worse. Some of these hostile algorithms are viruses, worms, and Trojan horses.
Hostile, malicious and/or proscribed code, data and files (“code” as used hereinafter generally includes “text,” “data” and “files”) can infect a single computer system or entire network and so posit a security risk to the computer system or network. The user and/or administrator (generally referred to hereinafter as “user”) may wish to intercept, examine and/or control such code. The user might also wish to intercept, examine and/or control other code and/or text as well, for example, text which the user does not know to be hostile, but wishes to intercept nonetheless, such as potentially sexually or racially harassing messages, unsolicited messages, etc. This latter type of code is known hereinafter as “predetermined code.”
One method of transferring code, instant messaging, has become increasingly popular. Instant messaging may be used for real time text exchanges, as well as other exchanges, such as image transfer, voice and/or video chat, interactive games, code transfers, remote assistance, whiteboarding, code and/or application sharing, etc. Thus a user may transmit code through instant messaging as well as text messages.
The transmission of code through instant messaging may include hostile, malicious, predetermined and/or proscribed code (generally referred to hereinafter as “proscribed code.”) Additionally, although messages themselves are usually clear text, encryption may be used on messages and/or code etc., e.g. through Secure Sockets Layer (SSL) and Secure Multi-Purpose Internet Mail Extension (S/MIME).
As with other transfers, it may be desired to secure instant messaging. However, instant messaging applications, such as AOL Instant Messenger (AIM), NET Messenger (including Windows Messenger, MSN Messenger, etc.), Yahoo Messenger, etc., may be difficult to secure for a number of reasons. For example, in an enterprise installation, IM applications may be installed illegitimately, and thus serve as a conduit for proscribed code. Even those installations that are legitimate may provide, through IM, proscribed code to the user's machine.
Indeed, since Instant Messaging protocols may make use of tunneling and port scanning in order to transmit messages, they may transmit proscribed code without detection. Thus, FTP, Telnet and/or HTTP ports for example may be used by an IM application. As these ports are often left open for other applications, it is difficult to shut them off for IM applications.
Similar problems exist with peer-to-peer and peer-to-peer like applications, e.g., Gnutella (peer-to-peer), Kazaa (peer-to-peer like, as it utilizes a central server.) (Both are referred to herein as “peer-to-peer” or “P2P.”) These applications may be installed illegally or without authorization on a system, and may make use of tunneling, port scanning and other techniques making detection difficult.
Therefore, it would be beneficial to have apparatus, methods and articles of manufacture to simply and effectively intercept, control, and/or examine incoming and outgoing instant messaging and/or peer-to-peer code in an efficient and effective manner transparently or almost transparently to the end-user, with little or no operational effort required by the user.
It would further be beneficial to have apparatus, methods and articles of manufacture to simply and effectively intercept, control, and/or examine incoming and outgoing secure instant messaging and/or peer-to-peer code in an efficient and effective manner transparently or almost transparently to the end-user, with little or no operational effort required by the user.