경계검사가 있는데 왜 뚫릴까 — 숫자 하나로 검사를 속이는 법 (시스템 해킹 기초 3편)
보안쟁이 | Bug Hunter
0:00 / 0:00
경계검사가 있는데 왜 뚫릴까 — 숫자 하나로 검사를 속이는 법 (시스템 해킹 기초 3편)
177 просмотров · 2 недели назад
보안쟁이 | Bug Hunter
340 подписчиков
177 просмотров · 2 недели назад
2014년, 유튜브 조회수 카운터가 노래 하나 때문에 터질 뻔했다. 싸이 강남스타일. 조회수가 21억 (정확히는 2,147,483,647)을 넘어가자, 카운터가 곧 '음수'로 뒤집히기 직전이었다. 왜? 유튜브가 조회수를 32비트 정수라는 '상자'에 담았는데, 그 상자가 담을 수 있는 최댓값이 딱 21억이었기 때문. 구글은 급히 64비트로 바꿨고, 이런 말을 남겼다. "32비트를 넘는 조회수는 상상도 못 했다 — 싸이를 만나기 전엔." 숫자가 상자를 넘치면 그냥 커지는 게 아니라 '음수로 뒤집힌다.' 귀여운 카운터 버그로 끝나면 다행인데, 이 '뒤집힘'이 공격자 손에 들어가면 지난 편에 배운 그 경계검사를 통째로 무력화하는 열쇠가 된다. 지난 편 끝에 던진 질문 — 검사가 버젓이 있는데도 뚫린다고. 오늘 그 방법, 정수·타입 에러다.
이 영상은 개념·원리 교육 콘텐츠입니다. 실제 배포용 무기화 페이로드는 다루지 않습니다.
참고 문헌: Aleph One(Elias Levy), "Smashing the Stack for Fun and Profit", Phrack Issue 49 (1996).
#시스템해킹 #셸코드 #pwnable #익스플로잇 #정보보안 #해킹기초 #컴퓨터공학