본문 바로가기
기타/정보

KT 통신 불량 관련 과학기술정보통신부의 발표 내용 요약 + 인터넷, DNS 관련 추가 설명

by minchel1128 2021. 11. 2.

지난 2021년 10월 25일에 KT에서 네트워크 불량이 발생이 발생하였고 이에 KT에서 자체 조사 이후 조사 결과를 발표하기도 하였습니다. 그리고 과학기술정보통신부(이하 과기부)에서도 관련 내용을 조사하였고 2021년 10월 29일 날 발표를 하였습니다.

해당 내용은 과학기술정보통신부 보도자료에서 가져왔습니다.

원문을 보시고 싶으신 경우 https://www.msit.go.kr/bbs/view.do?sCode=user&mId=113&mPid=112&pageIndex=&bbsSeqNo=94&nttSeqNo=3180886&searchOpt=ALL&searchTxt= 이 주소로 이동하거나 인터넷에서 검색하셔서 보시면 됩니다.

KT 네트워크 장애 사고는 10월 25일 오전 11시 16분에 발생하였고 12시 45분에 복구가 완료되어 약 89분간 서비스 장애가 발생한 사고였으며 이번 사고로 KT 네트워크를 사용하는 모든 시스템(전화, 문자, 결제, 보안 등)이 서비스 중단이 되어 많은 피해가 발생하였습니다. 추가적으로 SKT와 LG U+ 는 자사 통신망은 이상 없었지만 KT의 시스템 불량으로 트래픽이 몰려 서비스 지연이 발생하기도 하였습니다.

초기에는 KT에서 DDoS 공격으로 인한 트래픽 과부하가 원인이라고 밝혔다가 이후 네트워크 장비 교체 중 사고 발생으로 원인을 변경하였습니다.

과기부는 초기에 KT가 발표한 DDoS 공격이 맞는지 확인하여 보고 네트워크 전달 매개체인 라우터에서 라우팅 오류가 왜 발생했는지 여부와 왜 전국적인 장애가 발생했는지 조사하였다고 하였습니다.


DDoS(분산 서비스 거부 공격)의 여부를 확인하기 위한 조사에서는 2021년 10월 25일 11시 16분부터 KT의 DNS 서버가 평상시의 양에 비해 중앙 1차 DNS(혜화)의 경우 22배 이상, 중앙 2차 DNS(혜화)는 4배 이상, 부산 DNS는 3.7배 증가하는 것으로 나타나 오인의 여지는 있었다고 합니다.

DNS(Domain Name System)를 모르신다면 아래의 DNS 부분에 서술하겠습니다.

일반적인 DDoS 공격의 경우 1개의 IP가 다량의 도메인 혹은 비정상 도메인을 DNS 서버에 질의를 하여 시스템 자원을 고갈시키는 공격을 하거나 대량의 네트워크 패킷을 전송해 서비스의 대역폭을 채우는 공격을 하게 됩니다.

조사 결과 해당 시기 각각의 개별 IP의 질의는 최대 15개 수준으로 일반적인 수준으로 판단되며 비 정상적인 도메인이 아닌 정상적인 네이버, 다음 등의 도메인 질의만 있었던 것으로 보아 해당 시기엔 정상 이용자만 있어 시스템 자원에 대한 공격은 없었던 것으로 확인되었습니다. 그리고 트래픽에 관해서는 중앙 1차 DNS 서버의 대역폭의 최대 8%, 부산 DNS 서버 대역폭의 28% 규모의 유입으로 충분히 수용 가능한 수준으로 네트워크 대역폭 공격은 아닌 것으로 판단되었습니다.

따라서 트래픽 증가는 있었지만 DDoS 공격이라고 볼기엔 힘들다고 판단하였습니다.

사고 때 생성된 로그 기록을 입수하여 분석을 진행한 결과로 부산 지역에서 기업 망 라우터 교체 작업 중 작업자가 잘못된 설정 명령을 입력한 것이 확인되었고 이 라우팅 오류로 인해 네트워크 장애가 발생한 것으로 파악되어 잘못된 명령어 입력이 사고의 원인으로 확인되었습니다.

KT에서는 KT 내부 네트워크와 외부 네트워크 경로 구성에 BGP 프로토콜을 사용하고 있으며 KT 내부 네트워크 경로 구성에는 IS-IS 프로토콜을 사용하고 있다고 합니다.

해당 작업자의 작업 로그 분석한 결과 라우터에 라우팅 설정 명령어 입력 과정에서 IS-IS 프로토콜 명령어 마무리하는 부분에 exit(종료) 명령어가 누락되었던 것이 확인되었고 이로 인해 BGP 프로토콜에서 처리해야 될 정보가 IS-IS 프로토콜로 전송하게 되었고 IS-IS 프로토콜은 1만 개 정도의 정보를 처리할 수 있도록 설계가 되어있지만 BGP 프로토콜은 수십만 개의 정보를 교환할 수 있도록 설계가 되어있었고 BGP 프로토콜에서 처리할 수많은 정보가 IS-IS 프로토콜에 유입되게 되면서 라우팅 경로 설정에 오류가 발생해 최적화된 라우팅 경로를 세팅하지 못했고 그로 인해 사용자 컴퓨터에서 서버 컴퓨터로 질의가 정해진 시간 안에 전달되지 못해 타임아웃 에러가 발생되게 되었습니다.

IS-IS 프로토콜에 속해있는 라우터들은 정보 최신화를 위해 서로 자동으로 데이터를 주고받게 되어있고 결국 부산 지역의 라우터에 잘못된 경로가 설정이 되었고 해당 잘못된 정보를 최신화를 위해 다른 라우터들이 받아 업데이트하게 되었고 그 결과 KT는 KT 네트워크 내의 라우터들을 연결하는 IS-IS 프로토콜에 중간에 잘못된 데이터인지 확인하는 안전장치가 없이 전국의 모든 라우터를 하나의 망에 연결해 놓고 있었기 때문에 하나의 라우터에 잘못된 정보가 업로드된 경우에 해당 잘못된 최신 정보를 다른 라우터들에 전파되었고 결국 중앙 센터까지 잘못된 정보가 퍼져 연결된 모든 라우터에 잘못된 정보가 갱신되게 되었습니다.

즉 부산 신규기업용 라우터에 잘못된 라우팅 정보가 입력되었고 해당 라우터는 지역의 백본 라우터에 해당 정보를 전달하였고 부산의 백본 라우터는 모든 지역 백본 라우터와 연결되어있는 서울 센터 라우터에 해당 정보를 전달하였고 서울 센터 라우터가 다른 모든 지역 백본 라우터에 해당 정보를 전달하였고 해당 지역 백본 라우터가 밑의 기타 라우터에 정보를 전달하는 방식으로 진행되었고 최종 단계까지 도착하는데 30초가 소모되었습니다.

추가적으로 IPTV나 전화, 문자의 경우 인터넷 서비스 망과는 분리가 되어있었으나 인터넷 서비스에 장애가 발생하자 전화와 문자의 이용이 늘어나게 되었고 단말기 전원을 리셋하게 되면 단말기 정보를 서비스 망에 다시 등록하게 되어 추가적인 트래픽이 발생하게 되었고 추가된 트래픽으로 인해 서비스 망에 대한 부하로 지연이 발생하게 된 것으로 추정됩니다.


따라서 과학기술정보통신부는 KT의 관리적, 기술적 문제가 있다고 파악하였으며 관리적 문제로는 당초에 네트워크 관제 센터에서는 2021년 10월 26일 01시부터 06시에 작업을 승인하였지만 해당 작업이 2021년 10월 25일 오전 11시에 진행되어 승인된 야간작업이 아닌 주간에 작업을 진행하였고 해당 작업을 KT 협력업체에서 진행하는 과정에서 KT 측 작업 관리자가 없었고 협력업체 직원 작업자들끼리만 해당 작업을 수행하였고 작업 오류를 방지하기 위한 작업관리체계가 부실했고 감독자와 작업자에게 확인한 결과 망분리가 이루어지지 않고 네트워크가 연결된 채로 작업이 이루어진 것을 확인하였습니다.

기술적 문제로는 사전검증 단계가 있었으나 명령어 스크립트 작성 과정과 이를 사전에서 검증하는 과정에서 exit 명령어 누락이 발견되지 못했고 2차례에 걸친 사전 검증 단계는 사람이 직접 검토하는 단계로 오류를 발견하지 못한 문제가 발생하였습니다. 그리고 네트워크를 차단한 상태에서 오류 여부를 확인하기 위한 가상 테스트베드가 없었으며 지역에서 발생한 오류가 전국으로 확산하는 것을 차단하는 시스템도 없었던 것으로 확인되었습니다.


문제점에 대한 조치방향으로 과기정통부 네트워크 정책실장을 단장으로 네트워크 전문가 등 관계 전문가들과 T/F를 구성해 운영하여 주요 통신사업자 네트워크의 생존성, 기술적, 구조적인 대책이 담긴 '네트워크 안정성 확보 방안'을 마련할 계획을 세웠고 해당 대책은 단기 대책과 중장기 대책을 포괄하는 방안이 검토될 예정이라고 합니다.

단기 대책

  1. 주요 통신 작업자의 네트워크 작업체계, 기술적 오류 확산 방지체계 등 네트워크 관리체계를 점검
  2. 주요 통신 사업자가 네트워크 작업으로 인한 오류 여부를 사전에 진단할 수 있는 시뮬레이션 시스템 도입
  3. 주요 통신 사업자가 승인된 작업계획서의 내용 및 절차가 준수되는지에 대해 네트워크 관제센터에서 기술적 점검 체계를 구축
  4. 라우팅 설정 오류로 인한 피해를 최소화하기 위해 주요 통신 사업자가 라우팅 작업을 할 때 한 번에 업데이트되는 경로 정보 개수를 일정 수준 이하로 제한할 것을 검토

중장기 대책

  1. 주요 통신사업자의 통신장애 대응 모니터링 체계 강화
  2. 네트워크 안정성과 복원력을 높이는 기술 개발
  3. 안정적인 망구조 설치

추가적으로 피해 보상을 위해서는 KT에서는 이용자 피해현황 조사 및 피해구제 방안 마련을 추진, 방송통신위원회는 이용자 피해구제 방안 이행여부를 점검할 예정이며 방통위는 실효성 있는 피해구제를 위한 법령 및 이용약관 등 개선방안 마련을 검토할 계획이라고 합니다.

현재 KT에서는 사과문 공지와 피해보상안입니다. 피해보상안은 일반 개인 사용자의 경우 각 요금제에서 15시간에 해당하는 금액이며, 소상공인의 경우 10일에 해당하는 이용 금액을 보상하며 12월 요금제에서 자동으로 차감돼서 진행된다고 합니다. 다만 비싼 요금제를 사용하였다고 하여도 개인 사용자는 약 1000원 정도이며 소상공인의 경우 7000~8000원 정도 되는 금액이 해당되게 됩니다.

네트워크에 관한 간략한 이해

DNS(Domain Name System)은 인터넷 상에서 컴퓨터가 서로 통신을 할 때 컴퓨터는 컴퓨터가 이해하기 쉬운 IP주소를 이용해 통신을 하는데 이 숫자로 이루어진 IP주소를 외우며 다니기는 어렵기 때문에 문자로 주소를 만들게 되었는데 이를 DNS라고 부르게 됩니다. (예를 들면 네이버의 경우 http://www.naver.com/ 와 같이 구성되어있습니다.)

이들 DNS를 개인 컴퓨터에 모든 주소를 저장하기는 힘들기 때문에 중앙에 DNS를 전담하는 서버를 두었고 사용자 컴퓨터로 해당 도메인을 입력하면 사용자 컴퓨터는 DNS 서버에 해당 도메인 주소가 어떤 IP를 가지는지 물어보고 DNS 서버는 정보를 보유하고 있는 경우 바로 알려주고 가지고 있지 않는 다면 다른 DNS 서버에 질의를 해서 정보를 알아내 사용자 컴퓨터에 IP주소를 돌려주는 방식을 가지고 있습니다.

그림으로 표시하면 다음과 같습니다.

일반적으로 1부터 8까지 진행되며 캐시 DNS 서버에 원하는 주소가 있다면 바로 돌려주고 없으면 해당 과정을 거쳐 응답하게 됩니다.

추가적으로 이 과정에서 해킹의 가능성이 있는데 해커가 캐시 DNS 서버보다 사용자 컴퓨터에 물리적 거리가 더 가까이 있는 경우 사용자 컴퓨터에서 오는 DNS 질의를 가로채서 캐시 DNS 서버보다 전송을 먼저 해서 사용자 컴퓨터에 도착하게 되면 사용자 컴퓨터는 이후에 오는 정상 IP주소를 무시하고 해커가 전송한 IP주소를 이용해 원하는 장소가 아닌 다른 사이트로 이동하는 취약점이 있습니다. 또한 해커가 DNS 서버에 DDoS 공격을 하여 중단시키고 해커가 역할을 대신하는 경우도 있습니다.

 

인터넷을 이용하면서 서버에 접속한다는 용어를 많이 사용하게 되는데 서버에 접속한다는 의미는 서버 컴퓨터에 직접 접근을 하여 내용을 받고 사용자 화면에 출력한다는 의미입니다. 간단한 예를 들면 네이버에 접속하는 경우 사용자 컴퓨터에서는 네이버 클라이언트 담당 중앙 컴퓨터에 접속을 하여 경로를 확보하고 이후 기본적으로 출력하기 위한 index.html 파일과 관련 css파일, js파일을 요청하게 됩니다. 그러면 요청을 받은 서버에서는 신뢰성 있는 클라이언트(사용자 컴퓨터)인 경우 해당 파일들을 전송하게 되고 받은 클라이언트는 받은 파일을 웹브라우저로 해독하여 사용자 컴퓨터에 표시해 주는 방식입니다.

현재 운용되는 네트워크 방식은 위의 그림처럼(원은 개인 컴퓨터, 선은 연결망을 의미) 모든 컴퓨터가 1:1로 연결되는 건 매우 비효율적인 방법이므로 모든 컴퓨터와 연결하면서 서로 연결되지 않는 방법으로 아래의 그림과 같이 라우터를 이용하게 됩니다.

결국 사용자 관점에서 인터넷을 사용한다고 한다면 개인 컴퓨터는 게이트웨이를 통과해 라우터를 지나게 되고 여러 라우터를 거친 뒤에 목적지 서버 컴퓨터에 연결되게 되고 해당 서버 컴퓨터에서 자료를 보내주면 개인 컴퓨터가 그것을 받아서 표시해 주는 방법을 사용하고 있습니다.

즉 개인 사용자 PC에서 서버에 연결하는 방법은 아래의 그림과 같이 진행되게 됩니다.

따라서 그림처럼 여러 라우터를 거치게 되는데 이들 라우터 간에 최적화된 경로를 가져야만 하며 특정 라우터에 문제가 발생한 경우 다른 라우터가 담당할 수 있도록 정보를 주고받는 과정이 필요하게 됩니다. 위에서 최적화된 경로로 이동한다면 1, 2, 5, 8로 이동하겠지만 만약 2번 라우터가 오류가 발생해 3번으로 정보를 옮긴다면 1, 3, 5, 8로 이동을 하게 될 것입니다. 하지만 만약 오류가 난 2번에서 정상인 3번으로 옮겨주지 않게 되면 라우터 1은 오류가 발생했는지 모르고 계속 2번으로 보내지만 2번이 받지를 못해 결국 사용자는 서버에 접속하지 못하게 됩니다.

 

추가적으로 개인적인 생각이었는데 처음에 DDoS 공격이라고 발표가 났을 때 신뢰성이 많이 낮았습니다. 간단한 이유로서 국내 최대 중앙 네트워크 관리 회사가 DDoS 공격으로 시스템이 다운되는 것은 있어서는 안 되는 일이며 그 정도로 공격을 하는 것은 굉장히 힘든 수준입니다. 그러니까 네이버 등 대형 포털사이트를 중지시키는 거보다 더 높은 수준의 공격이 진행되어야 합니다. 두 번째 이유로는 DDoS 공격을 받은 거 치고는 복구 시간이 굉장히 빨랐습니다. DDoS 공격의 목적은 시스템을 다운시키는 것인데 이 공격이 성공했을 경우에는 컴퓨터가 물리적으로 손상이 가 있는 상태이기 때문에 단순히 서버 컴퓨터를 껐다 켜는 수준으로 복구가 되지 않습니다. 그리고 사이버 공격이 발생한 경우 지체 없이 경찰 사이버수사대와 한국인터넷진흥원, 과학기술정보통신부에 보고와 신고를 하게 되어있습니다. 하지만 이후 언론 보도에 따르면 KT에서는 DDoS 공격이라고 발표를 하였지만 신고를 하지 않았습니다. 따라서 보안 담당자가 해당 과정을 누락했거나 DDoS 공격이 아닌 경우인데 대기업의 직원이 해당 과정을 누락했다고 보기 힘드므로 DDoS 공격이라고 분석이 되지 않았다고 볼 수 있습니다.

728x90
반응형