問題タブ [security-by-obscurity]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
security - パスワードは、あいまいさによるセキュリティの一種ではありませんか?
あいまいさによるセキュリティは眉をひそめ、実際には安全ではないと考えられていることは知っていますが、あいまいさによるパスワードセキュリティではありませんか? 誰にも見つからない限り、安全です。
それは単に曖昧さのレベルの問題ですか?(つまり、適切にソルト化およびハッシュ化された優れたパスワードは、解読するのが実際的ではありません)
注: パスワードを保存するプロセスについて質問しているわけではありません (適切にハッシュ化およびソルト化されていると仮定します)。私は、パスワードを使用してアイデア全体について質問しています。これは、情報の一部であり、知られている場合、個人のアカウントが危険にさらされる可能性があります。
それとも、あいまいさによるセキュリティの意味を誤解していますか? 私はそれが意味すると思います。つまり、知られているとシステムを危険にさらす情報が存在するということです (この場合、システムは、パスワードが保護することを意図したものとして定義されています)
wordpress - Wordpressを隠す方法は?
WordPress を CMS システムとして使用してサイトを運営しています。このサイトがバックグラウンドで Wordpress を使用していることを誰にも知られたくありません。
Wordpress を完全に覆い隠す簡単な方法はありますか?
最初にやりたいことは: - wp-content と wp-admin ディレクトリの名前を変更し、それぞれの URL の名前を変更します。
多分これのためのプラグインがありますか?
ありがとう!
c# - 難読化せずに .NET Web ブラウザー コントロールでユーザー アクションを監視する方法は?
WinForms アプリに Web ブラウザー コントロールを組み込みました。ユーザーがサイト上で、私に属さないアクションをいくつか行います。最後に (たとえば、最後のページで) サーバーに確認を送信する必要があります (たとえば、Web サービスを介して)、そのユーザーは本当にすべきことを行いました。
現在、アプリケーションはそのプロセス中にいくつかのデータを収集しており、それでいくつかの奇妙なことを行った後(つまり、あいまいさによるセキュリティ)、サーバーに情報を送信します。アプリからサーバーに送信されるメッセージは隠され、アプリケーションは C++ で記述されているため、逆コンパイルして実際に何が送信されているかを確認するのは簡単ではありません。さらに、コードをクラックできる可能性のあるユーザーは、ほとんどお金を稼ぐ機会がなく、簡単に追跡できます。そのような状況は発生したことがありません。
ソースコードが保守できなくなったので、C# で書き直したい。問題は明らかです。難読化されたコードであっても、古いネイティブ C++ バイナリよりもはるかに簡単にクラックできます。
「安全な」方法はありますか?Webブラウザの制御(https接続のみ)にあるページのデジタル署名のようなものを取得する可能性はありますか? 外部ページのユーザー資格情報を取得し、彼に代わってサーバー側でアクションを実行する以外に、それを行う方法がわかりません。これはまったく受け入れられません。
literals - コードでリテラルを非表示にする方法
コード内のリテラルの値を隠して、hexdumper や decompiler だけで簡単に追跡できないようにするための主な既存のアプローチは何ですか?
たとえば、これをコーディングする代わりに:
次のようにすることができます。
これは、私たちがやろうとしていることのほんの一例です。(はい、知っています。コンパイラはそれを最適化し、定数を事前に計算する場合があります)。
免責事項: これにより追加のセキュリティがまったく提供されないことはわかっていますが、コードがリバース エンジニアリングに対してより不明瞭 (または興味深い) になります。これの目的は、攻撃者にプログラムをデバッグさせ、時間を無駄にすることです。楽しみのためにやっているということを覚えておいてください。
android - シェーダーアセットを隠すために利用できるテクニックは何ですか?
私のゲームやアプリにはいくつかのシェーダーがあります。現在、シェーダーを取得して、テキストをStringBuilderに一度に1文字ずつ入れるJavaクラスを生成するために作成した単純なプログラムを使用しているため、テキスト検索では見つかりません。誰かがエンジニアを逆にした場合は何でも。
それは間違っているように感じますが、それは彼らをすぐに見えなくする仕事をします、しかし私は彼らが非常に安全であるという幻想の下にありません。
事前コンパイルに関する質問を見ましたが、答えはありません。他に何ができますか?
javascript - OAuth Javascript:Twitter、隠すことによるセキュリティ?より良いアプローチがありますか?
バックグラウンド
Twitterのjavascriptapiを使用したいとしましょう。ツイッターのJavaScriptAPIは言う
OAuthでJavaScriptを使用する場合は注意が必要です。キーを公開しないでください[1]。
OAuthでJavaScriptを使用するのは安全ではないようです[2]。ネットワークの問題(httpsを使用できます)によるものではありませんが、view-sourceにアクセスできるユーザーは、JavaScriptでハードコーディングされたキーも表示できるためです。これらのキーを使用すると、ユーザーはアプリとは関係なくTwitterアカウントを制御できます。
私が見た中で最良のアプローチは、YQL [3]を使用することです。しかし、自分のサーバーでこれを行うのはどうでしょうか。
次のシナリオは安全ですか、それともあいまいですか?
シナリオ
Twitterのjavascriptapiを使用して、Twitterアカウントへのアクセスを制御することを計画しています。
ユーザーにAPIクレデンシャルへのビューソースアクセスを許可する問題を解決するために、すべてのTwitterAPI通信を単一の公開ページ(Post.phpなど)に集中させるとします。すべてのユーザーがこのページにアクセスできないようにするには、URLにGUIDを要求できます:Post.php?pass = 91626979-FB5C-439A-BBA3-7715ED647504
サーバー側のアプリケーションは、サーバー上で一意のGUIDが認識されているため、このページにhttpリクエストを送信します。
api通信はjavascriptのままである可能性がありますが、そのjavascriptへのアクセスは、guidと呼ばれるサーバーを介して保護されます。httpリクエストはサーバー上で開始されるため、トラフィックを確認してリクエストを表示する方法はありません。GUIDはクライアントのソースに含まれません。クライアントはサーバー関数にリクエストを送信し、サーバー関数はPost.phpに対してサーバー側のhttpリクエストを実行します。
これにより、基本的にブラウザからPost.phpにアクセスできなくなります。本質的に、サーバーはjavascriptapi呼び出しを開始します。
これは安全ですか、それともあいまいですか? (もちろんjavascriptを介して)より良いアプローチがありますか?
vb6 - コードでハードコードされたパスワードを隠す方法は?
VB6 コードのパスワードを隠して、逆コンパイルしてもパスワードを明らかにできないようにしたいと考えています。
これは可能ですか?
php - LDAP サーバーへの安全な接続
ハッシュを使用して、cass コンストラクトに送信するパスワードを暗号化および復号化しています。以下に例を示します。
次に、復号化されたprotected static function
次に、次の方法で接続を呼び出しています。
セキュリティ上の理由から、ダミーのパスワードを実装し、サーバーの資格情報を隠しました。
接続機能:
私の全体的な質問は、これが秘密のソルトを使用して API にパスワードを送信するための有効なセキュリティ方法ですか?
パスワードをプレーンテキストとして入力しないことをお勧めします。
上記は一例であり、私の好みでは受け入れられません。
これは、TCP プロトコルを使用して LDAP サーバーに安全に接続するための有効な方法ですか?
この質問のように見えますが、適切な資格情報が入力されていれば、LDAP サーバーに正常に接続できることを確認できます。これは問題ではありません。セキュリティの知識がなくても、データやサーバーを何らかの形で危険にさらしたくないので、セキュリティの観点から単純に尋ねています。したがって、これが生産段階にあり、自分である1人のユーザーのみがアクセスできるのはなぜですか。
google-analytics - プライバシー、保護、あいまいさ
私は、クライアントからのいくつかの興味深い要求でプロジェクトに取り組んでいます。誰か提案があるかどうか、または検討したいかどうか疑問に思っています.
クライアントが社内の少数の人々に配布するための Web アプリを作成しています。世界中のどこからでも Web アプリにアクセスできる必要があります。
クライアントは、ユーザーがアプリを使用するためにログインする必要がないことを要求しましたが、世界中のすべての人がアプリにアクセスできるようにしたくありません。リンクを作成でき、リンクを知っている人なら誰でもファイルにアクセスできる Google Apps 共有機能について考えさせられました。基本的に目隠しによるセキュリティ。そこで、基本的に 50 文字か 60 文字のランダムな英数字の URL を作成して、クライアントがチームと共有できるようにしようと考えました。
これが最善のアイデアなのか、それとももっと良い方法があるのか 疑問に思っています。
また、ページがクロールされないようにするために、すべてをブロックする robots.txt ファイルを使用することを計画していました。
最後に、Google アナリティクスを使用して分析を収集し、スタッフがアプリをどのように使用しているかをよりよく把握できるようにしたいと考えています。robots.txt を使用して Google 検索ボットをブロックしている限り、Google アナリティクスでキャプチャされたものは自動的にインデックスに登録されないという意味で、Google アナリティクスと Google 検索の間に直接的な関係はないことを理解しています。これが事実であることを確認したい。Google アナリティクスに送信されたものは、公開フォーラムに自動的に表示されません。
この全体の鍵は、リンクが公開されない限り、クライアントのコンテンツが「保護」されていることをクライアントに保証するワークフローを作成できるようにすることです。または、少なくとも、保護されていないコンテンツを可能な限り保護します。
何かご意見は?
ありがとう、ハウィー
c - エントリーポイントを隠す
私は EPO プログラムを作成してきましたが、これまでのところ、コール オペコードを見つけてバイナリの次のアドレスから RVA を取得し、IAT を解析して、インポートされた関数の名前とそれに対応する RVA を取得することができました。
配列を名前 + RVA で埋めようとして、呼び出しアドレスから取得した WORD 値を、インポートされたすべての関数の RVA と比較しようとすると、問題が発生しました。
これが私が取り組んできたコードです。
そして残り:
注: このコードの多くは省略されています (進行状況を追跡するための printf ステートメント)。
問題は、私が使用してきた配列の種類です。後で使用するために pThunkData (名前) と pFThunkData (RVA) を正しく保存する方法がわかりません。
私はコードをいじっていくつかのことを試しましたが、敗北を認め、あなたの助けを求めています.