산업기술
엔지니어가 얼마나 힘들게 테스트를 수행하든지, 개발자가 새벽까지 코딩을 하면서 얼마나 잠 못 이루는 밤을 보내든, 단 하나의 버그로 인해 여전히 전체 시스템 오류가 발생할 수 있습니다. 수십억 달러의 비용이 드는 소프트웨어 결함부터 치명적인 사고로 이어지는 심각한 버그에 이르기까지, 부실한 소프트웨어 개발의 결과는 재앙적일 수 있습니다.
낮은 소프트웨어 품질로 인해 미국 기업은 연간 약 2조 달러의 손실을 입고 있으며, 운영 소프트웨어 오류가 이러한 손실의 주요 원인이라는 사실을 알고 계셨습니까?
소프트웨어 오류의 가장 일반적인 원인은 다음과 같습니다:
다음은 당혹감과 막대한 재정적 손실을 초래한 주요 소프트웨어 오류입니다. 극단적인 경우에는 Therac-25 방사선 과다 복용 사건과 같이 소프트웨어 오류로 인해 생명이 희생될 수도 있습니다.
2023년 5월에는 Progress Software에서 개발한 관리형 파일 전송 소프트웨어인 MOVEit과 관련하여 상당한 데이터 침해가 발생했습니다. 이 결함으로 인해 중요한 데이터에 대한 무단 액세스가 허용되어 전 세계 수천 개의 기업에 영향을 미치는 일련의 사이버 공격이 발생했습니다.
실패 이유:SQL 삽입 취약점
이번 침해는 주로 공개 서버에 대한 SQL 주입 공격을 통해 이루어졌으며, 이를 통해 공격자는 탐지되지 않고 데이터를 유출할 수 있었습니다. 보다 구체적으로 말하면, 이 결함으로 인해 공격자는 MOVEit 데이터베이스에 저장된 중요한 데이터에 대한 무단 액세스 및 도난을 용이하게 하는 "LemurLoot"라고 하는 웹 셸을 배포할 수 있었습니다.
총 침해 비용:158억 달러
이번 침해 사고는 전 세계 2,700개 이상의 조직에 영향을 미쳤으며 약 9,580만 명의 개인 데이터가 손상되었습니다. IBM의 데이터 유출 비용 분석에 따르면 손상된 기록당 평균 비용은 165달러입니다.
1999년 영국 여권청은 여권 신청을 간소화하기 위해 새로운 컴퓨터 처리 시스템을 도입했습니다. Siemens가 개발한 이 시스템은 프로세스를 현대화하고 효율성을 향상시키기 위해 고안되었습니다. 그러나 소프트웨어 결함과 시스템 오류로 인해 출시가 크게 지연되어 수천 명의 영국 시민이 여행 시간에 맞춰 여권을 받지 못하게 되었습니다.
실패 이유:부적절한 테스트
시스템이 실제 조건에서 제대로 테스트되지 않아 배포 시 병목 현상이 발생했습니다. 게다가 같은 시기에 영국 정부는 어린이에 대한 새로운 여권 요건을 도입하여 신청 건수를 크게 늘렸습니다. 시스템에서는 이를 처리할 준비가 되어 있지 않았습니다.
오류로 인한 총 비용:2천만 달러
이 실패로 인해 영국 정부는 추가 직원을 고용하고, 초과 근무를 하고, 피해를 입은 시민들에게 보상을 해야 했으며, 그 결과 약 2천만 달러의 재정적 손실이 발생했습니다. 게다가 수천 명이 휴가와 출장을 놓쳐 대중의 분노를 더했다.
Mariner 1과 함께하는 아틀라스 아게나 | 이미지 출처:위키미디어
1962년 7월에 발사된 마리너 1호는 NASA의 첫 번째 행성 간 임무였으며, 금성을 비행하여 과학 데이터를 지구로 다시 전송하기 위한 것이었습니다. 불행하게도 유도 시스템 오작동으로 인해 우주선이 이륙 후 293초 만에 파괴되면서 임무는 조기에 종료되었습니다.
실패 이유:오버바 누락
이륙 직후 로켓은 경로를 벗어나기 시작했습니다. 이러한 편차는 안내 소프트웨어의 결함으로 인해 발생했습니다. 특히, 손으로 쓴 유도 방정식에 오버바(평균값을 나타내는 기호)가 누락되어 잘못된 유도 명령이 로켓에 전송되었습니다. 결과적으로 로켓은 경로를 벗어났고 사격장 안전 담당자는 잠재적인 위험을 방지하기 위해 로켓의 파괴를 명령했습니다.
오류로 인한 총 비용:1,850만 달러
Mariner 1호의 손실로 인해 1962년에 약 1,850만 달러의 재정적 손실이 발생했으며 이는 오늘날 약 1억 9,400만 달러에 해당합니다.
2004년 1월 26일에 처음 발견된 Mydoom은 지금까지 만들어진 컴퓨터 웜 중 가장 악명 높고 피해가 큰 웜 중 하나입니다. 이는 이메일 첨부 파일과 P2P 네트워크를 통해 확산되어 전 세계 수백만 대의 컴퓨터를 감염시킵니다. 전성기에는 Mydoom이 전 세계적으로 전송된 전체 이메일의 거의 8.3%를 차지하여 역사상 가장 빠르게 확산되는 이메일 웜이 되었습니다.
공격 이유:알 수 없음
Mydoom의 정확한 출처는 아직 알려지지 않았지만, 일부 이론에서는 당시 Linux 소프트웨어에 대한 법적 분쟁에 연루된 SCO 그룹을 공격하기 위해 고용된 그룹에 의해 만들어졌다고 추정합니다. 다른 많은 웜과 달리 Mydoom은 재정적 동기가 없는 것으로 보입니다.
총 비용:380억~500억 달러
이번 사태로 인해 보안 비용, 생산성 손실, 완화 노력 등을 포함하여 수십억 달러의 피해가 발생했습니다. 추정에 따르면 전 세계적으로 총 재정적 영향은 380억~500억 달러에 달했습니다.
이미지 출처:Wikispaces
1978년 1월 18일, 코네티컷 주 하트퍼드에 있는 하트퍼드 시빅 센터 콜리세움의 지붕이 구조적 결함으로 무너졌습니다. 4,700명이 넘는 관중이 모인 농구 경기가 열린 지 불과 6시간 만에 10,000톤에 달하는 지붕이 경기장 좌석 공간 위로 무너졌습니다. 다행히 당시 안에는 아무도 없었습니다.
실패 이유:잘못된 CAD 계산 및 구조 설계 오류
조사 결과 붕괴는 공학적 계산 착오와 구조 설계 과정에서 사용된 컴퓨터 소프트웨어 오류가 결합된 것으로 밝혀졌습니다. 엔지니어들은 응력 분포를 모델링하기 위해 초기 컴퓨터 소프트웨어를 사용했지만 소프트웨어가 특정 하중 조건을 설명하지 못해 주요 관절의 응력 수준이 과소평가되었습니다.
트러스 시스템의 대각선 버팀대가 부적절하여 과도한 굽힘 응력이 발생했습니다. (겨울 폭풍으로 인해) 쌓인 눈과 얼음의 무게로 인해 구조물이 한계를 넘어섰습니다.
총 비용:7천만 달러
붕괴로 인해 컴퓨터 지원 공학에 대한 대중의 신뢰가 손상되었고 건축법 규정이 더욱 엄격해졌습니다. 게다가 디자인 회사, 보험사, 계약업체를 상대로 대규모 소송이 제기되었습니다.
화성 기후 궤도선(Mars Climate Orbiter)은 화성의 대기, 기후 및 표면 변화를 연구하기 위해 1998년 NASA가 발사한 로봇 우주 탐사선입니다. 발사 286일 만에 우주선은 계획대로 궤도에 진입하지 못하고 화성 대기권에서 불탔다.
실패 이유:단위 변환 오류
이 실패는 두 NASA 팀, 즉 힘 계산을 위해 영국식 단위를 사용하는 록히드 마틴(우주선 제작 계약자)과 미터법 단위를 기대하면서 임무를 통제하는 NASA의 제트 추진 연구소 간의 단순하지만 치명적인 단위 변환 오류로 인해 발생했습니다.
이 장치들은 제대로 변환되지 않았기 때문에 궤도선의 내비게이션 시스템이 궤도를 잘못 계산하여 의도한 140마일이 아닌 35마일에서 화성 대기에 진입하게 되었습니다. 낮은 고도로 인해 공기 역학적 힘으로 인해 탐사선이 파괴되었습니다.
총 비용:3억 2,700만 달러
임무의 총 비용은 우주선 개발, 발사 비용 및 임무 운영을 포함하여 약 3억 2,760만 달러였습니다.
1994년에 국세청(IRS)은 사기 세금 신고를 탐지하고 방지하기 위해 전자 사기 탐지 시스템(EFDS)을 도입했습니다. 시간이 지남에 따라 EFDS는 시대에 뒤떨어지게 되었고 진화하는 사기 전술에 보조를 맞추는 데 어려움을 겪었습니다. 이러한 단점을 인식한 IRS는 사기 탐지 기능을 향상하고 EFDS를 대체하는 것을 목표로 2009년에 반품 검토 프로그램(RRP) 작업을 시작했습니다.
실패 이유:구현 지연
RRP는 지연에 직면했고 의도한 대로 완전히 작동하지 않았습니다. 그 결과, 2006년 신고 시즌 동안 IRS는 포괄적인 사전 사기 탐지 시스템 없이 운영되어 세금 시스템이 악용에 취약해졌습니다.
총 비용:40억 달러 이상
2012년에는 신원 도용 관련 세금 사기로 인해 약 40억 달러의 사기 환급이 발생했습니다. 2013년까지 세금 신원 도용으로 인해 770,000명의 납세자가 피해를 입었습니다.
클러스터 미션(Cluster Mission)은 지구의 자기권을 연구하기 위해 개발된 4개의 동일한 우주선으로 구성된 유럽 우주국 프로젝트였습니다. 이 위성은 1996년 6월 4일 아리안 5 로켓의 첫 비행을 통해 발사될 예정이었습니다. 그러나 발사 후 불과 37초 만에 로켓이 공중에서 폭발하여 4개의 위성이 모두 파괴되었습니다.
실패 이유:정수 오버플로
Ariane 5 로켓은 원래 Ariane 4용으로 설계된 소프트웨어를 사용했지만 더 빠른 가속은 코드에서 설명되지 않았습니다. 결과적으로 소프트웨어는 64비트 부동 소수점 숫자를 16비트 정수로 변환하려고 시도했습니다. 아리안 5의 높은 가속도로 인해 값이 저장 한도를 초과하여 시스템 충돌이 발생했습니다.
오류로 인한 총 비용:3억 7천만 달러
클러스터 우주선의 파괴로 인해 3억 7천만 달러가 넘는 재정적 손실이 발생했습니다. 이 수치에는 네 개의 우주선 모두의 개발 및 발사가 포함됩니다. 금전적인 영향 외에도, 이 실패로 인해 지구 자기권에 대한 중요한 과학 연구가 지연되었습니다.
1994년에는 Intel의 Pentium 마이크로프로세서에서 부동 소수점 나눗셈 계산에 오류를 일으키는 치명적인 결함이 발견되었습니다. 나중에 Pentium FDIV 버그로 알려진 이 버그는 특정 나눗셈 연산에 대해 잘못된 소수점 결과를 가져왔습니다. 이는 정확한 계산에 의존하는 연구자들과 기업들 사이에서 광범위한 우려로 이어졌습니다.
유통되고 있는 결함이 있는 칩은 약 500만 개에 달했고 인텔은 결국 불만을 제기하는 사람을 위해 모든 칩을 교체하기로 결정했습니다. 나중에 인텔은 결함이 있는 프로세서 중 일부를 열쇠고리로 바꿨습니다.
실패 이유:부동 소수점 단위의 나누기 알고리즘 결함
이 버그는 칩의 하드웨어 기반 분할 알고리즘에 조회 테이블 항목이 누락되어 발생했습니다. 특정 부동 소수점 나누기가 소수점 이하 8자리를 넘어 잘못된 결과를 반환했습니다.
그러나 오류는 거의 발생하지 않았으며 약 90억 개의 임의 부동 소수점 나누기에서 한 번만 발생했습니다. 예를 들어, 4,195,835.0을 3,145,727.0으로 나누면 올바른 1.333820449136241002 대신 1.333739068902037589가 나옵니다. 이는 0.006%의 오류입니다.
예상 손실:4억 7,500만 달러
인텔은 결함이 있는 칩의 리콜 및 교체로 인해 4억 7,500만 달러의 손실을 입었습니다. 또한 이 사건은 회사의 명성을 심각하게 손상시켰고 Intel은 향후 프로세서 설계에 더 큰 투명성을 채택하게 되었습니다.
1987년 10월 19일(검은 월요일이라고도 함) 다우존스산업평균지수(DJIA)는 508포인트 하락하여 전체 가치의 22.61%를 잃었고, S&P 500 지수는 20.4% 하락했습니다. 이는 월스트리트가 하루 만에 본 최대 손실이었다.
충돌 원인:자동 거래 알고리즘
대형 기관투자가들은 시장이 하락할 때 프로그램 트레이딩 시스템을 이용해 주식을 매도해 폭락을 가속화했다. 이러한 시스템은 패닉에 빠진 시장 상황을 고려하지 않아 판매에 대한 자체 강화 피드백 루프를 야기했습니다.
몇몇 회사는 손실을 방지하기 위해 선물 계약을 판매하는 알고리즘 전략인 포트폴리오 보험을 사용했습니다.
시장이 하락함에 따라 이러한 알고리즘은 더 많은 매도를 촉발하여 하락세를 더욱 악화시켰습니다.
전 세계 손실은 1조 7,100억 달러로 추산됩니다.
즉각적인 경제적 영향은 처음에 우려했던 것보다 덜 심각했지만, 붕괴로 인해 시장 변동성이 증가하고 향후 발생을 방지하기 위한 규제 변경이 촉발되었습니다.
Millennium Bug라고도 알려진 Y2K 버그는 이전 시스템에 날짜가 저장되는 방식으로 인해 발생했습니다. 많은 레거시 컴퓨터 프로그램에서는 연도를 네 자리 숫자("1999") 대신 두 자리 숫자(예:1999년의 경우 "99")를 사용하여 표시했습니다.
2000년이 가까워지면서 컴퓨터가 "00"을 2000년이 아닌 1900년으로 해석하여 은행, 의료, 항공과 같은 산업 전반에 걸쳐 잘못된 계산과 잠재적인 경제적 혼란을 초래할 것이라는 우려가 커졌습니다.
흐름의 이유:초기 컴퓨팅의 메모리 제한
구형 컴퓨터는 최소한의 메모리와 저장 공간으로 설계되었으므로 프로그래머는 공간을 절약하기 위해 두 자리 연도를 사용했습니다. 이러한 근시안적인 디자인 선택은 수십 년 후에 큰 이슈가 되었습니다.
총 수정 비용:3,000억 달러
추정에 따르면 이 문제를 해결하기 위한 노력에는 전 세계적으로 3000억 달러 이상이 소요되는 것으로 나타났습니다. 미국에서만 Y2K 준비에 약 1000억 달러를 지출했습니다. 이러한 투자에는 소프트웨어 업데이트, 시스템 교체, 테스트 및 비상 계획이 포함되었습니다.
Therac-25는 캐나다 원자력회사(AECL)가 암 치료를 위해 개발한 컴퓨터 제어 방사선 치료기입니다. 1985년에서 1987년 사이에 이 장치는 적어도 6명의 환자에게 막대한 방사선 과다 선량을 전달했습니다. 이 환자들은 의도한 수준의 100배에 달하는 방사선량을 받았고, 이로 인해 치명적인 방사선 화상과 심각한 조직 손상에 노출되었습니다.
원인:소프트웨어의 경쟁 조건
Therac-25는 안전을 위해 전적으로 소프트웨어에 의존했지만 코드의 버그로 인해 위험한 상황이 발생할 수 있었습니다. 이 장치에는 저전력 X선 모드와 고전력 전자빔 모드의 두 가지 모드가 있습니다. 장치가 치료를 시작하기 전에 기술자가 신속하게 모드를 변경하면 소프트웨어의 경쟁 조건으로 인해 감쇠기가 제 위치에서 벗어나 치명적인 전자 빔이 환자에게 직접 타격을 줄 수 있습니다.
총 비용:생명 3개
적어도 3명의 환자가 방사선 과다 복용으로 사망했고, 다른 환자들은 심각한 화상, 절단, 장기 손상 등 평생 부상을 입었습니다. AECL을 상대로 여러 건의 소송이 제기되어 금전적인 합의가 이루어졌습니다.
1991년 2월(1차 걸프전 당시), 사우디아라비아 다란에 있는 미국의 패트리어트 미사일 시스템이 들어오는 이라크의 스커드 미사일을 요격 및 추적하는 데 실패했습니다. 스커드는 미군 막사에 충돌했습니다.
실패 이유:부동 소수점 정밀도로 인해 누적된 타이밍 오류
패트리어트 미사일 시스템은 시간을 추적하기 위해 24비트 부동 소수점 레지스터에 의존했습니다. 그러나 누적된 반올림 오류로 인해 100시간 이상 연속 작동한 후 내부 시계가 0.34초씩 드리프트되었습니다. 스커드 미사일은 초당 약 1,676m의 속도로 이동하기 때문에 이 작은 타이밍 오류로 인해 레이더가 미사일의 위치를 약 600m 정도 잘못 계산하여 요격에 실패했습니다.
영향:군인 28명 사망, 100명 부상
이 충격으로 미군 28명이 사망하고 약 100명이 부상을 입었으며, 이는 전쟁 중 미군에 대한 가장 치명적인 공격 중 하나가 되었습니다.
도용 혐의로 기소된 Microsoft 고객: Windows 팀의 누군가가 실수로 버그가 가득한 사전 제작 소프트웨어를 모든 Windows 서버에 설치했습니다. 그 후 19시간 동안 모든 정품 XP 사용자는 불법 복제 소프트웨어를 실행하고 있다는 말을 들었습니다.
가석방된 범죄자: 2011년에는 약 450명의 폭력 범죄자가 컴퓨터 프로그램 코드의 작은 실수로 인해 캘리포니아 카운티 교도소에서 석방되었습니다.
제3차 세계 대전 (거의 일어났음):소련의 핵 조기 경보 시스템은 1983년 9월 26일 미국 미사일의 발사를 보고했습니다. 소련 시스템은 실수로 구름 꼭대기에서 햇빛 반사를 포착하여 이를 미사일 발사로 해석했습니다.
나중에 소련 방공군 장교가 미사일 공격 경고를 허위 경보로 확인했습니다. 이 결정으로 핵전쟁과 수백만 명의 사망 가능성을 예방할 수 있었습니다.
정전: 어둠은 2003년 미국 8개 주 전역에 퍼져 5천만 명의 사람들에게 영향을 미쳤습니다. 문제는 동일한 코드 요소를 사용하는 단일 작업의 두 개의 개별 스레드로 인해 발생하는 경쟁 조건이었습니다.
Apple 지도 실패: iOS 6이 출시되면서 Apple은 우수한 Google 지도 플랫폼을 포기하기로 결정했습니다. 불행하게도 이는 모바일 컴퓨팅 업계에서 가장 큰 실패 중 하나로 판명되었습니다. 2012년 9월, TPMIdeaLab은 소프트웨어에 도시 전체에 대한 항목이 누락되어 있고 위치가 잘못 배치되었으며 위성 이미지가 구름으로 가려져 있다는 사실을 깨달았습니다.
LAX 항공편 결항: 2007년에는 미국 국경과 관세 통제 네트워크로 수많은 잘못된 데이터가 전송되었습니다. 이로 인해 LAX 공항은 8시간 동안 공항 전체를 폐쇄했으며 문제가 해결될 때까지 17,000대 이상의 비행기가 이륙했습니다. 범인은 결함이 있는 내장 소프트웨어 하나였습니다.
자세히 알아보기:
산업기술
전에 LM324 회로도를 본 적이 있습니까? 그렇다면 단일 배터리가 필요한 연산 증폭기 때문에 다른 코스에서 흔히 볼 수 있다는 것을 알아야 합니다. LM324로 무엇을 하거나 만들 수 있는지 궁금할 것입니다. 이 기사에서는 LM324로 만들 수 있는 다양한 프로젝트를 보여주고 LM324의 사양과 핀 배치를 알려줍니다. 준비 되었나요? 뛰어들어봅시다! LM324 회로:LM324 사양 LM324의 사양은 다음과 같습니다. 반전(-) 입력 핀과 출력 핀 사이에 피드백 저항을 배치하여 LM324의 단위 이득을 구성할 수 있습
지난 주에 formnext가 돌아왔습니다. 프랑크푸르트에 있는 무역 박람회는 그 어느 때보다 더 크고 훌륭했습니다. 4일 동안 20,000명 이상의 방문자가 적층 제조 세계의 최신 개발 및 기술을 목격하기 위해 옆 건물을 지나는 것을 보았습니다. 그리고 항공우주에서 의료 및 자동차에 이르기까지 다양한 산업 분야의 470개 출품업체와 함께 모든 사람을 위한 무언가가 있을 것입니다. RP 플랫폼 팀이 formnext에서 무엇을 얻었는지 알아보십시오. 그리고 이벤트에 참석한 일부 회사에 대한 심층 인터뷰를 계속 지켜봐 주십시오. 첫인상