Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Π—Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ Ρ…Π°ΠΊΠ΅Ρ€ΠΎΠ² ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… сСтСй». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 29

Автор ΠšΠΎΠ»Π»Π΅ΠΊΡ‚ΠΈΠ² Π°Π²Ρ‚ΠΎΡ€ΠΎΠ²

/* problems such as buffer overflows. */

#include <stdio.h>

int main()

{

get_input();

return (0);

}

void get_input(void)

{

char c[8];

printf(β€œEnter a string greater than seven bytes: ”);

gets(c);

return;

}

Π’ исходном тСкстС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ gets. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ выполнСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ gets Π΄Π°Π½Π½Ρ‹Π΅ Π²Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΡ‚ΠΎΠΊΠ° ΠΏΠ΅Ρ€Π΅ΡΡ‹Π»Π°ΡŽΡ‚ΡΡ Π² Π²ΠΎΡΡŒΠΌΠΈΠ±Π°ΠΉΡ‚ΠΎΠ²Ρ‹ΠΉ массив символов c. Но ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ эта функция Π½Π΅ выполняСт Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ Π½Π° Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚ΠΎ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ пСрСполнСния Π±ΡƒΡ„Π΅Ρ€Π°.

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ с ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ пСрСполнСния Π±ΡƒΡ„Π΅Ρ€Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ Π² Π³Π»Π°Π²Π΅ 8.

Ошибки ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…

ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Ρ… ошибок программирования кроСтся Π² нСдостаточной ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ΅ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΡΠ²ΠΈΡ‚ΡŒΡΡ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ Π΅ΠΉ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠ°ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, это происходит с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ Web CGI.

Ошибки ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΌΠΎΠ³ΡƒΡ‚ привСсти ΠΊ уязвимостям Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉ строки. Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉ строки проявляСтся ΠΏΡ€ΠΈ использовании Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Ρ‚Π°ΠΊΠΈΡ… спСцификаций прСобразования, ΠΊΠ°ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, %i%i%i%i ΠΈΠ»ΠΈ %n%n%n%, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΠΎΠΌΡƒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρƒ. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ строки рассмотрСны Π² Π³Π»Π°Π²Π΅ 9.

Но ΠΏΠ΅Ρ€Π΅Π΄ этим ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с уязвимой Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉ строкой. ΠŸΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ:

/* fmtstr.c */

/* Hal Flynn < [email protected]> */

/* December 31, 2001 */

/* fmtstr.c demonstrates a format */

/* string vulnerability. By supplying */

/* format specifiers as arguments, */

/* attackers may read or write to */

/* memory. */

#include <stdio.h>

int main(int argc, char *argv[])

{

printf(*++argv);

return (0);

}

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ запуска ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΅ΠΉ Π½Π° Π²Ρ…ΠΎΠ΄ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉ строки со спСцификациСй прСобразования %n ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ смоТСт Ρ€Π°ΡΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ содСрТимоС ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹Ρ… областСй памяти. ΠŸΡ€ΠΈ распСчаткС ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ области памяти ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ с привилСгиями ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ root.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ Web-интСрфСйса, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ CGI-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ, Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ часто ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½Ρ‹ΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌ. НСрСдко нСдостаточно ΠΊΠ²Π°Π»ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎ написанныС CGI-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (особСнно это касаСтся ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, написанных Π½Π° языкС Perl) ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Π΅ Π² ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ символы, Ρ‡Ρ‚ΠΎ Π΄Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ систСмы с привилСгиями Web-ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях это ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹ΠΌ послСдствиям. НапримСр, ΠΊ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΡŽ Ρ„Π°ΠΉΠ»Π° index.html, Ссли HTTP-процСсс являСтся Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π΅ΠΌ этого Ρ„Π°ΠΉΠ»Π° ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΡ€Π°Π²ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² Π½Π΅Π³ΠΎ Π΄Π°Π½Π½Ρ‹Π΅. Или ΠΊ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»Π΅Π½ΠΈΡŽ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ локального доступа ΠΊ систСмС с Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΠΌΠΈ HTTP-процСсса, Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ свяТСт ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΡƒ shell c ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΌ ΠΏΠΎΡ€Ρ‚ΠΎΠΌ систСмы.

К сходным ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти прСдоставлСнная ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ SQL-ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ CGI-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для облСгчСния взаимодСйствия ΠΌΠ΅ΠΆΠ΄Ρƒ внСшним Web-интСрфСйсом ΠΈ сСрвСрной Ρ‡Π°ΡΡ‚ΡŒΡŽ систСмы управлСния Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… SQL, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Oracle, MySQL ΠΈΠ»ΠΈ Microsoft SQL Server. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ SQL-ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, смоТСт ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π΄Π°ΠΆΠ΅ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ ΠΈΡ….

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Π½Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π²Ρ‹Π·ΠΎΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ open:

#!/usr/bin/perl open(β€œls $ARGV[0] |”);

Π­Ρ‚Π° функция Π½Π΅ провСряСт Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π² $argv [0]. Π”ΠΎΠ±Π°Π²ΠΈΠ² ΠΊ Π²Ρ…ΠΎΠ΄Π½Ρ‹ΠΌ Π΄Π°Π½Π½Ρ‹ΠΌ символы Ρ‚ΠΎΡ‡Π΅ΠΊ (..), становится Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ ΡΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ ΠΈ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ ваТная информация. Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ обсуТдСниС ошибок ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΎ Π² Π³Π»Π°Π²Π΅ 7. БопСрничСство ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π·Π° рСсурсы

ΠŸΡ€ΠΈ сопСрничСствС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π·Π° рСсурсы часто встрСчаСтся программная ошибка, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ²ΡˆΠ°Ρ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ «состояниС Π³ΠΎΠ½ΠΎΠΊΒ» (Race Conditions). ΠŸΡ€ΠΎΡΠ²Π»ΡΠ΅Ρ‚ΡΡ состояниС Π³ΠΎΠ½ΠΎΠΊ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π² Π²ΠΈΠ΄Π΅ блокирования ΠΎΠ΄Π½ΠΈΠΌ процСссом раздСляСмой области памяти, Π½Π΅ позволяя Ρ‚Π΅ΠΌ самым Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ процСссу ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π² Π½Π΅ΠΉ Π΄Π°Π½Π½Ρ‹Π΅, ΠΈΠ»ΠΈ Π² Π²ΠΈΠ΄Π΅ ошибок ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… процСссов с ΠΎΠ΄Π½ΠΈΠΌ ΠΈ Ρ‚Π΅ΠΌ ΠΆΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠΌ.

Π˜Π·ΡƒΡ‡ΠΈΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ использования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ mktemp, которая часто являСтся источником ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… ошибок:

/* mtmprace.c */

/* Hal Flynn < [email protected]> */

/* mtmprace.c creates a file in the */

/* temporary directory that can be */

/* easily guessed, and exploited */

/* through a symbolic link attack. */

#include <stdio.h>

#include <stdlib.h>

int main()

{

char *example;

char *outfile;

char ex[] = β€œ/tmp/exampleXXXXXX”;

example = ex;

mktemp(example);

outfile = fopen(example, β€œw”);

return (0);

}

Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах эта ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° создаСт Ρ„Π°ΠΉΠ» Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ с ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ, состоящим ΠΈΠ· строки символов, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ входят слово example, ΠΏΡΡ‚ΡŒ символов ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° процСсса ΠΈ ΠΎΠ΄Π½Π° Π±ΡƒΠΊΠ²Π° латинского Π°Π»Ρ„Π°Π²ΠΈΡ‚Π°. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ нСдостаток рассматриваСмой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ сущСствования Ρ„Π°ΠΉΠ»Π° ΠΈ Π΅Π³ΠΎ созданиСм ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ошибка «состояниС Π³ΠΎΠ½ΠΎΠΊΒ» (Race Conditions), обусловлСнная сопСрничСством ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π·Π° рСсурсы. Π’Ρ‚ΠΎΡ€ΠΎΠΉ – Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ имя Ρ„Π°ΠΉΠ»Π° ΠΌΠΎΠΆΠ½ΠΎ ΡΡ€Π°Π²Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΏΡ€Π΅Π΄ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ процСсса ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, Π° послСдний символ – это ΠΎΠ΄Π½Π° ΠΈΠ· 26 Π±ΡƒΠΊΠ² английского Π°Π»Ρ„Π°Π²ΠΈΡ‚Π°. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° ΡƒΡΠΏΠ΅ΡˆΠ½Π°Ρ для Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊΠ° Π°Ρ‚Π°ΠΊΠ° символичСских связСй. Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, позволяСт Π»ΠΈ опСрационная систСма Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌΠΈ уязвимостями, достаточно ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹, созданныС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ /tmp. ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Ρ‚Π°ΠΊΠΎΠΉ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹, ΠΊΠ°ΠΊ grep, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ большиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π² Π½ΠΈΡ… извСстных ошибок. ΠžΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Π»ΠΈ это, Ρ‡Ρ‚ΠΎ Π±ΡƒΠ΄ΡƒΡ‚ выявлСны всС уязвимости? К соТалСнию, Π½Π΅Ρ‚, Π½ΠΎ это ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π½Π°ΠΉΡ‚ΠΈ ΠΈ ΡƒΡΡ‚Ρ€Π°Π½ΠΈΡ‚ΡŒ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ часто Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‰ΠΈΡ…ΡΡ ошибок. ЕдинствСнно Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΉ способ обСспСчСния бСзопасности ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния – построчный Π°ΡƒΠ΄ΠΈΡ‚ многочислСнными нСзависимыми экспСртами. И Π΄Π°ΠΆΠ΅ послС этого ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ бСзопасности ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ†Π΅Π½Π΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠ°ΠΊ достаточно высокий, Π±Π΅Π· Π³Π°Ρ€Π°Π½Ρ‚ΠΈΠΉ ΠΏΠΎΠ»Π½ΠΎΠΉ бСзопасности.

Π’Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Ρ€Π΅ΠΈΠ½ΠΆΠΈΠ½ΠΈΡ€ΠΈΠ½Π³Π°

Π’Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Ρ€Π΅ΠΈΠ½ΠΆΠΈΠ½ΠΈΡ€ΠΈΠ½Π³Π° Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ с большой Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ уязвимости Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ с нСдоступными исходными тСкстами. Для Ρ€Π΅ΠΈΠ½ΠΆΠΈΠ½ΠΈΡ€ΠΈΠ½Π³Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ сущСствуСт Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΉ инструмСнтарий, Π²Ρ‹Π±ΠΎΡ€ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ опрСдСляСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмой ΠΈ прСдпочтСниями исслСдоватСля. Но нСзависимо ΠΎΡ‚ этого Ρ‡Π°Ρ‰Π΅ всСго ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΠΎΠ΄Π½ΠΈ ΠΈ Ρ‚Π΅ ΠΆΠ΅ способы Ρ€Π΅ΠΈΠ½ΠΆΠΈΠ½ΠΈΡ€ΠΈΠ½Π³Π°.

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ цСлСсообразна ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ «свСрху Π²Π½ΠΈΠ·Β», ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‰Π°Ρ сначала рассмотрСниС ΠΎΠ±Ρ‰ΠΈΡ… случаСв, Π° Π·Π°Ρ‚Π΅ΠΌ, ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ нСобходимости, ΠΈΡ… Π΄Π΅Ρ‚Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ. Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ срСдств ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы для опрСдСлСния Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ рСсурсов, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ обращаСтся исслСдуСмая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°. (Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΈΠ· этого ΠΏΡ€Π°Π²ΠΈΠ»Π° ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ сСтСвыС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ΠŸΡ€ΠΈ исслСдовании сСтСвых ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Ρ‡Π°Ρ‰Π΅ всСго трСбуСтся ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ Π°Π½Π°Π»ΠΈΠ·Ρƒ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Ρ… ΠΏΠΎ сСти ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ².)

Π’ составС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм Windows ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ инструмСнтарий Π½Π΅ поставляСтся, поэтому ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ срСдства Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ. Π”ΠΎ настоящСго Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π³Π»Π°Π²Π½Ρ‹ΠΌ ΠΈΡ… источником для Windows Π±Ρ‹Π» сайт SysInternals ΠΏΠΎ адрСсу www.sysinternals.com Π² Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅. ОсобСнно интСрСсны ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ FileMon, RegMon, Π° Π² случаС NT – HandleEx. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎ Π½ΠΈΡ… Π±ΡƒΠ΄Π΅Ρ‚ рассказано Π² Π³Π»Π°Π²Π΅ 5. ВсС, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π½Π°Ρ‚ΡŒ ΠΎΠ± этих срСдствах сСйчас, β€“ это Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΡƒΡŽΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ (ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹), ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊ ΠΊΠ°ΠΊΠΈΠΌ Ρ„Π°ΠΉΠ»Π°ΠΌ обращаСтся контролируСмая исслСдоватСлСм ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ Π»ΠΈ ΠΎΠ½Π° ΠΈΡ… ΠΈΠ»ΠΈ ΠΏΠΈΡˆΠ΅Ρ‚ Π² Π½ΠΈΡ… ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈ ΠΊΡƒΠ΄Π° ΠΈΠΌΠ΅Π½Π½ΠΎ, ΠΊΠ°ΠΊΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΎΠ½Π° ΠΈΡ‰Π΅Ρ‚. ΠŸΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ FileMon. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° RegMon позволяСт ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎ ΠΆΠ΅ самоС ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊ рССстру Windows NT: ΠΊ ΠΊΠ°ΠΊΠΈΠΌ ΠΊΠ»ΡŽΡ‡Π°ΠΌ рССстра ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° обращаСтся, ΠΊΠ°ΠΊΠΈΠ΅ ΠΊΠ»ΡŽΡ‡ΠΈ Ρ‡ΠΈΡ‚Π°Π΅Ρ‚, обновляСт, ΠΈΡ‰Π΅Ρ‚ ΠΈ Ρ‚. Π΄. HandleEx Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ Ρ‚Π΅ ΠΆΠ΅ самыС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π½ΠΎ нСсколько Π΄Ρ€ΡƒΠ³ΠΈΠΌ способом. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Π΅Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ упорядочСны ΠΏΠΎ процСссам, дСскрипторам Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ Ρ‚Π΅ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ дСскрипторы Ρ„Π°ΠΉΠ»ΠΎΠ².

Π’ качСствС Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ услуги доступны свободно распространяСмыС вСрсии ΠΏΠΎΡ‡Ρ‚ΠΈ всСх ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… срСдств SysInternals, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΈΠ· Π½ΠΈΡ… с исходными тСкстами ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. (Помимо сайта SysInternals, Π½Π° родствСнном сайтС Winternals.com ΠΏΡ€ΠΎΠ΄Π°ΡŽΡ‚ΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹Π΅ коммСрчСскиС ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ срСдства с нСсколько большими возмоТностями.) Для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ UNIX Π² этом Π½Π΅Ρ‚ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ, Π½ΠΎ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Windows это приятная Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΠΎΡΡ‚ΡŒ.

Π’ состав Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° дистрибутивов UNIX Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ срСдства, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚ΡŒ Π°Π½Π°Π»ΠΈΠ· VB-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. Π’ спискС Rosetta Stone пСрСчислСно ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ трассировки. Бписок ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ ΠΏΠΎ адрСсу http://bhami.com/rosetta.html Π² Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅. Π›ΡŽΠ±Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° трассировки Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, поэтому ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ количСства ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ трассировки ΠΌΠΎΠ³ΡƒΡ‚ ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ trace, strace, ktrace ΠΈ truss, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° strace, выполняСмая Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС Red Hat Linux, вСрсия 6.2. Π£Ρ‚ΠΈΠ»ΠΈΡ‚Π° (ΠΊΠ°ΠΊ ΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Ρ€Π°Π½Π΅Π΅ упомянутых ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ трассировки) позволяСт ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ систСмныС обращСния (обращСния ΠΊ ядру ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы) ΠΈ ΠΈΡ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, Ρ‡Ρ‚ΠΎ позволяСт ΠΌΠ½ΠΎΠ³ΠΎΠ΅ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.