Чаро шумо набояд ба HDD худ дод

Чаро шумо набояд ба HDD худ дод

Дар конфронси амнияти компютерии Ekoparty 2017 дар Буэнос-Айрес, ҳакери аргентинӣ Алфредо Ортега як таҳияи хеле ҷолиб - системаи гӯш кардани телефонҳои пинҳонии биноҳо бидуни истифодаи микрофонро нишон дод. Садо бевосита ба диски сахт сабт карда мешавад!

HDD асосан садоҳои басомади пасти баландшиддат, пои по ва ларзишҳои дигарро қабул мекунад. Ҳарчанд олимон суханронии инсонро ҳанӯз шинохта наметавонанд дар ин самт тадкикот бурда истодаанд (шинохти нутқ тавассути ларзишҳои басомади паст, ки масалан, аз гироскоп ё HDD сабт карда мешаванд).

Садо ларзиши ҳаво ё дигар муҳити атроф аст. Одам онҳоро тавассути пардаи гӯш, ки ларзишро ба гӯши дарунӣ интиқол медиҳад, дарк мекунад. Микрофон тахминан мисли гӯш сохта шудааст - дар ин ҷо низ ларзиш тавассути мембранаи тунук сабт карда мешавад, ки импулси электрикиро ба вуҷуд меорад. Диски сахт, албатта, аз сабаби тағирёбии ҳавои атроф ба ларзишҳои микроскопӣ низ дучор мешавад. Ин ҳатто аз хусусиятҳои техникии HDD маълум аст: истеҳсолкунандагон одатан сатҳи ҳадди иҷозатдодашудаи ларзишро нишон медиҳанд ва худи диски сахт аксар вақт кӯшиш мекунад, ки онро дар як контейнери аз резина ё дигар маводи изолятсионӣ тобовар ҷойгир кунад. Аз ин хулоса баровардан осон аст, ки садоҳоро бо истифода аз HDD сабт кардан мумкин аст. Танҳо фаҳмидани он аст, ки чӣ тавр.

Алфредо Ортега варианти беназири ҳамлаи паҳлӯӣ, яъне ҳамлаи вақтро пешниҳод кард. Ин ҳамла ба тахмине асос ёфтааст, ки вобаста ба маълумоти воридшуда дар дастгоҳ дар вақтҳои гуногун амалҳои гуногун иҷро мешаванд. Дар ин ҳолат, "маълумоти воридотӣ" ларзишҳои сари хониш ва таблиғи HDD мебошад, ки бо ларзишҳои муҳити зист, яъне бо садо алоқаманданд. Ҳамин тариқ, бо чен кардани вақти ҳисобкунӣ ва анҷом додани таҳлили омории маълумот, ларзишҳои сар/плата ва аз ин рӯ ларзишҳои муҳити атрофро чен кардан мумкин аст. Чӣ қадаре ки таъхир дар хондани маълумот дарозтар бошад, ларзишҳои HDD ҳамон қадар қавитар мешаванд ва аз ин рӯ, садо баландтар мешавад.

Чӣ тавр чен кардани ларзиши диски сахт? Хеле оддӣ: танҳо занги системаро иҷро кунед read () — ва вақти анҷом додани онро сабт кунед. Системаҳои оператсионии муосир ба шумо имкон медиҳанд, ки вақти зангҳои системаро бо дақиқии наносония хонед.

Суръати хондани маълумот аз сектор аз мавқеи сар ва табақ вобаста аст, ки бо ларзиши корпуси HDD алоқаманд аст. Ҳамааш ҳамин.

Таҳлили оморӣ бо истифода аз утилитаи оддии Kscope гузаронида мешавад. Тавре ки мегӯянд, ҳама чизи оқилона оддӣ аст.

Чаро шумо набояд ба HDD худ дод
Хизматрасонии Kscope (stat() syscall)

Kscope як утилитаи хурд барои визуализатсияи фарқиятҳои ночиз дар вақти иҷрои зангҳои система мебошад. Сарчашмадар GitHub нашр шудааст.

Дар анбори алоҳида Вақти HDD як версияи утилитае мавҷуд аст, ки барои ҳамлаи вақт ба диски сахт танзим шудааст, яъне барои таҳлили занги система танзим шудааст. read ().

Намоиши сабти овоз бо истифода аз HDD, кори утилитаи Kscope


Албатта, суханро бо ин роҳ фаҳмидан мумкин нест, аммо HDD ҳамчун сенсори ларзиш комилан мувофиқ аст. Масалан, шумо метавонед сабти ном кунед, агар шахсе, ки пойафзоли сахт дошт ё пои луч ба утоқи дорои компютер ворид шуда бошад (эҳтимол, агар ҳамлагар кроссовкаҳои мулоим дар тан бошад ё дар фарш қолинҳои ғафс бошад, HDD ларзишро сабт карда наметавонад - Ин қобили тафтиш аст). Компютер қодир аст, ки шишаи шикаста ё дигар ҳодисаҳоро бо шиддати садо сабт кунад. Яъне, диски сахт метавонад ҳамчун як навъ системаи ошкорсозии дахолатнопазирӣ хидмат кунад.

Қотили HDD

Дар омади гап, техникаи шабеҳро барои хомӯш кардани дискҳои сахт истифода бурдан мумкин аст. Танҳо дар ин ҷо мо ларзишҳоро аз HDD нест намекунем, балки баръакс, ларзишҳоро тавлид мекунем, ки ба HDD дода мешаванд. Агар шумо садои баландгӯякро бо басомаде, ки бо басомади HDD ҳамоҳанг аст, бозӣ кунед, система ба зудӣ дастгоҳро бо хатогии I/O хомӯш мекунад (ядрои Linux пас аз 120 сония HDD-ро комилан хомӯш мекунад). Худи диски сахт метавонад зарари бебозгашт расонад.

Чаро шумо набояд ба HDD худ дод
Ядрои Linux пас аз 120 сонияи интиқоли садо бо басомади резонанс тавассути баландгӯяки Edifier r19u USB диски сахтро хомӯш кард. Баландгӯяк тақрибан дар чоряки қувваи барқ ​​​​(камтар аз 100 мВт) фурӯзон карда мешавад ва дар масофаи 20 см аз HDD ҷойгир шудааст, ки барои баланд бардоштани ларзиш ба мизи корӣ нигаронида шудааст. Чорчӯба аз видео бо намоиши қотил HDD

Аҷиб аст, ки чунин "ҳамлаҳо" ба HDD баъзан дар ҳаёти ҳаррӯза тасодуфан рух медиҳанд. Масалан, дар моҳи сентябри соли 2016 маркази додаҳои ING Bank маҷбур шуд, ки пас аз машқҳои оташнишонӣ фаъолияташро барои 10 соат боздорад. Даҳҳо дискҳои сахт аз кор баромаданд аз сабаби садои баланди гази инертй аз баллонхо дар зери фишори баланд бароварда мешавад. Овоз хеле баланд буд (зиёда аз 130 дБ), аммо шумо ҳатто наметавонед ба дискҳои сахт дод занед - ин таъхирро дар дастрасӣ ба HDD зиёд мекунад.

Намоиши фарёди одамон ба дискҳои сахт дар маркази додаҳо. Андозагирии таъхир


Барои тавлиди садои резонанс, Алфредо Ортега як скрипти Python ном дошт hdd-қотил (намоиши видео).

Скрипти куштори HDD Ин хеле хурд аст, бинобар ин шумо метавонед онро пурра дар ин ҷо нашр кунед.

"""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()

Манбаъ: will.com

Илова Эзоҳ