Return-to-libc attack (original) (raw)

About DBpedia

Return into libc (auch return-to-libc) ist eine Methode zur Ausnutzung einer Sicherheitslücke in einem Computerprogramm.

Property Value
dbo:abstract Return into libc (auch return-to-libc) ist eine Methode zur Ausnutzung einer Sicherheitslücke in einem Computerprogramm. (de) Une attaque de type return-to-libc est une attaque informatique démarrant généralement par un dépassement de tampon dans lequel l'adresse de retour dans la pile est remplacée par l'adresse d'une autre fonction et une seconde partie de la pile est modifiée pour fournir les paramètres à cette fonction. Ceci permet à un attaquant d'utiliser une fonction existante et d'éviter d'injecter du code malveillant dans le programme. La bibliothèque partagée libc fournit le moteur d'exécution C sur les systèmes de type Unix. Bien que l'attaquant puisse faire pointer l'adresse de retour n'importe où, libc est la cible la plus probable car étant toujours liée au programme et fournissant des fonctions utiles (comme la fonction system qui ne nécessite qu'un seul paramètre et permet d'exécuter un programme arbitraire). C'est pour cette raison que cet exploit est appelé return-to-libc même si l'adresse de retour peut pointer sur un endroit totalement différent. (fr) A "return-to-libc" attack is a computer security attack usually starting with a buffer overflow in which a subroutine return address on a call stack is replaced by an address of a subroutine that is already present in the process executable memory, bypassing the no-execute bit feature (if present) and ridding the attacker of the need to inject their own code. The first example of this attack in the wild was contributed by Alexander Peslyak on the Bugtraq mailing list in 1997. On POSIX-compliant operating systems the C standard library ("libc") is commonly used to provide a standard runtime environment for programs written in the C programming language. Although the attacker could make the code return anywhere, libc is the most likely target, as it is almost always linked to the program, and it provides useful calls for an attacker (such as the system function used to execute shell commands). (en) Return-to-libc攻撃とは、バッファオーバーランによってコールスタック上のリターンアドレスを別のサブルーチンへのアドレスへ書き換え、さらにスタック上の引数に当たる位置も書き換えることで、サブルーチンを呼び出させるコンピュータセキュリティの攻撃手法である。攻撃者は、悪意あるコードをプログラムに注入することなく、単に既存の関数を呼び出すだけで攻撃を行う。 Unix系システムでは、C言語ランタイムとして "libc" という共有ライブラリが使われる(Windows でも該当するライブラリが存在する)。バッファオーバーランでは攻撃者は任意のコードに戻るように細工できるが、常にリンクされていて攻撃に使い易い機能が多く存在する libc をターゲットとすることが多い(例えば、system は引数さえ正しく指定すれば、任意のプログラムを実行できる)。このため、全く別の場所を呼び出すようになっていても総称として "return-to-libc" と呼ぶ。 (ja) “return-to-libc” 공격은 보통(NX 비트가 존재하는 경우 이것을 우회함으로써), 콜 스택의 서브루틴 반환 주소를 이미 프로세스의 실행 가능 메모리에 위치한 서브루틴의 주소로 교체되게 하는, 버퍼 오버플로 시에 사용되는 컴퓨터 보안 공격이다. POSIX를 준수하는 운영 체제에서 C 표준 라이브러리는 일반적으로 C 언어로 쓰여진 프로그램을 위한 표준 런타임 환경을 제공하는데 사용된다. 비록 공격자가 코드 반환을 어느 곳에서든 할 수 있지만(대부분의 프로그램에 항상 링크된 libc 가 목표이다) 공격자에게 유용한 호출을 제공한다(셸 명령어를 실행시키는데 필요한 system 함수 같이). (ko) O ataque return-to-libc é um ataque à segurança do computador, que usualmente inicia com um buffer overflow em que o endereço de retorno da função chamada na pilha é substituído pelo endereço de uma outra instrução, e uma parte da pilha é sobrescrita para fornecer argumentos para está função. Isto permite que o atacante invoque uma função preexistente sem precisar injetar código malicioso no programa. Uma biblioteca compartilhada chamada "libc" provê o runtime C sistemas baseados em UNIX. Embora o atacante pudesse fazer o código retornar para qualquer lugar, libc é o alvo mais comum, como ela está sempre ligada ao programa, e oferece chamadas úteis ao atacante (como uma chamada de sistema para executar um programa arbitrário que necessite somente um argumento). É por isso que o ataque é chamado return-to-libc mesmo quando o endereço de retorno pode apontar para um local completamente diferente. (pt) Return-to-libc attack – technika wykorzystywania błędów w aplikacjach w celu dokonania ataku na system komputerowy. (pl) Атака возврата в библиотеку (англ. Return-to-libc attack) — один из видов компьютерных атак, популярных на x86-совместимых машинах и схожие с ними, связанных с переполнением буфера, когда адрес возврата функции на стеке подменяется адресом иной функции в программе, и в последующую часть стека записываются параметры для вызываемой функции. Эта техника позволяет нападающему выполнить какую-либо существующую функцию без необходимости внедрять вредоносный код в программу. В GNU, GNU/Linux и других UNIX-подобных ОС имеется разделяемая библиотека libc, предоставляющая функции языка Си и стандарта POSIX, например system для выполнения произвольных программ. Подобные библиотеки существуют и в ОС семейства Windows. Хотя атакующий может заставить программу совершить переход по любому адресу, большинство программ используют libc (слинкованы с ней), в ней имеются удобные функции запуска произвольных программ. Поэтому функции стандартной библиотеки являются наиболее вероятной целью подобных эксплойтов, что и дало название классу атак. Тем не менее возможно использование и других адресов возврата, в том числе функций из других библиотек и (или) фрагментов кода (в том числе возврат на середину инструкции), подробнее см. Возвратно-ориентированное программирование. (ru) Атака повернення в бібліотеку (англ. Return-to-libc attack) — один з видів комп'ютерних атак, популярних на x86-сумісних машинах і схожих з ними[джерело?], пов'язаних з переповненням буфера, коли адреса повернення у функцію у стеку викликів підміняється адресою іншої функції в програмі, і в наступну частину стека записуються параметри для виклику функції. Ця техніка дозволяє нападнику виконати якусь існуючу функцію без необхідності впроваджувати шкідливий код в програму. У GNU, GNU/Linux та інших UNIX-подібних ОС є спільна бібліотека libc, що надає функції мови Сі та стандарту POSIX, наприклад system для виконання довільних програм. Подібні бібліотеки існують і в ОС сімейства Windows. Хоча атакуючий може змусити програму здійснити перехід на будь-яку адресу, більшість програм використовують libc (злінковані з нею), в ній є зручні функції запуску довільних програм. Тому функції стандартної бібліотеки є найбільш ймовірною метою подібних експлойтів, що і дало назву класу атак. Тим не менш можливо використання інших адрес повернення, у тому числі функцій з інших бібліотек і (або) фрагментів коду (у тому числі повернення на середину інструкції), докладніше див. Зворотно-орієнтоване програмування. (uk) Return-to-libc攻击(缩写:ret2libc),即“返回至C标准库攻击”,是一种电脑安全攻击。这种攻击方式一般应用于缓冲区溢出中,其堆栈中的被替换为另一条指令的地址,并且堆栈的一部分被覆盖以提供其参数。这允许攻击者调用现有函数而无需注入恶意代码到程序中。 缩写为libc的共享库是C标准函数库,提供了类UNIX操作系统中的支持。尽管攻击者可以让代码返回到任意位置,但绝大多数情况下的目标都是libc。这是因为libc总是会被链接到程序中,并且它提供了对攻击者而言一些相当有用的函数(如system调用可以只附加一个参数即执行外部程序)。这即是尽管返回地址可以指向另一个完全不同的区域,但这种攻击仍被称为return-to-libc的原因。 (zh)
dbo:wikiPageExternalLink https://css.csail.mit.edu/6.858/2010/readings/return-to-libc.pdf
dbo:wikiPageID 846717 (xsd:integer)
dbo:wikiPageLength 5135 (xsd:nonNegativeInteger)
dbo:wikiPageRevisionID 1095070399 (xsd:integer)
dbo:wikiPageWikiLink dbr:NX_bit dbr:Return-oriented_programming dbr:Gadget_(machine_instruction_sequence) dbr:Computer_security dbc:Computer_security_exploits dbr:Call_stack dbr:64-bit_computing dbr:Brute-force_attack dbr:Address_space_layout_randomization dbr:32-bit_computing dbr:POSIX dbr:Runtime_environment dbr:Process_(computing) dbr:Return_statement dbr:ASCII_armoring dbc:C_standard_library dbr:Code_injection dbr:Stack-smashing_protection dbr:Buffer_overflow dbr:Bugtraq dbr:C_standard_library dbr:Position-independent_code dbr:Operating_system dbr:C_programming_language dbr:Megabyte dbr:Stack_buffer_overflow dbr:Solar_Designer dbr:Unintended_instructions dbr:Null_byte
dbp:wikiPageUsesTemplate dbt:Anchor dbt:Refimprove dbt:Reflist
dcterms:subject dbc:Computer_security_exploits dbc:C_standard_library
gold:hypernym dbr:Attack
rdf:type yago:WikicatComputerSecurityExploits yago:Abstraction100002137 yago:Accomplishment100035189 yago:Act100030358 yago:Action100037396 yago:Event100029378 yago:Feat100036762 yago:PsychologicalFeature100023100 yago:YagoPermanentlyLocatedEntity dbo:MilitaryConflict
rdfs:comment Return into libc (auch return-to-libc) ist eine Methode zur Ausnutzung einer Sicherheitslücke in einem Computerprogramm. (de) Return-to-libc攻撃とは、バッファオーバーランによってコールスタック上のリターンアドレスを別のサブルーチンへのアドレスへ書き換え、さらにスタック上の引数に当たる位置も書き換えることで、サブルーチンを呼び出させるコンピュータセキュリティの攻撃手法である。攻撃者は、悪意あるコードをプログラムに注入することなく、単に既存の関数を呼び出すだけで攻撃を行う。 Unix系システムでは、C言語ランタイムとして "libc" という共有ライブラリが使われる(Windows でも該当するライブラリが存在する)。バッファオーバーランでは攻撃者は任意のコードに戻るように細工できるが、常にリンクされていて攻撃に使い易い機能が多く存在する libc をターゲットとすることが多い(例えば、system は引数さえ正しく指定すれば、任意のプログラムを実行できる)。このため、全く別の場所を呼び出すようになっていても総称として "return-to-libc" と呼ぶ。 (ja) “return-to-libc” 공격은 보통(NX 비트가 존재하는 경우 이것을 우회함으로써), 콜 스택의 서브루틴 반환 주소를 이미 프로세스의 실행 가능 메모리에 위치한 서브루틴의 주소로 교체되게 하는, 버퍼 오버플로 시에 사용되는 컴퓨터 보안 공격이다. POSIX를 준수하는 운영 체제에서 C 표준 라이브러리는 일반적으로 C 언어로 쓰여진 프로그램을 위한 표준 런타임 환경을 제공하는데 사용된다. 비록 공격자가 코드 반환을 어느 곳에서든 할 수 있지만(대부분의 프로그램에 항상 링크된 libc 가 목표이다) 공격자에게 유용한 호출을 제공한다(셸 명령어를 실행시키는데 필요한 system 함수 같이). (ko) Return-to-libc attack – technika wykorzystywania błędów w aplikacjach w celu dokonania ataku na system komputerowy. (pl) Return-to-libc攻击(缩写:ret2libc),即“返回至C标准库攻击”,是一种电脑安全攻击。这种攻击方式一般应用于缓冲区溢出中,其堆栈中的被替换为另一条指令的地址,并且堆栈的一部分被覆盖以提供其参数。这允许攻击者调用现有函数而无需注入恶意代码到程序中。 缩写为libc的共享库是C标准函数库,提供了类UNIX操作系统中的支持。尽管攻击者可以让代码返回到任意位置,但绝大多数情况下的目标都是libc。这是因为libc总是会被链接到程序中,并且它提供了对攻击者而言一些相当有用的函数(如system调用可以只附加一个参数即执行外部程序)。这即是尽管返回地址可以指向另一个完全不同的区域,但这种攻击仍被称为return-to-libc的原因。 (zh) A "return-to-libc" attack is a computer security attack usually starting with a buffer overflow in which a subroutine return address on a call stack is replaced by an address of a subroutine that is already present in the process executable memory, bypassing the no-execute bit feature (if present) and ridding the attacker of the need to inject their own code. The first example of this attack in the wild was contributed by Alexander Peslyak on the Bugtraq mailing list in 1997. (en) Une attaque de type return-to-libc est une attaque informatique démarrant généralement par un dépassement de tampon dans lequel l'adresse de retour dans la pile est remplacée par l'adresse d'une autre fonction et une seconde partie de la pile est modifiée pour fournir les paramètres à cette fonction. Ceci permet à un attaquant d'utiliser une fonction existante et d'éviter d'injecter du code malveillant dans le programme. (fr) O ataque return-to-libc é um ataque à segurança do computador, que usualmente inicia com um buffer overflow em que o endereço de retorno da função chamada na pilha é substituído pelo endereço de uma outra instrução, e uma parte da pilha é sobrescrita para fornecer argumentos para está função. Isto permite que o atacante invoque uma função preexistente sem precisar injetar código malicioso no programa. (pt) Атака возврата в библиотеку (англ. Return-to-libc attack) — один из видов компьютерных атак, популярных на x86-совместимых машинах и схожие с ними, связанных с переполнением буфера, когда адрес возврата функции на стеке подменяется адресом иной функции в программе, и в последующую часть стека записываются параметры для вызываемой функции. Эта техника позволяет нападающему выполнить какую-либо существующую функцию без необходимости внедрять вредоносный код в программу. (ru) Атака повернення в бібліотеку (англ. Return-to-libc attack) — один з видів комп'ютерних атак, популярних на x86-сумісних машинах і схожих з ними[джерело?], пов'язаних з переповненням буфера, коли адреса повернення у функцію у стеку викликів підміняється адресою іншої функції в програмі, і в наступну частину стека записуються параметри для виклику функції. Ця техніка дозволяє нападнику виконати якусь існуючу функцію без необхідності впроваджувати шкідливий код в програму. (uk)
rdfs:label Return into libc (de) Return-to-libc attack (fr) Return-to-libc 공격 (ko) Return-to-libc攻撃 (ja) Return-to-libc attack (en) Return-to-libc attack (pl) Атака возврата в библиотеку (ru) Return-to-libc attack (pt) Return-to-libc攻击 (zh) Атака повернення в бібліотеку (uk)
owl:sameAs freebase:Return-to-libc attack yago-res:Return-to-libc attack wikidata:Return-to-libc attack dbpedia-de:Return-to-libc attack dbpedia-fr:Return-to-libc attack dbpedia-ja:Return-to-libc attack dbpedia-ko:Return-to-libc attack dbpedia-pl:Return-to-libc attack dbpedia-pt:Return-to-libc attack dbpedia-ru:Return-to-libc attack dbpedia-uk:Return-to-libc attack dbpedia-zh:Return-to-libc attack https://global.dbpedia.org/id/MY1j
prov:wasDerivedFrom wikipedia-en:Return-to-libc_attack?oldid=1095070399&ns=0
foaf:isPrimaryTopicOf wikipedia-en:Return-to-libc_attack
is dbo:wikiPageRedirects of dbr:ASCII_armor_region dbr:Return-to-plt dbr:Ret-into-libc dbr:Ret2libc dbr:Ret2libc_attack dbr:Return-to-libc
is dbo:wikiPageWikiLink of dbr:Prelink dbr:Memory_corruption dbr:Call_stack dbr:Comparison_of_Windows_Vista_and_Windows_XP dbr:Address_space_layout_randomization dbr:Machine_code dbr:ASCII_armor_region dbr:Hacking:_The_Art_of_Exploitation dbr:Code_reuse dbr:Buffer_overflow dbr:Buffer_overflow_protection dbr:Position-independent_code dbr:IOS dbr:Memory_safety dbr:Stack_buffer_overflow dbr:Executable_space_protection dbr:Solar_Designer dbr:Return-to-plt dbr:Ret-into-libc dbr:Ret2libc dbr:Ret2libc_attack dbr:Return-to-libc
is rdfs:seeAlso of dbr:Return-oriented_programming
is foaf:primaryTopic of wikipedia-en:Return-to-libc_attack