Software Identifier Verification via Black-List and Phoenix-List

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for managing software in computing systems, while providing some security measures, lack comprehensive and timely protection against malicious software and security flaws, especially in offline situations and when dealing with software updates.

Innovation Solution

A system that utilizes a network-based information server to provide status information including black-list, white-list, and phoenix-list data, generating unique identifiers for software applications using digital certificates and hash values, and notifying users or preventing the execution of malicious software, while allowing for secure updates and offline protection.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If software is signed with digital certificates and checked at install time, then software authenticity can be verified, but the system cannot detect malicious software that uses valid certificates or software with security flaws

Engineering Contradiction:
Improvesoftware authenticity verificationVSAvoidmalicious software detection
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The system performs preliminary actions by maintaining black-lists and phoenix-lists of known malicious and problematic software identifiers before software installation or execution. When software is launched, the runtime environment checks its identifier against these pre-maintained lists to detect malicious software that may have valid certificates. This preliminary detection mechanism addresses the limitation of certificate-based verification alone.

Inventive Principle:
Principle #10Preliminary action

2Object-affected harmful factors

If anti-virus software scans files periodically, then viruses and Trojan horses can be identified, but the scanning is not timely enough to prevent execution of newly installed malicious software

Engineering Contradiction:
Improvevirus detectionVSAvoiddetection timing
Core Design Contradiction:
Object-affected harmful factorsVSLoss of time

Solution Approach 1:

The system implements continuous feedback by checking software identifiers against black-lists and phoenix-lists at the moment of software launch or execution, rather than relying on periodic scans. The runtime environment automatically queries the status of each software application and receives immediate feedback about its security status, enabling real-time detection and prevention of malicious software execution without time delays.

Inventive Principle:
Principle #23Feedback

3Object-affected harmful factors

If a black-list of malicious software is maintained, then malicious applications can be blocked, but software with security flaws that needs updates cannot be distinguished

Engineering Contradiction:
Improvemalicious software blockingVSAvoidsoftware update management
Core Design Contradiction:
Object-affected harmful factorsVSAdaptability or versatility

Solution Approach 1:

The system segments the security status classification into distinct categories: black-list for malicious software, phoenix-list for software with security flaws needing updates, and white-list for trusted software. This segmentation allows the system to differentiate between malicious software that should be blocked and vulnerable software that needs updates, enabling both malicious software blocking and proper update management simultaneously.

Inventive Principle:
Principle #1Segmentation

4Reliability

If certificates are revoked to prevent malicious software, then security can be improved, but legitimate software updates from the same publisher may also be blocked

Engineering Contradiction:
Improvesecurity protectionVSAvoidsoftware update compatibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

Instead of revoking certificates which affects all software from a publisher, the system applies local quality by targeting specific software identifiers individually. The black-list and phoenix-list contain specific software identifiers rather than publisher-wide bans, allowing the system to block only the malicious or vulnerable specific applications while permitting legitimate updates from the same publisher that have different identifiers.

Inventive Principle:
Principle #3Local quality

5Object-affected harmful factors

If comprehensive security checks are performed at software launch, then malicious software can be prevented from running, but system performance and user experience may be degraded

Engineering Contradiction:
Improvemalicious software preventionVSAvoidsystem performance
Core Design Contradiction:
Object-affected harmful factorsVSProductivity

Solution Approach 1:

The system extracts the security checking function from the core software launch process by implementing it as a separate runtime environment layer. The identifier generation and black-list/phoenix-list checking are performed as independent operations that do not interfere with the main software execution path, minimizing performance impact while maintaining comprehensive security prevention.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS8321949B1Managing software run in a computing system
Publication Date: 2012.11.27 ADOBE INC
  • US8321949B1 patent drawing
  • US8321949B1 patent drawing
  • US8321949B1 patent drawing

AI summary

In general, one aspect of the subject matter described in this specification can be embodied in a system that includes a network-based information server system; and a computer operable to interact with a user interface device and operable to perform operations including: receiving from the network-based information server system status information corresponding to software applications, the status information including black-list information and phoenix-list information; updating a local cache, retained by the computer, with the status information received from the network-based information server system; generating an identifier for a software application, using a digital certificate and a hash value, when the software application is launched on the computer; checking the identifier for the software application against the status information; and notifying a user of the computer when a match is found during the checking.