WO2007109711A2 - Security scanning system and method - Google Patents

Security scanning system and method Download PDF

Info

Publication number
WO2007109711A2
WO2007109711A2 PCT/US2007/064495 US2007064495W WO2007109711A2 WO 2007109711 A2 WO2007109711 A2 WO 2007109711A2 US 2007064495 W US2007064495 W US 2007064495W WO 2007109711 A2 WO2007109711 A2 WO 2007109711A2
Authority
WO
WIPO (PCT)
Prior art keywords
program
scanning
instructions
computer
programs
Prior art date
Application number
PCT/US2007/064495
Other languages
French (fr)
Other versions
WO2007109711A3 (en
Inventor
Jerald Robert Howcroft
John J. Markley
Rocco A. Del Carmine
Original Assignee
At & T Knowledge Ventures, L.P.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by At & T Knowledge Ventures, L.P. filed Critical At & T Knowledge Ventures, L.P.
Publication of WO2007109711A2 publication Critical patent/WO2007109711A2/en
Publication of WO2007109711A3 publication Critical patent/WO2007109711A3/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1433Vulnerability analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal

Definitions

  • the present disclosure relates to the field of security risks associated with equipment used in communication networks.
  • Communication networks such as Digital Subscriber Line (DSL) networks, are used for providing a variety of services, including Internet Protocol Television (IPTV), Video-on-Demand (VoD), Voice over Internet Protocol (VoIP), access to the Internet, etc.
  • IPTV Internet Protocol Television
  • VoD Video-on-Demand
  • VoIP Voice over Internet Protocol
  • a Residential Gateway such as a DSL Modem
  • STB Set Top Box
  • each provider of the applications program typically tests such programs individually by running security scanners against the application programs prior to the installation or release of such programs.
  • Such security scanning methods are useful, but do not provide comprehensive and integrated methods for determining and fixing the security vulnerabilities of the various application programs for the network environment.
  • FIG. 1 shows an exemplary high-level functional diagram of a network for providing IPTV services according to one embodiment of the present disclosure
  • FIG. 2 shows an exemplary control panel or user interface 200 that may be provided to an STB
  • FIG. 3 shows an exemplary user interface to a program for scanning a website used according to one aspect of the present disclosure
  • FIG. 4 shows an exemplary high-level report according to one aspect of the present disclosure that summarizes the results from a scan performed via the user interface of FIG. 3;
  • FIG. 5 shows a flowchart of a method for determining security vulnerabilities in software associated with CPE according to one embodiment of the present disclosure
  • FIG. 6 is a diagrammatic representation of a machine in the form of a computer system within which a set of instructions, when executed, may cause the machine to perform any one or more of the methodologies discussed herein.
  • the present disclosure provides a system, method and programs for determining security vulnerabilities of application programs that are used to provide television services to customer premises equipment (CPE), including residential gateways and Set Top Boxes, over a communications network.
  • CPE customer premises equipment
  • the present disclosure provides a computer-readable medium accessible to a processor for executing instructions contained in a computer program embedded in the computer- readable medium, the computer program including: instructions to run a first scanning program against a first application program relating to a control panel for a customer device; instructions to run a second scanning program against a second application program that provides Internet content to the customer device; instructions to run a third scanning program against a third application program that relates to providing management of CPE; and instructions to correlate security vulnerabilities identified utilizing the first, second, and third scanning programs.
  • the disclosure includes instructions to run a fourth scanning program against a fourth application program for use in the customer device.
  • the scanning programs used include a network scanner and a web-based scanner.
  • the customer device may be a Set Top Box for providing content to a television set.
  • the third application program is a component management system.
  • the first, second, and third scanning programs are run on a first server located in the communications network (such as in a backbone network) against one of the first, second, and third application programs located at a second server.
  • the disclosure provides a method of determining security vulnerabilities for a plurality of application programs for use in providing television services to a customer device over a communications network, including: running a first scanning program against a first application program relating to a control panel for the customer device; running a second scanning program against a second application program that provides Internet content to the customer device; running a third scanning program against a component management system for CPE; and correlating security vulnerabilities identified utilizing the first, second, and third scanning programs.
  • the customer device may be a Set Top Box for providing content to a television set.
  • a fourth scanning program is run against a fourth application program for use at the customer device.
  • the first, second, and third scanning programs are run on a first server against one of the first, second, and third application programs located at at least a second server over the Internet. Access to the at least a second server may be obtained from the first server using a predefined identifier.
  • the disclosure in another aspect, provides a telecommunications network system including: a customer device; one or more application servers running one or more application programs that provide television services to the customer device; and a network server running a program for correlating security vulnerabilities determined from a running scanning programs against a plurality of application programs.
  • the set of scanning programs includes: a first scanning program to determine security vulnerabilities in a first application program relating to a control panel for the customer device; a second scanning program to determine security vulnerabilities in a second application program that provides Internet content to the customer device; and a third scanning program to determine security vulnerabilities in a third application program that is an element of a component management system associated with the CPE.
  • the set of scanning programs may further include a fourth scanning program to determine security vulnerabilities in an application program in operation at the customer device.
  • the customer device is a Set Top Box for providing content to a television set.
  • the network server may run the set of scanning programs and additionally a program for obtaining access to the one or more application programs. The system provides a consolidated report of the various security vulnerabilities identified and assigns a risk factor to each security vulnerability based on a set of rules.
  • FIG. 1 shows a high-level functional diagram of a network 100 for providing television services according to one embodiment of the present disclosure.
  • the network 100 is shown to include a backbone 110 that is coupled to the Internet 140 via one or more routers, such as a router 112.
  • the backbone may provide at least one of IPTV services, cable service, or satellite services to users as well as other content available through these services and the Internet.
  • Such content includes video content, audio content such as Voice over Internet Protocol (VoIP), and data content.
  • VoIP Voice over Internet Protocol
  • the backbone includes a variety of servers, routers and transport links for providing the content to users.
  • the backbone 110 is shown coupled to a live television content provider 114, that may include multiple television channels, such as those commonly delivered over television networks.
  • the backbone 110 also is shown to include Video-on-Demand (VoD) servers 116 that provide Video-on-Demand and Voice over Internet Protocol (Voice over IP, or VoIP) server 118 that provides telephony service over a packet-switched network.
  • VoD Video-on-Demand
  • VoIP Voice over Internet Protocol
  • the backbone 110 is shown coupled via a Digital Subscriber Line
  • DSL Data Line
  • STB Set Top Box
  • TV television
  • the customer gateway 130 may have a built-in firewall that interacts with the STB to enable remote management of the STB. Although only one STB is shown, more than one STB may be used at a customer premises.
  • the backbone may alternatively couple to the STB via a cable connection to the STB or via a satellite connection to a satellite dish 135 located at the customer location and linked to the STB over a physical link 137.
  • the STB may act as a control interface for the associated TV set.
  • a recording device such as Digital Video Recorder (DVR) 136
  • DVR Digital Video Recorder
  • STB 132 may be connected to STB 132 for the purpose of recording video content such as television content.
  • the backbone network 110 is further shown coupled to various application providers.
  • the backbone 110 is shown connected to an application provider 150 over the Internet 140 via link 153 and routers 152 and 154 that provides, among other things, web content to the STB as well as a "portal" or control panel to the STB for content navigation and selection.
  • the control panel also enables an interactive display at TV 134 through which a viewer may access content.
  • An example of a control panel is described in reference to FIG. 2.
  • the backbone 110 also is shown connected to a Component Management System (CMS) of a partner provider 120 via the Internet 140 using link 123 and routers 122 and 124.
  • CMS 120 generally provides applications for managing various aspects of CPE, including the STB 132 and customer gateway 130, including functions to enable auto- configuration and remote management. Additionally, CMS may also maintain identifiers for the CPE, such as CPE addresses, enable customers to install updates, provide accounting functions relating to CPE, track certain operations of CPE, etc.
  • CMS may also maintain identifiers for the CPE, such as CPE addresses, enable customers to install updates, provide accounting functions relating to CPE, track certain operations of CPE, etc.
  • the backbone 110 alternatively may be coupled to the application providers, such as providers 120 and 150, over direct links 162 and 164, respectively.
  • the backbone 110 may also be coupled to or have access to other partner content providers (generally designated by numeral 145) such as an interactive gaming service that enables a customer to play games against other players via a television, and a gaming service that enables a customer to bet online and settle accounts.
  • partner content providers generally designated by numeral 145
  • certain applications are installed in the STB, which are typically developed and tested by the manufacturer of such devices and/or the service provider.
  • the above-noted and other programs associated with the CPE typically include an operating system and various application programs.
  • new versions of application programs as well as updates, patches and fixes are typically developed and tested for security vulnerabilities at the application providers. For new hardware, such programs are installed at the factory. Updates and other versions are often downloaded to the CPE over the network via the DSL, cable or satellite connection.
  • IP addresses or other customer identifiers such as CPE identifiers are used to control the downloading to specific CPE.
  • CPE identifiers are used to control the downloading to specific CPE.
  • the disclosure provides a system 180 for running security scanners against various applications programs associated with CPE to identify or determine security vulnerabilities, receive information about the security vulnerabilities from the other providers, correlate the security vulnerabilities, assign risks to the security vulnerabilities, and to take corrective actions before the launch of new programs and after the installation thereof.
  • the system 180 includes one or more servers 182, a database 184 that stores security vulnerability information about each application program, various reports and other information relating to the testing of programs, and a set of computer programs 186 that includes security scanners, such as a network scanner available from Internet Security Services that scan operating systems for security vulnerabilities, and web-based scanners, such as APPSCAN, available from Watchfire, Inc.
  • the computer programs 182 also include instructions that are executed by the server 182 to perform the methods and functions described herein.
  • security scanning programs are used to determine security vulnerabilities of the applications developed at the various application providers.
  • a scanning program determines security vulnerabilities at multiple levels of the application program, such as at the operating system (OS) level and at the website level.
  • a website scanning program is used to test a web server level of an application.
  • a web site URL Uniform Resource Location
  • the scanning program may use a "webcrawler" program to automatically navigate the website and discover links and record responses as it navigates the site as a simulated user.
  • the website scanning program creates a database of vulnerabilities based on the crawl.
  • Some exemplary vulnerabilities that may occur at a web server level include vulnerability to identity theft by tampering with Internet cookies, electronic shoplifting through changing hidden fields, fraud through tampering with URL parameters, buffer overflow to shut down a business website, webpage hijacking, exploitation of programming backdoors used in testing and inadvertently left open, etc. These and other vulnerabilities may occur, for example, through a Java application or a downloaded browser code.
  • the website scanning program Upon correlating the database of vulnerabilities to a database of hacking programs, the website scanning program applies hacker techniques to test the suspected vulnerability of the web site. A detailed report may then be made concerning any located vulnerabilities at the scanned URL.
  • An OS scanning program is used to scan an operating system and any applications running at the OS level of a network device.
  • the OS scanning program typically performs a scan on an OS operating at an entered IP address after an OS (such as Unix, Linux, etc.) including OS version numbers is provided by an operator.
  • OS such as Unix, Linux, etc.
  • Exemplary OS security vulnerabilities may occur in a default account, a sendmail application, an anonymous FTP, remote user accounts, etc.
  • the OS scanning program returns a set of vulnerabilities of the scanned operating system, and the OS is then tested for those related security vulnerabilities. A report is then generated concerning any located vulnerabilities.
  • An exemplary OS scanning program that may be used in one aspect of the present disclosure is the ISS security scanner of Internet Security Systems.
  • the present disclosure provides for scanning the programs associated with the CPE at both the OS level and the website level.
  • the present disclosure provides for determining the security vulnerabilities in the network by testing applications at various network locations. Network locations may be specified by IP addresses, URLs or other suitable identifiers.
  • the developed application may be scanned at the developer, such as the CMS application provider 120 and the Control Panel provider 150.
  • the scanning program may scan the application at the CPE after it has been transmitted from the application provider to the CPE. Scanning programs are run against applications at these various locations and reports are generated.
  • a typical scanning program includes at least one of an OS scanning program and a web site scanning program. The scanning programs may reside at any location in the network.
  • the scanning programs reside with programs 186 in the backbone system 180.
  • the scanning programs may be run on the server 180 at the backbone to scan applications at one or more application providers, such as application providers 120 and 150.
  • a report of scanning results is created at the backbone system.
  • a scanning program may be run on a processor located at an application provider and the reports created are sent to the server 180.
  • a production server 128 of the CMS provider 120 may execute a scanning program running tests on a CMS application version that is in a production stage, while programs running at server 180 oversee the testing to ensure that functional and technical requirements of the STB are met.
  • the Control Panel application may also be tested in this manner.
  • Other applications such as that are used on the STB may be scanned by the server 180 by simulating the STB environment over the DSL line.
  • the scanning programs are run against the STB via the DSL line using pass-through on the residential gateway or by connecting the STB to an internal network that simulates the network conditions for the STB.
  • each application program is tested against both a network scanner and web-based scanner.
  • Various scanning scenarios may be utilized for the purpose of this disclosure.
  • a network scanner and a web-based scanner may be run against a production server to remotely scan the control panel using the system 180 or a server at the provider 150.
  • the network scanner and web-based scanner may be run against the CMS web servers at the provider 120 or remotely using the system 180.
  • the scanning programs may be run against the STB via the DSL line using pass-through on the residential gateway or by connecting the STB to an internal network so as to simulate the network conditions.
  • one or more scanning programs are run against the various components of the CPE using a centralized system, such as system 180, remotely or in conjunction with servers located at one or more application providers.
  • Data generated by the security scanners is sent to the server 180 for storage.
  • the system 180 correlates the security vulnerabilities identified by each of the scanning programs and provides suitable reports for taking corrective actions. An example of a report is described in reference to FIG. 4.
  • the reports are forwarded to individuals or groups that address identified security vulnerabilities.
  • the scanning programs may be run at any time or at a time selected by an operator of the scanning program. If there is a firewall functioning at an application provider, the scanning programs are run once access is granted. For example, a password may be exchanged at the application provider before running the scanning program.
  • FIG. 2 shows an exemplary user interface ("Control Panel") 200 that may be provided by the Control Panel application provider to an STB.
  • the exemplary Control Panel enables a user to select content from a listing, such as from a listing of live TV programs 202 or a listing of VoD content 204.
  • the user selects a TV program by selecting a link 206 or may record a program by selecting a record button 208.
  • the user may also select a Browse button 212 to navigate through a catalogue, such as movie catalogue, or select a Download button 210 to view content, such as a movie from a VoD server.
  • FIG. 3 shows an exemplary user interface 300 to a program for scanning a website used in one aspect of the disclosure.
  • the user interface enables an operator to select a type of scan 302 such as a Quick Scan 310 to detect common vulnerabilities, an Automatic Scan 312 to scan for known vulnerabilities and poorly- configured applications, an Interactive Scan 314 that enables the user to control what portion of an application gets scanned, and a Developer Scan 316 designed for scanning application-specific code.
  • the user interface further enables an operator to select several parameters concerning different stages of a scan, such as an Explorer stage 304 for mapping a website and discovering possible vulnerabilities, a Test stage 306 for testing the possible vulnerabilities with hack techniques, and a Report stage 308 for reporting discovered security vulnerabilities.
  • the Explorer stage may be performed in a manual exploration or an automatic exploration mode 318.
  • FIG. 4 shows an exemplary high-level report 400 in one aspect of the disclosure that summarizes the results from scans performed via the user interface of FIG. 3.
  • the exemplary report includes information related to severity of the vulnerability 402, an industry name of the vulnerability 404, a category under which the vulnerability falls 406, a report on the potential impact of the vulnerability 408, and the number of such vulnerabilities found 410.
  • the report lists vulnerabilities in order of severity or risk level as determined by the potential destructiveness of the vulnerability 412. An explanation may be provided of the effect of the security vulnerability 414.
  • FIG. 5 shows a flowchart 500 of an aspect of the present disclosure for determining security vulnerabilities of programs relating to a CPE.
  • a first scanning program is run against a first application program relating to a Control Panel for an STB.
  • a second scanning program is run against a second application program that provides Internet content to the STB (Box 504).
  • a third scanning program is run against a third application program that relates to the component management system of the CPE.
  • a program correlates security vulnerabilities identified utilizing the first, second and third scanning programs to determine a total vulnerability of the network.
  • a fourth scanning program may be run against a fourth application that operates at an STB.
  • FIG. 6 is a diagrammatic representation of a machine in the form of a computer system 600 within which a set of instructions, when executed, may cause the machine to perform any one or more of the methodologies discussed herein.
  • the machine operates as a standalone device.
  • the machine may be connected (e.g., using a network) to other machines.
  • the machine may operate in the capacity of a server, or a client-user machine in server-client user network environment, or as a peer machine in a peer-to-peer (or distributed) network environment.
  • the machine may comprise a server computer, a client user computer, a personal computer (PC), a tablet PC, a set-top box (STB), a Personal Digital Assistant (PDA), a cellular telephone, a mobile device, a palmtop computer, a laptop computer, a desktop computer, a personal digital assistant, a communications device, a wireless telephone, a land-line telephone, a control system, a camera, a scanner, a facsimile machine, a printer, a pager, a personal trusted device, a web appliance, a network router, switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine.
  • PC personal computer
  • PDA Personal Digital Assistant
  • a device of the present disclosure includes broadly any electronic device that provides voice, video or data communication. Further, while a single machine is illustrated, the term “machine” shall also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein.
  • the computer system 600 may include a processor 602 (e.g., a central processing unit (CPU), a graphics processing unit (GPU), or both), a main memory 604 and a static memory 606, which communicate with each other via a bus 608.
  • the computer system 600 may further include a video display unit 610 (e.g., a liquid crystal display (LCD), a flat panel, a solid state display, or a cathode ray tube (CRT)).
  • the computer system 600 may include an input device 612 (e.g., a keyboard), a cursor control device 614 (e.g., a mouse), a disk drive unit 616, a signal generation device 618 (e.g., a speaker or remote control) and a network interface device 620.
  • an input device 612 e.g., a keyboard
  • a cursor control device 614 e.g., a mouse
  • a disk drive unit 616 e.g., a disk drive unit
  • a signal generation device 618 e.g., a speaker or remote control
  • the disk drive unit 616 may include a computer-readable medium 622 on which is stored one or more sets of instructions (e.g., software 624) embodying any one or more of the methodologies or functions described herein, including those methods illustrated herein above.
  • the instructions 624 may also reside, completely or at least partially, within the main memory 604, the static memory 606, and/or within the processor 602 during execution thereof by the computer system 600.
  • the main memory 604 and the processor 602 also may constitute computer-readable media.
  • Dedicated hardware implementations including, but not limited to, application specific integrated circuits, programmable logic arrays and other hardware devices can likewise be constructed to implement the methods described herein.
  • Applications that may include the apparatus and systems of various embodiments broadly include a variety of electronic and computer systems. Some embodiments implement functions in two or more specific interconnected hardware modules or devices with related control and data signals communicated between and through the modules, or as portions of an application- specific integrated circuit.
  • the example system is applicable to software, firmware, and hardware implementations.
  • the methods described herein are intended for operation as software programs running on a computer processor.
  • software implementations can include, but are not limited to, distributed processing or component/object distributed processing, parallel processing, or virtual machine processing that can also be constructed to implement the methods described herein.
  • the present disclosure contemplates a computer-readable medium containing instructions 624, or that which receives and executes instructions 624 from a propagated signal so that a device connected to a network environment 626 can send or receive voice, video or data, and communicate over the network 626 using the instructions 624.
  • the instructions 624 may further be transmitted or received over a network 626 via the network interface device 620.
  • computer-readable medium 622 is shown in an example embodiment to be a single medium, the term “computer-readable medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions.
  • the term "computer-readable medium” shall also be taken to include any medium that is capable of storing, encoding or carrying a set of instructions for execution by the machine and that cause the machine to perform any one or more of the methodologies of the present disclosure.
  • computer-readable medium shall accordingly be taken to include, but not be limited to: solid-state memories such as a memory card or other package that houses one or more read-only (non- volatile) memories, random access memories, or other re-writable (volatile) memories; magneto-optical or optical medium such as a disk or tape; carrier wave signals such as a signal embodying computer instructions in a transmission medium; and/or a digital file attachment to e-mail or other self-contained information archive or set of archives that is considered a distribution medium equivalent to a tangible storage medium.
  • the disclosure is considered to include any one or more of a computer- readable medium or a distribution medium, as listed herein and including art- recognized equivalents and successor media, in which the software implementations herein are stored.
  • a computer- readable medium or a distribution medium as listed herein and including art- recognized equivalents and successor media, in which the software implementations herein are stored.
  • the present specification describes components and functions implemented in the embodiments with reference to particular standards and protocols, the disclosure is not limited to such standards and protocols.
  • Each of the standards for Internet and other packet switched network transmission e.g., TCP/IP, UDP/IP, HTML, HTTP
  • Such standards are periodically superseded by faster or more efficient equivalents having essentially the same functions. Accordingly, replacement standards and protocols having the same functions are considered equivalents.

Abstract

The present disclosure provides a computer-readable medium, method and system for determining security vulnerabilities for a plurality of application programs (120, 130, 140 and 150) u sed to provide television services to a customer device (132) over a communications network (100). The method includes running a first scanning program against a first application program relating to a control panel for the customer device; running a second scanning program against a second application program that provides Internet content to the customer device; running a third scanning program against a third application program that relates to a component management system of customer premises equipment; and correlating security vulnerabilities identified utilizing the first, second, and third scanning programs.

Description

TITLE: SECURITY SCANNING SYSTEM AND METHOD
INVENTORS: JERALD ROBERT HOWCROFT ; JOHN J. MARKLEY;
AND ROCCO A. DEL CARMINE
BACKGROUND OF THE DISCLOSURE
1. Field of the Disclosure
[0001] The present disclosure relates to the field of security risks associated with equipment used in communication networks.
2. Background
[0002] Communication networks, such as Digital Subscriber Line (DSL) networks, are used for providing a variety of services, including Internet Protocol Television (IPTV), Video-on-Demand (VoD), Voice over Internet Protocol (VoIP), access to the Internet, etc. At the customer end, a Residential Gateway (RG), such as a DSL Modem, interfaces with the network and a Set Top Box (STB) that provides content (video, voice and data) to a television set.
[0003] To provide the variety of content from different providers, several applications (programs) are employed at the network side and at the customer premises equipment (CPE), such as the residential gateway and STB. Thus various applications interact with each other to properly provide the content to the CPE and interactivity with the network elements. These applications include operating systems and application programs for operating the CPE. These applications and subsequent updates are generally provided by different application providers. For example, different manufacturers or suppliers provide applications for the residential gateway and the STBs, while other providers may provide control panels for the STBs. The applications are typically installed on the CPE by the manufacturers of such devices. Upgrades and patches are often downloaded to the CPE over the network. Each such program brings the possibility of introducing security vulnerabilities. To reduce the security risks, each provider of the applications program typically tests such programs individually by running security scanners against the application programs prior to the installation or release of such programs. Such security scanning methods are useful, but do not provide comprehensive and integrated methods for determining and fixing the security vulnerabilities of the various application programs for the network environment. Thus, there is a need for an improved system and method for determining security vulnerabilities of applications relating to CPE.
BRIEF DESCRIPTION OF THE DRAWINGS
[0004] For detailed understanding of the present disclosure, references should be made to the following detailed description of an exemplary embodiment, taken in conjunction with the accompanying drawings, in which like elements have been given like numerals, wherein:
FIG. 1 shows an exemplary high-level functional diagram of a network for providing IPTV services according to one embodiment of the present disclosure;
FIG. 2 shows an exemplary control panel or user interface 200 that may be provided to an STB;
FIG. 3 shows an exemplary user interface to a program for scanning a website used according to one aspect of the present disclosure; FIG. 4 shows an exemplary high-level report according to one aspect of the present disclosure that summarizes the results from a scan performed via the user interface of FIG. 3;
FIG. 5 shows a flowchart of a method for determining security vulnerabilities in software associated with CPE according to one embodiment of the present disclosure; and
FIG. 6 is a diagrammatic representation of a machine in the form of a computer system within which a set of instructions, when executed, may cause the machine to perform any one or more of the methodologies discussed herein.
DETAILED DESCRIPTION OF THE DISCLOSURE
[0006] In view of the above, the present disclosure through one or more of its various aspects and/or embodiments is presented to provide one or more advantages, such as those noted below.
[0007] The present disclosure provides a system, method and programs for determining security vulnerabilities of application programs that are used to provide television services to customer premises equipment (CPE), including residential gateways and Set Top Boxes, over a communications network. In one aspect, the present disclosure provides a computer-readable medium accessible to a processor for executing instructions contained in a computer program embedded in the computer- readable medium, the computer program including: instructions to run a first scanning program against a first application program relating to a control panel for a customer device; instructions to run a second scanning program against a second application program that provides Internet content to the customer device; instructions to run a third scanning program against a third application program that relates to providing management of CPE; and instructions to correlate security vulnerabilities identified utilizing the first, second, and third scanning programs. In one aspect, the disclosure includes instructions to run a fourth scanning program against a fourth application program for use in the customer device. The scanning programs used include a network scanner and a web-based scanner. The customer device may be a Set Top Box for providing content to a television set. In one aspect, the third application program is a component management system. In another aspect, the first, second, and third scanning programs are run on a first server located in the communications network (such as in a backbone network) against one of the first, second, and third application programs located at a second server.
[0008] In another aspect, the disclosure provides a method of determining security vulnerabilities for a plurality of application programs for use in providing television services to a customer device over a communications network, including: running a first scanning program against a first application program relating to a control panel for the customer device; running a second scanning program against a second application program that provides Internet content to the customer device; running a third scanning program against a component management system for CPE; and correlating security vulnerabilities identified utilizing the first, second, and third scanning programs. The customer device may be a Set Top Box for providing content to a television set. In one aspect, a fourth scanning program is run against a fourth application program for use at the customer device. In another aspect, the first, second, and third scanning programs are run on a first server against one of the first, second, and third application programs located at at least a second server over the Internet. Access to the at least a second server may be obtained from the first server using a predefined identifier.
[0009] The disclosure, in another aspect, provides a telecommunications network system including: a customer device; one or more application servers running one or more application programs that provide television services to the customer device; and a network server running a program for correlating security vulnerabilities determined from a running scanning programs against a plurality of application programs. In one aspect, the set of scanning programs includes: a first scanning program to determine security vulnerabilities in a first application program relating to a control panel for the customer device; a second scanning program to determine security vulnerabilities in a second application program that provides Internet content to the customer device; and a third scanning program to determine security vulnerabilities in a third application program that is an element of a component management system associated with the CPE. The set of scanning programs may further include a fourth scanning program to determine security vulnerabilities in an application program in operation at the customer device. In one aspect, the customer device is a Set Top Box for providing content to a television set. In one aspect, the network server may run the set of scanning programs and additionally a program for obtaining access to the one or more application programs. The system provides a consolidated report of the various security vulnerabilities identified and assigns a risk factor to each security vulnerability based on a set of rules.
[0010] FIG. 1 shows a high-level functional diagram of a network 100 for providing television services according to one embodiment of the present disclosure. The network 100 is shown to include a backbone 110 that is coupled to the Internet 140 via one or more routers, such as a router 112. The backbone may provide at least one of IPTV services, cable service, or satellite services to users as well as other content available through these services and the Internet. Such content includes video content, audio content such as Voice over Internet Protocol (VoIP), and data content. The backbone includes a variety of servers, routers and transport links for providing the content to users. The backbone 110 is shown coupled to a live television content provider 114, that may include multiple television channels, such as those commonly delivered over television networks. The backbone 110 also is shown to include Video-on-Demand (VoD) servers 116 that provide Video-on-Demand and Voice over Internet Protocol (Voice over IP, or VoIP) server 118 that provides telephony service over a packet-switched network.
[0011] The backbone 110 is shown coupled via a Digital Subscriber Line
(DSL) 194 to a customer gateway, such as a DSL modem 130, which is coupled to a customer device, such as a Set Top Box (STB) 132 that is connected to television (TV) set 134. The customer gateway 130 may have a built-in firewall that interacts with the STB to enable remote management of the STB. Although only one STB is shown, more than one STB may be used at a customer premises. The backbone may alternatively couple to the STB via a cable connection to the STB or via a satellite connection to a satellite dish 135 located at the customer location and linked to the STB over a physical link 137. The STB may act as a control interface for the associated TV set. In addition, a recording device, such as Digital Video Recorder (DVR) 136, may be connected to STB 132 for the purpose of recording video content such as television content. [0012] The backbone network 110 is further shown coupled to various application providers. For example, the backbone 110 is shown connected to an application provider 150 over the Internet 140 via link 153 and routers 152 and 154 that provides, among other things, web content to the STB as well as a "portal" or control panel to the STB for content navigation and selection. The control panel also enables an interactive display at TV 134 through which a viewer may access content. An example of a control panel is described in reference to FIG. 2. The backbone 110 also is shown connected to a Component Management System (CMS) of a partner provider 120 via the Internet 140 using link 123 and routers 122 and 124. The CMS 120 generally provides applications for managing various aspects of CPE, including the STB 132 and customer gateway 130, including functions to enable auto- configuration and remote management. Additionally, CMS may also maintain identifiers for the CPE, such as CPE addresses, enable customers to install updates, provide accounting functions relating to CPE, track certain operations of CPE, etc. The backbone 110, alternatively may be coupled to the application providers, such as providers 120 and 150, over direct links 162 and 164, respectively. The backbone 110 may also be coupled to or have access to other partner content providers (generally designated by numeral 145) such as an interactive gaming service that enables a customer to play games against other players via a television, and a gaming service that enables a customer to bet online and settle accounts. Additionally, certain applications are installed in the STB, which are typically developed and tested by the manufacturer of such devices and/or the service provider. The above-noted and other programs associated with the CPE typically include an operating system and various application programs. [0013] As noted earlier, new versions of application programs as well as updates, patches and fixes are typically developed and tested for security vulnerabilities at the application providers. For new hardware, such programs are installed at the factory. Updates and other versions are often downloaded to the CPE over the network via the DSL, cable or satellite connection. Internet Protocol (IP) addresses or other customer identifiers, such as CPE identifiers are used to control the downloading to specific CPE. Thus, the various components of a CPE product launch are accessed individually for determining security risks or vulnerabilities and may not provide a systematic identification and resolution of the security risks of the various components of the CPE and other systems that are used to support the CPE.
[0014] Still referring to FIG. 1, the disclosure provides a system 180 for running security scanners against various applications programs associated with CPE to identify or determine security vulnerabilities, receive information about the security vulnerabilities from the other providers, correlate the security vulnerabilities, assign risks to the security vulnerabilities, and to take corrective actions before the launch of new programs and after the installation thereof. The system 180 includes one or more servers 182, a database 184 that stores security vulnerability information about each application program, various reports and other information relating to the testing of programs, and a set of computer programs 186 that includes security scanners, such as a network scanner available from Internet Security Services that scan operating systems for security vulnerabilities, and web-based scanners, such as APPSCAN, available from Watchfire, Inc. The computer programs 182 also include instructions that are executed by the server 182 to perform the methods and functions described herein. [0015] In one aspect of the present disclosure, security scanning programs are used to determine security vulnerabilities of the applications developed at the various application providers. In one aspect, a scanning program determines security vulnerabilities at multiple levels of the application program, such as at the operating system (OS) level and at the website level. A website scanning program is used to test a web server level of an application. Typically, a web site URL (Uniform Resource Location) is provided to the scanning program by an operator. In one aspect, the scanning program may use a "webcrawler" program to automatically navigate the website and discover links and record responses as it navigates the site as a simulated user. The website scanning program creates a database of vulnerabilities based on the crawl. Some exemplary vulnerabilities that may occur at a web server level include vulnerability to identity theft by tampering with Internet cookies, electronic shoplifting through changing hidden fields, fraud through tampering with URL parameters, buffer overflow to shut down a business website, webpage hijacking, exploitation of programming backdoors used in testing and inadvertently left open, etc. These and other vulnerabilities may occur, for example, through a Java application or a downloaded browser code. Upon correlating the database of vulnerabilities to a database of hacking programs, the website scanning program applies hacker techniques to test the suspected vulnerability of the web site. A detailed report may then be made concerning any located vulnerabilities at the scanned URL.
[0016] An OS scanning program is used to scan an operating system and any applications running at the OS level of a network device. The OS scanning program typically performs a scan on an OS operating at an entered IP address after an OS (such as Unix, Linux, etc.) including OS version numbers is provided by an operator. Exemplary OS security vulnerabilities may occur in a default account, a sendmail application, an anonymous FTP, remote user accounts, etc. The OS scanning program returns a set of vulnerabilities of the scanned operating system, and the OS is then tested for those related security vulnerabilities. A report is then generated concerning any located vulnerabilities. An exemplary OS scanning program that may be used in one aspect of the present disclosure is the ISS security scanner of Internet Security Systems.
[0017] The present disclosure provides for scanning the programs associated with the CPE at both the OS level and the website level. The present disclosure provides for determining the security vulnerabilities in the network by testing applications at various network locations. Network locations may be specified by IP addresses, URLs or other suitable identifiers. In one aspect, the developed application may be scanned at the developer, such as the CMS application provider 120 and the Control Panel provider 150. In another aspect, the scanning program may scan the application at the CPE after it has been transmitted from the application provider to the CPE. Scanning programs are run against applications at these various locations and reports are generated. A typical scanning program includes at least one of an OS scanning program and a web site scanning program. The scanning programs may reside at any location in the network. In one aspect, the scanning programs reside with programs 186 in the backbone system 180. The scanning programs may be run on the server 180 at the backbone to scan applications at one or more application providers, such as application providers 120 and 150. A report of scanning results is created at the backbone system. In another aspect, a scanning program may be run on a processor located at an application provider and the reports created are sent to the server 180. For example, a production server 128 of the CMS provider 120 may execute a scanning program running tests on a CMS application version that is in a production stage, while programs running at server 180 oversee the testing to ensure that functional and technical requirements of the STB are met. The Control Panel application may also be tested in this manner. Other applications, such as that are used on the STB may be scanned by the server 180 by simulating the STB environment over the DSL line. For example, the scanning programs are run against the STB via the DSL line using pass-through on the residential gateway or by connecting the STB to an internal network that simulates the network conditions for the STB.
[0018] Thus, in one aspect, each application program is tested against both a network scanner and web-based scanner. Various scanning scenarios may be utilized for the purpose of this disclosure. As an example, in one scenario, a network scanner and a web-based scanner may be run against a production server to remotely scan the control panel using the system 180 or a server at the provider 150. Similarly, the network scanner and web-based scanner may be run against the CMS web servers at the provider 120 or remotely using the system 180. Additionally, the scanning programs may be run against the STB via the DSL line using pass-through on the residential gateway or by connecting the STB to an internal network so as to simulate the network conditions. Thus, in general, one or more scanning programs are run against the various components of the CPE using a centralized system, such as system 180, remotely or in conjunction with servers located at one or more application providers. Data generated by the security scanners is sent to the server 180 for storage. The system 180 correlates the security vulnerabilities identified by each of the scanning programs and provides suitable reports for taking corrective actions. An example of a report is described in reference to FIG. 4. The reports are forwarded to individuals or groups that address identified security vulnerabilities. The scanning programs may be run at any time or at a time selected by an operator of the scanning program. If there is a firewall functioning at an application provider, the scanning programs are run once access is granted. For example, a password may be exchanged at the application provider before running the scanning program.
[0019] FIG. 2 shows an exemplary user interface ("Control Panel") 200 that may be provided by the Control Panel application provider to an STB. The exemplary Control Panel enables a user to select content from a listing, such as from a listing of live TV programs 202 or a listing of VoD content 204. The user selects a TV program by selecting a link 206 or may record a program by selecting a record button 208. The user may also select a Browse button 212 to navigate through a catalogue, such as movie catalogue, or select a Download button 210 to view content, such as a movie from a VoD server.
[0020] FIG. 3 shows an exemplary user interface 300 to a program for scanning a website used in one aspect of the disclosure. The user interface enables an operator to select a type of scan 302 such as a Quick Scan 310 to detect common vulnerabilities, an Automatic Scan 312 to scan for known vulnerabilities and poorly- configured applications, an Interactive Scan 314 that enables the user to control what portion of an application gets scanned, and a Developer Scan 316 designed for scanning application-specific code. The user interface further enables an operator to select several parameters concerning different stages of a scan, such as an Explorer stage 304 for mapping a website and discovering possible vulnerabilities, a Test stage 306 for testing the possible vulnerabilities with hack techniques, and a Report stage 308 for reporting discovered security vulnerabilities. As shown in the exemplary illustration of FIG. 3, the Explorer stage may be performed in a manual exploration or an automatic exploration mode 318.
[0021] FIG. 4 shows an exemplary high-level report 400 in one aspect of the disclosure that summarizes the results from scans performed via the user interface of FIG. 3. The exemplary report includes information related to severity of the vulnerability 402, an industry name of the vulnerability 404, a category under which the vulnerability falls 406, a report on the potential impact of the vulnerability 408, and the number of such vulnerabilities found 410. The report lists vulnerabilities in order of severity or risk level as determined by the potential destructiveness of the vulnerability 412. An explanation may be provided of the effect of the security vulnerability 414.
[0022] FIG. 5 shows a flowchart 500 of an aspect of the present disclosure for determining security vulnerabilities of programs relating to a CPE. In Box 502, a first scanning program is run against a first application program relating to a Control Panel for an STB. A second scanning program is run against a second application program that provides Internet content to the STB (Box 504). In Box 506, a third scanning program is run against a third application program that relates to the component management system of the CPE. In Box 508, a program correlates security vulnerabilities identified utilizing the first, second and third scanning programs to determine a total vulnerability of the network. Additionally a fourth scanning program may be run against a fourth application that operates at an STB.
[0023] FIG. 6 is a diagrammatic representation of a machine in the form of a computer system 600 within which a set of instructions, when executed, may cause the machine to perform any one or more of the methodologies discussed herein. In some embodiments, the machine operates as a standalone device. In some embodiments, the machine may be connected (e.g., using a network) to other machines. In a networked deployment, the machine may operate in the capacity of a server, or a client-user machine in server-client user network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. The machine may comprise a server computer, a client user computer, a personal computer (PC), a tablet PC, a set-top box (STB), a Personal Digital Assistant (PDA), a cellular telephone, a mobile device, a palmtop computer, a laptop computer, a desktop computer, a personal digital assistant, a communications device, a wireless telephone, a land-line telephone, a control system, a camera, a scanner, a facsimile machine, a printer, a pager, a personal trusted device, a web appliance, a network router, switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine. It will be understood that a device of the present disclosure includes broadly any electronic device that provides voice, video or data communication. Further, while a single machine is illustrated, the term "machine" shall also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein.
[0024] The computer system 600 may include a processor 602 (e.g., a central processing unit (CPU), a graphics processing unit (GPU), or both), a main memory 604 and a static memory 606, which communicate with each other via a bus 608. The computer system 600 may further include a video display unit 610 (e.g., a liquid crystal display (LCD), a flat panel, a solid state display, or a cathode ray tube (CRT)). The computer system 600 may include an input device 612 (e.g., a keyboard), a cursor control device 614 (e.g., a mouse), a disk drive unit 616, a signal generation device 618 (e.g., a speaker or remote control) and a network interface device 620.
[0025] The disk drive unit 616 may include a computer-readable medium 622 on which is stored one or more sets of instructions (e.g., software 624) embodying any one or more of the methodologies or functions described herein, including those methods illustrated herein above. The instructions 624 may also reside, completely or at least partially, within the main memory 604, the static memory 606, and/or within the processor 602 during execution thereof by the computer system 600. The main memory 604 and the processor 602 also may constitute computer-readable media. Dedicated hardware implementations including, but not limited to, application specific integrated circuits, programmable logic arrays and other hardware devices can likewise be constructed to implement the methods described herein. Applications that may include the apparatus and systems of various embodiments broadly include a variety of electronic and computer systems. Some embodiments implement functions in two or more specific interconnected hardware modules or devices with related control and data signals communicated between and through the modules, or as portions of an application- specific integrated circuit. Thus, the example system is applicable to software, firmware, and hardware implementations.
[0026] In accordance with various embodiments of the present disclosure, the methods described herein are intended for operation as software programs running on a computer processor. Furthermore, software implementations can include, but are not limited to, distributed processing or component/object distributed processing, parallel processing, or virtual machine processing that can also be constructed to implement the methods described herein. [0027] The present disclosure contemplates a computer-readable medium containing instructions 624, or that which receives and executes instructions 624 from a propagated signal so that a device connected to a network environment 626 can send or receive voice, video or data, and communicate over the network 626 using the instructions 624. The instructions 624 may further be transmitted or received over a network 626 via the network interface device 620.
[0028] While the computer-readable medium 622 is shown in an example embodiment to be a single medium, the term "computer-readable medium" should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions. The term "computer-readable medium" shall also be taken to include any medium that is capable of storing, encoding or carrying a set of instructions for execution by the machine and that cause the machine to perform any one or more of the methodologies of the present disclosure. The term "computer-readable medium" shall accordingly be taken to include, but not be limited to: solid-state memories such as a memory card or other package that houses one or more read-only (non- volatile) memories, random access memories, or other re-writable (volatile) memories; magneto-optical or optical medium such as a disk or tape; carrier wave signals such as a signal embodying computer instructions in a transmission medium; and/or a digital file attachment to e-mail or other self-contained information archive or set of archives that is considered a distribution medium equivalent to a tangible storage medium. Accordingly, the disclosure is considered to include any one or more of a computer- readable medium or a distribution medium, as listed herein and including art- recognized equivalents and successor media, in which the software implementations herein are stored. [0029] Although the present specification describes components and functions implemented in the embodiments with reference to particular standards and protocols, the disclosure is not limited to such standards and protocols. Each of the standards for Internet and other packet switched network transmission (e.g., TCP/IP, UDP/IP, HTML, HTTP) represent examples of the state of the art. Such standards are periodically superseded by faster or more efficient equivalents having essentially the same functions. Accordingly, replacement standards and protocols having the same functions are considered equivalents.
[0030] The illustrations of embodiments described herein are intended to provide a general understanding of the structure of various embodiments, and they are not intended to serve as a complete description of all the elements and features of apparatus and systems that might make use of the structures described herein. Many other embodiments will be apparent to those of skill in the art upon reviewing the above description. Other embodiments may be utilized and derived therefrom, such that structural and logical substitutions and changes may be made without departing from the scope of this disclosure. Figures are merely representational and may not be drawn to scale. Certain proportions thereof may be exaggerated, while others may be minimized. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense.
[0031] Such embodiments of the disclosed subject matter may be referred to herein, individually and/or collectively, by the term "disclosure" merely for convenience and without intending to voluntarily limit the scope of this application to any single disclosure or inventive concept if more than one is in fact disclosed. Thus, although specific embodiments have been illustrated and described herein, it should be appreciated that any arrangement calculated to achieve the same purpose may be substituted for the specific embodiments shown. This disclosure is intended to cover any and all adaptations or variations of various embodiments. Combinations of the above embodiments, and other embodiments not specifically described herein, will be apparent to those of skill in the art upon reviewing the above description.
[0032] The Abstract of the Disclosure is provided to allow the reader to quickly ascertain the nature of the technical disclosure. It is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims. Although the invention has been described with reference to several exemplary embodiments, it is understood that the words that have been used are words of description and illustration, rather than words of limitation. Changes may be made within the purview of the appended claims, as presently stated and as amended, without departing from the scope and spirit of the invention in its aspects. Although the invention has been described with reference to particular means, materials and embodiments, the invention is not intended to be limited to the particulars disclosed; rather, the invention extends to all functionally equivalent structures, methods, and uses such as are within the scope of the appended claims.

Claims

CLAIMSWhat is claimed is:
1. A computer-readable medium accessible to a processor for executing instructions contained in a computer program embedded in the computer- readable medium, the computer program comprising: instructions to run a first scanning program against a first application program relating to a control panel for use on customer device; instructions to run a second scanning program against a second application program that provides Internet content to the customer device over a communications network to identify security vulnerabilities with the second application program; instructions to run a third scanning program relating to a component management system for a customer premises equipment (CPE) against a third application program to identify security vulnerabilities with the third application program; and instructions to correlate the identified security vulnerabilities with the first, second, third and fourth application programs.
2. The computer-readable medium of claim 1, wherein the first scanning program is a network scanner, the second scanning program is a web-based scanner, the third and fourth scanning programs each is one of the network scanner and the web-based scanner.
3. The computer-readable medium of claim 1, wherein the customer device is a Set Top Box for providing content to a television set.
4. The computer-readable medium of claim 3, wherein the computer program further comprises instructions to run a fourth scanning program against an applications program that is used in the Set Top Box.
5. The computer-readable medium of claim 1, wherein the computer program further comprises instructions to run at least one of the first, second, and third scanning programs on a first server located in the communications network against at least one of the first, second and third application programs located at a second server at a remote location.
6. The computer-readable medium of claim 5, wherein the computer program further comprises instructions to obtain access to the second server from the first server.
7. The computer-readable medium of claim 1, wherein the computer program further comprises instructions to assign a risk level to each of the identified vulnerabilities and provide a report that indicates the risk level.
8. A method of determining security vulnerabilities for a plurality of application programs for use in providing television services to a Set Top Box (STB) over a communications network, comprising: running a first scanning program against a first application program relating to a control panel for the STB provided over a communications network; running a second scanning program against a second application program that provides Internet content to the STB over the communications network; running a third scanning program against a third application program that relates to component management system of a CPE; and correlating security vulnerabilities identified utilizing the first, second, and third scanning programs.
9. The method of claim 8, wherein the first scanning program is a network scanner, the second scanning program is a web-based scanner, and third scanning program is at least one of network and web-based scanners.
10. The method of claim 8 further comprising assigning a risk level to each of the identified security vulnerabilities and providing a consolidated report that identifies the assigned risk.
11. The method of claim 8, wherein the third application program relates to a digital subscriber line (DSL) modem.
12. The method of claim 8, wherein at least one of the first, second and third scanning programs is run remotely from a first server in the backbone network against a second server located at an application program provider via the Internet.
13. The method of claim 9 further comprising running a network scanner and a web-based scanner against a fourth application program adapted for use in the STB in an environment that simulates a DSL network.
14. The method of claim 8, wherein the second server has an associated firewall and the method further comprising obtaining access to the second server utilizing a selected identifier.
15. A system, comprising: a database that stores information relating to security vulnerabilities for a plurality of application programs associated with a customer device; a server having access to a computer program, the server utilizing the database and executing instructions contained in the computer program that includes: instructions to run a first scanning program against a first application program relating to a control panel for use on customer device that interfaces with a television set to identify security vulnerabilities with the first application program; instructions to run a second scanning program against a second application program that provides Internet content to the customer device over a communications network to identify security vulnerabilities with the second application program; instructions to run a third scanning program against a third application program that is a component management system for a CPE to identify security vulnerabilities with the third application program; instructions to run a fourth scanning program against a fourth application program that is used in the customer device to identify security vulnerabilities with the fourth application program; and instructions to correlate the identified security vulnerabilities with the first, second, third and fourth application programs.
16. The system of claim 15, wherein the first scanning program is a network scanner, the second scanning program is a web-based scanner, the third and fourth scanning programs each is one of the network scanner and the web- based scanner.
17. The system of claim 15, wherein the customer device is a Set Top Box for providing content to a television set.
18. The system of claim 15, wherein the computer program further comprises: instructions to run at least one of the first, second, and third scanning programs on a first server located in the communications network against at least one of the first, second and third application programs located at a second server at a remote location.
19. The system of claim 18, wherein the computer program further comprises: instructions to assign a risk level to each of the identified vulnerabilities and provide a report that indicates the risk level.
20. The system of claim 18, wherein the second server has a firewall associated therewith and the computer program further comprises: instructions to obtain access to the second server over the Internet using a selected identifier.
PCT/US2007/064495 2006-03-21 2007-03-21 Security scanning system and method WO2007109711A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/385,609 US8387138B2 (en) 2006-03-21 2006-03-21 Security scanning system and method
US11/385,609 2006-03-21

Publications (2)

Publication Number Publication Date
WO2007109711A2 true WO2007109711A2 (en) 2007-09-27
WO2007109711A3 WO2007109711A3 (en) 2008-10-30

Family

ID=38523278

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2007/064495 WO2007109711A2 (en) 2006-03-21 2007-03-21 Security scanning system and method

Country Status (2)

Country Link
US (4) US8387138B2 (en)
WO (1) WO2007109711A2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220150273A1 (en) * 2019-09-04 2022-05-12 Haiku, Inc. System and method for cyber training

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110075047A1 (en) * 2009-09-29 2011-03-31 Sony Corporation Firewall port selection using atsc tuner signals
US8925039B2 (en) * 2009-12-14 2014-12-30 At&T Intellectual Property I, L.P. System and method of selectively applying security measures to data services
US9747187B2 (en) * 2010-10-27 2017-08-29 International Business Machines Corporation Simulating black box test results using information from white box testing
US9830142B2 (en) 2013-09-13 2017-11-28 Microsoft Technology Licensing, Llc Automatic installation of selected updates in multiple environments
US9626176B2 (en) * 2013-09-13 2017-04-18 Microsoft Technology Licensing, Llc Update installer with technical impact analysis
CN106462709A (en) * 2014-01-27 2017-02-22 克洛诺斯赛博科技有限公司 Automated penetration testing device, method and system
US9742792B2 (en) * 2014-10-01 2017-08-22 Whitehat Security, Inc. Site security monitor
US9407656B1 (en) * 2015-01-09 2016-08-02 International Business Machines Corporation Determining a risk level for server health check processing
US10021119B2 (en) 2015-02-06 2018-07-10 Honeywell International Inc. Apparatus and method for automatic handling of cyber-security risk events
US10075474B2 (en) 2015-02-06 2018-09-11 Honeywell International Inc. Notification subsystem for generating consolidated, filtered, and relevant security risk-based notifications
US10075475B2 (en) 2015-02-06 2018-09-11 Honeywell International Inc. Apparatus and method for dynamic customization of cyber-security risk item rules
US10021125B2 (en) 2015-02-06 2018-07-10 Honeywell International Inc. Infrastructure monitoring tool for collecting industrial process control and automation system risk data
US10298608B2 (en) 2015-02-11 2019-05-21 Honeywell International Inc. Apparatus and method for tying cyber-security risk analysis to common risk methodologies and risk levels
US20160234242A1 (en) * 2015-02-11 2016-08-11 Honeywell International Inc. Apparatus and method for providing possible causes, recommended actions, and potential impacts related to identified cyber-security risk items
US9800604B2 (en) 2015-05-06 2017-10-24 Honeywell International Inc. Apparatus and method for assigning cyber-security risk consequences in industrial process control environments
US10489746B2 (en) * 2015-07-30 2019-11-26 Espresa, Inc. Cloud based platform for vehicle related services
US10243957B1 (en) * 2015-08-27 2019-03-26 Amazon Technologies, Inc. Preventing leakage of cookie data
US9749349B1 (en) * 2016-09-23 2017-08-29 OPSWAT, Inc. Computer security vulnerability assessment
US11522901B2 (en) * 2016-09-23 2022-12-06 OPSWAT, Inc. Computer security vulnerability assessment
US10298605B2 (en) * 2016-11-16 2019-05-21 Red Hat, Inc. Multi-tenant cloud security threat detection
CN107231381A (en) * 2017-08-02 2017-10-03 中电长城网际系统应用有限公司 Safety detection method, service interface module, safety detection device and network system
CN114866327B (en) * 2022-05-16 2024-02-13 中国联合网络通信集团有限公司 Host security scanning method, device, electronic equipment and system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6976163B1 (en) * 2000-07-12 2005-12-13 International Business Machines Corporation Methods, systems and computer program products for rule based firmware updates utilizing certificate extensions and certificates for use therein
US20060085852A1 (en) * 2004-10-20 2006-04-20 Caleb Sima Enterprise assessment management

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4654852A (en) 1984-05-15 1987-03-31 International Business Machines Corporation On-line problem-determination procedure for diagnosis of faults in a data-processing system
US4817080A (en) 1987-02-24 1989-03-28 Digital Equipment Corporation Distributed local-area-network monitoring system
US5123017A (en) 1989-09-29 1992-06-16 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Remote maintenance monitoring system
US5159685A (en) 1989-12-06 1992-10-27 Racal Data Communications Inc. Expert system for communications network
US5319776A (en) 1990-04-19 1994-06-07 Hilgraeve Corporation In transit detection of computer virus with safeguard
US5072370A (en) 1990-05-08 1991-12-10 International Business Machines Corporation System and method for monitoring electronic data processing equipment
US5475625A (en) 1991-01-16 1995-12-12 Siemens Nixdorf Informationssysteme Aktiengesellschaft Method and arrangement for monitoring computer manipulations
DE69228986T2 (en) 1991-02-05 1999-08-12 Storage Technology Corp MAINTENANCE DEVICE AND METHODS TRIGGERED BY KNOWLEDGE-BASED KNOWLEDGE-BASED MACHINE
WO1992014206A1 (en) 1991-02-05 1992-08-20 Storage Technology Corporation Knowledge based machine initiated maintenance system
EP0503784B1 (en) 1991-03-12 1998-06-10 Hewlett-Packard Company Hypothesis and conclusion method to diagnose data communication network
US5544308A (en) 1994-08-02 1996-08-06 Giordano Automation Corp. Method for automating the development and execution of diagnostic reasoning software in products and processes
US5491791A (en) 1995-01-13 1996-02-13 International Business Machines Corporation System and method for remote workstation monitoring within a distributed computing environment
US5958008A (en) 1996-10-15 1999-09-28 Mercury Interactive Corporation Software system and associated methods for scanning and mapping dynamically-generated web documents
IT1288763B1 (en) 1996-10-17 1998-09-24 Umberto Sardo APPARATUS WITH RETRACING OPTICAL CIRCUIT FOR THE MEASUREMENT OF PHYSICAL QUANTITIES INSENSIBLE TO ENVIRONMENTAL DISTURBANCES
US5960170A (en) 1997-03-18 1999-09-28 Trend Micro, Inc. Event triggered iterative virus detection
US6530022B1 (en) 1998-12-17 2003-03-04 International Business Machines Corporation Permission-based scanning of a web site
US6535227B1 (en) * 2000-02-08 2003-03-18 Harris Corporation System and method for assessing the security posture of a network and having a graphical user interface
US6868292B2 (en) * 2000-09-14 2005-03-15 The Directv Group, Inc. Device control via digitally stored program content
WO2003005195A2 (en) * 2001-07-03 2003-01-16 Imagine Broadband Limited Broadband communications
US7243148B2 (en) * 2002-01-15 2007-07-10 Mcafee, Inc. System and method for network vulnerability detection and reporting
US7257630B2 (en) * 2002-01-15 2007-08-14 Mcafee, Inc. System and method for network vulnerability detection and reporting
US20040163126A1 (en) * 2003-01-31 2004-08-19 Qwest Communications International Inc. Methods and apparatus for delivering a computer data stream to a video appliance with a network interface device
US20040197082A1 (en) * 2003-04-04 2004-10-07 Lg Electronics Inc. Broadcasting program reservation recording system using PDA and method thereof
US7409719B2 (en) * 2004-12-21 2008-08-05 Microsoft Corporation Computer security management, such as in a virtual machine or hardened operating system
US20070198718A1 (en) * 2006-01-27 2007-08-23 Sbc Knowledge Ventures, L.P. System and method for providing virtual access, storage and management services for IP devices via digital subscriber lines

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6976163B1 (en) * 2000-07-12 2005-12-13 International Business Machines Corporation Methods, systems and computer program products for rule based firmware updates utilizing certificate extensions and certificates for use therein
US20060085852A1 (en) * 2004-10-20 2006-04-20 Caleb Sima Enterprise assessment management

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220150273A1 (en) * 2019-09-04 2022-05-12 Haiku, Inc. System and method for cyber training

Also Published As

Publication number Publication date
US8601582B2 (en) 2013-12-03
US20160080409A1 (en) 2016-03-17
US9197659B2 (en) 2015-11-24
US8387138B2 (en) 2013-02-26
US20070226794A1 (en) 2007-09-27
WO2007109711A3 (en) 2008-10-30
US20130239218A1 (en) 2013-09-12
US20140109229A1 (en) 2014-04-17
US10044743B2 (en) 2018-08-07

Similar Documents

Publication Publication Date Title
US10044743B2 (en) Security scanning system and method
US9571889B2 (en) System and method of authorizing a device in a network system
US9699506B2 (en) Methods, systems and computer program products for providing internet protocol television communication services
US20070162932A1 (en) Methods, systems and computer program products for providing internet protocol television troubleshooting
US8761038B2 (en) Methods, systems and computer program products for providing internet protocol television diagnostics
US7873981B2 (en) Methods, systems and computer program products for providing internet protocol television set up
EP2332063B1 (en) Uniquely identifying network-distributed devices without explicitly provided device or user identifying information
RU2550531C2 (en) Management of online privacy
US9294729B2 (en) System and method for providing content over a television network
Varmarken et al. The tv is smart and full of trackers: Measuring smart tv advertising and tracking
US20070088815A1 (en) Automated setup and test confirmation of dynamic DNS service
US20070162929A1 (en) Methods, systems and computer program products for providing internet protocol television contextual support
US20070214103A1 (en) System and method for providing content over a communications network
US20120072932A1 (en) System and method for controlling and managing the delivery of digital media to devices on home networks
Tagliaro et al. I still know what you watched last Sunday: Privacy of the HbbTV protocol in the European smart TV landscape
Claverie et al. Smart TVs: Security of DVB-T
Park et al. Further Analysis on Smart TV Forensics
Varmarken et al. The TV is Smart and Full of Trackers: Towards Understanding the Smart TV Advertising and Tracking Ecosystem
Hils et al. Watching the Weak Link into Your Home: An Inspection and Monitoring Toolkit for TR-069: Abridged Conference Version
KR100906071B1 (en) Set-top box and its operating method for offering contents on demand
Devices PriSEMD-A Privacy-Friendly Approach to Analyze and Measure Smart Entertainment Devices
Tagliaro et al. I still know what you watched last Sunday

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 07758991

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase in:

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 07758991

Country of ref document: EP

Kind code of ref document: A2