컴퓨터의 메모리를 범람하게 만드는 버퍼 오버플로우의 비밀
버퍼 오버플로우는 프로그램이 할당된 메모리 공간을 넘쳐 흘러 주변의 데이터까지 덮어쓰는 오류입니다. 이를 악용하면 공격자가 시스템의 통제권을 완전히 빼앗을 수도 있습니다.
버퍼는 데이터를 잠시 저장하는 임시 공간인데, 프로그램이 이를 관리하는 과정에서 정해진 용량을 초과하는 데이터를 넣으려 할 때 문제가 발생합니다. 이때 넘친 데이터가 메모리의 다른 영역을 침범하면서 프로그램이 엉뚱한 명령을 실행하게 만드는 것입니다. 과거에는 단순한 오류로 취급되었지만, 지금은 해커들이 보안을 뚫는 가장 대표적인 기술적 발판으로 사용하고 있습니다. 현대의 프로그래밍 언어들은 이를 방지하기 위한 강력한 보호 장치를 기본적으로 갖추고 있습니다.
출처: Buffer overflow