2022年8月、ホームページを全面リニューアルしました! 情報を分かりやすくお伝えできるサイト作りを目指してまいります。

セキュリティスキャナー日本語サイト

COPS(Computer Oracle and Password System)セキュリティスキャナー日本語サイト

Preface :

COPS(Computer Oracle and Password System)は、当時アメリカの バーデユー大学 在籍のDan Farmer氏によって開発されました。
COPSは、自分のサーバの色々なセキュリティ設定及びファイルの安全性等に妥当性があるか、診断するセキュリティスキャナーです。特に、サーバ管理の初心者に見落とされがちなセキュリティホールを診断後、「warning!」メッセージでアドバイスしてくれます。しかし、あくまでもアドバイスであって悪い箇所、間違った箇所を訂正してくれるわけでは無いことを認識してください。さらに、このプログラムは、サーバのセキュリティホールを見つける物であってクラッキングツールでは有りません!
以降、Dan Farmer氏が書いたREADMEの英文和訳です。

ようこそ!
現在のあなたは、コンピュータセキュリティのしばしば無視されるエリアについて典型的なUNIXシステム管理者、プログラマー、オペレータ、またはコンサルタントを援助するために明確にデザインされたセキュリティツールコレクションをあなたの端末に確保します。
もしあなたが、「マニュアルページ」がうっとうしいと思う boy/girl/rock の類であるならば、とにかく『make』とタイプしましょう、そうすれば、このすごい物を動かすことができます。また、あなたが手っ取り早く始めたいなら「クイックスタート」という1つのファイルを読みましょう、違った形で現在これを読むことにより啓蒙的であるということが証明できます。
パッケージ(以降、COPS(Computer Oracle and Password System)と呼ぶ)は、3つのキーパーツに分かれています。

一つ目は、しばしばシステム管理者によって手動(もしくは、恐らく自己によって書かれた短いシェルスクリプトかプログラム)で実行されるセキュリティチェックを自動化することを試みる実際のプログラムセットです。

二つ目は、ドキュメンテーションです(このドキュメンテーションはどのようにプログラムの結果をセットアップして、操作して、解釈するかを詳しく述べています)。 また、それはCOPS自身の上の1つか2つの論文を含んでいます。

三つ目に、COPSは発展している生き物であるので、それは今後のリリースとなるかもしれない可能性を秘めた広大なリストを含んでいます。さらに、他の作品への様々な話題やUNIXセキュリティと指針における事を保存領域とか、その他の制限のため含めることができなかったUNIXセキュリティにおけるいくつかの短い文書を含んでいます。

この文書は5つのセクションに分かれている:


1) COPSとは何ですか?


——————–
COPSの中心は、UNIXセキュリティの異なった問題領域に取り組むそれぞれの試みについての1 dozen(ダース)(実際は、それよりあるけど、1ダースの方が聞こえがよいので)のプログラムの集まりです。これは、現在のプログラムで数えるとです。実際を少し紹介すると:

■ ファイル、ディレクトリ、およびデバイスファイルのパーミッションとモード

■ 貧弱なパスワード

■ パスワードファイルとグループファイルの内容、フォーマットおよびセキュリティ

■ プログラムとファイルは、 /etc/rc* とクーロン(クーロンタブ)ファイルを走らせます。起動ファイルの正当性の確認

■ setuid されたファイルの所在及びそれの書き込み権限の確認

■ 重要なバイナリファイルまたはキーに対して、CRCチェックでそれらのファイルの中の改変状況を確認

■ ユーザーホームディレクトリとかスタートアッププログラムの( .bash_profile、.bashrc、.profile、.cshrcなど )の権限

■ anoymous ftpセットアップ

■ 無制限なtftp、sendmail、SUID uudecode問題、inetd.confの中に隠されたシェル、inetd.confの中で走ってるrexd

■ その他のrootチェック–検索経路のカレントディレクトリ、/etc/host.equivの「+」、無制限なNFSマウント、rootが/etc/ftpusersにあるのを確実にすることなどなど

■ CERT勧告によるキー・ファイルの日付
これは様々なバグとセキュリティーホールが発見された問題のファイルに関する実際の期日に対してCERTによって報告された日付をチェックします(ファイルに対してパッチが適応されているか)。これにより、肯定的な結果はセキュリティホールが見つけられたのをいつも意味するというわけではありませんが、それはあなたがこの状況報告を見て、それに対して、さらなる手がかりを調査すべきであるというアドバイスと考えて下さい。逆に否定的な結果は、あなたのソフトウェアにはセキュリティホールが全くないのを明らかにする意味では無く、状況報告を出して以降、そのセキュリティホールはすでにFixされていると考えてください。

■ Kuangエキスパートシステム
これは、1つのセットの規則に則って、あなたのシステムが妥協することができるかどうか決定しようとします。(チェックに関する全てのリストは、”release.notes” かもしくは “cops.report”を参照下さい。 kuangをより以上知るには、”kuang.man”を参照下さい)
プログラムのすべてが潜在的な問題についてユーザに警告します — COPSは、それが見つける潜在的な問題のどこを修正のかとか、利用できるかは試みません! COPSはそれがあなたのシステムで動いている間に見つける問題がどのファイル(ユーザに見つけられる)に有るのかを知らせるか、または出力します。
COPSはそれが見つける潜在的な危険を修正しないので、それは特権があるアカウントによって実行される必要はありません(すなわちrootだけでなく誰でも)。 rootによって実行される、最大の結果を得るべきである唯一のセキュリティチェックがSUIDです: 一般ユーザとして実行することができますが、それは、システムですべてのSUIDファイルを見つけることができるように本来rootとして実行されるべきです。
さらに、もしキーバイナリが読み込み可能だけの世界でなく実行可能な権限も必要だとしたら、プログラム 「crc.chk」 をチェックしているCRCは、結果を得るのと問題のファイルを読むために、特権を与えられたユーザーとして実行される必要があります。
また、注意してください、ホストを離れてCOPSでチェックすることはできません。なぜなら、すべてのテストとチェックはテストされているホストにあるシェルを必要とするからです。
COPSを作るプログラムは元々(希望をいだいて)最大の携帯性のために、主としてBシェル( awkを使用するsed、grepなど )で書かれました、いくつかが速度(最も、著しいのはKuangエキスパートシステムおよび速いユーザーホームディレクトリ検索の実装で分かれます)を必要とするために現状はC言語で書かれています、しかし、全体のシステムとしてはもっとも小さい手直しで、BSD互換とSystem V互換(Linux)マシンの上で動くはずです。
さらに、いくつかの利点を持っていることにはperlバージョンが含まれます。その場合は、多分、シェルやC言語のバージョンのようにポータブルではないはずです。
COPSはその上、様々なサポートプログラムを含みます。主要なものはCARPです(COPSの分析とリポートプログラム)。CARPは、ホストの完全なネットワークまたは設定から様々なCOPSリポートの要約を分析し、生成するためにデザインされるインタプリタです。

但し、2000年以降COPSは、そのプログラムに手を加えられてないので現在のUnix互換OS上では機能が限定されてしまうでしょう。


2) COPS _not_ とは何ですか?


————————
COPSは、大抵、共通の手続上のエラーをチェックしている方法を提供します。それが常識である、またはユーザー/オペレータ/管理の用心深さのための置き換えとして使われることは意図されません!セキュリティの苦難に対する不可解なシールドとしてではなく、それを援助する、防御の中で初めのいちラインと考えて下さい。経験豊富な不正行為者は、COPSが与えることができるいくらかの保護を簡単に出し抜くことができます。しかし、COPSはあなたのシステムを無知、不注意、および、たまたま不満なユーザーから保護することを支援します。

もう一度言います。
COPSは、見つけられた少しのエラーも訂正しません。これにはいくつかの理由があります : 何よりもまず、コンピュータセキュリティは、滑りやすい生き物と同じだと言うことです。付加的に、1つのサイトのセキュリティで主要な違反が何であるかが、別サイトでの開放された標準規定であるかもしれず、すべての問題を解決するためには、それを見つけ、さらにそれは特権を与えられたユーザーとして実行される必要があります ; 私は、実行されているSUIDシェルスクリプトの無数の問題を検討しようとしているわけではありません(技術レポート マットビショップの”cops.report”という技術報告書の終わりのこの対象に関する図書目録を見てください) — シェルがSUIDであるどのようなアカウントとでも等しい特権を与えることが、攻撃者にスキを与えることになってしまうと言う悪い考えであることを十分解って欲しいのです。


3) ダウンロード & インストール方法


—————————-
ソースのダウンロードは、 ftp://ftp.cerias.purdue.edu/pub/tools/unix/scanners/cops/ ここです。

インストール方法は、 copsでセキュリティホールを検出する! ここです。


4) copsのインストール、実行、および継続使用


————————————–
動かされうるCOPSの2つのバージョンがあります。オリジナル(「COPS一流の作品」?)には、いかなるUNIXシステムでも持っているべきCコンパイラおよび標準のシェルツールだけが必要です : awk、sed、grepなど情報をどのように設定し、どのバージョンを実行するかを知る為に、「README.2.sh」というファイルを見てください。
もしあなたがSystemVまたは非標準のバークレーUNIXシステムを持っているならば、もしくはこれを使用することについて最も重要なことは、シェルプログラム「reconfig」を実行することです — COPSが自分で使うプログラムへのパスはシビアにコード化されていて、この作業は、COPSがこれらのプログラムを見つけることができるように、パスを再設定します。もしあなたが perl を、あなたのシステム(私は、perlバージョン3.18以上で作動すると思います)にインストールし、perlバージョンをチェックしたいならば、どのように使うか詳細を知るために「README.2.pl」というファイルを見てください。あなたがperlバージョンを使用することへのいくつかの利点と難点があるので perl がありましたら、私は、どれがあなたの環境に合うかを確認するために両方のパッケージを試すようにアドバイスするでしょう。
もし、COPSの結果を解釈するために、あなたが助けを必要とするならば、「doc」ディレクトリのファイルの中の「warnings」を読んで下さい。COPSパッケージの個々のプログラムのうちのすべては、そのマニュアルページ( man page )を持っています。
継続しての使用、および複数のアーキテクチャサイト、または他の高度なCOPSの話題を知りたい場合は、「README.3」をチェックしてください。
以下のトピックに付加的な「readme」ファイルがあります : アポロとXenixマシン、C2および他のshadow passordファイル、NIS/イエローページ、及びCOPSフィルタは、「docs」ディレクトリにある、これらに対応したreadme(注:小文字)ファイルを見てください — 例えば、「docs/readme.apollo」。


5) 免責事項及びEnd Notes


————————
COPSは、セキュリティホールをシステムに発見するように、敵によって使用される武器ではなく、セキュリティ固めを援助するツールであることを意図しています。
誰でもそのようなツールにアクセスできることを可能にすることが危険であることが議論できるけれども、うまくいけば、このパッケージを使うことによってシステム全体の利点は、どのようなネガティブなインパクトにもまさります。私のために、それは法の執行問題と類似しています — 不正侵入する方法を公的に伝えることは、その試みのわずかな上達を促進するかもしれませんが、それらの試みから自分自身をどのように防御するかという意識が高騰して、実際には不正侵入の低下につながるでしょう。
ブラックキャップのクラッカーは、すでに知っているはずです、私たちがどのような防御のためのツールを持っているか、そしてシステム防御をどのように破壊するかは・・・・。だが、私は確信しています!それは私達が今反撃する時なのです!
COPSはわれわれのセキュリティの苦難への最終的な解答ではありません。COPSが保証を持っていないことをあなたが理解する限り、あなたはシステムを使用することができます、あるいはそうでなければ、持っているかもしれないどんな問題も、私、あるいは他の著者の欠点の何れでも有りません。もし可能ならば、私は、確実に、あなたがそれらの問題を解決することの手助けを試みるでしょう。もしあなたがここに付加的プログラム、またはコアプログラムのうち、何よりのインプリメンテーションのためのアイデアでも持っているのならば、私は、それらを見ることに非常に興味があります。COPSは、書き込みコードとテスト段階では、人々によるロットでの仕事でした(ありがとう、ベータ・テスター諸君!)。貢献者の全てのリストは、「XTRA_CREDIT」というファイルを見てください。

そして、幸運、及び私はあなたが、1990年代のUNIXに突入するのでCOPSが有益であることを発見することを望みます。

dan farmer
1989年1月31日
(現在1990年1月31日)
(現在、どのように時間が経過するかの1991年11月17日……)

■ 免責事項(以下の条件の下で、このサイトは運営されています)

これは、1989年と1990年に Purdue大学 で dan farmer によって元々書かれて、コンパイルされました、Gene Spafford教授の支持の元、スポンサーシップの下で・・・。最近、Software Engineering Instituteに対して仕事をしました。 さらに最近、サン・マイクロシステムズでも仕事をしました。
この物全体の著作権が、これらすべて複写媒体へコピーされれるので有れば、ソース及びバイナリフォームにおける再配布と使用は許可されます。「コストでの」分配料金を除いて、料金的には、著作権保有者の明確な承諾書なしでこの材料のコピー、派生、または配布のために如何なるチャージもチャージされることはありません。

This material was originally written and compiled by Dan Farmer at Purdue University in 1989 and 1990, under the direction and sponsorship of Professor Gene Spafford. Other material was contributed as noted elsewhere. Recently, work has been done at the Software Engineering Institute.
Even more recently, stuff has been done at Sun Microsystems.
Redistribution and use in source and binary forms are permitted provided that this entire copyright notice is duplicated in all such copies. No charge, other than an “at cost” distribution fee, may be charged for copies, derivations, or distributions of this material without the express written consent of the copyright holders.

Copyright 1989, 1990, 1992 by Dan Farmer. All rights reserved. Some individual files may be covered by other copyrights.

by Dan Farmer