본문 바로가기

블록체인보안21

[블록체인 보안] 스마트컨트랙트 취약성 unsafe delegatecall 안전하지 않은 Delegate Call 취약성 Proxy 계약 소유자 조작 취약점은 스마트계약 설계에서 발행하는 결함으로, 공격자가 Proxy 계약의 소유자를 조작할 수 있는 문제임. 이 취약점은 Proxy 계약의 fallback 함수에서 delegatecall을 사용함으로써 발생 함. delegatecall은 공격자가 proxy 계약의 컨텐스트 내에서 delegate 계약의 pwn()함수를 호출할 수 있게 해주므로, Proxy 계약의 소유자 상태 변수값을 변강할 수 있음. 이로써 스마트계약은 런타임시 다른 주소에서 코드를 동적으로 로드할 수 있게 됨. 시나리오 Proxy 계약은 사용자가 로직 계약을 호출하는데 도움을 주기 위해 설계 됨. Proxy 계약의 소유자는 0xdeadbeef로 하드코딩되어 있음.. 2023. 8. 24.
[블록체인 보안] 솔리디티 해킹관련 파운더리 셋팅 및 테스트(selfdestruct) 1. 파운더리 설치 curl -L https://foundry.paradigm.xyz | bash foundryup 2. hello_foundry 초기화 forge init hello_foundry ls forge build forge test 3. 예제 테스트 1. Self Destruct - 가이드 https://web3sec.notion.site/Selfdestruct-4c64f3ceb02f477f9dfc0079b66c84a6 - 예제샘플소스 https://github.com/SunWeb3Sec/DeFiVulnLabs/blob/main/src/test/Selfdestruct.sol 테스트 폴더에 해당 파일 저장. - 아래 명령 실행. forge test --contracts src/test/Self.. 2023. 8. 24.
[한경닷컴]블록체인 보안의 허점, 해결책은 존재하나? 블록체인이 보안에 완벽하다고? 블록체인이 보안에 완벽하다고 주장하는 사람들이 있다. 그 반대로 기존 시스템보다 블록체인이 보안에 취약하다고 이야기하는 이들도 있다. 무엇이 정답일까? 정답은 없다. 블록체인은 새로운 기술이고, 기존 보안에 대한 개념으로 접근하기에는 한계가 많다. 그렇다고 보안을 완벽하다고 주장하기에도 기존에 통념적으로 사용되어 왔던 보안의 개념과 충돌한다. 보안의 영역은 다양한데, 그 영역을 먼저 정의할 필요가 있으며 그 정의된 영역에서 세분화하여 블록체인이 어떤 영역에서 어떻게 보안을 강화할 수 있는지를 먼저 살펴봐야 한다. 기본적으로 블록체인은 탈중앙화를 추구하기 때문에, 중앙화방식의 시스템에서 오는 보안의 문제점을 상당수 해결할 수 있다. 예를 들어 중앙화방식의 시스템에서는 관리자의.. 2020. 10. 7.