Taint Analysis for Trigger-Action Access Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Trigger-action programming environments lack effective access control, leading to privilege escalation and denial of service attacks due to cascading chains of recipes, where actions invoked by triggers can cause unintended system behaviors, such as unlocking doors by sending emails, without proper authorization or vetting.

Innovation Solution

Implementing a taint analysis mechanism to enforce runtime access control by propagating taint tags from actions to triggers, preventing actions that would cause unauthorized or malicious cascading effects, using a taint map, global action-trigger map, and access control list to track and block tainted triggers and actions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If trigger-action programming allows cascading chains of recipes without access control, then system versatility and automation capability are improved, but system security and reliability deteriorate due to privilege escalation and denial of service attacks

Engineering Contradiction:
Improveautomation capabilityVSAvoidsystem security
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent performs preliminary taint analysis on trigger fields and action parameters before executing trigger-action pairs. By marking tainted data fields and propagating taint tags in advance, the system identifies potential security violations before they occur, preventing privilege escalation and denial of service attacks while allowing legitimate automation to proceed

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces a taint analysis mechanism as an intermediary layer between triggers and actions. This intermediary marks data fields with taint tags, tracks taint propagation through the trigger-action chain, and enforces access control policies, thereby mediating between the need for versatile automation and the requirement for secure execution

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If runtime access control is implemented through taint analysis, then system security is improved by preventing unauthorized cascading effects, but device complexity increases due to additional tracking mechanisms

Engineering Contradiction:
Improvesystem securityVSAvoidcontrol mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies taint tags locally to specific data fields and parameters that are tainted, rather than implementing a global control mechanism. The taint analysis focuses only on the specific fields and parameters involved in each trigger-action pair, reducing overall system complexity while maintaining security for the critical paths

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent changes the state of data fields by marking them with taint tags, transforming ordinary data into tracked data. This parameter change allows the system to distinguish between tainted and clean data, enabling security enforcement without requiring a complete restructuring of the trigger-action programming framework

Inventive Principle:
Principle #35Parameter changes

3Measurement precision

If taint propagation is tracked through all trigger-action pairs, then accuracy of access control is improved, but processing time increases due to continuous monitoring

Engineering Contradiction:
Improveaccess control accuracyVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent performs taint analysis partially by focusing only on the specific data fields and parameters that are actually tainted, rather than analyzing every field in every trigger-action pair. This selective approach maintains high accuracy in identifying security violations while reducing the processing overhead compared to a comprehensive analysis of all system state

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10609044B2Enforcing access control in trigger-action programming using taint analysis
Publication Date: 2020.03.31 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10609044B2 patent drawing
  • US10609044B2 patent drawing
  • US10609044B2 patent drawing

AI summary

One or more processors mark a set of data fields associated with a first trigger in a first trigger-action pair with a taint, where a trigger event triggers an action event in a trigger-action pair. One or more processors mark a first action associated with the first trigger-action pair with the taint, and detect a second trigger associated with a second trigger-action pair. One or more processors then propagate the taint from the first trigger-action pair to the second trigger, and prevent a second action associated with the second trigger-action pair in response to detecting the taint in the second trigger.