̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ IT ニュース&コラム 2011/5/9 通巻518号 ソフトウェアデザイン館 Sage Plaisir 21  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄                        News and Column  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄   ソニーのネットワーク・サービスから大量の個人情報流出 2011年 4月 27日、ソニーは、PS3 や PSP から接続できるネットワーク・ サービス、PlayStation Network (PSN)から約7700万件分の個人情報が 漏洩したと見られると発表した。また、約1000万件のクレジットカード 番号が流出した可能性があると発表した。    昨年、セキュリティを理由に PS3 に Linux などの OS を    自由にインストールできないようにした。 それは、    ハッカーがセキュリティ機能をハッキングすることに    成功したことによるのだが、その後も水面下では何度か    攻防が繰り広げられ、今年の4月3日にハッカー集団    「Anonymous」がソニーに対する闘争を宣言した。    ハッカーは4月17日ごろに進入し、個人情報などが    盗まれていたことが後日分かった。 4月21日から    PSN のサービスは停止状態になり、現在も続いている。    Anonymous がハッキングしたかどうかは不明。 マスコミは、ハッキングされてから、その問題の開示までに時間が かかりすぎていると批判している。 ただ、何の根拠も対策も無く 報告してしまっては、混乱を広げてしまうため、速すぎるのも問題である。 暗号化されていないクレジットカード番号情報が、PSN内部で通信されて いるとハッカーによって指摘されていて、もし本当であれば緊急報告が 必要だろう。 しかし、ソニーによれば、クレジットカード情報にアクセス した形跡がデータベース(の履歴?)に見つかっていないし、情報自体は 暗号化されているという。 ただし、暗号化された情報であっても、直接 情報を入手できれば、サーバーに隠された状態に比べると、解読される 可能性は高まるので、ハッカーが入手できた可能性はある。 だから 発表に踏み切ったのだろう。 なお、今回の発表を受けてクレジットカードの 再発行を行った人には、再発行手数料を補償する方針であるという。 むしろ、問題は、PSNのログイン・パスワードへのアクセスにセキュリ ティ対策が行われていたが、マスターファイルには暗号化されてい なかったことだ。 PSN 内部だけで使えるのだが、PSN のアカウントで ログインできれば、登録済みのクレジットカードを使ってゲームが 買えてしまうからだ。 ソニーは、PSN が復旧したときにパスワードの変更をするよう求めており、 次回ログインするときに変更を求められるだろう。 再開にあたり、特定コンテンツの無料ダウンロードや PlayStation Plus の30日無料提供を行う。 FBI へ捜査を依頼し、新たにセキュ リティ対策企業と契約するなど対策も進めている。 原発問題と同様に、ほとんどの人は実質的な被害が今のところ無いのだが、 見えない恐怖によって、問題が大きくなっている。 原発の場合は、 野菜や魚の出荷を自粛することで実質的な損失が出ているのだが、 PSN の場合も何らかの実質的な損失が出たら補償することが発表されて いるので、パスワードの変更さえすれば、安心してよいだろう。 参考リンク: http://www.itmedia.co.jp/news/articles/1105/06/news052.html http://www.itmedia.co.jp/news/articles/1105/02/news018.html http://blog.livedoor.jp/dqnplus/archives/1619964.html * The others Last week watched News  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ◇ 各ブラウザからパスワードを抜き出すフリーソフト WebBrowserPassView。 http://gigazine.net/news/20110507_webbrowserpassview/ … このソフトに限らず保存しておいたパスワードを盗む技術は、すでにある。 ◇ いよいよ発売された iPad 2 を触ってみた。 http://av.watch.impress.co.jp/docs/series/np/20110428_443029.html … かなり薄く感じる。 ◇ ワンセグ、おサイフ機能搭載 Xperia acro ソニエリ、日本市場向けに。 http://japan.cnet.com/mobile/35002383/ … Xperia もワンセグ、おサイフ機能搭載へ。 ◇ HTML5に関する IE9の限界とIE10への期待。 http://ascii.jp/elem/000/000/603/603937/ … 確定していない HTML5 の仕様は、実験用ホームページで公開。 ◇ 1号機の水棺に着手。250ミリシーベルトと肥満、どちらが危険か。 http://www.nikkeibp.co.jp/article/column/20110429/268726/?top_rec … メタボリックシンドロームによるガンの確率と比較。 ◇ 台湾に義援金のお礼広告を。Twitterで始まった計画が実現。 http://nlab.itmedia.co.jp/nl/articles/1105/06/news014.html … お返しとしてできること。 ◇ TSUTAYA GALAPAGOS と Reader Store の蔵書点数を比べてみた。 http://ebook.itmedia.co.jp/ebook/articles/1105/06/news059.html … 主な週刊誌はそろっている。今のところ微増。 ◇ ペットボトルのキャップ共通化に見るサプライチェーンの行方。 http://bizmakoto.jp/makoto/articles/1105/06/news004.html … 震災をきっかけに商業主義よりエコへ一歩前進。その影響は。                      Snap Note 3 開発BLOG  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ [ C言語の #define ではなく inline 関数を使うべし ] C言語は、プリプロセッサがソースファイルを変更し、その結果を C言語 のコンパイラーが翻訳するという2段階のコンパイルを行います。 この仕組みにより、コンパイルしたら、プリプロセッサによる変換 すでに済んでいて、CPU が変換することは無いため、高速に処理が 行われるということになります。 高速に動くプログラムを作成するために、#define マクロは多用されて きましたが、使い方に注意しないと、意図しない動きになります。 たとえば、マクロの引数の中に n++ のようなインクリメントを 記述すると、マクロの内容によっては n+=2 になってしまいます。 例)#define MacroA( x ) ((x)+(x)) MacroA( n++ ); // (n++)+(n++) 個人的には、関数やマクロの引数に、インクリメントを記述するのは、 読みにくいコードになるため、しないので、この問題が発生したことは ありません。 むしろ、読みにくいコードを記述するほうが悪いので、 #define には問題ないと考えていました。 しかし、ライブラリを開発すると、誰が使うか分かりません。 読みにくいコードを平気でする人もいるでしょう。 大人数で開発する ものは、そういったリスクがあります。 そうしてバグが生まれるのです。 自分は読みにくいコードは記述しないのですが、読みにくいコードを 記述しても問題が発生しない方法があります。 それは、インライン関数 です。 インライン関数は #define マクロと同様に、その内容を、 コンパイル時に展開し、処理内容によっては、コンパイルが済んだとき には、処理が済んでいることもあります。 違いは、関数の引数に インクリメントを記述しても問題ないことや、引数の型チェックが行わ れることなどがあります。 現在は、多くのコンパイラで使えるように なっているため、使えるものは使っていくことにしました。 Visual C++ の場合、C言語のインライン関数は、_inline というキー ワードを付けて関数を定義します。 _inline int FuncA( int x ) { return x+1; } inline の前にアンダースコアが付いているのは、当時の C言語の規格 に入っていないキーワードであるためです。 逆に規格にないものは、 付けなければならないという、ちょっと面倒なルールによるものです。 同様のルールは C言語の標準ライブラリにもあり、先頭にアンダー スコアが付いた関数が増えて読みにくくなったのは、そういったルール に厳密に準拠したからです。 WIN32API などは、標準ライブラリでは ないので、このルールには従わずに済みます。 最新の C言語の規格(C99)では、アンダースコアの無い inline が 規格に入りました。 ただ、C99 に対応したのは、Visual C++ 2010 からなので、Visual C++ 2008 以前では、アンダースコアが必要に なります。 なお、C++言語では、以前から仕様にあるため不要です。 私たちが記述する C言語のソースは、Visual C++ 2008 でも、C99 仕様を想定して記述してかまいません。 なぜなら、Visual C++ 2010 でコンパイルするときは、そのまま通りますし、Visual C++ 2008 でコンパイルするときは、 #define inline _inline を追加すれば通るからです。 よく行われるのが、 #define INLINE _inline と独自のキーワードを定義することですが、これは、よくありません。 #define が永遠に必要になるだけでなく、C99 標準に準拠していません。 標準は、皆さんにこれを使っていきましょうというルールなのですから。 一方で、C99 には _Bool 型がありますが、これは逆に C++ 言語の bool と異なる仕様になりました。 inline は、これを使いましょう、 というルールですが、_Bool は、既存のブール型と衝突しないようにして、 誰でも typedef できるようにしたのでしょう。 しかし、衝突していた 人は、typedef しなければいいですし、内容が違っても、#define で、 定義を変えることもできます。 その辺の対処法を知らない人が 仕様を作ったのでしょうね。 ちなみに、C99の原文の和訳(JIS X 3010:2003)を入手するのは、著作権 の関係で高価です。 標準に準拠しています、ということがアピール・ ポイントになるので、金を出しても入手したい人はいるのでしょう。 Google が目指している、あらゆる情報にアクセスできるようにする、 ということを実現するためには、著作権を全て奪うぐらいの金額がいる ということなのでしょうね。         ソフトウェアデザイン館 Sage Plaisir 21 について  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ホームページ  >>> http://www.sage-p.com/ メルマガ    >>> http://www.mag2.com/m/0000083983.html ブログ     >>> http://blog.livedoor.jp/sage_p/ ツイッター   >>> http://twitter.com/Ts_Neko ダウンロード  >>> http://www.sage-p.com/freesoft.htm サポート掲示板 >>> http://www.sage-p.com/kg_ban09/z6037C8.cgi 東日本大震災  >>> http://www.sage-p.com/saigai.html メール   >>> ts-neko◇sage-p.com ←◇を@に変えてください          緊急メールは件名に「うどんメール」を付けてください。  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ メルマガの設定を変更する? >>> http://www.mag2.com/m/0000083983.htm  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ News & Column are composed by T's-Neko 2011  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄