- ベストアンサー
愚問かもしれませんが教えて下さい。
ウィルスソフトの自作 プロムラミング初心者です。 ウィルスソフトの自作ってできるのでしょうか?なるべく市販されている製品に近づけたいです。プログラムソフトはフリーの(特に指定はありません。)を使ってできるのでしょうか?方法を教えて下さい。どういうプログラムを打つのかも教えて下さい。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
★次のリンクを読んでみて下さい。 ・http://www.ipa.go.jp/security/fy15/reports/uvd/documents/uvd_report.pdf→『未知ウイルス検出技術に関する調査』 この PDF テキストを読むといろいろな方法があります。 私も詳しくは知らないのですが、大まかなウイルス検出方法としては次のようになるでしょう。 (1)ウイルスの特徴となるコード列(パターン)をデータとして用意。 (2)パソコンの中にあるすべてのプログラムを検査。 (3)検査するときに対象プログラム内にウイルスの特徴(パターン)が存在するかチェック。 (4)発見されたらウイルス定義のデータと一致したデータより『○○○』のウイルス発見。と警告。 (5)ユーザに削除するか、どうするかの指示メッセージを出す。 (6)ユーザの意思によりいろいろと処理をする。 こんな感じです。 この方法が『パターン・マッチング法』と呼ばれるものです。 ・私が使っている『Norton Internet Securlty』ソフトもこの方法で多分は チェックしているのでしょう。毎日、ウイルス定義を自動的にダウンロードして 更新する仕組みのようです。 ・よってウイルスチェックのプログラムの要となるものが『ウイルス定義』の データです。このデータをどう用意するかがポイントですね。 自分でウイルスをチェックして特徴となるプログラムのコード列(パターン)を 探すのは大変です。 ・次のリンクも読んでみて下さい。 http://k-tai.impress.co.jp/cda/article/keyword/28904.html→『ウイルス定義ファイル とは』 こちらに簡単ではありますが 『ウイルス対策ソフトがウイルスを見つける仕組み』 という感じで仕組みが載っています。 ・ウイルス定義ファイルの作り方は http://enterprise.watch.impress.co.jp/cda/security/2004/06/22/2644.html→『シマンテック、ウイルス定義ファイル作りの裏側を公開』 を読んでみて下さい。 私もウイルスチェックのプログラムは興味はあるのですがちょっと無理かな。 ウイルス定義のファイルを作成するのが面倒というか、個人では不可能です。 ・昔、学生時代に先生がウイルスをペットみたいに飼っていると聞いた事がある。 こんなコレクションを持っていれば自分でウイルスを調べて『ウイルス定義』を 作成できるかもしれないね。でもすべてのウイルスを調べることは不可能だな。 http://www.itmedia.co.jp/enterprise/articles/0407/30/news068.html→『「定義ファイル不要」「分散型」MS製ウイルス対策ソフト、アルファテストに』 という記事を見つけた。 これによると怪しい処理をするプログラムを監視して見つけるようだ。 この方法なら『ウイルス定義』は必要ないとか、特にデータを更新しなくても 新種のウイルスを防ぐことが出来るかも。って書いてある。 個人的に本当か?と思うけど。 とにかくこの技術(ウイルス対策技術)は一言では語れません。 私もこれ以上は知らないので。 大まかな内容ですが参考になりましたか? ・以上。
その他の回答 (3)
- Oh-Orange
- ベストアンサー率63% (854/1345)
★補足要求します。 ・(1)あなたはウイルス・ソフトを作りたいの? (2)あなたはウイルスを駆除するソフトを作りたいの? (3)あなたはウイルスをチェックするソフトを作りたいの? (4)それ以外 まずはどれにあたりますか? ・以上。もし(1)なら削除対象になりますよ。
- W_H
- ベストアンサー率47% (21/44)
簡単なウイルスを簡単な言葉でプログラミングします。 ・実行開始 ・フォルダの中身確認 ・中のフォルダに自分をコピー。ついでに実行させる。 ・ファイル削除。 超簡単な破壊ウイルスですね。普通に自分はコピーできたはずですし、フォルダの上や下に移動するのも簡単です。フォルダのリストくらいは作れるでしょうし。 でも、koko_u_さん同様、ウイルスバスターやウイルスブロックなどのような、アンチウイルスソフトを作りたいんですよね?売ってると書いてますし。 と言うことで、アンチウイルスソフトについて。 テレビで見たのですが、ウイルスをバイナリデータ(01や1Aなどの数字表示)として見たときのウイルスの特徴(例えば初めが10E51F8Cで始まる、とか)を調べ、それをデータベースとして作成(製品はネットを通じてデータベースの配信やダウンロードを)します。 よって、亜種という言葉をよく聞きますが、それは動作が一致しているけど、ちょっと中身を見たら違っているものの事を指します。 そしてアンチウイルスソフトは、そのデータベースを元に、例えばメールの添付ファイルや、インターネットにつなごうとするプログラムや、ダウンロードされたファイルを調べます。もし、データベースの特徴に一致した場合、それの使用を中止させ、削除します。(たまに配布ソフトがウイルスバスターとは同時に使えませんとか、不具合が生じることがありますが、それは恐らくデータベースの特徴と一致してしまったことが要因。) 何故ウイルスが実行し始めたら止めるやり方ではなく、特徴を調べて削除なんて回りくどいことをしているかというと、決して、データベースなしに実行しているウイルスを止めることはできないからです。 これは、実行されているプログラムがウイルスかどうかの判断ができないということです。 なぜなら上のウイルスは、ファイルをまとめて削除するプログラムとしても動くからです。ウイルスも同じプログラムですから。 そんなわけで、アンチウイルスソフトは、めちゃくちゃがんばれば作れると思います。止めたり削除したりパターンが一致するかどうか調べる処理を入れればいいですから、Cなどを勉強したらできます。 ただ、問題はデータベースの更新。つまりウイルスの分析とウイルスの入手です。どれか一つ欠けるだけでアンチウイルスソフトは無意味ですし、それを個人でできるとは思いません。ぼくはウイルスブロックを使ってますが、毎日バージョンが更新されていますし。 っと言うことで、結局買うか、画期的なデータベースなしのアンチウイルスソフトを何十年かかけて作るか、多分そんなところになると思われます。作るだけ作るのは可能です。作っているのは同じ人間ですから。 ちなみに、大体アンラボとかアンチウイルスソフトを売ってやっていける会社が存在していること自体、人類の恥なんですよね。会社自体はいいことしてるんですけどね。 参考になりましたでしょうか?
- koko_u_
- ベストアンサー率18% (459/2509)
ウィルスにも色々あるけど、マクロウィルスの自作とかは結構敷居が低いんじゃないかな? でもきっと、アンチウィルスソフトと勘違いしてるんだろうなぁ。こっちは難しいというより、ウィルスパターンをメンテナンスしていくのが大変じゃないかな。
補足
ウイルスをチェックするソフトを作ってみたいと思います。