ለምን በእርስዎ HDD ላይ መጮህ አይችሉም

ለምን በእርስዎ HDD ላይ መጮህ አይችሉም

በቦነስ አይረስ በተካሄደው የኢኮፓርቲ 2017 የኮምፒዩተር ደህንነት ኮንፈረንስ ላይ አርጀንቲና ጠላፊ አልፍሬዶ ኦርቴጋ በጣም አስደሳች የሆነ እድገት አሳይቷል - ማይክራፎን ሳይጠቀሙ ግቢ ውስጥ በድብቅ የስልክ ጥሪ የሚደረግበት ስርዓት። ድምጽ በቀጥታ ወደ ሃርድ ድራይቭ ተመዝግቧል!

ኤችዲዲ በዋነኛነት ከፍተኛ ኃይለኛ ዝቅተኛ ድግግሞሽ ድምፆችን፣ ዱካዎችን እና ሌሎች ንዝረቶችን ያነሳል። የሳይንስ ሊቃውንት ምንም እንኳን የሰው ንግግር ገና ሊታወቅ አይችልም በዚህ አቅጣጫ ጥናት እያደረጉ ነው። (በዝቅተኛ-ድግግሞሽ ንዝረቶች የንግግር ማወቂያ, ለምሳሌ ከ ጋይሮስኮፕ ወይም ኤችዲዲ).

ድምፅ የአየር ንዝረት ወይም ሌላ መካከለኛ ነው። አንድ ሰው ወደ ውስጠኛው ጆሮ ንዝረት በሚያስተላልፈው ታምቡር በኩል ያያቸዋል. ማይክሮፎኑ የተሰራው ልክ እንደ ጆሮ ነው - እዚህም ቢሆን ንዝረት የሚቀዳው በቀጭኑ ሽፋን ሲሆን ይህም የኤሌክትሪክ ግፊትን ያስደስታል። በእርግጥ ሃርድ ድራይቭ በአካባቢው የአየር መለዋወጥ የተነሳ በአጉሊ መነጽር ብቻ የሚታይ ንዝረትም አለበት። ይህ በኤችዲዲዎች ቴክኒካዊ ባህሪያት እንኳን ይታወቃል፡ አምራቾች ብዙውን ጊዜ የሚፈቀደውን ከፍተኛውን የንዝረት ደረጃ ያመለክታሉ, እና ሃርድ ድራይቭ እራሱ ብዙውን ጊዜ ከጎማ ወይም ሌላ መከላከያ ቁሳቁስ በተሰራ የንዝረት መከላከያ መያዣ ውስጥ ለማስቀመጥ ይሞክራል. ከዚህ በመነሳት ድምጾችን HDD በመጠቀም መቅዳት ይቻላል ብሎ መደምደም ቀላል ነው። የቀረው እንዴት እንደሆነ ለማወቅ ነው።

አልፍሬዶ ኦርቴጋ የጎን ቻናል ጥቃትን ማለትም የጊዜ ጥቃትን ልዩ ስሪት አቅርቧል። ይህ ጥቃት በተሰጠው የግብአት መረጃ ላይ በመመስረት በመሳሪያው ላይ በተለያዩ ጊዜያት የተለያዩ ስራዎች ይከናወናሉ በሚለው ግምት ላይ የተመሰረተ ነው. በዚህ ሁኔታ "የግቤት መረጃ" የንባብ ጭንቅላት እና የኤችዲዲ ፕላስተር ንዝረት ነው, እሱም ከአካባቢው ንዝረት ጋር, ማለትም ከድምጽ ጋር ይዛመዳል. ስለዚህ የስሌት ጊዜን በመለካት እና በመረጃው ላይ ስታቲስቲካዊ ትንታኔን በማካሄድ የጭንቅላቱ / የፕላስተር ንዝረት እና በዚህም ምክንያት የመካከለኛው ንዝረትን መለካት ይቻላል. የውሂብ የማንበብ መዘግየት ረዘም ያለ ጊዜ, የኤችዲዲ ንዝረትን ያጠናክራል እና, ስለዚህ, ድምፁ እየጨመረ ይሄዳል.

የሃርድ ድራይቭ ንዝረትን እንዴት መለካት ይቻላል? በጣም ቀላል: የስርዓት ጥሪውን ብቻ ያሂዱ read () - እና ለማጠናቀቅ የሚወስደውን ጊዜ ይመዝግቡ። ዘመናዊ ስርዓተ ክወናዎች የስርዓት ጥሪዎችን ጊዜ በ nanosecond ትክክለኛነት እንዲያነቡ ያስችሉዎታል.

የአንድ ሴክተር መረጃን የማንበብ ፍጥነት የሚወሰነው በጭንቅላቱ እና በሰሌዳው አቀማመጥ ላይ ነው ፣ ይህም ከኤችዲዲ መያዣ ንዝረት ጋር ይዛመዳል። ይኼው ነው.

ቀላል የ Kscope መገልገያ በመጠቀም የስታቲስቲክስ ትንተና ይካሄዳል. እነሱ እንደሚሉት ፣ ሁሉም ብልህነት ቀላል ነው።

ለምን በእርስዎ HDD ላይ መጮህ አይችሉም
Kscope utility (stat() syscall)

Kscope በስርዓት ጥሪ አፈጻጸም ጊዜ ውስጥ ጥቃቅን ልዩነቶችን ለመመልከት ትንሽ መገልገያ ነው። ምንጭበ GitHub ላይ ታትሟል.

በተለየ ማከማቻ ውስጥ HDD-ጊዜ በሃርድ ድራይቭ ላይ ለተወሰነ ጊዜ ጥቃት የተዋቀረ የፍጆታ ስሪት አለ ፣ ማለትም ፣ የስርዓት ጥሪን ለመተንተን የተዋቀረ ነው። read ().

HDD በመጠቀም የድምጽ ቀረጻ ማሳየት, የ Kscope መገልገያ አሠራር


እርግጥ ነው, ንግግር በዚህ መንገድ ሊረዳ አይችልም, ነገር ግን ኤችዲዲ እንደ ንዝረት ዳሳሽ በጣም ተስማሚ ነው. ለምሳሌ አንድ ሰው ጠንካራ ጫማ ያደረገ ወይም በባዶ እግሩ በኮምፒዩተር ወደ ክፍል ከገባ መመዝገብ ይችላሉ (ምናልባት አጥቂው ለስላሳ ስኒከር ከለበሰ ወይም ወለሉ ላይ ወፍራም ምንጣፍ ካለ HDD ንዝረትን መመዝገብ አይችልም - ይህ መፈተሽ ተገቢ ነው)። ኮምፒዩተሩ የተሰበረ ብርጭቆን ወይም ሌሎች ክስተቶችን በጠንካራ የድምፅ መጠን መመዝገብ ይችላል። ማለትም ሃርድ ድራይቭ ያልተፈቀደ የጣልቃ መፈለጊያ ስርዓት አይነት ሆኖ ሊያገለግል ይችላል።

HDD ገዳይ

በነገራችን ላይ ሃርድ ድራይቭን ለማሰናከል ተመሳሳይ ዘዴ መጠቀም ይቻላል. እዚህ ብቻ ማወዛወዝን ከኤችዲዲ አናስወግድም, ግን በተቃራኒው ወደ ኤችዲዲ የሚመገቡ ማወዛወዝን እንፈጥራለን. ከኤችዲዲ ፍሪኩዌንሲ ጋር በሚያስተጋባ ድግግሞሽ ከተናጋሪ ድምጽ ከተጫወቱ ስርዓቱ በቅርቡ መሳሪያውን በ I/O ስህተት ያጠፋል (የሊኑክስ ከርነል ከ120 ሰከንድ በኋላ HDDን ሙሉ በሙሉ ያጠፋል)። ሃርድ ድራይቭ ራሱ የማይመለስ ጉዳት ሊደርስበት ይችላል።

ለምን በእርስዎ HDD ላይ መጮህ አይችሉም
የሊኑክስ ከርነል በሃርድ ድራይቭ ላይ ከ120 ሰከንድ በኋላ ድምጽን በሚያስተጋባ ድግግሞሽ በEdiifier r19u USB ስፒከር ድምጽ ማጉያ በኩል አጠፋው። ተናጋሪው በኃይል አንድ አራተኛ ገደማ (ከ 100 ሜጋ ዋት ያነሰ) በርቷል እና ከኤችዲዲ 20 ሴ.ሜ ርቀት ላይ ይገኛል, ይህም ንዝረትን ለመጨመር በጠረጴዛው ላይ ያነጣጠረ ነው. ፍሬም ከ ቪዲዮ ከኤችዲዲ ገዳይ ማሳያ ጋር

በኤችዲዲዎች ላይ እንደዚህ ያሉ "ጥቃቶች" አንዳንድ ጊዜ በዕለት ተዕለት ሕይወት ውስጥ በአጋጣሚ ሙሉ በሙሉ ሊከሰቱ እንደሚችሉ ለማወቅ ጉጉ ነው። ለምሳሌ፣ በሴፕቴምበር 2016፣ የ ING ባንክ መረጃ ማዕከል ከእሳት አደጋ ልምምድ በኋላ ለ10 ሰዓታት ሥራውን ለማቆም ተገዷል። በደርዘን የሚቆጠሩ ሃርድ ድራይቮች ወድቀዋል በከፍተኛ ግፊት ውስጥ ከሲሊንደሮች ውስጥ በሚወጣው የማይነቃነቅ ጋዝ ከፍተኛ ድምጽ ምክንያት. ድምፁ በጣም ከፍተኛ ነበር (ከ 130 ዲቢቢ በላይ), ነገር ግን በሃርድ ድራይቮች ላይ መጮህ እንኳን አይችሉም - ይህ ወደ ኤችዲዲ ለመግባት መዘግየትን ይጨምራል.

በመረጃ ማእከል ውስጥ በሃርድ ድራይቭ ላይ የሰዎች ጩኸት ማሳያ። የመዘግየት መለኪያ


የሚያስተጋባውን ድምጽ ለማመንጨት አልፍሬዶ ኦርቴጋ የሚባል የፓይዘን ስክሪፕት ጻፈ ኤችዲዲ-ገዳይ (የቪዲዮ ማሳያ).

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

ምንጭ: hab.com

አስተያየት ያክሉ