25일 오전 11시 전후로 서울·경기 지역 KT 유·무선 통신에 장애가 발생한 가운데, 작업자의 한 단어짜리 명령어 누락이 원인이 돼 내부 안전장치가 없는 탓에 전국으로 확산된 것으로 확인됐다.
관리자 없이 협력업체 직원끼리만 낮에 네트워크도 분리하지 않은 채 장비를 교체하는 등 관리상 문제도 확인됐다.
KT 측은 장애 원인으로 라우팅(네트워크 경로설정) 오류를 거론한 바 있다.
과학기술정보통신부는 이번 KT 장애와 관련해 정보보호·네트워크 전문가로 구성된 사고조사반과 함께 원인을 조사·분석한 결과를 29일 발표했다.
조사 결과 이번 사고는 25일 오전 11시 16분께 시작돼 낮 12시 45분께 복구가 완료될 때까지 약 89분간 이어졌다.
최초 KT DNS(도메인 네임 시스템·Domain Name System) 서버에서 평소보다 트래픽이 급증한 것이 네트워크 장애로 이어졌다. DNS는 8비트 숫자 4개로 된 도메인 주소를 일반 글자로 이뤄진 IP 주소로 변환하는 역할을 수행한다.
관련 로그 기록을 분석한 결과 부산국사에서 기업 망 라우터(네트워크 경로 설정 장비) 교체 작업 중, 작업자가 잘못된 설정 명령을 입력했고 이후 라우팅(경로 설정) 오류로 전국적인 인터넷 네트워크 장애가 발생했다.
작업자는 사고 발생 라우터에 라우팅 설정 명령어 입력을 마무리하면서 'exit' 명령어를 누락한 것으로 파악됐다. 이에 따라 보더 게이트웨이 프로토콜(BGP·Border Gateway Protocol)로 교환돼야 할 경로 정보가 내부 게이트웨이에 쓰이는 IS-IS 프로토콜로 전송됐다.
라우터는 최신 경로정보를 라우터끼리 교환하기 위해 프로토콜을 사용하는데, KT와 외부 네트워크 경로 구성에는 BGP를 사용하고, KT 내부 경로 구성에는 IS-IS 프로토콜을 쓴다.
통상 1만 건 내외 정보를 교환하는 IS-IS 프로토콜에 그 수십배 규모인 BGP 정보가 엉뚱하게 전송된 결과 라우팅 경로에 오류가 발생한 것이다.
부산 지역 라우터에 잘못된 라우팅 경로가 설정된 것이 다른 지역 IS-IS 라우터에도 전달되면서 전국적으로 오류가 확산했다. 이 과정에서 전국 모든 지역 라우터와 연결된 서울 혜화 센터와 구로 센터가 오류 확산의 허브가 됐다.
전체 라우터에 오류가 전파되기까지 걸린 시간은 30초 이내였다.
특히 KT의 IS-IS 프로토콜은 잘못된 데이터 전달에 대한 안전장치 없이 전국을 하나로 연결하고 있었기 때문에 하나의 잘못된 경로 업데이트가 전국 라우터에 연쇄적으로 일어나면서 장애가 전국으로 확산했다고 과기정통부는 설명했다.
[위키리크스한국=최종원 기자]
sus@wikileaks-kr.org