상세 컨텐츠

본문 제목

애플 'Sign in with Apple' 기능에 영향 미치는 취약점 발견!

국내외 보안동향

by 알약(Alyac) 2020. 6. 1. 16:20

본문

Critical 'Sign in with Apple' Bug Could Have Let Attackers Hijack Anyone's Account


최근 애플은 'Sign in with Apple' 시스템에 영향을 미치는 심각 수준의 취약점을 제보한 인도의 한 취약점 연구원에게 백만 달러 상당의 버그 바운티를 지급했습니다. 


현재 해당 취약점은 패치되었으며, 원격 공격자가 악용할 경우에는 인증을 우회하고  'Sign in with Apple' 옵션을 사용해 등록된 서드파티 서비스 및 앱의 사용자 계정을 탈취할 수 있습니다. 


작년에 Apple의 WWDC 콘퍼런스에서 새롭게 선보인 기능인 'Sign in with Apple'은 사용자의 실제 이메일 주소를 노출하지 않고 서드파티 앱 계정에 로그인할 수 있도록 지원하는 개인정보 보호 로그인 메커니즘입니다. 


취약점 연구원 Bhavuk Jain은 애플 인증 서버 요청을 실행하기 전에 클라이언트 사용자 유효성 검사를 하는 과정에 취약점이 존재합니다고 밝혔습니다. 


'Sign in with Apple'을 통해 사용자를 인증할 때 서버는 서드파티 앱이 사용자 신원 확인을 위해 사용하는 비밀 정보가 포함된 JWT(JSON Web Token)를 생성합니다. 


애플이 요청 시작 전에 사용자에게 애플 계정에 로그인하도록 요청했지만, 동일한 사람이 다음 단계에서 JWT 요청 여부를 확인하지 않는 것으로 나타났습니다. 



<이미지 출처: https://thehackernews.com/2020/05/sign-in-with-apple-hacking.html>



'Sign in with Apple' 메커니즘의 인증 단계를 누락하게 되면 공격자는 피해자에게 별도의 애플 ID를 제공할 수 있고 이를 통해 Apple 서버가 피해자의 ID로 타사 서비스에 로그인할 수 있는 JWT 페이로드를 생성하도록 만듭니다.


Bhavuk는 다음과 같이 설명했습니다.


"Apple에서 이메일 ID로 JWT를 요청할 수 있으며 Apple의 공개키를 사용하여 이러한 토큰 서명이 확인되면 유효한 것으로 표시되었습니다. 이를 통해 공격자가 모든 이메일 ID를 연결하고 액세스 권한을 획득하여 JWT를 위조할 수 있음을 알 수 있습니다."


서드파티 서비스에서 이메일 ID를 숨기고 피해자의 Apple ID를 통해 새로운 계정에 로그인하는데 해당 취약점이 악용될 수 있음에도 불구하고 해당 취약점이 동작한 것이 확인되었습니다. 


Bhavuk는 다음과 같이 덧붙였습니다.


"이 취약점은 전체 계정 탈취를 허용할 수 있기 때문에 매우 치명적입니다. Dropbox, Spotify, Airbnb, Giphy 등의 소셜 로그인 서비스에서 필수적이기 때문에 다수의 개발자가 'Sign in with Apple'을 프로그램에 통합했습니다."


애플 측 코드에는 취약점이 존재하지만 사용 사용자에게 'Apple으로 로그인'서비스를 제공하는 일부 서비스 및 앱이 이미 사용자의 문제를 완화하기 위한 두 번째 인증 요소를 차선책으로 사용하고 있을 가능성이 있습니다.


Bhavuk은 지난달에 해당 이슈를 애플 보안 팀에 보고했고 애플은 해당 취약점을 패치했습니다. 


애플은 버그 바운티 보상금 지급 외에도 서버 로그를 조사했고 취약점이 계정에 영향을 미치지 않음을 확인했습니다.





출처:

https://bhavukjain.com/blog/2020/05/30/zeroday-signin-with-apple/

https://thehackernews.com/2020/05/sign-in-with-apple-hacking.html

관련글 더보기

댓글 영역