搜索

PythonReactSEOPDF
GitHub Skill

side-channels

Timing attacks and other side-channel exploitation techniques

amattas☆ 1 仓库 Stars0 仓库 Forks

安装与使用

请根据来源仓库和你的 AI 工具说明安装此技能。先阅读技能文件和依赖要求,再添加到工作流。

查看来源 ↗使用指南

技能说明

Side-Channel Attacks

Concept: Extract secrets by observing indirect signals (timing, errors, etc.).


Timing Side-Channel

Signals:

  • Comparison that exits early on mismatch
  • Observable response time differences
  • Per-character validation

Why it works:

// Vulnerable: early exit
for (int i = 0; i < len; i++) {
    if (input[i] != secret[i])
        return FAIL;  // Time varies by position
}

Attack Recipe

1. Establish baseline:

Measure response time for known-wrong inputs
Calculate average/median for comparison

2. Byte-by-byte oracle:

For each position:
  For each candidate byte:
    Measure response time (multiple samples)
  Select byte with longest average time

3. Noise reduction:

  • Multiple samples per candidate
  • Use median (more robust than mean)
  • Remove outliers
  • Run from same network as target

Strategies

Local binary:

  • Minimal noise
  • Direct timing measurement
  • Few samples needed

Remote server:

  • Network jitter requires many samples
  • Statistical analysis helps
  • Median over 20-100 samples

Rate limited:

  • Add delays between attempts
  • Prioritize likely characters
  • Parallel connections if allowed

Other Oracles

Error-based:

Different errors reveal different failure modes
- "Invalid length" vs "Bad character" vs "Wrong value"
Each error type leaks information

Padding oracle:

Decrypt ciphertext by observing padding errors
Valid vs invalid padding reveals information

Pitfalls

Issue Solution
High jitter More samples, statistical methods
Flat timing Target uses constant-time comparison
Rate limits Slow down, parallelize
Tiny differences Higher precision timer, more samples

Detection

If all inputs produce same timing regardless of correctness:

  • Target uses constant-time comparison
  • Timing attack won't work
  • Need different approach

使用示例

查看来源仓库中的使用示例与配置说明。

查看来源 ↗

来源历史

收录时间
2026-01-20
索引更新时间
2026-02-04
Branch
main

收录与同步日期属于本站记录。源码修改历史请查看来源仓库。

GitHub ↗

chat Comments (0)

chat_bubble_outline

No comments yet. Be the first to share your thoughts!