태그 : oauth

OAuth 취약점 공개. Twitter의 OAuth 서비스 중단

Twitter의 OAuth 서비스 중단 사고

Twitter는 OAuth 기능을 지난 달부터 테스트하고 있었는데, 갑자기 며칠전부터 서비스가 다운되었습니다. 악의적인 서드파티 개발자들의 OAuth API를 남용했기 때문이라고 발표했습니다.[1] Twitter 공식 블로그의 포스팅에 따르면 OAuth 프로토콜에 보안 취약점이 발견되었으며, Twitter는 이 문제가 해결될 때까지 OAuth 사용을 중단하기로 했습니다.[2]

This week, we received word from the folks at OAuth that they were looking closely at a security issue within the protocol. We take security seriously and felt the responsible thing to do was temporarily disable OAuth while this matter was sorted out. Yahoo and others made similar decisions. The developers working on Twitter projects that are in our beta test group felt this disruption the hardest and their patience is extremely appreciated.[2]

권고문

여러가지 억측이 존재했는데[4], 한국시간으로 4/24일 오전에 OAuth 측에서 권고문이 나왔습니다.[5] OAuth의 문제는 공격자가 정상적인 사이트에서 OAuth 토큰을 받아 Authorize해야 하는데, 이 토큰을 일반 사용자가 받아서 대신 Authorize할 수 있다는 것이었습니다. 아래 OAuth 인증 흐름으로 설명하겠습니다.

1. 공격자가 정상적인 Consumer사이트에 접근하여 B단계에서 SP에게 oauth_token을 수신합니다. 편의상 T1이라고 하겠습니다.
2. 공격자는 T1을 C 요청을 하지 않고, 일반 사용자가 C 요청을 대신하도록 링크를 만듭니다.
3. 일반 사용자는 원래 T2라는 oauth_token을 처리해야 하지만, T1 토큰을 들고 SP에게 C 요청을 합니다.
4. SP는 일반 사용자를 인증하고 인가 응답을 Consumer 사이트에 전달합니다. T2를 들고 있는 일반 사용자가 아니라, T1을 들고 있는 공격자의 세션이 대신 인가되는 것입니다.


이 문제의 이유는 A,B 단계가 사용자와 무관하게 진행되고 C단계에서 replay attack이 가능하다는 것입니다. A, E 단계의 사용자가 C, D 단계의 사용자와 다르더라도 프로토콜 상에서 구분하지 못합니다. Don Park이라는 블로거의 포스트에서도 동일한 지적을 했습니다[3]

The first flaw is that parameters of HTTP redirects used in OAuth can be tempered with or replayed...

The second and more serious flaw is that the User talking to the Consumer may *not* be the same User talking to the Service Provider.


OAuth 측의 대응 방안

근본적으로 프로토콜의 문제라서 고치는데 상당한 시간이 소요될 것 같습니다. 프로토콜이 수정되더라도 이를 합의하는 시간이 필요하고, 지금까지 개발된 모든 OAuth 라이브러리와 서비스를 변경하는 시간이 듭니다.

OAuth측은 다음과 같은 문구를 우선 추가할 것을 권고합니다. 아래 문구는 C 단계에서 사용자에게 보여집니다. 근본적인 해결책은 아니죠.

“This website is registered with SERVICE_PROVIDER_DOMAIN_NAME to make authorization requests, but has not been configured to send requests securely. If you grant access but you did not initiate this request at CONSUMER_DOMAIN_NAME, it may be possible for other users of CONSUMER_DOMAIN_NAME to access your data. We recommend you deny access unless you are certain that you initiated this request directly with CONSUMER_DOMAIN_NAME.”

맺음말

Twitter와 OAuth는 이번 사고로 가장 큰 피해를 입었습니다. OAuth는 Authorization을 수행하는 프로토콜과 얼마전까지 웹 환경에서 안전하면서도 프라이버시를 보호하는 방식으로 주목받았습니다. 또한 Twitter는 OAuth를 가장 빠르게 도입하여 활용할 수 있음을 보여주고 있었습니다. 하지만 이번 사고로 Twitter는 해당 서비스를 무기한 중지하였고, OAuth는 프로토콜 수정과 라이브러리 교체라는 수모를 당하게 되었습니다. Twitter 측의 대처는 깔끔했고, OAuth도 지금 문제가 발견된 것이 오히려 다행이라고 생각할 수도 있겠습니다. 하지만 상당히 오랜 기간동안 이 파장은 지속될 것입니다.

레퍼런스
[1] Twitter OAuth “Temporarily Disabled”, Developers Left Hanging
[2] What's The Deal with OAuth?
[3] http://blog.docuverse.com/2009/04/23/on-oauth-vulnerability/
[4] http://news.cnet.com/8301-13577_3-10225103-36.html
[5] http://oauth.net/advisories/2009-1

by S_H_Kim | 2009/04/25 00:38 | OpenID | 트랙백 | 덧글(2)

2010년의 페이스북은?

Facebook in 2010: no longer a walled garden

현재 Facebook은 자사의 플랫폼을 만들어 사용하고 있습니다. Facebook Connect는 OpenID, OAuth 같은 기능을 제공하지만, 후자의 표준과는 달리 Facebook 플랫폼에서만 동작 가능하다는 한계가 있습니다. 그래서 OpenID, OAuth 측에서는 Facebook의 방향을 비판하고 조만간에 굴복하리라는 예측을 하기도 합니다.

Social networks have largely been built on the premise of being  walled gardens in such a way that users can't communicate or share content or friends across networks;

작년 말에는 Facebook이 OpenID 진영에 합류하는 등 긍정적인 움직임을 보이기도 했습니다. 하지만 Facebook Connect를 iPhone에 적용하는 등, 여전히 자사의 플랫폼을 확장하고 있습니다.

OpenID 측의 David Recordon은 2010년에 Facebook이 가장 오픈된 소셜 네트워크가 될 것으로 예상했습니다. 2010년이라서 멀게 느껴지지만 9개월도 채 남지 않은 미래입니다.

My prediction is that by the end of the year Facebook will become the most open social network on the social web.

OpenID, XRDS, OAuth, PortableContacts, OpenSocial을 조합한 Open Stack이 Facebook 플랫폼을 대체할 수 있습니다.



과연 9개월만에 Facebook이 자사의 플랫폼을 버릴까요? 저는 회의적인 입장이지만, Open Stack을 통해서만이 소셜 네트워크 사이트가 궁극적으로 상생할 것입니다.

by S_H_Kim | 2009/03/18 23:27 | 기타 ID 동향 | 트랙백 | 덧글(2)

Lift09 동영상 등

channy님께서 lift09의 참관기를 올려주셨습니다. 제가 직접 가는 것보다 더 많은 것을 볼 수 있었습니다. 세션 동영상이 공개되어 있으니 관심있는 주제는 꼭 봐야겠습니다.

그 밖에 RFID 보안 이슈 등 여러 가지 세션이 있으니 Lift 09 모든 세션의 동영상이 영어/프랑스어로 공개되어 있으니 프로그램 목록을 보시고 관심있는 분들은 참고하시길 바랍니다.


유명한 보안 전문가인 브루스 슈나이더의 에세이에 대한 내용입니다. Data를 쓰레기에 비유했는데, 현대 정보사회에는 Data가 쓰레기처럼 넘치고, 재사용하면 유용하지만 잘못 사용할 경우에는 치명적일 수 있다고 합니다.(toxic) 프라이버시는 Data를 잘 관리하고, 부가적인 수익을 얻기 위한 기본권이라는 주장이 신선하네요. 산업시대의 이슈가 정보화시대에도 이렇게 적용되다니.. 세상은 돌고 도는 것 같습니다.

Privacy isn’t just about having something to hide; it’s a basic right that has enormous value to democracy, liberty, and our humanity.

누군가 XACML과 SAML을 같이 사용하려면 문제가 많다는 의견을 냈습니다. 이에 대한 반박글로 이미 2005년에 XACML v2.0의 SAML 2.0 프로파일 문서가 나왔다는 내용입니다.
 
Four years ago, OASIS defined the interaction between XACML and SAML in SAML 2.0 profile of XACML v2.0 [PDF] , part of the XACML 2.0 specification set .

site-scrapping 같이 타 사이트의 id/pw를 직접 입력받는 패턴은 피싱 공격을 초래할 수 있으므로 피해야 한다는 내용입니다. 대신 OAuth 서비스를 이용하는 방안을 제안했습니다.

리플을 보니, 많은 사이트들이 사용하는 방식인 session key와 유사한 기술은 어떨까라는 의견이 몇 개 있네요. 아직 외국에서는 이 방식도 드문가봅니다.

다른 리플 중에서는 OAuth는 아직 성숙되어 있지 않기 때문에 도입하기에는 시기 상조이며, OAuth 같은 공개 스펙은 사이트의 정보를 다른 사이트와 공유하겠다는 마인드를 가정하고 있기 때문에 비즈니스 관점에서는 널리 받아들여지기 어렵다는 의견입니다.

저도 동감입니다. 여전히 id/pw 식의 site-scrapping 방법이 사용될 수 밖에 없겠죠.


웹2.0의 거품이 빠지는 것 같습니다. 제가 있는 ID 관리 쪽도 얼마전에 유럽 컨퍼런스가 연기되었다는 소식이 들렸는데, 다행히 하반기로 일정이 잡혔더군요.

RSA는 ID 관리 기술을 중요하게 다루는 컨퍼런스 중의 하나입니다. 4월 중순이라 참석할 수 있을지는 모르겠지만, 주위 분들이 자료를 얻어오시면 한동안 즐거운 시간을 보낼 수 있을 것 같군요. 아래는 agenda 중에서 제가 관심있는 부분입니다.

키노트
- The Transformation of Identity and Access Management
- Moving Towards ‘End to End Trust’: A Collaborative Effort

1-day 튜토리얼

- TUT-M21 - Building an Enterprise-Strength Identity & Access Management Architecture

- TUT-M31 - The Evolution of Authentication


세션
XML Attacks and Prevention in a Web 2.0 World
Case Study: Five Web Services Security Examples
Fostering Collaboration and Opportunities in Identity Management
Building Authorization Into The Enterprise Identity Metasystem
Drafting Identity Management Contracts: Understanding the Legal Challenges
Protecting User and Corporate Data Privacy in the Browser
Social Networks: The New Frontier for Malware, Spam and Identity Theft
The Seven Most Dangerous New Attack Techniques, and What's Coming Next
Identity Management for the Cloud: Challenges, Opportunities and Best Practices
Harnessing the Power of Digital Identity: 2009 and the Promising Road Ahead

Identity Woman, Kaliya는 이 분야에서 매우 활발하게 활동하는 여성입니다. 수많은 프로젝트에서 중요한 기능을 담당하고 있습니다. 이번에도 장거리 출장을 다녀와서 어떤 이야기를 주고 받았는지 소개합니다. 그 중에 Information Card와 관련된 부분이 인상적이네요. 기업 위주로 진행되기 때문에 여러가지 우려가 존재하지만, 기업 위주로 진행되기 때문에 이 분야가 그만큼 성장했고 더욱 발전할 수 있다는 내용에 동감합니다. 지금은 경쟁보다는 파이를 키우는데 집중해야겠죠.

Most knew about OpenID they were unfamiliar with information cards.It was interesting to hear people’s deep concern about corporateinvolvement in the development of these standards - the three corporatenames I mentioned in relationship to information cards seemed to raiseparticular ire - Microsfot, Novell and IBM.

 I mentioned Higgins (the open source project) andtalked about the standardization effort at OASIS. This didn’t sway themmuch they “just distrusted” the corporate involvement.


I personally am very clear that corporate involvement is essentialto getting an identity layer to happen. I was re-affirmed in thisexchange in knowing that the corporate perspective is not enough andhaving a trusted space for critical conversations around issues thatarise with identity need a commons for them to occur (that is a spacewhere corporations do note have the ultimate veto about what groups areor are not allowed in the conversation).


If a space like this does notexist to create a dialogue amongst diverse interests and perspectivesthen the risk of it not happening or not getting adoption by people.

by S_H_Kim | 2009/03/04 21:11 | OpenID | 트랙백

Plaxo의 OpenID 사용 방법: 92% 성공률 기록

title; Comcast Property Sees 92% Success Rate With New OpenID Method
link; http://www.readwriteweb.com/archives/comcast_property_sees_92_success_rate_openid.php

OpenID의 큰 문제점 중 하나는 일반인들이 받아들이기 어렵다는 것입니다. 어렵다기 보다는 기존의 id/pw 방식에 익숙한 사용자가 발상을 전환하기 쉽지 않다는 뜻입니다. 국내의 미투데이도 처음에는 OpenID로만 가입을 받아서 주목을 받았지만, 얼마지나지 않아 OpenID를 포기하고 일반가입으로 전환했던 사례가 있습니다. Google, Yahoo!, Microsoft 등 OpenID를 지원하는 해외 사이트가 많아졌지만, 사용성 문제는 여전히 이슈였습니다. 그래서 다각도로 사용성을 높이기 위한 시도가 있었습니다.

얼마전 Plaxo는 OpenID와 OAuth를 사용하여, 이미 다른 OpenID 사이트에 로그인한 경우, 2번의 클릭(사이트 선택, oauth 동의)만으로 가입과 인증을 처리하는 방법을 제시하였습니다.

This experimental method refers to big, known brands where users were already logged in, it requires zero typing - just two clicks - and it takes advantage of the OpenID authentication opportunity to get quick permission to leverage the well established OAuth data swap to facilitate immediate personalization - at the same time, with nothing but 2 clicks required of users.

예전에는 Plaxo 같은 사이트는 Gmail과 같은 사이트의 id/pw를 입력받았습니다. 사이트 내용을 파싱한 뒤 친구를 자동으로 추가하거나 새로운 개인화 서비스를 제공하였죠. 해외에서는 사이트 내용을 파싱하는 방식을 site scraping이라고 부릅니다. 물론 개인정보가 노출된다는 우려를 할 수 있었죠.

No new accounts, no disclosure of Gmail passwords to Plaxo, no risky account scraping and no need to import or find friends on the new service before immediate personalization could be offered.

Plaxo는 id/pw를 입력받는 대신, OpenID/OAuth를 사용했습니다. 그 결과 92% 사용자가 Plaxo에서 권한을 부여하는 작업을 성공했습니다. 실패한 8% 사용자는 Facebook connect가 제공하는 기능을 가정했기 때문이 아닐까 추측됩니다.

Only 8% of the people who clicked to log in with a standards based 3rd party authentication ended up deciding to bail instead. That's the kind of ease-of-use that people presumed only Facebook Connect could provide.

실제로 동작하는 예제를 살펴보면, Plaxo 사이트에서 새 창이 떠서 사용자에게 OAuth로 정보 제공에 대한 동의를 받습니다. 만일 새 창에서 OpenID로 로그인하는 경우는 피싱같은 문제가 우려될 수 있습니다. OAuth처럼 동의/거부만 선택하는 경우는 괜찮을 것 같네요.

by S_H_Kim | 2009/02/27 23:01 | 기타 ID 동향 | 트랙백 | 덧글(2)

OpenID UX Summit 발표자료(2009.2.10)

OpenID ContextsOpenID가 지원할 수 있는 기능들에 대해 설명합니다.
View more presentations from Chris Messina. (tags: openidux openid)


MySpaceID Usability TestingMySpace에서 시도한 다양한 OpenID 적용 방안 소개
View more presentations from Max Engel. (tags: openidux mypaceid)


Fed Login Idp Popup 20090210 Draft시나리오에 따라 popup 메시지를 변형하는 Google의 실험 소개
View more presentations from ericsachs. (tags: openidux openid)


OpenID UX Summit기존의 OpenID 입력창이 아닌, 새로운 타입의 OpenID 입력창(id selector, RPX...) 소개
View more presentations from bce. (tags: facebook openidux)


What an "RP" WantsPlaxo의 2 단계 OpenID+OAuth 절차 소개


Open ID summit - FacebookOpenID는 아니고, Facebook의 자체 인증 서비스인 Facebook Connect에 대한 소개
View more presentations from joulee. (tags: connect facebook)

by S_H_Kim | 2009/02/13 07:45 | 기타 ID 동향 | 트랙백(1) | 덧글(1)

◀ 이전 페이지다음 페이지 ▶