bluetoothを無効にする(Debian sid amd64)

Bluetooth経由でスマホからPCまで乗っ取れる攻撃手法が発覚 ～Bluetoothがオンになっているだけで攻撃可能 – PC Watch

BT搭載デバイスは、ペアリング済みのデバイスだけでなく、つねにあらゆるデバイスからの着信接続を探知しているため、デバイスをまったくペアリングせずにBT接続を確立できる。このため、BlueBorneは攻撃を検知されない潜在的攻撃となっている。

BlueBorne攻撃では、まず周囲のアクティブなBT接続を探知する。このさい、ペアリングのための「発見可能」モードでなくても、BTがオンになっていれば識別が可能となる。

とても怖いです．
手元の端末ではPCとAndroidをBluetoothテザリングをよく利用しています．

PCの対応状況を確認(2017-09-13時点)すると，Debianは未だ未対応．Ubuntuは14.04 LTS, 16.04 LTS, 17.04がリリース済みでした．

CVE-2017-1000250

CVE-2017-1000250 in Ubuntu

とりあえず，手元で使っているDebian sid amd64とRaspberry Pi Zero WのRaspbian stretchでBluetoothを無効にしておくことにしました．

blueman-appletで設定

PCではblueman-appletを利用しています．
システムトレイ上のアイコンを右クリックして
Turn off Bluetooth
を行うと無効に出来てBluetoothのLEDも消灯します．
でも再起動でOnになるので起動のたびに設定しないといけない&そのタイミングで攻撃をされるかもしれないのであまりよろしくない感じがします．

moduleをblucklistに入れて無効にする

Bluetoothのモジュールを読み込まないようにしてみます．これならBluetoothは動作しないはずです．

まずはlsmodコマンドでbluetooth関連モジュールを確認します．手元のLenovo x200の場合は以下のようになりました．

x200のbluetooth module確認

$ lsmod|grep -i bluetooth
bluetooth 544768 14 btrtl,btintel,bnep,btbcm,rfcomm,btusb
crc16 16384 2 bluetooth,ext4
rfkill 24576 6 bluetooth,thinkpad_acpi,cfg80211

モジュールをロードしないように /etc/modprobe.d/blacklist.conf というファイルに blacklist <modulename> という形式で書いていきます．

x200 blacklistに設定

$ echo 'blacklist btrtl
> blacklist btintel
> blacklist bnep
> blacklist btbcm
> blacklist rfcomm
> blacklist btusb
> blacklist bluetooth' | sudo tee -a /etc/modprobe.d/blacklist.conf

設定したら再起動してモジュールが読み込まれないのを確認します．

再起動してmoduleがloadされないのを確認

$ lsmod|grep -i bluetooth

しかしPCのBluetooth LEDインジケーターが消えません．動作上は問題ないでしょうけどちょっと気持ち悪いです．
GPIO辺り探すと消せそうですが面倒．

BIOSで無効にする

PCによっては設定できないかもですが，BIOSで無効にします．これだとLEDインジケーターも光らないので良い感じです．

物理的にモジュールを取り外す

これが一番確実でしょうがそう待たずにセキュリティ修正は降りてくると思うので今回は見送りました．