15

webapp を cloudfoundry から heroku に移行したいと考えています。しかし、まだ迷っていることが 1 つあります。

アプリケーションを heroku にデプロイするたびに、ソース コードを git リポジトリにプッシュする必要があります。このリポジトリはどの程度安全ですか? 自分のソース コードを他人の手に渡したくない場合はどうすればよいですか?

それについてどう思いますか。

4

3 に答える 3

16

問題

インタープリター言語またはホスティング プロバイダーの仕組みを理解していない。Ruby のようなインタープリター言語を使用している場合は、サービス プラットフォームにソースが必要です。コードが圧縮、難読化、またはバイト コンパイルされている場合でも、提供されるサービス プラットフォーム上にある必要があるため、言語やホスティング プロバイダーを問わず、これは問題になります。

また、バイトコードの性質も理解していません。バイトコード インタープリターはファイルを読み取ることができます。さらに、バイト コードをソース コードに戻す Java 逆コンパイラも存在します。スタック オーバーフローを検索すると、Java デコンパイラについて議論している投稿が表示されます。「あいまいさによるセキュリティ」が有用であると思わない限り、意味のある方法でバイトコードが安全であると考えるのはおそらくやめるべきです。

ソリューション

  1. 優れたソフトウェアを構築し、優れたビジネスを運営し、誰かがあなたの for ループをコピーすることを心配して眠れないでください。これはおそらく最も簡単な解決策です。
  2. ホスティング プロバイダーやコロケーション施設を信頼できない場合は、独自のファイルを内部でホストする必要があります。それでも、自分ですべてを行う予定がない限り、システムの保守を誰かに任せる必要があります。
  3. スズ箔の小間物を考えてみてください。

Herku の Git リポジトリは、GitHub にあるようなパブリック リポジトリではありません。他の方法でファイルを転送するよりも「安全」であり、多くのサービス プラットフォームでの通常の FTP アップロードよりも確実に安全です。

セキュリティは常にトレードオフです。これは確かに重要ですが、一般的な不信感よりも優れた脅威モデルを定義しない限り、適切な制御を開発することはできません。

于 2012-06-20T10:24:21.887 に答える
3

場合によります

「セキュリティ」を測定するには、考えられる「リスク」を考えなければなりません。そのようなプラットフォームからソース コードを盗むという調査は、努力する価値がありますか? では、人々はあなたのソース コードからどれだけの価値を得ることができるでしょうか?

ソースコードを盗むだけで本当に成功した人は誰もいないと思います。それはアイデアを盗むことです。自分が書いていないコードを維持し、拡張することは困難です。ソースコードに慣れるまでに時間がかかります (コードベースに応じて月/年)。このすべての時間と労力を失います。より速く学習する専門家は、ゼロから始めることもできます。おそらく、より良い結果が得られるでしょう。

  • Facebook は、戦略、論文、技術的洞察を公開しています。多くの Facebook の模倣者がそこら中にいますが、誰も気にしません。

  • ビジネスの成功はソフトウェアだけではありません。重要な部分は、製品に対するブランド ロイヤルティ/信頼、ユーザー エクスペリエンス、目に見える全体的な成功です。

  • Heroku で実行されている何千ものアプリケーションと比べて、なぜあなたのソース コードが特別なのか。そこにあるすべての素晴らしいものの間でリポジトリを見つけるのはさらに難しいでしょう. 成功するものとそうでないもの、誰にもわかりません。

しかし、いくつかの単一の技術アルゴリズム(暗号化ソフトウェア、グラフィック ドライバー アルゴリズムなど)コア ビジネスであり、それらが簡単に採用できる場合は、それを盗む価値があるかもしれません。

データとコード

心配できること: 顧客の機密情報をどこに保管するか? ほとんどの人は、メール アドレス、電話番号、名前、ビジネスや顧客に関する財務情報を販売することに、より大きな関心を持っています。しかし、... 十分なデータがないと面白くありません。では、あなたのアプリケーションには 1 億の Sony Network クレジット カード アカウントが含まれているでしょうか? ;)

アプリケーションに iPhone 5 と 6 のすべての設計図、データ、秘密のアイデア、デザインが含まれていれば、それも興味深いかもしれません。

于 2012-06-21T08:48:52.277 に答える
2

誰かのサービスを使用してアプリを実行しています。どのサービスを使用していても、コードを提供せずにそれを行う方法はありません。クラウドのことを忘れて独自のサーバーをコロケーションしたとしても、それはデータ センターを運営する人々の手に委ねられます。

于 2012-06-20T08:56:02.127 に答える