In fact, in "Thirty Years Later: Lessons from the Multics Security Evaluation" by Paul Karger and Roger Schell, having a stack growing up is given a lot of credit:
"Third, stacks on the Multics processors grew in the
positive direction, rather than the negative direction.
This meant that if you actually accomplished a buffer
overflow, you would be overwriting unused stack frames,
rather than your own return pointer, making exploitation
much more difficult."
"Third, stacks on the Multics processors grew in the positive direction, rather than the negative direction. This meant that if you actually accomplished a buffer overflow, you would be overwriting unused stack frames, rather than your own return pointer, making exploitation much more difficult."
https://www.acsac.org/2002/papers/classic-multics.pdf