3 ms·
Not adding tagging is basically a negligence crime. That feature isn't that expensive and it could have saved most of the security issues that have happened to
by panick21_ 4y ago
Not adding tagging is basically a negligence crime. That feature isn't that expensive and it could have saved most of the security issues that have happened to last 20+ years.
- Lammy 4y agoNSA et al probably like better it that way so they have easier access to the "'intel' inside" my PC.
- panick21_ 4y agoThat's an incredibly bad argument because these are the same computer the NSA and the US govenrment itself uses and they are exposing themselves. Not to mention all the US company who are subject to intellectual property theft and so on.
- gumby 4y agoUnfortunately the Information Assurance part of NSA’s mission seems to have diminished dramatically in the 21st century. But your point still stands about in house use.
- aardvark179 4y agoI think you are talking about different types of tagging. Tagging on Lisps and other language VMs is where some bits in a pointer are reserved to indicate the type. So with a single tag bit integers might be marked as type 0 (so you don’t need to shift things when doing arithmetic) and other objects would be type 1. This provides no real protection against malicious code at all. There are other types of pointer tagging that do provide security, and we are starting to see some support in hardware.
- panick21_ 4y agoIts the same basic concept you can use in multiple ways. But yeah of course security was not what tagging was used.
- astrange 4y agoIntel does have a pointer tagging feature called Linear Address Masking. Why it's called that I don't know. (On ARM it's called TBI/top byte ignore, on AMD it's called UAI/upper address masking.) This is different from pointer signing which it doesn't have.
- Taniwha 4y agoIt depends - at the time capability machines were all the rage - the idea there is that you add EXTRA bits to memory (say 33-bit or 34-bit memory - Burroughs large systems were 48-bit machines with 3-bit tags - plus parity) with careful rules about how they could be made, so that pointers could not just be created from integers. At the time memory was really expensive so blowing lots of bits on tags was a real issue (late 70s we bought 1.5Mb of actual core for our Burroughs B6700 for $1M+) plus as memory moved onto chips powers of two became important, getting someone to make you a 34-bit DRAM would be hard, much less getting a second source as well
- kjs3 4y ago"powers of two became important, getting someone to make you a 34-bit DRAM would be hard, much less getting a second source as well". I have several pounds of 9-bit memory. It's 'parity' memory, was fairly common back in the day, and adding another bit just means respinning the simm carrier to add a pad for another chip. Of course, I don't know if anyone is making 1- or 4-bit DRAMS any more, so you might be stuck adding a 8-bit or larger additional chip. Memory is probably cheap enough now if you wanted 34 bits to play with and were somehow tied to larger power-of-two, you could just go to 40 or more bits and do better ECC or more tag space or just call the top 6 'reserved' or something. It's a solvable problem.
- kjs3 4y agoEdit: Should have said "x-bit wide memory" everywhere above.
- Taniwha 4y agoI have built CPUs with 9-bit bytes (because of subtle MPEG details), they made sense at the time and ram with 9-bit bytes was available at a reasonably low premium - that probably wasn't true when the 432 was a thing, RAM was so much more expensive back then. You could get special sized DRAM made for you, it wouldn't be cheap, getting a second source even more expensive - you'd have to be an Intel, IBM or someone of that size to guarantee large enough volumes to get DRAM manufacturers to bite