SlideShare a Scribd company logo
1 of 13
Making AutoRun
USB HID device
自動入力するHIDデバイスを安く簡単に作る
R SATO(佐藤 玲)
http://reisato.plala.jp/rsato/
1
BadUSB、ご存じですか?
◦コンピューターセキュリティの国際会議で
あるBlackHat 2014 USAにてKarsten Nohlと
Jakob Lellにより発表されたレポート
◦USBデバイスの危険性を指摘&デモ
◦USBデバイスのコントローラーの一部は
ファームウェアをPCから書き換えられるた
め、悪意のある動作をするデバイスを簡
単に作れてしまう
2
USBメモリをBadUSB化する
◦Derbycon 4.0にてAdam CaudillとBrandon
WilsonがBadUSBをリバースエンジニアリン
グしたと発表
◦USBメモリのファームウェアを改ざんして
キーを自動入力するキーボードデバイス
に変えてしまうコードとツールをGitHubに
公開した
◦非常に危険
3
自動入力するHIDデバイスの
リスク
◦最近のPC用OSはコマンドでいろいろできる
1. DNS設定の書き換え
2. Web上のファイル(バックドアなど)のダ
ウンロード
3. PCや近傍ネットワーク内の情報の収集
とアップロード
4. 掲示板への書き込み
5. などなど…
4
自動入力するHIDデバイス例
USB Rubber Ducky
◦ GitHubにて公開されたBadUSB化
ツールがキーボード自動入力の機
能として使用
◦ 独自スクリプトでキー入力を定義
USBdriveby
◦ TeensyというUSB機器開発ボードの
ファームウェア
◦ 接続したPCにバックドアを仕掛ける
◦ もちろんWindows/OS X/Linux対応
5
なんか便利&危険そうなんだけれど
デバイス入手しづらい!高い!
動作させるために手間がかかる!
(も動作要件とかは適当で良いので)
もっと安く簡単に自動入力する
HIDデバイスを作りましょう
6
Adruinoを使います
File:Arduino Leonardo.jpg 出典:ウィキメディア・コモンズ (Wikimedia Commons)
7
Arduino( アルドゥイーノ)とは
◦オープンソースのハードウェアプロトタイピン
グプラットフォーム
◦ソフトウェアはもちろん、ハードウェアもオー
プンソース
◦マイコンの難しい話(レジスタや割り込み等)
を理解していなくても、簡単にマイコン電子工
作ができる
◦開発環境はProcessingベース
◦ボードは秋葉原やAmazonで安価に入手可能
8
ArduinoをHIDにする
◦Arduinoの現行品であるLeonardo, Micro,
Dueでは、HIDエミュレーション機能がある
◦PCに接続するとキーボードやマウスとして
認識、コードで指定したキー入力やマウス
操作を行える
◦この機能を使ってArduinoを自動入力する
HIDにしてみましょう
9
主なキーボード操作関数
Keyboard.begin() …キーボード開始
Keyboard.end() …キーボード終了
Keyboard.press() …指定したキーを押す
Keyboard.print() …指定した文字列を入力
Keyboard.release() …指定したキーを離す
Keyboard.releaseAll() …全てのキーを離す
マウスも同様にクリックや移動の指定ができる
10
コード例:メモ帳を起動
簡単のためにウェイト調整は除いてあります。
void setup() { // 初期設定部
Keyboard.begin(); // キーボード開始
}
void loop() {// ループ実行部
Keyboard.press(KEY_LEFT_GUI); // 左Windowsキー
Keyboard.press('R'); // Win+R:ファイル名を指定して実行
Keyboard.releaseAll(); // キーを話す
Keyboard.print("notepad"); // メモ帳(notepad)を指定
Keyboard.press('KEY_RETURN'); // Enter
Keyboard.releaseAll(); // ここでメモ帳が起動
Keyboard.end();
while (true); // 1回のみ実行するためここで無限ループで止める
}
11
ArduinoはBadUSB化の
ターゲットになる
◦開発用のデバイスはマルウェアなどによっ
て意図せずにファームウェアを書き換える
格好のターゲットになり得る
◦Arduinoの趣味での使用はもちろん、プロ
ダクトにそのまま組み込まれている場合、
HID機能を悪用したファームウェアへの書
き換えをされてしまうかも
12
参考Webサイト
USBに設計上の致命的な脆弱性が発見され、そのコードが公開される
◦ http://gigazine.net/news/20141006-badusb/
◦ BadUSBの概要やGitHubのコードがあります
USB Rubber Ducky
◦ http://usbrubberducky.com
USBハックの実働シーン怖い。二度とパソコン離れたくなくなる
◦ http://www.gizmodo.jp/2014/12/_os_x.html
◦ USBdrivebyの話
Arduino
◦ http://arduino.cc/
13

More Related Content

Viewers also liked

10年前「Microsoftの社員だと思って働け!」と教育されて嫌気がさして出てった人から見た「外の世界」の話 #JCCMVP
10年前「Microsoftの社員だと思って働け!」と教育されて嫌気がさして出てった人から見た「外の世界」の話 #JCCMVP10年前「Microsoftの社員だと思って働け!」と教育されて嫌気がさして出てった人から見た「外の世界」の話 #JCCMVP
10年前「Microsoftの社員だと思って働け!」と教育されて嫌気がさして出てった人から見た「外の世界」の話 #JCCMVPKazuhito Miura
 
IoTって何が良いの? 〜言うてるオレもわからんわ〜 #kinoko_iot
IoTって何が良いの? 〜言うてるオレもわからんわ〜 #kinoko_iotIoTって何が良いの? 〜言うてるオレもわからんわ〜 #kinoko_iot
IoTって何が良いの? 〜言うてるオレもわからんわ〜 #kinoko_iotKazuhito Miura
 
脱「丸コピー」のための電子回路入門
脱「丸コピー」のための電子回路入門脱「丸コピー」のための電子回路入門
脱「丸コピー」のための電子回路入門Ryota Suzuki
 
KiCadで雑に基板を作る チュートリアル
KiCadで雑に基板を作る チュートリアルKiCadで雑に基板を作る チュートリアル
KiCadで雑に基板を作る チュートリアル裕士 常田
 
とあるギークのキーボード遍歴
とあるギークのキーボード遍歴とあるギークのキーボード遍歴
とあるギークのキーボード遍歴Mikiya Okuno
 

Viewers also liked (6)

Apache Solr 検索エンジン入門
Apache Solr 検索エンジン入門Apache Solr 検索エンジン入門
Apache Solr 検索エンジン入門
 
10年前「Microsoftの社員だと思って働け!」と教育されて嫌気がさして出てった人から見た「外の世界」の話 #JCCMVP
10年前「Microsoftの社員だと思って働け!」と教育されて嫌気がさして出てった人から見た「外の世界」の話 #JCCMVP10年前「Microsoftの社員だと思って働け!」と教育されて嫌気がさして出てった人から見た「外の世界」の話 #JCCMVP
10年前「Microsoftの社員だと思って働け!」と教育されて嫌気がさして出てった人から見た「外の世界」の話 #JCCMVP
 
IoTって何が良いの? 〜言うてるオレもわからんわ〜 #kinoko_iot
IoTって何が良いの? 〜言うてるオレもわからんわ〜 #kinoko_iotIoTって何が良いの? 〜言うてるオレもわからんわ〜 #kinoko_iot
IoTって何が良いの? 〜言うてるオレもわからんわ〜 #kinoko_iot
 
脱「丸コピー」のための電子回路入門
脱「丸コピー」のための電子回路入門脱「丸コピー」のための電子回路入門
脱「丸コピー」のための電子回路入門
 
KiCadで雑に基板を作る チュートリアル
KiCadで雑に基板を作る チュートリアルKiCadで雑に基板を作る チュートリアル
KiCadで雑に基板を作る チュートリアル
 
とあるギークのキーボード遍歴
とあるギークのキーボード遍歴とあるギークのキーボード遍歴
とあるギークのキーボード遍歴
 

Recently uploaded

モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 

Recently uploaded (8)

モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 

Making AutoRun USB HID Device / 自動入力するHIDデバイスを安く簡単に作る