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
270
物理なポチポチ操作自動化
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
680
クレジットカードを不正利用された話
deka_morita
0
1.4k
ガンダム勉強会@関西アンケート集計
deka_morita
0
780
ガンダム勉強会@サイド2開催にあたって
deka_morita
0
660
まじめな技術者のためのWEBフィルタリング回避術
deka_morita
1
920
Other Decks in Technology
See All in Technology
DevOpsDays Taipei 2025 -- Creating Awesome Change in SmartNews!
martin_lover
0
160
CSS polyfill とその未来
ken7253
0
140
金融システムをモダナイズするためのAmazon Elastic Kubernetes Service(EKS)ノウハウ大全
daitak
0
120
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
24k
LT:組込み屋さんのオシロが壊れた!
windy_pon
0
350
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
5
38k
セキュリティSaaS企業が実践するCursor運用ルールと知見 / How a Security SaaS Company Runs Cursor: Rules & Insights
tetsuzawa
0
310
Zero Data Loss Autonomous Recovery Service サービス概要
oracle4engineer
PRO
2
7.2k
mnt_data_とは?ChatGPTコード実行環境を深堀りしてみた
icck
0
210
“⾞が通れるほど⼤きな”セキュリティーホールを抑えながらログインしたい
taiseiue
0
160
TypeScript と歩む OpenAPI の discriminator / OpenAPI discriminator with TypeScript
kaminashi
1
150
GitHub Coding Agent 概要
kkamegawa
1
1.6k
Featured
See All Featured
Become a Pro
speakerdeck
PRO
28
5.4k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
460
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
228
22k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
750
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
Facilitating Awesome Meetings
lara
54
6.4k
Git: the NoSQL Database
bkeepers
PRO
430
65k
Embracing the Ebb and Flow
colly
85
4.7k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Documentation Writing (for coders)
carmenintech
71
4.8k
The World Runs on Bad Software
bkeepers
PRO
68
11k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
34
2.3k
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デバイスの死活確認 – 夜間・休日の自動診断 – 複数のセキュリティ診断ツールの自動実行
– 診断ログの蓄積 – 異常検知時の通知 • あいた時間を重要な手動診断や先行技術開発に • より、効率の良い自動化について • アイディアがあれば • ぜひ語り合いましょう