자동화된 보팅 어뷰징, SteemConnect에서 발생한 것인가요? (Automated votes abuse on SteemConnect?)

in #kr6 years ago (edited)

한국 시간 기준으로 2018년 5월 4일 밤 10시 경, 스팀에서 자동화된 대규모 보팅이 발생했습니다.(역자주: 하단에 포함된 utopian.io 공지사항에 따르면 5월 3일에서 4일 사이에 해킹이 발생한 것으로 보입니다) SteemConnect API는 아래 글들에 대해 엄청난 양의 업보트, 다운보트 요청을 받았으며 이러한 요청은 계정 보유자의 승인없이 발생한 것이었습니다:

https://steemit.com/bitcoin/@haejin/bitcoin-btc-evening-update-short-term-jives-with-the-longer-term
https://steemit.com/bitshares/@haejin/bitshares-bts-updated-price-indicator-pattern-and-waves
https://steemit.com/homesteading/@adetanlus/benefits-of-papaya-flowers-for-health-what-you-need-to-know-2049affee5108
https://steemit.com/photography/@zulkifli123/flower-beautiful-3513d9afa3893
https://steemit.com/philippines/@sabeboo83/anyideaswhattopairwiththisimthinkingofmakingawhiteandbluedeck-k558xwa4dm

SteemConnect 팀에서 SteemConnect 로그를 살펴보니 사용자를 대신해 보팅하는 Utopian의 특권이 악의적인 사용자에 의해 사용된 사실이 확인되었습니다. @utopian.app에게 포스팅 권한을 위임한 적이 있다면 포스팅/보팅 히스토리를 확인해서 여러분의 계정이 피해를 입었는지 확인하시길 바랍니다. 허가없이 보팅된 것이 확인되었다면 보팅을 취소하시길 바랍니다.

보팅 히스토리는 https://steemd.com/@fabien 에서 확인하실 수 있습니다 (@fabien 대신 여러분의 계정 이름을 사용하시면 됩니다.)

SteemConnect 팀은 피해를 최소화하기 위해 SteemConnect에서 @utopian.app 앱을 비활성화하고 @utopian.app 관련 액세스 토큰을 폐지(revoke)했습니다. Utopian 팀에서 해커의 권한 악용 문제를 조기 발견하는데 도움을 주었고, SteemConnect 서버 로그 확인 결과 이러한 요청이 Utopian 서버 IP에서 발생한 것이 아니라 외부인에 의해 발생한 사실이 확인되었습니다.

문제 발생 원인

Utopian은 SteemConnect을 사용할 때 “오프라인 접근(offline access)”을 요청합니다. 이것은 Utopian 사용자를 위한 액세스 토큰(저희는 refresh 토큰이라고 부릅니다)을 언제든지 발행할 수 있는 능력을 Utopian 앱에게 주었습니다. 이것은 OAuth 2 표준에서 일반적으로 사용되고 있는 방법입니다. 그런데, refresh 토큰이 저장된 Utopian 데이터베이스에 누군가 접근한 것으로 보입니다. 탈취된 refresh 토큰은 새로운 액세스 토큰을 생성하는데 사용되었고 해당 계정을 대신해 보팅하는데 사용되었습니다. 여러분이 소유한 계정이 피해를 입었다면 Utopian 에게 오프라인 접근을 허용했기 때문입니다.

SteemConnect이 해킹 당했나요?

해킹 당하지 않았습니다. 악의적인 사용자가 Utopian의 refresh 토큰을 사용해 SteemConnect API에 요청을 보냈지만 SteemConnect 서버에 직접 접근할 수는 없습니다.

허락도 없이 제 계정을 이용해 어떤 글에 업보팅이 되었습니다. 제 키는 안전한가요?

SteemConnect, Utopian은 여러분이 소유한 어떠한 키에도 접근하지 않습니다. SteemConnect API는 여러분을 위한 포스팅 작업(operation)을 브로드캐스트(broadcast)하기 위해 포스팅 권한 위임을 사용합니다. 이 작업은 여러분이 소유한 키가 아니라 @steemconnect 계정에 의해 서명됩니다. 여러분은 SteemConnect에 여러분의 키를 주는 것이 아니라 계정 사용을 위한 권한만 주는 것입니다.

저희는 이 문제를 계속해서 조사하고 있으며 관련된 추가소식이 있으면 다시 공지하도록 하겠습니다.


이 글의 원문은 이곳에서 확인하실 수 있으며, busy.org 동의 하에 번역을 진행했습니다.
https://busy.org/@busy.org/automated-votes-abuse-on-steemconnect

이 글에서도 언급했듯이 여러분이 소유한 키는 안전합니다. 또한, steemconnect 토큰으로는 포스팅/댓글/리스팀/보팅 과 같은 활동(포스팅 권한에 해당합니다)만 가능할 뿐 지갑에 접근해 자금을 이체하거나 delegate를 수행할 수 없습니다. 따라서, 이번 utopian.io 해킹 사건과 관련해서 여러분이 확인할 사항은 해당 기간(5월 3일 ~4일 사이)에 발생한 승인하지 않은 보팅 활동들입니다.

SteemConnect에 대해서는 이미 busy.org 팀에서 필요한 조치를 모두 마쳤기 때문에 사용자가 별도의 조치를 취하지 않아도 됩니다.

이번 해킹 사건을 계기로 블록체인 업계에서도 보안의 중요성을 다시 한번 깨닫는 계기가 되었으면 합니다. 이번 해킹 사건으로 인해 사용자 측면에서는 다운보트/업보트가 동의없이 발생했고, utopian.io 쪽도 전체 파일 시스템 삭제, 전체 CDN 삭제 등 상당한 피해를 입혔습니다. utopian.io 의 백업 시스템도 날아갔습니다.

utopian.io는 1달 간격으로 cold storage 백업을 진행하는데 해커가 공격한 날이 공교롭게도(?) 백업을 진행하는 날과 겹쳐서 지난 1달 간의 자료가 다 날아갔습니다. 백업 패턴이라든가 시스템이 어디 저장되어 있는지 해커가 정확히 알고 있었기 때문에 utopian.io 쪽에서는 처음에 내부자 소행으로 확신을 가지고 있었는데 공식 발표에는 내부자 소행이 아닌 것으로 발표되었습니다. 백업 데이터와 파일 시스템이 다 날아가서 정확히 어떤 형태의 공격이 발생했는지 utopian.io 팀이 원인을 파악하기 힘든 상황이라고 합니다.

이게 정말 문제지요. 문제 원인을 알아야 대응을 하는데 원인이 파악이 안되고 있는 상황이라서요. 확실히 파악된 것은 utopian.io 데이터베이스에 저장된 steemconnect 토큰이 유출되었다는 사실과 보안성에 문제가 있는 npm 패키지들이 backend/frontend 개발에 사용되었다는 것입니다. 정확한 원인은 여전히 분석 중인데 잘 될려나 모르겠네요.

steemconnect 팀에서는 다른 앱에서도 동일한 문제가 발생할 가능성을 대비해 시스템 개선 작업을 진행하고 있습니다. 추가적인 소식이 들어오는 대로 다시 한번 관련 내용을 공유하도록 하겠습니다.

Sort:  

짱짱맨=날씨인사...

요런느낌이군요...^^ 오늘은 날이 아주좋아요^^

호출 감사합니다.

방문 감사합니다.

내부 소행이라더니.. 아닌 걸로 발표했군요?

로그 분석에서는 외부에서 접근한 것으로 최종 확인되었다고는 하지만 내부 소행이라고 확인되더라도 사실대로 발표하기가 힘들거에요. utopian.io에서 가장 우려하는게 바로 신뢰도 하락으로 인한 사용자 이탈이거든요.

상당히 큰 일이었군요. 당시에 어렴풋이 소식을 접했던 것은 같은데 그땐 제가 유토피안을 안 쓰던때라. 글 잘 보고 갑니다. 감사합니다.

Coin Marketplace

STEEM 0.17
TRX 0.13
JST 0.027
BTC 60777.85
ETH 2609.63
USDT 1.00
SBD 2.65