SlideShare a Scribd company logo
Eystein Stenberg
CTO
Mender.io
Linux IoT Botnet Wars and the Lack of Security Hardening
- Chris Pirillo
● Eystein Stenberg
○ 8 years in systems security management
○ M. Sc., Computer Science, Cryptography
○ eystein@mender.io
● Mender.io
○ Over-the-air updater for Embedded Linux
○ Open source (Apache License, v2)
○ Dual A/B rootfs layout (client)
○ Remote deployment management (server)
○ Under active development
About me
We need to learn from past compromises
● Avoid the same mistakes
● Think about security design of your products or code
● Peace of mind you will not be next
Session overview
● Case-studies of device compromises & botnets
○ Mirai (August 2016)
○ Hajime (October 2016)
○ BrickerBot (March 2017)
● Common security problems
● Solution designs
Mirai - Purpose and impact
● Discovered: August 2016
○ Mirai means “future” in Japanese
● 200,000 - 300,000 “stable” infections
○ Peaked at 600,000 infections
● Used for DDoS in late 2016
○ Krebs on Security (600 GBps), OVH
○ Dyn DNS
○ Can be extended for other uses
● Source code on GitHub
○ Leaked in hacker forums, published by researchers
○ https://github.com/jgamblin/Mirai-Source-Code
Source: Understanding the Mirai Botnet, Usenix
Mirai - Design (1/2 - Discovery)
1. IPv4 TCP SYN probes for port 23 and 2323
○ Later iteration: SSH, CWMP/TR-069 exploit
2. 10 brute force Telnet login attempts
○ From list of 62 username/passwords
3. Send IP & credentials to report server
Existing infection
23
2323
1. Scan
2. Login
admin/admin
IP: 1.2.3.4
Report server
(attacker-controlled)
3. IP: 1.2.3.4
admin/admin
Mirai - Design (2/2 - Infection)
1. Loader program
○ Detects environment and installs Mirai
2. Obfuscation
○ Randomize process name
○ Delete executable
○ I.e. Mirai does not survive reboots
3. Remove “competitive” services
○ Remote login (Telnet, SSH)
○ Other malware
4. Listen for commands, scan for more victims
23
2323
IP: 1.2.3.4
Report server
(attacker-controlled)
Loader
(attacker
controlled)
1. IP: 1.2.3.4
admin/admin
Infection
Install Mirai
Command
& Control
server
Mirai - Summary
● Embedded Linux devices
○ DVRs, IP cameras, routers, printers
○ ~30 vendors, many devices
● Efficient spreading
○ Remote login (port open)
○ Internet-wide scanning
○ Asynchronous
● Exploited default credentials
○ username / password
● “...demonstrate that novice malicious techniques can compromise enough low-end devices to
threaten even some of the best-defended targets...”
○ Surprising scale of trivial problems (600,000+ devices)
Hajime - Purpose and impact
● Discovered: October 2016
○ Similar timeframe and net pattern as Mirai
○ Named “beginning” (Japanese) by researchers
○ Hajime author adapted it after report published
● Modest estimate: ~30,000 infections
○ Likely 200,000 max infections
● Seemingly not used for attacks
○ No DDoS capability
○ No attack code
○ Can change at any time (via update)
● Displays a terminal message every 10 minutes
○ “White worm” by a vigilante?
Sources: Hajime worm battles Mirai for control of the Internet of Things, Symantec
Hajime: Analysis of a decentralized internet worm for IoT devices, Rapidity Networks
Hajime - Design (1/2 - Discovery)
1. IPv4 TCP SYN probes for port 23
2. Brute force Telnet login attempts
○ From list of 64 username/passwords
○ Same as Mirai + 2 more
3. Write a file transfer binary on victim
○ 484 bytes (raw TCP transfer binary)
○ Written in assembly(!)
4. Victim connects to attacker and downloads Hajime binary
Existing infection
23
1. Scan
2. Login
admin/admin
3. Write file
transfer binary
IP: 1.2.3.4
4. Connect back
to download
Hajime binary
Hajime - Design (2/2 - Infection)
1. Victim connects to decentralized “overlay” peer network
○ BitTorrent DHT (discovery)
○ uTorrent Transport Protocol (data)
○ Installs Hajime scanner (“exp module”) and network configuration
2. Obfuscation
○ Renames itself to telnetd
○ Remove its binary
○ Does not survive reboots
3. Improves security of device
○ Closes ports 23, 7547, 5555, and 5358
○ Mirai targeted some of these
4. Scan for more victims
IP: 1.2.3.4
Join peer
network
Infected peer network
Hajime - Summary
● Embedded Linux devices
○ ARMv5, ARMv7
○ Intel x86-64, MIPS (little-endian)
● Decentralized spreading
○ Remote login (port open)
○ DHT/uTP based
● Exploited default credentials
○ username / password
● Target the same devices as Mirai
BrickerBot - Purpose and impact
● Discovered: March 2017
● Author claims 2,000,000 total infections
● Erases all storage and bricks the device
○ Destructive “white worm” by a vigilante
○ “PDoS” attack against devices
Sources: BrickerBot, the permanent denial-of-service botnet, is back with a vengeance
BrickerBot PDoS Attack: Back With A Vengeance
BrickerBot - Design
1. IPv4 TCP SYN probes for port 23
2. Brute force Telnet login attempts
3. Brick device
○ Erase disk partitions & files
○ Disable networking
○ Reboot
4. Connect to next device
○ Victim is not attacking other devices (gets bricked)
○ Static set of attacking devices (tens)
Attacking devices
(just 10s of them)
23
1. Scan
2. Login
admin/admin
3. Brick device
IP: 1.2.3.4
BrickerBot - Manifesto of claimed author
“[...] I was dismayed by the indiscriminate DDoS attacks by
IoT botnets in 2016. I thought for sure that the large
attacks would force the industry to finally get its act
together, but after a few months of record-breaking
attacks it became obvious that in spite of all the sincere
efforts the problem couldn't be solved quickly enough by
conventional means.”
BrickerBot - Summary
● Embedded Linux devices as attackers
○ Dropbear with Telnet
● Fixed set of attacker devices
○ Likely in just in the 10s
○ Cannot spread as it bricks the victim
● Exploited default credentials
○ username / password
● Target the same devices as Mirai and Hajime
Mirai Hajime BrickerBot
Discovered 2016, August 2016, October 2017, March
Purpose DDoS (profit?) Secure devices (?) “Secure” devices
(permanently)
Negative impact Internet-wide outages No significant (so far) 2 million bricked devices
Reconnaissance Async SYN, multi port Test port 23 Test port 23
Access Default user/pass Default user/pass Default user/pass
Architecture Centralized Distributed Centralized
Est. peak reach 600,000 30,000 - 200,000 2,000,000 (all time)
Est. attacking devices 600,000 30,000 - 200,000 <100
Malware summary
Attack vector Mirai Hajime BrickerBot
Remote login (port open)
Default credentials
Elevated privileges
Software exploit (vulnerability) New strains? New strains?
The attack vectors (even credential list) are almost identical!
Malware attack vectors
Improving motivation of device manufacturers
● The attack vectors are too trivial
○ Like Windows in the 90s
○ Can be significantly remediated with little effort
● Device manufacturers should be held accountable
○ It should not be end users!
○ Buyers can demand better security
● IoT Cybersecurity Improvement Act of 2017
○ Basic security for devices purchased by government
○ Covers all Internet-connected devices
○ Likely improves security of other sectors
○ Not passed to law yet
● More BrickerBot flavors?
● It is always possible to compromise
● Lower Return on Investment (ROI) for attacker
○ Decrease value of successful attack
○ Increase cost of successful attack
● There are generic solutions to increasing cost of an attack
Your goal is to lower attacker Return on Investment
Action
1. Reconnaissance
2. Intrusion
3. Insert backdoor
4. Clean up
Desired outcome
➔ Discover vulnerabilities
➔ Initial access
➔ Ongoing access
➔ Avoid detection
Anatomy of an attack
Action
1. Reconnaissance
2. Intrusion
3. Insert backdoor
4. Clean up
Approach
➔ Distributed & fast portscan, especially telnet
➔ Default username/password list (64 combos),
CWMP exploit
➔ Detect environment, download & run binary
➔ Process name obfuscation, remove binaries
Anatomy of the three botnet attacks
Action
1. Reconnaissance
2. Intrusion
3. Insert backdoor
4. Clean up
Approach
➔ Distributed & fast portscan, especially telnet
➔ Default username/password list (64 combos),
CWMP exploit
➔ Detect environment, download & run binary
➔ Process name obfuscation, remove binaries
Default closed ports
Network segmentation
Random initial passwords
Service security updates
Principle of least privilege
Mitigating the botnet attacks
Action
1. Reconnaissance
2. Intrusion
3. Insert backdoor
4. Clean up
Approach
➔ Distributed & fast portscan, especially telnet
➔ Default username/password list (64 combos),
CWMP exploit
➔ Detect environment, download & run binary
➔ Process name obfuscation, remove binaries
Default closed ports
Network segmentation
Random initial passwords
Service security updates
Principle of least privilege
Some of the vendors had manual 1-by-1 updatability; passing the burden to the user (like your wifi router).
OTA updates can also address
currently unknown vulnerabilities.
OTA updates can mitigate most cases
● Power loss during the update process
○ Atomic? Automated rollback?
● Secure communication (e.g. TLS, certs)
● Signed updates
● Homegrown seems easy?
Tesla hacked by security researchers
in September 2016
“Cryptographic validation of firmware
updates is something we’ve wanted to do
for a while[…]” - Tesla’s CTO JB Straubel
Vulnerability in Deutsche Telekom’s updater exploited
https://krebsonsecurity.com/2016/11/new-mirai-worm-knocks-900k-germans-offline/
We need robust and secure OTA updates
Let us remove the similarities with basic security hardening

More Related Content

PDF
Linux IoT Botnet Wars - ESC Boston 2018
Mender.io
 
PDF
Why are you still getting CryptoLocker?
Aaron Lancaster
 
PDF
ShmooCon 2015: No Budget Threat Intelligence - Tracking Malware Campaigns on ...
Andrew Morris
 
PPT
Cloud Service Provider (Csp) internal threats
Ahmed EL-KOSAIRY
 
PDF
Строим ханипот и выявляем DDoS-атаки
Positive Hack Days
 
PDF
Bitcoin and Ransomware Analysis
inder_barara
 
PDF
The Easy Way to Secure Microservices
Michael Hofmann
 
PPTX
Ник Белогорский - Будни Кремниевой Долины. История карьеры Ника, борьба с хак...
HackIT Ukraine
 
Linux IoT Botnet Wars - ESC Boston 2018
Mender.io
 
Why are you still getting CryptoLocker?
Aaron Lancaster
 
ShmooCon 2015: No Budget Threat Intelligence - Tracking Malware Campaigns on ...
Andrew Morris
 
Cloud Service Provider (Csp) internal threats
Ahmed EL-KOSAIRY
 
Строим ханипот и выявляем DDoS-атаки
Positive Hack Days
 
Bitcoin and Ransomware Analysis
inder_barara
 
The Easy Way to Secure Microservices
Michael Hofmann
 
Ник Белогорский - Будни Кремниевой Долины. История карьеры Ника, борьба с хак...
HackIT Ukraine
 

What's hot (20)

PDF
Cryto Party at CCU
Jose L. Quiñones-Borrero
 
PDF
Хакеры хотят ваш банк больше, чем ваших клиентов
Positive Hack Days
 
PDF
Cryptographic Protocol is and isn't like LEGO.
Shin'ichiro Matsuo
 
PPTX
Ángel Palomo Cisneros - Programming and playing a MITM attack [rooted2018]
RootedCON
 
PPTX
Cys Report Krack Attack Threat Briefing
Debra Baker, CISSP CSSP
 
PDF
Common crypto attacks and secure implementations
Trupti Shiralkar, CISSP
 
PDF
Network Security Applications
Hatem Mahmoud
 
PDF
Fundamentals of network hacking
Pranshu Pareek
 
PPT
Network Security fundamentals
Tariq kanher
 
PPT
Backtrack os 5
Ayush Goyal
 
PDF
CS6004 CYBER FORENSICS
Kathirvel Ayyaswamy
 
PPT
cryptography deepan fav subject
deepan v
 
PPT
Linux Security
nayakslideshare
 
PPT
Anton Chuvakin on Honeypots
Anton Chuvakin
 
PPTX
e-Extortion Trends and Defense
Erik Iker
 
PDF
Wannacry | Technical Insight and Lessons Learned
Thomas Roccia
 
PDF
Malware Collection and Analysis via Hardware Virtualization
Tamas K Lengyel
 
PDF
Dario Durando - IoT: Battle of Bots [rooted2018]
RootedCON
 
PDF
How to protect your business from Wannacry Ransomware
Kaspersky
 
Cryto Party at CCU
Jose L. Quiñones-Borrero
 
Хакеры хотят ваш банк больше, чем ваших клиентов
Positive Hack Days
 
Cryptographic Protocol is and isn't like LEGO.
Shin'ichiro Matsuo
 
Ángel Palomo Cisneros - Programming and playing a MITM attack [rooted2018]
RootedCON
 
Cys Report Krack Attack Threat Briefing
Debra Baker, CISSP CSSP
 
Common crypto attacks and secure implementations
Trupti Shiralkar, CISSP
 
Network Security Applications
Hatem Mahmoud
 
Fundamentals of network hacking
Pranshu Pareek
 
Network Security fundamentals
Tariq kanher
 
Backtrack os 5
Ayush Goyal
 
CS6004 CYBER FORENSICS
Kathirvel Ayyaswamy
 
cryptography deepan fav subject
deepan v
 
Linux Security
nayakslideshare
 
Anton Chuvakin on Honeypots
Anton Chuvakin
 
e-Extortion Trends and Defense
Erik Iker
 
Wannacry | Technical Insight and Lessons Learned
Thomas Roccia
 
Malware Collection and Analysis via Hardware Virtualization
Tamas K Lengyel
 
Dario Durando - IoT: Battle of Bots [rooted2018]
RootedCON
 
How to protect your business from Wannacry Ransomware
Kaspersky
 

Similar to Linux IoT Botnet Wars and the lack of basic security hardening (20)

PDF
Linux IOT Botnet Wars and the Lack of Basic Security Hardening - OSCON 2018
Mender.io
 
PDF
IoT Security, Mirai Revisited
Clare Nelson, CISSP, CIPP-E
 
PDF
Understanding the mirai botnet
Felipe Prado
 
PPTX
MiraiBotnet.pptx
AmitSingh565980
 
PPTX
Detecting and Confronting Flash Attacks from IoT Botnets
Farjad Noor
 
PDF
CSW2017 Yuhao song+Huimingliu cyber_wmd_vulnerable_IoT
CanSecWest
 
PDF
Deep Dive to Understanding the Mirai Botnet
SaeidGhasemshirazi
 
PDF
iotsecurity-171108154118.pdf
KerimBozkanli
 
PDF
Avast @ Machine Learning
Avast
 
PDF
Arbor Presentation
J Hartig
 
PDF
Brick all the internet of things!(with notes)
Jimmy Shah
 
PPTX
IoT Security and recommendations for industry
Reshmi Rajan
 
PDF
BlueHat v17 || Disrupting the Mirai Botnet
BlueHat Security Conference
 
DOCX
Week 4 Assignment – Discussion BoardArticle review Backg.docx
cockekeshia
 
PDF
Meet Remaiten : Malware Builds Botnet on Linux based routers and potentially ...
APNIC
 
PPTX
2017 March ISACA Security Challenges with the Internet of Things - Eric Vande...
Eric Vanderburg
 
PDF
IoT Malware Detection through Threshold Random Walks
Biagio Botticelli
 
PDF
[Hitcon 2019] Some things about recent Internet IoT/ICS attacks - a perspecti...
Canaan Kao
 
PDF
IoT - the Next Wave of DDoS Threat Landscape
APNIC
 
Linux IOT Botnet Wars and the Lack of Basic Security Hardening - OSCON 2018
Mender.io
 
IoT Security, Mirai Revisited
Clare Nelson, CISSP, CIPP-E
 
Understanding the mirai botnet
Felipe Prado
 
MiraiBotnet.pptx
AmitSingh565980
 
Detecting and Confronting Flash Attacks from IoT Botnets
Farjad Noor
 
CSW2017 Yuhao song+Huimingliu cyber_wmd_vulnerable_IoT
CanSecWest
 
Deep Dive to Understanding the Mirai Botnet
SaeidGhasemshirazi
 
iotsecurity-171108154118.pdf
KerimBozkanli
 
Avast @ Machine Learning
Avast
 
Arbor Presentation
J Hartig
 
Brick all the internet of things!(with notes)
Jimmy Shah
 
IoT Security and recommendations for industry
Reshmi Rajan
 
BlueHat v17 || Disrupting the Mirai Botnet
BlueHat Security Conference
 
Week 4 Assignment – Discussion BoardArticle review Backg.docx
cockekeshia
 
Meet Remaiten : Malware Builds Botnet on Linux based routers and potentially ...
APNIC
 
2017 March ISACA Security Challenges with the Internet of Things - Eric Vande...
Eric Vanderburg
 
IoT Malware Detection through Threshold Random Walks
Biagio Botticelli
 
[Hitcon 2019] Some things about recent Internet IoT/ICS attacks - a perspecti...
Canaan Kao
 
IoT - the Next Wave of DDoS Threat Landscape
APNIC
 

More from Mender.io (18)

PDF
Mender: The open-source software update solution
Mender.io
 
PDF
IoT: Contrasting Yocto/Buildroot to binary OSes
Mender.io
 
PDF
The ultimate guide to software updates on embedded linux devices
Mender.io
 
PDF
A million ways to provision embedded linux devices
Mender.io
 
PDF
Embedded linux build systems
Mender.io
 
PDF
Integrate IoT cloud analytics and over the-air (ota) updates with google and ...
Mender.io
 
PDF
Configuring wifi in open embedded builds
Mender.io
 
PDF
Mender; the open-source software update solution
Mender.io
 
PDF
IoT Prototyping using BBB and Debian
Mender.io
 
PDF
Why the yocto project for my io t project elc_edinburgh_2018
Mender.io
 
PDF
Strategies for developing and deploying your embedded applications and images
Mender.io
 
PDF
IoT Development from Prototype to Production
Mender.io
 
PDF
Software Updates for Connected Devices - OSCON 2018
Mender.io
 
PDF
Embedded Linux Build Systems - Texas Linux Fest 2018
Mender.io
 
PDF
Iot development from prototype to production
Mender.io
 
PDF
Securing the Connected Car - SCaLE 2018
Mender.io
 
PDF
Mender.io | Securing the Connected Car
Mender.io
 
PDF
Mender.io | Develop embedded applications faster | Comparing C and Golang
Mender.io
 
Mender: The open-source software update solution
Mender.io
 
IoT: Contrasting Yocto/Buildroot to binary OSes
Mender.io
 
The ultimate guide to software updates on embedded linux devices
Mender.io
 
A million ways to provision embedded linux devices
Mender.io
 
Embedded linux build systems
Mender.io
 
Integrate IoT cloud analytics and over the-air (ota) updates with google and ...
Mender.io
 
Configuring wifi in open embedded builds
Mender.io
 
Mender; the open-source software update solution
Mender.io
 
IoT Prototyping using BBB and Debian
Mender.io
 
Why the yocto project for my io t project elc_edinburgh_2018
Mender.io
 
Strategies for developing and deploying your embedded applications and images
Mender.io
 
IoT Development from Prototype to Production
Mender.io
 
Software Updates for Connected Devices - OSCON 2018
Mender.io
 
Embedded Linux Build Systems - Texas Linux Fest 2018
Mender.io
 
Iot development from prototype to production
Mender.io
 
Securing the Connected Car - SCaLE 2018
Mender.io
 
Mender.io | Securing the Connected Car
Mender.io
 
Mender.io | Develop embedded applications faster | Comparing C and Golang
Mender.io
 

Recently uploaded (20)

PDF
Generating Union types w/ Static Analysis
K. Matthew Dupree
 
PDF
vAdobe Premiere Pro 2025 (v25.2.3.004) Crack Pre-Activated Latest
imang66g
 
PDF
Immersive experiences: what Pharo users do!
ESUG
 
PDF
49784907924775488180_LRN2959_Data_Pump_23ai.pdf
Abilash868456
 
PDF
49785682629390197565_LRN3014_Migrating_the_Beast.pdf
Abilash868456
 
PDF
Key Features to Look for in Arizona App Development Services
Net-Craft.com
 
PPTX
TRAVEL APIs | WHITE LABEL TRAVEL API | TOP TRAVEL APIs
philipnathen82
 
PPT
Activate_Methodology_Summary presentatio
annapureddyn
 
PPTX
ASSIGNMENT_1[1][1][1][1][1] (1) variables.pptx
kr2589474
 
PDF
advancepresentationskillshdhdhhdhdhdhhfhf
jasmenrojas249
 
PDF
ChatPharo: an Open Architecture for Understanding How to Talk Live to LLMs
ESUG
 
PPTX
ConcordeApp: Engineering Global Impact & Unlocking Billions in Event ROI with AI
chastechaste14
 
PPTX
The-Dawn-of-AI-Reshaping-Our-World.pptxx
parthbhanushali307
 
PDF
Download iTop VPN Free 6.1.0.5882 Crack Full Activated Pre Latest 2025
imang66g
 
PPTX
classification of computer and basic part of digital computer
ravisinghrajpurohit3
 
PPTX
Contractor Management Platform and Software Solution for Compliance
SHEQ Network Limited
 
DOCX
Can You Build Dashboards Using Open Source Visualization Tool.docx
Varsha Nayak
 
PDF
Protecting the Digital World Cyber Securit
dnthakkar16
 
PDF
MiniTool Power Data Recovery Crack New Pre Activated Version Latest 2025
imang66g
 
PDF
10 posting ideas for community engagement with AI prompts
Pankaj Taneja
 
Generating Union types w/ Static Analysis
K. Matthew Dupree
 
vAdobe Premiere Pro 2025 (v25.2.3.004) Crack Pre-Activated Latest
imang66g
 
Immersive experiences: what Pharo users do!
ESUG
 
49784907924775488180_LRN2959_Data_Pump_23ai.pdf
Abilash868456
 
49785682629390197565_LRN3014_Migrating_the_Beast.pdf
Abilash868456
 
Key Features to Look for in Arizona App Development Services
Net-Craft.com
 
TRAVEL APIs | WHITE LABEL TRAVEL API | TOP TRAVEL APIs
philipnathen82
 
Activate_Methodology_Summary presentatio
annapureddyn
 
ASSIGNMENT_1[1][1][1][1][1] (1) variables.pptx
kr2589474
 
advancepresentationskillshdhdhhdhdhdhhfhf
jasmenrojas249
 
ChatPharo: an Open Architecture for Understanding How to Talk Live to LLMs
ESUG
 
ConcordeApp: Engineering Global Impact & Unlocking Billions in Event ROI with AI
chastechaste14
 
The-Dawn-of-AI-Reshaping-Our-World.pptxx
parthbhanushali307
 
Download iTop VPN Free 6.1.0.5882 Crack Full Activated Pre Latest 2025
imang66g
 
classification of computer and basic part of digital computer
ravisinghrajpurohit3
 
Contractor Management Platform and Software Solution for Compliance
SHEQ Network Limited
 
Can You Build Dashboards Using Open Source Visualization Tool.docx
Varsha Nayak
 
Protecting the Digital World Cyber Securit
dnthakkar16
 
MiniTool Power Data Recovery Crack New Pre Activated Version Latest 2025
imang66g
 
10 posting ideas for community engagement with AI prompts
Pankaj Taneja
 

Linux IoT Botnet Wars and the lack of basic security hardening

  • 1. Eystein Stenberg CTO Mender.io Linux IoT Botnet Wars and the Lack of Security Hardening
  • 3. ● Eystein Stenberg ○ 8 years in systems security management ○ M. Sc., Computer Science, Cryptography ○ [email protected] ● Mender.io ○ Over-the-air updater for Embedded Linux ○ Open source (Apache License, v2) ○ Dual A/B rootfs layout (client) ○ Remote deployment management (server) ○ Under active development About me
  • 4. We need to learn from past compromises ● Avoid the same mistakes ● Think about security design of your products or code ● Peace of mind you will not be next
  • 5. Session overview ● Case-studies of device compromises & botnets ○ Mirai (August 2016) ○ Hajime (October 2016) ○ BrickerBot (March 2017) ● Common security problems ● Solution designs
  • 6. Mirai - Purpose and impact ● Discovered: August 2016 ○ Mirai means “future” in Japanese ● 200,000 - 300,000 “stable” infections ○ Peaked at 600,000 infections ● Used for DDoS in late 2016 ○ Krebs on Security (600 GBps), OVH ○ Dyn DNS ○ Can be extended for other uses ● Source code on GitHub ○ Leaked in hacker forums, published by researchers ○ https://github.com/jgamblin/Mirai-Source-Code Source: Understanding the Mirai Botnet, Usenix
  • 7. Mirai - Design (1/2 - Discovery) 1. IPv4 TCP SYN probes for port 23 and 2323 ○ Later iteration: SSH, CWMP/TR-069 exploit 2. 10 brute force Telnet login attempts ○ From list of 62 username/passwords 3. Send IP & credentials to report server Existing infection 23 2323 1. Scan 2. Login admin/admin IP: 1.2.3.4 Report server (attacker-controlled) 3. IP: 1.2.3.4 admin/admin
  • 8. Mirai - Design (2/2 - Infection) 1. Loader program ○ Detects environment and installs Mirai 2. Obfuscation ○ Randomize process name ○ Delete executable ○ I.e. Mirai does not survive reboots 3. Remove “competitive” services ○ Remote login (Telnet, SSH) ○ Other malware 4. Listen for commands, scan for more victims 23 2323 IP: 1.2.3.4 Report server (attacker-controlled) Loader (attacker controlled) 1. IP: 1.2.3.4 admin/admin Infection Install Mirai Command & Control server
  • 9. Mirai - Summary ● Embedded Linux devices ○ DVRs, IP cameras, routers, printers ○ ~30 vendors, many devices ● Efficient spreading ○ Remote login (port open) ○ Internet-wide scanning ○ Asynchronous ● Exploited default credentials ○ username / password ● “...demonstrate that novice malicious techniques can compromise enough low-end devices to threaten even some of the best-defended targets...” ○ Surprising scale of trivial problems (600,000+ devices)
  • 10. Hajime - Purpose and impact ● Discovered: October 2016 ○ Similar timeframe and net pattern as Mirai ○ Named “beginning” (Japanese) by researchers ○ Hajime author adapted it after report published ● Modest estimate: ~30,000 infections ○ Likely 200,000 max infections ● Seemingly not used for attacks ○ No DDoS capability ○ No attack code ○ Can change at any time (via update) ● Displays a terminal message every 10 minutes ○ “White worm” by a vigilante? Sources: Hajime worm battles Mirai for control of the Internet of Things, Symantec Hajime: Analysis of a decentralized internet worm for IoT devices, Rapidity Networks
  • 11. Hajime - Design (1/2 - Discovery) 1. IPv4 TCP SYN probes for port 23 2. Brute force Telnet login attempts ○ From list of 64 username/passwords ○ Same as Mirai + 2 more 3. Write a file transfer binary on victim ○ 484 bytes (raw TCP transfer binary) ○ Written in assembly(!) 4. Victim connects to attacker and downloads Hajime binary Existing infection 23 1. Scan 2. Login admin/admin 3. Write file transfer binary IP: 1.2.3.4 4. Connect back to download Hajime binary
  • 12. Hajime - Design (2/2 - Infection) 1. Victim connects to decentralized “overlay” peer network ○ BitTorrent DHT (discovery) ○ uTorrent Transport Protocol (data) ○ Installs Hajime scanner (“exp module”) and network configuration 2. Obfuscation ○ Renames itself to telnetd ○ Remove its binary ○ Does not survive reboots 3. Improves security of device ○ Closes ports 23, 7547, 5555, and 5358 ○ Mirai targeted some of these 4. Scan for more victims IP: 1.2.3.4 Join peer network Infected peer network
  • 13. Hajime - Summary ● Embedded Linux devices ○ ARMv5, ARMv7 ○ Intel x86-64, MIPS (little-endian) ● Decentralized spreading ○ Remote login (port open) ○ DHT/uTP based ● Exploited default credentials ○ username / password ● Target the same devices as Mirai
  • 14. BrickerBot - Purpose and impact ● Discovered: March 2017 ● Author claims 2,000,000 total infections ● Erases all storage and bricks the device ○ Destructive “white worm” by a vigilante ○ “PDoS” attack against devices Sources: BrickerBot, the permanent denial-of-service botnet, is back with a vengeance BrickerBot PDoS Attack: Back With A Vengeance
  • 15. BrickerBot - Design 1. IPv4 TCP SYN probes for port 23 2. Brute force Telnet login attempts 3. Brick device ○ Erase disk partitions & files ○ Disable networking ○ Reboot 4. Connect to next device ○ Victim is not attacking other devices (gets bricked) ○ Static set of attacking devices (tens) Attacking devices (just 10s of them) 23 1. Scan 2. Login admin/admin 3. Brick device IP: 1.2.3.4
  • 16. BrickerBot - Manifesto of claimed author “[...] I was dismayed by the indiscriminate DDoS attacks by IoT botnets in 2016. I thought for sure that the large attacks would force the industry to finally get its act together, but after a few months of record-breaking attacks it became obvious that in spite of all the sincere efforts the problem couldn't be solved quickly enough by conventional means.”
  • 17. BrickerBot - Summary ● Embedded Linux devices as attackers ○ Dropbear with Telnet ● Fixed set of attacker devices ○ Likely in just in the 10s ○ Cannot spread as it bricks the victim ● Exploited default credentials ○ username / password ● Target the same devices as Mirai and Hajime
  • 18. Mirai Hajime BrickerBot Discovered 2016, August 2016, October 2017, March Purpose DDoS (profit?) Secure devices (?) “Secure” devices (permanently) Negative impact Internet-wide outages No significant (so far) 2 million bricked devices Reconnaissance Async SYN, multi port Test port 23 Test port 23 Access Default user/pass Default user/pass Default user/pass Architecture Centralized Distributed Centralized Est. peak reach 600,000 30,000 - 200,000 2,000,000 (all time) Est. attacking devices 600,000 30,000 - 200,000 <100 Malware summary
  • 19. Attack vector Mirai Hajime BrickerBot Remote login (port open) Default credentials Elevated privileges Software exploit (vulnerability) New strains? New strains? The attack vectors (even credential list) are almost identical! Malware attack vectors
  • 20. Improving motivation of device manufacturers ● The attack vectors are too trivial ○ Like Windows in the 90s ○ Can be significantly remediated with little effort ● Device manufacturers should be held accountable ○ It should not be end users! ○ Buyers can demand better security ● IoT Cybersecurity Improvement Act of 2017 ○ Basic security for devices purchased by government ○ Covers all Internet-connected devices ○ Likely improves security of other sectors ○ Not passed to law yet ● More BrickerBot flavors?
  • 21. ● It is always possible to compromise ● Lower Return on Investment (ROI) for attacker ○ Decrease value of successful attack ○ Increase cost of successful attack ● There are generic solutions to increasing cost of an attack Your goal is to lower attacker Return on Investment
  • 22. Action 1. Reconnaissance 2. Intrusion 3. Insert backdoor 4. Clean up Desired outcome ➔ Discover vulnerabilities ➔ Initial access ➔ Ongoing access ➔ Avoid detection Anatomy of an attack
  • 23. Action 1. Reconnaissance 2. Intrusion 3. Insert backdoor 4. Clean up Approach ➔ Distributed & fast portscan, especially telnet ➔ Default username/password list (64 combos), CWMP exploit ➔ Detect environment, download & run binary ➔ Process name obfuscation, remove binaries Anatomy of the three botnet attacks
  • 24. Action 1. Reconnaissance 2. Intrusion 3. Insert backdoor 4. Clean up Approach ➔ Distributed & fast portscan, especially telnet ➔ Default username/password list (64 combos), CWMP exploit ➔ Detect environment, download & run binary ➔ Process name obfuscation, remove binaries Default closed ports Network segmentation Random initial passwords Service security updates Principle of least privilege Mitigating the botnet attacks
  • 25. Action 1. Reconnaissance 2. Intrusion 3. Insert backdoor 4. Clean up Approach ➔ Distributed & fast portscan, especially telnet ➔ Default username/password list (64 combos), CWMP exploit ➔ Detect environment, download & run binary ➔ Process name obfuscation, remove binaries Default closed ports Network segmentation Random initial passwords Service security updates Principle of least privilege Some of the vendors had manual 1-by-1 updatability; passing the burden to the user (like your wifi router). OTA updates can also address currently unknown vulnerabilities. OTA updates can mitigate most cases
  • 26. ● Power loss during the update process ○ Atomic? Automated rollback? ● Secure communication (e.g. TLS, certs) ● Signed updates ● Homegrown seems easy? Tesla hacked by security researchers in September 2016 “Cryptographic validation of firmware updates is something we’ve wanted to do for a while[…]” - Tesla’s CTO JB Straubel Vulnerability in Deutsche Telekom’s updater exploited https://krebsonsecurity.com/2016/11/new-mirai-worm-knocks-900k-germans-offline/ We need robust and secure OTA updates
  • 27. Let us remove the similarities with basic security hardening