問題タブ [security]
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.
.net - .net アセンブリのマニフェストを非公開にするにはどうすればよいですか?
.net アセンブリをリリースしたいが、( ildasm.exeなどのユーティリティから) マニフェストでその内部の詳細を非公開にしたい場合はどうすればよいですか?
wcf - WCF でクライアント資格情報を使用して一度だけ認証するにはどうすればよいですか?
WCF で構築された API を使用するときに認証が 1 回だけで済むようにするための最善の方法は何ですか?
私の現在のバインディングと動作は以下のとおりです
次は、クライアント アプリで認証に使用しているものです (現在、WCF を呼び出すたびにこれを行う必要があります)。
私がやりたいのは、これらの資格情報を使用して API で認証し、クライアント アプリケーションが Web サービス プロジェクトを使用している間、何らかのタイプのトークンを取得することです。私はこれを私のために確立したと思いましたか?
security - ブラウザにローカル アプリケーションを起動させない正当な理由
これは簡単なことかもしれませんが、読んでください。
また、イントラネットのコンテキストであっても、ブラウザーを実行してローカル アプリと対話させることは、一般的には良い考えではなく、最悪の場合もあると考えられていることも知っています。
私たちはホームオフィスに Citrix を使用していますが、人々はそれをとても気に入っています。現在、彼らは職場でも同じような環境、つまりすべての重要なアプリケーション/ドキュメント/フォルダが適切に配置され、整然と分類されている素敵なページを望んでいます。これらの人々は特に技術に精通しているわけではありません。リモートで配布されたアプリケーションとローカルで配布されたアプリケーションの違いを彼らが理解できるとは考えもしませんでした。
それで、可能かどうか尋ねられました。もちろん、それは IE の古き良き ActiveX コントロールを使用した場合です。そして、私は実用的なプロトタイプを作成しました(それが痛いところです)。
しかし今、私は疑います。「ローカル イントラネット」ゾーンであっても、このような「危険な」ActiveX コントロールを許可するのは狂気ではないでしょうか。人々は同じブラウザーを使用して Web を閲覧しますが、IE を完全に信頼できますか? Microsoft が将来の更新/バージョンでこれらのコントロールを無効にするリスクはありませんか? Web サイト、または何らかの種類のマルウェアが別のサイトを信頼リストに追加した場合はどうなるでしょうか? その程度の制御があれば、すべての保護をアンインストールして、IT 部門に絞首刑に処せられるまで暴走することもできます。
私は上司に、それが実行可能であることがわかったとしても、それは非常に悪いことだという事実を突きつけようとしています. ですから、「やめましょう」ではうまくいかないので、私は切実に説得力のある適切な議論を必要としています。
もちろん、何も怖がらないのならそれでいい。しかし、私はそれを強く疑っています。
.net - (なぜ) 難読化を使用する必要がありますか?
難読化は、「あいまいさによるセキュリティ」または「保護の誤った感覚」キャンプのどこかに該当するアイデアのように私には思えます。知的財産を保護するために、著作権があります。セキュリティの問題が発見されないようにするために、これらの問題を修正しています。一言で言えば、社会問題の技術的解決策だと思います。それらはほとんど機能しません。
しかし、私たちの開発チームでそのように感じているのは私だけのようです。そのため、私は間違っているか、説得力のある議論が必要です. 私たちの製品は .NET を使用しており、ある開発者は .NET Reactor を提案しました (ちなみに、この SO スレッドでも提案されていました)。
.NET Reactor は、純粋な .NET アセンブリ (C#、VB.NET、Delphi.NET、J#、MSIL などで記述) をネイティブ マシン コードと混合することで、逆コンパイルを完全に停止します。
つまり、基本的に、バイトコードのすべての利点を一度に捨てるということですか?
難読化にはエンジニアリング上の利点がありますか?
ruby - Rubyで防御的にプログラミングするにはどうすればよいですか?
問題の完璧な例を次に示します:分類子の gem が Rails を壊します。
** 元の質問: **
セキュリティの専門家として気になる点の 1 つは、Ruby には Java のパッケージ プライバシーに匹敵するものがないことです。つまり、これは有効な Ruby ではありません。
Foo::BarImpl のモンキー パッチを防ぐことができれば非常に便利です。そうすれば、ライブラリに依存している人々は、誰もそれをいじっていないことを知ることができます。誰かがあなたの MD5 または SHA1 の実装を変更したと想像してみてください! これらのクラスを呼び出すことはできますfreeze
が、クラスごとに行う必要があり、読み込み順序に十分注意しないと、アプリケーションの保護が完了する前に他のスクリプトによってそれらが変更される可能性があります。
Java は防御的プログラミングのための他の多くのツールを提供しますが、その多くは Ruby では不可能です。(適切なリストについては、Josh Bloch の本を参照してください。) これは本当に懸念事項ですか? 文句を言うのをやめて、Ruby を軽量のものに使用し、「エンタープライズ対応」のソリューションを期待しないでよいのでしょうか?
(いいえ、Ruby ではコア クラスはデフォルトで凍結されていません。以下を参照してください:)
security - ブラウザの「パスワードの保存」機能を無効にする
政府の医療機関で働く喜びの 1 つは、PHI (保護対象の医療情報) を扱う際のすべてのパラノイアに対処しなければならないことです。誤解しないでいただきたいのですが、私は人々の個人情報 (健康、経済、ネットサーフィンの習慣など) を保護するために可能な限りのことをすることに大賛成ですが、ときどき人々は少し神経質になりすぎてしまいます。
適切な例: 私たちの州の顧客の 1 人が最近、ブラウザーがパスワードを保存する便利な機能を提供していることに気付きました。しばらく前から存在しており、完全にオプションであり、使用するかどうかを決定するのはエンドユーザー次第であることは誰もが知っています. しかし、現時点ではちょっとした騒動があり、私たちのサイトでその機能を無効にする方法を見つけるよう求められています.
質問: サイトがパスワードを記憶しないようにブラウザに指示する方法はありますか? 私は長い間 Web 開発に携わってきましたが、以前に Web 開発に出くわしたことがあるかどうかは知りません。
どんな助けでも大歓迎です。
sql - SQLインジェクション後のクリーンアップの最良の方法は何ですか?
私は、最近SQLインジェクション攻撃の犠牲になった非営利のWebサイトのメンテナンスを任されています。誰かがサイトのフォームを利用して、データベース内の利用可能なすべてのテキストのようなフィールド(varchar、nvarcharなど)にテキストを追加しました。このフィールドは、HTMLとしてレンダリングされると、JavaScriptファイルを含めて実行します。
GoogleでURLを検索すると、ルーマニアまたは中国を拠点とするメールスパマーからのものであることがわかりますが、現時点では重要ではありません。
サイトで最も目立つ人気のあるページに表示されるテキストフィールドから情報を確認して手動で削除しましたが、サイトの他のテキストフィールドからテキストを削除するための最良のプログラム方法は何かについて興味があります。 。
明らかに、やらなければならないことがもっとあり(SQLインジェクションに対してサイトを強化する、HTMLを保存する代わりにマークダウンのようなものを使用するなど)、私はそれらに取り組んでいますが、当面は本当に必要なものが良い方法です挿入されたテキストをプログラムで削除します。私は正確なテキストが何であるかを知っています、それは毎回同じです、そしてそれは常にどんなテキストフィールドの終わりにも追加されます。現時点では、データベース内のすべてのHTMLを削除する余裕はありません。また、これがいつ発生したのか正確にはわからないため、バックアップにロールバックすることはできません。また、サイトは共有ホスティング上にあり、SQLServerツールを使用してデータベースに直接接続できません。それに対してクエリを実行することはできますが、SQL更新ステートメントを作成して「
security - ワイヤレス ネットワークをオープンにする必要がありますか?
明らかに、ワイヤレス ネットワークを閉じるにはセキュリティ上の理由があり、誰かが帯域幅を盗んでいるのは楽しいことではありません。それは深刻な問題になるでしょうか?
最初の懸念に対処するには、同じワイヤレス ネットワーク上のデバイスに、インターネット上の他のデバイスが持つ特別な特権またはアクセス権があるか?
前提条件:ワイヤレス ネットワークがインターネットに接続されている
2 つ目は、コミュニティの問題のようです。隣人が帯域幅を盗んでいる場合、あなたはあたかも彼が水や電気を「借りている」かのように振る舞うでしょう。
まず、問題について彼と話し、それがうまくいかない場合は、当局に行くか、物をロックしてください. 何か不足していますか?
windows - ハードドライブを共有したままにする
ワイヤレス ネットワークを開いたままにしておくという質問で、これを思い出しました。
私は通常、自分のマシンのルート ドライブをネットワーク全体で共有し、ログイン認証をマシンの NT ID に関連付けているため、少なくとも何らかの形で保護されています。
私の質問は、これらのドライブに悪意を持ってアクセスするのはどれくらい簡単ですか? 承認は十分ですか、それとももっとロックダウンする必要がありますか?
security - アップロードされたファイルの安全を確保する
上司が私のところに来て、Web ページからアップロードされたファイルが安全であることを確認する方法を尋ねてきました。彼は人々が pdf や tiff 画像 (など) をアップロードできるようにしたいと考えており、彼の本当の懸念は誰かが pdf にウイルスを埋め込んで表示/変更 (およびウイルスの実行) することです。重要度の低いビットを変更することにより、画像に埋め込まれた速記情報を破壊するために使用できる手順について何かを読みました。同様のプロセスを使用して、ウイルスが埋め込まれていないことを確認できますか? ファイルをスクラブできるプログラムを知っている人はいますか?
更新: そこで、チームはこれについて少し議論しました。ある開発者は、ファイルをファイル システムにダウンロードさせ、ネットワークを保護するウイルス対策ソフトウェアにそこでファイルをチェックさせるという投稿を見つけました。投稿者は基本的に、いくつかの製品で API やコマンド ラインを使用するのは難しすぎると述べていました。ファイルをデータベースに保存することを計画しているので、これは少し厄介に思えますが、ファイルのウイルスをスキャンする必要はありませんでした。誰かがこれについて何か考えや経験を持っていますか?
http://www.softwarebyrob.com/2008/05/15/virus-scanning-from-code/