컴맹에서 정보보호 전문가로 성장하기

"완벽한 대응법이 없다" 버퍼 오버플로우 공격의 이해 본문

정보보호전문가/뉴스클리핑

"완벽한 대응법이 없다" 버퍼 오버플로우 공격의 이해

securitygirl 2020. 1. 30. 11:58

출처 : http://www.itworld.co.kr/news/142560#csidxa56dbd632e1139b98085927d3138eed 

 

"완벽한 대응법이 없다" 버퍼 오버플로우 공격의 이해 - ITWorld Korea

버퍼 오버플로우(Buffer Overflow) 또는 오버런(Overrun)은 일종의 메모리 안전 문제이다. 프로그램이 할당된 고정 길이(Fixed-length) 메모리 버퍼의 한계를 제대로 확인하지 않고 보유할 수 있는 것보다 많은 데이터를 쓰는 경우다. 이로 인해 데이터가 인접 메모리 공간으로 넘쳐서(overflow) 그곳에 있는 정보를 덮어쓰게 되고, 종종 충돌이나 악용 가능한 상태를 유발한다.  ⓒ Getty Ima

www.itworld.co.kr

버퍼 오버플로우(Buffer Overflow)는 프로그램이 할당된 고정 길이 메모리 버퍼의 한계를 제대로 확인하지 않고 봉할 수 있는 것보다 많은 데이터를 써서 인접 메모리 공간으로 데이터가 넘쳐서 덮어쓰게 되는 부분에서 악용을 하는 공격이다. 버퍼 오버플로우는 악성코드를 실행하는 가장 오래되고 흔한 취약점 공격 방법 중 하나다. 

 

이를 방지하기 위해서는 개발 단계에서 안전한 코딩을 하는 것이다. 개발자 단계에서 다양한 코딩 가이드, 교육, 코딩 표준을 참고해야 한다. C와 C++에서 이러한 코드 오류의 가능성이 높은 것으로 알려졌다.

 

이를 방지하기 위한 솔루션이 있지만 완벽한 보호를 제공하는 것은 없다. 그리하여 주기적으로 코드를 검토하고 애플리케이션 보안 테스트를 수행해야 한다.

 


완벽한 보안이 없다는 것을 알지만 세상에 이렇게 많은 취약점들이 있다는 것이 새로웠다. 버퍼오버플로우는 2014년도에 접했다. 그런데 아직도 대두가 될 정도로 취약한 부분이다. 보안활동을 하지만 담당하는 사람들 입장에서는 한계가 있어서 모든 것을 다 점검하기란 쉽지 않다. 어떻게 해야 우리가 안전한 사이버 세상을 이룰 수 있을까? 먼저 나부터 꼼꼼하게 접근하는 것부터 시작된다고 생각한다.