Submit Search
Upload
USBを保護するUSBGuard
•
0 likes
•
905 views
Kenichiro MATOHARA
Follow
"鹿児島Linux勉強会 2017.01 - connpass" https://kagolug.connpass.com/event/47774/
Read less
Read more
Technology
Slideshow view
Report
Share
Slideshow view
Report
Share
1 of 23
Download now
Download to read offline
Recommended
楕円曲線入門トーラスと楕円曲線のつながり
楕円曲線入門トーラスと楕円曲線のつながり
MITSUNARI Shigeo
楕円曲線論への誘い~ロマ数トレラン受講記録~
楕円曲線論への誘い~ロマ数トレラン受講記録~
Ryu KP
Can we estimate a constant?
Can we estimate a constant?
Christian Robert
Mplus tutorial
Mplus tutorial
考司 小杉
From IA-32 to avx-512
From IA-32 to avx-512
MITSUNARI Shigeo
5_1901.pptx
5_1901.pptx
ssuser53d8f2
LLVM Backend の紹介
LLVM Backend の紹介
Akira Maruoka
64ビット高性能線形擬似乱数発生法の開発
64ビット高性能線形擬似乱数発生法の開発
Shin Harase
Recommended
楕円曲線入門トーラスと楕円曲線のつながり
楕円曲線入門トーラスと楕円曲線のつながり
MITSUNARI Shigeo
楕円曲線論への誘い~ロマ数トレラン受講記録~
楕円曲線論への誘い~ロマ数トレラン受講記録~
Ryu KP
Can we estimate a constant?
Can we estimate a constant?
Christian Robert
Mplus tutorial
Mplus tutorial
考司 小杉
From IA-32 to avx-512
From IA-32 to avx-512
MITSUNARI Shigeo
5_1901.pptx
5_1901.pptx
ssuser53d8f2
LLVM Backend の紹介
LLVM Backend の紹介
Akira Maruoka
64ビット高性能線形擬似乱数発生法の開発
64ビット高性能線形擬似乱数発生法の開発
Shin Harase
関数プログラマから見たPythonと機械学習
関数プログラマから見たPythonと機械学習
Masahiro Sakai
パターン認識と機械学習 〜指数型分布族とノンパラメトリック〜
パターン認識と機械学習 〜指数型分布族とノンパラメトリック〜
Mitsuki Ogasahara
RでGPU使ってみた
RでGPU使ってみた
Kazuya Wada
集約署名
集約署名
MITSUNARI Shigeo
Zynqで始めるUSB開発-FPGAとARMで動くUSBオーディオデバイスの実例とともに-
Zynqで始めるUSB開発-FPGAとARMで動くUSBオーディオデバイスの実例とともに-
mmitti
現場で役に立たないsudoの使い方
現場で役に立たないsudoの使い方
(^-^) togakushi
DSPでgolangの屍を超えた話 (オレシカナイト Vol.2)
DSPでgolangの屍を超えた話 (オレシカナイト Vol.2)
Yuki Katada
秘密分散法の数理
秘密分散法の数理
Akito Tabira
Tokyo r53
Tokyo r53
Hiroshi Shimizu
Raspberry Pi 3つくらいで作る Wi-Fi 位置推定システム
Raspberry Pi 3つくらいで作る Wi-Fi 位置推定システム
Tatsuya Sasaki
comp_pfiseminar
comp_pfiseminar
Preferred Networks
Deflate
Deflate
7shi
第1回文献紹介勉強会20140826
第1回文献紹介勉強会20140826
Masakazu Sano
平成生まれのための MINIX 講座
平成生まれのための MINIX 講座
TAKANO Mitsuhiro
Урок 5. Пристрої введення та виведення даних
Урок 5. Пристрої введення та виведення даних
Василь Тереховський
圏論とHaskellは仲良し
圏論とHaskellは仲良し
ohmori
プロセスとコンテキストスイッチ
プロセスとコンテキストスイッチ
Kazuki Onishi
レベル2準同型暗号の平文バイナリ制約を与えるコンパクトな非対話ゼロ知識証明
レベル2準同型暗号の平文バイナリ制約を与えるコンパクトな非対話ゼロ知識証明
MITSUNARI Shigeo
RSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjp
sonickun
2 клас 6 урок. Увімкнення та вимкнення комп'ютера та інших пристроїв. Робочий...
2 клас 6 урок. Увімкнення та вимкнення комп'ютера та інших пристроїв. Робочий...
StAlKeRoV
PQI Air Pen Hack
PQI Air Pen Hack
Kenichiro MATOHARA
ゲーミングプラットホームのLutris
ゲーミングプラットホームのLutris
Kenichiro MATOHARA
More Related Content
What's hot
関数プログラマから見たPythonと機械学習
関数プログラマから見たPythonと機械学習
Masahiro Sakai
パターン認識と機械学習 〜指数型分布族とノンパラメトリック〜
パターン認識と機械学習 〜指数型分布族とノンパラメトリック〜
Mitsuki Ogasahara
RでGPU使ってみた
RでGPU使ってみた
Kazuya Wada
集約署名
集約署名
MITSUNARI Shigeo
Zynqで始めるUSB開発-FPGAとARMで動くUSBオーディオデバイスの実例とともに-
Zynqで始めるUSB開発-FPGAとARMで動くUSBオーディオデバイスの実例とともに-
mmitti
現場で役に立たないsudoの使い方
現場で役に立たないsudoの使い方
(^-^) togakushi
DSPでgolangの屍を超えた話 (オレシカナイト Vol.2)
DSPでgolangの屍を超えた話 (オレシカナイト Vol.2)
Yuki Katada
秘密分散法の数理
秘密分散法の数理
Akito Tabira
Tokyo r53
Tokyo r53
Hiroshi Shimizu
Raspberry Pi 3つくらいで作る Wi-Fi 位置推定システム
Raspberry Pi 3つくらいで作る Wi-Fi 位置推定システム
Tatsuya Sasaki
comp_pfiseminar
comp_pfiseminar
Preferred Networks
Deflate
Deflate
7shi
第1回文献紹介勉強会20140826
第1回文献紹介勉強会20140826
Masakazu Sano
平成生まれのための MINIX 講座
平成生まれのための MINIX 講座
TAKANO Mitsuhiro
Урок 5. Пристрої введення та виведення даних
Урок 5. Пристрої введення та виведення даних
Василь Тереховський
圏論とHaskellは仲良し
圏論とHaskellは仲良し
ohmori
プロセスとコンテキストスイッチ
プロセスとコンテキストスイッチ
Kazuki Onishi
レベル2準同型暗号の平文バイナリ制約を与えるコンパクトな非対話ゼロ知識証明
レベル2準同型暗号の平文バイナリ制約を与えるコンパクトな非対話ゼロ知識証明
MITSUNARI Shigeo
RSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjp
sonickun
2 клас 6 урок. Увімкнення та вимкнення комп'ютера та інших пристроїв. Робочий...
2 клас 6 урок. Увімкнення та вимкнення комп'ютера та інших пристроїв. Робочий...
StAlKeRoV
What's hot
(20)
関数プログラマから見たPythonと機械学習
関数プログラマから見たPythonと機械学習
パターン認識と機械学習 〜指数型分布族とノンパラメトリック〜
パターン認識と機械学習 〜指数型分布族とノンパラメトリック〜
RでGPU使ってみた
RでGPU使ってみた
集約署名
集約署名
Zynqで始めるUSB開発-FPGAとARMで動くUSBオーディオデバイスの実例とともに-
Zynqで始めるUSB開発-FPGAとARMで動くUSBオーディオデバイスの実例とともに-
現場で役に立たないsudoの使い方
現場で役に立たないsudoの使い方
DSPでgolangの屍を超えた話 (オレシカナイト Vol.2)
DSPでgolangの屍を超えた話 (オレシカナイト Vol.2)
秘密分散法の数理
秘密分散法の数理
Tokyo r53
Tokyo r53
Raspberry Pi 3つくらいで作る Wi-Fi 位置推定システム
Raspberry Pi 3つくらいで作る Wi-Fi 位置推定システム
comp_pfiseminar
comp_pfiseminar
Deflate
Deflate
第1回文献紹介勉強会20140826
第1回文献紹介勉強会20140826
平成生まれのための MINIX 講座
平成生まれのための MINIX 講座
Урок 5. Пристрої введення та виведення даних
Урок 5. Пристрої введення та виведення даних
圏論とHaskellは仲良し
圏論とHaskellは仲良し
プロセスとコンテキストスイッチ
プロセスとコンテキストスイッチ
レベル2準同型暗号の平文バイナリ制約を与えるコンパクトな非対話ゼロ知識証明
レベル2準同型暗号の平文バイナリ制約を与えるコンパクトな非対話ゼロ知識証明
RSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjp
2 клас 6 урок. Увімкнення та вимкнення комп'ютера та інших пристроїв. Робочий...
2 клас 6 урок. Увімкнення та вимкнення комп'ютера та інших пристроїв. Робочий...
More from Kenichiro MATOHARA
PQI Air Pen Hack
PQI Air Pen Hack
Kenichiro MATOHARA
ゲーミングプラットホームのLutris
ゲーミングプラットホームのLutris
Kenichiro MATOHARA
Raspberry PiのUSB OTGを試す
Raspberry PiのUSB OTGを試す
Kenichiro MATOHARA
Let’s Encrypt更新話
Let’s Encrypt更新話
Kenichiro MATOHARA
Raspberry piのsdl等に対応したreal vncを試してみた
Raspberry piのsdl等に対応したreal vncを試してみた
Kenichiro MATOHARA
ちょっと古いマシンにLinuxを
ちょっと古いマシンにLinuxを
Kenichiro MATOHARA
鹿児島Linux勉強会2016.04
鹿児島Linux勉強会2016.04
Kenichiro MATOHARA
Raspberry Piにdiskless modeのalpine linuxを導入してみる
Raspberry Piにdiskless modeのalpine linuxを導入してみる
Kenichiro MATOHARA
勉強会向けサーバを作ってみる2 / Rasbian jessieを試す/ Google Authenticatorのパスコードを作る
勉強会向けサーバを作ってみる2 / Rasbian jessieを試す/ Google Authenticatorのパスコードを作る
Kenichiro MATOHARA
オープンソースカンファレンス大分参加報告 & 勉強会向けサーバを作ってみる
オープンソースカンファレンス大分参加報告 & 勉強会向けサーバを作ってみる
Kenichiro MATOHARA
OSC15OT 配布ペーパー
OSC15OT 配布ペーパー
Kenichiro MATOHARA
鹿児島らぐはじめました(オープンソースカンファレンス2015大分LT)
鹿児島らぐはじめました(オープンソースカンファレンス2015大分LT)
Kenichiro MATOHARA
マウスを使わないでキーボードで快適に生活する方法(GNU Screen/tmux/byobu/awesome)
マウスを使わないでキーボードで快適に生活する方法(GNU Screen/tmux/byobu/awesome)
Kenichiro MATOHARA
鹿児島らぐC87配布ペーパー
鹿児島らぐC87配布ペーパー
Kenichiro MATOHARA
鹿児島に引っ越しました
鹿児島に引っ越しました
Kenichiro MATOHARA
技適なBluetooth GNSS/GPSレシーバーをRaspberryPiで作りたい2
技適なBluetooth GNSS/GPSレシーバーをRaspberryPiで作りたい2
Kenichiro MATOHARA
鹿児島のOSM状況
鹿児島のOSM状況
Kenichiro MATOHARA
鹿児島らぐはじめました & オープ ンソースアンカンファレンス鹿児 島のお誘い
鹿児島らぐはじめました & オープ ンソースアンカンファレンス鹿児 島のお誘い
Kenichiro MATOHARA
「BluetoothでLinuxマシンとAndroidを繋いで話が出来るようにした話」「台風で停電になって省電力の設定をした話」「ネットワークの設定が引き...
「BluetoothでLinuxマシンとAndroidを繋いで話が出来るようにした話」「台風で停電になって省電力の設定をした話」「ネットワークの設定が引き...
Kenichiro MATOHARA
技適なBluetooth GNSS/GPSレシーバーをRaspberryPiで作りたい
技適なBluetooth GNSS/GPSレシーバーをRaspberryPiで作りたい
Kenichiro MATOHARA
More from Kenichiro MATOHARA
(20)
PQI Air Pen Hack
PQI Air Pen Hack
ゲーミングプラットホームのLutris
ゲーミングプラットホームのLutris
Raspberry PiのUSB OTGを試す
Raspberry PiのUSB OTGを試す
Let’s Encrypt更新話
Let’s Encrypt更新話
Raspberry piのsdl等に対応したreal vncを試してみた
Raspberry piのsdl等に対応したreal vncを試してみた
ちょっと古いマシンにLinuxを
ちょっと古いマシンにLinuxを
鹿児島Linux勉強会2016.04
鹿児島Linux勉強会2016.04
Raspberry Piにdiskless modeのalpine linuxを導入してみる
Raspberry Piにdiskless modeのalpine linuxを導入してみる
勉強会向けサーバを作ってみる2 / Rasbian jessieを試す/ Google Authenticatorのパスコードを作る
勉強会向けサーバを作ってみる2 / Rasbian jessieを試す/ Google Authenticatorのパスコードを作る
オープンソースカンファレンス大分参加報告 & 勉強会向けサーバを作ってみる
オープンソースカンファレンス大分参加報告 & 勉強会向けサーバを作ってみる
OSC15OT 配布ペーパー
OSC15OT 配布ペーパー
鹿児島らぐはじめました(オープンソースカンファレンス2015大分LT)
鹿児島らぐはじめました(オープンソースカンファレンス2015大分LT)
マウスを使わないでキーボードで快適に生活する方法(GNU Screen/tmux/byobu/awesome)
マウスを使わないでキーボードで快適に生活する方法(GNU Screen/tmux/byobu/awesome)
鹿児島らぐC87配布ペーパー
鹿児島らぐC87配布ペーパー
鹿児島に引っ越しました
鹿児島に引っ越しました
技適なBluetooth GNSS/GPSレシーバーをRaspberryPiで作りたい2
技適なBluetooth GNSS/GPSレシーバーをRaspberryPiで作りたい2
鹿児島のOSM状況
鹿児島のOSM状況
鹿児島らぐはじめました & オープ ンソースアンカンファレンス鹿児 島のお誘い
鹿児島らぐはじめました & オープ ンソースアンカンファレンス鹿児 島のお誘い
「BluetoothでLinuxマシンとAndroidを繋いで話が出来るようにした話」「台風で停電になって省電力の設定をした話」「ネットワークの設定が引き...
「BluetoothでLinuxマシンとAndroidを繋いで話が出来るようにした話」「台風で停電になって省電力の設定をした話」「ネットワークの設定が引き...
技適なBluetooth GNSS/GPSレシーバーをRaspberryPiで作りたい
技適なBluetooth GNSS/GPSレシーバーをRaspberryPiで作りたい
USBを保護するUSBGuard
1.
USBを保護するUSBGuard KenichiroMATOHARA(@matoken) http://matoken.org 鹿児島Linux勉強会2017.01(20170104) サンエールかごしま 中研修室1 @matoken 1
2.
USBデバイスのセキュリティ マスストレージ経由でウィルス侵入 「ちょっと充電させて」とかスマホを繋いでそれ経由でウィルスやマ ルウェア感染とか PoisonTap(PIZERO)やUSBdriveby(Teensy or Arduino)でバック ドア キーロガー USBメモリだけど中のFWが書き換わっていてマスストレージ+HID デバイスになっていたり(Psychsonとか) モバイルバッテリーや充電ステーションに仕込んでスマホに感染と か AVRのVUSBやPICやでマイコンのUSB化も安く小さくお手軽 @matoken 2
3.
USB以外の外部ポートを無効にする例 BIOSやUEFIで無効にする モジュールを読み込まない(FireWireとThunderBoltの例) blacklist firewirecore blacklist thunderbolt セメントでポートを埋める… @matoken 3
4.
USBの場合 内蔵デバイスがUSB接続だったりして完全に無効にし辛い (以下ではカメラやBluetoothが接続されている) $ lsusb Bus 004 Device 002: ID 8087:0024 Intel Corp. Integrated Rate M Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 003 Device 005: ID 04f2:b217 Chicony Electronics Co., Ltd Bus 003 Device 003: ID 0a5c:21e6 Broadcom Corp. BCM20702 Bus 003 Device 002: ID 8087:0024 Intel Corp. Integrated Rate M Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub @matoken 4
5.
USBを保護したい 予想しないデバイスの接続を拒否したい いつの間にか繋げられたデバイス 見た目と違うプロトコルのデバイス : @matoken 5
6.
USBGuard https://dkopecek.github.io/usbguard/ はじめにルールを作成 ルールに合致しないデバイスはrejectやblock出来る GUIで管理する usbguardappletqt を利用するとUSBデバイス 接続時にポップアップで知らせてくれる&許可やブロックを指定でき る @matoken 6
7.
USBGuardの導入 有名どころのLinuxディストリビューションにはパッケージがある Compilation And Instalation | USBGuard 以下はDebian stretch/Ubuntu 16.10での導入例 $ sudo apt install usbguard usbguardappletqt @matoken 7
8.
USBGuardの設定 一般ユーザから利用する場合は設定ファイルを編集してユーザかグ ループを追加してデーモンの再起動を行う 設定ファイルは /etc/usbguard/usbguarddaemon.conf ユーザの場合は IPCAllowedUsers ,グループの場合 は IPCAllowedGroups にスペース区切りで書く @matoken 8
9.
diff git a/usbguard/usbguarddaemon.conf b/usbguard/usbguard index 4a54ca0..7b3a165 100644 a/usbguard/usbguarddaemon.conf +++ b/usbguard/usbguarddaemon.conf @@ 65,7 +65,7 @@ PresentControllerPolicy=keep # # IPCAllowedUsers=username1 username2 ... # IPCAllowedUsers=root +IPCAllowedUsers=root user1 user2 # # Groups allowed to use the IPC interface. @@ 75,7 +75,7 @@ IPCAllowedUsers=root # # IPCAllowedGroups=groupname1 groupname2 ... # IPCAllowedGroups=root +IPCAllowedGroups=root users # # Generate device specific rules including the "viaport" @matoken 9
10.
設定を反映するためにデーモンを再起動 $ sudo service usbguard restart @matoken 10
11.
USBBGuardのCUIでの利用例 既定値ではUSBGuardが起動した後に接続されたデバイスは blockされる $ usbguard listdevices| tail 2 9: allow id 8087:0024 serial "" name "" hash "Zx7v0FMQEjScKSAF 11: block id 1004:631c serial "03a809c94b4befd4" name "LGE And blockされている11番目のデバイスを一時的に許可する $ usbguard allowdevice 11 $ usbguard listdevices| tail 1 11: allow id 1004:631c serial "03a809c94b4befd4" name "LGE And @matoken 11
12.
GUI(usbguardappletqt)の利用例 新しいデバイスを接続するとポップアップが表示される Allowを選ぶと接続 タイムアウトを待つかBlockを選ぶと拒否 Allow/Blockの前に 「Make the decision permanent」 をチェック すると設定が保存されて次回以降自動的に同じものが選択される @matoken 12
13.
一旦設定したものも再設定が可能 「Permanently」にチェックを付けておくと設定が保存されて次回以 降自動的に同じものが選択される @matoken 13
14.
USBGuardの初期デバイスを設定 既定値ではUSBGuardが起動するまでに接続されているデバイス は全て許可される いつの間にかPCに不正なデバイスが接続されていた場合は保護さ れない 前もって初期デバイスのみ許可するよう設定しておく usbguard の generatepolicy コマンドで設定を書き出して 編集 ルールファイルを反映して動作確認 @matoken 14
15.
ルールファイルを作成 初期デバイスを allow に,内蔵カメラとそれ以外のデバイス を block に $ usbguard generatepolicy > rules.conf $ vi rules.conf $ sudo cat /etc/usbguard/rules.conf allow id 1d6b:0002 serial "0000:00:1a.0" name "EHCI Host Contr allow id 8087:0024 serial "" name "" hash "kv3v2+rnq9QvYI3/HbJ allow id 0a5c:21e6 serial "2016D8DA016E" name "BCM20702A0" allow id 17ef:100a serial "" name "" hash "dMjTmGpj5dFGqH51kQp block id 04f2:b217 serial "" name "Integrated Camera" hash allow id 1d6b:0002 serial "0000:05:00.0" name "xHCI Host Contr allow id 1d6b:0003 serial "0000:05:00.0" name "xHCI Host Contr allow id 1d6b:0002 serial "0000:00:1d.0" name "EHCI Host Contr allow id 8087:0024 serial "" name "" hash "Zx7v0FMQEjScKSAFENA block @matoken 15
16.
設定ファイルをコピーしてデーモンを再起動して反映. $ sudo install m 0600 o root g root rules.conf /etc/usbguar $ sudo systemctl restart usbguard @matoken 16
17.
ルールについて 細かいルール設定が可能 Rule Language | USBGuard USBメモリだけを許可する Yubikeyを指定ポートに刺したときだけ許可する randomに許可する!? @matoken 17
18.
Tips Blockしても給電はされるのでスマホ充電可能 GUIアプリのリストが更新されないときがある [Reset]ボタンを押してみる GUIアプリのリストが空欄になるときがある GUIアプリ再起動 駄目ならdaemonも再起動 $ sudo service usbguard restart $ sudo service usbguarddbus restart @matoken 18
19.
USBGuardも標準に? PCにもFirewallを設定するようにUSBGuardも標準に? NotePCだけでなくデスクトップやサーバにもUSBGuardを入れると 良さそう サーバなどの場合は block ではなく reject の方が良さそう @matoken 19
20.
充電に限れば 充電専用ケーブルや充電専用アダプタというものがある 外でスマホ充電時におすすめ PortaPow Fast Charge + Data Block USB Adaptor PortaPow @matoken 20
21.
こういうところはmicroUSB BメスUSB Aメス充電専用ケーブル経 由とかしないと駄目そう@matoken 21
22.
USB Killer USB Killer V2.0 Available now buy online! USB Killer USBメモリのような形状のデバイス PCに接続すると昇圧して高圧電流を作りPCに流して破壊する USBGuardでは回避できない 回避方法はセメントで埋める……? @matoken 22
23.
powered by Marp Markdown Presentation Writer Licence : CC BYNCSA 4.0 @matoken 23
Download now