Π‘Π»Π΅Π΄ ΡΡΠΈ Π³ΠΎΠ΄ΠΈΠ½ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π±Π΅ΡΠ΅ ΠΏΡΡΠ½Π°ΡΠ° ΠΏΠΎΠΌΠΎΡΠ½Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° GNU cflow 1.7, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° Π²ΠΈΠ·ΡΠ°Π»Π½Π° Π³ΡΠ°ΡΠΈΠΊΠ° Π½Π° ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½ΠΈΡ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ Π² C ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ, ΠΊΠΎΡΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΎΠΏΡΠΎΡΡΡΠ²Π°Π½Π΅ Π½Π° ΠΈΠ·ΡΡΠ°Π²Π°Π½Π΅ΡΠΎ Π½Π° Π»ΠΎΠ³ΠΈΠΊΠ°ΡΠ° Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ. ΠΡΠ°ΡΠΈΠΊΠ°ΡΠ° ΡΠ΅ ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π° ΡΠ°ΠΌΠΎ Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° Π°Π½Π°Π»ΠΈΠ· Π½Π° ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈΡΠ΅ ΡΠ΅ΠΊΡΡΠΎΠ²Π΅, Π±Π΅Π· Π΄Π° Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ°. ΠΠΎΠ΄Π΄ΡΡΠΆΠ° ΡΠ΅ Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½Π΅ ΠΊΠ°ΠΊΡΠΎ Π½Π° Π³ΡΠ°ΡΠΈΠΊΠΈ Π½Π° ΠΏΠΎΡΠΎΠΊΠ° Π½Π°ΠΏΡΠ΅Π΄, ΡΠ°ΠΊΠ° ΠΈ Π½Π° ΠΎΠ±ΡΠ°ΡΠ½ΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΏΠΈΡΡΡΠΈ Ρ ΠΊΡΡΡΡΠΎΡΠ°Π½ΠΈ ΠΏΡΠ΅ΠΏΡΠ°ΡΠΊΠΈ Π·Π° ΠΊΠΎΠ΄ΠΎΠ²ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅.
ΠΠ·Π΄Π°Π½ΠΈΠ΅ΡΠΎ ΡΠ΅ ΠΎΡΠ»ΠΈΡΠ°Π²Π° Ρ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈΡ ΡΠΎΡΠΌΠ°Ρ βΡΠΎΡΠΊΠ°β (ββformat=dotβ) Π·Π° Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠ° Π½Π° Π΅Π·ΠΈΠΊΠ° DOT Π·Π° ΠΏΠΎΡΠ»Π΅Π΄Π²Π°ΡΠ° Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π² ΠΏΠ°ΠΊΠ΅ΡΠ° Graphviz. ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π½Π°ΡΠ°Π»Π½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΡΠ΅Π· Π΄ΡΠ±Π»ΠΈΡΠ°Π½Π΅ Π½Π° ΠΎΠΏΡΠΈΠΈΡΠ΅ ββmainβ; Π·Π° Π²ΡΡΠΊΠ° ΠΎΡ ΡΠ΅Π·ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ΅ Π±ΡΠ΄Π΅ Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½Π° ΠΎΡΠ΄Π΅Π»Π½Π° Π³ΡΠ°ΡΠΈΠΊΠ°. Π‘ΡΡΠΎ ΡΠ°ΠΊΠ° Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΎΠΏΡΠΈΡΡΠ° β--target=FUNCTIONβ, ΠΊΠΎΡΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΠ΅ ΠΏΠΎΠ»ΡΡΠ΅Π½Π°ΡΠ° Π³ΡΠ°ΡΠΈΠΊΠ° ΡΠ°ΠΌΠΎ Π΄ΠΎ ΠΊΠ»ΠΎΠ½Π°, ΠΊΠΎΠΉΡΠΎ Π²ΠΊΠ»ΡΡΠ²Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ (ΠΎΠΏΡΠΈΡΡΠ° β--targetβ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ Π·Π°Π΄Π°Π΄Π΅Π½Π° Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΏΡΡΠΈ). ΠΠΎΠ²ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π·Π° Π½Π°Π²ΠΈΠ³Π°ΡΠΈΡ Π½Π° Π³ΡΠ°ΡΠΈΠΊΠΈ ΡΠ° Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΠΊΡΠΌ cflow-mode: βcβ - ΠΎΡΠΈΠ΄Π΅ΡΠ΅ Π½Π° ΠΈΠ·Π²ΠΈΠΊΠ²Π°ΡΠ°ΡΠ° ΡΡΠ½ΠΊΡΠΈΡ, βnβ - ΠΎΡΠΈΠ΄Π΅ΡΠ΅ Π½Π° ΡΠ»Π΅Π΄Π²Π°ΡΠ°ΡΠ° ΡΡΠ½ΠΊΡΠΈΡ Π½Π° Π΄Π°Π΄Π΅Π½ΠΎ Π½ΠΈΠ²ΠΎ Π½Π° Π²Π»Π°Π³Π°Π½Π΅ ΠΈ βpβ - ΠΎΡΠΈΠ΄Π΅ΡΠ΅ Π½Π° ΠΏΡΠ΅Π΄ΠΈΡΠ½Π°ΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΡΡΡ ΡΡΡΠΎΡΠΎ Π½ΠΈΠ²ΠΎ Π½Π° Π³Π½Π΅Π·Π΄Π΅Π½Π΅.
ΠΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ ΡΡΡΠΎ Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡΠ° Π΄Π²Π΅ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ, ΠΊΠΎΠΈΡΠΎ Π±ΡΡ
Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°Π½ΠΈ ΠΏΡΠ΅Π· 2019 Π³. ΠΈ Π²ΠΎΠ΄ΡΡ Π΄ΠΎ ΠΏΠΎΠ²ΡΠ΅Π΄Π° Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΎ ΡΠΎΡΠΌΠ°ΡΠΈΡΠ°Π½ΠΈ ΠΈΠ·Ρ
ΠΎΠ΄Π½ΠΈ ΡΠ΅ΠΊΡΡΠΎΠ²Π΅ Π² cflow. ΠΡΡΠ²Π°ΡΠ° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡ (CVE-2019-16165) Π΅ ΠΏΡΠΈΡΠΈΠ½Π΅Π½Π° ΠΎΡ Π΄ΠΎΡΡΡΠΏ ΡΠ»Π΅Π΄ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π²Π°Π½Π΅ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π² ΠΊΠΎΠ΄Π° Π½Π° Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡΠ° (ΡΠ΅ΡΠ΅ΡΠ΅Π½ΡΠ½Π° ΡΡΠ½ΠΊΡΠΈΡ Π² parser.c). ΠΡΠΎΡΠ°ΡΠ° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡ (CVE-2019-16166) Π΅ ΡΠ²ΡΡΠ·Π°Π½Π° Ρ ΠΏΡΠ΅ΠΏΡΠ»Π²Π°Π½Π΅ Π½Π° Π±ΡΡΠ΅ΡΠ° Π²ΡΠ² ΡΡΠ½ΠΊΡΠΈΡΡΠ° nexttoken(). Π‘ΠΏΠΎΡΠ΅Π΄ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ ΡΠ΅Π·ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Π½Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ²Π°Ρ Π·Π°ΠΏΠ»Π°Ρ
Π° Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ°, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΡΠ΅ ΡΠ° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈ Π΄ΠΎ Π½Π΅ΠΎΠ±ΠΈΡΠ°ΠΉΠ½ΠΎ ΠΏΡΠ΅ΠΊΡΠ°ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΠΎΠΌΠΎΡΠ½Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru