六合彩直播开奖

close search bar

Sorry, not available in this language yet

close language selection

プログラミングを始めたときに知っておけばよかったと思うセキュリティの知识

Allon Mureinik

Dec 21, 2022 / 1 min read

ソフトウェア开発チームは问题を解决する创造的な人材の集まりです。その仕事は、机能するアプリケーションを构筑し、状况の进化と开発速度の加速に伴うテクノロジー、ツール、プログラミング言语の急速な変化に対応することです。开発プロセスの主な役割は、ユーザーニーズとビジネス目标を満たす製品を提供することであり、开発チームは常にセキュリティについて考えているわけではありませんが、セキュアアプリケーション构筑の最前线にいます。

アプリケーションセキュリティは自分でコントロールできない手の届かない领域で発生するもののように思われて、开発者がアプリケーションセキュリティについて考えていない场合もあれば、适切なセキュリティトレーニングを受けていないことにより、真にセキュアなアプリケーションを构筑するために何が必要かを认识していない场合もあります。セキュリティの胁威は常に进化しており、トレーニングセッションからの情报はすぐに陈腐化する可能性があります。すでに一定のセキュリティ対策(ファイアウォール、奥别产アプリケーションファイアウォール、エンドポイント保护など)をとっている组织は、アプリケーションにセキュリティを组み込むことに苦心する必要はないと考える可能性があります。

このようなセキュリティ意识の欠如により、脆弱性を残したままアプリケーションが构筑され、悪意のある人物が容易にシステムに侵入して机密データにアクセスできる可能性があります。セキュリティテストは开発の全工程において重要なステップですが、アプリケーションが本番环境またはリリース段阶に入ってから问题が特定された场合、セキュリティ上の课题への対処はさらに困难になります。セキュリティチームは开発チームと协力してコードを修正する必要があるため、大幅な遅延が生じる可能性があります。

开発チームは完璧なアプリケーションの构筑を望みますが、机能がどれほど优れていても、ソフトウェアアプリケーションのセキュリティを100%确保することはできません。开発チームセキュリティチームの目标は、侵入が困难で割に合わない行為であると思い知らせることです。

シフトレフト

従来、数週间~数か月かかっていた开発スケジュールが数时间~数日に短缩された昨今では、ソフトウェア开発ライフサイクル(厂顿尝颁)のどの段阶でも、もはやセキュリティを考虑しないという选択肢はありません。顿别惫翱辫蝉チームは、SDLCの初期段阶でアプリケーションを保护するためのプロセスを组み込み、基本的なタスクを実行するのに十分なアプリケーション?セキュリティ能力を装备する必要があります。また、セキュリティの问题に固有の知识が必要になる状况を认识し、関连する専门知识を持つ人に助言を求めて问题に対処する必要があります。

つまり、リリース后のテストまで待つことなく、开発プロセスでバグを见つけて修正する必要があるということであり、これがシフトレフトの意味です。2022年の侵害の平均コストがであり、83%の组织が复数の侵害を経験しているという调査结果から、开発サイクルの早い段阶で脆弱性とバグを修正することが、费用対効果の面でも、评判の失坠を防ぐ面でも优れた方策であることは明らかです。

この移行を実現するには、SDLC全体にセキュリティを組み込む必要があります。開発スケジュールを停滞させることなく开発チームをサポートする、さまざまな自動化されたアプリケーションセキュリティ?ツールがあります。これらのツールを使用すると、コードの作成中に脆弱性が特定された时点で优先顺位を付けて修正することができるため、変更がはるかに容易になります。

开発チームが知っておくべきこと

开発チームの仕事は、アプリケーションの目的を達成する機能を作成することです。开発チームは、有用な製品の構築を念頭に置いています。开発チームがセキュアなアプリケーションを開発できるようになるには、エンジニアリングの知識を活かし、機能に重点を置くことに加えて、必要なスキルがあり、これには、基本的なセキュリティの概念、セキュリティ技術のユースケース、およびそれらが組織とどのように関連しているかに関する知識が含まれます。

开発チームは、脅威を防ぐ方法を理解する必要がありますが、日頃システムを侵害することではなく、構築することを意識しているため、これが難しい場合があります。他者によるシステムの侵害方法を想定できるようになるには、ソフトウェアサプライチェーンのコンポーネントと依存関係、既知の脆弱性など、ソフトウェアで问题が発生する可能性のあるあらゆる事态を把握している必要があります。

また、开発者は、セキュリティテストの仕组み、およびセキュリティテストでできることとできないことを理解し、セキュリティテストでの动作、テストでの検索対象、脆弱性に优先顺位を付ける方法、问题を軽减する方法を把握している必要があります。

ソフトウェアやシステムへのパッチの适用、日常的なタスクの自动化、最小特権の适用など、セキュリティのベストプラクティスを理解することも、开発チームにとって有益です。基本に従い、セキュリティを最優先に考えることは、組織に対する攻撃のリスクを軽減するために大いに役立ちます。

ソフトウェア開発プロセスが組織とどのように関連しているかを理解することも开発チームにとって有益です。以下に例を示します。

  • ソフトウェア?コンポジション解析(SCA):コードベース内のオープンソース?ソフトウェアを特定し、セキュリティ、ライセンス?コンプライアンス、コード品质を评価します。アプリケーションをデプロイする前に、既知の脆弱性の原因を特定できます。
  • 静的アプリケーション?セキュリティ?テスト(SAST):ビルド?プロセス中に、または开発者の滨顿贰(统合ソフトウェア开発环境)から、直接ソースコードを解析し、脆弱なコード行を特定できます。厂础厂罢は、厂颁础と同様に、アプリケーションをデプロイする前に使用できます。厂颁础および厂础厂罢で特定された问题の修正を数サイクル行った后、滨础厂罢および顿础厂罢テスト用にアプリケーションをデプロイできます。
  • インタラクティブ?アプリケーション?セキュリティ?テスト(IAST):通常、厂顿尝颁のテスト/蚕础段阶で行われ、コードが変更され、再コンパイルされるとすぐに问题を捕捉します。脆弱性をリアルタイムで特定できます。
  • 动的アプリケーション?セキュリティ?テスト(DAST):本番システムまたはテスト/蚕础システム内のアプリケーションを検査します。顿础厂罢では実行时に脆弱性を特定できますが、脆弱なコード行を特定することはできません。
  • ペネトレーション?テスト(ペンテスト):ソフトウェアの运用とデプロイの準备が整った段阶で、さまざまな种类の攻撃の许可されたシミュレーションを行います。システムの弱点を特定するために効果的なテストです。

セキュリティの适用

开発者はセキュリティの専门家ではないかもしれませんが、アプリケーションにセキュリティが组み込まれていることを确认するための基本を习得することはできます。奥别产セミナー「」で、日常業務の一環としてセキュリティを取り入れる开発チームを支援する方法をご覧ください。

Continue Reading

トピックを探索する