메모리 오버플로우가 위험한 이유는 프로글매이 예상하지 못한 데이터를 정리하면서 정상적인 동작이 깨질 수 있고, 공격자가 이를 악용할 수 있기 때문입니다.
프로그램은 정해진 크기의 메모리를 사용하도록 만들어지는데 ,그보다 큰 데이터가 들어오게 되면 주변 메모리까지 덮어쓰면서 오류가 발생할 수도 있습니다. 이 과정에서 프로그램이 강제 종료가 되버리거나 심한 경우는 공격자가 의도한 코드를 실행해버리기도 합니다.
게임의 아이템 복사는 조금 원리가 다를 것 같긴한데, 처리 순서나 오류를 의도적으로 유발해 정상적인 데이터 처리를 꼬이게 만든다는 점에서는 비슷한 개념으로 볼 수 있습니다.
메모리 오버플로우는 단순한 오류가 아니라, 프로그램의 신뢰성을 무너뜨리고 보안까지 위협할 수 있는 대표적인 취약점이기 때문에, 개발 단계에서 입력값 검증이나 메모리 보호 기능을 철저하게 적용하는 것이 무엇보다 중요할 것이라고 생각합니다.