FC2ブログ
2014/02/17

日本人はITのセキュリティを理解できない

社会問題を取り上げるtroppositeというブログもやっているのですが、
そこでは場違いなテクノロジーの記事を書いてしまったので、こっちに転載します。



今日は、日本人がわかりづらいコンピューターについての提言です。
日本人はもっとコンピューターとそれにかかわる人々をサポートしないといけない。

ちかごろ、GMO、Ameba、@PAGES 更にそう 2chの情報流出が発生しまして。
困りましたね。また、プログラマーの苛酷な労働環境も、取り上げたいと思います。

まず、基本的な知識が必要です。

コンピューターは全てある種の言葉を理解し、実行します。1と0の羅列が、意味を持ち、コンピューターに対する命令です。
この命令群を、じつはプログラムといいます。
人間の脳はソフトウェアを作るのにあまり適していなく、
注意していても人間の脳内のイメージをなにもわかっていないコンピューターに対する 膨大な命令に変換するのは大変です。
プログラミング言語といわれる特別な言葉で「ソースコード」を書き、それを「コンパイラ」で実際の命令にします。
一度では絶対うまくいかず、「バグ」といわれるプログラムの異常個所が出来ます。「デバッガ」で実際コンピューターがどんな動きをするかを見て、直して行きます。これは「デバッグ」と呼ばれる作業です。
用意周到に作ってもバグはほとんどの場合必ず小数残ります。害虫が居なくならないようなものです。その状態で、プログラムを出荷し、
「アップデート」を用意して随時更に直さなくてはいけません。
このように人間が作ったプログラムはなんと完璧なものはなくて、何かの機会に応じて修正が必要になるのです。

プログラムを命令といいましたが、作業手順ともいえます。作業手順に欠陥があると、工場のラインに異物をいれられるが如く
サイバー犯罪者に悪質なプログラムを注入され、コンピューターが破壊されたり、中の情報が盗まれるのです。これもアップデートを用意して予防しなければいけません。
このようにコンピュータの世界は 人類、特に日本人あたりが全く経験していない世界で、しかし
市場に出回っているプログラム、それに補助データを付けた「ソフトウェア」はバグがだいたい取れた状態で出回るので、
一見して当たり前のようにうまく動いてしまう、普通に
「文房具」として使われる、そこに日本のITの闇があると思うのです。

ソフトウェアの開発は、事務と同じように考えてはいけません。ここが第1です。
創造力をフルに使う、猛烈なアハ体験をしばしば伴う 一日中ソフトウェアで頭がいっぱいになる 特別な労働なのです。
全く新しいことを、考えなくてはいけません。よく使われるプログラムは「ライブラリ」の形になり、徹底的に使い回されます。
違うソフトウェアを作る上ではやはり新しいことを考える必要がどうしてもあるのです。
人間に頼めばだいたいの指示で足りるのを、記憶をどこに貯めるか迄何も知らないコンピューターには
すごく細かい指示をだす必要があります。
Excelを単に使うのとまったくレベルが違うのです。VBAマクロあたりになると、ちょっと本格的です。

コンピュータは頭が硬く、どんなに間違った命令でも実行するし、コンパイラもちょっとこちらがプログラミング言語を間違えただけでエラーを吐いて終了します。
バグをひとつひとつ取る「デバッグ」は自分の思考パターンを徹底的に試すことであり、猛烈なアハ体験をしばしば得るのです。
デバッグは苦痛でしょうがない人と楽しくてしょうがない人が居ます。
バグ所じゃない、設計上のエラーなんてのもあります。これはよく新たな計画を考えてからソースコードを大きく書き換えないと、直りません。文字を打つのが苦痛になります。
なかには、一からソースコードを書き直したらうまく行った、そんなことまであります。

開発チームはよく話合い、協力してソフトウェアを作ります。他の人の作ったプログラムを自分のとうまく結合しなければ正しく動きません。人間関係も品質につながります。
出来る人と出来ない人の差もきわめて激しく、海外では優秀なプログラマの取り合いです。
さらにものすごく進歩が速いので根本的な知識以外は5年以内に新しいテクノロジーの知識に変えます。

この点、だされた解けるであろう問題を一人で時間内に正しく解く受験戦争の生き抜き方と全く正反対です。
いわれたことを正しくするのが得意な日本人には、理解しがたいことです。

ですから、プログラマーは単純労働をやっているのではなく、しばしば休憩を取るのが必要な、創造事業をしていると理解してください。
質のいいソフトを作るにはプログラミングが簡単な事務作業ではないということをわかって ちゃんと給料と休憩をもたせることです。
これは「開発」なのです。発明と似ているのです。
ここを軽視するところから 日本のIT業界の闇が来ていると推測します。
いい加減なソフトウェアがたくさん出来ては、予算オーバーやバグだらけ、使い勝手が最悪、犯罪者に侵される 事態が起きます。

もうひとつ、プログラマーが必死に作ってくれたソフトウェアを 長期間運用するのも、運び屋と同じぐらい尊い仕事です。
たとえばホームページのサーバー、基本、できたらずっと動いてくれるので、だから何もしなくてもいい  と思ったら大間違いです。ここが一番大事です。
アップデートはまず適用、エラーが起きたら戻します。
サーバーは個人情報、社会的に重要な情報がいっぱい入っているので犯罪者に狙われます。
侵入を防ぐためには直ちにアップデートを適用するのです。
アップデートはパソコンのWindows Updateでも面倒です。特注のソフトウェアだけでなく、LinuxカーネルやApacheなどの土台部分もアップデートします。
ですから再起動も必要なことがあり、サーバーを交替したりします。

データを守るためにアクセス権限を管理、不正改ざん、おかしな通信をよくチェックします。
ものすごく長い運用データを検索して、見つけないといけません。すぐに見つかるようなら大惨事になっているかも。
ある種の情報(コンピューターがどれだけ重いか、通信量など)はいつも見れるので、ときどき見ます。
特定のファイルを見れなくするなど、自分で出来るところまで、セキュリティ対策をします。
こんな大事なサーバーでもフリーズすることがまれにあります。こうなったら遠隔操作を止め、サーバーセンターにいって電源スイッチを押し再起動します。(slashdot.jpでおこった)
社会的に重要なサーバー(JRの長距離切符のマルスシステムなど)ならすぐにサーバーを交替できるようになっています。

面倒見切れないぐらい古いソフトウェアは切り捨てて、新しいものに取り替える必要もあります。お金を積みます。これはコンピューターそのものを新しくしてもよく起こり得ます。
ITのインフラは今や 郵便 宅配 輸送 と同じぐらい尊い仕事であり、しかしこのように形のない情報そのものを扱い、(安全、安定を保つには)コストが意外と掛かり、何か重大な欠陥が潜んでいてもそう簡単に見えません。一見してちゃんと動いている、だけでは用心が足りません。

だから文房具と同じように見てはいけません。ちゃんとソフトウェアの特注ではお金を払い、

コンピューターが好きな人にコンピュータのメンテナンスを頼まないと、(おうちのパソコンでも)

とんでもないことになっても知りませんよ。しかし、詳しい人はわからないということが理解できないので、怒らせないように。