KERNEL_SECURITY_CHECK_FAILURE 해결법
은행 금고실 보안 담당자가 매시간 금고 문짝의 특수 봉인 스티커와 출입 장부의 앞뒤 연결 번호가 일치하는지 대조하고 있는데, 누군가 실수로 장부 한 장을 잘못 끼워 넣어 봉인 스티커가 찢어진 흔적을 발견했다고 해 보겠습니다. 실제 도둑이 든 것이 아니더라도 보안 규정상 봉인이 훼손된 순간 즉시 금고실 철문을 내리고 모든 출입을 통제하겠죠. 윈도우 커널이 내부 데이터의 무결성을 검사할 때도 똑같은 초고속 차단 장치가 작동합니다.
온라인 게임을 켜거나 외부 주변기기를 연결했을 때 갑자기 파란 화면과 함께 KERNEL_SECURITY_CHECK_FAILURE 정지 코드가 뜨는 현상이 대표적입니다. 이름에 ‘Security(보안)’가 들어가 있어 해킹을 당한 것은 아닌지 걱정하기 쉬운데, 실제 발생 원리와 단계별 해결 방법을 차분히 알아보겠습니다.
KERNEL_SECURITY_CHECK_FAILURE(0x00000139)가 발생하는 원리
마이크로소프트 버그 체크 문서에서 이 정지 코드의 고유 번호는 0x00000139입니다. 윈도우 8 이후의 최신 운영체제들은 커널 메모리 영역이 잘못된 드라이버나 악성코드에 의해 변조되는 것을 막기 위해, 중요한 데이터 구조체마다 위변조 감지 장치(Fast Fail 메커니즘)를 심어 두었습니다.
금고실 봉인 스티커 비유처럼 커널은 두 가지를 실시간으로 감시합니다. 첫째는 함수가 끝난 뒤 돌아갈 주소를 보호하는 커널 스택 쿠키(Security Cookie, /GS 스위치) 값이 원래대로 유지되는지이고, 둘째는 여러 데이터를 사슬처럼 엮어 놓은 양방향 연결 리스트(LIST_ENTRY)의 앞뒤 고리가 어긋나지 않았는지(FAST_FAIL_CORRUPT_LIST_ENTRY)입니다.
만약 오래된 장치 드라이버나 게임 안티치트 모듈이 메모리를 해제하면서 연결 리스트의 고리를 잘못 건드리거나 버퍼를 넘겨 스택 쿠키를 덮어쓰면, CPU가 이를 감지하는 즉시 단 한 줄의 추가 코드도 실행하지 않고 KERNEL_SECURITY_CHECK_FAILURE 블루스크린을 띄웁니다. 즉 바이러스에 감염되었다는 뜻이 아니라, 주로 드라이버 호환성 문제나 램(RAM) 신호 오류로 커널 장부의 앞뒤 아귀가 맞지 않게 되었다는 신호입니다.
구형 드라이버·안티치트 충돌 해결과 메모리 무결성 코어 격리 점검
실제 사용자 환경에서 0x00000139 오류가 가장 많이 발생하는 순간은 온라인 게임을 실행할 때(안티치트 드라이버 로드)이거나, 구형 외장 사운드카드·랜카드·블루투스 동글 드라이버가 최신 윈도우 보안 기능과 부딪힐 때입니다. 해킹을 당한 줄 알고 백신 프로그램을 여러 개 추가로 설치하는 행동은 오히려 커널 필터 드라이버끼리 연결 리스트를 서로 잡아당겨 블루스크린을 더 자주 일으키게 만듭니다.
충돌 드라이버 업데이트 및 Windows 보안 코어 격리 점검 순서
- 특정 온라인 게임(발로란트, 배틀그라운드 등)을 켤 때만 오류가 난다면, 해당 게임의 안티치트 프로그램(Vanguard, BattleEye, EasyAntiCheat 등)을 제어판에서 완전히 삭제했다가 관리자 권한으로 게임을 실행해 최신 버전으로 재설치합니다.
- 시작 버튼을 우클릭해 장치 관리자를 열고 네트워크 어댑터, 디스플레이 어댑터, 사운드 컨트롤러 드라이버를 제조사 공식 최신 버전으로 업데이트합니다.
- 작업 표시줄 검색창에
Windows 보안을 입력해 열고 장치 보안 → 코어 격리 세부 정보로 들어갑니다. - 메모리 무결성(메모리 무결성 코어 격리) 스위치를 켤 때 ‘호환되지 않는 드라이버 검토’ 목록이 뜬다면, 화면에 지목된 구형 서드파티 드라이버(
oemxx.inf)를 확인해 삭제하거나 업데이트합니다.
윈도우 보안의 코어 격리 화면은 커널 보안 검사와 충돌하는 구형 드라이버를 정확히 짚어내 주므로 범인을 찾는 진단 도구로도 매우 유용합니다.
DISM·SFC 시스템 파일 수리와 Windows 메모리 진단 순서
드라이버를 점검했는데도 일상적인 작업 중에 불규칙하게 KERNEL_SECURITY_CHECK_FAILURE가 발생한다면, 윈도우 시스템 파일 자체가 손상되었거나 물리 램(RAM)의 불량 셀 때문에 메모리에 적힌 연결 리스트 주소가 바뀐 경우입니다.
시스템 파일 무결성 복구 및 물리 RAM 정밀 진단 순서
- 검색창에
cmd를 입력하고 명령 프롬프트를 마우스 우클릭하여 관리자 권한으로 실행합니다. - 아래 두 명령어를 차례로 입력해 손상된 커널 모듈과 시스템 파일을 원본으로 복구합니다.
DISM.exe /Online /Cleanup-image /Restorehealthsfc /scannow - 이어서 디스크 오류로 인한 페이징 데이터 손상을 잡기 위해
chkdsk C: /f를 실행합니다. - 마지막으로
Win + R을 눌러mdsched.exe를 입력하고 지금 다시 시작하여 문제 확인을 클릭해 물리적 램 불량 여부를 검사합니다(바이오스에 XMP 메모리 오버클럭이 걸려 있다면 잠시 기본 클럭으로 해제합니다).
메모리 오버클럭이 불안정하면 램에 저장된 포인터 주소 중 비트 하나만 바뀌어도 연결 리스트 무결성 검사를 통과하지 못해 0x00000139가 발생하므로, 기본 클럭으로 테스트해 보는 것이 중요합니다.
이벤트 뷰어 및 덤프 파일로 세부 오류 코드(Parameter 1) 확인하기
보다 정밀하게 원인을 파악하고 싶다면 이벤트 뷰어의 BugCheck 로그나 WinDbg 프로그램으로 C:\Windows\Minidump 파일을 열어 첫 번째 매개변수(Parameter 1) 숫자를 확인해 보세요. 마이크로소프트 공식 규격에서 이 첫 번째 숫자는 어떤 종류의 보안 검사가 실패했는지를 알려 줍니다.
가장 흔하게 찍히는 값이 숫자 3(0x3)인데, 이는 앞서 설명한 FAST_FAIL_CORRUPT_LIST_ENTRY(양방향 연결 리스트 손상)로 90% 이상이 네트워크·그래픽·백신·안티치트 드라이버가 메모리를 이중 해제했거나 잘못 건드린 경우입니다. 반면 숫자 2(0x2)가 찍혔다면 커널 스택 쿠키 손상(버퍼 오버런)을 뜻하므로, 함께 기록된 드라이버 파일(.sys)을 장치 관리자에서 즉시 롤백하거나 제거하면 해결됩니다.
0x00000139 세부 유형별 발생 원인과 해결책 비교
| 구분 (원인 유형) | 주요 매개변수·원리 | 대표 발생 상황 | 핵심 해결 조치 |
|---|---|---|---|
| 연결 리스트 손상 | Parameter 1 = 0x3 (FAST_FAIL_CORRUPT_LIST_ENTRY) | 특정 게임 실행, 네트워크 다운로드, USB 장치 해제 시 | 안티치트 재설치 및 네트워크·그래픽·USB 드라이버 최신화 |
| 스택 버퍼 쿠키 변조 | Parameter 1 = 0x2 (커널 스택 쿠키 불일치) | 구형 주변기기 드라이버 작동 중 버퍼 오버플로 발생 | 메모리 무결성 코어 격리에서 지목된 구형 비호환 드라이버 삭제 |
| 시스템 파일 파손 | 커널 코어 DLL 또는 드라이버 이미지 손상 | 윈도우 업데이트 실패 직후 또는 강제 종료 후 부팅 시 | 관리자 명령 프롬프트에서 DISM /Restorehealth 및 sfc /scannow |
| 물리 RAM·오버클럭 오류 | 메모리 셀 불안정으로 커널 포인터 주소 비트 반전 | 고부하 작업 중 특정 드라이버 지목 없이 불규칙 발생 | 바이오스 XMP 오버클럭 해제 및 mdsched.exe 메모리 진단 |
핵심 정리
은행 금고실의 봉인 스티커나 출입 장부 번호가 어긋나면 안전을 위해 즉시 철문을 내리는 비유처럼, KERNEL_SECURITY_CHECK_FAILURE(0x00000139) 블루스크린은 커널 데이터 구조체의 연결 리스트나 보안 쿠키가 손상되었을 때 추가적인 시스템 파괴를 막기 위해 발동하는 보호 코드입니다. 게임 안티치트와 구형 드라이버를 최신 버전으로 정비하고, Windows 보안의 메모리 무결성 코어 격리 점검과 시스템 파일·램 진단을 차례로 수행하면 원인을 깔끔하게 제거할 수 있습니다.
이 오류는 바이러스 감염보다 구형 드라이버와 최신 윈도우 커널의 규격 차이에서 비롯되는 경우가 대부분이므로 침착하게 충돌 드라이버를 골라내는 것이 핵심입니다. 아래 체크리스트를 통해 내 PC의 커널 보안 환경을 점검해 보시기 바랍니다.
재발 방지 체크리스트
재발 방지 체크리스트
- Windows 보안 앱의 ‘코어 격리 세부 정보’에서 호환되지 않는 구형 드라이버가 설치되어 있지 않은지 확인했는가?
- 특정 온라인 게임 실행 시에만 블루스크린이 뜰 때 해당 게임의 커널 안티치트 프로그램을 삭제 후 재설치했는가?
- 서로 다른 타사 백신이나 방화벽 프로그램을 중복으로 깔아 커널 연결 리스트 충돌을 유발하지 않았는가?
- 바이오스에서 무리한 메모리(RAM) 오버클럭을 해제하고
sfc /scannow로 기본 시스템 파일의 무결성을 확인했는가?









