피드로 돌아가기
The Y2K bug is back! Danish dev digs up untimely flaw in old BSD build
The RegisterThe Register
Infrastructure

BSD 2.11 NTP daemon 내 Y2K 버그 발견 및 PDP-11 에뮬레이션 패치

The Y2K bug is back! Danish dev digs up untimely flaw in old BSD build

2026년 6월 15일2intermediate

Context

PDP-11/70 시스템 기반 BSD 2.11의 Network Time Protocol(NTP) daemon에서 연도 처리 오류가 발생한 상황. Traconex 사의 PSTI 수신기를 통한 단파 라디오 시간 동기화 과정에서 발생한 레거시 버그임.

Technical Solution

  • PDP-11/70 에뮬레이터 개발 중 PSTI 디바이스 에뮬레이션 로직 구현
  • 시간 동기화 데이터 처리 중 연도 값이 19126으로 계산되는 숫자 처리 오류 식별
  • 에뮬레이션 환경의 시간 오프셋이 약 17,000년 발생하며 시스템 에러를 유발하는 병목 지점 파악
  • 연도 계산 로직 수정을 통한 Y2K 버그 패치 및 시간 동기화 정상화
  • 16-bit CPU 및 5MHz 클럭 환경에 최적화된 코드 수정 적용
  • Raspberry Pi Pico 등 저사양 하드웨어에서도 구동 가능한 경량 에뮬레이션 구조 유지

1. 레거시 시스템 마이그레이션 시 날짜 및 시간 처리 로직의 오버플로우 가능성 검토

2. 하드웨어 에뮬레이션 구현 시 외부 디바이스의 데이터 인터페이스 사양 정밀 분석

3. 오래된 라이브러리나 OS 커널 내의 잠재적 시간 계산 버그(Y2K 등) 재검증

원문 읽기