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

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«19 смСртных Π³Ρ€Π΅Ρ…ΠΎΠ², ΡƒΠ³Ρ€ΠΎΠΆΠ°ΡŽΡ‰ΠΈΡ… бСзопасности ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 61

Автор Дэвид Π›Π΅Π±Π»Π°Π½ΠΊ

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π’. Π‘Π²ΠΎΠ΄ΠΊΠ° Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΉ

Π’ этом ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ свСдСны наши совСты ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ слСдуСт Π΄Π΅Π»Π°Ρ‚ΡŒ, Ρ‡Π΅Π³ΠΎ Π½Π΅ слСдуСт, Π° ΠΎ Ρ‡Π΅ΠΌ стоит ΠΏΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ. ΠœΡ‹ Ρ€Π΅ΡˆΠΈΠ»ΠΈ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π΅Π³ΠΎ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ Π²ΠΎ врСмя написания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ хочСтся Π½Π΅ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ всю ΠΊΠ½ΠΈΠ³Ρƒ, Π° просто Π²ΡΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½Π°Π΄ΠΎ ΠΈ Ρ‡Π΅Π³ΠΎ Π½Π΅ Π½Π°Π΄ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ.

Π“Ρ€Π΅Ρ… 1.

ΠŸΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π±ΡƒΡ„Π΅Ρ€Π°

РСкомСндуСтся

β–‘ Π’Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ провСряйтС любой доступ ΠΊ Π±ΡƒΡ„Π΅Ρ€Ρƒ Π·Π° счСт использования бСзопасных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со строками ΠΈ областями памяти.

β–‘ ΠŸΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ встраиваСмыми Π² компилятор срСдствами Π·Π°Ρ‰ΠΈΡ‚Ρ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ„Π»Π°Π³ΠΎΠΌ /GS ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ ProPolice.

β–‘ ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠΉΡ‚Π΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΎΡ‚ пСрСполнСния Π±ΡƒΡ„Π΅Ρ€Π° Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ DEP ΠΈ Π Π°Π₯.

β–‘ УяснитС, ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΈΠΊ, ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΠΉΡ‚Π΅ ΠΈΡ… бСзопасным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

НС рСкомСндуСтся

β–‘ НС Π΄ΡƒΠΌΠ°ΠΉΡ‚Π΅, Ρ‡Ρ‚ΠΎ компилятор ΠΈ ОБ всС ΡΠ΄Π΅Π»Π°ΡŽΡ‚ Π·Π° вас, это всСго лишь Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ срСдства Π·Π°Ρ‰ΠΈΡ‚Ρ‹.

β–‘ НС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ нСбСзопасныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² Π½ΠΎΠ²Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ….

Π‘Ρ‚ΠΎΠΈΡ‚ ΠΏΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ

β–‘ Об установкС послСднСй вСрсии компилятора C/C++, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Π² Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΊΠΎΠ΄ Π½ΠΎΠ²Ρ‹Π΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ Π·Π°Ρ‰ΠΈΡ‚Ρ‹.

β–‘ О постСпСнном ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ нСбСзопасных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈΠ· старых ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

β–‘ Об использовании строк ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π½Ρ‹Ρ… классов ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π‘++ вмСсто примСнСния Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π‘ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со строками.

Π“Ρ€Π΅Ρ… 2.

Ошибки, связанныС с Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π½ΠΎΠΉ строкой

РСкомСндуСтся

β–‘ ΠŸΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ фиксированными Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π½Ρ‹ΠΌΠΈ строками ΠΈΠ»ΠΈ считываСмыми ΠΈΠ· Π·Π°ΡΠ»ΡƒΠΆΠΈΠ²Π°ΡŽΡ‰Π΅Π³ΠΎ довСрия источника.

β–‘ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠΉΡ‚Π΅ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΡΡ‚ΡŒ всСх запросов ΠΊ Π»ΠΎΠΊΠ°Π»ΠΈ.

НС рСкомСндуСтся

β–‘ НС ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΡΡ‚ΡƒΠΏΠ°ΡŽΡ‰ΠΈΠ΅ ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π½Ρ‹Π΅ строки Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ функциям форматирования.

Π‘Ρ‚ΠΎΠΈΡ‚ ΠΏΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ

β–‘ О Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ языки высокого уровня, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² мСньшСй стСпСни уязвимы ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ этой ошибки.

Π“Ρ€Π΅Ρ… 3.

ΠŸΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ†Π΅Π»Ρ‹Ρ… чисСл

РСкомСндуСтся

β–‘ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠΉΡ‚Π΅ Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ пСрСполнСния всС арифмСтичСскиС вычислСния, Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… опрСдСляСтся Ρ€Π°Π·ΠΌΠ΅Ρ€ выдСляСмой памяти.

β–‘ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠΉΡ‚Π΅ Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ пСрСполнСния всС арифмСтичСскиС вычислСния, Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ индСксы массивов.

β–‘ ΠŸΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ Ρ†Π΅Π»Ρ‹ΠΌΠΈ Π±Π΅Π· Π·Π½Π°ΠΊΠ° для хранСния смСщСний ΠΎΡ‚ Π½Π°Ρ‡Π°Π»Π° массива ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² Π±Π»ΠΎΠΊΠΎΠ² выдСляСмой памяти.

НС рСкомСндуСтся

β–‘ НС Π΄ΡƒΠΌΠ°ΠΉΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π½ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… языках, ΠΊΡ€ΠΎΠΌΠ΅ C/C++, ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ†Π΅Π»ΠΎΠ³ΠΎ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.

Π“Ρ€Π΅Ρ… 4.

Π’Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ SQL–команд

РСкомСндуСтся

β–‘ Π˜Π·ΡƒΡ‡ΠΈΡ‚Π΅ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Π»ΠΈ Π² Π½Π΅ΠΉ Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹? Как выглядит ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ? ΠœΠΎΠΆΠ΅Ρ‚ Π»ΠΈ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΈΠΊ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ?

β–‘ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠΉΡ‚Π΅ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΡΡ‚ΡŒ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ устанавливайтС ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ довСрия ΠΊ Π½ΠΈΠΌ.

β–‘ Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ запросы (Ρ‚Π°ΠΊΠΆΠ΅ распространСны Ρ‚Π΅Ρ€ΠΌΠΈΠ½Ρ‹ Β«ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½ΠΎΠ΅ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅Β» ΠΈ «связываниС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²Β») для построСния SQL–прСдлоТСний.

β–‘ Π₯Ρ€Π°Π½ΠΈΡ‚Π΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°Ρ… соСдинСния Π²Π½Π΅ прилоТСния, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π² Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½ΠΎΠΌ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ ΠΈΠ»ΠΈ Π² рССстрС Windows.

НС рСкомСндуСтся

β–‘ НС ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΠΉΡ‚Π΅ΡΡŒ простой Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠ΅ΠΉ Β«ΠΏΠ»ΠΎΡ…ΠΈΡ… слов». БущСствуСт мноТСство Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² написания, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ Π½Π΅ Π² состоянии ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ΡŒ.

β–‘ НС довСряйтС Π²Ρ…ΠΎΠ΄Π½Ρ‹ΠΌ Π΄Π°Π½Π½Ρ‹ΠΌ ΠΏΡ€ΠΈ построСнии SQL–прСдлоТСния.

β–‘ НС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΡŽ строк для построСния SQL–прСдлоТСния Π΄Π°ΠΆΠ΅ ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹Ρ… ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€. Π₯Ρ€Π°Π½ΠΈΠΌΡ‹Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΏΠΎΠ»Π΅Π·Π½Ρ‹, Π½ΠΎ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΠ½ΠΈ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚.

β–‘ НС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΡŽ строк для построСния SQL–прСдлоТСния Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹Ρ… ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€.

β–‘ НС ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°ΠΉΡ‚Π΅ Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹ΠΌ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°ΠΌ Π½Π΅ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹.

β–‘ НС ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΠΉΡ‚Π΅ΡΡŒ простым Π΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ символов ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½ΠΎΠΉ ΠΈ Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ.

β–‘ НС ΡΠΎΠ΅Π΄ΠΈΠ½ΡΠΉΡ‚Π΅ΡΡŒ с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ sa ΠΈΠ»ΠΈ root.

β–‘ НС Π²ΠΊΠ»ΡŽΡ‡Π°ΠΉΡ‚Π΅ Π² тСкст ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ имя ΠΈ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π° Ρ‚Π°ΠΊΠΆΠ΅ строку соСдинСния.

β–‘ НС сохраняйтС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ соСдинСния Π² ΠΊΠΎΡ€Π½Π΅ Web–сСрвСра.

Π‘Ρ‚ΠΎΠΈΡ‚ ΠΏΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ

β–‘ О Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΡ€Π΅Ρ‚ΠΈΡ‚ΡŒ доступ ΠΊΠΎ всСм ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΌ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΠ² лишь исполнСниС Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹Ρ… ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€. ПослС этого Π²ΠΎ всСх запросах Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ прСдлоТСния.

Π“Ρ€Π΅Ρ… 5.

Π’Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄

РСкомСндуСтся

β–‘ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠΉΡ‚Π΅ всС Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π΄ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΈΡ… ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΌΡƒ процСссору.

β–‘ Если ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π΅ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚, ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΠΉΡ‚Π΅ ΠΎΡˆΠΈΠ±ΠΊΡƒ бСзопасно.

НС рСкомСндуСтся

β–‘ НС ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π½Π΅ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π½Ρ‹Π΅ Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΌΡƒ процСссору, Π΄Π°ΠΆΠ΅ Ссли ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅.

β–‘ НС примСняйтС ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ «всС ΠΊΡ€ΠΎΠΌΠ΅Β», Ссли Π½Π΅ ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹ Π½Π° сто ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ΠΎΠ², Ρ‡Ρ‚ΠΎ ΡƒΡ‡Π»ΠΈ всС возмоТности.

Π‘Ρ‚ΠΎΠΈΡ‚ ΠΏΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ

β–‘ О Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ рСгулярныС выраТСния для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…; Π»ΡƒΡ‡ΡˆΠ΅ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ ΠΈ ΠΏΠΎΠ½ΡΡ‚Π½ΡƒΡŽ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ.

Π“Ρ€Π΅Ρ… 6.

ΠŸΡ€Π΅Π½Π΅Π±Ρ€Π΅ΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ ошибок

РСкомСндуСтся

β–‘ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠΉΡ‚Π΅ значСния, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Π΅ любой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ, относящСйся ΠΊ бСзопасности.

β–‘ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠΉΡ‚Π΅ значСния, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Π΅ любой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ, которая измСняСт ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, относящиСся ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌΡƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΠΈΠ»ΠΈ машинС Π² Ρ†Π΅Π»ΠΎΠΌ.

β–‘ ВсСми силами ΠΏΠΎΡΡ‚Π°Ρ€Π°ΠΉΡ‚Π΅ΡΡŒ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ послС ошибки, Π½Π΅ допускайтС ΠΎΡ‚ΠΊΠ°Π·Π° ΠΎΡ‚ обслуТивания.

НС рСкомСндуСтся

β–‘ НС ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Ρ‹Π²Π°ΠΉΡ‚Π΅ всС ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π±Π΅Π· вСской ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ°ΡΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ошибки Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅.

β–‘ НС допускайтС ΡƒΡ‚Π΅Ρ‡ΠΊΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π½Π΅ Π·Π°ΡΠ»ΡƒΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠΌ довСрия ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ.

Π“Ρ€Π΅Ρ… 7.

ΠšΡ€ΠΎΡΡβ€“ΡΠ°ΠΉΡ‚ΠΎΠ²Ρ‹Π΅ сцСнарии

РСкомСндуСтся

β–‘ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠΉΡ‚Π΅ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΡΡ‚ΡŒ всСх Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Ρ… Webβ€“ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ.

β–‘ ΠŸΠΎΠ΄Π²Π΅Ρ€Π³Π°ΠΉΡ‚Π΅ HTMLβ€“ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Π»ΡŽΠ±ΡƒΡŽ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅ΠΌΡƒΡŽ Π½Π° основС ΠΏΠΎΡΡ‚ΡƒΠΏΠΈΠ²ΡˆΠΈΡ… Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ….

НС рСкомСндуСтся

β–‘ НС ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉΡ‚Π΅ Π²Π²ΠΎΠ΄ Π² Π²Ρ‹Π²ΠΎΠ΄ Π±Π΅Π· ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ.

β–‘ НС Ρ…Ρ€Π°Π½ΠΈΡ‚Π΅ сСкрСтныС Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠΊΡƒΠΊΠ°Ρ….

Π‘Ρ‚ΠΎΠΈΡ‚ ΠΏΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ

β–‘ Об использовании ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ большСго числа Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π·Π°Ρ‰ΠΈΡ‚Π½Ρ‹Ρ… ΠΌΠ΅Ρ€.

Π“Ρ€Π΅Ρ… 8.

ΠŸΡ€Π΅Π½Π΅Π±Ρ€Π΅ΠΆΠ΅Π½ΠΈΠ΅ Π·Π°Ρ‰ΠΈΡ‚ΠΎΠΉ сСтСвого Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°

РСкомСндуСтся

β–‘ ΠŸΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ стойкими ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ°ΠΌΠΈ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ.

β–‘ АутСнтифицируйтС всС сообщСния, отправляСмыС Π² ΡΠ΅Ρ‚ΡŒ вашим ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ.

β–‘ Π¨ΠΈΡ„Ρ€ΡƒΠΉΡ‚Π΅ всС Π΄Π°Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹. Π›ΡƒΡ‡ΡˆΠ΅ ΠΏΠ΅Ρ€Π΅ΡΡ‚Ρ€Π°Ρ…ΠΎΠ²Π°Ρ‚ΡŒΡΡ.

β–‘ Если Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°ΠΉΡ‚Π΅ вСсь Ρ‚Ρ€Π°Ρ„ΠΈΠΊ ΠΏΠΎ ΠΊΠ°Π½Π°Π»Ρƒ, Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½ΠΎΠΌΡƒ SSL/ TLS. Π­Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚!

НС рСкомСндуСтся

β–‘ НС ΠΎΡ‚ΠΊΠ°Π·Ρ‹Π²Π°ΠΉΡ‚Π΅ΡΡŒ ΠΎΡ‚ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· сообраТСний ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Π¨ΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Π»Π΅Ρ‚Ρƒ обходится совсСм Π½Π΅Π΄ΠΎΡ€ΠΎΠ³ΠΎ.

β–‘ НС Β«Π·Π°ΡˆΠΈΠ²Π°ΠΉΡ‚Π΅Β» ΠΊΠ»ΡŽΡ‡ΠΈ Π² ΠΊΠΎΠ΄ ΠΈ Π½ΠΈ Π² ΠΊΠΎΠ΅ΠΌ случаС Π½Π΅ Π΄ΡƒΠΌΠ°ΠΉΡ‚Π΅, Ρ‡Ρ‚ΠΎ XOR с фиксированной строкой ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠΌ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ.

β–‘ НС ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠΉΡ‚Π΅ вопросы Π·Π°Ρ‰ΠΈΡ‚Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² сСти.

Π‘Ρ‚ΠΎΠΈΡ‚ ΠΏΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ

β–‘ Об использовании Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ уровня сСти, способных Π΅Ρ‰Π΅ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ риск. Π Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ ΠΎ мСТсСтСвых экранах, Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… частных сСтях (VPN) ΠΈ балансировании Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ.

Π“Ρ€Π΅Ρ… 9.

ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π·Π°Π³Π°Π΄ΠΎΡ‡Π½Ρ‹Ρ… URL ΠΈ скрытых ΠΏΠΎΠ»Π΅ΠΉ Ρ„ΠΎΡ€ΠΌ

РСкомСндуСтся

β–‘ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠΉΡ‚Π΅ всС Π΄Π°Π½Π½Ρ‹Π΅, ΠΏΠΎΡΡ‚ΡƒΠΏΠ°ΡŽΡ‰ΠΈΠ΅ ΠΈΠ· Web, Π² Ρ‚ΠΎΠΌ числС ΠΈ посрСдством Ρ„ΠΎΡ€ΠΌ, Π½Π° ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΈ Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΎΡΡ‚ΠΈ.

β–‘ Π˜Π·ΡƒΡ‡ΠΈΡ‚Π΅ ΡΠΈΠ»ΡŒΠ½Ρ‹Π΅ ΠΈ слабыС стороны примСняСмого Π²Π°ΠΌΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°, Ссли Π²Ρ‹ Π½Π΅ ΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ΡΡŒ криптографичСскими ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π°ΠΌΠΈ.

НС рСкомСндуСтся

β–‘ НС встраивайтС ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π² HTTP–заголовки ΠΈ Π² HTML–страницы, Π² Ρ‚ΠΎΠΌ числС Π² URL, ΠΊΡƒΠΊΠΈ ΠΈ поля Ρ„ΠΎΡ€ΠΌ, Ссли ΠΊΠ°Π½Π°Π» Π½Π΅ ΡˆΠΈΡ„Ρ€ΡƒΠ΅Ρ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚Π°ΠΊΠΈΡ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ, ΠΊΠ°ΠΊ SSL, TLS ΠΈΠ»ΠΈ IPSec, ΠΈΠ»ΠΈ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π΅ Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Ρ‹ криптографичСскими срСдствами.

β–‘ НС довСряйтС Π½ΠΈΠΊΠ°ΠΊΠΈΠΌ Π΄Π°Π½Π½Ρ‹ΠΌ Π² Web–формС, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π»ΡŽΠ±Ρ‹Π΅ значСния Π²Π½Π΅ зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ SSL ΠΈΠ»ΠΈ Π½Π΅Ρ‚.

β–‘ НС Π΄ΡƒΠΌΠ°ΠΉΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°Ρ‰ΠΈΡ‰Π΅Π½ΠΎ, коль скоро Π²Ρ‹ примСняСтС ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΡŽ: ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Π°Ρ‚Π°ΠΊΠΎΠ²Π°Ρ‚ΡŒ систСму Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ способами. НапримСр, ΠΎΠ½ Π½Π΅ станСт ΡƒΠ³Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒ случайныС числа криптографичСского качСства, Π° просто попытаСтся ΠΏΠΎΠ΄ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΈΡ….

Π“Ρ€Π΅Ρ… 10.

ΠΠ΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ SSL ΠΈ TLS

РСкомСндуСтся

β–‘ ΠŸΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ послСднСй вСрсиСй SSL/TLS. Π’ порядкС ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ: TLS 1.1, TLS 1.0hSSL3.

β–‘ Если это ΠΈΠΌΠ΅Π΅Ρ‚ смысл, примСняйтС списки допустимых сСртификатов.

β–‘ ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΏΠΎΡΡ‹Π»Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅, ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ сСртификат ΠΏΠ°Ρ€Ρ‚Π½Π΅Ρ€Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π΄ΠΎ Π΄ΠΎΠ²Π΅Ρ€Π΅Π½Π½ΠΎΠ³ΠΎ Π£Π¦ ΠΈ Ρ‡Ρ‚ΠΎ Π΅Π³ΠΎ срок дСйствия Π½Π΅ истСк.