메뉴
BL
Ars Technica • 46일 전

‘패스타키’ 공격이 말해주는 패스키의 오해와 진실

IMP
7/10
핵심 요약

최근 연구원이 윈도우 환경의 구글 패스워드 매니저에서 패스키를 탈취하는 ‘패스타키(Pass-ta-key)’ 공격 사례를 발표했습니다. 업계에서는 패스키가 반드시 격리된 하드웨어(TPM)에 저장될 것이라는 일반적인 오해로 인해 혼란이 발생했지만, 실제로는 기기 내 로컬 저장이 표준입니다. 이는 맬웨어에 감염된 윈도우 환경의 앱 권한 및 샌드박스 구조적 취약성 때문에 발생한 것으로, 보안 실무자들은 플랫폼별 권한 격리 수준을 정확히 파악하고 대응해야 합니다.

번역된 본문

지난주 한 연구원이 비밀번호 기반 방식을 대체하는 더 안전한 새로운 인증 패러다임인 패스키(Passkeys)의 '새로운 공격 표면'이라고 부르는 것을 개괄했다. 사실 해당 게시물에서 시연된 공격은 결코 새롭지 않으며 패스키에만 국한된 것도 아니다. 이러한 구분은 사람들이 이 새로운 메커니즘이 실제로 안전하게 사용할 수 있는지 평가함에 있어 일반 사용자와 보안 전문가들 사이에 혼란을 야기했기에 중요하다.

이 공격은 패스키(Passkey)라는 단어와 '패스 더 키(pass the key)'라는 문구, 그리고 파스타(pasta) 접시에 대한 말장난을 결합한 '패스타키(Pass-ta-key)'라고 불린다. 보안 기업 팔로알토 네트워크스(Palo Alto Networks)의 연구원인 아리 올쉬테인(Arie Olshtein)은 지난주 게시물에서 맬웨어에 감염된 기기에서 실행될 때 패스타키가 어떻게 윈도우용 구글 패스워드 매니저(GPM) 앱에 저장된 모든 패스키를 획득할 수 있는지 설명했다.

이 사실은 많은 사람들에게 충격으로 다가왔다. 왜냐하면 그들은 패스키가 마이크로소프트 윈도우 기기에서 암호화 키 및 기타 고도로 민감한 정보를 저장하기 위해 예약된 강화된 실리콘 칩 내부의 잠금 영역인 신뢰형 플랫폼 모듈(TPM, Trusted Platform Module)에 독점적으로 저장될 것이라고 믿었기 때문이다. 패스키가 TPM에 저장된다면, 패스타키가 어떻게 앱에 저장된 패스키 전체 세트를 추출할 수 있었는지 그들은 알고 싶어 했다.

예외가 하나 있는 로컬 패스키 저장

그 대답은 일반적인 믿음과 달리 업계 단체인 FIDO 얼라이언스(FIDO Alliance)가 관리하는 FIDO 2 사양이 패스키를 TPM이나 다른 어떤 종류의 전용 하드웨어(플랫폼에 따라 보안 영역(secure enclaves), 신뢰 실행 환경(trusted execution environments), 스트롱박스(StrongBoxes) 등 다른 이름으로 불림)에 보관하도록 의무화하지 않는다는 것이다. 사실, 패스키를 관리하는 대부분의 플랫폼과 타사 소프트웨어는 패스키를 그러한 전용 하드웨어에 저장하지 않는다.

사실상 유일한 예외는 마이크로소프트이며, 이 회사는 사용자에게 윈도우 TPM에 패스키를 저장할 수 있는 옵션을 제공한다. 이 회사는 주로 개인 소비자가 아닌 기업 고객에게 이 선택을 권장한다.

이 기사를 위해 조사를 시작하기 전까지 필자도 몰랐던 사실이지만, 윈도우를 실행하는 기기를 제외한 모든 다른 플랫폼들은 기기 내 로컬에 패스키를 저장한다. 기기 내 로컬 저장으로의 전환은 운영체제 및 타사 애플리케이션 개발자들이 사용자의 모든 기기에 쉽게 동기화할 수 없다면 패스키가 널리 사용될 가능성이 없다는 것을 깨달은 몇 년 전에 이루어졌다. TPM 저장을 요구하면 동기화가 불가능했다. 새 기기의 TPM에 패스키를 로드하는 유일한 방법은 각 패스키를 개별적으로 다시 만드는 것뿐이었을 것이다.

결국 FIDO 사양의 설계자들은 기기 내에 패스키를 저장하는 것이 일반적으로 안전하다고 결론지었다. 그들의 생각은 애플리케이션 권한이 매우 세분화되어 있어서 기기에 숨어 있는 맬웨어가 패스키 보안의 핵심을 형성하는 개인 키에 접근할 수 없을 것이라는 점이었다. 예를 들어, macOS, iOS 및 안드로이드를 실행하는 기기에 설치된 맬웨어는 운영체제 자체가 일종의 특이한 제로데이 익스플로잇을 통해 손상되지 않는 한 이러한 격리를 깨뜨릴 수 있는 능력이 없다. 지금까지 이러한 가정은 실제 현실에서 올바른 것으로 증명되었다.

유일한 예외는 윈도우이다. 다른 모든 플랫폼과 달리 윈도우 애플리케이션은 일반적으로 사용자의 모든 권한으로 실행되는 반면, 다른 플랫폼은 기본적으로 각 애플리케이션의 권한을 제한하도록 권장한다. 윈도우는 앱을 격리하도록 설계된 일부 샌드박스 보호 기능을 제공하지만, 맬웨어와 같은 샌드박스가 적용되지 않은 앱이 샌드박스가 적용된 앱의 데이터에 접근하는 것을 막지는 못한다. 즉, 샌드박스는 한 방향으로만 보호할 뿐이다. 다른 플랫폼의 샌드박싱 기술은 훨씬 더 강력한 보호를 제공한다. 이는 윈도우 맬웨어가 별도의 앱이 사용하는 데이터에 접근하는 데 있어 비교적 적은 문제만을 겪는다는 것을 의미한다.

패스키 설계자들은 이러한 차이를 예리하게 인식하고 있었으며, 이는 주로 윈도우의 하위 호환성 유지를 위해 필요한 부분이다. 윈도우 기기에 저장된 패스키가 안전할 것이라는 확신이 없기에...

원문 보기
원문 보기 (영어)
Text settings Story text Size Small Standard Large Width * Standard Wide Links Standard Orange * Subscribers only Learn more Minimize to nav Last week a researcher outlined what he said was a “novel attack surface” in passkeys, the new authentication paradigm that offers a more secure alternative over password-based methods. In fact, the attacks demonstrated in the post are neither novel nor unique to passkeys. This distinction is important because the research has generated confusion among end users and security professionals as they assess whether this new mechanism is truly safe to use. The attack is called Pass-ta-key—a blending of the word passkey with the phrase “pass the key” and a nod to a plate of pasta. Arie Olshtein, a researcher at security firm Palo Alto Networks, described in a post last week how Pass-ta-key could obtain all passkeys stored in the Google Password Manager app (GPM) for Windows when it’s running on a machine infected with malware. This came as a surprise to many people because they believed passkeys are stored exclusively in the trusted platform manager (TPM), the locked-down enclave in a hardened silicon chip that’s reserved for storing cryptographic keys and other highly sensitive information on Windows machines. If passkeys are stored in the TPM, then how was Pass-ta-key able to extract the entire set of passkeys stored by the app, they wanted to know. Local passkey storage is OK, with one exception The answer is that, contrary to common belief, the FIDO 2 specifications —managed by the industry group FIDO Alliance—don’t mandate that passkeys be kept in TPMs, or any other sort of dedicated piece of hardware (they go by different names, depending on the platform, including secure enclaves, trusted execution environments, and StrongBoxes). In fact, most platforms and third-party software for managing passkeys do not store passkeys in such dedicated hardware. Virtually the lone holdout is Microsoft, which gives users the option to store passkeys in the Windows TPM. The company mainly recommends this choice to enterprises, not consumers. Unbeknownst to me until I began research for this article, all platforms other than those running Windows store passkeys locally on the device. The shift to local storage came a few years ago after OS and third-party application developers realized that passkeys had no chance of gaining widespread usage unless they could easily be synced to all of a user’s devices. Requiring TPM storage made syncing impossible. The only way to load them into the TPM of a new device would be to re-create each one individually. Ultimately, architects of the FIDO specifications decided that it was generally safe to store passkeys on the devices. The thinking was that app permissions are so granular that malware lurking on the device would have no ability to access the private keys that form the lynchpin of passkey security. Malware installed on a device running macOS, iOS, and Android, for instance, has no ability to defeat this isolation unless the OS itself is compromised through some sort of exotic zero-day exploit. So far, these assumptions have been proven correct in real-world practice. The lone exception is Windows. Unlike all the other platforms, Windows apps generally run with all the privileges of the user, whereas other platforms encourage the restriction of the privileges of each application by default. While Windows provides some sandboxing protections designed to isolate apps, it doesn’t prevent unsandboxed apps, such as malware, from accessing the data of a sandboxed app. That is, the sandbox only protects in one direction. Sandboxing technologies on other platforms are much more protective. That means Windows malware has decidedly fewer problems accessing data used by a separate app. Passkey architects have been keenly aware of this difference, which is largely necessary for Windows backward-compatibility reasons. With no confidence that passkeys stored on a Windows device won’t be harvested in the event of a malware infection, many third-party developers opted for a new design—storing the passkeys in end-to-end encrypted blobs located in the cloud. Server-stored passkeys are now the design used not just by GPM for Windows, but 1Password, Dashlane, and other third-party apps for the Microsoft OS as well. At a simplified level, here’s how it works: When a Windows GPM user wants to use a passkey to log in to a site, the device retrieves a user and/or device key from the TPM and presents it to Google’s backend authenticator. Presentation of the key, combined with the device already being signed in to the user’s Google account, triggers the Google server to present an authentication assertion to the site the user wants to log in to. The assertion is signed with the private key, which is stored in encrypted form on the Google server. With that, the user is logged in. Again, most other third-party apps for Windows work the same way. Those same apps for other platforms, by contrast, store passkeys locally on the device. When a user wants to log in using a passkey, the local device—not the one in the cloud—presents an authentication assertion. It’s signed by the private key, which is also stored in encrypted form on the local device. When your device is infected, all bets are off The malware in the Pass-ta-key attacks uses its access to the Google account—and in some cases, the user or device key stored in the TPM—to obtain the secret passkeys. The most powerful of the three attack variants causes the infected Windows machine to masquerade as an iPhone. This triggers a synchronization capability in GPM that allows users to transfer all stored passkeys to a new device. The keys are now transferred to the infected Windows device. Olshtein described Pass-ta-key as a “novel” attack that targets the attack surface in the passkey ecosystem. The reality is more nuanced. The stakes of this attack would be much the same if an infected Windows machine was fully authenticated into other sensitive apps. The attacker on the other side of the keyboard would likely be able to activate the mechanisms in the credential management app to log in to a site or download all the passwords. This risk has always been present and is the reason some people regard password managers as unsafe to use. Based on Olshtein’s write-up, it’s possible that GPM lacks some protections found in password managers like 1Password, such as calling OS APIs to restrict other processes from reading its memory. Generally speaking, though, it is universally accepted that it’s game over whenever an infected device is logged in to a sensitive account. In other words, Pass-ta-key is a fact of life that has existed for as long as computing security has. There’s nothing novel here, and the attack surface extends to any data that requires authentication for access. The purpose of passkeys is to eliminate a shared secret that can be phished or obtained through server breaches. Passkeys aren’t intended to withstand physical attacks against the devices that store them. It’s not surprising that Pass-ta-key can extract keys when a Windows device is compromised. The research may not be novel, but it will be helpful nonetheless if it helps users understand that once a device—particularly one running Windows—is compromised while it’s logged in to an account, all data stored there is free for the taking. Dan Goodin Senior Security Editor Dan Goodin Senior Security Editor Dan Goodin is Senior Security Editor at Ars Technica, where he oversees coverage of malware, computer espionage, botnets, hardware hacking, encryption, and passwords. In his spare time, he enjoys gardening, cooking, and following the independent music scene. Dan is based in San Francisco. Follow him at here on Mastodon and here on Bluesky. Contact him on Signal at DanArs.82. 44 Comments