の進歩のために 知識と教育、そして、 科学技術 一般的に、それは常に最も重要なのは、 より良く、より効果的な行動、対策または推奨事項 (良い習慣) の究極の目標を達成するために、 実を結ぶ あらゆる活動またはプロセス。
と プログラミング O·エル ソフトウェア開発 他のITおよび専門的な活動と同様に、独自の活動があります "良い習慣" 多くの球体、特にに関連する球体に関連付けられています サイバーセキュリティ 生産されたソフトウェア製品の。 そして、この投稿では、いくつかを紹介します «優れた安全なコーディング慣行»、と呼ばれる面白くて便利なウェブサイトから 「セキュアコードウィキ」、について 開発プラットフォーム プライベートでクローズドとして、無料でオープン。
主題に入る前に、いつものように、私たちは後でトピックに関連する以前の出版物へのいくつかのリンクを残します «プログラミングまたはソフトウェア開発のグッドプラクティス».
「…によって考案され普及されたグッドプラクティス 「開発イニシアチブのコード 米州開発銀行の ライセンスソフトウェア、特に無料でオープンなソフトウェア製品(デジタルツール)を開発するときに使用する必要があります。 フリーでオープンなソフトウェアの開発のためのライセンス:グッドプラクティス
セキュアコードウィキ:優れたセキュアコーディングプラクティス
Secure Code Wikiとは何ですか?
そのように サイト:
「Secure Code Wikiは、さまざまな言語の安全なコーディング手法の集大成です。
そしてあなたは 優れた実践 とのウェブサイト 「セキュアコードウィキ」 と呼ばれるインドの組織によって作成され、維持されています パヤトゥ.
プログラミング言語の種類別のグッドプラクティスの例
ウェブサイトは英語なので、いくつか紹介します 安全なコーディングの例 さまざまな プログラミング言語、無料でオープンなものもあれば、プライベートでクローズドなものもあります。 コンテンツの可能性と品質を探る ロードされました。
さらに、それを強調することが重要です グッドプラクティス に表示される 開発プラットフォーム 以下:
- .NET
- Java
- Android用Java
- コトリン
- NodeJS
- 目標C
- PHP
- Python
- ルビー
- スウィフト
- WordPress
デスクトップ言語では、次のカテゴリに分類されます。
- A1-注射 (注入)
- A2-認証が壊れています (認証の失敗)
- A3-機密データの公開 (機密データの公開)
- A4-XML外部エンティティ (XML外部エンティティ/ XXE)
- A5-アクセス制御の誤り (壊れたアクセス制御)
- A6-セキュリティの構成解除 (セキュリティの設定ミス)
- A7-クロスサイトスクリプティング (クロスサイトスクリプティング/ XSS)
- A8-安全でない逆シリアル化 (安全でない逆シリアル化)
- A9-既知の脆弱性を持つコンポーネントの使用 (既知の脆弱性を持つコンポーネントの使用)
- A10-不十分な登録と監督 (不十分なロギングとモニタリング)
また、モバイル言語については、次のカテゴリに分類されます。
- M1-プラットフォームの不適切な使用 (不適切なプラットフォームの使用)
- M2-安全でないデータストレージ (安全でないデータストレージ)
- M3-安全でない通信 (安全でない通信)
- M4-安全でない認証 (安全でない認証)
- M5-不十分な暗号化 (不十分な暗号化)
- M6-安全でない認証 (安全でない認証)
- M7-顧客コードの品質 (クライアントコードの品質)
- M8-コード操作 (コードの改ざん)
- M9-リバースエンジニアリング (リバースエンジニアリング)
- M10-奇妙な機能 (外部機能)
例1:.Net(A1-インジェクション)
SQLインジェクションの脆弱性に対抗するには、オブジェクトリレーショナルマッパー(ORM)またはストアドプロシージャを使用するのが最も効率的な方法です。
例2:Java(A2-認証が壊れています)
可能な場合は常に、多要素認証を実装して、自動化されたクレデンシャルスタッフィング、ブルートフォース、および盗まれたクレデンシャルへの再利用攻撃を防止します。
例3:Android用Java(M3-安全でない通信)
機密情報、セッショントークン、またはその他の機密データをバックエンドAPIまたはWebサービスに送信するために、モバイルアプリケーションが使用するトランスポートチャネルにSSL / TLSを適用することが不可欠です。
例4:Kotlin(M4-安全でない認証)
弱いパターンを避ける
例5:NodeJS(A5-不正なアクセス制御)
モデルのアクセス制御は、ユーザーがレコードを作成、読み取り、更新、または削除できるようにするのではなく、レコードの所有権を強制する必要があります。
例6:Objective C(M6-承認が安全ではない)
アプリケーションは、推測可能な番号を識別参照として使用することを避ける必要があります。
例7:PHP(A7-クロスサイトスクリプティング)
htmlspecialchars()またはhtmlentities()を使用してすべての特殊文字をエンコードします[htmlタグ内にある場合]。
例8:Python(A8-安全でない逆シリアル化)
pickleおよびjsonpickleモジュールは安全ではありません。信頼できないデータを逆シリアル化するために使用しないでください。
例9:Python(A9-既知の脆弱性を持つコンポーネントの使用)
最小特権ユーザーでアプリケーションを実行する
例10:Swift(M10-奇妙な機能)
実稼働環境でのリリースを目的としていない、隠されたバックドア機能またはその他の内部開発セキュリティ制御を削除します。
例11:WordPress(XML-RPC無効化)
XML-RPCは、WordPressと他のシステム間のデータ転送を可能にするWordPress機能です。 現在、REST APIに大幅に取って代わられていますが、下位互換性のためにインストールに含まれています。 WordPressで有効にすると、攻撃者はブルートフォース、ピングバック(SSRF)攻撃などを実行できます。
結論
これを願っています 「便利な小さな投稿 と呼ばれるウェブサイトについて «Secure Code Wiki»
, に関連する貴重なコンテンツを提供します «優れた安全なコーディング慣行»; 全体として、非常に興味深く有用です «Comunidad de Software Libre y Código Abierto»
そして、アプリケーションの素晴らしい、巨大で成長しているエコシステムの普及に大きく貢献しています «GNU/Linux»
.
今のところ、これが好きなら publicación
、 止まらないで それを共有する 他の人と一緒に、お気に入りのWebサイト、チャネル、グループ、またはソーシャルネットワークやメッセージングシステムのコミュニティで、できれば無料、オープン、および/またはより安全な Telegram, シグナル, マストドン または別の フェディバース、できれば。
そして、私たちのホームページにアクセスすることを忘れないでください «DesdeLinux» より多くのニュースを探索するだけでなく、の公式チャンネルに参加する の電報 DesdeLinux. 詳細については、次のいずれかにアクセスできます。 オンラインライブラリ として OpenLibra y ジェディット, このトピックまたは他のトピックに関するデジタルブック(PDF)にアクセスして読むため。
興味深い記事ですが、すべての開発者に必須です。