시스템 해킹(System Hacking)이란, 프로그램이나 시스템의 취약점을 분석하고, 이를 이용해 권한을 획득하거나 정상적인 동작을 우회하여 원하는 동작을 하게 만드는 일련의 과정을 의미한다.
시스템이나 프로그램의 메모리 관리 오류나 논리적 오류를 이용하여 임의의 코드를 실행(RCE, Remote Code Execution)하거나 권한 상승(LPE, Local Privilege Escalation)을 목표로 하는 해킹 분야이다.
소프트웨어 취약점은 공격 방법에 따라 크게 2가지로 분류할 수 있다.
대표적인 취약점의 종류는 아래 표와 같다.
본 게시글에서는 각 취약점에 대한 간단한 설명을 다루고 자세한 내용은 별도의 게시글에서 다루도록 하겠다.
개발자가 할당한 크기의 버퍼보다 더 큰 데이터를 입력받아 메모리의 다른 영역을 오염시킬 수 있는 취약점이다.