The present disclosure relates to security methods, systems, and computer program products for internet content.
Web-based advertisements have become increasingly popular. Advertisements can be provided in varying forms including video clips, animations, and/or static images. The advertisements can be displayed by a web page by dynamically integrating a specific advertisement into a static display object or a video object. The dynamic integration allows for various advertisements to be displayed by the web page without altering the web page each time a new advertisement is displayed.
In some instances, security of the advertisement objects is compromised when unknown sources script to and redirect the web browser so that an advertisement from a third party supplier can be loaded into and displayed by the objects. Detection and prevention of such intrusions is desirable.
Accordingly, in one example, a web content security system embedded in a computer-usable storage medium that identifies potential threats when executed by one or more processors is provided. The web content security system includes a communications monitor module that monitors at least one of data communications between web objects on a web page and data communications between web objects on a web page and a server, and that identifies a potential threat based on the data communications. A logger module generates report data based on the identified potential threat.
Further areas of applicability will become apparent from the description provided herein. It should be understood that the description and specific examples are intended for purposes of illustration only and are not intended to limit the scope of the present disclosure.
The drawings described herein are for illustration purposes only and are not intended to limit the scope of the present disclosure in any way. It should be understood that throughout the drawings, corresponding reference numerals indicate like or corresponding parts and features.
Turning now to the drawings in greater detail, it will be seen that in
As can be appreciated, the computer 12 can be any computing device that includes a processor 20 and a data storage device 22, including, but not limited to, a desktop computer, a laptop, a workstation, a cell phone, and a personal handheld device. The computer 12 is shown to be associated with a display 24 and one or more input devices 26, 28 that can be used by a user to communicate with the computer 12. As can be appreciated, such input devices 26, 28 can include, but are not limited to, a mouse, a keyboard, and a touchpad.
The data storage device 22 stores software instructions of a browser application 41 and the processor 20 executes the instructions of the browser application 41. The browser application 41 generates a web browser 42 that is presented to a user by the display 24. The user interacts with the web browser 42 via the input devices 26, 28 to navigate to a particular web page 44. The browser application 41 retrieves the web page 44 from the servers 14, 16 via the network 18.
The servers 14, 16 similarly include one or more processors 30, 32 respectively and one or more data storage devices 34, 36 respectively. In various embodiments, the server 14 is a main server that includes a web page manager 38 and the server 16 is a web content server that includes a web content manager 40. The web content manager 40 manages web page content that is stored in the server 16. Such web page content can include, but is not limited to, displayer content such as video player data and ad display data used to generate a video player or an ad displayer of the web page 44, and display data such as video data and ad data that is displayed by the video player or the ad displayer. As can be appreciated, the web page content can include any data that is dynamically displayed by the web page 44.
The web page manager 38 manages web page requests that are initiated by a user interacting with the web browser 42. Based on the requests, the web page manager 38 constructs and delivers the web page 44. As shown in
With reference back to
While the web page 44 is being displayed, the content security manager 60 (
Turning now to
The communications monitor module 62 receives as input data associated with various types of communications between the web objects themselves and between the web objects and the server, including but not limited to, inter-object communication data, and object-server type communication data. For example, the communication data 70 can include a request to the server 16 (
The communications monitor module 62 monitors the communication data 70 and compares information in the communication data to data stored in the threat datastore 68. If the information matches or is substantially similar to identified threat sources in the threat datastore 68, the communications monitor module 62 generates communication threat data 72 identifying the communicating threat. The communication monitor module 62 generates communication event data 74 associated with the communication threat data 72 for logging purposes. The communication event data can include information indicating the conditions surrounding the communication request, for example, to what object the communication was made and/or from what object or entity the communication was made, etc.
The logger module 64 receives as input the communication event data 74. The logger module 64 generates report data 76 that reports the communications event data or a subset thereof to resources. The reports can be evaluated to determine threat patterns and/or threat sources that are associated with the communication threat data. In various embodiments, the threat datastore 68 can be updated based on the threat patterns and/or threat sources. In the event of a potential threat, respective resources are notified via threat notification data 78 of the vulnerability and given one or more options. In various embodiments, the options include, but are not limited to: reject or cancel the operation; monitor closely the patterns (e.g., when an unknown or new vulnerability is identified); automatically reject/block these requests in the future; trace the internet protocol (IP) address of the vulnerability and block; log the information and share with others; and collaborate with others and take action based thereon.
Selection data 80 is received by the logger module 64 based on a user's selection of one of the options. If in the event the selection data 80 indicates to reject or cancel the operation, to automatically reject/block these requests in the future, or to trace the IP address of the vulnerability and block, the logger module 64 generates a block request 82 accordingly.
The interceptor module 66 receives as input the block request 82, and the communication threat data 72. Based on the block request 82, the interceptor module 66 intercepts the communication and blocks or cancels the associated request via interception data 84. For example, based on the type of block request, the interceptor module 66 can reject the particular operation associated with the request, can automatically block requests associated with this type of communication in the future, and/or block all communications from the particular IP address. In various embodiments, the interceptor module 66 generates a notification via block notification data 86 to the communicating entity when the communication has been intercepted.
Turning now to
Turning now to
Turning now to
In various embodiments, the method is scheduled to run while the web page 44 (
In one example, the method may begin at 100. Communications are monitored at 110. The communication information is compared with threat source information at 120. If the communication is a potential threat at 120, a notification is generated to a resource based on the threat type at 130. If, however, the communication is not a threat at 120, the method continues with monitoring the communications at 110.
Upon receiving a selection of an option that is generated by the resource at 140, the selection is evaluated at 150-170. If the selection indicates to block or cancel the communication at 150, based on the block or cancel type the specific communication is intercepted and canceled, and/or any communication from that source is intercepted and canceled 180 and a block notification is generated at 190. Thereafter, the threat datastore 68 (
If, however, the selection indicates to log the information for later evaluation at 160, the communication information surrounding the particular threat communication is stored in a log file at 210 and the method may end at 205.
If, however, the selection indicates to collaborate with other resources at 170, a notification is generated to other resources at 220 and actions are taken based on a collective response at 230. The threat datastore 68 (
As one example, one or more aspects of the present disclosure can be included in an article of manufacture (e.g., one or more computer program products) having, for instance, computer usable media. The media has embodied therein, for instance, computer readable program code means for providing and facilitating the capabilities of the present disclosure. The article of manufacture can be included as a part of a computer system or provided separately.
Additionally, at least one program storage device readable by a machine, tangibly embodying at least one program of instructions executable by the machine to perform the capabilities of the present disclosure can be provided.
Computer program code for carrying out operations of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as XML, Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the āCā programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
Those skilled in the art can now appreciate from the foregoing description that the broad teachings of the present invention can be implemented in a variety of forms. Therefore, while this invention has been described in connection with particular examples thereof, the true scope of the invention should not be so limited since other modifications will become apparent to the skilled practitioner upon a study of the drawings, the specification and the following claims.
This patent application claims priority to US Provisional Patent Application Ser. No. 61/168023, filed Apr. 9, 2009 which is incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
61168023 | Apr 2009 | US |