댓글로 관심 가져주시고... 걱정해주시고 조언 해주신 모든 분들께 다시 한번 감사드립니다.
덕분에 일이 잘 해결됐답니다.
우선 해커 지갑 주소 전체(총 7개)를 텔레그램 알림봇으로 연결해놓고, 며칠동안 이더스캔상 변동에 따라 알람이 뜬 시간을 정리해서 해커의 주 활동 시간을 체크한 후... 가장 활동이 적은 시간대를 가려내고...
그 시간대에서 혹시 모를 sweeper 같은 코드 유무를 소량의 코인을 먼저 언스테이킹 해서 확인했고, 한동안 상황을 지켜보다가 별다른 이상이 없어서... 바로 전액 언스테이킹 한 후 재빨리 새 지갑으로 모두 옮겼네요.
지금은 새 지갑에서 다시 스테이킹까지 완료한 상태입니다.
지갑의 구문을 털리는 심각한 상황에서 다행히 별다른 피해 없이 마무리됐지만, 며칠 동안 걱정 속에서 여러가지 알아봤던 걸 생각하면 정말 끔찍했네요.
인터넷 보안에 대해 다시 한번 생각해보는 계기가 되었습니다.
다들 이에 대해 조금씩 더 신경 쓰시고, 조심하셨으면 하네요.
2. 트젝이 외부에서 생성이 되었다면 특정 contract을 approve 한 것 때문일 수 있는데
상황은 뭔가 두 가지가 엮여있는 것처럼 보이네요.
개인키가 털렸다면 보통 스테이킹 된것도 풀고 털어가거든요.
2번이면 approve만 해제하면 아무런 문제가 없긴 한데
해커가 다시 approve를 했다고 하는 거 보면 1번 상황인거 같기도 하구요.
네... 개인키가 털린게 맞구요.ㅜㅠ
제가 가진 코인은 지갑내에서는 언스테이킹이 불가능하고, 해당 코인 서비스 app에서만 가능하답니다.
그래서 이를 정확히 몰랐던 해커가 해당 코인 서비스 app을 통하지 않고, 제 지갑과 해당 코인 스테이킹 지갑과 직접 Ethereum token approval을 해서 언스테이킹 후 빼가려고 했다가 실패한 상태구요.
Ethereum token approval이 단순히 해커가 최초 인출 실패 후 제 지갑내에서 언스테이킹을 하기 위해서 우회적으로 했던거고 별다른게 없다면...
(Ethereum token approval revoke 포함)더 이상의 이더스캔 상 기록을 남기지 않고...
최대한 신속하게 해당 코인 서비스 app에서 언스테이킹하고 코인이 (해킹된) 지갑으로 옮겨지면 다시 이걸 새 지갑으로 옮기려고 하는데...
걱정이 되는게 혹시 모르는 다른 요소(자동 인출? 코드) 같은게 있지 않을까 해서 글을 남겨 본 거랍니다.
해커가 코인 빼내는 봇을 돌리고 있을지 어떨지 모르겠네요 ㅠ
approval은 해당 contract이 특정 코인을 사용할 수 있게 하는 거라서
어떤 contract에 approval을 했는지 확인해보시면 좋을 거 같아요.
unverified contract이면 해당 컨트렉을 이용해 코인을 탈취하려고 하는 것일 수도 있구요.
결국 그게 있더라도ㅠㅜ 손도 못되게 코인이 들어오자 마자 자동인출이 되는게 아니라면... 이 상황에서는 누가 손이 빠르냐에 달려있는 문제라서 머리가 아프네요.
제 지갑에는 오직 스테이킹 된 코인(Stormx)과 수수료(gas fee)로 쓸 이더리움 몇달러 정도 있습니다.
이더스캔을 보면 해커가 approval은 제 지갑과 stormx에 하고 allowance는 unlimited 로 했다고 나오는데... 더 자세한건 어떻게 보는지 잘 모르겠네요.
unlimited 라면 단순히 인출금액이 무제한 이라는 걸 승인받은 걸까요?ㅜㅠ
닥터리드님 덕분에 뭔가 접근이 되는거 같은데...
혹시 조금 더 도움 주실 수 있으실까요?
거래소나 지갑으로 접속하기위해 구글같은 검색창을 이용하면 가장 상단이나 상단 아래에 광고로 거래소를 가장한 스미싱싸이트를 올려놓지요.
광고를 위한 자리이나 구글 싸이트 안내랑 동일하게 만들어 접속을 유도하죠..
접속해서 메타지갑싸이트 또는 거래소 싸이트인줄알고 아이디 비번 또는 지값 키를 입력하면 털리는겁니다.
https://blog.mycrypto.com/how-to-beat-an-ethereum-based-sweeper-and-recover-your-assets
이더스캔에서 해커가 한 approval이 단순히 출금액 제한을 푼걸로 보이고... 링크의 내용처럼 sweeper가 적용이 쉽지 않는거라면, 정말 누구 손이 빠른지가 관건인거 같아서요.
링크글 내용중에
The way sweepers work is by monitoring the txpool for incoming transactions to the address they are sweeping. They do this so that before that transaction is confirmed, they have already signed the transaction and are prepared to broadcast the transaction to sweep those funds.
이런 내용이 있는데, (제가 이해한게 맞다면) 글쓴님께서 발빠르게 트랜젝션을 만드려고 시도해도 트랜젝션이 만들어서 브로드캐스팅 될때 봇이 이를 감지해서 미리 싸인해둔 트랜젝션을 전송해서 해당 자산을 빼내오는 방법을 쓴다고 하는것 같네요. 따라서 아무리 손으로 빨리 트렌젝션을 만들더라도 해당 방법으로는 자산을 먼저 빼오긴 불가능 해보입니다.
코딩이 필요한부분이 미리 싸인해둔 트랜젝션을 만드셔서 코인이 지갑에 들어옴과 동시해 준비해둔 트랜젝션을 발생시키는 걸 만드셔서 쓰셔야 할 것 같은데. 이부분은 제가 경험해본 부분이 아니라 난이도 및 방법은 잘 모르겠네요.
잘 마무리 하신거 축하드립니다.
/Vollago