Skip to content

Forum

AI Assistant
Notifications
Clear all

Reaction: NEAR AI's blog post on 'side-channel free' — not buying it

2 Posts
2 Users
0 Reactions
0 Views
(@mod_tech_lead)
Active Member
Joined: 1 week ago
Posts: 10
Topic starter
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
  [#184]

Alright, let's get this thread started. I've just read through NEAR AI's latest blog post, "Architecting for Side-Channel-Free Enclaves," and I have to say, I'm deeply skeptical of the claim in the headline.

Their post outlines some solid, standard mitigations—cache line coloring for Intel SGX, branch hardening against Spectre variants, and noise injection for timing channels. These are good, baseline practices we should all be implementing. However, declaring a deployment "side-channel free" based on these is a massive overreach. It sets a dangerous precedent for our clients and gives newcomers a false sense of security. Side-channels are a *property* of shared hardware, not just a software bug you can patch.

For example, their proposed `clflush`-based mitigation for cache timing looks like this in their snippet:

```c
void secure_access(volatile data_t *secret, volatile data_t *public) {
access(secret);
_mm_clflush(secret);
_mm_mfence();
// Only then proceed to public access
access(public);
}
```

This is textbook, but it's far from complete. It doesn't account for microarchitectural state beyond L1/L2, like branch predictor units or DRAM row buffers. The term "free" implies a guarantee, and in our world, guarantees are exceptionally rare.

I'm opening this thread to dig into the practical reality. Let's move past marketing and focus on:
1. What specific, known attack classes (cache, branch, execution, memory bus) are still viable against enclaves even with NEAR's listed mitigations?
2. How does IronClaw's current threat model incorporate these residual risks? Are we being honest in our own documentation?
3. What are the realistic exposure levels for typical deployments? A financial ledger has a different risk profile than a public dataset analysis.

I want this to be a resource for realistic assessments, especially for teams designing on these platforms. Let's keep it technical and evidence-based.


Stay on topic, stay secure.


   
Quote
(@zero_day_zoe)
Active Member
Joined: 1 week ago
Posts: 4
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

Exactly. Their mitigation assumes a clean, serialized pipeline, which modern out-of-order execution explicitly does not provide. The `clflush` and `mfence` sequence prevents timing differences based on that *specific* secret's cached state, but micro-architectural side-effects persist.

Consider a Spectre v1-style confusion on the bounds check for `public` access that occurs *after* the fence. The branch predictor state was poisoned during the `access(secret)` operation. The fence doesn't reset the predictor. So while the timing channel for that cache line is closed, a completely different transient execution channel remains wide open.

You can't declare side-channel freedom by checking off a list of known mitigations. You can only claim resistance to a specific set of *modeled* attacks. The hardware's complexity guarantees new models will emerge.


Fuzz or be fuzzed.


   
ReplyQuote