未経験者からプログラマーZET

未経験でもプログラマーに絶対になる!プログラミング初心者のための情報サイト

プログラミングの勉強

エンジニアにもプログラマーにも必要な視点、セキュリティについて学んでみよう

2017/11/07

Ads by Google

プログラムやインターネットはその必要性とともに大きく発展してきました。と、同時に個人情報や企業の機密情報が狙られる危険性も増えてきたのです。

私達システムの作り手側は常にセキュリティについて考え、重きを置く必要があります。

今回はプログラマーやエンジニアのセキュリティに対する思考や対策についてご紹介します。

一般的なセキュリティの概要について

一般的にIT関連のセキュリティとは情報セキュリティを指します。

個人情報などの情報を防いだり、データの改ざんをされないように対策を講じます。

しかしその種類は大変多くプログラムだけにとどまりません。

ハードウェア・ソフトウェア・ネットワーク・人からもリスクが発生します。

特に人の部分はシステム管理者やエンジニアだけの問題ではありません。経営者や個人でもセキュリティ対策を行う必要があります。

ハードウェア観点からのセキュリティ

ハードウェア視点でのセキュリティは2種類あります。

物理的なセキュリティとハードウェアのセキュリティです。

物理的なセキュリティは、盗難などに合わないようにチェーンなどで固定をしたり、サーバー室など機器が置かれている部屋への入室を制限するなどの対策をします。

ハードウェアのセキュリティとは廃棄を行う際に物理的な破壊をすることや、メーカー設計時の脆弱性をついたマルウェアを仕込まれないための対策などを指します。

特に注意が必要なのが、HDDの廃棄ではデータの復元が可能なことでしょう。

通常データは完全に削除を行っていても消えているわけではなく、専用のソフトで復元が可能なのです。

不要になったHDDを売却する際に情報が漏れてしまわないよう、対策には物理破壊が一番有効です。

またメーカー設計時の脆弱性はなかなか気づくことが難しく対策は後手にまわります。

セキュリティソフトを販売するメーカーやIPA情報処理推進機構などから、セキュリティが随時更新されているので情報をチェックすることが大切です。

ソフトウェア観点でのセキュリティ

ソフトウェアはさまざまなプログラム言語から作られています。

そのため仕様はプログラムごとに異なり、制作側が意図しない状況で、セキュリティホールを作ってしまっていることがあります。

プログラマーがセキュリティを意識せず(もしくは知らず・気付かずに)作成したプログラムを悪意をもったハッカーが情報を抜き出すといったケースです。

制作側は悪意ある者が情報を抜き出そうとする時に、どういった行動をするか想定する必要があります。

SQLインジェクションやセッションハイジャック、ディレクトリトラバーサルといった攻撃方法があり、セキュリティ対策を行う側はこの攻撃方法を理解しておかないと防ぐことができません。

ネットワーク観点でのセキュリティ

今ではスマホの普及によりWi-Fiの知識も一般的になりました。

LANケーブルでつなぐ有線、Wi-Fi・bluetoothなどの無線技術もネットワークの一つです。

有線の場合ははっきりとした繋がりがケーブルで見えるので理解しやすいのですが、Wi-Fiやモバイルネットワークとなると意識することが難しくなります。

Wi-Fiを繋げたものの、どこに繋がっているか分らない場合、情報を搾取されてしまうことも考えられます。

例えばレストランなどのお店のWi-Fiなど無料で使いやすいですが、パスワードと技術があれば誰でも盗み見ることは可能です。

これは仮想の話ではなく実際に大切な情報が無料のWi-Fiから盗まれた事件があるのです。他人事ではないのがわかりますね。

 

システム運営者は、自社サーバーを外部からアクセスできるようにするアクセスコントロールやアクセス時のID・パスワードの管理などが重要な仕事になってきます。

WEBサイトのように誰でも見てよいものは、自分だけが見れるものと分けるため、ファイヤーウォールやルーティングなどの技術が必要になります。

人間視点での観点のセキュリティ

一番やっかいなのが人が関わるセキュリティです。

どんなに注意喚起しても、パスワードに自分の誕生日や電話番号などを使ったり、仕事に関係のないWEBサイトを見てみたり、プログラムのように言うことを正確に聞いてはくれません。

人が関わる限りルールを決めてもセキュリティの事故は起こります。100%はないのです。

ただこういった人の間違いをITで解決することはできるようになっています。

例えば上のようなケースは

自分の誕生日や電話番号などを使えないように、パスワードに想定できるワードを事前に入力できないようにする、
業務関係のないWEBサイトは見られないようにフィルタリングする、

などの対策ができます。

またよくニュースで見かける外部に持ち出したパソコンの紛失は、クラウド型の仮想デスクトップを使ってノートパソコン内にデータを保存しない

などテクノロジーを駆使すれば対策は可能です。

セキュリティで一番信用できないのが人間というのはなんだか皮肉な話ですね。

まとめ

セキュリティリスクは今後もなくなることはありません。

より対策が求められるでしょう

技術の進歩とともに便利なシステムを利用しやすくはなったものの、それだけリスクの幅も広くなってきているからです。

プログラムを作る側がより慎重にセキュリティに対する意識を持たなくてはいけないですね。

Ads by Google

-プログラミングの勉強