人とか機械とか

デジタルガジェットやコンピュータについてのブログです。

ベネッセの情報流出事件とUSBの悪用

ニュース - ベネッセ事件容疑者はなぜスマホでデータを持ち出せたか、IT部門は設定の再点検を:ITpro

ベネッセ事件容疑者はなぜスマホでデータを持ち出せたか、IT部門は設定の再点検を:日経コンピュータDigital

USB Mass Storage Class Deviceについてはセキュリティが働いてデータの保存ができなくなっていた?ようだが、MTPにはセキュリティが働かなかったようで、それで流出が起きたらしい。 デジカメやAndroidなど、エクスプローラに見えるので一見Mass Storage Class Deviceと同じに見えるが実はMTP接続のものがある。iPhoneもMTPなのだろうか。

スマートフォンのパソコン接続は大容量デバイスからMTPへ(第164回)《塩田紳二「モバイルトレンド」》

第653回:MTP接続 とは - ケータイ Watch

メディア転送プロトコル - Wikipedia

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

続きを読む

USB Type-Cのspecを少し読んだので解説する

USB Type-C コネクタがついに策定完了したので少し読んでみた。

USB.org - Documents

usb_31_081114.zip

解凍すると USB Type-Cディレクトリの中にUSB Type-C Specification Release 1.0.pdfがあります。

いまのところわかっている特長的なもの

  • コネクタは楕円の形していてmicro Bくらいの大きさ。裏返してもOK。
  • ケーブルの両端がType-CコネクタなのでどっちでもOK
  • Type-A/Bではオス側(plug)のほうがVBusとGNDピンが長かったが、なぜかType-Cでは逆にメス側(receptacle)のほうが長くなっている。(3.2 USB Type-C Connector Mating Interfaces)
  • いままでのType-AやType-Bとの変換ケーブルやアダプタがおびただしい数ある(3.5 Legacy Cable Assemblies, 3.6 Legacy Adapter Assemblies)
  • いままでに登場したUSB機能をすべてカバーできている。(USB2.0 USB3.1 PowerDelivery BatteryCharge On-the-Go Hub Device Host)

  • 12pinが2列ある。

  • CCピンが増えておりCC LogicやSSのMUXとやら必要なようなので、Type-Cコネクタを備えるHost/Device/DRDは従来からコネクタを変えただけではダメでロジックも追加が必要そう? (4.5 Configuration Channel (CC))。
  • 一部のピンをUSB以外にも使える。たとえばPCIeとか。
  • アナログオーディオ端子として使える。
  • パッシブケーブルとアクティブケーブルがある

12pinが2列ある。

f:id:sea-show:20140815003453p:plain

A列が12pin、B列が12pin、という構造と名前になっている。 Front Viewと書いてあるように正面からみた並びなので、実際に接続されるときはPlug側が裏返しになるイメージ。それでたとえばD+とD-が一致したりすることになる。

続きを読む

C言語とバックスラッシュ

C言語ソースコード中のバックスラッシュが行の終端にあると、それは改行コードをエスケープすることを意味する。なので、つながった1行とみなされる。これはマクロを書くときに見やすくするのに使ったりする。

なんだけど、落とし穴があって、行コメント (//) の終端に間違ってバックスラッシュを書いてしまうと、それもやはり改行コードのエスケープと解釈されるため、つまり次の行もコメントと見なされてしまう。typoで間違ってそれをやって、すごい悩んだ人がいた。

厳密に言うとC90の規格に行コメント(//)は無いんだけど、コンパイラの拡張として備えているものが多い。

超初心者がSQLをはじめた

なんか色々あってSQLをやることになったんです。 SQLなんて学生のころにやった以来でもう何か10年前くらいじゃないかと思う。

なんかいろんな機能がたくさんあるようですが、使いこなせてないと思われます。 でもまあナントカ機能してるようですが。

まだ新しいことを覚えるだけの脳みその力は残ってるみたいなので、なんか、よかったです。 (オッサンなのに小学生並みの感想)

webとか銀行とかAndroidとかiPhoneとかFirefoxとかの裏側ではこんなんなってるのかー!オヤジが夢中になるわけだ!とか思った。

独習SQLでも読もうかな。

独習SQL 第2版

独習SQL 第2版

新人の頃皆さんどうやってSQL勉強しました? - BIGLOBEなんでも相談室