Zero-day patching within an entity's secure network
AssigneeBank of America Corporation
InventorsKevin Hoffman, Adam J. Shields
Life of this patent
Estimating the term…
Abstract
A system that involves a secure network, an unsecure network and a bridge server is provided. The bridge server may retrieve updates to applications from the unsecure network. The bridge server may store the retrieved updates on a secure storage location within the secure network. Devices located on the secure network may continually, periodically or otherwise check the secure storage location for updates. The updates may be downloaded to the devices for execution on the devices.
Claims20
A method for continually patching a Java® application within an entity's secure network, the method comprising:
- continually searching, at a first, for Java® updates, said searching comprising:
- scanning a predetermined network for one or more published Java® updates;
- downloading the one or more published Java® updates from the predetermined network to a local computing device, said local computing device located at the first;
- and
- storing the one or more published Java® updates at an entity server, said entity server located within the entity's secure network;
- scanning, at a user computer, said user computer located within the entity's secure network, the entity server for the one or more published Java® updates, said scanning comprising:
- identifying a currently installed version of Java® on the user computer;
- identifying whether an installation edition of the currently installed version of Java® is a 32-bit edition or a 64-bit edition;
- identifying whether an installation product used to install the currently installed version of Java® is a first installation product or a second installation product;
- identifying whether an installation subsystem of the currently installed version of Java® is a Java® Virtual Machine (JVM®) or a Java® Development Kit (JDK®);
- identifying a semantic version number of the currently installed version of Java®, said semantic version number comprising a major version number, a minor version number and a patch level, said identifying comprising:
- identifying the major version number of the currently installed version of Java®;
- identifying the minor version number of the currently installed version of Java®;
- and
- identifying the patch level of the currently installed version of version of Java®;
- identifying the semantic version number of a most recent published Java® update, said identifying comprising:
- identifying the major version number of the most recent published Java® update;
- identifying the minor version number of the most recent published Java® update;
- and
- identifying the patch level of the most recent published Java® update;
- comparing the semantic version number of the currently installed version of Java® to the semantic version number of the most recent published Java® update;
- based on the comparing, determining that the semantic version number of the most recent published Java® update is greater than the semantic version number of the currently installed version of Java®;
- based on the determining that the semantic number of the most recent published Java® update is greater than the semantic version number of the currently installed version of Java®, determining that the most recent published Java® update is a more recent version of Java® than the currently installed version of Java®;
- building a dynamic uniform resource locator (URL) for the most recent published Java® update, said dynamic URL comprising:
- the semantic version number of the most recent published Java® update;
- the installation edition;
- the installation product;
- and
- the installation subsystem;
- downloading, from the entity server to the user computer, the most recent published Java® update;
- and
- installing the most recent published Java® update at the user computer.
A method for continually patching a third-party application within an entity's secure network, the method comprising:
- continually searching, at a first server, for third-party application updates, said searching comprising:
- scanning a predetermined network for one or more published third-party application updates;
- downloading the one or more published third-party application updates from the predetermined network to a local computing device, said local computing device located at the first;
- and
- storing the one or more published third-party application updates at an entity server, said entity server located within the entity's secure network;
- scanning, at a user computer, said user computer located within the entity's secure network, the entity server for the one or more published third-party application updates, said scanning comprising;
- identifying a currently installed version of a third-party application on the user computer;
- identifying an installation edition of the currently installed version of the third-party application;
- identifying an installation product of the currently installed version of the third-party application;
- identifying a semantic version number of the currently installed version of the third-party application, said semantic version number comprising a major version number, a minor version number and a patch level, said identifying comprising:
- identifying the major version number of the currently installed version of the third-party application;
- identifying the minor version number of the currently installed version of the third-party application;
- and
- identifying the patch level of the currently installed version of the third-party application;
- identifying the semantic number of a most recent published third-party application update, said identifying comprising:
- identifying the major version number of the most recent published third-party application update;
- identifying the minor version number of the most recent published third-party application update;
- and
- identifying the patch level of the most recent published third-party application update;
- comparing the semantic version number of the currently installed version of the third-party application to the semantic version number of the most recent published third-party application update;
- based on the comparing, determining that the semantic version number of the most recent published third-party application update is greater than the semantic version number of the currently installed version of the third-party application;
- based on the determining that the semantic number of the most recent published third-party application update is greater than the semantic version number of the currently installed version of the third-party application, determining that the most recent published third-party application update is a more recent version of the third-party application than the currently installed version of the third-party application;
- building a dynamic URL for the most recent published third-party application update, said dynamic URL comprising:
- the semantic version number of the most recent published third-party application update;
- the installation edition;
- and,
- the installation product;
- downloading from the server to the user computer, the most recent published third-party application update;
- and,
- installing the most recent published third-party application update at the user computer.
An apparatus configured to continually patch a Java® application within an entity's secure network, the apparatus comprising:
- an entity server, said entity server located within the entity's secure network;
- a local computing device, said local computing device located at a first server, the local computing location configured to:
- continually search for one or more published Java® updates, said search configured to;
- scan a predetermined network for published Java® updates;
- download the one or more published Java® updates from the predetermined network to the local computing device, at the first server;
- and
- store the one or more published Java® updates at the entity server located within the entity's secure network;
- a user computer, said user computer located within the entity's secure network, said user computer configured to:
- scan the entity server for the one or more published Java® updates;
- identify a most recent published Java® update;
- identify a currently installed version of Java®;
- identify whether an installation edition of the currently installed version of Java® is a 32-bit edition or a 64-bit edition;
- identify whether an installation product used to install the currently installed version of Java® is a first installation product or a second installation product;
- identify whether an installation subsystem of the currently installed version of Java® is a Java® Virtual Machine (JVM®) or a Java® Development Kit (JDK®)®;
- identify a semantic version number of the currently installed version of Java®, said semantic version number comprising a major version number, a minor version number and a patch level, said identification configured to:
- identify the major version number of the currently installed version of Java®;
- identify the minor version number of the currently installed version of Java®;
- and
- identify the patch level of the currently installed version of Java®;
- identify the semantic number of the most recent published Java® update, said identification configured to:
- identify the major version number of the most recent published Java® update;
- identify the minor version number of the most recent published Java® update;
- and
- identify the patch level of the most recent published Java® update;
- compare the semantic version number of the currently installed version of Java® to the semantic version number of the most recent published Java® update;
- based on the comparing, determine that the semantic version number of the most recent published Java® update is greater than the semantic version number of the currently installed version of Java®;
- based on the determination that the semantic number of the most recent published Java® update is greater than the semantic version number of the currently installed version of Java®, determine that the most recent published Java® update is a more recent version of Java® than the currently installed version of Java®;
- build a dynamic URL for the most recent published Java® update, said dynamic URL comprised of:
- the semantic version number of the most recent published Java® update;
- the installation edition;
- the installation product;
- and
- the installation subsystem;
- download, from the entity server to the user computer, the most recent published Java® update;
- and
- install the most recent published Java® update at the user computer.
Dependencies are inferred from the claim text.