제퍼넷 로고

SHEIN 쇼핑 앱이 악용되어 클립보드에서 가격 및 URL 데이터를 가져옵니다.

시간

중국의 "패스트 패션" 브랜드인 SHEIN은 2018년 당시 모회사인 Zoetop이 발견하지 못하고 부정직하게 처리한 데이터 유출 때문에 논란에 낯설지 않습니다.

뉴욕주 법무장관인 Letitia James는 다음과 같이 말했습니다. 성명서 2022년 말:

SHEIN과 [자매 브랜드] ROMBE의 취약한 디지털 보안 조치로 인해 해커가 소비자의 개인 데이터를 쉽게 훔칠 수 있었습니다. [...]

[P]개인 데이터가 도난당했고 Zoetop이 이를 은폐하려 했습니다. 소비자의 개인 데이터를 보호하지 못하고 거짓말을 하는 것은 유행이 아닙니다. SHEIN과 ROMWE는 소비자를 사기 및 신원 도용으로부터 보호하기 위해 사이버 보안 조치를 강화해야 합니다.

뉴욕 법원 판결 당시 우리는 사업 범위를 고려할 때 1.9만 달러의 벌금이 부과된 것에 놀라움을 표시했습니다.

솔직히 우리는 Zoetop(현재 미국의 SHEIN Distribution Corporation)이 회사의 규모, 부, 브랜드 파워, 제기된 위험을 예방하거나 줄일 수 있는 기본적인 예방 조치조차 명백히 부족하다는 점을 고려할 때 그렇게 가볍게 출발한 것에 놀랐습니다. 위반에 의해, 그리고 위반이 알려진 후 위반을 처리하는 데 있어 계속되는 부정직.


스누피 앱 코드 공개

이 사건이 뉴욕 사법 시스템을 샅샅이 뒤지고 있을 때에도 우리가 몰랐던 것은 SHEIN이 Android 앱에 몇 가지 호기심 많은(실제로 악성은 아니지만 의심스러운) 코드를 추가하여 " 마케팅 스파이웨어 도구”.

이 소식은 이번 주 초 Microsoft 연구원이 발표했을 때 나타났습니다. 후향적 분석 7.9.2년 초부터 SHEIN의 Android 앱 버전 2022.

Microsoft가 의심스러운 동작을 보고한 이후로 해당 버전의 앱이 여러 번 업데이트되었지만 Google은 이제 Android에 일부 완화 기능을 추가(아래 참조)하여 SHEIN의 일종의 속임수를 피하려는 앱을 찾는 데 도움을 주었습니다.

...이 이야기는 Google Play에서 "검토 및 승인"을 받은 앱도 사용자의 개인 정보 및 보안을 약화시키는 악의적인 방식으로 작동할 수 있음을 강력하게 상기시켜 줍니다. 악성 "인증자" 앱 우리는 약 XNUMX주 전에 썼습니다.



Microsoft 연구원은 이 특정 SHEIN 앱에 대한 관심을 불러일으킨 것이 무엇인지 말하지 않았습니다.

우리가 아는 한, 그들은 단순히 흥미로운 대상의 짧은 목록을 만들기 위해 다운로드 수가 많은 대표적인 앱 샘플을 선택하고 디컴파일된 코드를 자동으로 검색하여 시스템 기능에 대한 흥미롭거나 예기치 않은 호출을 찾았을 수 있습니다.

연구자 자신의 말:

먼저 동작을 담당하는 관련 코드를 식별하기 위해 앱의 정적 분석을 수행했습니다. 그런 다음 계측된 환경에서 앱을 실행하여 클립보드를 읽고 내용을 원격 서버로 전송하는 방법을 포함하여 코드를 관찰하는 동적 분석을 수행했습니다.

SHEIN의 앱은 100M+ 다운로드로 지정되어 있습니다. 이는 Facebook(5B+), Twitter(1B+) 및 TikTok(1B+)과 같은 초고속 비행 앱보다 공정한 방법이지만 다른 잘 알려지고 널리 사용되는 앱보다 높습니다. Signal(100M+) 및 McDonald's(100M+)와 같은 앱.

코드 파헤치기

앱 자체는 거대하며 APK 형식(APK 파일, Android 패키지, 본질적으로 압축된 ZIP 아카이브임) 및 압축을 풀고 추출할 때 194MB입니다.

최상위 이름이 다음과 같은 패키지 세트에 상당량의 라이브러리 코드 덩어리를 포함 com.zzkko (ZZKKO는 SHEIN의 원래 이름이었습니다)라는 패키지에 일련의 유틸리티 루틴을 포함합니다. com.zzkko.base.util.

이러한 기본 유틸리티에는 PhoneUtil.getClipboardTxt() 에서 가져온 표준 Android 코딩 도구를 사용하여 클립보드를 가져옵니다. android.content.ClipboardManager:

이 유틸리티 함수에 대한 호출을 SHEIN/ZZKKO 코드에서 검색하면 이 유틸리티 함수가 흥미로운 이름의 패키지인 한 곳에서만 사용된다는 것을 알 수 있습니다. com.zzkko.util.­MarketClipboardPhaseLinker:

Microsoft의 분석에서 설명했듯이 이 코드는 트리거될 때 클립보드에 있는 모든 내용을 읽은 다음 둘 다 포함되어 있는지 테스트합니다. ://$, 다른 사람의 웹사이트와 달러 가격이 포함된 검색결과를 복사하여 붙여넣은 경우 예상할 수 있습니다.

테스트가 성공하면 코드는 상상력이 없는(아마도 자동 생성된) 이름으로 패키지에 컴파일된 함수를 호출합니다. k(), 스누핑된 텍스트의 복사본을 매개변수로 보냅니다.

보시다시피 프로그래머가 아니더라도 그 재미없는 기능은 k() 스니핑된 클립보드 데이터를 POST 요청은 서버에 "이것은 내가 당신에게 무언가를 보내달라고 요청하는 전통적인 GET 요청이 아니라 내가 당신에게 데이터를 보내는 업로드 요청입니다."라고 알려주는 특별한 종류의 HTTP 연결입니다.

XNUMXD덴탈의 POST 이 경우 요청은 URL에 업로드됩니다. https://api-service.shein.com/marketing/tinyurl/phrase, 일반적으로 다음과 같은 HTTP 콘텐츠가 있습니다.

 POST //marketing/tinyurl/phrase 호스트: api-service.shein.com . . . Content-Type: application/x-www-form-urlencoded phrase=...k()에 전달된 매개변수의 인코딩된 내용...

Microsoft는 보고서에서 다음과 같이 친절하게 언급했습니다.

우리는 SHEIN의 악의적인 의도를 인식하지 못하지만 애플리케이션의 무해한 동작이라도 악의적인 의도로 악용될 수 있습니다. 클립보드를 대상으로 하는 위협은 암호, 금융 세부 정보, 개인 데이터, 암호화폐 지갑 주소 및 기타 민감한 정보와 같이 복사하여 붙여넣은 정보를 공격자에 의해 도난당하거나 수정할 수 있는 위험에 빠뜨릴 수 있습니다.

클립보드의 달러 기호는 항상 가격 검색을 나타내지 않습니다. 특히 세계 대부분의 국가에서 다른 기호를 사용하는 통화를 사용하기 때문에 광범위한 개인 정보가 이러한 방식으로 유출될 수 있습니다.

…하지만 수집한 데이터가 실제로 다른 곳에서 수행한 순진하고 중요하지 않은 검색에서 온 경우에도 여전히 다른 사람의 일이 아니라 귀하의 일입니다.

URL 인코딩은 일반적으로 URL을 데이터로 전송하여 방문해야 하는 "라이브" URL과 혼동되지 않고 불법 문자가 포함되지 않도록 하려는 경우에 사용됩니다. 예를 들어 URL에는 공백이 허용되지 않으므로 URL 데이터에서 다음으로 변환됩니다. %20, 여기서 백분율 기호는 "두 개의 XNUMX진수 문자로 이어지는 특수 바이트"를 의미하고, 20 공백에 대한 32진수 ASCII 코드입니다(XNUMX진수로 XNUMX). 마찬가지로, 다음과 같은 특수 시퀀스 :// 로 번역됩니다 %3A%2F%2F콜론은 ASCII 0x3A(58진수로 0)이고 슬래시는 2x47F(XNUMX진수로 XNUMX)이기 때문입니다. 달러 기호는 다음과 같이 나옵니다. %24 (십진수로 36).

무엇을해야 하는가?

Microsoft에 따르면 신뢰할 수 있는 앱에서 이러한 종류의 동작("의도하지 않은 배신"이라고 생각할 수 있음)에 대한 Google의 대응은 Android의 클립보드 처리 코드를 강화하는 것이었습니다.

아마도 클립보드 액세스 권한을 훨씬 더 엄격하고 제한적으로 만드는 것이 Play 스토어 앱 심사에서 더 엄격한 것처럼 이론상 더 나은 해결책이었을 것입니다.

대략적으로 말하자면, 가지고 있는(또는 업그레이드할 수 있는) Android 버전이 최신일수록 클립보드가 더 제한적으로 관리됩니다.

분명히 Android 10 이상에서는 앱이 포그라운드에서 활발하게 실행되지 않는 한 클립보드를 전혀 읽을 수 없습니다.

분명히 이것은 그다지 도움이 되지 않지만 유휴 상태로 두거나 잊어버린 앱이 항상 복사하여 붙여넣기를 스누핑하는 것을 중지합니다.

Android 12 이상에서는 "클립보드에서 붙여넣은 XYZ 앱"이라는 경고 메시지가 팝업되지만 분명히 이 경고는 모든 앱에 대해 처음 발생할 때만 나타납니다(예상했을 수 있음). (하지 않았을 때).

그리고 Android 13은 자동으로 클립보드를 자주 지웁니다(실제로 얼마나 자주 있는지는 확실하지 않음).

Google은 분명히 클립보드 액세스를 사용자가 원하는 만큼 엄격하게 제어할 의도가 없다는 점을 감안하여 여기에서 Microsoft의 조언을 반복하겠습니다. 적어도 당신의 손가락”:

클립보드 액세스 […] 알림과 같은 예기치 않은 동작이 있는 애플리케이션을 제거하는 것을 고려하고 해당 동작을 공급업체 또는 앱 스토어 운영자에게 보고합니다.

회사 모바일 장치를 보유하고 있고 아직 어떤 형태의 모바일 장치 관리 및 맬웨어 방지 보호를 채택하지 않은 경우 다음을 살펴보십시오. 지금 제공되는 것?



spot_img

최신 인텔리전스

spot_img