Profile
김석균

2018.10.03

보안 관련

해킹 사고 피해 예방 및 개선 방안 

Views 230 Votes 10

멀티 시그 계정이든 어떤것이든 결국 여러 경로로 키가 탈취 당할 수 있습니다
그래서 키가 탈취되었을때의 시나리오로 사고 피해 예방과 개선 방안에 대해 생각해보았습니다

 

1. 키 변경 적용 지연
최근 해킹 피해 사례는 아래와 같은 패턴으로 진행되었습니다

전제 : 다양한 경로로 해커가 키를 탈취 
-> 새로운 키로 변경 
-> 스테이킹 자원들 언스테이크 및 덱스 거래소를 통한 메인 체인 토큰들 이오스 토큰으로 환전 
-> 해커가 신규 생성한 계정들로 분할 송금 
-> 각 거래소 계정으로 분할 입금 후 현금화

위 시나리오에서 가장 문제가 되는 것은 해커가 키를 탈취한 경우 키를 변경하면 계정 주인이 대응할 수 없다는 것입니다
키변경은 지연이 없고 1초만에 가능합니다 이에 가장 간단하고 효과적이며 시급한 조치로는 키 변경 적용 지연입니다
24시간은 중재자에게 증빙자료를 제출하고 중재자가 이를 조사하여 BP들에게 계좌 동결을 요청하여 적용 되기 까지 너무 짧은 시간입니다
자원 언스테이킹 모델을 본따 언스테이크 기간인 72시간이 적당하다고 판단되며 
update auth에 따른 키 상태값이 변경중일때는 기존 키값으로 권한을 행사 할수 있으며 
update auth의 취소 혹은 재 변경을 수행 할 경우 다시 72시간이 되도록 함이 좋을것 같습니다
참고로 긴 기간 휴대폰을 사용하지 못하는 (수능 문제 출제 작업 혹은 해외 오지 여행, 군대 등) 경우 키변경 케이스는
멀티시그로 대리인에게 위임하여 위와 동일하게 방어하면 됩니다


2. 출금 한도
키 변경 적용 지연이 되더라도 자원이 언스테이킹 상태로 존재한다면 키를 획득한 해커는 즉시 계정 주인의 자산을 탈취 할 수 있습니다
때문에 평소 24시간 내 출금 한도와 1회 출금 한도를 설정할 수 있는 기능이 필요합니다
해커에게 탈취 당했음을 인지 한 경우 계정 주인이 출금 한도를 즉시 줄일 수 있도록 
한도를 줄이는 액션은 즉시 적용(ex. 0개로 설정할 경우 출금 정지). 한도를 늘리는 액션은 24시간 지연 적용이 되도록 함이 좋을것 같습니다
ex) 1회 100 eos, 24시간내 100 eos로 설정 한 경우 피해액은 최대 100 eos입니다
출금 한도 설정은 eos 토큰 한개에 한정지어 생각하면 유용하나 여러 토큰(horus, pub 등)들을 고려하면 완전한 해결책이 되지 않을 수 있습니다
추후 이 옵션은 토큰 컨트랙트와 토큰 심볼을 지정하여 사용자가 추가 구성 할수 있도록 고려하여 개발되면 더 좋을것 같습니다


상기 방안들이 완전한 해결책이 아닐수 있습니다 이미 있는 기능인 경우나
더 좋은 아이디어가 있다면 적어주시기 바랍니다
후에 더 나은 방법이 나온다면 이 기능들은 자연스럽게 지워지거나 도태 될것입니다만
완전한 해결책을 기다리는 것보다 지금 당장 유용한 방법을 적용하는게 중요하다고 생각합니다
그게 이오스를 선택한 이유 아닌가요?

 

위의 제안들을 적용하려면 어떻게 해야 할까요?
국내 BP 그리고 커뮤니티 구성원들 께서는 위 제안들이 필요함에 동의하신다면 
내용을 보완하거나 필요하다 판단되는 내용만이라도
EOSIO에 적용될 수 있게 도와주셨으면 합니다

 

영어 능력이 부족하여 위의 내용을 전부 표현하긴 어렵고 요약한 영문 내용도 첨부합니다

 

 

Hacking Damage Prevention Proposal
if.. All keys, whether multi-sig account or not, were stolen.
How can I reduce my damage?

 

1. Delay applying key changes
It should be delayed 72 hours like eos token stake/unstake model
(72 hours is an example, not a requirement)
When the key status value is changing(like refund state), I must be able to perform the authority with the Previous Key

 

2. Withdrawal limit
If eos token unstaked state, the hacker who acquired the key can immediately take possession of the account owner's assets
Therefore, we need the ability to set the default limit for withdrawals within 24 hours and the limit for one withdrawal.
This feature should be developed with consideration for users to add the withdrawal limit settings by specifying token contacts and token symbols.

example)
one withdrawal limit : 100 eos
withdrawal limit within 24 hours : 100 eos
In the example above, the maximum damage is 100 eos within 24 hours.

Another important point is :
Action to reduce withdrawal limits should be applied immediately.
Action to increase withdrawal limits should be delayed. For example, 24 hours

 

These methods can help inform the arbitrator of the damage and make time for BP to register a blacklist.

 

These proposals may not be a complete solution, but they are useful right now.

 

Profile
2
Lv

9개의 Comment

Profile
제미니
2018.10.04

추가적으로

- 화이트리스트 IP설정(해제시 72일동안 지연)

- 화이트리스트 MAC ADDRESS(하제시 72시간동안 지연)

 

이 추가되면 어떨까? 건의해봅니다.

Profile
김석균
2018.10.04
@제미니

제 의견을 첨부하자면
IP,MAC 단점은 아래와 같습니다
둘다 변경이 가능하다. 유동IP, 기기분실 케이스는 대응이 어렵다

상기 문제로 적용 가능 범위는 아래와 같이 한정될것 같습니다
화이트리스트 조회 불가
송금 불가

또 등록시에도 지연되야 할것 같습니다
등록/해제 정책
지연 등록
지연 해제

장점은 해킹 피해 제로에 도전할수 있겠네요

출금액 제한보다 간단하게 구현할수있는 보조적인 안전장치로써 유용할것 같습니다

Profile
이오스대장
2018.10.04

은행은 하드디스크 넘버로 락 걸던데요.

하드디스크 번호도 바꿀 수 있나요?

같은 컴이라도 멀티 부팅 하니간 은행 이체가 불가 하더라고요.

 

이오스 메인넷 자체에 OTP가 존재 하면 좋겠습니다.

 

기본적으로 일반 사이트도 2~3중 보안 로그인 인데 이오스는....

 

Profile
한큐임
2018.10.04

보안 관점으로 본다면 키가 탈취당하면 매우 위험한 상태입니다.

키가 탈취당하지 않게 암화하거나 별도 보관하시는게 일단 첫번째 같구요. 이오스측에서 부가적으로 보안기능을 추가한다면

키 변경시도시 사전에 등록된 정보(이메일)로 인증코드를 발송하고 해당 코드를 제한된 시간내에 입력하거나 질문&답변 등의 형태로 한번은 더 인증을 거치는 장치를 두는것이 가장 합리적이고 안전할듯 싶네요.(사용자가 글로벌 하다보니 물리적인 토큰이나 otp연동등은 좀 어려울것으로 생각됩니다.)

Profile
김석균
2018.10.04
@한큐임

현재도 그 기능을 구현할수 있는 방법은 있습니다만 2차 인증 서비스를 제공하는 댑사가 없을겁니다 멀티 시그 트랜잭션이라고 있습니다 이게 대중화 되면 해킹 피해가 많이 줄어들거에요 서두에 적었듯이 키를 탈취당했을때 피해를 줄이는 방안입니다

Profile
김석균
2018.10.04

댓글이 달리면 수정을 할수 없다니..

덧붙이려고 했던 글 댓글로 적습니다

저는 위의 제안이 융통성 없고 복잡하다는 것을 압니다

제 첫 번째 생각은 이벤트 트리거였습니다
아마도 이 제안이 더 매력적일 겁니다
이벤트 트리거는 자산을 유연하게 보호할 수 있습니다.
물론, 이벤트 트리거 등록 해제 또한 지연 적용이 되어야 합니다
그러나 이 방법을 즉시 적용하더라도 멀티 시그 트랜잭션과 같은 교육을 필요로 하며 트리거를 프로그래밍하려면 인터페이스가 필요합니다. 대중화에 시간이 든다는 거죠

저는 피해를 막기 위해 어떤 제안이든 빨리 적용 되었으면 좋겠네요

Profile
김석균
2018.10.04

I know that the above proposal is less flexible and complex.

My first idea was event trigger.

Perhaps this proposal is more attractive.

Event triggers can protect assets in a flexible way.

Of course, event trigger should be delayed as suggested above.(like statke/unstake model)

However, even if this method is applied immediately, it requires training like a multi-signal transaction and requires an interface to program triggers.

I wish anything could be done to prevent damage. quickly.

Profile
강하늘바다
2018.10.10

감사합니다.

Profile
삿바공주
26 일 전

지금 은행이나 코인거래소등이 사용하는 방식처럼 코인전송 권한 변경등의 트랜잭션을 실행하기 전에 인증된 핸드폰으로 보안 문자를 발송하여 입력하도록 하거나 otp을 사용하도록 하는 것은 어려운건가요? 기술적인건 잘몰라 가능한지는 모르겠으나 가능하다면 해킹은 정말어려울것 같습니다. 또한 그나마 일반적으로 사용되려면 지금 은행 수준보다 더 복잡한 것은 곤란하다는 생각이 드네요

No. Subject Author Date
2708 [EOS 관련] EOS 시스터 체인인 TELOS가 블록 프로듀서 등록 서약을 수정했습니다. profile 서리 2018.10.04
2707 [EOS 관련] EOS Governance Telegram 채널 일일요약 (October 2 - October 3 2018) profile EOSAmsterdam 2018.10.04
2706 [EOS 관련] EOS Governance Telegram 채널 일일요약 (October 1 - October 2 2018) profile EOSAmsterdam 2018.10.04
[보안 관련] 해킹 사고 피해 예방 및 개선 방안  9 김석균 2018.10.03
2704 [질문 / 답변] MEET 마이그레이션 오류 해일너울 2018.10.03
2703 [질문 / 답변] dapp 아이디어가 샘솟아요.. 3 eosant 2018.10.03
2702 [질문 / 답변] scatterllet 이오스 전송 오류 6 kos 2018.10.03
2701 [질문 / 답변] 리펀드상태인 이오스토큰은 에어드랍에 포함이 안되나요? 2 greed 2018.10.03
2700 [질문 / 답변] 가장 편한 EOS지갑은 어떤게 있을까요? 6 eosmk 2018.10.03
2699 [질문 / 답변] EOS Bet 을 하려는데 기다려주세요가 떠요. 1 클로로 2018.10.03
2698 [질문 / 답변] eos knights 때문인지 CPU가 풀로 인해 오류가 뜹니다. 3 kimpro 2018.10.03
2697 [질문 / 답변] 이오스 지갑간 전송 관련 질문입니다 8 h2 2018.10.02
2696 [질문 / 답변] 꼭 이오스 투표를 해야하는지요 9 다람이 2018.10.01
2695 [질문 / 답변] 빗썸 이오스 출금 언제쯤 풀릴까요 ㅠㅠ 규남 2018.10.01
2694 [보안 관련] 스캠성 게임 333ETH...메타마스크 ‘접속 경고’ by Decenter profile Kim_KOREOS.IO 2018.10.01
2693 [질문 / 답변] private key ????? 4 gydeos 2018.10.01
2692 [질문 / 답변] 미등록 이오스 해결 문의 10 투던스머프 2018.09.30
2691 [EOS 관련] 'EOS 에어드랍 공동소송' 관련 법적 이슈에 대한 공개 세미나 개최 안내 라일락 2018.09.30
2690 [질문 / 답변] 이오스벳 다이스 처음 하는중인데요 6 profile 나르실 2018.09.30
2689 [질문 / 답변] Fairy-wallet EDNA 토큰 전송 오류 2 씽씽 2018.09.30
2688 [질문 / 답변] MEET 마이그레이션 입력오류 2 머퀸 2018.09.29
2687 [기타 블록체인] Private 블록체인은 왜 태어났을까요? 2 profile 거래소폐쇄전부처합의완료 2018.09.29
2686 [질문 / 답변] 이오스홈피에 보관중인데 4 방공대장 2018.09.29
2685 [질문 / 답변] 메타마스크에 고이보관중인 EOS ERC20 때 에어드랍코인 2 h2 2018.09.27
2684 [질문 / 답변] 이오스 결제툴 1 eosmk 2018.09.27
2683 [질문 / 답변] 서리님. 스캐터 활용에 대한 궁금사항 입니다. 2 파인트리 2018.09.26
2682 [EOS 관련] 블록체인라이브(런던) 생중계 1 profile Kim_KOREOS.IO 2018.09.26
2681 [질문 / 답변] 이오스 205만개 해킹당한 거 사실인가요? 7 아소새 2018.09.26
2680 [EOS 관련] EOS Governance Telegram 채널 일일요약 (September 23 - September 24 2018) profile EOSAmsterdam 2018.09.25
2679 [EOS 관련] EOS Governance Telegram 채널 주말요약 (September 21 - September 23 2018) profile EOSAmsterdam 2018.09.25
2678 [EOS 관련] "이오스 픽셀 마스터", 그림 그리고 이오스 얻기 johnyieosacc 2018.09.25
2677 [EOS 관련] EOS WIN 겜블링 코인 배팅 종류가 늘어났습니다(이오스,LUCKY,TPT,ADD,ATD,EOSDAC,HORUS,KARMA) 피터슨 2018.09.24
2676 [질문 / 답변] 여러분의 솔직 담백한 의견을 묻고싶습니다 12 행복한우유 2018.09.23
2675 [질문 / 답변] 그래이매스지갑 잘아시는분 도움부탁합니다 1 철따라 2018.09.23
2674 [EOS 관련] 랭체인이 만든 EOS 핸드 사인 1 profile Kim_KOREOS.IO 2018.09.23
2673 [질문 / 답변] 아이폰용 렛저나노는 아직 없나요?? 씽씽 2018.09.23
2672 [질문 / 답변] 아이폰 스캐터는 아직 없는지요?? 씽씽 2018.09.23
2671 [질문 / 답변] [기술 질문] EOS에서 에어드랍은 어떻게 작동하는건가요? EOS_HODLER 2018.09.23
2670 [EOS 관련] EOS Governance Telegram 채널 일일요약 (September 19 - September 20 2018) profile EOSAmsterdam 2018.09.22
2669 [질문 / 답변] edna staking 관련해서 질문드려봅니다. 5 wook1370 2018.09.21
2668 [질문 / 답변] 메타마스크와 에어드랍 관련해서 질문 드립니다.꼭 알려주세요 ㅠ 2 내가제일부자 2018.09.21
2667 [EOS 관련] WPS 를 위한 긴급위원회 profile EOSNation 2018.09.21
2666 [질문 / 답변] 밋원 앱에서 마이그레이션 왜 안되나요 ㅠㅠ 1 ysmpanic 2018.09.20
2665 [질문 / 답변] 제 지갑에서 해킹을 당한거 같아요.. 8 일라니엘 2018.09.20
2664 [EOS 관련] EOS 계정 수집, 메모 광고 전송, EOS 토큰 에어드랍 프로그램을 개발했습니다. 11 profile 초밥매니아 2018.09.20