タグ付けされた質問 「security」

暗号化とITセキュリティに関する質問。これは、コンピュータ、ネットワーク、またはデータベースのセキュリティです。

7
財務記録を保持するデータベースを設計するとき、どのような特別な考慮事項が必要ですか?
この質問が広すぎないことを願っています。将来的には、いくつかのアプリケーション(主にWebベースのアプリケーションですが、私の質問はデスクトップアプリケーションにも関係します)にいくつかの会計および財務追跡システムを追加する必要があります。 現在、金融取引の簡単な記録を作成することは理論的には簡単です。いくつかの列を持つ1つのデータベーステーブルで作業を行うことができます。MS Access、Excel、または単なるASCIIテキストファイルでさえ、取引日、アカウントID、および金額を保存するために使用できます。ただし、トランザクションの整合性を備えた頻繁にバックアップされるSQLテーブルでさえ、深刻な財務追跡には十分な堅牢性がない場合があります。 「ダブルエントリアカウンティング」などの用語を耳にしますが、ほとんどの財務追跡アプリ(たとえば、Mint.com、GnuCash)には、すべてを確実に二重にするために、はるかに複雑なデータ構造またはプロセスが用意されているように感じます必要に応じて完全に加算され、データが失われたり破損したりすることはありません。 私の質問は次のとおりです。金融取引を追跡するアプリを設計するとき、特別な設計上の考慮事項を作成する必要がありますか?非常に多くの潜在的な問題があるようです...丸め精度、パリティチェック、ある種の監査プロセス、特別なバックアップ、セキュリティ/暗号化、データ入力中にクラッシュした場合のデータを保護する追加の方法に関する問題。 ...私が具体的に何を尋ねるべきかは本当にわかりませんが、プログラミング業界には私が何も知らない一連のベストプラクティスがあると感じています。彼らは何ですか? 編集: 予想以上に大きなワームの缶を開けたようです。明確にするために、私は特に2種類のアプリについて考えています。 GnuCashやQuickenなどの「レジストリの確認」タイプのアプリは、個人が使用するトランザクションを記録します。 企業と取引するベンダーと顧客の請求書/クレジット/または「ポイント」を追跡するアプリ。 私は恐らく、ダイレクトバンキングや(関連する)多くの金融関連の政府規制が添付されているものは何もしないでしょう。

6
大企業はどのようにしてセキュリティホールを残す新人ミスを犯すのですか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は、事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は、議論、議論、世論調査、または詳細な議論を求める可能性があります。この質問を改善し、おそらく再開できると思われる場合は、ヘルプセンターをご覧ください。 8年前に閉鎖されました。 ソニーは最近、SQLインジェクションでハッキングされ、ユーザーのパスワードはプレーンテキストで保存されました。これらは新人の間違いです。そのような大企業では、これはQAにどのように合格しますか?これよりもよく知るよりも良いチームがいないのはどうしてですか? ハッキングされた会社の規模の大きさにより、これは異なります。私たち全員が、いつかこのようなことを担当するチームに自分自身を見つけるかもしれないので、私たち全員に影響を及ぼします。それで、これにつながる要因は何ですか、どのようにそれらを防ぐのですか?
15 security  qa  mistakes 

7
SSL / TLSが最新のオペレーティングシステムに組み込まれていないのはなぜですか?
インターネットのインフラストラクチャを構成する基本的なネットワークプロトコルの多くは、ほとんどの主要なオペレーティングシステムに組み込まれています。たとえば、TCP、UDP、およびDNSはすべてLinux、UNIX、およびWindowsに組み込まれており、低レベルのシステムAPIを通じてプログラマーが利用できます。 しかし、SSLやTLSに関しては、OpenSSLやMozilla NSSなどのサードパーティライブラリを使用する必要があります。 SSLは比較的古いプロトコルであり、基本的にTCP / IPと同じくらいユビキタスな業界標準であるため、ほとんどのオペレーティングシステムに組み込まれていないのはなぜですか?

2
ブラックリストに登録されたIPからヒットしたHTTPレスポンスはどれですか?
http:BLを使用して、不正なIPがサイトにアクセスするのをブロックしています。 悪意のあるIP(コメントスパマー)がサイトにアクセスしようとexitする場合、暗黙的に200 OK応答を返すWebスクリプトだけです。 私が返すことができる他の応答: 404お探しのページが見つかりませんでした? 404を返すと、ロボットは「これは時間の無駄です。次に別のサイトを攻撃しよう」と考え、サイトの負荷を減らします(現在、1秒間に約2つのスパムヒットがあります)。 しかしながら 私は、通常の状況下で見つけることができる URLに404を返すことに消極的です。 スパムロボットが「時間を浪費する」ことができるかどうかはわかりません。つまり、とにかくWebを電撃するだけで、ボットライターが404のコードに悩まされるのはなぜですか? 401不正ですか? 不正なIPをブロックすることは、「リソースにユーザー認証が必要1)まだ提供されていない、または2)提供されているが許可テストに失敗した」とまったく同じではありません 一般に、「適切なhttpプロトコルに従って不良ボットに対応する」と、悪者に優位性が与えられると感じています。そうではないのにルールでプレイするという意味では(EUのイギリスに少し似ています-ハ、ハ)。いくつかの日には、これらのボットをそらすために何か賢いことをすべきだと感じています。他の日には、私はそれを個人的にとるべきではなく、単に無視すべきだと思います。ウェブサイトを運営する過程でそれを標準として受け入れます。 私は知らない-あなたの考えは何ですか?不良IPを知っている場合、どのように対応しますか?
15 security 

5
マイクロサービスおよび消費者向けの承認および認証システム
会社のシステムをマイクロサービスベースのシステムにリファクタリングする予定です。このマイクロサービスは、社内の社内アプリケーションと、必要に応じてサードパーティパートナーによって使用されます。予約用、製品用など ロールとスコープをどのように処理するかは不明です。管理者、エージェント、エンドユーザーなどの3つの基本的なユーザーロールを作成し、必要に応じてコンシューマーアプリがスコープを微調整できるようにするという考え方です。 管理者は、デフォルトで(会社の)すべてのリソースを作成、更新、読み取り、削除できます。 エージェントは、会社のデータを作成、更新、および読み取ることができます。 エンドユーザーはデータを作成、更新、削除、および読み取ることができますが、エージェントまたは管理者と同じエンドポイントにアクセスすることはできません。また、エージェントや管理者と同じレベルではなく、データを作成または変更することもできます。たとえば、エンドユーザーはアカウント情報を更新または読み取ることができます。これは、エージェントができるようになりますが、管理者ノートを表示または更新することはできません。 デフォルトでは、エージェントは会社の各リソースを作成、読み取り、更新でき、それはトークン/セッションに要求できる最大スコープですが、クライアント(APIコンシューマー)アプリケーションの開発者は、エージェントの1人が特定のリソースのみを読み取り、作成します。 内部セキュリティでこれを処理し、データベースにデータを書き込むようにするか、クライアントにスコープを小さくしてトークンを要求することで内部的に処理させ、どのエージェントがデータベースにどのスコープを持つかを書き込むようにすることをお勧めします?この方法では、トークンスコープのみを追跡する必要があります。 この欠点は、チームが内部アプリケーションで微調整されたアクセスメカニズムを作成する必要があることです。 この考え方では、マイクロサービスとその承認システムはクライアントのニーズに煩わされるべきではありません。なぜなら、それらは消費者であり、システムの一部ではないからです。 この委任は良いアプローチですか?

6
リフレクションはプライベート変数を制限できないので不利ですか?
private修飾子は、クラス外部からのアクセスを制限するために使用されていますが、反射他のクラスを使用すると、プライベートメソッドとフィールドにアクセスすることができます。ですから、もしそれが要件の一部であるなら、どうやってアクセシビリティを制限できるのだろうと思っています。

2
メールアドレスをデータベースにプレーンテキストとして保存する必要がありますか?
少なくともソルト/ハッシュせずにパスワードを保存するのはひどい考えであることは誰にとっても明らかです(私は願っています)。 メールはどうですか?サブスクリプションの電子メールアドレスを保持しているとしましょう。適切に暗号化すると、ユーザーに電子メールを送信することができなくなる可能性があります。一方、暗号化せずにデータベースが盗まれると、すべてのユーザーが潜在的なスパムの危険にさらされます。 この質問は、法律に固有の問題(それらは与えられるかもしれませんが、国依存のままです)やデータベース自体の暗号化に関するものではありません。

12
WebサイトのSSL証明書はどれくらい重要ですか?
私は自分のプロジェクトをブートストラップしています。登録/ログイン領域があります(RoRを使用したデバイスを介して、もちろん適切にハッシュ化およびソルトされます)。私はサブドメインを使用しており、iframeでそれらにアクセスする必要があるので(本当に正当です!)、サブドメインをカバーする高価な証明書の1つが必要です。 私は自分の時間とお金でこれをやっているので、証明書に数百を落とすことにplusしており、さらに私が今まで試したことのないものを掘り下げるのに数時間かかります。メールアドレスとパスワード以外の機密情報は保存していません。私が理解している限り、唯一の脆弱性は、ユーザーが暗号化されていないネットワーク(コーヒーショップなど)からログインまたはサインアップし、誰かがネットワークをリッスンしているときに発生します。 安いの?これは私が野生にリリースする前に取り組むべきものです。おそらく、起動時に通知を受けるために25,000人のユーザーがサインアップしていることに言及する必要があるので、私はそれについて緊張しています。
14 security  ssl 

3
安全なiPhoneアプリ↔サーバー通信
iOSアプリとそのサーバーコンポーネント間のプライベート通信を達成するための最良のアプローチは何でしょうか?単一の不変の「秘密鍵」がアプリのソースに十分に焼き付けられていますか、またはそのような「ハンドシェイク」鍵の世代を何らかの形で動的に設定する必要がありますか? サーバー自体には機密データへのアクセス権がないため、ユーザーがプライベートエンドポイントにヒットしても、どこにもアクセスできませんが、それらはパブリックから非表示にしたいだけです。基本的に、iOSアプリからの要求でない限り、特定のルートにヒットするすべてのリクエストを無視します。 サーバーコンポーネントは、重要な場合はRoRで実行されます。

4
組織内の開発者以外と内部コードを共有する必要がありますか?
私が働いている場所には、多くの開発者と、スタッフや顧客が使用する独自のアプリケーションを実行する非常に多くのコードがあります。 また、システムの内部動作を理解してお客様をよりよくサポートし、場合によってはパッチを提出することを希望する多くのスマートサポートスタッフもいます。 開発者以外のスタッフが読めるようにコードを開く必要がありますか?この決定を行う際に考慮すべき要因は何ですか?私はそれぞれの方法で多くの議論と反論に出くわし、他者の経験とよく理解されたリスクに基づいて決定をしたいと思います。 これまでのいくつかの議論: VCSのパスワードが公開されています(解決策:パスワードを取り除いてください-最初からそこにあるべきではありません) コードはホワイトボックスセキュリティ攻撃に対して無防備です(反論:これは正直/怠yな攻撃者のみを排除します) サポートスタッフは、開発者に「仕組み」の仕組みを尋ねることができます(カウンター:男性に魚を教えるなど) 組織のスタッフにコードを公開している人はいますか?それは問題を引き起こしましたか?

3
Web設定で接続文字列を設定するのは良い習慣ですか?
最近、仕事で同僚の何人かと議論しました。彼らは、.DLLに暗号化された文字列接続がある方が良いと言ったからです。そして、web.configで暗号化された文字列接続を暗号化しないのはなぜだと言いましたか?エンティティフレームワークは、たとえば、アプリケーションのWeb構成で接続の名前を検索するため、同じであり、より優れています。セキュリティポイントから、何がベストか、何がベストプラクティスかを知りたいですか?

5
メソッドレベルのセキュリティが必要な理由
現実の世界では、なぜメソッドレベルのセキュリティを実装する必要があるのですか? ユーザーがユーザーインターフェイスにアクセスする(したがって、メソッドに直接アクセスできない)Webアプリケーションまたはデスクトップアプリケーションがあります。 それでは、アクセスメソッドは、ここで直接どこに現れますか? 編集:私は春のセキュリティで実験しているので、この質問をし、メソッドにアクセスするためのユーザーの承認を見ています。 何かのようなもの : @ROLE_ADMIN public void update() { //update }
14 security 

2
実行可能ファイルが悪意のあるまたはウイルスのようにAVから処理されるのを防ぐ方法
Windows上で実行され、ゲームのランチャーのように動作し、クライアント側のPCで自動アップデーターおよびファイル検証ツールとして機能するソフトウェアを作成しています。 私の理解していないことの1つは、私のアンチウイルスソフトウェア(Avast)が私のexeファイルを危険だと見なし、安全に使用するためにサンドボックスに入れることを求めずに起動しない理由です。 私のソフトウェアが従うべきルール、良いものとして扱われるルール、またはある種のデジタル署名などに数百ドルを支払うべきルールはありますか? MS Visual Studio 2010でC#を使用しています。 VirusTotalレポート。WebClient()クラスを使用して、リモートファイルダウンローダーとして機能するDLLインジェクションはありません。 ウイルスについて警告するようなものではありませんが、サンドボックスすることを「提案」します。スクリーンショットを見てください:

1
マイクロサービスはユーザーである必要がありますか?
マイクロサービスのアクセス権を制限しながら、マイクロサービスアーキテクチャでユーザーを承認する最適な方法を決定しようとしています。このアーキテクチャでは、中央認証サービスを使用して、JWTトークンの発行を処理します。 次の要件があります。 ユーザーは特定の役割を実行するように制限する必要があります。たとえば、ユーザーは自分が所有するコンテンツのみを作成、変更、または読み取りできる必要があります。 マイクロサービスは、必要な権限のみに制限する必要があります。たとえば、別のサービスからデータを読み取るだけでよいマイクロサービスは、そのサービスへのデータの書き込みを明示的に禁止する必要があります。 例として、ユーザーが画像ストアサービスに写真をアップロードできるシステムがあるとします。写真に位置を自動的にタグ付けするタグ付けサービスがあります。ユーザーは自分の写真のみをCRUDできます。タグ付けサービスは、イメージストアサービスから任意のイメージを読み取ることができますが、変更/削除はできません。 JWTトークンを使用して上記を達成する良い方法は何ですか?私たちが議論したいくつかのソリューションは次のとおりです。 画像ストアサービスは2つのAPIを公開します。1つは外部で利用可能(ユーザーCRUDアクセスを提供)、もう1つは内部で利用可能(内部読み取り専用アクセスを提供)です。柔軟性がないようです-別の内部サービスがすべての画像(たとえば、明示的な画像を自動的に削除するもの)への読み取り/書き込みアクセスを必要とする場合はどうなりますか? ユーザーのJWTに2つの許可を設定します。1つはCRUD_OwnImagesで、もう1つはREAD_ForAnalysisです。タグ付けサービスは、ユーザーがREAD_ForAnalysis権限を持っているかどうかを確認し、もしそうであれば、適切な要求を行います。ユーザー自身の画像でのCRUD操作のためにユーザーがCRUD_OwnImagesを持っているかどうかを確認する別のマイクロサービスがあります。これにより、各マイクロサービスに責任が課され、ユーザーは必要なアクションに制限されます。画像ストアには、このアプローチで各マイクロサービスを制限する方法がないため、潜在的に不安定でエラーが発生しやすくなります。 READ_ForAnalysisを許可として、タグ付けマイクロサービスに独自のユーザーを与えます。次に、タグ付けサービスが画像ストアから画像を要求すると、それらへのアクセスが許可されますが、それらの変更は禁止されます。ユーザーのユーザーはCRUD_OwnImages権限のみを持っているため、フロントエンドから自分の画像のみを取得してアクセスすることができます。別のサービスがすべてのデータに対してCRUDを必要とする場合、CRUD_AllDataまたは同様のサービスを提供できます。各サービスが独自のデータを担当するようになったため(このロジックは複数のサービスに複製されるのではなく)このアプローチが好きですが、サービスにユーザー権限とマイクロサービス権限の両方が必要な場合はどうでしょうか?2つのJWTトークン(ユーザーとマイクロサービスの両方)を安全に送信できますか?許可を安全に組み合わせて送信する方法はありますか?例えば ユーザー情報がさらに下流に必要な場合(2または3マイクロサービス離れている)、問題は悪化します。私たちは、必要なアクションに自分自身を制限するのは個々のマイクロサービス次第であり、それを明確にしないと仮定するだけですか?

4
会社がパスワードを暗号化しない場合の対処方法
バックグラウンド 会社がサーバーを保守するのを手伝う契約をしています。私はいくつかのマイナーなPHPプロジェクトに取り組んでいますが、パフォーマンスの問題を調べ、最近ではハッカーのログをスキャンしています。 これらの人々はしばらくの間サーバーを実行しており、その最後の部分にレガシーアプリケーションと呼ぶものがあります。マジッククオート、グローバル変数(で$id上書き可能$_GET['id'])を使用し、.htaccessを唯一のセキュリティとして使用する場合があります。セキュリティとプログラミングの悪夢。 私たちは過去に、主にSQLインジェクションでハッキングされました。SQLインジェクションはSLEEP(99999999)コマンドを実行し、DOS攻撃として機能します。幸いなことに、彼らは「小さなボビーテーブル」を実行しませんでした。 XKCD:http ://xkcd.com/327/ そのため、脆弱なSQLステートメントをmysql_query()(mysqliではなく)PDOトランザクションに書き直しました。私はまたのためのクエリを分析していますSLEEPとUNION、我々が使用しないが、注射は持っています。ここまでは順調ですね。 最新号 最近、電子メールアドレスがスパマーによって作成されたと思われるものに変更されるなど、ユーザーのDBのレコードが変更されていると言われています。 彼らの列には列がないことに気づいたlast_modifiedので、誰が言うまでもなく、いつ変更されたかさえ知ることができませんでした。私はそのコラムを追加しましたが、それはかろうじて最初のステップです。 このテーブルを見ると、パスワードがソルト化されておらず、ハッシュ化されておらず、プレーンテキストとして保存されていることがわかりました。 クライアント通信 請負業者として、狂人のように腕を振り回すことなく、状況全体についてどのようにアプローチできますか?何かアドバイス?私は穏やかなアプローチを考えていました、 問題#1 あらすじ これが問題である理由 これが修正されない場合に何が起こるか 修正案 問題#2 あらすじ これが問題である理由 これが修正されない場合に何が起こるか 修正案
13 php  apache  security  mysql 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.