For example, encryption at rest or in transit essentially eliminates attack vectors. The possible attack avenues necessarily shift as a result, but only because an avenue was blocked.
That's very different from e.g. adding a layer of protection around something insecure, where the insecure thing remains insecure inside the protection, which I think is what the other commenter was imagining.
Similarly, memory safe languages (including most GC languages, not just a certain language beginning with R) eliminate entire classes of security hole. Again, the possible attack vectors necessarily "shift", but that doesn't capture the fact that you've entirely eliminated a class of attacks.
The same goes for eliminating unnecessary services, firewall holes, etc.
None of these are specifically trying to "shift it to something to something that is more difficult to compromise." They're entirely blocking attack vectors, and the strength or weakness of other parts of the system aren't really a factor.
That's a different attack vector. The attack vector that involves accessing plain text has been eliminated. An attack vector is a specific path or method that can be used to break into a system.
No. The attack vector has changed to a different attack vector.
In English, the word "the" in "the attack vector has shifted" is a definite article that refers to a single attack vector.
If your car breaks down and you switch to using a different car, would you say "the car has shifted"?
Speaking loosely, one might use "the attack vector has shifted" to mean something like "the possible attack vectors have changed", but that kind of looseness is misleading in an absolute claim like the one I originally responded to, about "all security measures". In fact, it would be more accurate to say that no security measures "shift the attack vector".
For example, encryption at rest or in transit essentially eliminates attack vectors. The possible attack avenues necessarily shift as a result, but only because an avenue was blocked.
That's very different from e.g. adding a layer of protection around something insecure, where the insecure thing remains insecure inside the protection, which I think is what the other commenter was imagining.
Similarly, memory safe languages (including most GC languages, not just a certain language beginning with R) eliminate entire classes of security hole. Again, the possible attack vectors necessarily "shift", but that doesn't capture the fact that you've entirely eliminated a class of attacks.
The same goes for eliminating unnecessary services, firewall holes, etc.
None of these are specifically trying to "shift it to something to something that is more difficult to compromise." They're entirely blocking attack vectors, and the strength or weakness of other parts of the system aren't really a factor.