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
260
物理なポチポチ操作自動化
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
930
ガンダム × ネーミング
deka_morita
0
660
クレジットカードを不正利用された話
deka_morita
0
1.4k
ガンダム勉強会@関西アンケート集計
deka_morita
0
770
ガンダム勉強会@サイド2開催にあたって
deka_morita
0
650
まじめな技術者のためのWEBフィルタリング回避術
deka_morita
1
880
Other Decks in Technology
See All in Technology
DevOps文化を育むQA 〜カルチャーバブルを生み出す戦略〜 / 20250317 Atsushi Funahashi
shift_evolve
1
110
AIエージェント完全に理解した
segavvy
4
280
頻繁リリース × 高品質 = 無理ゲー? いや、できます!/20250306 Shoki Hyo
shift_evolve
0
160
大規模アジャイル開発のリアル!コミュニケーション×進捗管理×高品質
findy_eventslides
0
570
Vision Language Modelを活用した メルカリの類似画像レコメンドの性能改善
yadayuki
9
1.3k
ソフトウェア開発現代史: なぜ日本のソフトウェア開発は「滝」なのか?製造業の成功体験とのギャップ #jassttokyo
takabow
2
1.6k
ウェブアクセシビリティとは
lycorptech_jp
PRO
0
300
非エンジニアにも伝えるメールセキュリティ / Email security for non-engineers
ykanoh
13
4k
Symfony in 2025: Scaling to 0
fabpot
2
210
30代エンジニアが考える、エンジニア生存戦略~~セキュリティを添えて~~
masakiokuda
4
2k
3/26 クラウド食堂LT #2 GenU案件を通して学んだ教訓 登壇資料
ymae
1
210
Medmain FACTBOOK
akinaootani
0
110
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
29
2k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
227
22k
Rebuilding a faster, lazier Slack
samanthasiow
80
8.9k
Build The Right Thing And Hit Your Dates
maggiecrowley
34
2.6k
Code Review Best Practice
trishagee
67
18k
Making the Leap to Tech Lead
cromwellryan
133
9.2k
We Have a Design System, Now What?
morganepeng
51
7.5k
Docker and Python
trallard
44
3.3k
Making Projects Easy
brettharned
116
6.1k
Java REST API Framework Comparison - PWX 2021
mraible
29
8.5k
A Tale of Four Properties
chriscoyier
158
23k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
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デバイスの死活確認 – 夜間・休日の自動診断 – 複数のセキュリティ診断ツールの自動実行
– 診断ログの蓄積 – 異常検知時の通知 • あいた時間を重要な手動診断や先行技術開発に • より、効率の良い自動化について • アイディアがあれば • ぜひ語り合いましょう