우주에서 날아온 위협

젯블루 항공 비트플립 사건

by 고등어

2025년 10월 30일, 멕시코 칸쿤에서 뉴왁 공항으로 비행하던 젯블루 항공의 여객기가 급강하하는 사고가 발생한 지 약 한 달이 흘렀다. 해당 여객기 기종은 에어버스 A320. 두 차례 연달아 발생한 급강하로 단 5분 동안 순항고도의 40%를 잃었고 승객 15명이 다쳤다. 다행히 비행기는 플로리다 탐파에 성공적으로 비상착륙했다.


이 사건의 핵심 문제는 조종사가 비행기에 급강하 지시를 내린 적이 없다는 것이다. 즉, 항공기가 자발적으로 급강하했다는 것인데, 이에 대한 결과가 어제(29일) 나왔다. 비행기가 자발적으로 급강하한 원인은 바로 '햇빛' 때문이었다고 보도되고 있다.


592403932_801123856254548_5292413910243464492_n.jpg 젯블루 항공의 A320 여객기가 10월 30일 급강하했다.




잠시 다른 이야기를 해볼까 한다. 때는 2003년, 벨기에의 투표장에서 한 후보가 4096표를 추가로 받는 일이 발생했다. 다행히 이 정도 표는 절대 받을 수 없는 소규모 투표였던 터라 검표원들은 오류를 즉시 발견했고, 수기로 재검표를 진행했다. 그런데 다른 후보의 결과에는 이상이 없었지만 유독 해당 후보만 실제 득표수보다 4096표가 많았다. 검표 프로그램을 만든 개발자들은 몇날며칠 버그를 찾느라 고군분투했지만, 원인을 알아내기는 커녕 문제를 재현하는 것부터 난항을 겪었다고 한다. 이 문제의 원인을 밝힌 열쇠는 숫자 '4096'에 있었다. 묘하게 공돌이들을 두근거리게 만드는 저 숫자는 1024의 4배, 즉 2의 12제곱수다. 이진법으로 수를 저장하는 컴퓨터의 12번째 비트가 0에서 1로 바뀌는 순간, 해당 숫자는 정확히 4096만큼 커지게 된다. 이런 문제를 비트플립(bit flip)이라고 한다고 한다. 프로그램에는 문제가 없었는데 어째서 애꿎은 비트가 갑자기 뒤바뀌게 되었던 것일까?


공돌이의 노트 #1
컴퓨터는 1과 0을 나열한 수열로 숫자를 표현한다. 1이나 0이 몇 번쨰 자리에 표시가 되느냐가 숫자의 크기를 표현하는 데 중요한 역할을 하는데, 3번째 자리의 숫자가 1이라면 2의 3제곱수, 그러니까 8을 나타내는 것이다. 백문이 불여일견, 아래 예시를 보자.
(표현하려는 숫자 - 이진법 숫자)
0 - 0
1 - 1
2 - 10 (2*1 + 1*0)
3 - 11 (2*1 + 1*1)
4 - 100 (4*1 + 2*0 + 1*0)
5 - 101 (4*1 + 2*0 + 1*1)
...
35 - 100011 (연습해보자!)

벨기에 투표장의 경우 12번째 자릿수가 0에서 1로 바뀐 사례로, 원래 숫자에 2의 12제곱수 만큼이 더해지는 효과를 만들어낸다. 여기서 2의 12제곱수는 4096이다.


멀쩡하던 비트의 상태를 바꿔버린 범인은 우주에서 날아온 고에너지 입자로 밝혀졌다. 굳이 ‘고에너지 입자’라는 표현을 쓰는 건 이게 단순히 햇빛의 자외선 같은 ‘빛’과는 다르기 때문이다. 우주에서는 이런저런 이유로 고에너지 입자라는 녀석들이 생성되어 종종 지구로 들어오곤 한다. 이게 지구 대기와 간섭하면서 또 다른 입자들이 우수수 튀어나오는데, 이 때 튀어나온 입자가 하필 반도체 메모리를 강타하면 얌전하던 비트가 바뀔 수 있다는 것이다.




젯블루 항공 사건이 비행기에서 비트플립이 발생한 첫 사건은 아니다. 때는 2008년, 콴타스 항공의 에어버스 A330 여객기가 급강하한 사례가 있는데, 최근 젯블루 사건과 전개가 매우 비슷하다. 당시에도 두 번 연달아 급강하가 발생했고, 승객과 승무원이 다쳤으며, 조종사가 비행제어컴퓨터를 강제로 꺼버리면서 다행히 비상착륙하는 데 성공했다. 당시 사고조사팀 역시 비행제어컴퓨터에서 비트플립이 발생했다는 것은 금세 알아냈으나, 왜 이 비트가 바뀌었는 지에 대해서는 원인을 밝히지 못했다. 앞서 언급한 고에너지 입자, 내부 회로의 오류, 프로그램 오류 등 여러 가능성을 열어놓았지만 지금도 해당 사건의 원인은 확정되지 못했다. 단지, 고에너지 입자로 인한 비트플립이 가장 유력하다고 ‘추정’하는 것으로 마무리되었다. 우주에서 날아온 입자가 일으킨 오류를 재현할 길이 없었기 때문이다.


비행기가 비행하는 고도에는 지상 대비 100배 가량 더 많은 우주 입자가 들이닥친다. 게다가 현대 항공기가 전통적인 기계식 장비를 덜어내고 반도체와 전자제어장치에 의존하기 시작하면서 비트플립은 비행기 안전을 위협하는 실질적인 요인이 됐다. 항공기의 전자화를 주도하고 있는 에어버스 항공기가 비트플립으로 인한 사고를 경험하게 된 건 어쩌면 우연이 아닐 지도 모르겠다. 당시 콴타스 항공의 사건을 계기로 에어버스를 비롯한 항공기 제조사는 비트플립으로 인한 오류를 방지하는 여러 업데이트를 진행했다. 입자가 통과하기 어려운 케이스 장착부터, 비트 오류를 탐지하는 소프트웨어 추가, 프로그램 중복 설계 등이 업데이트에 포함됐다.




Screenshot 2025-12-02 at 1.22.28 AM.png 2008년, 콴타스 항공의 A330 여객기 역시 비슷한 현상을 겪었다.


젯블루 사건의 원인이 사고 한 달만인 11월 29일 발표되자마자, A320 제조사 에어버스는 당일 바로 즉각적인 수정 조치를 발표했다. 수정 조치는 의외로 간단했는데, 비행 제어 소프트웨어 버전을 다음 비행 전까지 예전 것으로 되돌리는(롤백) 것이었다. 아무래도 최근 업데이트된 소프트웨어가 비트플립을 적절하게 막지 못할 수 있다는 것을 발견한 모양이다. 전세계 무려 6000대의 A320이 조치 대상이었고 A320을 사용하는 수많은 항공사들은 밤을 세워가며 모든 A320의 롤백 작업을 진행했다. 한 대당 3-4시간이 소요되는 작업이었지만, 여러 대를 동시에 작업하며 몇몇 항공사는 12시간 내에 A320을 다시 비행 가능한 상태로 되돌려놓았다. 물론, 여러 곳에서 비행편이 취소되는 등 잡음이 들려왔지만, 항공기를 안전하게 비행 가능한 상태로 만들기 위해서는 어쩔 수 없는 일이었다.


과거 비슷한 사건(콴타스 항공 급강하 사건)을 경험했던 에어버스 입장에서는 젯블루 사건 역시 우주 입자로 인한 비트플립일 것으로 보고 가장 효과가 있어 ‘보이는’ 조치를 시행한 것이다. 하지만 예전 콴타스 때와 마찬가지로, 정확히 무엇이 비트플립을 발생시키는 것인지에 대한 원인은 (우주 입자일 것 같지만) 여전히 미지수이다. 그러니 우리가 실무적으로 할 수 있는 일은 회로를 우주 입자로부터 최대한 방어하고, 나아가 데이터 손상에 대한 방어 알고리즘을 촘촘히 잘 짜는 것 뿐인 것이다.


젯블루 사건은 현대 여객기가 얼마나 전자장비에 많이 의존하는지, 그럼에도 안전을 보장하기 위해 얼마나 예측 불가능한 경우의 수도 고려해야하는 지 보여준다. 최신 항공기는 보잉 에어버스 할 것 없이 모두 전자제어 방식을 따른다. 결국 비행기는 비트 단위의 오류를 끊임없이 잡아야하는 시스템이 되었고, 그만큼 오류에 대한 제조사와 항공사의 신속한 대응과 소프트웨어 품질이 중요해졌다. 젯블루 사건에서 에어버스가 하루가 채 가기 전에 소프트웨어 롤백을 지시한 것도 동일한 맥락일 것이다. 원인이 햇빛이든 고에너지 입자든, 전자적 오류 가능성을 완전히 제거하지 못하는 이상 오류 발생 상황에 정면으로 대응하는 조치인 것이다. 이렇게 A320기는 다시 안전하게 비행 가능한 항공기가 되었고, 엔지니어들은 놀란 가슴을 쓸어내리며 다음 소프트웨어 설계에 신중을 기하게 되었을 것이다.