TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

ARM Pointer Authentication

106 pointsby subleqalmost 8 years ago

6 comments

yosefkalmost 8 years ago
That we seriously discuss using 24 out of 64 pointer bits to prevent one of the many problems with buffer overflow, but we cannot seriously discuss making buffer overflows impossible is very depressing.<p>How about we use 24 bits of data pointers to keep the array size, or 1 bit to indicate &quot;this is a pointer with a size&quot; and 23 bits for the size, and then our load&#x2F;store with index instructions, as well as freshly added pointer arithmetic instructions, trap when the index exceeds the size? Instead of using bits in instruction pointers to not let one of many kinds of buffer overflow create valid instruction pointers? No good?
评论 #14480765 未加载
评论 #14481136 未加载
评论 #14481902 未加载
评论 #14480824 未加载
评论 #14481061 未加载
评论 #14481633 未加载
评论 #14483528 未加载
评论 #14480788 未加载
评论 #14499710 未加载
repiretalmost 8 years ago
With address space randomization, if you have a valid pointer to memory A, you can compute a valid pointer to memory B if they are from the same section. You can&#x27;t do that with this, because the address is part of the signature.
评论 #14480222 未加载
评论 #14479883 未加载
评论 #14480166 未加载
meditationappalmost 8 years ago
How does using the &quot;unused&quot; bits of a 64-bit pointer differ, functionally, from address space randomization with 64 bits? The search space is the same. Misses are still trivially detectable.<p>By my reading, this allows not a whitelist of pages, but a whitelist of arbitrary addresses. Different granularities entirely. Can anyone else bring a light to bear on this?
评论 #14479742 未加载
评论 #14481675 未加载
Rexxaralmost 8 years ago
Intuitively, I would have preferred they used a bigger pointer type (96 bits or 128 bits) instead of using unused part of the current pointers that will shrink when will need a bigger address space.
评论 #14480884 未加载
floatbothalmost 8 years ago
&quot;attaches a cryptographic signature to pointer values&quot;<p>I guess everyone who thought that &quot;signed integers&quot; are cryptographically signed weren&#x27;t THAT wrong after all :D
Taniwhaalmost 8 years ago
I think the deal is that you can&#x27;t create a good address using the upper bits of a good one ...<p>It&#x27;s not the misses you worry about, it&#x27;s the hits