安全にInternet(ブラウザ)を利用する為のTips

Security 12月 29, 2007
(Last Updated On: 2008年2月1日)

管理者権限を持たないユーザでログインする

Vistaの場合、管理者権限を持つユーザでログインしていてもUACで管理者権限が必要なプログラムの実行には許可を求めるダイアログが表示されます。したがって管理者権限を持つユーザでもある程度安全に利用できます。しかし、Vistaの場合であっても管理者権限を持たないユーザでログインしている方がProgram FilesやWindowsディレクトリ、レジストリ等が保護されるので管理者権限を持たないユーザとしてログインした方がより安全です。

Vistaでは一般ユーザとしてログインすると保護機能が働くためUACで管理者権限を得ても、再ログインすると設定などが消えている場合があります。アプリケーションやドライバなどのインストールを管理者アカウントでログインしてからインストールすると問題なく利用できる場合があります。よく聞く問題なので覚えていて損はないと思います。

XPと異なり、Vistaの場合はドメインに参加していてもログインしたまま、別ユーザとしてログインできます。XPの場合、runasコマンドを使ってなんとこごまかす事もできましたがお世辞にも簡単とは言えないです。Vistaの場合、ドメインに参加していてもログインしたまま別ユーザとしてログインできるので会社でドメインを使っている場合でも快適に一般ユーザとして利用できます。

私はXPを使う事もありますが、VMWare上の開発環境であっても一般ユーザとしてログインしています。Vistaほど使いやすくはないですが、慣れれば大丈夫です。

XPの場合、管理者権限でログインしているといつ0Day攻撃などでいつルートキット等をインストールされてもおかしくないです。

ブラウザとプラグイン以外のアプリケーションも最新版を利用する

PCをボット化させる場合、実際に攻撃が行い攻撃を成功させるには複数の脆弱性が利用される場合が多くなってきています。ブラウザとプラグインのみでなくシステム全体が脆弱性を持たないようにしなければ攻撃が成功する確率が高くなります。意外なアプリケーションの脆弱性が攻撃に利用されるかも知れません。

MS Office 2000アプリを利用されていないでしょうか? MS Office 2000はMiscrosoft Updateに対応していません。Microsoft UpdateはMicrosoft製品のセキュリティパッチを自動的にインストールしてくれますが、MS Office 2000には対応していないので手動でパッチを適用しなければなりません。

OpenOfficeにも脆弱性が見つかっています。更新されているかチェックする必要があります。使っていなくてもインストールされていれば脆弱性があるプログラムが攻撃に利用される事はよくある事です。

圧縮プログラム等でも脆弱性が発見されています。脆弱性がある圧縮プログラムを利用すると、展開すると任意プログラムを実行されたり、意図しないファイルを上書きしてしまう可能性があります。

SecuniaのPSIを利用するのも一つの方法です。PSIはインストールされているプログラムに既知の脆弱性が含まれる物を検索してくれます。

信用できそうなサイトもできるだけ信用しない

マルウェアを配布しているサイトの半分以上が普通のサイトになったと言われています。つまり、まっとうなサイトを犯罪者がクラッキングしてマルウェア配布に利用しています。見た目やサイト運営者の信頼性だけでは本当に信頼できるか分かりません。

マルウェア検出ツールにはWebページの危険性を検知する機能を持つ製品もありますが、静的にページを検査しているのであれば最近の攻撃には役に立ちません。

私はログインするサイトはできる限りNoScriptに信頼するサイトとして登録していません。これはクロスサイトスクリプティングの仕組みを考えれば自然な事です。ログインするサイトでJavaScriptが実行できなければJavaScriptを使ってセッションIDを盗めません。

NoScriptに信頼させているサイトは、頻繁に参照するサイトでJavaScriptが有効でないとまともにブラウズできないサイトでアカウントを持たないサイトを信頼させています。

参考
FTPとCPanelユーザはクラッキングに注意が必要

インターネットからダウンロードしたアプリ、プラグイン、コーデック、ドライバ等をインストールしない

当たり前過ぎて最後の方になってしまいましたが、インターネットからダウンロードしたアプリ、プラグイン、コーデック等を無闇にインストールしないのは基本です。これらをダウンロードしてインストールする場合は、プログラムが信頼できるか、信頼できる場合は1次配布元からダウンロードしているか、シグニチャなどを提供している場合シグニチャが一致するか、を確認します。

偽物や実際に動作してもルートキットなど余計なプログラムをインストールしてしまう物までいろいろあります。基本的にはインターネットからダウンロードしてインストールするプログラムは、信頼できるプログラムだけに留め、最小限度にすべきです。

アンチウィルスプログラムをインストールしているからといって安心はできません。アンチウィルスソフトに検出されないプログラムも作れます。アンチウィルスソフトは基本的にはブラックリスト方式でマルウェアを検出します。ヒューリスティックに検出する事も可能です。しかし、この機能は完全ではありません。一度ルートキットをインストールされるとHDDを取り外して、別のPCから検査したり、カーネルレベルでデバッガを利用しないと検出できないようなルートキットもあります。

マルウェアはインストールさせない事が一番重要です。

サイト毎に別のパスワードを設定する

言うまでもなくパスワードは現在のWebシステムでもっとも重要なセキュリティ情報の一つです。しかし、残念ながらパスワードの管理が適切でないサイトが少なくありません。

  • パスワードを暗号化して保存していない
  • 平文パスワードがログイン後ならサイトで参照できる
  • 平文パスワードをメールで送信する
  • ログインさえしていればパスワードを変更できる

パスワードが暗号化されていなければSQLインジェクションに脆弱であれば、パスワードを盗まれる可能性があります。

さすがに平文パスワードがログイン後に参照できるサイトは極限られているとは思いますが、このような仕様のサイトだと、一度スクリプトインジェクション(XSS)に成功するとずっと成りすましが可能です。

パスワードをリセットしようとすると、平文パスワードをメールで送信してくるサイトは大手サイトでもあります。私自身も3つくらい知っています。平文パスワードを送信できる、つまりパスワードのハッシュ化さえも行っていないのです。

本来はパスワードを単純にハッシュ化するだけでは辞書攻撃にかなり脆弱なので、slat付きでハッシュ化した方が良いのです。平文でパスワードを保存しているのは非常にまずい状態です。

パスワードはかなり難しい物をサイト毎に設定すると良いです。最低限8文字以上、少なくともusername1234の様な分かりやすい物は避けた方が良いです。いちいち覚えていられないのでブラウザに覚えさせるか、Magic Password Generator等を利用しても良いでしょう。

投稿者: yohgaki