Secure Application Streaming via Block-Level Malware Verification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional malware scanning technologies hinder the benefits of application streaming by requiring the entire application to be downloaded and scanned before execution, preventing the execution of applications that are only partially present on the client machine.

Innovation Solution

A trust-based mechanism is implemented within the application streaming system, where a block server module receives requests for application blocks, determines if the blocks are malware-free, and inserts an indication of scanning status, allowing execution if verified malware-free, while ensuring security through client and server authentication modules.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional malware scanning is used to scan the entire application before execution, then security is improved, but application streaming performance deteriorates because the entire application must be downloaded before execution can begin

Engineering Contradiction:
ImprovesecurityVSAvoidapplication startup time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent divides the application into multiple blocks that can be streamed and executed separately. Instead of requiring the entire application to be downloaded and scanned before execution, the system scans and executes individual blocks or portions of the application in sequence, allowing partial application execution while maintaining security through block-level scanning.

Inventive Principle:
Principle #1Segmentation

2Measurement precision

If the entire application is downloaded and scanned before execution, then malware detection accuracy is improved, but disk space requirements and download time increase

Engineering Contradiction:
Improvemalware detection accuracyVSAvoiddisk space
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The system performs partial scanning by examining only the necessary blocks of the application for execution rather than requiring the entire application to be present. This allows malware detection to occur on-demand for specific blocks, reducing the quantity of data that must be stored and transferred while maintaining detection capability for the portions actually executed.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If conventional malware scanning halts execution until the entire application is scanned, then security reliability is improved, but application streaming benefits are lost

Engineering Contradiction:
ImprovesecurityVSAvoidapplication execution efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary scanning of individual blocks before executing them, rather than waiting until the entire application is available. This preliminary action on a block-by-block basis allows execution to proceed efficiently through already-scanned blocks while maintaining security, eliminating the need to halt execution until complete application scanning is finished.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent enables continuous execution of application blocks as they are scanned and verified, rather than interrupting the process to wait for complete application scanning. This continuity maintains application streaming benefits by allowing the system to continuously download, scan, and execute blocks in an ongoing manner without unnecessary pauses.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS8353041B2Secure application streaming
Publication Date: 2013.01.08 GEN DIGITAL INC
  • US8353041B2 patent drawing
  • US8353041B2 patent drawing
  • US8353041B2 patent drawing

AI summary

A server includes a scanning module for determining whether an application is free of malware, a module for packaging the application into blocks for delivery via application streaming, a module for providing the blocks to a client on request, and a module for adding to each block an indication of whether the associated application has already been determined to be free of malware. A client includes a module for requesting blocks of a streamed application from the server. When the client receives a block, it employs a module for verifying that the associated applications have been determined to be free of malware by examining the indication provided by the server. If verification is successful, then the block's code is executed without first receiving and scanning any additional blocks from the server.