六合彩直播开奖

close search bar

Sorry, not available in this language yet

close language selection

サイバーセキュリティの実现方法:スピードが重要な理由

Jonathan Knudsen

Feb 01, 2021 / 1 min read

开発速度(ベロシティ)は顿别惫厂别肠翱辫蝉の1つの柱です。自动化の力によって、顿别惫厂别肠翱辫蝉チームは开発者がコードを変更してから、その変更がデプロイされるまでの期间を剧的に短缩できます。その期间が评価尺度として用いられることもあります。「开発チームがコミットしてから4分でデプロイに移行できます」とか、「1日に6回デプロイを行います」といった具合に。

物事が迅速に进行することは好ましいことですが、顿别惫厂别肠翱辫蝉で迅速化を目指す理由を正しく认识しておく必要があります。

大きな飞跃

振り返ってみると、ソフトウェア工学に対する従来のアプローチは単纯でした。ビジネスという観点から、顾客に価値を提供するソフトウェアの构筑が常に目标でした。つまり、现状から出発して、顾客ニーズを満たすと思われるソフトウェアを构筑すればいいという考え方です。

Devsecops velocity-1

そのギャップを埋めるために、従来のウォーターフォール?モデルの手顺を実行します。

  1. 要件収集
  2. 设计
  3. 実装
  4. テスト
  5. リリース

ものごとは思ったよりも少し长い时间がかかるものです。ソフトウェア开発は、常に想定より时间がかかりますが、それでも30か月后には构筑が完了していることでしょう。完成したソフトウェアはあなたが意図したとおりではありませんでしたが、あなたが想定した顾客ニーズにはかなり近いものになっています。

Devsecops-velocity-2

残念ながら、何かが间违っていました。顾客との话し合いが不十分だったり、问题を解决しようとしているうちに新しい顾客基盘が生じたり、顾客に価値をもたらす方法を本当には理解していなかったり、ソフトウェアを开発していた30か月の间に市场が大きく変化したなどの原因が考えられます。

Devsecops velocity 3

これはウォーターフォール型开発で起こる悲剧です。せっかく美しい桥を建设しても、谁も桥の向こう侧に兴味がないという结果に终わります。

反復あるのみ

DevSecOpsの基礎は、1つの大きな跳躍ではなく、小さなステップを数多く重ねていくことです。これにより、間違った方向に進んでいたことが判明した場合に進路を調整しやすくなります。DevSecOpsは、アジャイル開発と継続的インテグレーションから継承した原則に基づいて、スプリントと呼ばれる设计/ビルド/テスト/デプロイの短いサイクルを用いた反復を重視します。各スプリントの期間は通常2週間です。ソフトウェア全体を一挙に構築するのではなく、機能を反復的に構築していきます。これにより、市場に対する理解や市場自体が進化するにつれて臨機応変に進路を変えることができます。

リリース间隔が短いことで、の场合よりも迅速に変更を评価し、顾客の前で新机能を提示することができます。机能がうまく动作するかどうかにかかわらず、すぐ结果がわかりますし、必要に応じて次のスプリントで进路を调整することができます。

Devsecops velocity 4

顿别惫厂别肠翱辫蝉の自动化

顿别惫厂别肠翱辫蝉のもう1つの基础は、ソフトウェアの构筑/デプロイを自动化して手动の手顺を排除することです。これにより、开発チームが変更を加えてから、その変更がデプロイされるまでの时间が短缩されます。これは、构筑とデプロイの频度を増やせばプロセスを可能な限り最适化できるという点で理にかなっています。

DevSecOpsではソフトウェア開発の迅速化として現れるこの概念は、多くの場合にベロシティと呼ばれます。この概念は経営幹部に対して効果てきめんです。仕事が速く片付くと聞けば、どんな管理者も喜びます。そこには幾分の錯覚があります。それは大きな飞跃ではなく、小さな一歩の積み重ねにすぎないのですから。DevSecOpsでは継続的な改善を提案しますが、これはプロセスを批評的に検討し、調整しながら最適化していくことを意味します。この観点に立てば、実際に時間の経過とともに開発プロセスは迅速化し、俊敏になるはずです。DevSecOpsを導入してしばらくすると、従来のウォーターフォール型モデルよりはるかに効率が向上するはずです。

セキュリティ用バッテリーの组み込み

セキュリティはどこに存在するかというと、ソフトウェア開発の各フェーズに組み込まれています。スプリントの計画、设计、開発、テストの一部に組み込まれている必要があります。ウォーターフォール型开発でも各フェーズに組み込まれていてしかるべきでしたが、従来、セキュリティは軽視されたり、全く無視されたりしていました。セキュリティが組み込まれていたとしても、多くの場合、リリース前に克服すべき関門として開発サイクルの最後に取り入れられていました。

ソフトウェア开発にセキュリティを组み込むという発想は新しいものではありませんが、顿别惫厂别肠翱辫蝉では话が変わってきます。ソフトウェアの构筑、パッケージ化、デプロイのタスクが高度に自动化されている场合、セキュリティはこのシナリオにどのような形で组み込めばよいでしょうか。

答えは、适切なタイミングで适切なテストを行うということです。これは、ほとんどの场合、必要な成果物が利用可能になり次第、开発サイクルの一番左(最初)の时点でセキュリティツールを自动化することを意味します。たとえば、静的テストはソースコード上で実行します。したがって、セキュリティは开発者のデスクトップのパイプラインに统合され、コードがソースコードのリポジトリにプッシュバックされたときに実行する必要があります。オープンソースおよびサードパーティーコンポーネントを管理するには、ソフトウェア?コンポジション解析を同时点で统合する必要があります。ファジングテストは、バイナリが利用可能になり次第、统合する必要があります。

さらに、セキュリティテストはコンテキストに基づいて最适化する必要があります。开発者がコードの変更をコミットすると、自动的に変更が解析され、适切な种类とレベルのセキュリティテストが选択されます。たとえば、静的解析では、常にすべてのコードをスキャンする必要はありません。多くの场合、差分解析で十分です。テストの适切なレベルを决定して自动的に调整することが自动化の目标です。

また、一部のセキュリティテストは常に非同期的に実行する必要があります。これには総合テスト、拡张ファジングテスト、レッドチームなどのアクティビティが该当します。リリースゲートは、自动テストと非同期テストの结果の组み合わせで设定する必要があります。

计画的な迅速化

顿别惫厂别肠翱辫蝉の真の成功は、必ずしも迅速化することではなく、より优れたソフトウェアを构筑することです。迅速な反復(イテレーション)により、组织の俊敏性が向上し、市场の状况や意识の変化により的确に対応できます。自动化を多用することで、开発チームは従来のウォーターフォール型プロセスよりも迅速に変更をテスターや顾客の手に渡すことができます。

セキュリティはこのプロセスの重要な部分です。ソフトウェア开発のあらゆる部分にセキュリティを统合することにより、製品开発中に発见?修正されるバグが増え、最终製品にバグが潜んでいるリスクが軽减されます。迅速な反復処理と高度に自动化された顿别惫厂别肠翱辫蝉のプロセスを备えることにより、セキュリティテストのチューニングと最适化を行うことで、适切なテストが适切なタイミングで実行されます。

Continue Reading

トピックを探索する