반응형

은행 카드 장애 발생

  • 20101 1일 이후 독일 은행의 직불카드나 신용카드 사용자들이 ATM에서 현금을 인출할 수 없거나 소매점 POS(point-of-sale) 단말기에서 지불을 할 수 없는 문제가 발생
  • 독일 내 뿐만 아니라 스위스 같은 스키 휴양지에서 겨울 휴가를 보내던 독일인들도 호텔과 식당 비용을 지불하지 못하거나 돈을 인출하지 못해 곤란을 겪음
  • 3천만개 이상의 은행 카드가 영향을 받음. 이는 당시 독일에서 유통중인 카드의 4분의 1에 달함

 

장애 원인

  • 카드의 마이크로칩 상에 올라간 소프트웨어가 카드 리더가 날짜 검증 절차 시 넘겨주는 숫자 ‘2010’을 인식 못하는 오류를 가지고 있었음(프로그래밍 에러). 이로 인해 ATM 기계가 카드가 만료된 것으로 판단해 카드를 삼키거나 트랜잭션 진행을 거부하고, 가게의 POS 단말기도 트랜잭션을 강제 종료(terminate) 시켜버림
  • 이 에러는 보안 강화를 위해 설계된 컴퓨터 칩을 포함한 비교적 최신 카드에 영향을 주었으며, 뒷면에 마그네틱 스트립만 가지고 있는 오래된 카드는 정상 작동함. 당시 독일은 과거 마그네틱 스트립 기술에서 현대식 마이크로칩 카드로 서서히 전환 중이었음(2010년 말까지 전환을 완료하기로 계획)
  • 일부 고객은 문제가 있는 카드의 칩을 접착 테이프로 덮어서 마그네틱 스트립을 통해 지불이 처리되도록 하는 나름의 방식을 고안해 냄(은행 측은 이로 인해 카드나 카드 리더 전체가 훼손될 수 있다고 경고)
  • 문제가 된 칩은 독일 은행의 주요 공급업자인 프랑스 스마트카드 제조사 Gemalto가 납품한 것으로 Gemalto 측은 제품에 결함이 있었음을 인정함. Gemalto가 제조한 카드가 독일 외 다른 유럽 지역에서는 같은 문제를 일으키지 않음
  • 관계자들은 잘 알려진 "Y2K" 또는 밀레니엄 버그와 유사한(하지만 10년 뒤에 등장한) 이 소프트웨어 버그를 "Delayed Y2K” 라고 명명함

 

문제 해결

  • 에러가 있는 카드를 모두 교체하려면 비용이 너무 높으므로(최소 24천만 유로가 소요될 것으로 추정) Gemalto와 독일 은행 측은 이를 피하면서 카드 소지자의 불편을 최소화하는 방안을 고민함
  • Gemalto는 오류가 있는 카드를 현장에서 업데이트 할 수 있는 솔루션을 제안함. 먼저 카드 리더를 위한 소프트웨어 픽스를 개발하여 은행에 배포하고, 이 소프트웨어가 은행 ATM이나 POS 기기에 설치된 후 현장에서 고객이 자신의 카드를 삽입하면 카드 마이크로칩이 자동으로 재프로그래밍 되도록 함
  • 독일 은행 협회 측은 2010 1 7일 이 소프트웨어 수정 방안을 수락함. 이런 방식으로 소프트웨어 픽스가 완전히 설치되는 데는 여러 주가 걸릴 수도 있지만 비용이 매우 많이 드는 카드 교체를 피할 수 있게 해줌

 

[2010년 1월 6일자 Reuters 뉴스]

 

 

Year 2010 문제(Delayed Y2K 버그, Y2.01K 버그, Y2K+10 버그, Y2k.01 버그)

  • 년도 표현에 2자리만 사용하는 컴퓨터나 기타 기기가 2000년으로 넘어가면서 날짜를 제대로 인식하지 못해 예상 못한 문제를 초래할 수도 있음을 우려한 밀레니엄 버그(Y2K 버그)”는 실제 그다지 큰 문제를 초래하지는 않음
  • 대신 2010년도 1 1, 전세계 여러 컴퓨터 시스템에서 Y2K를 연상시키는 버그가 발생함. 위 독일 은행의 경우 외에도 Year 2010을 제대로 다루지 못하여 문제가 된 여러 사례가 있었음
    -
    호주 퀸즈랜드 은행의 소매점 단말기가 2010년 대신 2016년으로 날짜를 처리하기 시작하면서 유효한 고객 카드를 만료된 것으로 보고 트랜잭션을 거부함
    -
    오픈 소스 메일 필터인 SpamAssasin 2010 1 1일 이후 대량의 합법적인 메일을 스팸으로 분류하고 차단하기 시작함
    - Windows 모바일 폰에서 2010 1 1일 이후 발송된 SMS 메시지의 incoming 메시지 날짜가 2010년 대신 2016년으로 나타남
    - SAP
    의 프린팅 스풀에서 2010년 이후 삭제되기로 스케쥴 된 모든 신규 프린트 잡이 2100년으로 잘못 설정됨. , 2010년이 시작된 이후 요청된 모든 리퀘스트를 액티브하게 남겨두는 결과를 낳음
    -
    Palm Pre 폰에서 PC와 폰 데이터 싱크가 안되고 칼렌다(calendar) 애플리케이션도 작동을 안 함

 

이런 문제들은 다양한 유형의 프로그래밍 비일관성이나 임시 픽스(temporary fixes)로 인해 발생하며, 아래와 같은 대표적인 사례를 들 수 있다.

  • Year 20102016로 나타나는 문제는 BNE(binary number encoding)BCD(binary coded decimals) 간의 혼동으로부터 야기된다. 숫자 0부터 9까지는 양 시스템에서 일관적이지만 BNE는 숫자 100x0A로 코딩하는 반면 BCD0x10을 사용한다(BNE0x10을 숫자 16으로 취급함). 이렇게 다른 인코딩을 사용하는 시스템들을 넘나드는 소프트웨어가 20102016으로 잘못 해석함
  • Year 20101910으로 나타나게 하는 문제는 영구적으로 남은 Y2K 임시 패치(temporary patch)로 부터 기인함. 년도에 2자리 표현(two-digit representations)을 사용하는 컴퓨터 시스템들이 Year 2000 1900으로 해석하는 것을 막기 위한 임시 패치 중에 2000년 이후로 날짜에 100년을 추가하도록 시스템을 재프로그램 한 것이 있었음. 이 기간이 10년으로 설정된 시스템들이 2010 1 1일이 되자 100년을 추가하는 것을 멈춤
  • 개발자가 자신이 작업 중인 소프트웨어 버전이 2010년 후에도 널리 사용될 것이라고 예상 못하여 문제가 생긴 경우도 있음. 예를 들어, SpamAssassinincoming 메시지의 날짜가 너무 떨어져 있으면 스팸으로 판단하는 규칙을 사용함(스팸 발송자가 inbox의 맨 위에 머무르기 위해 종종 미래 날짜로 메시지를 발송하는 점에 기반한 규칙). 따라서 이메일 날짜 헤더가 ‘2010’이면 정크로 분류하는 규칙이 시스템에 포함되어 있었음

 

 

 

참고자료: 2010 Rings in Some Y2K-like Problems by George Lawton, computing now, January 2010,

http://www.computer.org/portal/web/computingnow/archive/news048

 

반응형

+ Recent posts