English Deutsch Français Nederlands Español Italiano Português Русский 日本語 中文 हिन्दी తెలుగు मराठी தமிழ் Türkçe Ελληνικά Polski Čeština Magyar Svenska Dansk Suomi Українська العربية Indonesia

Return-Oriented Programming (ROP)

ROP은 프로그램 실행 흐름을 조작하여 공격하는 방법입니다. 이는 보안에 취약한 프로그램에서 자주 사용됩니다.

ROP의 핵심 아이디어는 다른 코드의 조각들을 “돌려서(return)” 공격자의 의도대로 실행하는 것입니다. 이를 위해서는 이용 가능한 코드 조각들을 찾아 조합해야 합니다.

예를 들어, 어떤 프로그램에서 특정 행동을 수행하는 함수가 있다고 가정해봅시다. 그러나 이 함수에서는 보안 취약점이 발견되어 실행 흐름이 공격자의 의도대로 바뀌게 됩니다. 이때 ROP 기술을 사용하여 다른 함수들의 코드 조각들을 조합해 실행 흐름을 변경할 수 있습니다.

따라서, 프로그래머들은 ROP 공격을 막기 위해 프로그램 실행 흐름에 영향을 주는 함수 및 기타 코드의 취약점을 신중하게 검토해야 합니다.