2016.08.05

POS 시스템에서 결제카드 데이터와 PIN 훔치기, "누워서 떡먹기"...NCR 보안 연구원

Lucian Constantin | IDG News Service
최근 몇년 동안 소매 및 숙박 업계를 강타한 대규모 결제카드 보안 침해 사건의 상당수는 메모리 스크래핑(memory-scraping) 악성코드의 POS 시스템 공격을 통해 발생했다. 그러나 현재 카드 리더와 POS 결제 애플리케이션 사이에 인증 및 암호화가 없기 때문에 이보다 더 쉬운 방법으로도 데이터를 훔칠 수 있다.


Credit: Lucian Constantin

POS 시스템은 특수 컴퓨터다. 일반적으로 윈도우에서 실행되며 키보드, 터치스크린, 바코드 스캐너, PIN 패드가 달린 카드 리더 등의 주변기기와 연결된다. 또한 거래를 처리하기 위해 특수한 결제 애플리케이션이 설치된다.

공격자가 POS 시스템에서 결제카드 데이터를 훔칠 때 사용하는 일반적인 방법 가운데 하나는 훔친 원격 지원 인증 정보를 통해, 또는 기타 다른 기법으로 시스템을 악성코드에 감염시키는 것이다. 이러한 악성코드 프로그램은 POS 시스템의 결제 애플리케이션에 의해 신용카드가 처리될 때 시스템 메모리에서 신용카드 데이터를 스캔하므로 메모리 또는 RAM 스크래퍼로 불린다.

누워서 떡먹는 법 시연
그러나 지난 2일 미국 라스베이거스의 B사이드(BSides) 컨퍼런스에서 미국 소재의 POS 및 ATM 제조업체 NCR에서 나온 보안 연구원 니르 발트만과 패트릭 왓슨은 PIN 패드가 달린 카드 리더, 주유기 결제 단말기를 포함한 대부분의 "결제 상호 작용 지점"에서 사용 가능한, 한층 더 은밀하고 효과적인 공격 방법을 시연했다.

이러한 기기가 모두 공유하는 주된 문제점은 데이터를 POS 결제 소프트웨어로 되돌려 보낼 때 인증이나 암호화를 사용하지 않는다는 점이다. 따라서 네트워크나 직렬 연결을 도청하는 외부 기기, 또는 POS 시스템 자체를 실행하는 "심(shim) 소프트웨어"를 통해 중간자(man-in-the-middle) 공격에 그대로 노출된다.

두 연구원은 데모에서 PIN 패드와 결제 앱 시뮬레이터가 설치된 노트북 사이의 데이터 케이블을 도청하는 트래픽 캡처 소프트웨어, 그리고 라즈베리 파이 기기를 사용했다. PIN 패드의 상부는 제조사와 모델이 노출되지 않도록 덮개로 가려졌다. 연구원들은 많은 시스템이 공격에 취약한 상황에서 특정 벤더 하나만 드러내는 것을 원치 않았다.

데모에서는 내부자 또는 기술자를 가장한 사람이 설치할 수 있는 외부 기기를 사용했지만 공격자는 원격 접근을 확보할 경우 간단히 결제 앱의 DLL(동적 링크 라이브러리) 파일을 수정해서 운영체제 내부에서 데이터를 가로챌 수 있다. 정상적인 결제 소프트웨어가 로드하는 이러한 수정된 DLL은 메모리 스크래핑 악성코드보다 탐지하기가 훨씬 더 어렵다.


Credit: Lucian Constantin


NCR 연구원들은 공격자가 이 공격 기법을 사용해 카드의 마그네틱 스트라이프에 인코딩된 데이터를 훔쳐 카드를 복제할 수 있을 뿐만 아니라, 카드 소유자를 속여 PIN 번호, 심지어 카드 뒷면에 인쇄된 보안 코드까지 노출하도록 유도할 수 있음을 시연했다.

일반적으로 PIN 패드는 PIN 번호를 POS 소프트웨어로 전송할 때 번호를 암호화한다. 이는 산업 요구 사항이며 제조업체는 이 요구 사항을 준수한다.

"PIN을 재입력하시오"로 번호를 훔친다
한편 중간자 공격을 감행하는 공격자는 일명 커스텀 양식을 업로드하는 방법으로 PIN 패드 스크린에 위조 프롬프트를 주입할 수도 있다. 이러한 스크린 프롬프트를 통해 공격자는 예를 들어 "PIN을 재입력하십시오" 또는 "카드 보안 코드를 입력하십시오" 등 원하는 메시지를 스크린에 표시할 수 있다.

보안 전문가라면 PIN을 두 번 입력해서는 안 된다는 점, 또는 카드 보안 코드(CVV2)는 카드를 직접 사용하지 않는 온라인 거래에서만 사용된다는 점을 알 수도 있지만 일반적인 소비자는 이러한 주의 사항을 모르는 경우가 많다고 연구원들은 지적했다.

실제로 연구원들은 과거 결제 업계의 전문가들을 대상으로 이 공격 방법을 시연했는데, 90%가 PIN 재입력 스크린을 보고 아무런 의심도 하지 않았음을 강조했다.

일부 PIN 패드에는 커스텀 스크린에 표시 가능한 단어를 제한하는 화이트리스트가 있지만 이러한 화이트리스트 중 상당수가 "재입력하십시오(please re-enter)"라는 문구를 허용하며, 허용하지 않더라도 PIN 패드 커스텀 양식이 이미지를 허용하므로 이 필터를 우회하는 것이 가능하다. 즉, 공격자는 스크린에 일반적으로 표시되는 색과 글꼴을 똑같이 모방한 단어를 이미지에 넣어 주입하면 된다.

또 한 가지 언급해야 할 사항은 이 공격은 EMV 표준에 부합하는 카드 리더와 PIN 패드를 상대로 통하므로 칩 구현 카드에도 해당된다는 것이다. 공격자가 칩 구현 카드에서 훔친 트랙 데이터를 사용해 복제 카드를 만든 다음 EMV를 아직 지원하지 않는 국가에서 사용하거나 EMV가 구현되지 않고 카드 긁기만 가능한 단말기에서 사용하더라도 EMV 기술에서는 이를 막을 방법이 없다.

또한 EMV는 전자상거래 트랜잭션에는 해당되지 않으므로 공격자가 카드의 트랙 데이터와 카드의 CVV2 코드만 입수한다면 온라인 사기 거래를 위해 필요한 모든 정보를 손에 쥐게 된다.

연구원들은 제조업체들에게 PIN 패드에서 결제 프로세서까지의 전체 연결을 암호화하는 점대점 암호화(P2PE)를 구현할 것을 권고했다. 기존 하드웨어에 P2PE를 구현할 수 없는 경우, 최소한 PIN 패드와 POS 소프트웨어 사이의 통신을 TLS(전송 계층 보안)를 사용해 보호하고 결제 애플리케이션이 PIN 패드로 보내는 모든 요청에 디지털 서명을 해야 한다.

이 문제가 해결될 때까지 소비자는 PIN 패드에서 PIN을 재입력하라는 메시지가 표시되더라도 절대 다시 입력하면 안 된다. 또한 스크린에 표시되는 메시지를 잘 읽고, 추가 정보를 요청할 경우 의심해야 한다. 가능한 경우 애플 페이와 같은 디지털 지갑 서비스를 사용하는 모바일 결제를 사용해야 한다. 지금으로서는 이 방법이 전통적인 결제 단말기를 사용하는 것보다 더 안전하기 때문이다. editor@itworld.co.kr


POS
2016.08.05

POS 시스템에서 결제카드 데이터와 PIN 훔치기, "누워서 떡먹기"...NCR 보안 연구원

Lucian Constantin | IDG News Service
최근 몇년 동안 소매 및 숙박 업계를 강타한 대규모 결제카드 보안 침해 사건의 상당수는 메모리 스크래핑(memory-scraping) 악성코드의 POS 시스템 공격을 통해 발생했다. 그러나 현재 카드 리더와 POS 결제 애플리케이션 사이에 인증 및 암호화가 없기 때문에 이보다 더 쉬운 방법으로도 데이터를 훔칠 수 있다.


Credit: Lucian Constantin

POS 시스템은 특수 컴퓨터다. 일반적으로 윈도우에서 실행되며 키보드, 터치스크린, 바코드 스캐너, PIN 패드가 달린 카드 리더 등의 주변기기와 연결된다. 또한 거래를 처리하기 위해 특수한 결제 애플리케이션이 설치된다.

공격자가 POS 시스템에서 결제카드 데이터를 훔칠 때 사용하는 일반적인 방법 가운데 하나는 훔친 원격 지원 인증 정보를 통해, 또는 기타 다른 기법으로 시스템을 악성코드에 감염시키는 것이다. 이러한 악성코드 프로그램은 POS 시스템의 결제 애플리케이션에 의해 신용카드가 처리될 때 시스템 메모리에서 신용카드 데이터를 스캔하므로 메모리 또는 RAM 스크래퍼로 불린다.

누워서 떡먹는 법 시연
그러나 지난 2일 미국 라스베이거스의 B사이드(BSides) 컨퍼런스에서 미국 소재의 POS 및 ATM 제조업체 NCR에서 나온 보안 연구원 니르 발트만과 패트릭 왓슨은 PIN 패드가 달린 카드 리더, 주유기 결제 단말기를 포함한 대부분의 "결제 상호 작용 지점"에서 사용 가능한, 한층 더 은밀하고 효과적인 공격 방법을 시연했다.

이러한 기기가 모두 공유하는 주된 문제점은 데이터를 POS 결제 소프트웨어로 되돌려 보낼 때 인증이나 암호화를 사용하지 않는다는 점이다. 따라서 네트워크나 직렬 연결을 도청하는 외부 기기, 또는 POS 시스템 자체를 실행하는 "심(shim) 소프트웨어"를 통해 중간자(man-in-the-middle) 공격에 그대로 노출된다.

두 연구원은 데모에서 PIN 패드와 결제 앱 시뮬레이터가 설치된 노트북 사이의 데이터 케이블을 도청하는 트래픽 캡처 소프트웨어, 그리고 라즈베리 파이 기기를 사용했다. PIN 패드의 상부는 제조사와 모델이 노출되지 않도록 덮개로 가려졌다. 연구원들은 많은 시스템이 공격에 취약한 상황에서 특정 벤더 하나만 드러내는 것을 원치 않았다.

데모에서는 내부자 또는 기술자를 가장한 사람이 설치할 수 있는 외부 기기를 사용했지만 공격자는 원격 접근을 확보할 경우 간단히 결제 앱의 DLL(동적 링크 라이브러리) 파일을 수정해서 운영체제 내부에서 데이터를 가로챌 수 있다. 정상적인 결제 소프트웨어가 로드하는 이러한 수정된 DLL은 메모리 스크래핑 악성코드보다 탐지하기가 훨씬 더 어렵다.


Credit: Lucian Constantin


NCR 연구원들은 공격자가 이 공격 기법을 사용해 카드의 마그네틱 스트라이프에 인코딩된 데이터를 훔쳐 카드를 복제할 수 있을 뿐만 아니라, 카드 소유자를 속여 PIN 번호, 심지어 카드 뒷면에 인쇄된 보안 코드까지 노출하도록 유도할 수 있음을 시연했다.

일반적으로 PIN 패드는 PIN 번호를 POS 소프트웨어로 전송할 때 번호를 암호화한다. 이는 산업 요구 사항이며 제조업체는 이 요구 사항을 준수한다.

"PIN을 재입력하시오"로 번호를 훔친다
한편 중간자 공격을 감행하는 공격자는 일명 커스텀 양식을 업로드하는 방법으로 PIN 패드 스크린에 위조 프롬프트를 주입할 수도 있다. 이러한 스크린 프롬프트를 통해 공격자는 예를 들어 "PIN을 재입력하십시오" 또는 "카드 보안 코드를 입력하십시오" 등 원하는 메시지를 스크린에 표시할 수 있다.

보안 전문가라면 PIN을 두 번 입력해서는 안 된다는 점, 또는 카드 보안 코드(CVV2)는 카드를 직접 사용하지 않는 온라인 거래에서만 사용된다는 점을 알 수도 있지만 일반적인 소비자는 이러한 주의 사항을 모르는 경우가 많다고 연구원들은 지적했다.

실제로 연구원들은 과거 결제 업계의 전문가들을 대상으로 이 공격 방법을 시연했는데, 90%가 PIN 재입력 스크린을 보고 아무런 의심도 하지 않았음을 강조했다.

일부 PIN 패드에는 커스텀 스크린에 표시 가능한 단어를 제한하는 화이트리스트가 있지만 이러한 화이트리스트 중 상당수가 "재입력하십시오(please re-enter)"라는 문구를 허용하며, 허용하지 않더라도 PIN 패드 커스텀 양식이 이미지를 허용하므로 이 필터를 우회하는 것이 가능하다. 즉, 공격자는 스크린에 일반적으로 표시되는 색과 글꼴을 똑같이 모방한 단어를 이미지에 넣어 주입하면 된다.

또 한 가지 언급해야 할 사항은 이 공격은 EMV 표준에 부합하는 카드 리더와 PIN 패드를 상대로 통하므로 칩 구현 카드에도 해당된다는 것이다. 공격자가 칩 구현 카드에서 훔친 트랙 데이터를 사용해 복제 카드를 만든 다음 EMV를 아직 지원하지 않는 국가에서 사용하거나 EMV가 구현되지 않고 카드 긁기만 가능한 단말기에서 사용하더라도 EMV 기술에서는 이를 막을 방법이 없다.

또한 EMV는 전자상거래 트랜잭션에는 해당되지 않으므로 공격자가 카드의 트랙 데이터와 카드의 CVV2 코드만 입수한다면 온라인 사기 거래를 위해 필요한 모든 정보를 손에 쥐게 된다.

연구원들은 제조업체들에게 PIN 패드에서 결제 프로세서까지의 전체 연결을 암호화하는 점대점 암호화(P2PE)를 구현할 것을 권고했다. 기존 하드웨어에 P2PE를 구현할 수 없는 경우, 최소한 PIN 패드와 POS 소프트웨어 사이의 통신을 TLS(전송 계층 보안)를 사용해 보호하고 결제 애플리케이션이 PIN 패드로 보내는 모든 요청에 디지털 서명을 해야 한다.

이 문제가 해결될 때까지 소비자는 PIN 패드에서 PIN을 재입력하라는 메시지가 표시되더라도 절대 다시 입력하면 안 된다. 또한 스크린에 표시되는 메시지를 잘 읽고, 추가 정보를 요청할 경우 의심해야 한다. 가능한 경우 애플 페이와 같은 디지털 지갑 서비스를 사용하는 모바일 결제를 사용해야 한다. 지금으로서는 이 방법이 전통적인 결제 단말기를 사용하는 것보다 더 안전하기 때문이다. editor@itworld.co.kr


POS
X