먼저 간단히 요약하자면, 버퍼오버플로우 공격 이란?
--> 비정상적인 데이터를 많이 주입하여, 오류를 발생시키거나 임의의 악성코드를
실행하게 만드는 공격 기법 BOF 라고도 불리움
이 부분 공부하면서 어셈블리의 개념이 필요하다고 생각이 들었다
필자는 타과 수업에 어셈블리어 수업을 들어 이해가 쉬웠다.
--> 추후에 공부할 포멧스트링 공격도 어셈블리 개념이 쪼금 필요한 것 같더라..
이해하기 쉽게 얘기하면,
함수의 시작위치를 저장하는 역할을 하는 EBP(Extended Base Pointer Register) 의
영역이 입력 값에 의하여 침법을 당하여 EBP의 값이 변하는 것이다.
사실 버퍼오버플로우 공격의 종류는 많다
먼저 가벼운 버퍼오버플로우의 예방법은
시큐어 코딩가이드에서도 gets,scanf 등 버퍼의 길이를 체크하지 않은 함수를 사용하지 말 것을 권고하고 잇고, 대체로 fscanf(),strncpy() 등 함수를 권유하고 있다.
실습은 어셈블리어가 익숙해지고, 툴이 익숙하지 않아 실습이 조금 어려웠다.
'보안 > 개론' 카테고리의 다른 글
Race Condition 공격 (0) | 2017.06.03 |
---|