SlideShare une entreprise Scribd logo
1  sur  49
Télécharger pour lire hors ligne
Detecting Hardware Keyloggers

Fabian Mihailowitsch
November 6, 2010
Who?
   Fabian Mihailowitsch

   Former Software Developer
       German energy combine

   IT-Security Consultant
       cirosec GmbH
       Penetration Tests
       Source Code Reviews

   Contact
       Email: fm@cirosec.de
       www.cirosec.de


Fabian Mihailowitsch (cirosec GmbH)   2 of 49
What?
   Hardware Keylogger
       PS/2
       USB


   Hardware Keyloggers are undetectable by Software
    „Visual inspection is the primary means of detecting hardware keyloggers, since there are no
       known methods of detecting them through software. “, en.wikipedia.org, 26.10.10



   Talk: Detection of Hardware Keyloggers with Software ;)



Fabian Mihailowitsch (cirosec GmbH)                                                     3 of 49
Why?
   Less research on this topic
       Few information
       No practical way to detect HKL

   Because HKL are a threat
       2005 (GB): Sumitomo Bank
           Attackers tried to steal 423 million USD
           Multiple HKL were installed
       How about your company?

   Solution to identify HKL in large enterprises
       Visual inspection is impractical
       Only possible via software

Fabian Mihailowitsch (cirosec GmbH)                    4 of 49
Hardware Keylogger
   Hardware Keylogger
       USB
       PS/2
       Keyboard Module
       Mini- / PCI card

   Installed between PC and Keyboard
       Records key strokes

   Captured data are retrieved
       Software
       Keyboard
           Ghost typing
           Flash drive
       Wi-Fi-Access
           Email
           TCP connect
       Bluetooth


Fabian Mihailowitsch (cirosec GmbH)     5 of 49
Hardware Keylogger
   Features
       Up to 2 GB flash memory
       Encryption
       Password protection
       Timestamping
       Time use charts
       Search functions
       Upgradeable firmware

   Pricing
       PS/2: 32.00 USD
       USB: 58.00 USD

Fabian Mihailowitsch (cirosec GmbH)   6 of 49
Hardware Keylogger – The companies
   Big ones
       KeyDemon, KeeLog, … (PL)
       KeyCarbon (US)

   Most companies rebrand KeyDemon
       KeyCobra
       KeyLlama (once own products)
       …


   Also „famous“ (older products)
       KEYKatcher (US)
       KeyGhost (NZ)
       KeyShark (DE)

   The others
       WirelessKeylogger (UK)
       Exotic Stuff (mostly CN)
       Some Open Source Keylogger




Fabian Mihailowitsch (cirosec GmbH)    7 of 49
PS/2 – How does it work
   Keyboard
       Wire matrix
       Microcontroller
       Sends scancode (make/break)


   PC
       Keyboard Controller (KBC)
           0x60: I/O-Buffer
           0x64: Status




Fabian Mihailowitsch (cirosec GmbH)   8 of 49
PS/2 – How does it work
   Communication KBC <-> Keyboard
       Obvious
           Scancodes
       Not that obvious ;)
           Set LEDs                     Example (Ping)
           Choose scancode
                                         KBC sends "ping" (0xEE) via 0x60
           Set repeate rate             KB sends "pong" (0xEE) to 0x60
           Keyboard self-test / reset
           Ping
           …




Fabian Mihailowitsch (cirosec GmbH)                                   9 of 49
PS/2 – How does it work
   PS/2 is a serial interface

   Communication                                                                 1. DATA
                                                                                  2. -
       DATA                                                                      3. GND
       CLK                                                                       4. VCC
                                                                                  5. CLCK
       Bidirectional                                                             6. -

       Keyboard defines clock (30 – 50 ns)


   Data frames
           KB (11 bit): startbit, D0-D7 [data], odd parity, stopbit
           KBC (12 bit): startbit, D0-D7 [data], odd parity, stopbit, ACK (KB)

Fabian Mihailowitsch (cirosec GmbH)                                           10 of 49
PS/2 – How does it work
   PS/2 is a serial interface

   Communication                              1. DATA
                                               2. -
       DATA                                   3. GND
       CLK                                    4. VCC
                                               5. CLCK
       Bidirectional                          6. -

       Keyboard defines clock (30 – 50 ns)




Fabian Mihailowitsch (cirosec GmbH)           11 of 49
Detecting PS/2 Hardware Keylogger
   Current measurement
     Additional electronic components
    = Additional power consumption ;)
           KeyDemon = 65 mA
           KeyKatcher = 54 mA
       More current is drawn
       Cannot be measured by software




Fabian Mihailowitsch (cirosec GmbH)      12 of 49
Detecting PS/2 Hardware Keylogger
   Keylogger are password protected
       Entered via Keyboard
       Ghost typing
       Shipped with default password
       Password restore is complex

   Brute Force password
       Via software
       Check ghost typing




Fabian Mihailowitsch (cirosec GmbH)     13 of 49
Detecting PS/2 Hardware Keylogger
   Problem
       Tested HKL don‘t tap the data line
       HKL are placed „inline“


                                         HKL
                             Data                      Data
         Keyboard                                              PC
                             Clock    Microprocessor   Clock




       HKL knows the data flow
       KBC can‘t send fake keystrokes

Fabian Mihailowitsch (cirosec GmbH)                                 14 of 49
Detecting PS/2 Hardware Keylogger
   However
       Some KB commands (0x60) lead to fake key presses
       Maybe keyboard response is interpreted…

   Brute Force password
       Translation Table (KB command -> key press)
       Brute Force attack via Software

   Practical?
       Limited amount of chars (~10)
       Not all passwords can be Brute Forced
       Works for: KeyGhost, KEYKatcher (some)

Fabian Mihailowitsch (cirosec GmbH)                        15 of 49
Detecting PS/2 Hardware Keylogger




                                 Demo


Fabian Mihailowitsch (cirosec GmbH)     16 of 49
Detecting PS/2 Hardware Keylogger
   Changes on the line
       HKL are placed „inline“


   HKL might change signals on the line
       Different signals (data)
       Own clock (30-50 ns)
       Slight dislocation of data/clock signal
       Maybe more… ;)




Fabian Mihailowitsch (cirosec GmbH)               17 of 49
Detecting PS/2 Hardware Keylogger
   Analyze the data flow
       Tap signal at the keyboard
       Tap signal after the keylogger




Fabian Mihailowitsch (cirosec GmbH)      18 of 49
Detecting PS/2 Hardware Keylogger
   Result:




                                      Keylogger




                                      Keyboard




Fabian Mihailowitsch (cirosec GmbH)          19 of 49
Detecting PS/2 Hardware Keylogger
   Clock is set to low
       Delay of the HKL




                                         Keylogger




                                 Delay
                                         Keyboard



Fabian Mihailowitsch (cirosec GmbH)                  20 of 49
Detecting PS/2 Hardware Keylogger
   Clock is set to high
       Same timing




Fabian Mihailowitsch (cirosec GmbH)   21 of 49
Detecting PS/2 Hardware Keylogger
   Clock cycles are shorter for HKL
       Probably HKL generates own clock signal
       Can be detected on the wire
       No possibility to detect via software
       Exact clock state cannot be retrieved by KBC

   But the clock signal starts later…
       Remember when clock was pulled low
       HKL might cause a delay on the wire




Fabian Mihailowitsch (cirosec GmbH)                    22 of 49
Detecting PS/2 Hardware Keylogger
   Time Measurement
       Tested HKL were placed „inline“
       Microprocessor has to analyze the signal and pass it on
       This additional logic increase signal propagation time




              Data signal (begin)                 Data signal (end)

Fabian Mihailowitsch (cirosec GmbH)                                   23 of 49
Detecting PS/2 Hardware Keylogger
   Time Measurement
       Tested HKL were placed „inline“
       Microprocessor has to analyze the signal and pass it on
       This additional logic increase signal propagation time




                                                          Delay

Fabian Mihailowitsch (cirosec GmbH)                               24 of 49
Detecting PS/2 Hardware Keylogger
   Basic idea
       Send command to KB, wait for response and measure run time
       Like a „ping“
        _start:
                  xor %ecx, %ecx
                  mov $0x9999, %cx             Repeat 9999x:
        _wait1:   in $0x60, %al
                  xor %eax, %eax
                  in $0x64, %al
                  test $0x2, %al               Send „Identify Keyboard“ (0xF2)
                  jne _wait1
                  mov $0xF2, %al
                  out %al, $0x60

        _wait2:   xor %eax, %eax
                  in $0x60, %al                Wait until Keyboard
                  cmp $0xFA, %al
                  jne _wait2                   responds with „MF-II“ (0xFA)
                  loop _wait1
                  ret

Fabian Mihailowitsch (cirosec GmbH)                                     25 of 49
Detecting PS/2 Hardware Keylogger
   Delay introduced by the HKL is very (!) small
       Previous code can‘t be used in „normal OS state“
           scheduler, interrupts, …
           Measurement isn‘t exact enough
       Code must run exclusively
           Get the most accurate measurement




Fabian Mihailowitsch (cirosec GmbH)                        26 of 49
Detecting PS/2 Hardware Keylogger
   Solution
       Loadable Kernel Module
       Get CPU exclusively
           Deactivate interrupts for processor
           Disable kernel preemption
           SMP locking
       Run ASM code („ping“)
       Measure runtime of the code
           Interrupts are disabled
           Read processors time stamp counter (rdtsc)
           Counter is increased every clock cycle
           Use the number of clock cycles
       Restore everything and write result to kernel message buffer

Fabian Mihailowitsch (cirosec GmbH)                             27 of 49
Detecting PS/2 Hardware Keylogger
   Time Measurement
       Results
        Setup                         Clock cycles
        Keyboard                      338 1 03523280
        KeyGhost                      338 5 62656160
        KeyKatcher Mini               338 6 25304965
        KeyKatcher Magnum             338 4 21058298

       „Inline“ HKL can be detected using Time Measurement
           Measure without HKL
           Define Baseline (e.g 338200000000)
           Measure again
           Win ;)


Fabian Mihailowitsch (cirosec GmbH)                           28 of 49
Defeat PS/2 Hardware Keylogger
   Fill Keylogger memory via software
       Some stop logging
       Some overwrite memory at the beginning
       Keystrokes are overwritten / not recorded

   Keyboard commands
       Some commands lead to fake keypress (see Brute Force)
       Send those repeatedly
       ~100 logged keys in 10s
       109 minutes to fill 64kB

   Keyboard command „0xFE“
       Resend
       Keyboard responds by resending the last-sent byte
       ~ 4 logged keys in 10 s

   Practical?
       Most PS/2 HKL have a few KBytes memory
       Nevertheless takes too much time
       Works for: KeyGhost, KEYKatcher (some)



Fabian Mihailowitsch (cirosec GmbH)                             29 of 49
Defeat PS/2 Hardware Keylogger
   Stop HKL from sniffing keystrokes

   Keyboard sends scancodes
       Make / Break codes
       Defined in scan code set
       Scan codes set can be choosen via KB command „0xF0“

   3 scancode sets
       1: XT keyboards
       2: MF2 keyboard
       3: AT keyboads

   Tested Keyloggers support scancode set 2 and 3

   Choose scancode set 1…
       Keylogger doesn‘t log correctly
       Logs can‘t be used
       New mapping scancode <-> keycode is necessary for OS
           hdev
           HAL
           setkeycode



Fabian Mihailowitsch (cirosec GmbH)                            30 of 49
USB – How does it work
   Host controller + Hubs + devices build tree structure

   Device has various endpoints
       Buffer in / out
       Configuration via endpoint 0
       Low Speed devices (Keyboard): endpoint 0 + 2 endpoints with 8 Bytes

   Only host controller manages communication with devices
       Polls buffer (device configuration)
       Writes buffer


   Data are transferred as packets

   Data transfer types
       Isochronous transfer (guaranteed data rate, no error correction)
       Interrupt transfer (small amount of data, retransmission)
       Bulk transfer (big amount of data, retransmission)
       Control transfer (device configuration, ACKed in both directions)



Fabian Mihailowitsch (cirosec GmbH)                                           31 of 49
USB – How does it work
   Different device classes
       Plug and Play
       Relevant: HID class
       Defines communication

   KB sends 8 Byte input report
       Interrupt Transfer
       Periodically polled by host
       Contains pressed keys
       No make / break codes
       Packet:
         Modifier   OEM use   Keycode   Keycode   Keycode   Keycode   Keycode   Keycode
         keys

           Byte 0                                                                 Byte 7




Fabian Mihailowitsch (cirosec GmbH)                                                        32 of 49
USB – How does it work
   PC sends 1 Byte output report
       USB Control Transfer
       Control LEDs
       Packet:
        NUM       Caps     Scroll     Compose   KANA   Constant   Constant   Constant
        Lock      Lock     Lock

          Bit 0                                                                Bit 7




   No addtional KB commands
       Transfer handeld via USB
       Typematic rate, etc. configured on PC


Fabian Mihailowitsch (cirosec GmbH)                                                     33 of 49
Detecting USB Hardware Keylogger
   Current Measurement
       Like PS/2
       More current is drawn
       Cannot be measured by software
           Device configuration contains current
           However no accurate information available




Fabian Mihailowitsch (cirosec GmbH)                     34 of 49
Detecting USB Hardware Keylogger
   Brute Force KL password
       KeyCarbon: software to retrieve keystrokes




Fabian Mihailowitsch (cirosec GmbH)                  35 of 49
Detecting USB Hardware Keylogger
   Brute Force KL password
       KeyCarbon: software to retrieve keystrokes
       Software needs to communicate with KL…
       USB sniffer:




Fabian Mihailowitsch (cirosec GmbH)                  36 of 49
Detecting USB Hardware Keylogger
   Software needs to communicate with KL…
       1 Byte output reports (set LEDs)
       Fixed header + HKL password + footer
       Password char is encoded with 4 Bytes


   Brute Force (default) passwords
       Create Lookup Table for PW chars
       Perform attack via software
       Works for: KeyCarbon models




Fabian Mihailowitsch (cirosec GmbH)             37 of 49
Detecting USB Hardware Keylogger
   Changes to USB Properties / Topology
       Keyboard only:




Fabian Mihailowitsch (cirosec GmbH)        38 of 49
Detecting USB Hardware Keylogger
   Changes to USB Properties / Topology
       Keyboard + KeyCarbon:




Fabian Mihailowitsch (cirosec GmbH)        39 of 49
Detecting USB Hardware Keylogger
   Changes to USB Properties / Topology
       Addtional USB HUB if KeyCarbon is present
        „Why is the device undetectable, in practice, by software? The device shows up in
        Windows ‘Device Manager’ as a generic USB hub. This generic USB hub has no ID strings,
        and is indistinguishable from the generic USB hub found in 90% of all USB hubs. “

       Well…


                                                           USB HUB Controller used:
                                                           Texas Instruments (TUSB2046B)




Fabian Mihailowitsch (cirosec GmbH)                                                         40 of 49
Detecting USB Hardware Keylogger
   Changes to USB Properties / Topology
       KeyGhost changes device properties
           USB Speed
               Keyboard:       bMaxPacketSize0 08 / Speed: Low
               KeyGhost:       bMaxPacketSize0 64 / Speed: Full
           Device Status
               Keyboard :      Bus Powered (0x0000)
               KeyGhost :      Self Powered (0x0001)
       More details later…




Fabian Mihailowitsch (cirosec GmbH)                                41 of 49
Detecting USB Hardware Keylogger
   Time Measurement
       Like PS/2
       HKL are placed inline -> introduces a delay




                                                        Keylogger
                                                Delay
                                                        Keyboard




Fabian Mihailowitsch (cirosec GmbH)                         42 of 49
Detecting USB Hardware Keylogger
   Time Measurement
       Basically the same idea like for PS/2
       Has to be adjusted for USB

   PC can send 1 Byte output report to KB (LED)
       sent as Control-Transfer
       Control-Transfer are ACKed
       Like PS/2 „ping“
       Can be used for runtime measurement ;)

   Implementation
       Send output report to KB
       Wait until ACKed
       Do it various times (10.000)
       Measure runtime

   Measurement can be performed from userland
       e.g. libusb




Fabian Mihailowitsch (cirosec GmbH)                43 of 49
Detecting USB Hardware Keylogger
   Time Measurement
       Results
        Setup                           Milliseconds
        Keyboard                        40034
        KeyGhost                        56331
        KeyCarbon                       43137

       USB HKL can be detected using Time Measurement
           Create baseline for default setup (HUBs, etc.)
           Measure again
           Win ;)



Fabian Mihailowitsch (cirosec GmbH)                          44 of 49
Detecting USB Hardware Keylogger
   Different keyboard behaviour
       Normal behaviour:
           Interrupt read (8 Byte): x81x06x00x22x00x00x00x04
           Send USB Reset
           Interrupt read (8 Byte): x00x00x00x00x00x00x00x00


       KeyGhost behaviour:
           Interrupt read (8 Byte): x81x06x00x22x00x00x00x04
           Send USB Reset
           Interrupt read (8 Byte): x81x06x00x22x00x00x00x04




Fabian Mihailowitsch (cirosec GmbH)                                     45 of 49
Detecting USB Hardware Keylogger
   Different keyboard behaviour
       Analysis on the wire…
       Reason: keyboard never receives USB Reset



                                                       Before Keylogger




                                                       After Keylogger


                        USB Reset (D-/D+ pulled low)
Fabian Mihailowitsch (cirosec GmbH)                           46 of 49
Detecting USB Hardware Keylogger
   Keyboard never receives USB Reset

   USB single-chip host and device controller (ISP1161A1BD)
       Acts as Device for PC (causes changes to device properties)
       Acts as Host Controller for KB


   Behaviour can be tested via software
       e.g. libusb


   Note: Time Measurement for this design bug is possible too



Fabian Mihailowitsch (cirosec GmbH)                                   47 of 49
Conclusion
   PS/2
       All tested models were placed „inline“
       Time Measurement as general technique to detect them
       Scancode 1 as general technique to defeat them

   USB
       Detection via USB behaviour (USB speed, etc.)
       Individual bugs
       More research to come…

   All tested HKL contained bugs that can be used to detect them
       Generic and individual bugs
       Each HKL has to be analyzed seperately
       Bugs can be combined (Pattern)

   PoC code
       Soon: https://code.google.com/p/hkd/


Fabian Mihailowitsch (cirosec GmbH)                                 48 of 49
Thank you for your interest!




       Questions and Feedback



Fabian Mihailowitsch (cirosec GmbH)   49 of 49

Contenu connexe

Tendances

Building HMI with VB Tutorial [1998]
Building HMI with VB Tutorial [1998]Building HMI with VB Tutorial [1998]
Building HMI with VB Tutorial [1998]Sarod Paichayonrittha
 
44CON London - Attacking VxWorks: from Stone Age to Interstellar
44CON London - Attacking VxWorks: from Stone Age to Interstellar44CON London - Attacking VxWorks: from Stone Age to Interstellar
44CON London - Attacking VxWorks: from Stone Age to Interstellar44CON
 
Offline bruteforce attack on WiFi Protected Setup
Offline bruteforce attack on WiFi Protected SetupOffline bruteforce attack on WiFi Protected Setup
Offline bruteforce attack on WiFi Protected Setup0xcite
 
⭐⭐⭐⭐⭐ PROTEUS PCB DESIGN
⭐⭐⭐⭐⭐ PROTEUS PCB DESIGN⭐⭐⭐⭐⭐ PROTEUS PCB DESIGN
⭐⭐⭐⭐⭐ PROTEUS PCB DESIGNVictor Asanza
 
HITBSecConf 2016-Create Your Own Bad Usb
HITBSecConf 2016-Create Your Own Bad UsbHITBSecConf 2016-Create Your Own Bad Usb
HITBSecConf 2016-Create Your Own Bad UsbSeunghun han
 
BalCCon2k18 - Towards the perfect cryptocurrency wallet
BalCCon2k18 - Towards the perfect cryptocurrency walletBalCCon2k18 - Towards the perfect cryptocurrency wallet
BalCCon2k18 - Towards the perfect cryptocurrency walletNemanja Nikodijević
 
Safe and secure programming practices for embedded devices
Safe and secure programming practices for embedded devicesSafe and secure programming practices for embedded devices
Safe and secure programming practices for embedded devicesSoumitra Bhattacharyya
 
BlueHat Seattle 2019 || Guarding Against Physical Attacks: The Xbox One Story
BlueHat Seattle 2019 || Guarding Against Physical Attacks: The Xbox One StoryBlueHat Seattle 2019 || Guarding Against Physical Attacks: The Xbox One Story
BlueHat Seattle 2019 || Guarding Against Physical Attacks: The Xbox One StoryBlueHat Security Conference
 
At 89s51
At 89s51At 89s51
At 89s51Mr Giap
 
DEF CON 27 - HUBER AND ROSKOSCH - im on your phone listening attacking voip c...
DEF CON 27 - HUBER AND ROSKOSCH - im on your phone listening attacking voip c...DEF CON 27 - HUBER AND ROSKOSCH - im on your phone listening attacking voip c...
DEF CON 27 - HUBER AND ROSKOSCH - im on your phone listening attacking voip c...Felipe Prado
 
Buffer overflow – Smashing The Stack
Buffer overflow – Smashing The StackBuffer overflow – Smashing The Stack
Buffer overflow – Smashing The StackTomer Zait
 
m.tech esd lab manual for record
m.tech esd lab manual for recordm.tech esd lab manual for record
m.tech esd lab manual for recordG Lemuel George
 

Tendances (20)

Hacking the swisscom modem
Hacking the swisscom modemHacking the swisscom modem
Hacking the swisscom modem
 
Building HMI with VB Tutorial [1998]
Building HMI with VB Tutorial [1998]Building HMI with VB Tutorial [1998]
Building HMI with VB Tutorial [1998]
 
44CON London - Attacking VxWorks: from Stone Age to Interstellar
44CON London - Attacking VxWorks: from Stone Age to Interstellar44CON London - Attacking VxWorks: from Stone Age to Interstellar
44CON London - Attacking VxWorks: from Stone Age to Interstellar
 
Writing bios
Writing biosWriting bios
Writing bios
 
Offline bruteforce attack on WiFi Protected Setup
Offline bruteforce attack on WiFi Protected SetupOffline bruteforce attack on WiFi Protected Setup
Offline bruteforce attack on WiFi Protected Setup
 
⭐⭐⭐⭐⭐ PROTEUS PCB DESIGN
⭐⭐⭐⭐⭐ PROTEUS PCB DESIGN⭐⭐⭐⭐⭐ PROTEUS PCB DESIGN
⭐⭐⭐⭐⭐ PROTEUS PCB DESIGN
 
ShinoBOT Suite
ShinoBOT SuiteShinoBOT Suite
ShinoBOT Suite
 
Stuxnet dc9723
Stuxnet dc9723Stuxnet dc9723
Stuxnet dc9723
 
dspAt89 s52
dspAt89 s52dspAt89 s52
dspAt89 s52
 
Inside Winnyp
Inside WinnypInside Winnyp
Inside Winnyp
 
Argox scannerqig
Argox scannerqigArgox scannerqig
Argox scannerqig
 
HITBSecConf 2016-Create Your Own Bad Usb
HITBSecConf 2016-Create Your Own Bad UsbHITBSecConf 2016-Create Your Own Bad Usb
HITBSecConf 2016-Create Your Own Bad Usb
 
BalCCon2k18 - Towards the perfect cryptocurrency wallet
BalCCon2k18 - Towards the perfect cryptocurrency walletBalCCon2k18 - Towards the perfect cryptocurrency wallet
BalCCon2k18 - Towards the perfect cryptocurrency wallet
 
Safe and secure programming practices for embedded devices
Safe and secure programming practices for embedded devicesSafe and secure programming practices for embedded devices
Safe and secure programming practices for embedded devices
 
BlueHat Seattle 2019 || Guarding Against Physical Attacks: The Xbox One Story
BlueHat Seattle 2019 || Guarding Against Physical Attacks: The Xbox One StoryBlueHat Seattle 2019 || Guarding Against Physical Attacks: The Xbox One Story
BlueHat Seattle 2019 || Guarding Against Physical Attacks: The Xbox One Story
 
At 89s51
At 89s51At 89s51
At 89s51
 
Des
DesDes
Des
 
DEF CON 27 - HUBER AND ROSKOSCH - im on your phone listening attacking voip c...
DEF CON 27 - HUBER AND ROSKOSCH - im on your phone listening attacking voip c...DEF CON 27 - HUBER AND ROSKOSCH - im on your phone listening attacking voip c...
DEF CON 27 - HUBER AND ROSKOSCH - im on your phone listening attacking voip c...
 
Buffer overflow – Smashing The Stack
Buffer overflow – Smashing The StackBuffer overflow – Smashing The Stack
Buffer overflow – Smashing The Stack
 
m.tech esd lab manual for record
m.tech esd lab manual for recordm.tech esd lab manual for record
m.tech esd lab manual for record
 

Similaire à Detectando Hardware keylogger

Detecting hardware keyloggers
Detecting hardware keyloggersDetecting hardware keyloggers
Detecting hardware keyloggersmihailowitsch
 
DefCon 2012 - Hardware Backdooring (Slides)
DefCon 2012 - Hardware Backdooring (Slides)DefCon 2012 - Hardware Backdooring (Slides)
DefCon 2012 - Hardware Backdooring (Slides)Michael Smith
 
23c3 Bluetooth hacking revisited
23c3 Bluetooth hacking revisited23c3 Bluetooth hacking revisited
23c3 Bluetooth hacking revisitedThierry Zoller
 
Bitcoin hardware wallets security
Bitcoin hardware wallets securityBitcoin hardware wallets security
Bitcoin hardware wallets securityEric Larcheveque
 
High Definition Fuzzing; Exploring HDMI vulnerabilities
High Definition Fuzzing; Exploring HDMI vulnerabilitiesHigh Definition Fuzzing; Exploring HDMI vulnerabilities
High Definition Fuzzing; Exploring HDMI vulnerabilitiesE Hacking
 
Don't Tell Joanna the Virtualized Rootkit is Dead (Blackhat 2007)
Don't Tell Joanna the Virtualized Rootkit is Dead (Blackhat 2007)Don't Tell Joanna the Virtualized Rootkit is Dead (Blackhat 2007)
Don't Tell Joanna the Virtualized Rootkit is Dead (Blackhat 2007)Nate Lawson
 
ฮาร์ดแวด์
ฮาร์ดแวด์ฮาร์ดแวด์
ฮาร์ดแวด์sommat
 
[Hackito2012] Hardware backdooring is practical
[Hackito2012] Hardware backdooring is practical[Hackito2012] Hardware backdooring is practical
[Hackito2012] Hardware backdooring is practicalMoabi.com
 
Hardware backdooring is practical : slides
Hardware backdooring is practical : slidesHardware backdooring is practical : slides
Hardware backdooring is practical : slidesMoabi.com
 
IoT and IIOT at QuBit Prague 2018
IoT and IIOT at QuBit Prague 2018 IoT and IIOT at QuBit Prague 2018
IoT and IIOT at QuBit Prague 2018 Avast
 
Raspberry Pi I/O控制與感測器讀取
Raspberry Pi I/O控制與感測器讀取Raspberry Pi I/O控制與感測器讀取
Raspberry Pi I/O控制與感測器讀取艾鍗科技
 
Handle Explotion of Remote System Without Being Online (Merchant Bhaumik)
Handle Explotion of Remote System Without Being Online (Merchant Bhaumik)Handle Explotion of Remote System Without Being Online (Merchant Bhaumik)
Handle Explotion of Remote System Without Being Online (Merchant Bhaumik)ClubHack
 
nand2tetris 舊版投影片 -- 第三章 循序邏輯
nand2tetris 舊版投影片 -- 第三章 循序邏輯nand2tetris 舊版投影片 -- 第三章 循序邏輯
nand2tetris 舊版投影片 -- 第三章 循序邏輯鍾誠 陳鍾誠
 
side-channel-kevin2600
side-channel-kevin2600side-channel-kevin2600
side-channel-kevin2600Kevin2600
 
44CON 2014 - Simple Hardware Sidechannel Attacks for 10 GBP or Less, Joe Fitz...
44CON 2014 - Simple Hardware Sidechannel Attacks for 10 GBP or Less, Joe Fitz...44CON 2014 - Simple Hardware Sidechannel Attacks for 10 GBP or Less, Joe Fitz...
44CON 2014 - Simple Hardware Sidechannel Attacks for 10 GBP or Less, Joe Fitz...44CON
 
HWallet: The simplest Bitcoin hardware wallet
HWallet: The simplest Bitcoin hardware walletHWallet: The simplest Bitcoin hardware wallet
HWallet: The simplest Bitcoin hardware walletNemanja Nikodijević
 
[HUN] Hackersuli - Console and arcade game hacking – history, present, future
[HUN] Hackersuli - Console and arcade game hacking – history, present, future[HUN] Hackersuli - Console and arcade game hacking – history, present, future
[HUN] Hackersuli - Console and arcade game hacking – history, present, futurehackersuli
 

Similaire à Detectando Hardware keylogger (20)

Detecting hardware keyloggers
Detecting hardware keyloggersDetecting hardware keyloggers
Detecting hardware keyloggers
 
DefCon 2012 - Hardware Backdooring (Slides)
DefCon 2012 - Hardware Backdooring (Slides)DefCon 2012 - Hardware Backdooring (Slides)
DefCon 2012 - Hardware Backdooring (Slides)
 
23c3 Bluetooth hacking revisited
23c3 Bluetooth hacking revisited23c3 Bluetooth hacking revisited
23c3 Bluetooth hacking revisited
 
Power point
Power pointPower point
Power point
 
Power point
Power pointPower point
Power point
 
Power point
Power pointPower point
Power point
 
Bitcoin hardware wallets security
Bitcoin hardware wallets securityBitcoin hardware wallets security
Bitcoin hardware wallets security
 
High Definition Fuzzing; Exploring HDMI vulnerabilities
High Definition Fuzzing; Exploring HDMI vulnerabilitiesHigh Definition Fuzzing; Exploring HDMI vulnerabilities
High Definition Fuzzing; Exploring HDMI vulnerabilities
 
Don't Tell Joanna the Virtualized Rootkit is Dead (Blackhat 2007)
Don't Tell Joanna the Virtualized Rootkit is Dead (Blackhat 2007)Don't Tell Joanna the Virtualized Rootkit is Dead (Blackhat 2007)
Don't Tell Joanna the Virtualized Rootkit is Dead (Blackhat 2007)
 
ฮาร์ดแวด์
ฮาร์ดแวด์ฮาร์ดแวด์
ฮาร์ดแวด์
 
[Hackito2012] Hardware backdooring is practical
[Hackito2012] Hardware backdooring is practical[Hackito2012] Hardware backdooring is practical
[Hackito2012] Hardware backdooring is practical
 
Hardware backdooring is practical : slides
Hardware backdooring is practical : slidesHardware backdooring is practical : slides
Hardware backdooring is practical : slides
 
IoT and IIOT at QuBit Prague 2018
IoT and IIOT at QuBit Prague 2018 IoT and IIOT at QuBit Prague 2018
IoT and IIOT at QuBit Prague 2018
 
Raspberry Pi I/O控制與感測器讀取
Raspberry Pi I/O控制與感測器讀取Raspberry Pi I/O控制與感測器讀取
Raspberry Pi I/O控制與感測器讀取
 
Handle Explotion of Remote System Without Being Online (Merchant Bhaumik)
Handle Explotion of Remote System Without Being Online (Merchant Bhaumik)Handle Explotion of Remote System Without Being Online (Merchant Bhaumik)
Handle Explotion of Remote System Without Being Online (Merchant Bhaumik)
 
nand2tetris 舊版投影片 -- 第三章 循序邏輯
nand2tetris 舊版投影片 -- 第三章 循序邏輯nand2tetris 舊版投影片 -- 第三章 循序邏輯
nand2tetris 舊版投影片 -- 第三章 循序邏輯
 
side-channel-kevin2600
side-channel-kevin2600side-channel-kevin2600
side-channel-kevin2600
 
44CON 2014 - Simple Hardware Sidechannel Attacks for 10 GBP or Less, Joe Fitz...
44CON 2014 - Simple Hardware Sidechannel Attacks for 10 GBP or Less, Joe Fitz...44CON 2014 - Simple Hardware Sidechannel Attacks for 10 GBP or Less, Joe Fitz...
44CON 2014 - Simple Hardware Sidechannel Attacks for 10 GBP or Less, Joe Fitz...
 
HWallet: The simplest Bitcoin hardware wallet
HWallet: The simplest Bitcoin hardware walletHWallet: The simplest Bitcoin hardware wallet
HWallet: The simplest Bitcoin hardware wallet
 
[HUN] Hackersuli - Console and arcade game hacking – history, present, future
[HUN] Hackersuli - Console and arcade game hacking – history, present, future[HUN] Hackersuli - Console and arcade game hacking – history, present, future
[HUN] Hackersuli - Console and arcade game hacking – history, present, future
 

Plus de Jaime Restrepo

I Know You ( iKy OSINT Tool )
I Know You ( iKy OSINT Tool )I Know You ( iKy OSINT Tool )
I Know You ( iKy OSINT Tool )Jaime Restrepo
 
i fought the law and the law lost
i fought the law and the law losti fought the law and the law lost
i fought the law and the law lostJaime Restrepo
 
How to build a powerfull open source soc4
How to build a powerfull open source soc4How to build a powerfull open source soc4
How to build a powerfull open source soc4Jaime Restrepo
 
Zer 0 no zer(0 day) dragon jar
Zer 0 no zer(0 day)   dragon jarZer 0 no zer(0 day)   dragon jar
Zer 0 no zer(0 day) dragon jarJaime Restrepo
 
Alta seguridad para clusters críticos
Alta seguridad para clusters críticosAlta seguridad para clusters críticos
Alta seguridad para clusters críticosJaime Restrepo
 
Bogotá Wardriving (Spanish)
Bogotá Wardriving (Spanish)Bogotá Wardriving (Spanish)
Bogotá Wardriving (Spanish)Jaime Restrepo
 
IoT Cyber Attacks: Comprometiendo la Ciberseguridad de Gasolineras en Latinoa...
IoT Cyber Attacks: Comprometiendo la Ciberseguridad de Gasolineras en Latinoa...IoT Cyber Attacks: Comprometiendo la Ciberseguridad de Gasolineras en Latinoa...
IoT Cyber Attacks: Comprometiendo la Ciberseguridad de Gasolineras en Latinoa...Jaime Restrepo
 
WordPress, another terror story (Spanish)
WordPress, another terror story (Spanish)WordPress, another terror story (Spanish)
WordPress, another terror story (Spanish)Jaime Restrepo
 
Hunting Buffer Overflow. A la caza de funciones inseguras en GNU/Linux
Hunting Buffer Overflow. A la caza de funciones inseguras en GNU/LinuxHunting Buffer Overflow. A la caza de funciones inseguras en GNU/Linux
Hunting Buffer Overflow. A la caza de funciones inseguras en GNU/LinuxJaime Restrepo
 
Hackeando el mundo exterior a través de Bluetooth Low-Energy
Hackeando el mundo exterior a través de Bluetooth Low-EnergyHackeando el mundo exterior a través de Bluetooth Low-Energy
Hackeando el mundo exterior a través de Bluetooth Low-EnergyJaime Restrepo
 
Memorias perito vol_7_dragonjar_con
Memorias perito vol_7_dragonjar_conMemorias perito vol_7_dragonjar_con
Memorias perito vol_7_dragonjar_conJaime Restrepo
 
Cloud native security en tiempo de coronavirus dragon jar
Cloud native security en tiempo de coronavirus dragon jarCloud native security en tiempo de coronavirus dragon jar
Cloud native security en tiempo de coronavirus dragon jarJaime Restrepo
 
Analysis of time windows to detect botnets behaviours
Analysis of time windows to detect botnets behavioursAnalysis of time windows to detect botnets behaviours
Analysis of time windows to detect botnets behavioursJaime Restrepo
 
Bug Bounty Experiences (Spanish)
Bug Bounty Experiences (Spanish)Bug Bounty Experiences (Spanish)
Bug Bounty Experiences (Spanish)Jaime Restrepo
 
Threat intel malware_analysis
Threat intel malware_analysisThreat intel malware_analysis
Threat intel malware_analysisJaime Restrepo
 
Bugbounty en Español, todo lo que no te han dicho
Bugbounty en Español, todo lo que no te han dichoBugbounty en Español, todo lo que no te han dicho
Bugbounty en Español, todo lo que no te han dichoJaime Restrepo
 
Técnicas de Inteligencia en la lucha contra el Crimen Organizado y el Terrorismo
Técnicas de Inteligencia en la lucha contra el Crimen Organizado y el TerrorismoTécnicas de Inteligencia en la lucha contra el Crimen Organizado y el Terrorismo
Técnicas de Inteligencia en la lucha contra el Crimen Organizado y el TerrorismoJaime Restrepo
 
Gestión del tiempo en tiempos del COVID-19
Gestión del tiempo en tiempos del COVID-19Gestión del tiempo en tiempos del COVID-19
Gestión del tiempo en tiempos del COVID-19Jaime Restrepo
 
Pentest: Técnicas alternativas para un cliente “experimentado” – Nelson Boris...
Pentest: Técnicas alternativas para un cliente “experimentado” – Nelson Boris...Pentest: Técnicas alternativas para un cliente “experimentado” – Nelson Boris...
Pentest: Técnicas alternativas para un cliente “experimentado” – Nelson Boris...Jaime Restrepo
 
CSRF: El "Nuevo" Target - Juan David Castro
CSRF: El "Nuevo" Target - Juan David CastroCSRF: El "Nuevo" Target - Juan David Castro
CSRF: El "Nuevo" Target - Juan David CastroJaime Restrepo
 

Plus de Jaime Restrepo (20)

I Know You ( iKy OSINT Tool )
I Know You ( iKy OSINT Tool )I Know You ( iKy OSINT Tool )
I Know You ( iKy OSINT Tool )
 
i fought the law and the law lost
i fought the law and the law losti fought the law and the law lost
i fought the law and the law lost
 
How to build a powerfull open source soc4
How to build a powerfull open source soc4How to build a powerfull open source soc4
How to build a powerfull open source soc4
 
Zer 0 no zer(0 day) dragon jar
Zer 0 no zer(0 day)   dragon jarZer 0 no zer(0 day)   dragon jar
Zer 0 no zer(0 day) dragon jar
 
Alta seguridad para clusters críticos
Alta seguridad para clusters críticosAlta seguridad para clusters críticos
Alta seguridad para clusters críticos
 
Bogotá Wardriving (Spanish)
Bogotá Wardriving (Spanish)Bogotá Wardriving (Spanish)
Bogotá Wardriving (Spanish)
 
IoT Cyber Attacks: Comprometiendo la Ciberseguridad de Gasolineras en Latinoa...
IoT Cyber Attacks: Comprometiendo la Ciberseguridad de Gasolineras en Latinoa...IoT Cyber Attacks: Comprometiendo la Ciberseguridad de Gasolineras en Latinoa...
IoT Cyber Attacks: Comprometiendo la Ciberseguridad de Gasolineras en Latinoa...
 
WordPress, another terror story (Spanish)
WordPress, another terror story (Spanish)WordPress, another terror story (Spanish)
WordPress, another terror story (Spanish)
 
Hunting Buffer Overflow. A la caza de funciones inseguras en GNU/Linux
Hunting Buffer Overflow. A la caza de funciones inseguras en GNU/LinuxHunting Buffer Overflow. A la caza de funciones inseguras en GNU/Linux
Hunting Buffer Overflow. A la caza de funciones inseguras en GNU/Linux
 
Hackeando el mundo exterior a través de Bluetooth Low-Energy
Hackeando el mundo exterior a través de Bluetooth Low-EnergyHackeando el mundo exterior a través de Bluetooth Low-Energy
Hackeando el mundo exterior a través de Bluetooth Low-Energy
 
Memorias perito vol_7_dragonjar_con
Memorias perito vol_7_dragonjar_conMemorias perito vol_7_dragonjar_con
Memorias perito vol_7_dragonjar_con
 
Cloud native security en tiempo de coronavirus dragon jar
Cloud native security en tiempo de coronavirus dragon jarCloud native security en tiempo de coronavirus dragon jar
Cloud native security en tiempo de coronavirus dragon jar
 
Analysis of time windows to detect botnets behaviours
Analysis of time windows to detect botnets behavioursAnalysis of time windows to detect botnets behaviours
Analysis of time windows to detect botnets behaviours
 
Bug Bounty Experiences (Spanish)
Bug Bounty Experiences (Spanish)Bug Bounty Experiences (Spanish)
Bug Bounty Experiences (Spanish)
 
Threat intel malware_analysis
Threat intel malware_analysisThreat intel malware_analysis
Threat intel malware_analysis
 
Bugbounty en Español, todo lo que no te han dicho
Bugbounty en Español, todo lo que no te han dichoBugbounty en Español, todo lo que no te han dicho
Bugbounty en Español, todo lo que no te han dicho
 
Técnicas de Inteligencia en la lucha contra el Crimen Organizado y el Terrorismo
Técnicas de Inteligencia en la lucha contra el Crimen Organizado y el TerrorismoTécnicas de Inteligencia en la lucha contra el Crimen Organizado y el Terrorismo
Técnicas de Inteligencia en la lucha contra el Crimen Organizado y el Terrorismo
 
Gestión del tiempo en tiempos del COVID-19
Gestión del tiempo en tiempos del COVID-19Gestión del tiempo en tiempos del COVID-19
Gestión del tiempo en tiempos del COVID-19
 
Pentest: Técnicas alternativas para un cliente “experimentado” – Nelson Boris...
Pentest: Técnicas alternativas para un cliente “experimentado” – Nelson Boris...Pentest: Técnicas alternativas para un cliente “experimentado” – Nelson Boris...
Pentest: Técnicas alternativas para un cliente “experimentado” – Nelson Boris...
 
CSRF: El "Nuevo" Target - Juan David Castro
CSRF: El "Nuevo" Target - Juan David CastroCSRF: El "Nuevo" Target - Juan David Castro
CSRF: El "Nuevo" Target - Juan David Castro
 

Dernier

[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 

Dernier (20)

[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 

Detectando Hardware keylogger

  • 1. Detecting Hardware Keyloggers Fabian Mihailowitsch November 6, 2010
  • 2. Who?  Fabian Mihailowitsch  Former Software Developer  German energy combine  IT-Security Consultant  cirosec GmbH  Penetration Tests  Source Code Reviews  Contact  Email: fm@cirosec.de  www.cirosec.de Fabian Mihailowitsch (cirosec GmbH) 2 of 49
  • 3. What?  Hardware Keylogger  PS/2  USB  Hardware Keyloggers are undetectable by Software „Visual inspection is the primary means of detecting hardware keyloggers, since there are no known methods of detecting them through software. “, en.wikipedia.org, 26.10.10  Talk: Detection of Hardware Keyloggers with Software ;) Fabian Mihailowitsch (cirosec GmbH) 3 of 49
  • 4. Why?  Less research on this topic  Few information  No practical way to detect HKL  Because HKL are a threat  2005 (GB): Sumitomo Bank  Attackers tried to steal 423 million USD  Multiple HKL were installed  How about your company?  Solution to identify HKL in large enterprises  Visual inspection is impractical  Only possible via software Fabian Mihailowitsch (cirosec GmbH) 4 of 49
  • 5. Hardware Keylogger  Hardware Keylogger  USB  PS/2  Keyboard Module  Mini- / PCI card  Installed between PC and Keyboard  Records key strokes  Captured data are retrieved  Software  Keyboard  Ghost typing  Flash drive  Wi-Fi-Access  Email  TCP connect  Bluetooth Fabian Mihailowitsch (cirosec GmbH) 5 of 49
  • 6. Hardware Keylogger  Features  Up to 2 GB flash memory  Encryption  Password protection  Timestamping  Time use charts  Search functions  Upgradeable firmware  Pricing  PS/2: 32.00 USD  USB: 58.00 USD Fabian Mihailowitsch (cirosec GmbH) 6 of 49
  • 7. Hardware Keylogger – The companies  Big ones  KeyDemon, KeeLog, … (PL)  KeyCarbon (US)  Most companies rebrand KeyDemon  KeyCobra  KeyLlama (once own products)  …  Also „famous“ (older products)  KEYKatcher (US)  KeyGhost (NZ)  KeyShark (DE)  The others  WirelessKeylogger (UK)  Exotic Stuff (mostly CN)  Some Open Source Keylogger Fabian Mihailowitsch (cirosec GmbH) 7 of 49
  • 8. PS/2 – How does it work  Keyboard  Wire matrix  Microcontroller  Sends scancode (make/break)  PC  Keyboard Controller (KBC)  0x60: I/O-Buffer  0x64: Status Fabian Mihailowitsch (cirosec GmbH) 8 of 49
  • 9. PS/2 – How does it work  Communication KBC <-> Keyboard  Obvious  Scancodes  Not that obvious ;)  Set LEDs Example (Ping)  Choose scancode KBC sends "ping" (0xEE) via 0x60  Set repeate rate KB sends "pong" (0xEE) to 0x60  Keyboard self-test / reset  Ping  … Fabian Mihailowitsch (cirosec GmbH) 9 of 49
  • 10. PS/2 – How does it work  PS/2 is a serial interface  Communication 1. DATA 2. -  DATA 3. GND  CLK 4. VCC 5. CLCK  Bidirectional 6. -  Keyboard defines clock (30 – 50 ns)  Data frames  KB (11 bit): startbit, D0-D7 [data], odd parity, stopbit  KBC (12 bit): startbit, D0-D7 [data], odd parity, stopbit, ACK (KB) Fabian Mihailowitsch (cirosec GmbH) 10 of 49
  • 11. PS/2 – How does it work  PS/2 is a serial interface  Communication 1. DATA 2. -  DATA 3. GND  CLK 4. VCC 5. CLCK  Bidirectional 6. -  Keyboard defines clock (30 – 50 ns) Fabian Mihailowitsch (cirosec GmbH) 11 of 49
  • 12. Detecting PS/2 Hardware Keylogger  Current measurement  Additional electronic components = Additional power consumption ;)  KeyDemon = 65 mA  KeyKatcher = 54 mA  More current is drawn  Cannot be measured by software Fabian Mihailowitsch (cirosec GmbH) 12 of 49
  • 13. Detecting PS/2 Hardware Keylogger  Keylogger are password protected  Entered via Keyboard  Ghost typing  Shipped with default password  Password restore is complex  Brute Force password  Via software  Check ghost typing Fabian Mihailowitsch (cirosec GmbH) 13 of 49
  • 14. Detecting PS/2 Hardware Keylogger  Problem  Tested HKL don‘t tap the data line  HKL are placed „inline“ HKL Data Data Keyboard PC Clock Microprocessor Clock  HKL knows the data flow  KBC can‘t send fake keystrokes Fabian Mihailowitsch (cirosec GmbH) 14 of 49
  • 15. Detecting PS/2 Hardware Keylogger  However  Some KB commands (0x60) lead to fake key presses  Maybe keyboard response is interpreted…  Brute Force password  Translation Table (KB command -> key press)  Brute Force attack via Software  Practical?  Limited amount of chars (~10)  Not all passwords can be Brute Forced  Works for: KeyGhost, KEYKatcher (some) Fabian Mihailowitsch (cirosec GmbH) 15 of 49
  • 16. Detecting PS/2 Hardware Keylogger Demo Fabian Mihailowitsch (cirosec GmbH) 16 of 49
  • 17. Detecting PS/2 Hardware Keylogger  Changes on the line  HKL are placed „inline“  HKL might change signals on the line  Different signals (data)  Own clock (30-50 ns)  Slight dislocation of data/clock signal  Maybe more… ;) Fabian Mihailowitsch (cirosec GmbH) 17 of 49
  • 18. Detecting PS/2 Hardware Keylogger  Analyze the data flow  Tap signal at the keyboard  Tap signal after the keylogger Fabian Mihailowitsch (cirosec GmbH) 18 of 49
  • 19. Detecting PS/2 Hardware Keylogger  Result: Keylogger Keyboard Fabian Mihailowitsch (cirosec GmbH) 19 of 49
  • 20. Detecting PS/2 Hardware Keylogger  Clock is set to low  Delay of the HKL Keylogger Delay Keyboard Fabian Mihailowitsch (cirosec GmbH) 20 of 49
  • 21. Detecting PS/2 Hardware Keylogger  Clock is set to high  Same timing Fabian Mihailowitsch (cirosec GmbH) 21 of 49
  • 22. Detecting PS/2 Hardware Keylogger  Clock cycles are shorter for HKL  Probably HKL generates own clock signal  Can be detected on the wire  No possibility to detect via software  Exact clock state cannot be retrieved by KBC  But the clock signal starts later…  Remember when clock was pulled low  HKL might cause a delay on the wire Fabian Mihailowitsch (cirosec GmbH) 22 of 49
  • 23. Detecting PS/2 Hardware Keylogger  Time Measurement  Tested HKL were placed „inline“  Microprocessor has to analyze the signal and pass it on  This additional logic increase signal propagation time Data signal (begin) Data signal (end) Fabian Mihailowitsch (cirosec GmbH) 23 of 49
  • 24. Detecting PS/2 Hardware Keylogger  Time Measurement  Tested HKL were placed „inline“  Microprocessor has to analyze the signal and pass it on  This additional logic increase signal propagation time Delay Fabian Mihailowitsch (cirosec GmbH) 24 of 49
  • 25. Detecting PS/2 Hardware Keylogger  Basic idea  Send command to KB, wait for response and measure run time  Like a „ping“ _start: xor %ecx, %ecx mov $0x9999, %cx Repeat 9999x: _wait1: in $0x60, %al xor %eax, %eax in $0x64, %al test $0x2, %al Send „Identify Keyboard“ (0xF2) jne _wait1 mov $0xF2, %al out %al, $0x60 _wait2: xor %eax, %eax in $0x60, %al Wait until Keyboard cmp $0xFA, %al jne _wait2 responds with „MF-II“ (0xFA) loop _wait1 ret Fabian Mihailowitsch (cirosec GmbH) 25 of 49
  • 26. Detecting PS/2 Hardware Keylogger  Delay introduced by the HKL is very (!) small  Previous code can‘t be used in „normal OS state“  scheduler, interrupts, …  Measurement isn‘t exact enough  Code must run exclusively  Get the most accurate measurement Fabian Mihailowitsch (cirosec GmbH) 26 of 49
  • 27. Detecting PS/2 Hardware Keylogger  Solution  Loadable Kernel Module  Get CPU exclusively  Deactivate interrupts for processor  Disable kernel preemption  SMP locking  Run ASM code („ping“)  Measure runtime of the code  Interrupts are disabled  Read processors time stamp counter (rdtsc)  Counter is increased every clock cycle  Use the number of clock cycles  Restore everything and write result to kernel message buffer Fabian Mihailowitsch (cirosec GmbH) 27 of 49
  • 28. Detecting PS/2 Hardware Keylogger  Time Measurement  Results Setup Clock cycles Keyboard 338 1 03523280 KeyGhost 338 5 62656160 KeyKatcher Mini 338 6 25304965 KeyKatcher Magnum 338 4 21058298  „Inline“ HKL can be detected using Time Measurement  Measure without HKL  Define Baseline (e.g 338200000000)  Measure again  Win ;) Fabian Mihailowitsch (cirosec GmbH) 28 of 49
  • 29. Defeat PS/2 Hardware Keylogger  Fill Keylogger memory via software  Some stop logging  Some overwrite memory at the beginning  Keystrokes are overwritten / not recorded  Keyboard commands  Some commands lead to fake keypress (see Brute Force)  Send those repeatedly  ~100 logged keys in 10s  109 minutes to fill 64kB  Keyboard command „0xFE“  Resend  Keyboard responds by resending the last-sent byte  ~ 4 logged keys in 10 s  Practical?  Most PS/2 HKL have a few KBytes memory  Nevertheless takes too much time  Works for: KeyGhost, KEYKatcher (some) Fabian Mihailowitsch (cirosec GmbH) 29 of 49
  • 30. Defeat PS/2 Hardware Keylogger  Stop HKL from sniffing keystrokes  Keyboard sends scancodes  Make / Break codes  Defined in scan code set  Scan codes set can be choosen via KB command „0xF0“  3 scancode sets  1: XT keyboards  2: MF2 keyboard  3: AT keyboads  Tested Keyloggers support scancode set 2 and 3  Choose scancode set 1…  Keylogger doesn‘t log correctly  Logs can‘t be used  New mapping scancode <-> keycode is necessary for OS  hdev  HAL  setkeycode Fabian Mihailowitsch (cirosec GmbH) 30 of 49
  • 31. USB – How does it work  Host controller + Hubs + devices build tree structure  Device has various endpoints  Buffer in / out  Configuration via endpoint 0  Low Speed devices (Keyboard): endpoint 0 + 2 endpoints with 8 Bytes  Only host controller manages communication with devices  Polls buffer (device configuration)  Writes buffer  Data are transferred as packets  Data transfer types  Isochronous transfer (guaranteed data rate, no error correction)  Interrupt transfer (small amount of data, retransmission)  Bulk transfer (big amount of data, retransmission)  Control transfer (device configuration, ACKed in both directions) Fabian Mihailowitsch (cirosec GmbH) 31 of 49
  • 32. USB – How does it work  Different device classes  Plug and Play  Relevant: HID class  Defines communication  KB sends 8 Byte input report  Interrupt Transfer  Periodically polled by host  Contains pressed keys  No make / break codes  Packet: Modifier OEM use Keycode Keycode Keycode Keycode Keycode Keycode keys Byte 0 Byte 7 Fabian Mihailowitsch (cirosec GmbH) 32 of 49
  • 33. USB – How does it work  PC sends 1 Byte output report  USB Control Transfer  Control LEDs  Packet: NUM Caps Scroll Compose KANA Constant Constant Constant Lock Lock Lock Bit 0 Bit 7  No addtional KB commands  Transfer handeld via USB  Typematic rate, etc. configured on PC Fabian Mihailowitsch (cirosec GmbH) 33 of 49
  • 34. Detecting USB Hardware Keylogger  Current Measurement  Like PS/2  More current is drawn  Cannot be measured by software  Device configuration contains current  However no accurate information available Fabian Mihailowitsch (cirosec GmbH) 34 of 49
  • 35. Detecting USB Hardware Keylogger  Brute Force KL password  KeyCarbon: software to retrieve keystrokes Fabian Mihailowitsch (cirosec GmbH) 35 of 49
  • 36. Detecting USB Hardware Keylogger  Brute Force KL password  KeyCarbon: software to retrieve keystrokes  Software needs to communicate with KL…  USB sniffer: Fabian Mihailowitsch (cirosec GmbH) 36 of 49
  • 37. Detecting USB Hardware Keylogger  Software needs to communicate with KL…  1 Byte output reports (set LEDs)  Fixed header + HKL password + footer  Password char is encoded with 4 Bytes  Brute Force (default) passwords  Create Lookup Table for PW chars  Perform attack via software  Works for: KeyCarbon models Fabian Mihailowitsch (cirosec GmbH) 37 of 49
  • 38. Detecting USB Hardware Keylogger  Changes to USB Properties / Topology  Keyboard only: Fabian Mihailowitsch (cirosec GmbH) 38 of 49
  • 39. Detecting USB Hardware Keylogger  Changes to USB Properties / Topology  Keyboard + KeyCarbon: Fabian Mihailowitsch (cirosec GmbH) 39 of 49
  • 40. Detecting USB Hardware Keylogger  Changes to USB Properties / Topology  Addtional USB HUB if KeyCarbon is present „Why is the device undetectable, in practice, by software? The device shows up in Windows ‘Device Manager’ as a generic USB hub. This generic USB hub has no ID strings, and is indistinguishable from the generic USB hub found in 90% of all USB hubs. “  Well… USB HUB Controller used: Texas Instruments (TUSB2046B) Fabian Mihailowitsch (cirosec GmbH) 40 of 49
  • 41. Detecting USB Hardware Keylogger  Changes to USB Properties / Topology  KeyGhost changes device properties  USB Speed  Keyboard: bMaxPacketSize0 08 / Speed: Low  KeyGhost: bMaxPacketSize0 64 / Speed: Full  Device Status  Keyboard : Bus Powered (0x0000)  KeyGhost : Self Powered (0x0001)  More details later… Fabian Mihailowitsch (cirosec GmbH) 41 of 49
  • 42. Detecting USB Hardware Keylogger  Time Measurement  Like PS/2  HKL are placed inline -> introduces a delay Keylogger Delay Keyboard Fabian Mihailowitsch (cirosec GmbH) 42 of 49
  • 43. Detecting USB Hardware Keylogger  Time Measurement  Basically the same idea like for PS/2  Has to be adjusted for USB  PC can send 1 Byte output report to KB (LED)  sent as Control-Transfer  Control-Transfer are ACKed  Like PS/2 „ping“  Can be used for runtime measurement ;)  Implementation  Send output report to KB  Wait until ACKed  Do it various times (10.000)  Measure runtime  Measurement can be performed from userland  e.g. libusb Fabian Mihailowitsch (cirosec GmbH) 43 of 49
  • 44. Detecting USB Hardware Keylogger  Time Measurement  Results Setup Milliseconds Keyboard 40034 KeyGhost 56331 KeyCarbon 43137  USB HKL can be detected using Time Measurement  Create baseline for default setup (HUBs, etc.)  Measure again  Win ;) Fabian Mihailowitsch (cirosec GmbH) 44 of 49
  • 45. Detecting USB Hardware Keylogger  Different keyboard behaviour  Normal behaviour:  Interrupt read (8 Byte): x81x06x00x22x00x00x00x04  Send USB Reset  Interrupt read (8 Byte): x00x00x00x00x00x00x00x00  KeyGhost behaviour:  Interrupt read (8 Byte): x81x06x00x22x00x00x00x04  Send USB Reset  Interrupt read (8 Byte): x81x06x00x22x00x00x00x04 Fabian Mihailowitsch (cirosec GmbH) 45 of 49
  • 46. Detecting USB Hardware Keylogger  Different keyboard behaviour  Analysis on the wire…  Reason: keyboard never receives USB Reset Before Keylogger After Keylogger USB Reset (D-/D+ pulled low) Fabian Mihailowitsch (cirosec GmbH) 46 of 49
  • 47. Detecting USB Hardware Keylogger  Keyboard never receives USB Reset  USB single-chip host and device controller (ISP1161A1BD)  Acts as Device for PC (causes changes to device properties)  Acts as Host Controller for KB  Behaviour can be tested via software  e.g. libusb  Note: Time Measurement for this design bug is possible too Fabian Mihailowitsch (cirosec GmbH) 47 of 49
  • 48. Conclusion  PS/2  All tested models were placed „inline“  Time Measurement as general technique to detect them  Scancode 1 as general technique to defeat them  USB  Detection via USB behaviour (USB speed, etc.)  Individual bugs  More research to come…  All tested HKL contained bugs that can be used to detect them  Generic and individual bugs  Each HKL has to be analyzed seperately  Bugs can be combined (Pattern)  PoC code  Soon: https://code.google.com/p/hkd/ Fabian Mihailowitsch (cirosec GmbH) 48 of 49
  • 49. Thank you for your interest! Questions and Feedback Fabian Mihailowitsch (cirosec GmbH) 49 of 49