신용 카드 스키밍 - 공급망 실패의 길고 구불구불한 길

소스 노드 : 1768850

애플리케이션 보안 회사인 Jscrambler의 연구원들은 방금 주의 이야기 공급망 공격에 대해…

… 그것은 또한 공격 사슬이 얼마나 오래 걸릴 수 있는지를 강력하게 상기시켜 줍니다.

슬프게도, 그것은 단순히 시간, 기술적 복잡성이나 체인 자체의 링크 수 측면에서 그리 길지 않습니다.

XNUMX년 전…

연구자들이 발표한 고수준의 이야기는 간단하게 설명하면 다음과 같습니다.

  • 2010년대 초, Cockpit이라는 웹 분석 회사가 무료 웹 마케팅 및 분석 서비스를 제공했습니다. 수많은 전자 상거래 사이트에서 Cockpit의 서버에서 JavaScript 코드를 소싱하여 타사 코드를 자체 웹 페이지에 신뢰할 수 있는 콘텐츠로 통합하여 이 서비스를 사용했습니다.
  • 2014년 XNUMX월, Cockpit은 서비스를 종료했습니다. 사용자는 서비스가 오프라인 상태가 될 것이며 Cockpit에서 가져온 모든 JavaScript 코드가 작동을 멈출 것이라는 경고를 받았습니다.
  • 2021년 XNUMX월, 사이버 범죄자들이 Cockpit의 이전 도메인 이름을 사들였습니다. 우리가 추측할 수 있는 것은 놀라움과 기쁨의 혼합이었습니다. 사기꾼들은 적어도 40개의 전자 상거래 사이트가 여전히 Cockpit에 대한 링크를 제거하기 위해 웹 페이지를 업데이트하지 않았으며 여전히 집에 전화를 걸어 JavaScript를 수락하고 있음을 발견했습니다. 제공되는 코드입니다.

이 이야기가 어디로 흘러가는지 알 수 있습니다.

2014년 말 이후로 로그를 제대로 확인하지 않은(또는 전혀) 불운한 이전 Cockpit 사용자는 여전히 작동하지 않는 코드를 로드하려고 시도하고 있다는 사실을 알아차리지 못했습니다.

우리는 해당 기업이 Cockpit에서 더 이상 분석 데이터를 받지 못한다는 것을 알아차렸지만 데이터 피드가 작동을 멈출 것으로 예상했기 때문에 데이터의 끝이 관련 사이버 보안 문제의 끝이라고 가정했다고 추측합니다. 서비스 및 해당 도메인 이름에.

주입 및 감시

Jscrambler에 따르면, 없어진 도메인을 장악한 사기꾼은 여전히 ​​신뢰하고 현재 부활한 도메인을 사용하는 모든 웹 페이지에 멀웨어를 삽입할 수 있는 직접적인 경로를 획득했습니다.

...정확히 시작하여 승인되지 않은 악성 JavaScript를 광범위한 전자 상거래 사이트에 주입했습니다.

이로 인해 두 가지 주요 유형의 공격이 가능해졌습니다.

  • 미리 결정된 웹 페이지의 입력 필드 내용을 모니터링하기 위해 JavaScript 코드를 삽입합니다. 데이터 input, selecttextarea 필드(예: 일반적인 웹 양식에서 예상할 수 있음)가 추출, 인코딩되어 공격자가 운영하는 다양한 "콜 홈" 서버로 유출되었습니다.
  • 선택한 웹 페이지의 웹 양식에 추가 필드를 삽입합니다. 이 트릭은 HTML 주입, 사기꾼이 사용자가 이미 신뢰하는 페이지를 파괴할 수 있음을 의미합니다. 사용자는 암호, 생일, 전화번호 또는 결제 카드 세부 정보와 같이 해당 페이지에서 일반적으로 요구하지 않는 개인 데이터를 입력하도록 유인될 수 있습니다.

이 두 가지 공격 벡터를 마음대로 사용할 수 있으므로 사기꾼은 손상된 웹 페이지에서 웹 양식에 입력한 모든 내용을 빼낼 수 있을 뿐만 아니라 일반적으로 할 수 없는 추가 개인 식별 정보(PII)를 쫓을 수 있습니다. 훔치다.

처음에 코드를 요청한 서버의 ID를 기반으로 제공할 JavaScript 코드를 결정함으로써 사기꾼은 다양한 방식으로 다양한 유형의 전자 상거래 사이트를 공격하도록 악성 코드를 조정할 수 있었습니다.

이러한 종류의 맞춤형 응답은 Referer: 브라우저에서 생성된 HTTP 요청에서 전송된 헤더는 또한 사이버 보안 담당자가 범죄자가 소매에 넣은 공격 "페이로드"의 전체 범위를 결정하기 어렵게 만듭니다.

결국, 사기꾼이 서버에서 찾고 있는 정확한 서버 및 URL 목록을 미리 알지 못하는 한, 범죄자가 프로그래밍한 공격의 모든 변종을 풀어주는 HTTP 요청을 생성할 수 없습니다. 시스템에.

궁금하시다면, Referer: 영어 단어 "referrer"의 철자가 잘못된 헤더는 원래 인터넷의 인쇄상의 실수에서 이름을 얻었습니다. 기준 문서를 참조하시기 바랍니다.

무엇을해야 하는가?

  • 웹 기반 공급망 링크를 검토하십시오. 자신의 것처럼 제공하는 데이터나 코드에 대해 다른 사람이 제공한 URL에 의존하는 경우 어디에서나 이를 신뢰할 수 있는지 정기적으로 자주 확인해야 합니다. 고객이 "뭔가 고장난 것 같다"고 불평할 때까지 기다리지 마십시오. 첫째, 이는 반응형 사이버 보안 조치에 전적으로 의존하고 있음을 의미합니다. 둘째, 고객이 직접 알아차리고 보고해야 할 명확한 내용이 없을 수 있습니다.
  • 로그를 확인하십시오. 자신의 웹 사이트가 더 이상 작동하지 않는 포함된 HTTP 링크를 사용한다면 분명히 잘못된 것입니다. 잘못된 링크였기 때문에 이전에 해당 링크를 신뢰하지 말았어야 했고, 이전처럼 작동하지 않았기 때문에 더 이상 신뢰하지 않아야 했습니다. 로그를 확인하지 않으려면 애초부터 로그를 수집해야 하는 이유는 무엇입니까?
  • 테스트 트랜잭션을 정기적으로 수행합니다. 고객이 따를 것으로 예상하는 것과 동일한 온라인 거래 순서를 현실적으로 거치는 정기적이고 빈번한 테스트 절차를 유지하고 모든 수신 및 발신 요청을 면밀히 추적하십시오. 이렇게 하면 예기치 않은 다운로드(예: 알 수 없는 JavaScript를 빨아들이는 테스트 브라우저) 및 예기치 않은 업로드(예: 테스트 브라우저에서 비정상적인 대상으로 유출되는 데이터)를 발견하는 데 도움이 됩니다.

XNUMX년 전에 폐기된 서버에서 여전히 JavaScript를 소싱하고 있다면, 특히 PII 또는 지불 데이터를 처리하는 서비스에서 JavaScript를 사용하고 있다면, 당신은 솔루션의 일부가 아니라 문제의 일부입니다. …

...그러니 제발 그런 사람이 되지 마세요!


Sophos 고객을 위한 참고 사항입니다. 여기에서 JavaScript 삽입을 위해 사용된 "재생된" 웹 도메인(web-cockpit DOT jp, 자신의 로그를 검색하려는 경우)는 Sophos에서 다음과 같이 차단됩니다. PROD_SPYWARE_AND_MALWARESEC_MALWARE_REPOSITORY. 이는 해당 도메인이 맬웨어 관련 사이버 범죄와 관련이 있을 뿐만 아니라 맬웨어 코드를 적극적으로 제공하는 데 관여하는 것으로 알려져 있음을 나타냅니다.


타임 스탬프 :

더보기 노출 된 보안