You are viewing a single comment's thread from:

RE: STIMCITY 셀러 필수! , 새로워진 스팀페이 파헤치기.

in #kr6 years ago (edited)

논점을 명확히 해야 할 것 같습니다.

스팀콘넥트 관련하여 제가 제기한 문제는 다음 두가지 입니다.

  1. 유토피안 해킹으로 드러난 키의 중앙화 문제
  2. 웹페이지 형태로 제공하기 때문에 발생하는 구조적 보안의 위험

1번은 포스팅 키만 그런 위험이 있는 걸로 이해했습니다. 액티브 키의 위험까지 제기한 것은 제가 잘못 파악한 것으로 정리하겠습니다.

2번은 마이이더월렛 등의 웹페이지 기반 지갑에서 공통적으로 발생하는 문제입니다. [MEW] 마이이더월렛 해킹에 주의하세요 글을 참조하는 게 좋겠네요. 이 부분은 향후 웹페이지 기반의 지갑들에서 크게 골치를 썩을 주제입니다. 스팀컨넥트도 마찬가지구요.

사람들이 스팀컨넥트와 동일한 모양의 가짜 웹페이지를 진짜 스팀컨넥트 페이지와 잘 구별할 거라고 생각하는 건 나이브합니다. 그래서 웹페이지 기반의 지갑은 구조적 보안의 위험을 안고 있다고 제가 말씀드리는 겁니다. 스팀컨넥트가 지갑과는 관계없다고 하셨지만, 송금 등의 트랜잭션을 처리할 수 있는 능력을 가진 건 모두 지갑의 범주로 넣어도 됩니다.

모이또가 보안에서 완벽할 수는 없겠지만, 기존 지갑에서 발생하는 보안의 위협을 매우 신경쓰면서 개발하고 있습니다. 이 부분은 곧 공개될 모이또 백서에서도 주요하게 언급하고 있는 내용입니다. 저희는 적어도 웹페이지 기반의 지갑보다는 앱 기반의 지갑이 구조적으로 안전하다고 주장하고 있습니다.

깃헙에서 __load_key 부분을 왜 못찾으셨는지 모르겠지만, 모이또는 액티브 키를 사용자가 직접 입력한 PIN 번호 (토스에서 사용하는 방식)로 암호화한 뒤, 애플/구글에서 제공하는 키체인에 보관합니다. 지금 푸쉬되어 있는 코드에서는 PIN 번호로 암호화하는 부분에는 주석처리가 되어 있으니, 코드 리뷰시 참고해주시면 감사하겠습니다. 보안 관련 작업이 완료된 버전은 오늘/내일 중에 푸시될 예정입니다.

애플/구글은 일반 앱들에게 키체인이란 이름의 강력한 보안 기능을 제공합니다. 앱 개발을 해보신 적이 있으신지는 모르겠지만, 키체인을 사용하는 일반 앱은 보안에 취약하고 웹브라우저의 보안은 강력하다는 주장은 받아들이지 않겠습니다. 스팀컨넥트를 사용하여 웹브라우저에 저장된 액티브 키는 암호화 되어 있지 않은데 반해, 모이또는 사용자가 입력한 PIN 번호로 한번 더 암호화하여 저장한다는 점도 고려해주시기 바랍니다.

OAuth 프로토콜에 대해서는 저와 이해가 다른 부분이 있는 듯 하나, 곁가지일 뿐이니 논쟁하지는 않겠습니다. 제 일관된 주장은 웹페이지 형태로 지갑기능을 제공하는 서비스의 보안 위험성에 관한 것이니까요.

제가 모이또를 처음 언급한 글에 @absbear 님이 달았던 댓글에서 보안 문제가 언급되어 있어서, 모이또의 보안 수준에 대한 논의를 해봐야겠다고 생각했는데, 이번 논쟁으로 제 주장을 충분히 풀어낼 수 있어서 만족하고 있습니다.

원래 이 논쟁이 시작된 계기인 모이또의 결제 관련 기능에 대해서는 따로 글을 올리도록 하겠습니다.

Sort:  

답변 감사드립니다. 발전적인 논의는 늘 환영합니다.

여러 암호화폐를 보면 지갑 해킹 사건은 한두번 있는 일도 아니니 언제든 다시 발생할수있다고 생각합니다. 해킹당한 지갑들도 당시에는 보안적으로 월등하다고 "알려진" 지갑들이구요. 이경우에 있어서 모이또가 다른 지갑과 다르다고 생각하지 않습니다.

지갑을 사용하는 것은 전적으로 개개인의 자유이므로 피해도 개인들이 감수해야 하는것입니다. 그런데 모이또의경우 스팀시티 커뮤니티에서 밀고있는 지갑이기때문에 개개인의 자세한 조사없이, 대외적인 시큐리티 리뷰 없이 사람들이 많은 사람들이 단말에 설치하게 될것이라는점이 우려되는것입니다. 이것이 과도한 우려라고 생각하시지는 않으시리라 믿습니다.

1번은 포스팅 키만 그런 위험이 있는 걸로 이해했습니다. 액티브 키의 위험까지 제기한 것은 제가 잘못 파악한 것으로 정리하겠습니다.

스팀컨넥트를 사용하여 웹브라우저에 저장된 액티브 키는 암호화 되어 있지 않은데 반해

우선 이부분은 정확히 해야할듯 합니다. 스팀커넥트 사용 과정에서 키는 서버, 클라이언트 그 어디에도 저장되지 않습니다. 포스팅키도 저장되지 않습니다.

제 일관된 주장은 웹페이지 형태로 지갑기능을 제공하는 서비스의 보안 위험성에 관한 것이니까요.

스팀커넥트는 지갑이 아닙니다. 지갑 없이 DAPP을 구축할 수 있는 인증서비스죠. 그게 제가 혁신적이라고 생각하는 점이구요. 스팀커넥트가 없었으면 지금까지 믿고 사용할 Steem DAPP이 하나도 없었을겁니다.

애플/구글은 일반 앱들에게 키체인이란 이름의 강력한 보안 기능을 제공합니다. 앱 개발을 해보신 적이 있으신지는 모르겠지만, 키체인을 사용하는 일반 앱은 보안에 취약하고 웹브라우저의 보안은 강력하다는 주장은 받아들이지 않겠습니다.

그부분 코드를 찾지못했는데 키체인을 사용하신다면 키 스토리지 보안은 문제없을듯합니다. 나머지 보안 관련 코드 푸시되면 kr 개발자분들이 리뷰에 참여하시면 좋겠습니다. 그리고 유토피안등을 통해서 리뷰를 부탁해보는게 어떻까 싶습니다. 앱의 기본적인 샌드박싱에 대해서는 잘 모르는데 설명해주시면 제가 비교하는데 수월할듯 합니다. 어디까지 외부 후킹을 막아주고 어디까지 샌드박싱을 해주는지요?

스팀컨넥트가 지갑이 아니라서 믿을 수 있다는 건 사실이 아닙니다. 그 내용은 스팀페이 사용할 때 액티브 키 탈취하는 시연 영상으로 대신하겠습니다.