• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:コンパイラに細工してバックドア)

コンパイラに細工してバックドア

mitonekoの回答

  • mitoneko
  • ベストアンサー率58% (469/798)
回答No.2

1.コンパイラを作る時点で、ウィルス込みのプログラムを吐き出すようにするだけなら、いたって簡単でしょう。方法なら、いくらでも。安直にやるなら、大概の高級言語では、本体プログラムを走らせる前に初期化作業が必要です。また、終了直前のクリーンアップも必要かもしれません。ここに埋め込んでおけば、たとえ本体がどんなプログラムであろうが関係がありません。コンパイラは、出力したプログラムがどんなCPUで動作するかを知っていますし、どんなOSで実行されるかも知っています。何も障害はありません。ライブラリーに仕込んでおくことも出来ますね。普通、高級言語では、たいていの場合、必ず使われる標準ライブラリーが存在します。そのライブラリーに仕込むのも、至って簡単なことです。 2.暗号化ソフトのソースがいくら安全な物であっても、コンパイラが危険満載ではどうにもなりません。ちなみに、オープンソースだから安心できるかと言えば、そんなことも無いでしょう。かえって、高額の費用を請求してくる企業の製品の方が安心できるかもしれません。何故って、普通、そんなウィルスを商品のコンパイラや暗号化ライブラリーに仕込んで、ばれたら(絶対、いずれ、必ずばれます。)、その時点で倒産決定。ついでに、山のように損害賠償請求の訴状もやってきます。そんな危険を冒してまで取れる利益って・・・とうていビジネスモデルになりません。  ソースが隠されているから、ソースが公開されているからというのと、安心・安全は多分別次元の話かと思います。  絶対の保証を求めるなら、自分が、ちゃんとソースを読み込み、実行ファイルのバイナリを読み込めるだけの知識と技術を習得して、自分で実行ファイルのバイナリを読むほか無いわけですが・・・普通は、ある程度流通したソフトであれば、少し調べれば、安心できるかどうかは判断できるものです。特に、コンパイラやOS等の部分に属する物は、少しでもおかしな挙動があれば、オープンソースか否かに関わらず、必ず噂になりますから。

noname#194073
質問者

お礼

ありがとうございます

関連するQ&A

  • MacOSX iOS バックドア パスワード無意味

    ップル、法執行機関から「iPhone」パスコードロック解除要請 http://japan.cnet.com/news/service/35031942/ Apple製品の暗号化機能で利用されてるAESは数学的には数千年時間が無いと解読できないはずだったのに、 解除要請で解除できるってことは公式にバックドアが用意されてるんでしょうか? TruecryptもMac版だけOS丸ごとの暗号化機能が削除されてるし、Macでは安全な暗号化ソフトを作ってはいけない決まりとか契約があるんでしょうか? 詳しい方がいたら教えてください。

    • ベストアンサー
    • Mac
  • フリーのコンパイラを探しています

    PC上で動作するフリー(若しくは無償で手に入れば期間限定版でも良いです)のCコンパイラ(C++もあれば尚可)を探しています。 目的は、あるサイトから取得した暗号化を行うソースをコンパイル&実行する為です。しかしながら、そのソースはかなり前にPC-98(NEC)で Turbo Cで確認したもので、int型が2バイトであることを前提にしています。試しにBorlandのコンパイラ(BCC32)でコンパイル&実行してもこちらの期待した結果は得られませんでした。(int型をshort型に変更しコンパイルしてもだめでした) 上記の条件にあてはまるものでLSC-Cがありますが、LSC-Cでコンパイルするとメモリ不足となり、コンパイルが異常終了してしまいます。 int型を2バイトとして扱うことのできるコンパイラをLSC-C以外にご存じでしたら教えていただけませんでしょうか。

  • GNUコンパイラとIntelコンパイラの違いについて

    今回fortranとC言語で書かれたWindows用プログラムをLinux用に移植することになりました。GNUのコンパイラを使用し無事コンパイルできたので実行したのですが"Segmentation fault"となりうまく実行できませんでした。そこで試しにIntelのコンパイラを使用しコンパイルしてみたところGNUのときとは違い"Segmentation fault"とは出ず、プログラム内のエラーチェックに引っかかり止ってしまいました。同じソースコードにもかかわらず止まる箇所が異なります。 今まで考えたことがなかったのですがGNUとIntelのコンパイラの違いはなんなのでしょうか?また、この二つ以外にいいコンパイラはあるのでしょうか?

  • 8080用のクロスコンパイラは、ないでしょうか。

    8080用のクロスコンパイラは、ないでしょうか。 TK-80シミュレーターにて、プログラム開発をしたいのですが、さすがにアセンブラはきついので、Cコンパイラを探しています。 フリーのソフトで、MS-WindowsかLinuxで動作するクロスコンパイラはないでしょうか。 (8080アセンブラを出力するCコンパイラ) 以前探したときは、(確か)C言語をZ80にコンパイルして、それをさらに8080用アセンブラに変換するのを見つけましたが、うまく動きませんでした。 何か情報をもらえるとありがたいです。 よろしくお願いします。

  • コンパイラ、インタプリタ、クロスコンパイラについて

    インタプリタについて質問があります。 色々と調べたところ、perl、php、rubyなど、ソースをインタプリタで実行する言語の利点は以下なのだと思います。 ソフトを作っている環境と実行環境の間でcpuやos等が異なる場合は、 ソースは互いに異なる機械語に翻訳されるので、翻訳は実行環境で行わなければならない。 その際、コンパイラの場合はわざわざ手動で翻訳を実行しなければならないが、 インタプリタの場合は勝手に実行時に翻訳してくれるので楽。 1.それで質問なのですが、 コンパイラは環境に対応した機械語を出すらしいですが、 何故そんな事ができるのでしょうか。 コンパイラが、自身が置かれた環境を分析して、それに対応した機械語を出すのでしょうか? それとも、そもそも環境毎に対応したコンパイラを使うという事でしょうか? 2.また、世の中にはクロスコンパイラというものがあると聞きました。 クロスコンパイラがあれば、ソフトを作っている環境でそのままコンパイルできるので、 インタプリタはいらないのではないでしょうか? クロスコンパイラの短所や長所などを教えてほしいです。 3.翻訳後の話として、機械語はcpuやosによって違うという話ですよね。 つまり、機械語にコンパイル済みのソフトを配布する際は環境毎に対応したソフトを それぞれ配布しなければならないのですよね。 しかし、ネット上でダウンロードできるフリーのソフトなんかは、 特定のOS向け、あるいはOS別に違うファイルを配布、というのはよく見かけますが、 cpuやその他の環境毎に配布物を分けているのは見たことがありません。 機械語は、本当にos以外にも依存するものなのでしょうか?

  • cコンパイラーは何をしてるの?

    、"C Pad for Borland C++Compiler"で 作業をしています。  この間.exeを作成して、気が付くと間違って、出来ていました。それなのに、.cppのファィルがなくなってしまいました。今更戻れないと知った時、ふと 思ったのですが、cコンパイラーの役割です。巷にあるソフトが、バイナリーになっていて、これはhtmlや、オープンソースのように、ソースコードが明らかになるものではないものです。もし、明らかになれば マイクロソフトのwindowsも簡単にまねされてしまいますよね!  そこで cコンパイラーは何をしてるの かなという疑問に思ったのです。  例えば 料理のできたものから、材料、配合、組み合わせ時間、などの レシピ的なものは殆ど、逆には言い当てられません。  これと同じことを cコンパイラーは してるのかな?と思いますが、そもそも cコンパイラー はどんな構造になってるんでしょうか?  あまり聞かなくなった、アッセンブラー というものも よく逆アッセンブラー 等をしてはいけない! という 注意書きが ありました。ソフトの改変が 可能だったんですね!  そこからすると cコンパイラー の逆のことが可能性として、ありそうな気がするのは、私の あさはかな 考えでしょうか?

  • C言語のコンパイラ設定について教えてください。

    猫でもわかるC言語のBorlandコンパイラをインストールしたのですが、参考書に載ってるとおりにソースを書いて実行したのですが、パスが設定されてないとかファイルが見つからないってでちゃうのです。つまりはコンパイルできないし、設定がちょっとわからないのです。 Borland社のコンパイラを使用したことがあり同じ経験を過去にお持ちの方いらっしゃいましたらアドバイスお願いします。また、JAVAの様な総合開発?できるみたいなフリーソフトがCでありましたらぜひぜひ教えてください。プロフェッショナルで、しかもこの様な質問も笑って答えていただけるようなすごい人、どうかよろしくお願いいたします。

  • 無料コンパイラとエディタについて

    大学に入って、C言語を学んでいるのですが、 課題提出があり、自宅のPC(Windows-vista)でも、プログラムして、 きちんと実行できるか確かめたいんです。 学校では、 OS:リナックス エディタ:emacs コンパイラー:? を使っています。 プログラムをコンパイルする際、ターミナル上で、gcc ◎◎-o と、入力するのですが、何を使っているのか解りません... ほんとすいません。 学校と操作方法が一緒の方が、プログラム作成もスムーズかなぁ と思っているので、もし可能であるならば、この無料ソフトを教えて頂きたいと思っています.... 素人の質問なのですが、とっても困っているので、どうかよろしくお願いします。

  • linux系osは最新のソフトが使えませんか?

    linux mintではfirefoxのバージョンが古いですが、最新のソフトは使えないでしょうか? だとすれば派生元のubuntuのほうが新しいソフトが使えますか? mx linuxなども派生元がないので、すぐに最新のソフトが使えるのでしょうか?

  • パスワードつきZIPの暗号化アルゴリズムは?

    パスワードつきのZIPファイルについてなのですが、どういったアルゴリズムをつかって暗号化しているのでしょうか。 手持ちのソフトはzip32.dll(zipj32.dll)を使用しているようです。 暗号化アルゴリズムには AESやDES、3DES、RC2、RC4などがあるようですが・・・ ZIPパスワードにどれくらいの強度があるのか興味があったのでネットで情報を探してみたのですが、これというものが見つかりませんでした。 ご存知の方がいらっしゃればお教えください。