CROSS REFERENCE TO RELATED CO-PENDING APPLICATIONSThis application is a non-provisional application of and claims the benefit of U.S. provisional application Ser. No. 61/729,202 filed on Nov. 21, 2012 and entitled “System and methods for data leakage, eavesdropping and spyware detection, alerting and blocking” which is commonly assigned and the contents of which are expressly incorporated herein by reference.
FIELD OF THE INVENTIONThe present invention relates to a system and method for detecting, alerting and blocking data leakage, eavesdropping and spyware in networked computing devices.
BACKGROUND OF THE INVENTIONNetworked computing devices have a high risk for being attacked by malicious code for gaining remote access, eavesdropping and spying. In particular, Windows™ computing devices, iPhone™, Android™ and Windows™ Phone are incredibly high risk environments for being spied upon without the end-user's knowledge. Many search engine resulting links such as those of BING™ and of GOOGLE™ contain drive-by malware that allows for remote espionage and provides access to sensitive information stored in the networked computing devices. This unauthorized access to sensitive information provides an increased opportunity for cyber-crime. Currently available anti-virus, anti-malware, and anti-spyware applications focus on trying to detect malware based on known signatures or behavior. However, new types of malware are being developed constantly and the currently available firewall, intrusion detection, intrusion prevention, anti-virus, anti-malware, and anti-spyware applications cannot detect, prevent or react to most of the new types of malware.
In particular, none of the currently available security utilities can answer these questions: Which ports or device interfaces are open? Is the wireless port enabled? Is it connected to a network? Is the Bluetooth or Infrared Interface enabled? Is the webcam on? Is the universal serial bus (USB) port enabled? Is the microphone on? Some of the currently available security applications come with keylogger detection utilities. However, there are no guarantees that these applications will also stop keyboard eavesdropping. Most users want SKYPE™ and Microsoft instant messaging (IM) on in order to be able to communicate and therefore numerous communication ports remain open. Malware may use these open ports to phone home to callback uniform resource locators (URLs). Spyware may use these open ports to send eavesdropping information to those who are maliciously eavesdropping, unbeknownst to the victim or the plethora of security utilities.
Accordingly, there is a need for improved systems and methods for detecting, alerting and blocking data leakage, eavesdropping and spyware in networked computing devices.
SUMMARY OF THE INVENTIONThis present invention provides a system and method for detecting, alerting and blocking data leakage, eavesdropping and spyware in networked computing devices.
In general, in one aspect the invention provides a computer-implemented method for detecting, alerting and blocking data leakage, eavesdropping and spyware in one or more networked computing devices. The method includes providing a graphical user interface (GUI) and displaying all available hardware device interfaces in each networked computing device. Next, providing a turn-on switch and a turn-off switch for each displayed hardware device interface in each networked computing device. Next, providing a turn-all-on switch and a turn-all-off switch for all displayed hardware device interfaces in each networked computing device. Next, monitoring status of each available hardware device interface and data traffic across each available hardware device interface. Upon detecting an unauthorized change of status of a specific hardware device interface or unauthorized data traffic across a specific hardware device interface providing a warning signal, turning off the specific hardware device interface by activating the turn-off switch for the specific hardware device interface or the turn-all-off switch.
Implementations of this aspect of the invention may include one or more of the following features. Upon resolving the unauthorized change of status of the specific hardware device interface or unauthorized data traffic across the specific hardware device interface, turning on the specific hardware device interface by activating the turn-on switch for the specific hardware device interface or the turn-on-off switch. Activation of the turn-on, turn-off, turn-all-on, turn-all-off switches is initiated locally by a user of the networked computing device, or remotely by an administrator of the networked computing device. The networked computing device includes a central processing unit (CPU), a security application, and a display. The security application provides computer implemented operations and instructions that monitor, detect and block data leakage, eavesdropping and spyware across all available hardware device interfaces in each of the networked computing device. The CPU executes the computer implemented instruction provided by the security application, and the display displays the GUI. The method further includes providing a first table comprising a list of applications and authorized status of each available hardware device interface for each application and storing the first table in a database. The method further includes providing a second table comprising a list of known malicious applications and storing the second table in the database. The method further includes providing a server configured to access the one or more networked computing devices via a network connection. The server comprises a command center, a dashboard, a toolbar, a taskbar, a standalone GUI and an application programmer's interface (API). The command center is configured to manage remotely security applications in the one or more networked computing devices. The method further includes creating rules and policies and installing them in the security applications of the one or more networked computing devices and the server via the command center. The method further includes summarizing and presenting in the dashboard real-time events occurring in the one or more networked computing devices and the server. The method further includes displaying the status of all available hardware device interfaces in the toolbar for the one or more networked computing devices and the server. Communications between the server and the one or more networked computing devices comprise secure communications protocols. The secure communication protocols comprise one of secure socket layer (SSL), or transport layer security (TLS). The server further comprises a real-time kernel driver and a rootkit ‘system’ healer. The real-time kernel constantly monitors the status of all controlling interfaces and settings and in the event a hacker or malicious code tampers with the security applications, the rootkit “system” healer restores the security applications. The available hardware device interfaces may be a keyboard, mouse, touchscreen, webcam, USB hardware device interface, microphone, Flash memory, Infrared, Bluetooth, Ethernet, Wireless, LAN, WAN, VPN, text messaging interfaces, telephone interfaces, modem, cellular, GPS interfaces, gesture based interfaces or eye-motion based interfaces. The turn-on, turn-off, turn-all-on, turn-all-off switches comprise slidably activated switches, or comprise pressure-activated switches. The networked computing devices may be personal computers, servers, desktops, laptops, mobile phones, iPhones™, iPads™, iTouches™, Droids™, Blackberry™ devices, Windows™ phone, Android™ phones, personal digital assistants (PDAs), or tablet devices. The warning signal may be a visual warning signal or an acoustical warning signal. The visual warning signal comprises flashing of the specific hardware device interface image in the GUI. The method further includes, prior to installing a new application in any of the one or more networked computing devices, sending a message comprising the hardware device interfaces to which the new application requests access and asking for installation permission and which hardware device interfaces should be blocked.
In general, in another aspect, the invention features a system for detecting, alerting and blocking data leakage, eavesdropping and spyware in one or more networked computing devices including a graphical user interface (GUI) displaying all available hardware device interfaces in each networked computing device, a turn-on switch and a turn-off switch for each displayed hardware device interface in each networked computing device, a turn-all-on switch and a turn-all-off switch for all displayed hardware device interfaces in each networked computing device, and a security application. The security application is configured to monitor status of each available hardware device interface and data traffic across each available hardware device interface, and upon detecting an unauthorized change of status of a specific hardware device interface or unauthorized data traffic across a specific hardware device interface providing a warning signal and turning off the specific hardware device interface by activating the turn-off switch for the specific hardware device interface or the turn-all-off switch.
In general, in another aspect, the invention features a computer program product for detecting, alerting and blocking data leakage, eavesdropping and spyware in one or more networked computing devices. The computer program product is stored on a computer readable medium and includes computer code for providing a graphical user interface (GUI) and displaying all available hardware device interfaces in each networked computing device, computer code for providing a turn-on switch and a turn-off switch for each displayed hardware device interface in each networked computing device, computer code for providing a turn-all-on switch and a turn-all-off switch for all displayed hardware device interfaces in each networked computing device, computer code for monitoring status of each available hardware device interface and data traffic across each available hardware device interface, computer code for providing a warning signal, upon detecting an unauthorized change of status of a specific hardware device interface or unauthorized data traffic across a specific hardware device interface and computer code for turning off the specific hardware device interface by activating the turn-off switch for the specific hardware device interface or the turn-all-off switch.
Among the advantages of this invention may be one or more of the following. The present invention broadly monitors and protects all the high-risk hardware device ports and interfaces that are accessible by both the end-user and software applications, including modern malware.
The Snoopwall technology of the present invention complements prior art security applications, which usually monitor network traffic across network traffic ports. Network traffic ports may be opened for allowing Internet communications. In one example,port80 is opened for allowing World Wide Web communications via the hypertext transfer protocol (HTTP). In another example, port21 is opened for allowing file transfers via the file transfer protocol (FTP). Prior art security applications focus on monitoring these network traffic ports for malicious traffic and review packets of data traveling over these network traffic ports. The Snoopwall technology of the present invention does not need to eavesdrop on any network traffic packets or data as it is designed to monitor access to the actual Ethernet hardware device ports and to alert end-users about any new attempted access to these hardware device ports. The Snoopwall technology of the present invention does not need any information or frequent updates about the types of traffic that may flow across the many (up to 65535) network traffic ports using many different protocols. Therefore, the Snoopwall technology of the present invention complements prior art security applications and techniques and provides a more efficient method of blocking access to the network through the actual hardware device interface ports such as Ethernet, Wireless Ethernet, among others.
The Snoopwall technology of the present invention is focused on the root cause of data leakage, i.e., access to the high-risk hardware interface ports, while prior art security applications focus on detecting the signatures of the malware payload or the malware behavior. Therefore, the Snoopwall technology of the present invention is applicable against any type of malware including new or not yet detected types of malware, whereas the prior art security applications are applicable only to already known malware. In particular, the Snoopwall technology of the present invention is applicable against advanced persistent threats (APTs) malware, which is malware that is nearly impossible to detect or remove. The Snoopwall technology of the present invention is also applicable against zero-day (O-day) or other new forms of malware. As the Snoopwall technology of the present invention focuses on the management of the high-risk hardware interface ports, it will not require any updates for malware signatures or malware behavioral heuristics. The only necessary updates for the Snoopwall technology to properly secure an end-user environment would be only when new high-risk hardware interface ports are created, which is a very infrequent event. This is not only uniquely complementary to existing security utilities, it is a completely radical approach—focusing on the areas where data is leaked from, instead of focusing on the detection of each possible piece of new malware being delivered to the end-user system in some form of payload or application.
BRIEF DESCRIPTION OF THE DRAWINGSFIG. 1 is a schematic diagram of the network architecture of asystem80 for blocking data leakage, eavesdropping and spyware applications according to this invention;
FIG. 2 is a schematic diagram of thecomputing device92A ofFIG. 1;
FIG. 3 is a schematic diagram of one embodiment of a graphical user interface (GUI)100 used in thecomputing device92A ofFIG. 2;
FIG. 4 is a block diagram of the components ofsystem80 ofFIG. 1;
FIG. 5-FIG.8 depict an embodiment of a GUI, used in a mobile communication device for detecting, alerting and blocking data leakage, eavesdropping and malicious spyware; and
FIG. 9 depicts a table used to set permissions and denials for specific applications.
DETAILED DESCRIPTION OF THE INVENTIONIn general, the present invention relates to eavesdropping and spyware blocking technology, and more specifically it relates to systems and methods for blocking data leakage, eavesdropping and spyware technology in networked devices by controlling access to various high-risk data ports or hardware device interfaces. These high risk ports include Webcam, USB, Microphone, Flash Memory, Infrared, Bluetooth, Wireless, LAN, WAN, VPN, Cellular and GPS interfaces, among others.
Referring toFIG. 1, a client-server system80 for blocking data leakage, eavesdropping and spyware applications according to one embodiment of this invention includescomputing devices92A,92B,mobile communication devices92C, personaldigital assistant devices92D, Tablet/iPad™ device92F and aserver92E.Devices92A,92B,92C,92D,92F are connected to each other and to theserver92E via anetwork90. In other embodiments,system80 includes additional computing devices including personal computers, servers, desktops, laptops, iPhones, iPads, iTouches, Droids, Blackberry devices, Windows phone, Android phones, or other tablet devices, among others.
In one example,networked computing device92A includes a central processing unit (CPU)96,software applications97, access ports (or hardware device interfaces)102A - - -102N,memory98,database99, aSnoopwall application200, and adisplay94, as shown inFIG. 2. TheSnoopwall application200 provides computer implemented operations and instructions that monitor, detect and block data leakage, eavesdropping and spyware of thecomputing device92A. In particular,application200 provides functionalities for monitoring, detecting and blocking data leakage and eavesdropping in the data stored indatabase99,memory98, and in operations executed by theCPU96. These functionalities include monitoring information flow across allports102A . . .102N and closing of selected ports when data leakage, eavesdropping or spyware are detected.Snoopwall application200 also presents a graphical user interface (GUI)100, as shown displayed indisplay94 ofFIG. 2.Database99 includes a list ofapplications300 and information whether each application is allowed to run on the specific computing device and to which ports of the computing device should have access, as shown inFIG. 9. The user of thecomputing device92A and the administrator of the client-server system80 are allowed to manually enter permissions and denials of applications inlist300 and set access to specific ports and store the information indatabase99.Database99 also stores a list of known malicious applications that should not be allowed to run on the computing device or have access to any or specific ports.
Snoopwall application200 also reviews each application prior to installing or running it on a device and determines the associated application unique signature and the requests for access to the high-risk access ports by the application.Application200 stores this information in thedatabase99 and informs the user of the application prior its installation. In one example, the application ANGRYBIRDSFORAPPLE.exe is downloaded to a Windows™ iTunes™ platform and theSnoopwall application200 reviews the downloaded file to determine which device ports the downloaded application tries to access. It was found that the ANGRYBIRDSFORAPPLE.exe application tries to access the GPS, USB, Bluetooth, Internet, webcam and microphone, whereas the ANGRYBIRDSFORAPPLE.exe application is not supposed to have access to these hardware device ports. This information is stored in thedatabase99 in the list of applications and is shared and communicated to all end-users. When users try to install the ANGRYBIRDSFORAPPLE.exe application in their iPad™ tablet, theSnoopwall application200 sends out a message to them informing them that the application they want to install tries to access the above mentioned device ports and asks them if they really want to install this application and if they want to block access of the application to any or all of the above mentioned device ports.
Referring toFIG. 3,GUI100 displays in real time the status of all access ports (or hardware device interface)102A . . .102N. In the example ofFIG. 3,ports102A . . .102N, are arranged linearly within atoolbar100A. In other examples,ports102A . . .102N are depicted in other geometric arrangements including vertical arrangements, horizontal arrangements, circular arrangements, or along any other geometric or random configuration. Examples of access ports includeWebcam102A,USB port102B,Microphone102C,Flash Memory102D,Infrared102E,Bluetooth102F,Wireless102G, LAN, WAN, VPN, Cellular andGPS interfaces102H, keyboard, mouse, touchscreen, Ethernet, text messaging interfaces, telephone interfaces, modem, gesture based interfaces, eye-motion based interfaces, or other enhanced input/output (i/o) interfaces, among others.GUI100 also displays a Turn-All-ON button104, a Turn-All-OFF button103 and port specific On andOff buttons105,106.
When data leakage, eavesdropping or spyware software are detected in any ofports102A . . .102N, the port turns red, flashes and sends an acoustical warning signal. The user has the option to turn off manually the specific port by activating thecorresponding Off button106 in order to block the detected data leakage, eavesdropping or spyware software. The user has also the option to turn off manually all access ports by activating the Turn-All-OFF button103. The ports may be enabled when the problem has been resolved by activating either the Turn-All-ON button104 or the port specific Onbutton105. The system also provides automatic turning Off of all ports or specific ports when data leakage, eavesdropping or spyware software are detected in any ofports102A . . .102N. The system also provides automatic turning ON of all ports or specific ports when the problem is resolved.
System80 also includes Client-Server capabilities to allow information technology managers to control remotely any or al of the above mentioned ports in any or all of theindividual devices92A,92B,92C,92D,92F fromserver92E. These Client-Server capabilities provide real-time manual, semi-automatic and automatic detection, alerting, blocking and controlling access to various high-risk data ports in cases when data leakage, eavesdropping and spyware applications are detected.
Referring toFIG. 4, the management interface for client-server system80 includes acommand center212, adashboard214, atoolbar100A, a taskbar or systray andpopup alerts216,standalone GUI110, application programmers interface (API)220,secure communication protocol228,network interface230, devicedriver interface library222, real-time kernel driver224, Rootkit “system healer”226, and remotely managed “Snoopwall”systems232,234.
In the example ofFIG. 1,command center212 runs in the administrator's computing device (i.e., server-A92E) and is used for managing the Snoopwall security utilities running in theremote system endpoints232,234 of thenetworked computing devices92A,92B,92C,92F, as well as the Snoopwall security utilities running in the administrator'scomputing device92E.Command center212 helps create rules and policies in groups and roll them out to the Snoopwall security utilities running in the one or more remote system endpoints as well as to the Snoopwall security utilities running on the administrator's computing device.Dashboard214 summarizes real-time events from one or moreremote system endpoints232,234 as well as real-time events running on the administrator's system.Toolbar100A allows configuration changes and alerts through a simple graphical user interface (GUI), as shown inFIG. 3.Toolbar100A can also be minimized to be a Taskbar orSystray216 until the user interacts with the system or when events occur requiring Popup Alerts.
Standalone GUI110 provides the system core functionalities to thestandalone computing devices92A,92B,92C,92D,92F. These core functionalities include obtaining help, setting options, features, performing updates and other end-user functions.API220 is accessible through secure, trustedinterfaces230,222,224,226, and allows abstraction of thecommand center212,dashboard214,toolbar100A,taskbar216, andstandalone GUI110 to theendpoint systems232,234.API220 provides flexibility in how it displays events, controls and results, while the core functionality is available through this centralized set of function calls.
The remotely managedendpoint systems232,234 of thecomputing devices92A,92B,92C,92D,92F connect to theserver92E via anetwork interface230.Secure communication protocols228 such as secure socket layer (SSL), or transport layer security (TLS) are used in the connections and communications between the remotely managedendpoint systems232,234 of thecomputing devices92A,92B,92C,92D,92F and theserver92E. Core functionality exposed by theAPI220 is derived from the devicedriver interface library222 to manageWebcam102A,USB port102B,Microphone102C,Flash Memory102D,Infrared102E,Bluetooth102F,Wireless102G, LAN, WAN, VPN, Cellular andGPS interfaces102H, and to ensure that control is not subverted by a hacker or malicious software. Real-time kernel driver224 constantly monitors the status of the controlling interface and settings and in the event a hacker or malicious code are able to tamper with the “Snoopwall” application, a Rootkit “system”healer226 is installed to capture these rare but high risk events and thereby to restore the “Snoopwall” application and to block data leakage.
In the standalone configuration, theSnoopwall client application200 depicts all available ports in thestandalone GUI110 and provides visual alerts about each high-risk data leakage port's state, i.e., whether it is open or closed or if there is an attempt to open one of these ports. If a port is opened and unauthorized data transfer is detected across this port, the GUI shows a flashing icon of this port. In other embodiments, an acoustical warning signal is also sent. The user of the device and/or the remote administrator have the ability to enable or disable any or all of the displayed high-risk ports. As was mentioned above, these high-risk ports includeWebcam102A,USB port102B,Microphone102C,Flash Memory102D,Infrared102E,Bluetooth102F,Wireless102G, LAN, WAN, VPN, Cellular andGPS interfaces102H. In the case of the keyboard being attacked, the functionality of the keyboard is not disabled while the keyboard is protected against keyloggers. In the case when the USB port is being eavesdropped, the USB port is disabled while the keyboard and mouse devices remain operational. In addition, password and/or token access can be enabled as an additional security option so that no third-party can take over a high-risk data leakage port without being prompted for a password or token.
Configuration options allow for an auto-shutoff interval to be set on one or more selected high-risk data leakage ports, an auto-alert interval and method such as popup window or email, password, token and proxy server settings as well as update server information. TheSnoopwall application200 may be written using any programming language, including C, C++, Java with database interfaces into a Structured Query Language (SQL) database and/or text files containing critical user, application and ports information, among others. However, since each Snoopwall application for each standalone device has a different GUI, Kernel, Driver, Rootkit and Secure Communication methodologies, the code of the Snoopwall application is customized to ensure it functions securely and can self-heal on any operating system (OS) including Windows™ XP, Windows™7, Windows™8, iPhone™, iPad™, iTouch™ OS Editions, Android™ OS, Linux OS, BSD, Unix, Blackberry OS, Microsoft Phone and Tablet operating systems, among others.
In the Client-Server system configuration, theSnoopwall server92E contains all the codes of the Snoopwall clients to ensure that thelocal systems92A,92B,2C,92D,92F are secure from eavesdropping.Server92E also includes the built-in application programmers interface (API)220,dashboard214,command center212,toolbar100A, and taskbar or systray and popup alerts216.API220 allows for remote control, alerts and updates from Snoopwall client systems in the same WAN, LAN or multi-VLAN segments through authentication.Dashboard214 displays in real-time the status of the ports in each Snoopwall client and which Snoopwall clients have changed their profile.Command center212 allows making changes in single Snoopwall clients or creating groups and pushing changes to these groups. The Snoopwall Server code also includes industry standard logging using SYSLOG format about the key events of Snoopwall clients and the server itself. As was mentioned above,Snoopwall application200 may be written using any programming language, and the code is customized so that it can run on one or more operating systems including Windows™2000, Windows™ NT, Windows™ XP, Windows™7 and Windows™8 as well as Linux, BSD and Unix, among others.
Referring toFIG. 5 andFIG. 6,Snoopwall application200A for amobile phone92C includes aGUI screen120 that depicts aprivacy meter indicator122, the amount of CPU used124, the battery voltage used126, the storage capacity used127, the memory capacity used125, and thebattery power level123.GUI120 also includes atoolbar121, a button for initiating aprivacy audit function128 and atake control button129. Activating thetake control button129 presents anew GUI screen130, shown inFIG. 7.GUI screen130 depicts the status of all high riskports including microphone131,Bluetooth interface132,GPS133,storage134,USB135,Infrared interface136, Wi-Fi interface137,camera138,SMS messaging port139 and thephone port140. Next to each port there is a slidably activatedbutton150 that can be set to theOn position150aor theOff position150band thereby to enable or disable the corresponding port.Screen130 also includes images of theactive applications145 and allows the user to turn on or off the applications by slidingbutton150 to theOn position150aor theOff position150b, as shown inFIG. 8.
In operation, everynetworked computing device92A,92B,92C,92D,92F is equipped with an anti-eavesdropping utility, i.e., aSnoopwall application200, that complements all existing firewalls and all anti-virus programs. With theSnoopwall application200 installed, a user can easily see which data ports are open, which ports are closed and if there is unauthorized data leakage (eavesdropping) across a port. The user receives visual alerts when there is unauthorized eavesdropping across a port and has the option to select which ports to keep open and which port to disable. Ports may be disabled completely and remain closed until the user unlocks them with a secret password. As was mentioned above, there are two versions of the Snoopwall application, the consumer (also known as the “standalone” configuration) edition and the enterprise edition (also known as the “client-server” configuration). The enterprise edition includes acommand center212,dashboard214 andremote management API220. Whether operating in the standalone or in the client-server configuration, the Snoopwall application enables computing device managers and owners to finally take control of these devices and truly know if there is any attempt to eavesdrop on them through high risk data leakage ports.
Several embodiments of the present invention have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the invention. Accordingly, other embodiments are within the scope of the following claims.