버퍼 오버 플로우 란 무엇입니까?
버퍼 오버플로는 프로그램이 버퍼에 쓰려고 시도하고 그 경계를 넘어서서 잠재적으로 다른 프로그램에 속하는 메모리에 프로그램의 쓰기 정보를 생성 할 때 발생합니다. 이는 운영 체제 내의 메모리 무결성을 위반하여 심각한 오류가 발생하고 실행중인 프로그램이 충돌 할 수 있습니다. 버퍼 오버 플로우의 주요 위험은 두 가지 주요 요소에서 비롯됩니다. 첫째, 컴퓨터의 메모리 맵 (메모리 위치 목록)이이를 설명 할 수 없으므로 버퍼 외부에 기록 된 정보는 표면 상으로 "손실"됩니다. 둘째, 버퍼 오버 플로우는 실수로 다른 프로그램의 메모리에 저장된 정보를 덮어 쓰기하여 다른 프로그램의 실행을 효과적으로 방해 할 수 있습니다.
"버퍼"는 컴퓨터가 한 지점에서 다른 지점으로 정보를 전송하는 동안 임시 저장 위치로 사용되는 메모리 영역입니다. 버퍼의 가장 일반적인 사용은 일반적으로 비디오 또는 오디오 재생에서 컴퓨터가 메모리에 추가 X 초의 푸티 지 또는 오디오를 큐에 넣어 시스템에서 일시적으로 문제가 발생하더라도 재생이 중단되지 않도록합니다. 버퍼는 컴퓨터 메모리 내에서 미리 정해진 특정 위치 내에 만 존재하며, 마치 국가는지도에 그려진 경계선 안에 만 존재합니다. 이러한 가상 "라인"을 벗어나면 프로그램 실행뿐만 아니라 시스템의 다른 프로그램에 문제가 발생합니다.
기본적으로, 프로그램은 지정된 관할권 밖에서 단계적으로 진행되었으며 다른 작업 프로그램의 공간을 침범했습니다. 이런 일이 발생하면 버퍼 외부에 기록 된 정보는 효과적으로 컴퓨터 맵에서 떨어집니다. 즉, 시스템이 더 이상 시스템을 검색 할 수있는 방법이 없습니다. 컴퓨터는 메모리에 할당 된 특정 버퍼 공간 내에서 버퍼링 된 정보를 검색하기 만 "인식"하기 때문에 오버플로 된 정보가 어디로 갔는지 알아낼 방법이 없습니다.
또한 버퍼 오버플로는 컴퓨터에서 실행중인 다른 프로그램을 방해 할 수 있습니다. 버퍼 양쪽의 메모리 저장 공간이 이미 실행중인 다른 프로그램에 할당되었다고 가정하십시오. 버퍼의 정보가 설계된 영역을 벗어나면 해당 메모리 섹션에 이미 저장된 정보를 덮어 쓰고 손상시킵니다. 따라서 버퍼 오버플로는 인접 프로그램의 효율성을 떨어 뜨리고 자체 작업을 손상시킬 수있는 문제입니다.