← DevOps
DevOps avatar

TGINSIGHT POST

Post #1482

@DevOPSitsec

DevOps

ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Ρ‹4,190ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ просмотров
ΠžΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½10 мая10.05.2025, 12:04
Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ поста

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅

πŸ”₯ Ошибка Therac-25: ΠΊΠΎΠ³Π΄Π° ΠΊΠΎΠ΄ ΡƒΠ±ΠΈΠ²Π°Π΅Ρ‚ β–ͺ Π’ 1980-Ρ… Therac-25 считался Ρ‡ΡƒΠ΄ΠΎΠΌ ΠΌΠ΅Π΄ΠΈΡ†ΠΈΠ½Ρ‹: Π½ΠΎΠ²Ρ‹ΠΉ Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹ΠΉ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚Π΅Π»ΡŒ для лСчСния Ρ€Π°ΠΊΠ° с Ρ‚ΠΎΡ‡Π½ΠΎΠΉ Π΄ΠΎΠ·ΠΈΡ€ΠΎΠ²ΠΊΠΎΠΉ Ρ€Π°Π΄ΠΈΠ°Ρ†ΠΈΠΈ. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π³ΠΎΡ€Π΄ΠΈΠ»ΠΈΡΡŒ: Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ всё управляСт ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС β€” ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ Ρ€ΡƒΡ‡Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈ максимум бСзопасности… казалось Π±Ρ‹. Но вскорС ΠΏΠ°Ρ†ΠΈΠ΅Π½Ρ‚Ρ‹ Π½Π°Ρ‡Π°Π»ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΡΠΌΠ΅Ρ€Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π΄ΠΎΠ·Ρ‹ Ρ€Π°Π΄ΠΈΠ°Ρ†ΠΈΠΈ. Π›ΡŽΠ΄ΠΈ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ»ΠΈ Π½Π° Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π»ΠΈ 100-ΠΊΡ€Π°Ρ‚Π½ΠΎΠ΅ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ Π½ΠΎΡ€ΠΌΡ‹ Π±ΡƒΠΊΠ²Π°Π»ΡŒΠ½ΠΎ Π·Π° сСкунды. НСкоторыС ΡƒΠΌΠΈΡ€Π°Π»ΠΈ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ, Π΄Ρ€ΡƒΠ³ΠΈΠ΅ β€” спустя нСсколько нСдСль. Π§Ρ‚ΠΎ ΠΆΠ΅ ΡΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ? πŸ‘‡ β–ͺ Π“ΠΎΠ½ΠΊΠ° ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² (race condition) β€” Π½Π΅Π·Π°ΠΌΠ΅Ρ‚Π½Ρ‹ΠΉ Π±Π°Π³ Π² ΠΊΠΎΠ΄Π΅. Если Ρ‚Π΅Ρ…Π½ΠΈΠΊ слишком быстро ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Π» Ρ€Π΅ΠΆΠΈΠΌΡ‹ лСчСния, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π΅ успСвала ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°Ρ‰ΠΈΡ‚Ρƒ. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚: машина Π²ΠΊΠ»ΡŽΡ‡Π°Π»Π° ΠΌΠΎΡ‰Π½Π΅ΠΉΡˆΠΈΠΉ Π»ΡƒΡ‡ Π±Π΅Π· Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΈ Π±ΡƒΠΊΠ²Π°Π»ΡŒΠ½ΠΎ сТигала ΠΏΠ°Ρ†ΠΈΠ΅Π½Ρ‚ΠΎΠ². Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ увСряли, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄ Β«ΠΈΠ΄Π΅Π°Π»Π΅Π½Β» ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π½Π΅ Π² Π½ΠΈΡ…. Волько послС Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ‚Ρ€Π°Π³Π΅Π΄ΠΈΠΉ нСзависимыС экспСрты нашли источник: Π±Π°Π³ проявлялся лишь ΠΏΡ€ΠΈ ΡΠΊΡΡ‚Ρ€Π΅ΠΌΠ°Π»ΡŒΠ½ΠΎ быстром Π²Π²ΠΎΠ΄Π΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΉ клавиш β€” ситуация, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½ΠΈΠΊΡ‚ΠΎ Π΄Π°ΠΆΠ΅ Π½Π΅ тСстировал. πŸ’₯ Π˜Ρ‚ΠΎΠ³: Therac-25 стал ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π΄Π°ΠΆΠ΅ ΠΎΠ΄Π½Π° строка ΠΊΠΎΠ΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠ±ΠΈΡ‚ΡŒ, Ссли ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ тСстированиС edge-case сцСнариСв. Π­Ρ‚ΠΎΡ‚ случай навсСгда ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ» стандарты Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ критичСски Π²Π°ΠΆΠ½Ρ‹Ρ… систСм, ввСдя Π½ΠΎΠ²Ρ‹Π΅ ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½Ρ‹Π΅ Π½ΠΎΡ€ΠΌΡ‹ бСзопасности. πŸ‘‰ Π£Ρ€ΠΎΠΊ: Никогда Π½Π΅ Π²Π΅Ρ€ΡŒ, Ρ‡Ρ‚ΠΎ Ρ‚Π²ΠΎΠΉ ΠΊΠΎΠ΄ Β«Π±Π΅Π· ошибок». ОсобСнно ΠΊΠΎΠ³Π΄Π° ΠΎΡ‚ Π½Π΅Π³ΠΎ зависят ΠΆΠΈΠ·Π½ΠΈ. #ΠΊΠΎΠ΄#Π±Π°Π³ΠΈ#ΠΈΡΡ‚ΠΎΡ€ΠΈΠΈΠ˜Π’#therac25#Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°#тСстированиС#fail