Serverless Function Event Verification via Proxy Validation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Serverless computing environments face challenges in validating the authenticity of events received, leading to potential unauthorized executions that result in increased resource utilization and system inefficiencies.

Innovation Solution

Implementing a system where events are signed with an identifier from a trusted source, and a proxy verifies this signature before allowing execution, ensuring only authenticated events are processed.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If events are received from external sources without verification, then the system processes more events quickly, but unauthorized executions occur increasing resource utilization

Engineering Contradiction:
Improveevent processing speedVSAvoidevent authenticity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary actions by creating a proxy container before the function container and pre-configuring verification mechanisms. The proxy is set up in advance to intercept and validate events before they reach the function, ensuring authenticity checks are already in place when events arrive, thus maintaining processing speed while ensuring reliability

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

A proxy container is introduced as an intermediary between external event sources and the function container. This proxy receives events first, validates them against verification rules, and only passes authenticated events to the function. This mediator approach maintains processing throughput while filtering out unauthorized events that would compromise reliability

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If a proxy verification system is implemented, then event authenticity is ensured, but system complexity increases

Engineering Contradiction:
Improveevent authenticationVSAvoidsystem architecture
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system is segmented into distinct components: a proxy container for verification and a function container for execution. This segmentation isolates the complexity of authentication logic into a separate proxy layer, making the overall system more manageable. The proxy handles verification complexity while the function remains simple and focused on its core execution task

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of modifying the original function to include verification logic, a proxy container is created as a copy that mirrors the function's interface but adds verification capabilities. This copying approach allows the function to remain unchanged while the proxy handles the complexity of authentication, reducing overall system complexity by keeping verification logic separate

Inventive Principle:
Principle #26Copying

3Reliability

If verification is performed on all events, then unauthorized executions are prevented, but processing time increases

Engineering Contradiction:
Improveunauthorized execution preventionVSAvoidevent processing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system applies partial verification by checking only essential authentication elements in the proxy container rather than performing exhaustive validation. The proxy verifies critical verification rules and event source authenticity, which is sufficient to prevent unauthorized executions while minimizing additional processing time. This partial action approach balances reliability with time efficiency

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS12069188B2Detection and prevention of unauthorized execution of serverless functions
Publication Date: 2024.08.20 RED HAT LLC
  • US12069188B2 patent drawing
  • US12069188B2 patent drawing
  • US12069188B2 patent drawing

AI summary

Methods and systems for detecting and responding to fabricated or unauthorized events received by serverless computing environments are provided. In one embodiment the method is provided that includes receiving an event from an event source external to the serverless computing environment for execution by function. The method may then include creating a message that includes the events and signing the message with an identifier of the event source. The message may then be received at the function and the identifier of the event source may be validated. The event may then be executed with the function of the serverless computing environment if the identifier of the event sources successfully validated. However, if the identifier of the event source is not successfully validated, execution of the event with the function may be prevented.