Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
物理なポチポチ操作自動化
Search
Tomohiko Morita
September 05, 2017
Technology
1
230
物理なポチポチ操作自動化
OWASP Kansai ローカルチャプターミーティング / OWASP DAY 2017 in OSAKA での発表資料です
Tomohiko Morita
September 05, 2017
Tweet
Share
More Decks by Tomohiko Morita
See All by Tomohiko Morita
(会社ライフ)ハッカーになろう / Let's Become a Corporate-life-hacker
deka_morita
0
810
ガンダム × ネーミング
deka_morita
0
510
クレジットカードを不正利用された話
deka_morita
0
1.3k
ガンダム勉強会@関西アンケート集計
deka_morita
0
720
ガンダム勉強会@サイド2開催にあたって
deka_morita
0
590
まじめな技術者のためのWEBフィルタリング回避術
deka_morita
1
620
Other Decks in Technology
See All in Technology
Step by Stepで学ぶ、ADT(代数的データ型)、モナドからEffect-TSまで
leveragestech
1
3.2k
エムスリーマルチデバイスチーム紹介資料 / Introduction of M3 Multi Device Team
m3_engineering
1
170
回り回って効いてくる副次的効果としての技術広報/techpr
nishiuma
2
210
LINEヤフーのウェブアクセシビリティ
lycorptech_jp
PRO
3
200
社内での継続的な機械学習勉強会の開催のコツ
yudai00
2
390
PHP 9 に備えよ - 動的プロパティ、どうすればいぃ?
taisukearase
0
380
RailsConf 2024 Keynote "Startups on Rails in 2024"
irinanazarova
0
830
データベース05: SQL(2/3) 結合質問
trycycle
0
110
AI JIMY - 登壇(インストール編)
hanacchi
0
150
ワールドカフェ再び、そしてロール・ツール群の開発 / World Café Again, and Development of Suites of Roles and Tools
ks91
PRO
0
110
拓展QA日常工作的邊界
line_developers_tw
PRO
0
630
生成AI活用推進の為にやったこと/やらなかったこと
ktc_wada
0
210
Featured
See All Featured
Raft: Consensus for Rubyists
vanstee
133
6.3k
Product Roadmaps are Hard
iamctodd
45
9.8k
Designing for Performance
lara
601
67k
Building Adaptive Systems
keathley
32
1.9k
What's new in Ruby 2.0
geeforr
338
31k
Ruby is Unlike a Banana
tanoku
96
10k
The World Runs on Bad Software
bkeepers
PRO
61
6.8k
Docker and Python
trallard
35
2.7k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
660
120k
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
104
6.7k
Building Your Own Lightsaber
phodgson
100
5.7k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
228
16k
Transcript
物理なポチポチ診断自動化 ~IoTデバイスにおけるセキュリティ診断の事例紹介~ 1.物理ボタン自動操作マシーンの事例 2.赤外線リモコン自動操作の事例 など
はじめに • 昨今の過重労働問題に端を発し、 • “働きかた改革”が推進されつつある中で • 業務効率化の解決策として • 自動化プログラムやAI、機械学習などによる •
“自動化”への期待が高まっている • 一方、 • IoTデバイスにおけるセキュリティ診断業務においては • 【物理的な壁】を乗り越える必要がある • デモを交え • 物理的な壁を乗り越える工夫について紹介する
▪悩みごと IoTデバイスの場合、特定の操作をしなければ動作しない機能が多い 特にクライアント機能が主であるため、様々なトリガーが必要 ・リモコン操作 ・物理的なボタン操作 ・電源のOff/ON操作 ・キーボード入力 長時間にわたる手作業が必要。 ▪解決策 IoTデバイスにおける診断業務における悩み
Panasonic PSIRT 3 手動 自動 操作の柔軟性 ◎ △ 初期調整が必要 並列作業 △ ◦ 容易にN増しが可能 夜間・休日作業 × ◎ 30⇒140時間/週 自動操作ロボットによる セキュリティ診断業務の効率化 ・ボタン押下の自動化 ・赤外線リモコンの自動化 ・キーボード入力の自動化 など TV:「番組表」ボタン押下でHTTPcが動作 レコーダ:「機器連携」ボタン押下でUPnPが動作 無線機器:「無線設定」ボタン押下でWPAcが動作 ドアホン:「再起動時」のみDHCPc機能が動作 ディスプレイ:操作し続けなければ「省電力モード」 すべて 手作業…
サーボモータを利用した簡易な装置を使用 1軸版:上下運動(単純なボタンの押下など)のみ可能 3軸版:3次元的な動作(タッチパネル上のキー入力など)が可能 PCより動作制御を行い、攻撃ツールとの連動が可能 物理操作自動化により、NW経由の攻撃の実施効率を向上 操作自動化事例①:物理ボタンの押下 Panasonic PSIRT
4 サーボ モータ 攻撃ツール 制御用PC 連動 または 無限ループ動作 3.リクエスト 送信 4.不正データ 応答 IoT デバイス 2.ボタン押下 (物理操作) 1.物理操作 指令送信 解決策:物理操作に関しては、簡単な動作を繰り返すロボットを活用 不正パケット による攻撃
リモコンから送出されるIR信号を模擬できる装置を活用 価格は比較的安価(数千円程度) リモコンからの信号を受信、再送することでリモコン操作を模擬 送信データを変更したり、順番の組替え等のカスタマイズも容易 リモコン自動化により、NW経由の攻撃の実施効率を向上 解決策:リモコン操作は「学習リモコン」やIR送受信装置の活用 1.IR信号送信
操作自動化事例② :赤外線リモコン Panasonic PSIRT 5 攻撃ツール 制御用PC 連動 または 無限ループ動作 2.リクエスト 送信 3.不正データ 応答 IoT デバイス 不正パケット による攻撃 IR 送受信装置
USB端子を備えたIoTデバイスは多い ログコピーなど保守用 専用の周辺端末接続 キーボード利用が想定されていない場合も 付属の専用周辺機器からのデータは想定内・・・ では、キーボードからのキー入力は?
さらにショートカットキーは? ▪想定される脆弱性の例 •機能制限された専用画面上でのタッチパネル操作からは アクセスできないはずの機能が、ショートカットキーで起動 •疑似キーボードから、通常のキーボード入力を超える流量の 大量な文字データ送信を行うと機器がハングアップ 解決策:疑似USBデバイスによる入力の総当たりチェック Panasonic PSIRT 6 大量のキー入力 Linuxショートカット Windowsショートカット プログラミング 診断対象(USB-host) 攻撃ツール(USB-device) 操作自動化事例③ :キーボード操作
• ポチポチ操作自動化 – Arduino & Python • import serial, serial.tools.list_ports
– DEFCON-21 • Engler-Vines-Electromechanical-PIN-Cracking • https://www.co.tt/files/defcon21/Speaker%20Materials/Justin%20E ngler%20and%20Paul%20Vines/Extras/ • 赤外線リモコン自動化 – PC-OP-RS1をpythonで操作する • http://buffalo.jp/products/catalog/item/p/pc-op-rs1/ • http://miti-7.hatenablog.com/entry/2015/12/31/100245 • 電源制御自動化 – リモート電源制御RC1504A • http://www.omron.co.jp/ese/ups/rc/rc1504a/rc1504a.html 参考1:
• GUI画面操作自動化 – Python • import pyautogui • im=pyautogui.screenshot() –
Windows 自動化ソフト UWSC • http://www.uwsc.info/ • Web処理自動化 – Python • import requests • from bs4 import BeautifulSoup • パケット処理自動化 – Python • import subprocess – Tshark • tshark -i IF_num -f pkt_fltr -c pkt_num -T fields -e frame.time_relative 参考2:
• ファイル・フォルダ操作の自動化 – Python • import os, shutils • os.listdir(any_path)
• shutil.move(file,path) • 画像、動画処理の自動化 – Python • import cv2 • from PIL import Image,ImageChops,ImageDraw • import numpy as np • コマンド実行自動化 – Python • import subprocess • subprocess.Popen(r'explorer /open,'+line) 参考3:
• 退屈なこと – Pythonにやらせよう • https://automatetheboringstuff.com/ • 地味な作業を自動化する温故知新なTIPS – 単純作業を自動化して人類の無駄な時間をなくそう@takesako
– http://takesako.hatenablog.com/entry/2016/12/05/23575 1 • sshで30台のサーバを自動化セットアップ • マインスイーパーの自動化 • BadUSBによるキーボード入力の自動化 参考3:
日本経済新聞-わたしの仕事、ロボットに奪われますか?:日本経済新聞 https://vdata.nikkei.com/newsgraphics/ft-ai-job/ 参考4:
Future Work • 定常的なツール診断業務はすべて自動化 – NWカメラの画像検出によるIoTデバイスの死活確認 – 夜間・休日の自動診断 – 複数のセキュリティ診断ツールの自動実行
– 診断ログの蓄積 – 異常検知時の通知 • あいた時間を重要な手動診断や先行技術開発に • より、効率の良い自動化について • アイディアがあれば • ぜひ語り合いましょう