산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 산업기술

업계 표준을 재정의한 13대 주요 소프트웨어 실패 사례

엔지니어가 얼마나 꼼꼼하게 테스트하고 개발자가 새벽까지 코딩하더라도, 단일 버그가 전체 시스템 장애를 초래할 수 있습니다. 수십억 달러 손실을 초래한 소프트웨어 결함부터 사망 사고로 이어진 치명적 버그까지, 부실한 소프트웨어 개발의 결과는 파국적일 수 있습니다.

소프트웨어 품질 저하로 미국 기업이 연간 약 2조 달러 손실을 입으며, 운영 소프트웨어 실패가 주요 원인이라는 사실을 알고 계셨나요?

소프트웨어 실패의 가장 일반적인 원인은 다음과 같습니다:

다음은 당혹감과 막대한 재정 손실을 초래한 주요 소프트웨어 실패 사례들입니다. 테라크-25(Therac-25) 방사선 과다 조사 사건처럼 극단적인 경우 소프트웨어 오류가 인명 피해로 이어지기도 했습니다.

13. 무브잇(MOVEit) 데이터 유출 (2023년)

2023년 5월, 프로그레스 소프트웨어(Progress Software)가 개발한 관리형 파일 전송 소프트웨어 무브잇(MOVEit)과 관련된 대규모 데이터 유출이 발생했습니다. 이 결함으로 무단 접근이 가능해져 전 세계 수천 개 기업에 영향을 미치는 일련의 사이버 공격으로 이어졌습니다.

실패 원인: SQL 인젝션 취약점

유출은 주로 공개된 서버에 대한 SQL 인젝션 공격을 통해 실행되어 공격자가 탐지 없이 데이터를 유출할 수 있게 했습니다. 구체적으로 이 결함은 '레머루트(LemurLoot)'라 불리는 웹 셸 배포를 가능하게 해 무브잇 데이터베이스에 저장된 민감 데이터에 대한 무단 접근과 절취를 용이하게 했습니다.

유출 총비용: 158억 달러

2,700개 이상의 조직이 영향을 받았으며 약 9,580만 명의 개인정보가 유출되었습니다. IBM 데이터 유출 비용 분석에 따르면 유출 레코드당 평균 비용은 165달러입니다.

12. 영국 여권 시스템 (1999년)

1999년 영국 여권청(UK Passport Agency)은 여권 신청 절차를 간소화하기 위한 새로운 전산화 처리 시스템을 도입했습니다. 지멘스(Siemens)가 개발한 이 시스템은 프로세스 현대화와 효율성 향상을 목표로 했습니다. 그러나 소프트웨어 결함과 시스템 장애로 대규모 지연이 발생해 수천 명의 영국 시민이 제때 여권을 받지 못해 여행에 차질이 생겼습니다.

실패 원인: 부적절한 테스트

시스템이 실제 조건에서 제대로 테스트되지 않아 배포 시 병목 현상이 발생했습니다. 동시에 영국 정부가 아동 여권 신규 요건을 도입하면서 신청량이 대폭 증가했는데, 시스템은 이를 감당할 준비가 되어 있지 않았습니다.

오류 총비용: 2,000만 달러

실패로 영국 정부는 추가 인력 고용, 초과 근무, 피해 시민 보상 등으로 약 2,000만 달러의 재정 손실을 입었습니다. 수천 명이 휴가와 출장을 놓치며 대중의 분노를 샀습니다.

11. 매리너 1호 (Mariner 1)

업계 표준을 재정의한 13대 주요 소프트웨어 실패 사례

1962년 7월 발사된 매리너 1호는 나사(NASA)의 첫 행성 탐사 임무로, 금성을 근접 비행하며 과학 데이터를 지구로 전송할 예정이었습니다. 안타깝게도 발사 293초 후 유도 시스템 오작동으로 우주선이 파괴되며 임무가 조기 종료되었습니다.

실패 원인: 오버바(Overbar) 기호 누락

발사 직후 로켓이 궤도에서 이탈하기 시작했습니다. 이 편차는 유도 소프트웨어 결함 때문이었습니다. 구체적으로 수기로 작성된 유도 방정식에서 평균값을 나타내는 오버바 기호가 누락되어 로켓에 잘못된 유도 명령이 전송되었습니다. 결과적으로 로켓이 궤도에서 이탈했고, 레인지 안전관이 잠재적 위험 방지를 위해 파괴를 명령했습니다.

오류 총비용: 1,850만 달러

매리너 1호 손실로 1962년 기준 약 1,850만 달러의 재정적 손실이 발생했으며, 이는 현재 가치로 약 1억 9,400만 달러에 해당합니다.

10. 마이다움(Mydoom)

2004년 1월 26일 처음 발견된 마이다움(Mydoom)은 역대 가장 악명 높고 파괴적인 컴퓨터 웜 중 하나입니다. 이메일 첨부파일과 P2P 네트워크를 통해 전파되어 전 세계 수백만 대의 컴퓨터를 감염시켰습니다. 정점에는 전 세계 이메일의 약 8.3%를 차지해 역대 가장 빠르게 확산된 이메일 웜이 되었습니다.

공격 원인: 불명

마이다움의 정확한 기원은 불분명하지만, 당시 리눅스 소프트웨어 관련 법적 분쟁에 휘말린 SCO 그룹을 공격하기 위해 고용된 그룹이 만들었다는 설이 있습니다. 다른 많은 웜과 달리 금전적 동기는 없었던 것으로 보입니다.

총비용: 380억~500억 달러

보안 비용, 생산성 손실, 완화 노력 등으로 수십억 달러 피해가 발생했습니다. 전 세계적 총 재정 영향은 380억~500억 달러로 추정됩니다.

9. 하트퍼드 콜리세움 붕괴 (1978년)

업계 표준을 재정의한 13대 주요 소프트웨어 실패 사례

1978년 1월 18일, 코네티컷주 하트퍼드 시빅 센터 콜리세움(Hartford Civic Center Coliseum)의 지붕이 구조적 결함으로 붕괴했습니다. 1만 톤 지붕이 아레나 좌석 위로 떨어졌으며, 4,700명 이상 관중이 있던 농구 경기 종료 불과 6시간 만이었습니다. 다행히 당시 내부에 아무도 없었습니다.

실패 원인: 결함 있는 CAD 계산 & 구조 설계 오류

조사 결과 붕괴는 엔지니어링 계산 실수와 구조 설계 과정에 사용된 컴퓨터 소프트웨어 오류의 복합적 결과였습니다. 엔지니어들은 초기 컴퓨터 소프트웨어로 응력 분포를 모델링했지만, 소프트웨어가 특정 하중 조건을 고려하지 못해 주요 조인트의 응력 수준을 과소평가했습니다.

트러스 시스템에 불충분한 대각 버팀이 있어 과도한 굽힘 응력이 발생했습니다. 겨울 폭설로 쌓인 눈과 얼음의 무게가 구조물 한계를 넘었습니다.

총비용: 7,000만 달러

붕괴는 컴퓨터 지원 엔지니어링에 대한 대중의 신뢰를 손상시키고 더 엄격한 건축 법규로 이어졌습니다. 설계 회사, 보험사, 계약자를 상대로 대규모 소송이 제기되었습니다.

8. 마스 클라이밋 오비터 (Mars Climate Orbiter)

마스 클라이밋 오비터(Mars Climate Orbiter)는 1998년 나사(NASA)가 발사한 로봇 우주 탐사선으로, 화성 대기와 기후, 표면 변화를 연구할 예정이었습니다. 발사 286일 후 계획된 궤도 진입 대신 화성 대기권에서 소멸했습니다.

실패 원인: 단위 변환 오류

실패는 두 나사 팀 간의 단순하지만 치명적인 단위 변환 오류로 발생했습니다: 우주선 제작 계약사인 록히드 마틴(Lockheed Martin)은 추력 계산에 영국 단위계(임페리얼)를 사용했고, 임무를 통제한 나사 제트추진연구소(JPL)는 미터법 단위를 기대했습니다.

이 단위들이 제대로 변환되지 않아 오비터의 항법 시스템이 궤적을 잘못 계산했고, 의도한 140마일 대신 35마일 고도에서 화성 대기권에 진입했습니다. 낮은 고도에서 공기역학적 힘이 탐사선을 파괴했습니다.

총비용: 3억 2,700만 달러

임무 총비용은 우주선 개발, 발사 비용, 임무 운영을 포함해 약 3억 2,760만 달러였습니다.

7. IRS: 사기 탐지 시스템 부재

1994년 미국 국세청(IRS)은 전자 사기 탐지 시스템(EFDS)을 도입해 허위 세금 신고 탐지와 예방을 시도했습니다. 시간이 지나며 EFDS는 구식화되어 진화하는 사기 수법을 따라잡기 어려워졌습니다. 이러한 단점을 인지한 IRS는 2009년 반환 검토 프로그램(RRP) 개발을 시작해 사기 탐지 역량 개선과 EFDS 대체를 목표로 했습니다.

실패 원인: 구현 지연

RRP는 지연에 직면했고 의도한 대로 완전히 운영되지 못했습니다. 결과적으로 2006년 신고 시즌에 IRS는 포괄적인 선행 사기 탐지 시스템 없이 운영되어 세제 시스템이 악용에 취약해졌습니다.

총비용: 40억 달러 이상

2012년 신원 도용 관련 세금 사기로 약 40억 달러의 부당 환급이 발생했습니다. 2013년까지 세금 신원 도용으로 77만 명의 납세자가 피해를 입었습니다.

6. 클러스터 우주선 (Cluster Spacecraft)

클러스터 미션(Cluster Mission)은 지구 자기권을 연구하기 위해 개발된 4대의 동일한 우주선으로 구성된 유럽우주국(ESA) 프로젝트입니다. 이 위성들은 1996년 6월 4일 아리안 5호(Ariane 5) 로켓의 첫 비행으로 발사될 예정이었습니다. 그러나 발사 37초 만에 로켓이 공중 폭발해 4개 위성 모두 파괴되었습니다.

실패 원인: 정수 오버플로(Integer Overflow) 오류

아리안 5호 로켓은 원래 아리안 4용으로 설계된 소프트웨어를 사용했지만, 더 빠른 가속도가 코드에 반영되지 않았습니다. 그 결과 소프트웨어가 64비트 부동소수점 숫자를 16비트 정수로 변환하려 했습니다. 아리안 5호의 더 높은 가속도로 인해 값이 저장 한계를 초과해 시스템 충돌이 발생했습니다.

오류 총비용: 3억 7,000만 달러

4개 우주선 파괴로 3억 7,000만 달러 이상의 재정 손실이 발생했습니다. 이 수치에는 4개 우주선 모두의 개발 및 발사 비용이 포함됩니다. 금전적 영향 외에도 지구 자기권 연구라는 중요한 과학 연구가 지연되었습니다.

5. 펜티엄 부동소수점 나눗셈 버그 (Pentium FDIV Bug)

1994년 인텔(Intel)의 펜티엄(Pentium) 마이크로프로세서에서 부동소수점 나눗셈 계산 오류를 일으키는 치명적 결함이 발견되었습니다. 이 버그는 나중에 펜티엄 FDIV 버그로 알려지며 특정 나눗셈 연산에서 잘못된 소수 결과를 반환했습니다. 이로 인해 정밀 계산에 의존하는 연구자와 기업들 사이에 광범위한 우려가 확산되었습니다.

약 500만 개의 결함 칩이 유통되었고, 인텔은 결국 불만을 제기한 모든 사용자에게 칩을 교체해주기로 결정했습니다. 이후 인텔은 일부 결함 프로세서를 열쇠고리로 만들기도 했습니다.

실패 원인: 부동소수점 유닛의 결함 있는 나눗셈 알고리즘

버그는 칩의 하드웨어 기반 나눗셈 알고리즘에서 룩업 테이블 항목 누락으로 발생했습니다. 특정 부동소수점 나눗셈이 8번째 소수 자리 이후 잘못된 결과를 반환했습니다.

하지만 이 오류는 드물게 발생해 약 90억 번의 무작위 부동소수점 나눗셈 중 한 번꼴이었습니다. 예를 들어 4,195,835.0 ÷ 3,145,727.0 연산에서 1.333739068902037589를 반환했으나 정답은 1.333820449136241002로 0.006% 오차였습니다.

추정 손실: 4억 7,500만 달러

인텔은 결함 칩 리콜과 교체로 4억 7,500만 달러 손실을 입었습니다. 또한 회사 평판이 심각하게 훼손되어 향후 프로세서 설계에서 더 큰 투명성을 채택하게 되었습니다.

4. 1987년 월스트리트 대폭락 (Black Monday)

1987년 10월 19일(블랙 먼데이), 다우존스 산업평균지수(DJIA)가 508포인트 하락해 총가치의 22.61%를 잃었고, S&P 500은 20.4% 하락했습니다. 이는 월스트리트 역사상 단일일 최대 손실이었습니다.

폭락 원인: 자동화된 트레이딩 알고리즘

대형 기관투자자들은 시장이 하락할 때 주식을 매도하는 프로그램 트레이딩 시스템을 사용해 폭락을 가속화했습니다. 이 시스템들은 공포에 의한 시장 상황을 고려하지 않아 매도의 자기강화 피드백 루프를 만들었습니다.

여러 기업이 포트폴리오 보험(portfolio insurance)을 사용했는데, 이는 손실을 헤지하기 위해 선물 계약을 매도하는 알고리즘 전략입니다. 시장이 하락하자 이 알고리즘들이 더 많은 매도를 트리거해 하락 나선을 악화시켰습니다.

전 세계 손실 추정: 1조 7,100억 달러

즉각적 경제적 영향은 처음 우려보다 덜 심각했지만, 폭락은 시장 변동성 증가를 초래했고 향후 재발 방지를 위한 규제 변화를 촉발했습니다.

3. Y2K 버그 (밀레니엄 버그)

Y2K 버그는 구형 시스템에서 날짜가 저장되는 방식에서 기인했습니다. 많은 레거시 컴퓨터 프로그램이 연도를 4자리("1999") 대신 2자리("99")로 표현했습니다.

2000년이 다가오며 컴퓨터가 "00"을 2000년이 아닌 1900년으로 해석해 잘못된 계산과 잠재적 경제적 혼란을 일으킬 수 있다는 우려가 은행, 의료, 항공 등 산업 전반에 확산되었습니다.

결함 원인: 초기 컴퓨팅의 제한된 메모리

구형 컴퓨터는 최소한의 메모리와 스토리지로 설계되어 프로그래머들이 공간 절약을 위해 2자리 연도를 사용했습니다. 이 근시안적 설계 선택이 수십 년 후 거대한 이슈가 되었습니다.

수정 총비용: 3,000억 달러

전 세계적으로 문제 해결에 3,000억 달러 이상이 든 것으로 추정됩니다. 미국만 약 1,000억 달러를 Y2K 대비에 지출했습니다. 이 투자에는 소프트웨어 업데이트, 시스템 교체, 테스트, 비상 계획이 포함됩니다.

2. 암 치료 및 치명적 방사선 치료 (테라크-25)

테라크-25(Therac-25)는 캐나다 원자력공사(AECL)가 개발한 컴퓨터 제어 방사선 치료기로 암 치료용이었습니다. 1985~1987년 사이 최소 6명의 환자에게 의도된 수준의 100배에 달하는 방사선 과다 선량이 조사되어 치명적 방사선 화상과 심각한 조직 손상을 입혔습니다.

원인: 소프트웨어의 경쟁 조건(Race Condition)

테라크-25는 안전을 전적으로 소프트웨어에 의존했지만, 코드 버그로 위험한 조건이 발생할 수 있었습니다. 장치는 저출력 X선 모드와 고출력 전자빔 모드 두 가지가 있었습니다. 기술자가 장치가 치료를 시작하기 전에 모드를 빠르게 변경하면, 소프트웨어의 경쟁 조건으로 감쇠기가 제자리에 없는 상태에서 치명적인 전자빔이 환자에게 직접 조사될 수 있었습니다.

총비용: 3명의 생명

최소 3명의 환자가 방사선 과다 선량으로 사망했고, 다른 환자들은 심각한 화상, 절단, 장기 손상 등 평생 부상을 입었습니다. AECL을 상대로 다수 소송이 제기되어 금전적 합의가 이뤄졌습니다.

1. 패트리어트 미사일 실패 (1991년)

1991년 2월(제1차 걸프전 중), 사우디아라비아 다란에 배치된 미국 패트리어트 미사일 시스템이 날아오는 이라크 스커드 미사일을 요격하고 추적하는 데 실패했습니다. 스커드 미사일은 미군 막사에 추락했습니다.

실패 원인: 부동소수점 정밀도로 인한 누적 타이밍 오류

패트리어트 미사일 시스템은 24비트 부동소수점 레지스터로 시간을 추적했습니다. 그러나 누적 반올림 오류로 100시간 이상 연속 가동 시 내부 시계가 0.34초만큼 드리프트했습니다. 스커드 미사일 속도가 초당 약 1,676미터이므로, 이 미세한 타이밍 오류로 레이더가 미사일 위치를 약 600미터 오계산해 요격에 실패했습니다.

영향: 28명 병사 사망, 100명 부상

충격으로 미군 28명이 사망하고 약 100명이 부상당해 전쟁 중 미군에 대한 가장 치명적 공격 중 하나가 되었습니다.

기타 주목할 만한 소프트웨어 실패 사례

마이크로소프트 고객이 해적으로 오인: 윈도우 팀 누군가가 버그 가득한 프리프로덕션 소프트웨어를 모든 윈도우 서버에 실수로 설치했습니다. 이후 19시간 동안 모든 정품 XP 사용자가 해적판 소프트웨어를 실행 중이라는 알림을 받았습니다.

가석방 범죄자들: 2011년 컴퓨터 프로그램 코드의 작은 실수로 캘리포니아 카운티 교도소에서 약 450명의 폭력 범죄자가 석방되었습니다.

제3차 세계대전 (발발 직전): 소련 핵 조기 경보 시스템이 1983년 9월 26일 미국 미사일 발사를 보고했습니다. 소련 시스템이 구름 꼭대기의 햇빛 반사를 미사일 발사로 오인했습니다. 이후 소련 방공군 장교에 의해 미사일 공격 경보가 오경보로 판명되었습니다. 이 결정이 핵전쟁과 수백만 명의 잠재적 사망을 막았습니다.

대정전: 2003년 미국 8개 주에 어둠이 퍼지며 5,000만 명에 영향. 문제는 단일 연산의 두 별도 스레드가 코드의 같은 요소를 사용하면서 발생한 경쟁 조건이었습니다.

애플 맵 실패: iOS 6 출시와 함께 애플이 우수한 구글 맵을 포기했습니다. 안타깝게도 이는 모바일 컴퓨팅 산업의 가장 대단한 실패 중 하나가 되었습니다. 2012년 9월 TPMIdeaLab은 소프트웨어가 전체 마을 항목 누락, 위치 잘못 배치, 구름에 가린 위성 이미지 등을 발견했습니다.

LAX 항공편 전면 중단: 2007년 미국 국경 및 세관 통제 네트워크에 대량의 잘못된 데이터가 전송되었습니다. 이로 인해 LAX 공항이 8시간 동안 완전히 폐쇄되어 17,000편 이상 항공편이 중단되었습니다. 원인은 단일 결함 임베디드 소프트웨어였습니다.

더 읽어보기

산업기술

  1. 올바른 PCB 소재 선택: 설계 기준 및 소재 선정 가이드
  2. 칩 형성의 이해: 다이어그램, 유형 및 영향 요인
  3. 아날로그 집적 회로의 기초: 개념, 구성 요소 및 실용적 응용
  4. PCBWay가 PCB 제조 최적의 선택인 6가지 이유
  5. 히트 스테이킹 & 초음파 용접 나사 인서트: 성형 부품을 위한 정밀 솔루션
  6. 이진 신호와 논리 게이트: 디지털 전자공학의 기초
  7. 반응성 DC 회로에서 전압과 전류 계산
  8. 직렬 입력, 병렬 출력(SIPO) 시프트 레지스터: 효율적인 I/O 확장을 위한 직렬 데이터의 병렬 변환
  9. CNC 선반 vs 밀링 머신: 핵심 차이점 완벽 가이드
  10. 3D 프린팅 시제품 제작으로 설계 가속화: 효율성과 정확성 향상