갑자기 생각났는데 이게 과연 옳은 생각인지 궁금해서 올립니다.
보통 버퍼 오버플로우를 악용할 경우,
리턴 어드레스를 스택상에 존재하는 쉘코드의 주소로 덮어씌웁니다.
보통 코드부분은 2GB이하에 존재하고 스택은 3GB이하에 존재하는데,
스택이 2GB이하까지 커질 가능성은 없기 때문에
USER_CS 디스크립터의 limit값을 2GB정도로 설정을 하면,
2GB이상에 있는 코드를 수행할 수 없기 때문에
스택에 있는 코드는 수행불가능하게 되어 버퍼오버플로우 악용을 방지할 수 있을 것 같은데