ブラシ28インタビューの質問:安全なJavaコードを記述するためにどのように?

防護マスク

JDK、JVM上の攻撃は、Javaアプリケーションは変え?まあ、Javaプログラマの観点から、どのように安全なコードを書くには?

私は面接の準備、李富春た、今日のトピックは次のとおりです。セキュアなJavaコードを書く方法?

A:アカウントへの実装の詳細設計からこの機能のニーズ、安全ではない、いわゆるは、攻撃者JDK、JVM、シミのJavaアプリケーション、またはアーキテクチャ設計上の欠陥の攻撃によって利用されます。

ドスは、一例として攻撃するために、セキュアなJavaコードの書き方を分析します。

攻撃者は多数のマシンを使用して要求を送信するときに、DOSは、ターゲットJavaアプリケーション帯域幅または他のリソース(CPU、メモリ、ディスク)は、通常、通常のユーザーで、その結果、アクセスをすることができない空乏化されます。攻撃の例次のように:

1、JDKの初期のバージョンでは、あなたは、これは、JDKのバージョンをアップグレードすることによって解決することができ、何かをする資源の消費の多くを作るために設定したスレッドの優先順位、スレッドの攻撃に使用することができます。

図2に示すように、いくつかのサイトのCPU集中型のユーザインタフェースは、乱用枯渇CPUリソース攻撃これらのインタフェースの使用を制限するものではない。解決法:ユーザーCPU集中インタフェース周波数または時間を制限します。

3、ファイルが何の制限をアップロードしない、攻撃者はメモリと外部メモリシステムのうちに実行されます。解決策:のファイル番号と周波数をアップロードするユーザーを制限します

4は、そのようなファイル記述子、データベース接続、再入国ロックなどの他の資源の消費量は、時間内に解除されない、解決策は以下のとおりです。試す - 最後に、自由アップのリソースを表示します。

セキュリティコード

開発段階で正規のセキュリティコードを指定して、Javaの仕様はマニュアルアリを参照することができます。ここでシーンのセキュリティ問題を表示されたものを説明するためのいくつかの例です。

オーバーフロータイプのを防ぐ数値

// a, b, c都是int类型的数值
if (a + b < c) {
// …
}

改善します

if (a < c – b)

機密情報の暴露を避けます

try {
// 业务代码
} catch (Exception e) {
throw new RuntimeException(hostname + port + “ doesn’t response”);

改善:機密情報が例外に出力されません。

連載

主に機密データの漏洩回避へのシステム間のシリアル化の一般的な登場シーンの情報交換、。

1、シリアル化されているから保護フィールド感応性電界transiantを増加させるために、送出。

同様のreadObjectに、情報を受信した2は、中国医学およびデータセキュリティチェックの方法を実装し、

開発が完了したら、安全でないコードセグメントを修正する、例えばFindBugsのように、可能なセキュリティホールを検出する最初の時間に関連するプラグインコードスキャンを使用することができます。

仕様およびツールはまた、ソナーなどのセキュリティ部門のプット・コードの品質の走査システム、のチームを組み合わせることができます。

Javaプログラムを展開した後、JDKのバージョンに使用する、JDKタイムリーなアップデートのバージョンは、バージョンアップは自動的にJavaのための多くの抜け穴を修正します。

概要

Benpianは、いくつかの攻撃の場合を引用し、その後、攻撃力のDoS攻撃生成されたJavaの主な理由を答えました。

ソフトウェア開発ライフサイクルと組み合わせることで、それは異なる段階での書き込みJavaコードのJavaアプリケーションのセキュリティ保証にいくつかのセキュリティツールやアドバイスを提供します。

概要脳のマッピング

オリジナルは、それについての親指の懸念のサポートは容易ではありません!コミュニケーションを歓迎し、私たちの相補性と共通の進歩させ、ソースを明記してください。
私は、プログラミング、国民の関心番号「李富春連続出力」あなたにシェア「材料学習」を送信を学ぶために、すべてのこれらの年一緒にさまざまなリソースを入れて、キャリアパスを開発するための知識やソフトウェアのプログラマのプログラミング歓迎注目を集めたJavaを共有していきます!

おすすめ

転載: www.cnblogs.com/snidget/p/12627368.html