모든 대형 공격은 오늘도 읽을 수 있는 코드 한두 줄을 남겼습니다. 이 자료는 기록에 남은 최대 사건들을 모았습니다: 단계별로 뜯어본 공격 경로, 문제가 된 함수 그 자체, 수정 방법, 그리고 사후 보고서 링크.
뉴스 목록이 아닙니다. 각 사건은 사용자 본인의 코드에 바로 적용할 수 있는 교훈 하나로 분해되어 있습니다.
첫 단계부터 자금이 빠져나가기까지: 공격자가 무엇을 어떤 순서로 호출했는지, 그리고 왜 하필 그 순서가 통했는지.
사건 당시 그 함수의 모습 그대로. 결함에 대한 설명이 아니라 결함 자체를 직접 읽게 됩니다.
사후에 무엇이 바뀌었는지, 그리고 처음부터 이를 막을 수 있었던 안전한 작성 방식.
각 사건은 자신이 속한 취약점 범주와, 저희 취약점 데이터베이스의 같은 범주 항목으로 연결됩니다.
원본 사후 보고서와 독립 보안 분석으로 가는 링크. 모든 숫자를 직접 확인하실 수 있습니다.
연도, 네트워크, 취약점 유형으로 거르세요 — 예를 들어 재진입 사건만 모아서 이어 읽고 싶을 때 유용합니다.
도구 자체(스캐너, 콘솔, SAFI 워크스페이스)의 화면은 아직 영어입니다. 이 페이지들은 그 안으로 들어가기 전에 무엇을 하게 되는지 한국어로 끝까지 설명해 드립니다.
이 사건들은 세부에서는 제각각이지만, 원인에서는 불편할 만큼 닮았습니다.
이 자료에서 가장 불편한 결론은 이것입니다: 여기 있는 프로토콜 다수가 뚫리기 전에 감사를 통과했습니다. 감사는 확률을 낮추지만 없애지는 못합니다.
확률을 더 낮추는 것은 리포트 한 장이 아니라 여러 겹입니다: 감사, 출시 후 상시 모니터링, 지출 한도, 그리고 빠르게 지혈하는 능력. 피해가 작았던 사건들은 바로 마지막 한 겹을 갖고 있던 쪽이었습니다.
재진입과 권한의 중앙집중은 전체 피해액의 상당 부분을 설명합니다. 둘 다 오래전부터 알려져 있었고, 둘 다 여전히 반복됩니다.
컨트랙트의 로직을 바꿀 수 있는 개인키 하나는, 주변 코드가 아무리 잘 쓰여 있어도 단일 장애점입니다.
브리지는 막대한 잔액을 들고 외부에서 온 메시지를 신뢰하고, 오라클은 조작될 수 있는 가격을 안으로 들여보냅니다. 이 두 영역의 모든 대형 사건은 같은 생각에서 나왔습니다: 데이터를 마땅한 정도보다 더 믿은 것.