Computer >> 컴퓨터 >  >> 스마트폰 >> 스마트 폰

수백만 개의 앱이 단일 보안 해킹에 취약한 방법

올해 Black Hat 유럽 보안 컨퍼런스에서 중국 홍콩 대학의 2명의 연구원은 Android 앱에 영향을 미치는 익스플로잇이 설치된 10억 개 이상의 애플리케이션을 공격에 취약하게 만들 수 있다는 연구 결과를 발표했습니다.

이 익스플로잇은 OAuth 2.0 인증 표준의 모바일 구현에 대한 메시지 가로채기(man-in-the-middle) 공격에 의존합니다. 매우 기술적으로 들리지만 실제로 의미하는 바는 무엇이며 데이터는 안전합니까?

OAuth란 무엇입니까?

OAuth는 많은 OAuth 제공업체 중 하나의 계정을 사용하여 타사 앱 또는 웹사이트에 로그인할 수 있도록 많은 웹사이트 및 앱에서 사용하는 공개 표준입니다. 가장 일반적이고 잘 알려진 예로는 Google, Facebook 및 Twitter가 있습니다.

싱글 사인온(SSO) 버튼을 사용하면 계정 정보에 대한 액세스 권한을 부여할 수 있습니다. Facebook 버튼을 클릭하면 타사 앱 또는 웹사이트가 액세스 토큰을 찾아 Facebook 정보에 대한 액세스 권한을 부여합니다.

이 토큰을 찾을 수 없으면 Facebook 계정에 대한 제3자 액세스를 허용하라는 메시지가 표시됩니다. 이를 승인하면 Facebook은 제3자로부터 액세스 토큰을 요청하는 메시지를 받습니다.

수백만 개의 앱이 단일 보안 해킹에 취약한 방법

Facebook은 사용자가 지정한 정보에 대한 제3자 액세스 권한을 부여하는 토큰으로 응답합니다. 예를 들어 기본 프로필 정보와 친구 목록에 대한 액세스 권한은 부여하지만 사진에는 액세스 권한을 부여하지 않습니다. 타사에서 토큰을 받고 Facebook 자격 증명으로 로그인할 수 있습니다. 그런 다음 토큰이 만료되지 않는 한 귀하가 승인한 정보에 액세스할 수 있습니다.

이것은 훌륭한 시스템인 것 같습니다. 기억하는 비밀번호가 적어야 하고, 이미 가지고 있는 계정으로 쉽게 로그인하고 정보를 확인해야 합니다. SSO 버튼은 새 비밀번호를 생성하고 새 계정을 승인하는 데 시간이 많이 소요될 수 있는 모바일에서 훨씬 더 유용합니다.

무엇이 문제입니까?

가장 최근의 OAuth 프레임워크인 OAuth 2.0은 2012년 10월에 출시되었으며 모바일 앱용으로 설계되지 않았습니다. 이로 인해 많은 앱 개발자가 OAuth를 안전하게 수행하는 방법에 대한 지침 없이 자체적으로 OAuth를 구현해야 했습니다.

웹사이트의 OAuth는 타사 서버와 SSO 공급자 서버 간의 직접 통신을 사용하지만 모바일 앱은 이 직접 통신 방법을 사용하지 않습니다. 대신 모바일 앱은 기기를 통해 서로 통신합니다.

수백만 개의 앱이 단일 보안 해킹에 취약한 방법

웹사이트에서 OAuth를 사용할 때 Facebook은 액세스 토큰과 인증 정보를 타사 서버에 직접 전달합니다. 이 정보는 사용자가 로그인하거나 개인 데이터에 액세스하기 전에 유효성을 검사할 수 있습니다.

연구원들은 Android 애플리케이션의 상당 부분이 이 검증을 놓치고 있음을 발견했습니다. 대신 Facebook의 서버는 Facebook 앱에 액세스 토큰을 보냅니다. 그러면 액세스 토큰이 타사 앱으로 전달됩니다. 그러면 타사 앱을 사용하면 Facebook 서버를 통해 사용자 정보가 합법적인지 확인하지 않고도 로그인할 수 있습니다.

공격자는 자신으로 로그인하여 OAuth 토큰 요청을 트리거할 수 있습니다. Facebook이 토큰을 승인하면 Facebook 서버와 Facebook 앱 사이에 자신을 삽입할 수 있습니다. 그런 다음 공격자는 토큰의 사용자 ID를 피해자의 ID로 변경할 수 있습니다. 사용자 이름은 일반적으로 공개적으로 사용 가능한 정보이기도 하므로 공격자를 위한 장벽이 거의 없습니다. 사용자 ID가 변경되었지만 승인은 여전히 ​​부여되면 타사 앱이 피해자의 계정으로 로그인됩니다.

수백만 개의 앱이 단일 보안 해킹에 취약한 방법

이러한 유형의 악용을 MitM(man-in-the-middle) 공격이라고 합니다. 여기에서 공격자가 데이터를 가로채고 변경할 수 있으며 두 당사자는 서로 직접 통신한다고 생각합니다.

이것은 귀하에게 어떤 영향을 미칩니까?

공격자가 앱을 속여 자신이 사용자라고 믿게 할 수 있다면 해커는 해당 서비스에 저장한 모든 정보에 액세스할 수 있습니다. 연구원들은 다양한 유형의 앱에 노출될 수 있는 일부 정보를 나열하는 아래 표를 만들었습니다.

수백만 개의 앱이 단일 보안 해킹에 취약한 방법

일부 유형의 정보는 다른 유형보다 덜 해롭습니다. 모든 여행 계획보다 뉴스 읽기 기록을 노출하는 것에 대해 걱정할 가능성이 적습니다. 또는 귀하의 이름으로 비공개 메시지를 주고받을 수 있습니다. 이는 우리가 정기적으로 제3자에게 위탁하는 정보의 유형과 정보 오용의 결과에 대해 진지하게 상기시켜줍니다.

걱정해야 합니까?

연구원들은 Google Play 스토어에서 SSO를 지원하는 가장 인기 있는 600개 앱 중 41.21%가 MitM 공격에 취약한 것으로 나타났습니다. 이로 인해 전 세계 수십억 명의 사용자가 이러한 유형의 공격에 노출될 수 있습니다. 팀은 Android에서 연구를 수행했지만 iOS에서도 복제할 수 있다고 생각합니다. 이로 인해 두 개의 가장 큰 모바일 운영 체제에 있는 수백만 개의 앱이 이 공격에 취약해질 수 있습니다.

수백만 개의 앱이 단일 보안 해킹에 취약한 방법

작성 당시 OAuth 2.0 사양을 개발한 IETF(Internet Engineering Task Force)의 공식 발표는 없었습니다. 연구원은 영향을 받는 앱의 이름을 지정하는 것을 거부했으므로 모바일 앱에서 SSO를 사용할 때 주의해야 합니다.

은색 안감이 있습니다. 연구원들은 이미 구글과 페이스북, 그리고 다른 SSO 제공자들에게 익스플로잇에 대해 경고했습니다. 또한 문제를 해결하기 위해 영향을 받는 타사 개발자와 협력하고 있습니다.

지금 무엇을 할 수 있습니까?

수정이 진행 중일 수 있지만 많은 업데이트될 영향을 받는 앱의 수. 이 작업에는 시간이 걸릴 수 있으므로 당분간 SSO를 사용하지 않는 것이 좋습니다. 대신 새 계정을 등록할 때 잊지 못할 강력한 암호를 만드십시오. 그 중 하나 또는 암호 관리자를 사용하여 무거운 작업을 수행하십시오.

때때로 자체 보안 점검을 수행하는 것이 좋습니다. Google은 검사를 수행한 경우 클라우드 저장소로 보상을 제공합니다. 지금은 SSO 계정에서 어떤 앱에 권한을 부여했는지 확인하기에 이상적인 시간입니다. 이것은 엄청난 양의 개인 정보를 저장하는 Facebook과 같은 사이트에서 특히 중요합니다.

Single Sign On에서 벗어날 때가 되었다고 생각하십니까? 가장 좋은 로그인 방법은 무엇이라고 생각하십니까? 이 익스플로잇의 영향을 받았습니까? 아래 댓글로 알려주세요!