ニュース - ベネッセ事件容疑者はなぜスマホでデータを持ち出せたか、IT部門は設定の再点検を:ITpro
ベネッセ事件容疑者はなぜスマホでデータを持ち出せたか、IT部門は設定の再点検を:日経コンピュータDigital
USB Mass Storage Class Deviceについてはセキュリティが働いてデータの保存ができなくなっていた?ようだが、MTPにはセキュリティが働かなかったようで、それで流出が起きたらしい。 デジカメやAndroidなど、エクスプローラに見えるので一見Mass Storage Class Deviceと同じに見えるが実はMTP接続のものがある。iPhoneもMTPなのだろうか。
スマートフォンのパソコン接続は大容量デバイスからMTPへ(第164回)《塩田紳二「モバイルトレンド」》
Windows側のファイルシステムを経由しておらず、ドライブレターもないので、普通のWindowsアプリケーションがたとえばCドライブなどにアクセスするようなディレクトリ空間からは見えない?のかも知れない。
特殊な接続デバイス用の Windows ストア デバイス アプリ
それを言うとデータをPCからUSB Deivceへ持ち出す手段は巧妙にすればたくさんあるなぁと思う。
- SetDescriptor requestでDescriptorとしてデータをデバイスへ送信する。
- DFU Classでファームウェアとしてデータをデバイスへ送信する。
- HID ClassのSetReportでデータをデバイスへ送信する。
- USB-Serial変換でUARTの送信データとしてデバイスへ送信する。
などなど・・。 PC側はHID deviceのAPIを叩いたり、WinUSBでドライバを入れてアクセスすればそういうことができるはず。 デバイス側はカスタマイズしたファームウェアが必要。
たとえばGNUのDFUツールがあるが、これが実際WinUSBを使っている。 dfu-util Homepage
WinUSBとは汎用のUSBデバイスドライバで、どのWindowsにも標準で入っている。開発者はいちいちカスタムドライバを作成して署名を用意せずとも、WinUSBを利用して可能な範囲のことはカンタンに実現することができる。 DFUとはDevice Firmware Update、ファームウェアをアップデートするUSBクラス。ファームウェアの読み書きをすることができる。このためファイルシステムもMTPも経由せずにバイナリデータをUSBデバイスへ書き出すことが可能である。
USB.org - USB Device Class Specifications
でもWindowsのUACレベルにも寄るが、たしかSetupAPIのような、ちょっとハード寄りのAPIにアクセスするときに暗転して警告が出たはずなので、その辺でセキュリティの壁を作れば防げるかも知れない。それにWinUSBを特定のデバイスへインストールするときにinfファイルを使うが、そのインストール時にも壁を作れるはず。というか「WinUSB使用禁止」にすればよいかも知れない。
またUSBでなくとも手段はあると思う。
たとえば可視光通信という技術がある。光のチカチカでbitを表現する。ふつうのディスプレイのリフレッシュは60Hzなので1ドットの黒/白で表現したとすると60bpsの転送レートで送り出すことが可能である。実際には誤差もあるのでもう少し大きく表示したほうがよく、いわば「QRコードを動画化」したようなモノになるかと思う。また、そんなバレやすい怪しいことをせずとも、すごくバレにくい1ドットの細長い領域をチカチカさせるとかのほうが良いかもしれない。それをスパイカメラか何かで動画撮影として60fps以上の撮影レートで"受信"することが可能である。 ただセキュリティが厳しい環境だとたいていデスクトップを常にキャプチャして監視しているので、「一部の領域がやけにチカチカしている」ということを自動的に検出できそう。
音であればカメラを向けなくてマイクで傍受できるのでカンタンかもしれない。
悪いことしようとすれば技術的に色々あるだろう。
SEE ALSO
映像だけから音を復元するビジュアルマイク技術。防音ガラス越しのポテチ袋から会話を再現 - Engadget Japanese
あらゆるUSBデバイスを攻撃に転用可能な「BadUSB」、Black Hatにてデモ予定 | スラッシュドット・ジャパン セキュリティ