Как Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ проста ΠΏΠΎΠΌΠΎΡ‰Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° Π·Π° Π½Π°ΠΌΠΈΡ€Π°Π½Π΅ Π½Π° уязвимости Π² програмния ΠΊΠΎΠ΄

Graudit ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° мноТСство Π΅Π·ΠΈΡ†ΠΈ Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅ ΠΈ Π²ΠΈ позволява Π΄Π° ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€Π°Ρ‚Π΅ тСстванС Π½Π° сигурността Π½Π° ΠΊΠΎΠ΄ΠΎΠ²Π°Ρ‚Π° Π±Π°Π·Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ Π² процСса Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°.

Как Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ проста ΠΏΠΎΠΌΠΎΡ‰Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° Π·Π° Π½Π°ΠΌΠΈΡ€Π°Π½Π΅ Π½Π° уязвимости Π² програмния ΠΊΠΎΠ΄
Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: Unsplash (ΠœΠ°Ρ€ΠΊΡƒΡ БпискС)

ВСстванСто Π΅ Π²Π°ΠΆΠ½Π° част ΠΎΡ‚ ТизнСния Ρ†ΠΈΠΊΡŠΠ» Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π½Π° софтуСр. Има ΠΌΠ½ΠΎΠ³ΠΎ Π²ΠΈΠ΄ΠΎΠ²Π΅ тСстовС, всСки ΠΎΡ‚ тях Ρ€Π΅ΡˆΠ°Π²Π° свой собствСн ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ. ДнСс искам Π΄Π° говоря Π·Π° Π½Π°ΠΌΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ със сигурността Π² ΠΊΠΎΠ΄Π°.

ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ Π² ΡΡŠΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΈΡ‚Π΅ рСалности Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π½Π° софтуСр Π΅ Π²Π°ΠΆΠ½ΠΎ Π΄Π° сС Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€Π° сигурността Π½Π° процСса. По Π΅Π΄Π½ΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π΄ΠΎΡ€ΠΈ бСшС въвСдСн спСциалният Ρ‚Π΅Ρ€ΠΌΠΈΠ½ DevSecOps. Π’ΠΎΠ·ΠΈ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ сС отнася Π΄ΠΎ ΠΏΠΎΡ€Π΅Π΄ΠΈΡ†Π° ΠΎΡ‚ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ΠΈ, насочСни към ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Π½Π΅ ΠΈ Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡ€Π°Π½Π΅ Π½Π° уязвимости Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Има спСциализирани Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ с ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄ Π·Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° уязвимости Π² ΡΡŠΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΈΠ΅ със стандартитС OWASP, ΠΊΠΎΠΈΡ‚ΠΎ описват Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈΡ‚Π΅ Π²ΠΈΠ΄ΠΎΠ²Π΅ ΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π½Π° уязвимости Π² изходния ΠΊΠΎΠ΄.

Има Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈ Π·Π° Ρ€Π΅ΡˆΠ°Π²Π°Π½Π΅ Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ със сигурността, ΠΊΠ°Ρ‚ΠΎ статично тСстванС Π½Π° сигурността Π½Π° прилоТСнията (SAST), Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½ΠΎ тСстванС Π½Π° сигурността Π½Π° прилоТСнията (DAST), ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ тСстванС Π½Π° сигурността Π½Π° прилоТСнията (IAST), Π°Π½Π°Π»ΠΈΠ· Π½Π° ΡΡŠΡΡ‚Π°Π²Π° Π½Π° софтуСра ΠΈ Ρ‚.Π½.

Π‘Ρ‚Π°Ρ‚ΠΈΡ‡Π½ΠΎΡ‚ΠΎ тСстванС Π½Π° сигурността Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€Π° Π³Ρ€Π΅ΡˆΠΊΠΈ във Π²Π΅Ρ‡Π΅ написан ΠΊΠΎΠ΄. Π’ΠΎΠ·ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π½Π΅ изисква ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ, ΠΏΠΎΡ€Π°Π΄ΠΈ ΠΊΠΎΠ΅Ρ‚ΠΎ сС Π½Π°Ρ€ΠΈΡ‡Π° статичСн Π°Π½Π°Π»ΠΈΠ·.

Π©Π΅ сС ΡΡŠΡΡ€Π΅Π΄ΠΎΡ‚ΠΎΡ‡Π° Π²ΡŠΡ€Ρ…Ρƒ статичСн Π°Π½Π°Π»ΠΈΠ· Π½Π° ΠΊΠΎΠ΄ ΠΈ Ρ‰Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌ прост инструмСнт с ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄, Π·Π° Π΄Π° дСмонстрирам всичко Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°.

Π—Π°Ρ‰ΠΎ ΠΈΠ·Π±Ρ€Π°Ρ… инструмСнт с ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄ Π·Π° Π°Π½Π°Π»ΠΈΠ· Π½Π° сигурността Π½Π° статичСн ΠΊΠΎΠ΄

Има няколко ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΈ Π·Π° Ρ‚ΠΎΠ²Π°: ΠΏΡŠΡ€Π²ΠΎ, Π±Π΅Π·ΠΏΠ»Π°Ρ‚Π½ΠΎ Π΅, Π·Π°Ρ‰ΠΎΡ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ инструмСнт, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π΅Π½ ΠΎΡ‚ общност ΠΎΡ‚ ΡΡŠΠΌΠΈΡˆΠ»Π΅Π½ΠΈΡ†ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ искат Π΄Π° ΠΏΠΎΠΌΠΎΠ³Π½Π°Ρ‚ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ. Ако ΠΈΠΌΠ°Ρ‚Π΅ малък Π΅ΠΊΠΈΠΏ ΠΈΠ»ΠΈ стартиранС, ΠΈΠΌΠ°Ρ‚Π΅ чудСсна Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π΄Π° спСститС ΠΏΠ°Ρ€ΠΈ, ΠΊΠ°Ρ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ софтуСр с ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄, Π·Π° Π΄Π° тСстватС сигурността Π½Π° Π²Π°ΡˆΠ°Ρ‚Π° ΠΊΠΎΠ΄ΠΎΠ²Π° Π±Π°Π·Π°. Π’Ρ‚ΠΎΡ€ΠΎ, Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡ€Π° нСобходимостта ΠΎΡ‚ Π½Π°Π΅ΠΌΠ°Π½Π΅ Π½Π° ΠΎΡ‚Π΄Π΅Π»Π΅Π½ Π΅ΠΊΠΈΠΏ DevSecOps, ΠΊΠΎΠ΅Ρ‚ΠΎ Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΎ намалява Ρ€Π°Π·Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ Π²ΠΈ.

Π”ΠΎΠ±Ρ€ΠΈΡ‚Π΅ инструмСнти с ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄ Π²ΠΈΠ½Π°Π³ΠΈ сС ΡΡŠΠ·Π΄Π°Π²Π°Ρ‚, ΠΊΠ°Ρ‚ΠΎ сС Π²Π·Π΅ΠΌΠ°Ρ‚ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ ΠΏΠΎΠ²ΠΈΡˆΠ΅Π½ΠΈΡ‚Π΅ изисквания Π·Π° Π³ΡŠΠ²ΠΊΠ°Π²ΠΎΡΡ‚. ΠŸΠΎΡ€Π°Π΄ΠΈ Ρ‚ΠΎΠ²Π° Ρ‚Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π² ΠΏΠΎΡ‡Ρ‚ΠΈ всяка срСда, ΠΏΠΎΠΊΡ€ΠΈΠ²Π°ΠΉΠΊΠΈ ΡˆΠΈΡ€ΠΎΠΊ ΡΠΏΠ΅ΠΊΡ‚ΡŠΡ€ ΠΎΡ‚ Π·Π°Π΄Π°Ρ‡ΠΈ. Π—Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-лСсно Π΄Π° ΡΠ²ΡŠΡ€ΠΆΠ°Ρ‚ Ρ‚Π°ΠΊΠΈΠ²Π° инструмСнти със систСмата, която Π²Π΅Ρ‡Π΅ са ΠΈΠ·Π³Ρ€Π°Π΄ΠΈΠ»ΠΈ, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ работят ΠΏΠΎ своитС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ.

Но ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ° ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΈ, ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΈΠΌΠ°Ρ‚Π΅ Π½ΡƒΠΆΠ΄Π° ΠΎΡ‚ функция, която Π½Π΅ Π΅ Π½Π°Π»ΠΈΡ‡Π½Π° Π² избрания ΠΎΡ‚ вас инструмСнт. Π’ Ρ‚ΠΎΠ·ΠΈ случай ΠΈΠΌΠ°Ρ‚Π΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π΄Π° Ρ€Π°Π·ΠΊΠ»ΠΎΠ½ΠΈΡ‚Π΅ нСговия ΠΊΠΎΠ΄ ΠΈ Π΄Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΈΡ‚Π΅ свой собствСн инструмСнт, Π±Π°Π·ΠΈΡ€Π°Π½ Π½Π° Π½Π΅Π³ΠΎ, с функционалността, ΠΎΡ‚ която сС Π½ΡƒΠΆΠ΄Π°Π΅Ρ‚Π΅.

Въй ΠΊΠ°Ρ‚ΠΎ Π² ΠΏΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ случаи Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° софтуСр с ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄ Π΅ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ повлияно ΠΎΡ‚ общността, Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π·Π° ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅ Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ сС Π²Π·Π΅ΠΌΠ° доста Π±ΡŠΡ€Π·ΠΎ ΠΈ Ρ‚ΠΎΡ‡Π½ΠΎ: Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° с ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄ Ρ€Π°Π·Ρ‡ΠΈΡ‚Π°Ρ‚ Π½Π° ΠΎΠ±Ρ€Π°Ρ‚Π½Π° Π²Ρ€ΡŠΠ·ΠΊΠ° ΠΈ прСдлоТСния ΠΎΡ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅, Π½Π° Ρ‚Π΅Ρ…Π½ΠΈΡ‚Π΅ Π΄ΠΎΠΊΠ»Π°Π΄ΠΈ Π·Π° ΠΎΡ‚ΠΊΡ€ΠΈΡ‚ΠΈ Π³Ρ€Π΅ΡˆΠΊΠΈ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ.

ИзползванС Π½Π° Graudit Π·Π° Π°Π½Π°Π»ΠΈΠ· Π½Π° сигурността Π½Π° ΠΊΠΎΠ΄Π°

ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ инструмСнти с ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄ Π·Π° Π°Π½Π°Π»ΠΈΠ· Π½Π° статичСн ΠΊΠΎΠ΄; няма унивСрсалСн инструмСнт Π·Π° всички Π΅Π·ΠΈΡ†ΠΈ Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ Π½Π° някои ΠΎΡ‚ тях слСдват ΠΏΡ€Π΅ΠΏΠΎΡ€ΡŠΠΊΠΈΡ‚Π΅ Π½Π° OWASP ΠΈ сС ΠΎΠΏΠΈΡ‚Π²Π°Ρ‚ Π΄Π° покрият възмоТно Π½Π°ΠΉ-ΠΌΠ½ΠΎΠ³ΠΎ Π΅Π·ΠΈΡ†ΠΈ.

Π’ΡƒΠΊ Ρ‰Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Π“Ρ€Π°ΡƒΠ΄ΠΈΡ‚, проста ΠΏΠΎΠΌΠΎΡ‰Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° Π·Π° ΠΊΠΎΠΌΠ°Π½Π΄Π΅Π½ Ρ€Π΅Π΄, която Ρ‰Π΅ Π½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ Π΄Π° ΠΎΡ‚ΠΊΡ€ΠΈΠ΅ΠΌ уязвимости Π² Π½Π°ΡˆΠ°Ρ‚Π° ΠΊΠΎΠ΄ΠΎΠ²Π° Π±Π°Π·Π°. ΠŸΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π΅Π·ΠΈΡ†ΠΈ, Π½ΠΎ всС ΠΏΠ°ΠΊ тСхният Π½Π°Π±ΠΎΡ€ Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½. Graudit Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π΅Π½ въз основа Π½Π° ΠΏΠΎΠΌΠΎΡ‰Π½Π°Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° grep, която някога Π΅ Π±ΠΈΠ»Π° пусната ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π· GNU.

Има ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ инструмСнти Π·Π° Π°Π½Π°Π»ΠΈΠ· Π½Π° статичСн ΠΊΠΎΠ΄ - Rough Auditing Tool for Security (RATS), Securitycompass Web Application Analysis Tool (SWAAT), flawfinder ΠΈ Ρ‚.Π½. Но Graudit Π΅ ΠΌΠ½ΠΎΠ³ΠΎ гъвкав ΠΈ ΠΈΠΌΠ° ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΈ тСхничСски изисквания. Π’ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΅ ΠΎΠ±Π°Ρ‡Π΅ Π΄Π° ΠΈΠΌΠ°Ρ‚Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Graudit Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Ρ€Π΅ΡˆΠΈ. Π‘Π»Π΅Π΄ Ρ‚ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΠΎΡ‚ΡŠΡ€ΡΠΈΡ‚Π΅ Π΄Ρ€ΡƒΠ³ΠΈ ΠΎΠΏΡ†ΠΈΠΈ Ρ‚ΡƒΠΊ Π² Ρ‚ΠΎΠ·ΠΈ списък.

МоТСм Π΄Π° ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€Π°ΠΌΠ΅ Ρ‚ΠΎΠ·ΠΈ инструмСнт Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π΅Π½ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈΠ»ΠΈ Π΄Π° Π³ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ Π΄ΠΎΡΡ‚ΡŠΠΏΠ΅Π½ Π·Π° ΠΈΠ·Π±Ρ€Π°Π½ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π», ΠΈΠ»ΠΈ Π΄Π° Π³ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ във всички наши ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ. Π’ΡƒΠΊ ΡΡŠΡ‰ΠΎ сС проявява Π³ΡŠΠ²ΠΊΠ°Π²ΠΎΡΡ‚Ρ‚Π° Π½Π° Graudit. Π’Π°ΠΊΠ° Ρ‡Π΅ Π½Π΅ΠΊΠ° ΠΏΡŠΡ€Π²ΠΎ ΠΊΠ»ΠΎΠ½ΠΈΡ€Π°ΠΌΠ΅ Ρ€Π΅ΠΏΠΎΡ‚ΠΎ:

$ git clone https://github.com/wireghoul/graudit

Π‘Π΅Π³Π° Π½Π΅ΠΊΠ° създадСм символична Π²Ρ€ΡŠΠ·ΠΊΠ° Π·Π° Graudit, Π·Π° Π΄Π° я ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅Π½ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚

$ cd ~/bin && mkdir graudit
$ ln --symbolic ~/graudit/graudit ~/bin/graudit

НСка Π΄ΠΎΠ±Π°Π²ΠΈΠΌ псСвдоним към .bashrc (ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΡŠΠ²Ρ‚ΠΎ ΠΈ Π΄Π° Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π΅Π½ Ρ„Π°ΠΉΠ», ΠΊΠΎΠΉΡ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅):

#------ .bashrc ------
alias graudit="~/bin/graudit"

РСстартиранС:

$ source ~/.bashrc # OR
$ exex $SHELL

НСка ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ Π΄Π°Π»ΠΈ инсталацията Π΅ ΡƒΡΠΏΠ΅ΡˆΠ½Π°:

$ graudit -h

Ако Π²ΠΈΠ΄ΠΈΡ‚Π΅ Π½Π΅Ρ‰ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ, Π·Π½Π°Ρ‡ΠΈ всичко Π΅ Π½Π°Ρ€Π΅Π΄.

Как Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ проста ΠΏΠΎΠΌΠΎΡ‰Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° Π·Π° Π½Π°ΠΌΠΈΡ€Π°Π½Π΅ Π½Π° уязвимости Π² програмния ΠΊΠΎΠ΄

Π©Π΅ тСствам Π΅Π΄ΠΈΠ½ ΠΎΡ‚ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈΡ‚Π΅ си ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ. ΠŸΡ€Π΅Π΄ΠΈ Π΄Π° стартиратС инструмСнта, Ρ‚ΠΎΠΉ трябва Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈ Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ, ΡΡŠΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²Π°Ρ‰Π° Π½Π° Π΅Π·ΠΈΠΊΠ°, Π½Π° ΠΊΠΎΠΉΡ‚ΠΎ Π΅ написан моят ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. Π‘Π°Π·ΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ сС Π½Π°ΠΌΠΈΡ€Π°Ρ‚ Π² ΠΏΠ°ΠΏΠΊΠ°Ρ‚Π° ~/gradit/signatures:

$ graudit -d ~/gradit/signatures/js.db

И Ρ‚Π°ΠΊΠ°, тСствах Π΄Π²Π° js Ρ„Π°ΠΉΠ»Π° ΠΎΡ‚ моя ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈ Graudit ΠΏΠΎΠΊΠ°Π·Π° информация Π·Π° уязвимоститС Π² моя ΠΊΠΎΠ΄ Π½Π° ΠΊΠΎΠ½Π·ΠΎΠ»Π°Ρ‚Π°:

Как Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ проста ΠΏΠΎΠΌΠΎΡ‰Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° Π·Π° Π½Π°ΠΌΠΈΡ€Π°Π½Π΅ Π½Π° уязвимости Π² програмния ΠΊΠΎΠ΄

Как Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ проста ΠΏΠΎΠΌΠΎΡ‰Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° Π·Π° Π½Π°ΠΌΠΈΡ€Π°Π½Π΅ Π½Π° уязвимости Π² програмния ΠΊΠΎΠ΄

ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΎΠΏΠΈΡ‚Π°Ρ‚Π΅ Π΄Π° тСстватС Π²Π°ΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ ΠΏΠΎ ΡΡŠΡ‰ΠΈΡ Π½Π°Ρ‡ΠΈΠ½. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅ списък с Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ Π·Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π΅Π·ΠΈΡ†ΠΈ Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅ Ρ‚ΡƒΠΊ.

ΠŸΡ€Π΅Π΄ΠΈΠΌΡΡ‚Π²Π° ΠΈ Π½Π΅Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ†ΠΈ Π½Π° Graudit

Graudit ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° ΠΌΠ½ΠΎΠ³ΠΎ Π΅Π·ΠΈΡ†ΠΈ Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅. ΠŸΠΎΡ€Π°Π΄ΠΈ Ρ‚ΠΎΠ²Π° Π΅ подходящ Π·Π° ΡˆΠΈΡ€ΠΎΠΊ ΠΊΡ€ΡŠΠ³ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ. Π’ΠΎΠΉ ΠΌΠΎΠΆΠ΅ Π°Π΄Π΅ΠΊΠ²Π°Ρ‚Π½ΠΎ Π΄Π° сС ΠΊΠΎΠ½ΠΊΡƒΡ€ΠΈΡ€Π° с всякакви Π±Π΅Π·ΠΏΠ»Π°Ρ‚Π½ΠΈ ΠΈΠ»ΠΈ ΠΏΠ»Π°Ρ‚Π΅Π½ΠΈ Π°Π½Π°Π»ΠΎΠ·ΠΈ. И Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π²Π°ΠΆΠ½ΠΎ, Ρ‡Π΅ всС ΠΎΡ‰Π΅ сС правят подобрСния Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ общността Π½Π΅ само ΠΏΠΎΠΌΠ°Π³Π° Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅, Π½ΠΎ ΠΈ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ сС ΠΎΠΏΠΈΡ‚Π²Π°Ρ‚ Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π°Ρ‚ инструмСнта.

Π’ΠΎΠ²Π° Π΅ ΡƒΠ΄ΠΎΠ±Π΅Π½ инструмСнт, Π½ΠΎ засСга Π½Π΅ Π²ΠΈΠ½Π°Π³ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈ Ρ‚ΠΎΡ‡Π½ΠΎ какъв Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ с ΠΏΠΎΠ΄ΠΎΠ·Ρ€ΠΈΡ‚Π΅Π»Π΅Π½ ΠΊΠΎΠ΄. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ°Π²Π°Ρ‚ Π΄Π° подобряват Graudit.

Но във всСки случай Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π΄Π° ΠΎΠ±ΡŠΡ€Π½Π΅Ρ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ със сигурността Π² ΠΊΠΎΠ΄Π°, ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ инструмСнти ΠΊΠ°Ρ‚ΠΎ Ρ‚ΠΎΠ·ΠΈ.

ЗапочнСтС…

Π’ Ρ‚Π°Π·ΠΈ статия Ρ€Π°Π·Π³Π»Π΅Π΄Π°Ρ… само Π΅Π΄ΠΈΠ½ ΠΎΡ‚ ΠΌΠ½ΠΎΠ³ΠΎΡ‚ΠΎ Π½Π°Ρ‡ΠΈΠ½ΠΈ Π·Π° Π½Π°ΠΌΠΈΡ€Π°Π½Π΅ Π½Π° уязвимости – статично тСстванС Π½Π° сигурността Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ. ΠŸΡ€ΠΎΠ²Π΅ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π°Π½Π°Π»ΠΈΠ· Π½Π° статичСн ΠΊΠΎΠ΄ Π΅ лСсно, Π½ΠΎ Ρ‚ΠΎΠ²Π° Π΅ само Π½Π°Ρ‡Π°Π»ΠΎΡ‚ΠΎ. Π—Π° Π΄Π° Π½Π°ΡƒΡ‡ΠΈΡ‚Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅ Π·Π° сигурността Π½Π° Π²Π°ΡˆΠ°Ρ‚Π° ΠΊΠΎΠ΄ΠΎΠ²Π° Π±Π°Π·Π°, трябва Π΄Π° ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€Π°Ρ‚Π΅ Π΄Ρ€ΡƒΠ³ΠΈ Π²ΠΈΠ΄ΠΎΠ²Π΅ тСстванС Π² ТизнСния Ρ†ΠΈΠΊΡŠΠ» Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° софтуСр.

ΠžΡ‚Π½ΠΎΡΠ½ΠΎ ΠΏΡ€Π°Π²Π°Ρ‚Π° Π½Π° Ρ€Π΅ΠΊΠ»Π°ΠΌΠ°Ρ‚Π°

НадСТдСн VPS ΠΈ правилният ΠΈΠ·Π±ΠΎΡ€ Π½Π° Ρ‚Π°Ρ€ΠΈΡ„Π΅Π½ ΠΏΠ»Π°Π½ Ρ‰Π΅ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ Π΄Π° Π±ΡŠΠ΄Π΅Ρ‚Π΅ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ разсСяни ΠΎΡ‚ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅Ρ‚ΠΎ ΠΎΡ‚ нСприятни ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ - всичко Ρ‰Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ Π±Π΅Π· ΠΏΠΎΠ²Ρ€Π΅Π΄ΠΈ ΠΈ с ΠΌΠ½ΠΎΠ³ΠΎ голямо Π²Ρ€Π΅ΠΌΠ΅ Π·Π° Ρ€Π°Π±ΠΎΡ‚Π°!

Как Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ проста ΠΏΠΎΠΌΠΎΡ‰Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° Π·Π° Π½Π°ΠΌΠΈΡ€Π°Π½Π΅ Π½Π° уязвимости Π² програмния ΠΊΠΎΠ΄

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: www.habr.com

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€