메모리 오버플로우 시키면 왜 보안에 위험이 되는지궁금해여?

어릴떄도 보며는여, 인터넷 상태라고 해야대나 아무튼 게임중에 일부로 재접속 기능 연달아 써서 아이템 복사같은걸 하는 행위를 하던데여, 메모리 오버플로우 시키는 것이 그와 유사할지모르겟지만, 그런것이 왜 보안에 위험이 되는지 기기전문가의 개인 생각을답변으로 받아알고시퍼여?

3개의 답변이 있어요!

  • 안녕하세요. 서종현 전문가입니다.

    메모리 오버플로우는 프로그램이 할당받은 메모리 영역을 초과하여데이터를 쓰거나 읽을때 발생하는 현상입니다. 이때 프로그램의 정상적인 데이터 저장 공간을 침범해, 원래 의도하지 않은 메모리 영역을 덮어쓸수있습니다.이렇게 되면 공격자가 악의적인 코드를 그 공간에 삽입하거나 중요한 정보를 빼낼수있어 보안상 매우 위험합니다.

    어릴적 게임에서 재접속 기능을 반복해서 아이템을 복사하는 행위는 시스템의 상태를 비정상적으로 조작해 보상 처리의 허점을 이용하는 것입니다. 메모리 오버플로우도 비슷하게 소프트웨어의 정상 흐름을 깨뜨려 권한을 상승시키거나 시스템 제어를 탈취하는 기법으로 보안 취약점을 노리는 해킹 수단의 하나입니다.

    즉, 메모리 오버플로우는 프로그램의 한계를 무너뜨려 시스템을 오작동시키거나 비정상적인 동작을 유발하기 때문에 공격자는 이를 활용해 데이터를 훔치거나 악성 명령을 실행할수있어 보안에 큰 위협이 됩니다. 이해하기 쉽게 말하면 프로그램의 담벼락을 넘어 불법 침입하는 셈입니다.

    채택 보상으로 524베리 받았어요.

    채택된 답변
  • 안녕하세요. 감병주 전문가입니다.

    답변하기에 앞서 한가지 정정해야할 점이 있는데 메모리 오버플로우와 게임의 재접속 버그를 이용한 아이템 복사는 원리가 서로 다릅니다.

    메모리 오버플로우는 프로그램이 처리할 수 있는 양보다 더 많은 데이터를 입력받아 메모리 영역이 침범되는 현상입니다. 오버플로우 과정에서 프로그램이 비정상적으로 동작하거나 공격자가 원래 실행되지 않아야 할 코드를 실행시킬 가능성이 생겨서 보안에 위험이 된답니다.

    게임의 아이템 복사는 저장 및 동기화 과정의 논리적 오류를 이용하는 경우가 많아서 메모리 오버플로우와는 다른 유형의 문제입니다.

    쉽게 말하자면 메모리 오버플로우는 프로그램의 설계된 한도를 넘어서서 메모리를 망가뜨리는 문제인 반면에 아이템 복사는 게임의 저장이나 서버 처리 순서의 허점을 이용하는 문제라고 이해하시면 됩니다.

  • 메모리 오버플로우가 위험한 이유는 프로글매이 예상하지 못한 데이터를 정리하면서 정상적인 동작이 깨질 수 있고, 공격자가 이를 악용할 수 있기 때문입니다.

    프로그램은 정해진 크기의 메모리를 사용하도록 만들어지는데 ,그보다 큰 데이터가 들어오게 되면 주변 메모리까지 덮어쓰면서 오류가 발생할 수도 있습니다. 이 과정에서 프로그램이 강제 종료가 되버리거나 심한 경우는 공격자가 의도한 코드를 실행해버리기도 합니다.

    게임의 아이템 복사는 조금 원리가 다를 것 같긴한데, 처리 순서나 오류를 의도적으로 유발해 정상적인 데이터 처리를 꼬이게 만든다는 점에서는 비슷한 개념으로 볼 수 있습니다.

    메모리 오버플로우는 단순한 오류가 아니라, 프로그램의 신뢰성을 무너뜨리고 보안까지 위협할 수 있는 대표적인 취약점이기 때문에, 개발 단계에서 입력값 검증이나 메모리 보호 기능을 철저하게 적용하는 것이 무엇보다 중요할 것이라고 생각합니다.