기사 한줄요약(22.2.17.):
CTI기업 Talon의 보고서에 따르면 지난 3일 발생했던 클레이스왑 해킹 사건의 전말은 BGP Hijacking으로 BGP 프로토콜이 신뢰도를 고려하지 않고 가장 빠른 경로만 따라간다는 특성을 활용하여 해커가 원하는 방향으로 네트워크 흐름을 바꾼 공격이였다. 국내에서는 아직 대비가 잘 되어있지 않아 추후 재발 방지에 힘써야 한다고 한다.
권준, "클레이스왑 해킹으로 드러난 BGP Hijacking 공격기법", 도대체 뭐길래?, 보안뉴스, http://www.boannews.com/media/view.asp?idx=104743
1. 사건 개요 : 22년 2월 3일 11:31:41경 클레이스왑에서 UI를통해 공격자의 지갑으로 가상자산을 보내도록하여 탈취
2. 피해 규모 : 22억의 가상자산 탈취, 카카오 SDK 이용하는 서비스 일부 마비
* 카카오톡 QR체크, 카카오맵, 다음
3. 범죄 수법 :
BGP Hijacking 공격
- 외부 네트워크망 공격에서 BGP Hijacking 기법이 활용
- 네트워크 흐름을 조작함으로써 클레이스왑에 접속한 일반 사용자들이 정상적인 SDK 파일이 아닌 공격자가 세팅한 서버로부터 악성코드를 다운로드 받도록 구성
* HTTP refer 헤더값이 클레이스왑일 때 악성코드가 다운로드 되고, 그 외의 값일 때는 서버쪽에러로 처리함.
1) HTTPS 처리
카카오 SDK 파일 다운을 위해서는 HTTPS 프로토콜이 필요하기 때문에 3개월 무료인 해외 ZeroSSL을 임의로 등록해서 조작
2) JS 조작
- kakao.min.js라는 정상 파일에 악성 행위를 하는 코드를 심음.
* 정상 SDK + 가상자산 관련 코드
> 공격자 탈취용 Account, Factory Contract 주소 명시
- Factory Contract가 토큰 Cotract에게 사용 승인하면 토큰 권한 위임받아 사용 가능.
1) 악성 JS 실행
2) 피해자에서 공격자 'Factory Contract'에게 거래 승인 요청
3) '토큰 Contract'가 정상 승인
4) 공격자의 Accounts로 강제 토큰 전송
> 블록체인 플랫폼 클레이튼(Klayton) API 주소 조작
4. 공격준비 시간 : 7개월
5. BGP Hijacking 관련 사건 :
국외 - 2014년 8월 마이닝 풀 서버 하이재킹 사건 / 2018년 4월 마이이더월렛 해킹사고
국내 - 최초
6. 대응방법 :
1) 모니터링
- IP prefix와 맞지 않은것 확인
- 특정시간대, 갑자기 양방향 또는 패킷양 줄때
2) IP Prefix Filtering
- 화이트 리스트기반으로 필터링하기
3) RPKI (Resource Public Key Infrastructure)
- PKI 기반 라우터 정보(AS Number, IP Prefix)의 무결성 보장하는 인증서 발행
더 자세한 보고서 : S2W blog, "Post Mortem of KlaySwap Incident through BGP Hijacking", https://medium.com/s2wblog/post-mortem-of-klayswap-incident-through-bgp-hijacking-898f26727d66