반응형

MIM-104 패트리어트 미사일

  • 미 육군이 사용하는 모바일 지대공 미사일(a surface-to-air missile) 시스템으로 미국 Raytheon 사에서 제작
  • 1990년대 초 걸프전의 사막 폭풍 작전에서 대공(anti-aircraft) 미션과 더불어 적의 스커드 미사일과 근거리 탄도 미사일을 요격하는데 사용됨
  • 고도의 공중 요격 미사일과 고성능 레이더 시스템을 사용하는 페트리어트 시스템은 아래와 같은 단계를 거쳐 적의 미사일을 추적하고 파괴한다.
    1)
    레이더가 속도, 위도, 경도, 방위각 등의 정보를 기반으로 스커드 미사일의 특징을 가진 공중 물체를 찾아내고,
    2) ‘
    레인지 게이트라 불리는 레이더 시스템 내의 전자 기기가 미사일이 다음에 나타나게 될 영공의 구역을 계산하며(시스템이 다가오는 미사일을 계속 추적),
    3)
    적의 미사일이 계산된 레인지 게이트 영역에 들어오면 패트리어트가 자신의 미사일을 발사한다.

 

사우디 아라비아 다하란에서의 실패

  • 1991 2 25일 사우디 아라비아 다하란에서 사용 중이던 패트리어트 배터리는 날아오는 이라크 스커드 미사일을 요격하는데 실패하였고 이것이 미 육군 막사에 떨어져 28명이 죽고 98명이 부상당함
  • 레이더가 날아오는 스커드를 일차적으로 탐지하였지만 이 미사일의 다음 위치를 예측한 레인지 게이트에서 스커드가 발견되지 않아 가짜 경보로 판단한 것이 참사로 이어짐
  • 조사 결과 소프트웨어에서 시간 값의 형식을 전환하면서 생긴 라운드오프 에러로 시간 오차가 발생하였고 이것이 레인지 게이트의 부정확한 계산으로 이어져 엉뚱한 위치에서 적의 미사일을 찾는 결과를 낳음

 

실패 원인

  • 레인지 게이트는 목표물의 속도(Velocity)와 레이더에서 발견된 최종 시간을 기반으로 목표물이 다음에 어디에 나타날지를 예측(이 예측 알고리즘은 속도와 시간 모두가 실시간으로 표현될 것을 요구함)
  • 시스템에서 속도는 십진 정수로 표현 가능한 실수 형식임(, 시간당 3750.2563 마일)
  • 시스템에서 시간은 내부 클락에 의해 1/10초 단위로 측정되고 1/10을 곱하여 정수 형식으로 컴퓨터에 저장됨(, 32, 33, 34...). 부팅 후 시스템의 런 시간이 길어질 수록 시간을 나타낸 숫자도 점차 커짐
  • 1/10은 무한한 이진 전개(a non-terminating binary expansion)를 가지는 반면 패트리어트 컴퓨터는 24비트 고정 소수점 레지스터(fixed-point registers)만을 사용하므로 시간 값을 정수에서 실수로 전환 시 24 비트 이후 소수점 뒷부분이 잘리는 라운드오프 에러가 발생(아래 참고)

 

1/10의 이진 전개는  0.0001100110011001100110011001100....
패트리어트의 24 비트 레지스터가 저장한 것은  0.00011001100110011001100
오차를 바이너리로 표현하면   0.0000000000000000000000011001100...
이 오차를 십진법으로 표현하면  약 0.000000095

                   

  • 시간을 나타낸 값이 커질수록(, 시스템 런 시간이 길어질수록) 이 오차도 커진다. 다하란의 패트리어트 미사일 시스템은 약 100 시간 연속해서 가동되었으므로 라운드오프 에러로 인한 시간 오차는 약 0.34(아래 계산 참고)

 

0.000000095×100(시간)×60()×60()×10=0.34

 

  • 결국 패트리어트의 레인지 게이트는 목표물의 속도와 시스템 런 시간에 정비례하는 오차를 가지게 된다. 다하란에서 스커드가 초 당 약 1,676 미터 속도로 이동했으므로 오차 시간인 0.34초 동안 약 687 미터를 더 이동하여 레인지 게이트의 추적에서 벗어나게 됨

 

 

버그 발견

  • 1991 2 11일 이스라엘 군이 패트리어트의 레인지 게이트 예측의 정확성 문제를 발견하고 미 육군과 패트리어트 프로젝트 사무소(소프트웨어 제조자)에 알림
  • 사무소는 임시변통으로 시스템 컴퓨터를 정기적으로 재부팅(시스템 클락을 0으로 리셋) 하도록 육군 관계자들에게 권고했지만 얼마나 자주 재부팅이 필요한지에 대한 구체적인 전달이 이루어지지 않음
  • 1991 2 16일 버그를 수정한 소프트웨어가 출시되었지만 사고가 발생한 다음날인 2 26일이 되어서야 업데이트된 소프트웨어가 다하란에 도착함

 

 

[소프트웨어의 데이터 전환 버그로 인한 사고를 설명한 영상 - 아리안6와 패트리어트 미사일]

 

반응형

+ Recent posts