web-dev-qa-db-ja.com

副作用としてセキュリティを実装する例はありますか?

新しいセキュリティ構造を効果的に実装するための最良の方法の1つは、新しいセキュリティ構造の主要な機能ではないバックグラウンドで実装することだと長い間感じてきました。このアイデアは引き続き AJAr Foundation の多くの開発の基礎となっていますが、開発者が歴史的に使用中にセキュリティのコーディングを怠っていたFinTechでの私の仕事に当てはまるため、ここでそれを説明しようとしています。作業を迅速に完了するための便利な(ただし保護されていない)構成。

たとえば、uf_GetUserCustomerData(偽名)と呼ばれる新しい構成があります。これは、対象となるエンドユーザーの対象者のIDを受け入れ、そのユーザーだけが見るべき情報を返します。これは、ビューなどの保護されていない構成をラップするDB構成です。

私はこの機能を、機密ユーザーデータのインライン復号化、特定のデータのマスキング、すでに知っている愛されている保護されていない構成へのフィルタリングされた露出などの便利な機能を使用して設計しました。このようにして、ダウンストリームで何が発生しても、データは引き続き保護されます。

セキュリティに対する同様のアプローチの例はありますか?ここで何をしているのですか?そしておそらく最も重要なことは、この方法論が良い習慣だと思うのは間違っているのでしょうか?

2
AJAr

はい!これは素晴らしい習慣であり、現代のセキュリティの核となる要素です。

あなたが説明しているのは、セキュリティエンジニアリングの中核です。つまり、2つ(製品の開発とセキュリティ保護)の問題を取り上げ、一部は1つ(前者)しか認めず、両方を同時に解決します。他の経済学と同様に、優れたセキュリティエンジニアリングは、安全性の低いオプションよりも安全性の高いオプションを実装することをより安く、より簡単かつエレガントにします。たとえば、誰かが入力をサニタイズするためにすでにWebフレームワークを構築している場合、自分で行うよりもはるかに少ない作業で済みます。

そのため、あなたのトピックに関する多くの情報を見つけるのは難しいかもしれません(ここに投稿しているとしたら、あなたの以前の研究はあまり成果を上げていないと思います)。これは、あなたが言及しているものが基本的で洗練されたものであり、エンジニアリングの基本単位(制約を与えられた問題の解決)と高度な専門知識(本質的に、セキュリティは複雑なフィールドです)の組み合わせを含んでいるためです。大好きです。一番よい。

しかし、あなたの研究に役立つかもしれないキーワードを与えることができます:「安全な開発」。具体的には、「安全な開発ライフサイクル」、つまりSDLC(通常の開発者の場合、SDLCではありません)の詳細を確認する必要があります。おそらく記述子のように聞こえるかもしれませんが、実際には、ソフトウェアとシステムに賢い選択をする方法を模索しているため、業界で成長している分野です。

あなたが話していることの種類の例もたくさん挙げることができます。

  • すでに述べたように、Webフレームワークはユーザー入力をサニタイズするので、その必要はありません。
  • 私たちは皆、自分の暗号をロールバックしないことを知っています!代わりに、scryptのようなライブラリを使用してください。これは、より安全な結果ですそして、とにかく簡単です
  • ユーザーからクエリパラメータを取得する必要がありますか?それらをURLに入れてみませんか。URLの方が簡単で、JavaScriptの面白いビジネスを行う方法がないのですか?

それは続きます。素晴らしい質問ですが、気づいて意識的に成長している皆さん、そして幸運を祈ります!これについてご質問があればどうぞ。

2
securityOrange

これが実際にどこに関連するかは不明ですが、あなたが説明するものは関心の分離のように見えます。これは、たとえばJava=アスペクトで使用されます。開発者は、メソッドの実行に必要な承認を気にせずにビジネスルールクラスをコーディングします。次に、承認ルールはアスペクトで実装され、基本的にはメソッド。

よく知られているSpring Securityフレームワークは、そのパターンを多用しています。

2
Serge Ballesta

SecurityOrange-SDLC-で言及されたことを除いて、あなたが求めているものは Privacy By Design またはto DevSecOps

どちらの概念も、セキュリティは事後対策ではなく事前対応であると主張する傾向があります-これは最初の質問で示しているようです。

これが良いデザイントピックであるか悪いデザイントピックであるかについては、アプリケーションのスコープに応じて、FinTech内にあるため、従わなければならないいくつかの法的機関(PCI- DSS、GDPR)

0
Markus Broman