2022년 판교 데이터센터 화재, SK이노베이션E&S 쪽 기록

SK이노베이션E&S 해킹 은폐 보도를 보고 4년 전 기억을 확인하러 갔다. 판교에서 불이 났던 그 일이 이 사건에 걸려 있길래, 내가 기억하는 게 맞는지부터 보려고 했다.

2022년 10월 15일 토요일 당시 나는 카카오엔터테인먼트로 이적한 뒤였고, 카카오는 한창 신규 사옥을 만들던 중이었다. 그래서인지 내 기억에는 그 화재가 "사옥에 불이 났다"로 남아 있었다. 사옥 공사와 불이 같은 시기의 기억이라 한 덩어리로 붙은 것 같다.

확인해보니 불이 난 곳은 카카오 사옥이 아니었다. SK C&C 판교 데이터센터였고, 카카오 쪽은 그 화재를 맞은 편이었다. 여기까지는 그냥 내 기억이 틀렸다는 확인이라 별일이 아니다.

문제는 그다음이었다. 같은 화재가 SK 쪽에서는 다른 걸 시작시켰다. 불에 탄 서버를 점검하다가, 두 달 전에 사내망이 한 차례 해킹당했다는 사실을 그때 발견한 것이다. 그 침해는 3년 4개월 동안 신고되지 않았다. 그리고 그 대응을 총괄한 정보보호최고책임자는 대응 기간에 간경화 진단을 받고 2년 뒤에 죽었다.

밝은 사무실 책상에 같은 날짜의 서류철 두 개가 놓여 있는데 하나는 얇고 하나는 두꺼운 장면

이 글에서 내가 겪은 건 2022년 10월 그 주말의 카카오엔터테인먼트 쪽 상황까지다. SK이노베이션E&S 쪽은 전부 보도와 공개된 기록으로 확인한 것이고 내가 안에서 본 게 아니다. 그래서 회사의 의도를 추정하지 않고, 확인된 날짜와 발표된 내용만 시간순으로 놓는다.

확인된 것만 먼저 늘어놓는다

이 글에서 내가 겪은 건 도입부까지다. 나머지는 전부 보도와 국회 자료를 통해 확인된 사실이고, 내가 직접 본 건 없다. 그래서 시간순으로만 먼저 놓는다.

2022년 9월 30일에 사내망 침해가 발생했다. 침입 경로는 보안 업데이트를 장기간 하지 않은 노후 서버의 취약점이었고 이후 다른 서버로 번졌다. 10월 15일에 SK C&C 판교 데이터센터 화재가 났고 카카오 서비스가 전면 장애를 겪었다. 그 달에 불에 탄 서버를 점검하다 9월 침해가 발견됐다.

11월 3일에 일부 사내 구성원이 네트워크 이상을 제보했고, 다음 날인 11월 4일 자체 보안점검으로 침해사고를 공식 인지했다. 발생 후 65일이다. 11월부터 이듬해 1월까지 약 3개월간 CISO 김우진(가명) 씨가 대응을 총괄했는데 1차 대응 중에 2차 침해가 추가로 탐지됐다. 12월 말에 김 씨가 식도정맥류 진단을 받았고 간경화였다.

2024년 3월에 김 씨가 사망했다. 투병 2년이다. 5월 14일에 회사가 유족에게 함구 조항이 담긴 합의서를 제시했고, 2025년 1월에 유족의 산업재해 신청이 불승인됐다. 한국인터넷진흥원에 침해사고가 신고된 건 2026년 3월 26일이다. 미신고 기간이 약 40개월이다.

유출 규모는 15GB로 보도됐다. 국회 과학기술정보방송통신위원회 최민희 위원장이 2026년 2월에 제보를 받아 두 달간 사실관계를 확인했고, 그 확인이 끝나갈 무렵 회사가 KISA에 신고했다. 순서가 그렇다.

이 표에서 개발자로서 눈이 가는 칸이 세 개 있다. 첫 번째 줄, 65일, 그리고 3개월이다.

보안 업데이트를 미룬 자리

침입 경로가 제로데이가 아니었다. 새로운 공격 기법도 아니었다. 보안 업데이트를 장기간 안 한 노후 서버였다.

이 문장을 한 번이라도 운영을 해본 사람은 그냥 못 읽는다. 노후 서버에 패치를 안 하고 있다는 건 아무도 몰라서 생기는 상태가 아니다. 대개는 다 알고 있다. 그 서버를 건드리면 그 위에 얹힌 뭔가가 죽는데 그게 뭔지 아는 사람이 퇴사했거나, 재기동 창구를 잡으려면 승인이 세 단계 필요하거나, 담당이 명확하지 않거나, 올해 예산에 그 항목이 없다. 그래서 "다음 분기에"가 몇 번 반복된다. 그 사이 아무 일도 일어나지 않기 때문에 미루는 결정은 매번 옳았던 것처럼 보인다.

청구서는 미룬 사람에게 안 온다. 사고가 났을 때 그 자리에 있는 사람에게 온다.

2022년 9월 30일에 그 자리에 있던 사람이 김우진 씨였다. 그가 노후 서버 패치를 미룬 사람인지, 미루자는 결정을 막으려던 사람인지, 그 결정이 있던 회의에 참석했는지는 나는 모른다. 보도에 없다. 확실한 건 그날 이후 세 달을 그가 썼다는 것이다.

여기서 내가 하고 싶은 말은 SK가 나쁘다는 게 아니다. 내가 아는 대부분의 조직에 지금 그 노후 서버가 있다. 나도 있었다. 다른 건 그 뒤에 일어난 일이다.

침해를 65일 동안 몰랐다

9월 30일에 들어왔고 11월 4일에 알았다. 65일이다.

그리고 알게 된 계기가 두 개인데 둘 다 정상적인 탐지가 아니다. 하나는 데이터센터에 불이 나서 서버를 뜯어본 것이고, 하나는 직원이 "네트워크가 좀 이상한데요"라고 제보한 것이다. 침입 탐지 체계가 잡은 게 아니라, 사고와 사람이 잡았다.

침해 탐지에서 65일은 업계 평균과 비교하면 특별히 끔찍한 숫자는 아니다. 그게 더 무서운 지점이다. 평범한 숫자라는 뜻이니까. 그 65일 동안 공격자는 처음 들어온 서버에서 다른 서버로 옮겨 다녔고, 그래서 대응이 서버 한 대 조치로 끝나지 않았다.

이게 3개월이 된 이유다. 침해를 당일에 알았으면 격리 범위가 좁다. 65일이 지난 뒤에 알면 어디까지 갔는지를 먼저 모른다. 로그 보존 기간이 65일보다 짧은 시스템이 있으면 그 구간은 영구히 모른다. 남은 로그로 역추적하고, 어느 계정이 언제 어디로 움직였는지 재구성하고, 그게 정말 끝났는지를 증명해야 한다. 증명이 안 되니까 다시 본다. 1차 대응 중에 2차 침해가 탐지됐다는 건 그 재구성이 끝나기 전에 다음 게 왔다는 뜻이다.

이 작업에는 끝나는 시점이 스스로 오지 않는다. 기능 개발은 만들면 끝난다. 배포하면 되고, 안 되면 롤백하면 된다. 침해 대응은 "이제 없다"를 증명해야 끝난다. 그런데 없다는 것은 원리적으로 증명이 안 된다. 확인한 범위에서 안 보인다까지만 말할 수 있고, 확인 범위를 넓히면 또 새로 볼 것이 나온다.

그래서 이 일은 멈추는 결정을 사람이 내려야 한다. 그 결정을 내리는 순간 그 사람은 "제가 끝났다고 판단했습니다"에 서명하는 것이 된다. 나중에 뭐가 하나 더 나오면 그 서명이 그대로 남는다. 회사가 신고를 하지 않아서 외부 기준도, 같이 서명해줄 기관도 없는 상태에서 그 서명을 혼자 해야 한다면, 나는 그 사람이 언제 멈출 수 있었을지 모르겠다.

대응이 한 사람에게 몰렸다

유족은 이렇게 말했다고 보도됐다. 회사가 해킹을 숨겨서 외부 지원을 받을 수 없었고, 그 결과 과중한 업무를 그가 혼자 감당했다는 것이다.

이 문장은 은폐와 과로가 별개의 두 사건이 아니라고 말한다. 은폐가 과로의 조건이었다는 얘기다.

침해사고를 신고하면 무슨 일이 생기는지 생각해보면 이게 왜 그런지 보인다. KISA에 신고하면 대응 체계가 바깥으로 열린다. 정부 기관이 붙고, 다른 기업 사례와 대조가 되고, 조사 인력이 들어오고, 조치 범위에 대한 외부 기준이 생긴다. 무엇보다 "이 사고는 지금 회사 밖에서도 알고 있는 사고"가 된다. 그러면 회사 안에서 사람과 예산을 더 붙이는 결정이 쉬워진다.

신고하지 않으면 그 전부가 안 열린다. 사고는 아는 사람만 아는 상태로 남고, 아는 사람이 다 한다. 대응에 외부 전문업체가 참여했다는 게 회사 측 설명인데, 그게 사실이더라도 신고 없이 부르는 업체와 신고 후에 들어오는 체계는 같은 게 아니다. 전자는 계약과 비밀유지 안에서 움직이고 그 결과를 회사가 통제한다.

그리고 은폐된 사고에는 특유의 추가 부담이 붙는다. 사고를 처리하면서 사고가 밖으로 안 새게 관리하는 일까지 같은 사람 몫이 된다. 기술 작업만 3개월이 아니었을 가능성이 높다.

그는 덮일 거라고 미리 알고 있었다

이 사건에서 내가 가장 오래 붙잡고 있었던 건 유족의 진술 한 대목이다. 김 씨가 그 무렵 아내에게 회사가 이 일을 덮을 거라고 말했고, 그 근거로 SK C&C가 지금 사과를 하고 있는 중이라는 사정을 들었다는 것이다.

이 문장의 시점을 맞춰보면 이렇게 된다. 그가 침해 대응을 시작한 게 2022년 11월 4일이다. 그 3주 전에 판교에서 불이 났고, 그때 SK C&C는 전국이 보는 앞에서 사과하고 있었다. 국정감사에 불려 나가고, 보상안을 내놓고, 데이터센터 이중화 계획을 발표하던 시기다.

그리고 그 사과를 받는 쪽에 내가 있었다.

같은 몇 주 동안, 나는 그 화재의 결과를 안에서 겪으면서 SK C&C가 뭐라고 하는지를 보고 있었고, 김우진 씨는 그 사과가 진행 중이라는 사실 하나로 자기가 지금 대응하고 있는 해킹이 신고되지 않을 것을 예측하고 있었다. 그의 예측은 맞았다. 40개월 동안 신고되지 않았다.

이게 왜 예측 가능했는지도 어렵지 않다. SK 그룹의 IT 계열사가 데이터센터를 태워서 나라 전체 메신저를 멈춰 세운 직후에, 같은 그룹의 다른 계열사에서 그 계열사가 위탁 운영하던 서버가 해킹당해 15GB가 빠져나갔다는 발표를 한다는 건 조직 논리에서 일어나기 어려운 일이다. 두 사고가 붙으면 한 사고의 두 배가 아니라 다른 종류의 사고가 된다. "우연히 사고가 두 번 났다"가 아니라 "이 회사의 인프라 관리가 총체적으로 무너져 있다"가 되기 때문이다.

그래서 신고를 안 하는 결정은 회의에서 명시적으로 내려지지 않아도 된다. 아무도 그 말을 꺼내지 않으면 그게 결정이다. 나는 이런 종류의 결정이 문서로 남지 않는다는 걸 안다. 문서로 남지 않으니까 4년 뒤에 확인할 게 없고, 확인할 게 없으니까 신고하지 않은 책임은 신고 버튼 앞에 앉아 있던 한 사람에게 남는다.

지금 회사가 하고 있는 해명이 정확히 그것이다.

서버는 회사 것이 아니었다

여기에 구조 하나가 더 있다. 침해된 SK E&S 서버와 메일 시스템은 SK㈜ C&C가 IT 위탁운영 계약으로 직접 관리하고 있었다. SK E&S 사업보고서에 SK㈜와 정보시스템 서비스 요금 합의서를 체결한 사실이 남아 있다.

불이 난 데이터센터를 운영한 회사와, 해킹당한 서버를 운영한 회사가 같은 회사다. 두 사고가 같은 그룹의 같은 IT 계열사 위에서 3주 간격으로 일어났다.

위탁운영 구조에서 노후 서버 패치는 누구 일인가. 계약서에 적혀 있을 것이고 그 답은 내가 모른다. 하지만 실무에서 이 구조가 어떻게 작동하는지는 안다. 운영은 위탁사가 하고, 사고 책임은 데이터를 가진 쪽이 지고, 패치 창구를 잡는 협의는 양쪽 다 자기 일이 아니라고 생각하기 쉽다. 평시에는 이 애매함이 비용을 아껴준다. 사고가 나면 이 애매함이 그대로 남아서, 책임을 물을 자리에 사람이 없다.

그런데 신고 의무를 이행할 자리에는 사람이 있었다. CISO였다.

회사는 신고하지 않은 책임을 그 사람에게 돌렸다

회사 측 해명은 이랬다. 고의로 은폐한 게 아니고, KISA 신고를 하지 않은 것은 김우진 씨 본인이 하지 않은 것이다.

이 해명이 나온 시점을 봐야 한다. 그 사람은 2024년 3월에 죽었다. 회사가 KISA에 신고한 건 2026년 3월 26일이다. 신고하지 않은 책임을, 2년 전에 죽어서 아무 말도 할 수 없는 사람에게 돌린 것이다. 관련 보도의 제목 하나가 이걸 그대로 요약했다. "당시 CISO 사망으로 확인 불가."

40개월이다. 그 40개월 중 김 씨가 살아 있던 기간은 17개월이고, 죽은 뒤로도 23개월 동안 신고는 없었다. 그가 신고를 안 했다는 게 사실이더라도, 그가 죽은 뒤 23개월의 미신고는 설명되지 않는다. 그리고 그 23개월 끝에 신고가 이뤄진 계기는 회사의 판단이 아니라 국회의 조사였다.

CISO 한 사람에게 신고 의무가 실질적으로 걸려 있었다면, 그건 그 사람의 과실인 동시에 그렇게 설계된 조직의 상태다. 한 명이 안 하면 회사 전체가 안 한 것이 되는 구조를 4년 가까이 아무도 고치지 않았다.

신고는 벌점이 아니라 통지다

침해사고 신고 의무를 서류 절차로 생각하면 이 사건이 절반만 보인다. 신고를 하지 않아서 생긴 결과가 "규제 위반" 하나가 아니기 때문이다.

신고 제도가 있는 이유는 규제 기관이 벌점을 매기기 위해서가 아니라 그 침해로 영향을 받는 사람들에게 알리기 위해서다. 15GB가 빠져나갔다면 그 안에 뭐가 들어 있었는지를 아는 사람이 어딘가에 있어야 한다. 사내 메일 시스템이 위탁 운영 대상에 포함돼 있었다면, 그 메일을 주고받은 상대가 회사 밖에도 있다. 거래처, 협력사, 계약 상대, 그 메일에 이름과 연락처와 계약 조건이 적혀 있던 사람들.

40개월 동안 그 사람들은 자기 정보가 어디로 갔는지 몰랐다. 알 방법도 없었다. 신고가 없으면 통지도 없고, 통지가 없으면 각자 자기 계정을 점검할 계기도 없다. 유출된 자격 정보가 다른 서비스에서 재사용되는 데는 40개월이 필요하지 않다.

그리고 이건 그 회사만의 손실이 아니다. 침해 사례가 신고되면 KISA를 통해 공격 지표가 정리되고, 같은 취약점을 방치한 다른 조직이 그걸 보고 자기 서버를 본다. 2022년에 그 신고가 있었다면 그해 말에 자기 노후 서버를 점검한 회사가 몇 군데는 있었을 것이다. 그 40개월은 그 회사가 아낀 시간이 아니라 업계 전체가 못 받은 정보다.

회사가 지키려던 건 산재 보험료가 아니었다

여기서 질문을 하나 바꿔야 한다. 나는 처음에 "회사가 산재를 안 주려고 거짓말을 했다"고 읽었다. 그런데 그 방향으로는 계산이 안 맞는다.

이 회사는 유족에게 조의금 3억 5천만 원을 제시했다. 산재 보험금을 아끼려고 거짓 자료를 낼 회사가 그 돈을 먼저 꺼내지 않는다. 아끼려던 게 돈이 아니었다는 뜻이다.

산재 심사 자료는 정부 기관에 제출하는 공식 문서다. 거기에 "2022년 9월 30일 침해사고가 있었고 고인이 3개월간 대응했다"고 쓰는 순간, 신고하지 않은 침해사고의 존재가 정부 문서에 기록으로 남는다. 근로복지공단과 KISA가 다른 기관이라도 그 문장이 남는다는 사실은 달라지지 않는다. 국회가 자료를 요구하면 나오고, 유족이 그 문서를 들고 어디든 갈 수 있다.

그래서 순서가 내가 처음 생각한 것과 반대다. 산재를 부정하려고 해킹을 없앤 게 아니라, 해킹을 없앤 상태를 유지하려고 산재 심사가 희생됐다. 유족의 신청은 회사에게 보상 문제가 아니라 은폐가 깨질 위험이었다. 그 둘이 충돌했을 때 회사가 지킨 쪽이 어디였는지는 결과가 말한다.

합의서를 이 렌즈로 다시 보면 앞뒤가 맞는다. 산재 분쟁만 막을 목적이라면 소송과 행정심판 조항으로 충분하다. 거기에 언론 보도와 SNS 게시까지 무효 사유로 넣은 조항은 다른 것을 막는다. 보도된 유족의 표현이 "언론도, 국회도 가지 마라"였다. 산재 심사에 국회는 나오지 않는다.

왜 그렇게까지 지켜야 했는지는 그 뒤 4년이 설명한다

40개월이 어떤 40개월이었는지를 놓고 보면 은폐의 압력이 계속 커졌다는 게 보인다.

2012년과 2014년에 KT 개인정보 유출이 있었다. 2022년 10월에 SK C&C 판교 데이터센터 화재로 카카오 등 서비스가 전면 장애를 겪었고, 2023년 1월에 LG유플러스 개인정보 유출이 터졌다. 2025년 1월에 김 씨 유족의 산재가 불승인됐고, 4월에 SK텔레콤 유심 정보 2,696만 건이 유출됐다. 서버 28대에서 악성코드 33종이 나왔다. 2026년 3월 26일에 SK이노베이션E&S 가 2022년 침해를 KISA 에 신고했고, 5월에 티빙 DB 직접 침입으로 CI 까지 유출됐다.

산재 불승인이 2025년 1월이고, SKT 유심 사태가 그 3개월 뒤다. SK 그룹 전체가 보안 문제로 국회와 정부와 여론에 두들겨 맞고 있던 그 국면에, 같은 그룹의 다른 계열사가 "저희도 2022년에 15GB가 털렸고 3년 넘게 신고하지 않았습니다"라고 자진 신고하는 그림은 나오지 않는다. 실제로 2026년 3월의 신고는 자진 신고가 아니었다. 국회가 제보를 받아 두 달간 사실관계를 확인한 끝에 이뤄졌다.

그리고 SKT 사태에서 같은 방식이 다시 나왔다. 유출 나흘 뒤 KISA와의 통화에서 개인정보 유출 여부를 묻는 질문에 "전화번호 정도는 포함되어 있지 않을까 추정"이라고만 답한 정황이 보도됐다. 3년 간격을 두고 같은 그룹의 다른 회사에서, 규제 기관에 유출 사실을 명확히 전달하지 않은 정황이 두 번 나온 것이다.

이걸 담당자 개인의 판단 실수라고 부르기는 어렵다. 침해를 인지한 조직이 신고보다 먼저 하는 일이 무엇인지에 대한 학습된 답이 있고, 그 답이 회사를 바꿔도 반복된다.

문제는 그 답이 연쇄를 만든다는 것이다. 신고가 늦거나 없으면 공격 지표가 공유되지 않고, 공유되지 않으면 다음 회사가 같은 경로로 뚫린다. 2023년 LG유플러스와 2025년 SKT와 2026년 티빙이 각각 다른 사고라고 해도, 그 사이에 업계가 서로에게서 배울 수 있었던 양은 신고된 만큼뿐이다. 은폐는 은폐한 회사만의 이익이고 손실은 나눠 진다.

노후 서버 하나를 패치하지 않은 결정에서 시작해서, 65일 미탐지와 3개월 단독 대응을 지나, 40개월의 침묵과 통지받지 못한 사람들과 그 사이에 계속된 연쇄까지 한 줄로 이어진다. 그 줄의 한가운데에서 한 사람이 죽었고, 그 죽음의 기록이 그 줄을 감추는 데 쓰였다.

회사는 고의로 은폐한 것이 아니라고 해명하고 있다. 위 표는 그 해명을 반박하는 증거가 아니라, 그 해명이 놓인 자리다.

기록이 사라지면 심사는 성립하지 않는다

여기가 이 사건에서 가장 명확한 부분이다. 나머지는 추정이 섞이는데 이건 안 섞인다.

유족이 산업재해를 신청했고, 근로복지공단이 회사에 질의했다. 회사는 이렇게 답했다. "해킹 사고 등 고인과 사업장에 피해가 될 수 있는 사건 발생 내역이 없다."

그리고 2026년 3월 26일, 같은 회사가 KISA에 그 해킹을 신고했다. 신고는 해킹이 있었다는 자기 인정이다. 두 문서를 나란히 놓으면 공단에 낸 답변이 허위라는 게 추론 없이 나온다.

산재 심사는 업무와 질병 사이의 관련성을 근무 기록으로 다툰다. 그래서 심사에 들어가야 할 자료가 이런 것들이다. 2022년 11월부터 2023년 1월까지 그가 무슨 일을 했는지, 왜 그 일이 3개월간 멈추지 않았는지, 야간과 주말 접속 기록이 어떤지, 그 일이 통상 업무인지 비상 대응인지.

회사가 "그런 사건은 없었다"고 답한 순간 이 자료 전체가 심사 대상에서 사라진다. 3개월의 비상 대응이 근거 없는 주장이 되고, 남는 건 간경화라는 질병뿐이다. 간경화는 원인이 여러 갈래이고, 업무 관련성을 붙일 사건이 서류상 존재하지 않으면 결론은 거의 정해진다. 2025년 1월에 불승인됐다.

내가 이 사건에 대해 처음 들었을 때 든 생각은 "회사가 해킹을 부인하니까 과로가 해킹 때문인 게 맞다"였다. 그런데 이건 논리가 약하다. 회사가 파고들 지점도 정확히 거기다.

더 정확한 문장은 이쪽이다. 회사가 판단 근거를 없앴기 때문에 심사가 성립하지 못했다. 이건 의학적 인과를 단정하지 않고도 성립한다. 3개월 대응이 그의 간경화를 일으켰는지는 나는 모르고 단정할 수도 없다. 확인된 것은 그 판단에 필요한 사실을 회사가 허위로 부정했다는 것이다. 죽음의 원인은 아직 모르는 상태고, 모르는 상태로 만든 쪽이 누구인지는 안다.

함구 조항

회사는 조의금 3억 5천만 원을 제시했다. 고인에 대한 감사의 뜻이라는 설명이었다. 유족이 산재를 신청할 뜻을 밝힌 뒤에는 지급이 지연되고 감액될 수 있다는 얘기가 나왔다고 보도됐다.

2024년 5월 14일, 회사가 합의서를 내놨다. 소송, 행정심판, 언론 보도, SNS 게시가 있으면 합의가 무효가 된다는 조건이 붙어 있었다. 회사는 이걸 조의금을 안정적인 환경에서 지급하기 위한 일반적인 합의 조건이라고 설명했다.

그리고 공단에 낸 자료에는 조의금 3억 5천만 원을 지급했다고 적혀 있었다. 유족은 받지 못했다.

받지 않은 돈이 지급된 것으로 기재되면, 심사 쪽에서 보이는 그림은 "회사가 이미 상당한 보상을 한 사안"이 된다. 이 항목도 위와 같은 종류다. 사실이 아닌 기재가 심사 판단에 들어간다.

합의서 조건을 뜯어보면 유족에게 남는 선택이 이렇게 된다. 3억 5천만 원을 받으려면 산재 신청을 하지 말고 언론에 말하지 말고 SNS에 쓰지 말아야 한다. 그 조건을 다 받으면 남편이 무슨 일을 하다 죽었는지가 어디에도 기록되지 않고, 대응을 총괄한 당사자는 이미 죽었으니 확인해줄 사람도 없어진다.

그러면 "당시 CISO 사망으로 확인 불가"라는 문장이 완성된다. 회사 해명의 전제가 되는 그 확인 불가 상태는 그냥 시간이 지나서 생긴 게 아니다. 유족이 그 합의서에 서명하지 않았기 때문에 지금 우리가 이 사건을 읽고 있다.

위로 갈수록 아무도 모른다고 한다

일개 개발자나 운영자가 이 사건에서 할 수 있었던 일은 장애 대응이 전부다. 김우진 씨가 3개월 동안 한 게 그거다. 서버를 뒤지고 로그를 읽고 어디까지 갔는지를 재구성하고, 끝났다는 걸 증명하려고 다시 보는 일.

신고할지 말지는 그 자리에서 결정되지 않는다. 유족에게 무슨 합의서를 내밀지도, 근로복지공단에 무슨 답변을 낼지도 그 자리에서 결정되지 않는다. 그건 전부 위에서 나온다.

그래서 위를 보면, 이 사건 보도에서 올라갈수록 나오는 답이 하나로 모인다. 모른다.

지주사 쪽은 회장 보고 여부에 대해 확인이 어렵고 지주사라고 해서 모든 사안을 인지하는 것은 아니라고 답했다. 침해를 내부적으로 인지한 뒤인 2022년 12월 이사회에서는 SK C&C와의 2023년 서비스 계약이 그대로 승인됐다. 해킹당한 서버를 운영하던 회사와의 계약이 사고 인지 두 달 뒤에 아무 일 없이 갱신된 것이다.

반대로 아래로 내려가면 답이 있다. 신고를 하지 않은 것은 CISO 본인이 하지 않은 것이다. 그리고 그 사람은 죽었다.

이걸 한 줄로 정리하면 구조가 보인다. 알고 있었던 사람은 죽었고, 살아 있는 사람들은 위로 갈수록 모른다고 한다. 책임은 아는 사람에게 물으니, 책임은 죽은 사람에게 남는다.

책임의 값이 위아래로 다르다

이 사건에서 지금까지 실제로 정산된 내역을 세어보면 한쪽에만 숫자가 있다.

유족이 받은 것은 없다. 산재는 불승인됐다. 조의금 3억 5천만 원은 제시됐지만 받지 못했고, 회사가 공단에 낸 자료에는 지급한 것으로 적혀 있었다. 그 돈을 받으려면 소송도 행정심판도 언론도 SNS도 포기해야 했다. 그러니까 유족에게 제시된 선택은 돈이 아니라 침묵과의 교환이었고, 침묵을 팔지 않은 결과가 지금 상태다.

위쪽에서 정산된 것은 아직 확인되지 않는다. 40개월 미신고에 대해 누가 어떤 책임을 졌다는 보도는 없다. 나온 건 "확인이 어렵다"와 "지주사라고 모든 사안을 인지하는 것은 아니다"와 "당시 CISO 사망으로 확인 불가"다.

그리고 이 비대칭은 이 회사만의 것이 아니다. 임원의 책임은 대개 사임으로 정산되고, 그 사임에는 퇴직금과 잔여 보수와 다음 자리가 따라온다. 자리를 내놓는 것 자체가 지불이기 때문에 그 지불은 액수로 환산돼 손에 남는다. 실무자의 책임은 그런 식으로 정산되지 않는다. 경력이 끊기고 업계 안에서 이름이 남고 건강이 깎이는데, 그중 아무것도 회수되지 않고 액수로 환산되지도 않는다.

김우진 씨의 경우 그 지불은 3개월의 잠과 간경화와 목숨이었다. 그건 퇴직금으로 환산되는 종류가 아니다. 같은 사고에서 위쪽이 치를 수 있었던 최대치가 사임이고, 아래쪽이 실제로 치른 것이 목숨이다. 이 두 개를 같은 사고의 책임이라고 부르는 것 자체가 이상하다.

회사가 이득을 본 결정이 아니었다

여기서 계산을 한번 해보면 이게 왜 자리 문제인지가 나온다.

2022년 11월에 신고했다면 어떻게 됐을까. 과징금이 나오고 몇 달 시끄럽고 보안 투자 계획을 발표하고 끝난다. 노후 서버 패치를 안 했다는 사실은 부끄럽지만 그해 한국에서 그건 뉴스가 되기 어려운 종류의 부끄러움이었다.

지금은 어떤가. 40개월 미신고가 붙었고, 국회 조사가 붙었고, 유족 산재 자료에 허위를 기재한 사실이 붙었고, 함구 조항이 붙었고, 죽은 사람에게 책임을 돌린 해명이 붙었다. 2022년에 신고하는 것보다 지금이 회사에게 훨씬 비싸다. 비교가 안 될 만큼 비싸다.

그러니까 은폐는 회사에 이익이 되는 결정이 아니었다. 회사 손익으로 계산하면 은폐는 손실이다. 손실인 결정이 40개월 동안 유지됐다면, 그 결정으로 이득을 본 주체가 회사가 아니라는 뜻이다.

그리고 40개월은 한 사람의 임기보다 길다. 그 사이에 자리가 바뀐 사람이 있었을 것이고, 새로 앉은 사람도 자기 임기에 이걸 터뜨리지 않기로 한 것이다. 각자 자기 자리를 지키는 결정을 이어 붙이면 40개월이 된다. 아무도 거짓말을 하지 않아도 된다. 꺼내지 않으면 유지된다.

오너가 책임을 지는 구조였다면 이 숫자는 안 나온다. 위에서 한 번 "지금 신고해"라고 말하면 끝나는 일이었다. 과징금은 회사가 내고, 그건 회사가 감당할 수 있는 금액이었다. 그 한 문장이 40개월 동안 없었다. 없었던 이유를 나는 회사의 이익에서 찾을 수 없고, 그 문장을 말하면 자리가 흔들리는 사람들의 계산에서만 찾을 수 있다.

이건 윤리라고 부르기에는 너무 구체적인 문제다. 윤리는 회사에 없다. 특정 시점에 특정 자리에 앉아 있던 사람들이 자기 임기와 한 사람의 죽음의 기록 중에서 무엇을 지킬지 선택한 것이고, 그 선택은 사람이 했다.

그래서 이 글에 개발자가 배울 교훈을 쓰지 않겠다. 노후 서버 대장을 만들자거나 비상 대응을 선언하자는 얘기는 다른 글에서 하면 된다. 이 사건에 그걸 붙이면 문제가 옮겨간다. 3개월 동안 잠을 못 자고 침해를 막은 사람이 뭘 더 잘했어야 했다는 말은, 이 사건에 대해 할 말이 아니다.

나는 이게 회사 일로 생긴 일이라고 본다

김우진은 가명이다. 그가 3개월 동안 정확히 몇 시간을 일했는지 나는 모른다. 간경화가 어떤 기전으로 그에게 왔는지도 모른다. 의사가 아니고 그 사람의 진료 기록을 본 적도 없다.

그런데 모르는 것을 인정하는 것과 판단을 하지 않는 것은 다르다. 나는 이게 회사 일로 생긴 일이라고 본다. 근거는 이렇다.

진단 시점이 대응 기간 안에 있다. 그는 2022년 11월 4일에 침해 대응을 시작했고 2022년 12월 말에 식도정맥류 진단을 받았다. 대응이 끝난 건 2023년 1월이다. 병이 대응 전에 있었다는 얘기는 어디에도 없고, 진단은 그 3개월의 한가운데에서 나왔다.

그 3개월이 통상 업무가 아니었다. 65일 지나서 발견한 침해였고, 공격자가 이미 다른 서버로 옮겨 다닌 상태였고, 1차 대응이 끝나기 전에 2차 침해가 탐지됐다. 이건 평소 업무 위에 얹힌 일이 아니라 평소 업무를 밀어내고 들어온 일이다.

혼자 감당한 이유가 회사의 선택이었다. 유족은 회사가 해킹을 숨겨서 외부 지원을 받을 수 없었다고 말한다. 신고를 했다면 KISA가 붙고 조사 인력이 들어오고 사람과 예산을 더 붙이는 결정이 쉬워진다. 그 전부를 안 열기로 한 건 그가 아니라 회사다.

회사가 다투는 방식이 이미 답을 하고 있다. 만약 회사가 정말 이 죽음이 업무와 무관하다고 믿었다면, 근로복지공단에 해킹이 있었다고 인정한 뒤 "그러나 그 업무와 이 질병은 무관하다"고 다퉜을 것이다. 그게 정상적인 다툼이다. 회사는 그렇게 하지 않았다. 사건 자체가 없었다고 답했다. 무관함을 주장할 수 있는 쪽이 무관함을 주장하지 않고 사건의 존재를 부정했다.

이게 내가 이 사건에서 가장 크게 읽은 대목이다. 자료를 가진 쪽은 회사였다. 3개월간 그가 언제 접속했고 무슨 티켓을 처리했고 몇 번이나 주말에 나왔는지를 아는 것은 회사의 시스템뿐이다. 그 자료로 업무 관련성을 반박할 수 있었다면 그렇게 했을 것이다. 부정을 택한 쪽은 반박할 자료가 자기에게 유리하지 않다는 걸 아는 쪽이다.

물론 이건 내 판단이고 산재 심사의 결론은 아니다. 확정된 건 불승인이다. 하지만 그 불승인은 자료를 보고 내려진 게 아니라 자료가 없다는 답변을 받고 내려졌다. 나는 그걸 "업무와 무관하다고 판단됐다"로 읽지 않는다.

내가 아는 건 이 순서다. 보안 업데이트를 미룬 노후 서버로 침입이 들어왔고, 65일 뒤에 데이터센터 화재와 직원 제보로 발견됐고, 신고되지 않은 채 3개월 대응이 한 사람에게 몰렸고, 그 사람이 그 기간에 진단을 받고 2년 뒤 죽었고, 유족이 산재를 신청하자 회사가 그런 사건은 없었다고 답했고, 그 답변 때문에 심사가 성립하지 않았고, 40개월이 지나 국회 조사가 붙은 뒤에야 회사가 그 사건이 있었다고 신고했다.

같은 화재를 나는 반대쪽에서 맞았다. 그쪽에서는 원인과 타임라인과 보상이 다 공개됐다. 며칠 시끄러웠고 사후 보고서가 나왔고 그걸로 정리됐다. 그런 게 공개되는 편에 있었던 게 운이었다는 걸 4년 만에 알았다.

댓글

이 블로그의 인기 게시물

아이들은 우리 게임에 들어오지 못한다

AI가 썼다는 브라우저 300만 줄에서 112만 줄은 남의 코드였다

AI가 준 선택지, 초5 아들은 어떻게 골랐을까?