Computer >> 컴퓨터 >  >> 시스템 >> Windows

Windows 10 '시스템이 이 애플리케이션에서 스택 기반 버퍼의 오버런을 감지했습니다' 오류 해결 방법

Windows 10 PC에서 애플리케이션을 실행하려고 하거나, 파일 탐색기 문제 등 특정 문제로 인해 안전 모드로 부팅을 시도할 때 '시스템이 이 애플리케이션에서 스택 기반 버퍼의 오버런을 감지했습니다(The system detected an overrun of a stack-based buffer in this application)'라는 오류 메시지가 나타난다면, 이 글이 도움이 될 것입니다. 이번 글에서는 해당 문제를 성공적으로 해결하기 위해 시도해 볼 수 있는 가장 적합한 해결 방법들을 소개합니다.

Windows 10  시스템이 이 애플리케이션에서 스택 기반 버퍼의 오버런을 감지했습니다  오류 해결 방법

이 문제가 발생하면 다음과 같은 전체 오류 메시지를 보게 됩니다.

오류
시스템이 이 애플리케이션에서 스택 기반 버퍼의 오버런을 감지했습니다. 이 오버런으로 인해 악의적인 사용자가 이 애플리케이션을 제어할 수 있습니다. (c0000409)

스택 기반 버퍼 오버런이란?

스택 기반 버퍼 오버런(stack-based buffer overrun) 또는 스택 기반 버퍼 오버플로우(stack-based buffer overflow)는 프로그램이 스택에 위치한 버퍼에 실제 할당된 크기보다 더 많은 데이터를 쓰는 일종의 버그를 의미합니다. 흔히 발생하는 프로그래밍 오류 중 하나입니다.

이 문제는 드라이버에서 발생하여 DRIVER OVERRAN STACK BUFFER 블루스크린 오류로 이어질 수도 있습니다. 하지만 더 일반적으로는 애플리케이션과 관련이 있으며, 문제가 발생하면 스택의 인접 데이터가 손상되어 프로그램이 충돌하거나 비정상적으로 작동할 가능성이 높습니다.

해결 방법

이 문제에 직면했다면 아래의 권장 해결 방법들을 순서에 상관없이 시도해 보세요. 시작하기 전에 먼저 오류가 발생하는 애플리케이션을 재설치하거나 초기화한 후 문제가 해결되는지 확인해 보시기 바랍니다.

  1. 멀웨어/바이러스 감염 검사
  2. SFC 및 DISM 검사 실행
  3. 클린 부팅 상태에서 문제 해결
  4. BannerStore 레지스트리 키 수정
  5. 메모리 검사 실행
  6. 시스템 복원 수행

각 해결 방법에 대한 자세한 과정을 살펴보겠습니다.

1] 멀웨어/바이러스 감염 검사

위의 오류 메시지에서 알 수 있듯이, Windows는 특정 애플리케이션이 코드 조작(스택 스매싱)을 허용하여 악성 코드가 삽입될 수 있다고 경고하고 있습니다. 따라서 Windows Defender 또는 신뢰할 수 있는 서드파티 백신 프로그램으로 멀웨어/바이러스 검사를 진행하는 것이 합리적인 첫 번째 단계입니다. 만약 정상 부팅이 불가능한 상황이라면 안전 모드로 부팅하여 부팅 시 Windows Defender 오프라인 검사를 실행하거나, 부팅 가능한 백신 구조 미디어(AntiVirus Rescue Media)를 사용해 모든 위협을 제거하고 시스템을 복구할 수 있습니다.

2] SFC 및 DISM 검사 실행

이 해결 방법을 사용하려면 '네트워킹이 있는 안전 모드'가 필요합니다. 배포 이미지 서비스 및 관리(DISM) 유틸리티는 Windows Update에서 손상된 시스템 파일을 복구하려고 하기 때문에 인터넷 연결이 필요하기 때문입니다.

반면 시스템 파일 검사기(SFC)는 Windows 구성 요소 저장소에서 손상된 시스템 파일을 복구하므로 인터넷 연결이 필요하지 않습니다. 하지만 잠재적인 시스템 손상을 완전히 해결하기 위해서는 두 도구를 모두 실행하는 것이 좋으며, 이 두 가지 Windows 10 기본 유틸리티는 함께 사용할 때 가장 효과적입니다.

SFC/DISM 검사를 함께 실행하려면 다음 단계를 따르세요.

  • Windows 키 + R을 눌러 실행 대화 상자를 엽니다.
  • 실행 대화 상자에 notepad를 입력하고 Enter 키를 눌러 메모장을 엽니다.
  • 아래의 명령어를 복사하여 텍스트 편집기에 붙여넣습니다.
@echo off
date /t & time /t
echo Dism /Online /Cleanup-Image /StartComponentCleanup
Dism /Online /Cleanup-Image /StartComponentCleanup
echo ...
date /t & time /t
echo Dism /Online /Cleanup-Image /RestoreHealth
Dism /Online /Cleanup-Image /RestoreHealth
echo ...
date /t & time /t
echo SFC /scannow
SFC /scannow
date /t & time /t
pause
  • 파일 이름을 지정하고 확장자를 .bat으로 저장합니다. 예: SFC_DISM_scan.bat. 이때 파일 형식 항목에서 모든 파일을 선택하세요.
  • 저장된 배치 파일을 관리자 권한으로 반복해서 실행합니다(파일을 마우스 오른쪽 버튼으로 클릭하고 컨텍스트 메뉴에서 관리자 권한으로 실행 선택). 오류가 더 이상 보고되지 않을 때까지 반복합니다.
  • PC를 재시작합니다.

부팅 후 문제가 해결되었는지 확인합니다. 그래도 해결되지 않으면 다음 해결 방법으로 넘어갑니다.

3] 클린 부팅 상태에서 문제 해결

Windows 10이 정상적으로 작동하지 않거나, 공식 Windows 10 업데이트가 제대로 설치되지 않는다면 소프트웨어 충돌 여부를 확인하는 것이 좋습니다. Windows를 클린 부팅하면 문제의 원인이 되는 프로그램을 찾아내고 필요한 조치를 취할 수 있습니다.

이 해결 방법에서는 클린 부팅 상태에서 문제를 해결하여 '시스템이 이 애플리케이션에서 스택 기반 버퍼의 오버런을 감지했습니다' 오류가 사라지는지 확인해 볼 수 있습니다.

4] BannerStore 레지스트리 키 수정

Windows 10  시스템이 이 애플리케이션에서 스택 기반 버퍼의 오버런을 감지했습니다  오류 해결 방법

레지스트리 작업이므로, 만약의 사태에 대비해 레지스트리를 백업하거나 시스템 복원 지점을 생성하는 것이 좋습니다. 준비가 되었다면 다음 단계를 진행하세요.

  • Windows 키 + R을 눌러 실행 대화 상자를 엽니다.
  • 실행 대화 상자에 regedit를 입력하고 Enter 키를 눌러 레지스트리 편집기를 엽니다.
  • 아래의 레지스트리 키 경로로 이동합니다.
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer
  • 해당 위치의 왼쪽 창에서 BannerStore 레지스트리 키 폴더를 찾습니다.
  • 폴더를 마우스 오른쪽 버튼으로 클릭하고 이름 바꾸기를 선택한 후 BannerStoreOld로 이름을 변경합니다.
  • 키보드에서 Ctrl+Alt+Delete 조합키를 눌러 보안 옵션 화면에 접근합니다.
  • 로그아웃을 클릭하여 컴퓨터에서 로그아웃합니다.
  • 다시 로그인합니다.

이제 문제가 해결되었을 것입니다. 그렇지 않다면 다음 해결 방법을 시도해 보세요.

5] 메모리 문제 검사

RAM 손상은 Windows 10을 불안정하게 만들어 블루스크린 오류(BSOD)를 유발할 수 있습니다. 최근에 새 RAM을 추가했다면 해당 RAM을 제거하고 오류의 원인인지 확인해 보세요. 원인이 아니라면 메모리 검사를 실행해야 합니다. Windows가 RAM의 이상 여부를 자동으로 확인하며, 문제가 발견되면 해당 RAM을 교체해야 합니다.

6] 시스템 복원 수행

위의 모든 해결 방법을 시도했음에도 문제가 해결되지 않는다면 시스템 복원을 시도해 볼 수 있습니다. 시스템 복원은 개인 파일에는 영향을 주지 않으면서 Windows 10 시스템을 문제가 발생하기 이전의 지정된 시점으로 되돌립니다.

이 글이 문제 해결에 도움이 되기를 바랍니다!