[{"data":1,"prerenderedAt":675},["ShallowReactive",2],{"/ja-jp/the-source/security":3,"footer-ja-jp":35,"the-source-banner-ja-jp":344,"the-source-navigation-ja-jp":356,"the-source-newsletter-ja-jp":383,"footer-source-/ja-jp/the-source/security/":394,"the-source-the-source-resources-ja-jp":406,"authors-ja-jp":437,"categories-ja-jp":468,"security-articles-list-ja-jp":469},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"config":8,"seo":9,"content":12,"type":27,"slug":28,"_id":29,"_type":30,"title":7,"_source":31,"_file":32,"_stem":33,"_extension":34},"/ja-jp/the-source/security","the-source",false,"",{"layout":5},{"title":10,"description":11,"ogImage":7},"セキュリティとコンプライアンス","進化するセキュリティ脅威とコンプライアンス要件に対応するための最新情報をお届けします。",[13,19],{"componentName":14,"componentContent":15},"TheSourceCategoryHero",{"title":10,"description":11,"image":16},{"config":17},{"src":18},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1751463273/aplkxrvwpii26xao5yhi.png",{"componentName":20,"componentContent":21},"TheSourceCategoryMainSection",{"config":22},{"sourceCTAs":23},[24,25,26],"source-lp-guide-to-dynamic-sboms","source-lp-a-field-guide-to-threat-vectors-in-the-software-supply-chain","application-security-in-the-digital-age","category","security","content:ja-jp:the-source:security:index.yml","yaml","content","ja-jp/the-source/security/index.yml","ja-jp/the-source/security/index","yml",{"_path":36,"_dir":37,"_draft":6,"_partial":6,"_locale":7,"data":38,"_id":340,"_type":30,"title":341,"_source":31,"_file":342,"_stem":343,"_extension":34},"/shared/ja-jp/main-footer","ja-jp",{"text":39,"source":40,"edit":46,"contribute":51,"config":56,"items":61,"minimal":332},"GitはSoftware Freedom Conservancyの商標です。当社は「GitLab」をライセンスに基づいて使用しています",{"text":41,"config":42},"ページのソースを表示",{"href":43,"dataGaName":44,"dataGaLocation":45},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":47,"config":48},"このページを編集",{"href":49,"dataGaName":50,"dataGaLocation":45},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":52,"config":53},"ご協力をお願いします",{"href":54,"dataGaName":55,"dataGaLocation":45},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":57,"facebook":58,"youtube":59,"linkedin":60},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[62,89,161,232,294],{"title":63,"links":64,"subMenu":70},"プラットフォーム",[65],{"text":66,"config":67},"DevSecOpsプラットフォーム",{"href":68,"dataGaName":69,"dataGaLocation":45},"/ja-jp/platform/","devsecops platform",[71],{"title":72,"links":73},"価格",[74,79,84],{"text":75,"config":76},"プランの表示",{"href":77,"dataGaName":78,"dataGaLocation":45},"/ja-jp/pricing/","view plans",{"text":80,"config":81},"Premiumを選ぶ理由",{"href":82,"dataGaName":83,"dataGaLocation":45},"/ja-jp/pricing/premium/","why premium",{"text":85,"config":86},"Ultimateを選ぶ理由",{"href":87,"dataGaName":88,"dataGaLocation":45},"/ja-jp/pricing/ultimate/","why ultimate",{"title":90,"links":91},"ソリューション",[92,97,101,106,111,116,121,126,131,136,141,146,151,156],{"text":93,"config":94},"デジタルトランスフォーメーション",{"href":95,"dataGaName":96,"dataGaLocation":45},"/ja-jp/topics/digital-transformation/","digital transformation",{"text":10,"config":98},{"href":99,"dataGaName":100,"dataGaLocation":45},"/ja-jp/solutions/application-security-testing/","Application security testing",{"text":102,"config":103},"自動化されたソフトウェアデリバリー",{"href":104,"dataGaName":105,"dataGaLocation":45},"/ja-jp/solutions/delivery-automation/","automated software delivery",{"text":107,"config":108},"アジャイル開発",{"href":109,"dataGaName":110,"dataGaLocation":45},"/ja-jp/solutions/agile-delivery/","agile delivery",{"text":112,"config":113},"クラウドトランスフォーメーション",{"href":114,"dataGaName":115,"dataGaLocation":45},"/ja-jp/topics/cloud-native/","cloud transformation",{"text":117,"config":118},"SCM",{"href":119,"dataGaName":120,"dataGaLocation":45},"/ja-jp/solutions/source-code-management/","source code management",{"text":122,"config":123},"CI/CD",{"href":124,"dataGaName":125,"dataGaLocation":45},"/ja-jp/solutions/continuous-integration/","continuous integration & delivery",{"text":127,"config":128},"バリューストリーム管理",{"href":129,"dataGaName":130,"dataGaLocation":45},"/ja-jp/solutions/value-stream-management/","value stream management",{"text":132,"config":133},"GitOps",{"href":134,"dataGaName":135,"dataGaLocation":45},"/ja-jp/solutions/gitops/","gitops",{"text":137,"config":138},"Enterprise",{"href":139,"dataGaName":140,"dataGaLocation":45},"/ja-jp/enterprise/","enterprise",{"text":142,"config":143},"スモールビジネス",{"href":144,"dataGaName":145,"dataGaLocation":45},"/ja-jp/small-business/","small business",{"text":147,"config":148},"公共機関",{"href":149,"dataGaName":150,"dataGaLocation":45},"/ja-jp/solutions/public-sector/","public sector",{"text":152,"config":153},"教育",{"href":154,"dataGaName":155,"dataGaLocation":45},"/ja-jp/solutions/education/","education",{"text":157,"config":158},"金融サービス",{"href":159,"dataGaName":160,"dataGaLocation":45},"/ja-jp/solutions/finance/","financial services",{"title":162,"links":163},"関連リソース",[164,169,174,179,184,189,193,197,202,207,212,217,222,227],{"text":165,"config":166},"インストール",{"href":167,"dataGaName":168,"dataGaLocation":45},"/ja-jp/install/","install",{"text":170,"config":171},"クイックスタートガイド",{"href":172,"dataGaName":173,"dataGaLocation":45},"/ja-jp/get-started/","quick setup checklists",{"text":175,"config":176},"学ぶ",{"href":177,"dataGaName":178,"dataGaLocation":45},"https://university.gitlab.com/","learn",{"text":180,"config":181},"製品ドキュメント",{"href":182,"dataGaName":183,"dataGaLocation":45},"https://docs.gitlab.com/","docs",{"text":185,"config":186},"ブログ",{"href":187,"dataGaName":188},"/ja-jp/blog/","blog",{"text":190,"config":191},"お客様の成功事例",{"href":192,"dataGaLocation":45},"/ja-jp/customers/",{"text":194,"config":195},"お客様成功事例",{"href":192,"dataGaName":196,"dataGaLocation":45},"customer success stories",{"text":198,"config":199},"リモート",{"href":200,"dataGaName":201,"dataGaLocation":45},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"text":203,"config":204},"GitLabサービス",{"href":205,"dataGaName":206,"dataGaLocation":45},"/ja-jp/services/","services",{"text":208,"config":209},"TeamOps",{"href":210,"dataGaName":211,"dataGaLocation":45},"/ja-jp/teamops/","teamops",{"text":213,"config":214},"コミュニティ",{"href":215,"dataGaName":216,"dataGaLocation":45},"/community/","community",{"text":218,"config":219},"フォーラム",{"href":220,"dataGaName":221,"dataGaLocation":45},"https://forum.gitlab.com/","forum",{"text":223,"config":224},"イベント",{"href":225,"dataGaName":226,"dataGaLocation":45},"/events/","events",{"text":228,"config":229},"パートナー",{"href":230,"dataGaName":231,"dataGaLocation":45},"/ja-jp/partners/","partners",{"title":233,"links":234},"Company",[235,240,245,250,255,260,265,269,274,279,284,289],{"text":236,"config":237},"GitLabについて",{"href":238,"dataGaName":239,"dataGaLocation":45},"/ja-jp/company/","company",{"text":241,"config":242},"採用情報",{"href":243,"dataGaName":244,"dataGaLocation":45},"/jobs/","jobs",{"text":246,"config":247},"経営陣",{"href":248,"dataGaName":249,"dataGaLocation":45},"/company/team/e-group/","leadership",{"text":251,"config":252},"チーム",{"href":253,"dataGaName":254,"dataGaLocation":45},"/company/team/","team",{"text":256,"config":257},"ハンドブック",{"href":258,"dataGaName":259,"dataGaLocation":45},"https://handbook.gitlab.com/","handbook",{"text":261,"config":262},"投資家向け情報",{"href":263,"dataGaName":264,"dataGaLocation":45},"https://ir.gitlab.com/","investor relations",{"text":266,"config":267},"Sustainability",{"href":268,"dataGaName":266,"dataGaLocation":45},"/sustainability/",{"text":270,"config":271},"ダイバーシティ、インクルージョン、ビロンギング（DIB）",{"href":272,"dataGaName":273,"dataGaLocation":45},"/ja-jp/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":275,"config":276},"トラストセンター",{"href":277,"dataGaName":278,"dataGaLocation":45},"/ja-jp/security/","trust center",{"text":280,"config":281},"ニュースレター",{"href":282,"dataGaName":283,"dataGaLocation":45},"/company/contact/","newsletter",{"text":285,"config":286},"プレス",{"href":287,"dataGaName":288,"dataGaLocation":45},"/press/","press",{"text":290,"config":291},"現代奴隷制の透明性に関する声明",{"href":292,"dataGaName":293,"dataGaLocation":45},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"title":295,"links":296},"お問い合わせ",[297,301,306,311,316,321,326],{"text":295,"config":298},{"href":299,"dataGaName":300,"dataGaLocation":45},"/ja-jp/sales/","sales",{"text":302,"config":303},"サポートを受ける",{"href":304,"dataGaName":305,"dataGaLocation":45},"/support/","get help",{"text":307,"config":308},"カスタマーポータル",{"href":309,"dataGaName":310,"dataGaLocation":45},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"text":312,"config":313},"ステータス",{"href":314,"dataGaName":315,"dataGaLocation":45},"https://status.gitlab.com/","status",{"text":317,"config":318},"利用規約",{"href":319,"dataGaName":320,"dataGaLocation":45},"/terms/","terms of use",{"text":322,"config":323},"プライバシーに関する声明",{"href":324,"dataGaName":325,"dataGaLocation":45},"/ja-jp/privacy/","privacy statement",{"text":327,"config":328},"Cookieの設定",{"dataGaName":329,"dataGaLocation":45,"id":330,"isOneTrustButton":331},"cookie preferences","ot-sdk-btn",true,{"items":333},[334,336,338],{"text":317,"config":335},{"href":319,"dataGaName":320,"dataGaLocation":45},{"text":322,"config":337},{"href":324,"dataGaName":325,"dataGaLocation":45},{"text":327,"config":339},{"dataGaName":329,"dataGaLocation":45,"id":330,"isOneTrustButton":331},"content:shared:ja-jp:main-footer.yml","Main Footer","shared/ja-jp/main-footer.yml","shared/ja-jp/main-footer",{"_path":345,"_dir":346,"_draft":6,"_partial":6,"_locale":7,"id":347,"visibility":331,"title":348,"button":349,"_id":353,"_type":30,"_source":31,"_file":354,"_stem":355,"_extension":34},"/shared/ja-jp/the-source/banner/the-economics-of-software-innovation-2025-08-18","banner","The Economics of Software Innovation","The Economics of Software Innovation—AI’s $750 Billion Opportunity",{"config":350,"text":352},{"href":351},"/software-innovation-report/","Get the research report","content:shared:ja-jp:the-source:banner:the-economics-of-software-innovation-2025-08-18.yml","shared/ja-jp/the-source/banner/the-economics-of-software-innovation-2025-08-18.yml","shared/ja-jp/the-source/banner/the-economics-of-software-innovation-2025-08-18",{"_path":357,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"logo":358,"subscribeLink":363,"navItems":367,"_id":379,"_type":30,"title":380,"_source":31,"_file":381,"_stem":382,"_extension":34},"/shared/ja-jp/the-source/navigation",{"altText":359,"config":360},"the source logo",{"src":361,"href":362},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1750191004/t7wz1klfb2kxkezksv9t.svg","/ja-jp/the-source/",{"text":364,"config":365},"購読する",{"href":366},"#subscribe",[368,372,375],{"text":369,"config":370},"人工知能",{"href":371},"/ja-jp/the-source/ai/",{"text":10,"config":373},{"href":374},"/ja-jp/the-source/security/",{"text":376,"config":377},"プラットフォームとインフラストラクチャ",{"href":378},"/ja-jp/the-source/platform/","content:shared:ja-jp:the-source:navigation.yml","Navigation","shared/ja-jp/the-source/navigation.yml","shared/ja-jp/the-source/navigation",{"_path":384,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":385,"description":386,"submitMessage":387,"formData":388,"_id":391,"_type":30,"_source":31,"_file":392,"_stem":393,"_extension":34},"/shared/ja-jp/the-source/newsletter","The Sourceニュースレター","ソフトウェア開発の未来への洞察に関する最新情報を入手しましょう。","The Sourceのニュースレターへの登録が完了しました。",{"config":389},{"formId":390,"formName":283,"hideRequiredLabel":331},28467,"content:shared:ja-jp:the-source:newsletter.yml","shared/ja-jp/the-source/newsletter.yml","shared/ja-jp/the-source/newsletter",{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"config":395,"seo":396,"content":397,"type":27,"slug":28,"_id":29,"_type":30,"title":7,"_source":31,"_file":32,"_stem":33,"_extension":34},{"layout":5},{"title":10,"description":11,"ogImage":7},[398,402],{"componentName":14,"componentContent":399},{"title":10,"description":11,"image":400},{"config":401},{"src":18},{"componentName":20,"componentContent":403},{"config":404},{"sourceCTAs":405},[24,25,26],[407,423],{"_path":408,"_dir":409,"_draft":6,"_partial":6,"_locale":7,"config":410,"title":412,"description":413,"link":414,"_id":420,"_type":30,"_source":31,"_file":421,"_stem":422,"_extension":34},"/shared/ja-jp/the-source/source-lp-ctas/navigating-ai-maturity-in-devsecops","source-lp-ctas",{"slug":411},"navigating-ai-maturity-in-devsecops","DevSecOpsにおいてAIの活用を進める","組織がソフトウェア開発ライフサイクルにAIをどのように組み込んでいるかのインサイトについては、[世界中の5,000人を超えるDevSecOpsプロフェッショナルからの調査結果](/ja-jp/developer-survey/2024/ai/)をご覧ください。",{"text":415,"config":416},"レポートを読む",{"href":417,"dataGaName":418,"dataGaLocation":419},"/ja-jp/developer-survey/2024/ai/","Navigating AI Maturity in DevSecOps","thesource","content:shared:ja-jp:the-source:source-lp-ctas:navigating-ai-maturity-in-devsecops.yml","shared/ja-jp/the-source/source-lp-ctas/navigating-ai-maturity-in-devsecops.yml","shared/ja-jp/the-source/source-lp-ctas/navigating-ai-maturity-in-devsecops",{"_path":424,"_dir":409,"_draft":6,"_partial":6,"_locale":7,"config":425,"title":427,"description":428,"link":429,"_id":434,"_type":30,"_source":31,"_file":435,"_stem":436,"_extension":34},"/shared/ja-jp/the-source/source-lp-ctas/source-lp-how-to-get-started-using-ai-in-software-development",{"slug":426},"source-lp-how-to-get-started-using-ai-in-software-development","ソフトウェア開発でAIを使用する方法","安全なソフトウェアをより迅速に開発する上で、戦略的なAIのフレームワークの構築に役立つ具体的なヒントが満載のeBookをぜひご一読ください（英語版のみ）。",{"text":430,"config":431},"ebookを読む",{"href":432,"dataGaName":433,"dataGaLocation":419},"/the-source/ai/getting-started-with-ai-in-software-development-a-guide-for-leaders/","How to Get Started Using AI in Software Development","content:shared:ja-jp:the-source:source-lp-ctas:source-lp-how-to-get-started-using-ai-in-software-development.yml","shared/ja-jp/the-source/source-lp-ctas/source-lp-how-to-get-started-using-ai-in-software-development.yml","shared/ja-jp/the-source/source-lp-ctas/source-lp-how-to-get-started-using-ai-in-software-development",{"amanda-rueda":438,"andre-michael-braun":439,"andrew-haschka":440,"ayoub-fandi":441,"brian-wald":442,"bryan-ross":443,"chandler-gibbons":444,"dave-steer":445,"ddesanto":446,"derek-debellis":447,"emilio-salvador":448,"erika-feldman":449,"george-kichukov":450,"gitlab":451,"grant-hickman":452,"haim-snir":453,"iganbaruch":454,"jlongo":455,"joel-krooswyk":456,"josh-lemos":457,"julie-griffin":458,"kristina-weis":459,"lee-faus":460,"ncregan":461,"rschulman":462,"sabrina-farmer":463,"sandra-gittlen":464,"sharon-gaudin":465,"stephen-walters":466,"taylor-mccaslin":467},"Amanda Rueda","Andre Michael Braun","Andrew Haschka","Ayoub Fandi","Brian Wald","Bryan Ross","Chandler Gibbons","Dave Steer","David DeSanto","Derek DeBellis","Emilio Salvador","Erika Feldman","George Kichukov","GitLab","Grant Hickman","Haim Snir","Itzik Gan Baruch","Joseph Longo","Joel Krooswyk","Josh Lemos","Julie Griffin","Kristina Weis","Lee Faus","Niall Cregan","Robin Schulman","Sabrina Farmer","Sandra Gittlen","Sharon Gaudin","Stephen Walters","Taylor McCaslin",{"ai":369,"platform":376,"security":10},[470,493,530,548,565,584,603,635,655],{"_path":471,"_dir":28,"_draft":6,"_partial":6,"_locale":7,"config":472,"seo":476,"content":480,"type":488,"category":28,"slug":489,"_id":490,"_type":30,"title":477,"_source":31,"_file":491,"_stem":492,"_extension":34,"date":481,"description":478,"timeToRead":482,"heroImage":479,"keyTakeaways":483,"articleBody":487},"/ja-jp/the-source/security/key-security-trends-for-cisos-in-2025",{"layout":5,"template":473,"author":474,"featured":6,"sourceCTA":475,"isHighlighted":6,"authorName":457},"TheSourceArticle","josh-lemos","source-lp-ai-guide-for-enterprise-leaders-building-the-right-approach",{"title":477,"description":478,"ogImage":479},"2025年におけるCISO向けの主なセキュリティトレンド","AIの導入に伴う新たなリスクと機会の発生、アイデンティティ管理の再構築、DevOpsチームの強化方法など、2025年の主なセキュリティトレンドについてご紹介します。","https://res.cloudinary.com/about-gitlab-com/image/upload/v1751464506/hyue0lgqq2lqk3arwnel.jpg",{"title":477,"date":481,"description":478,"timeToRead":482,"heroImage":479,"keyTakeaways":483,"articleBody":487},"2025-02-25","5分で読めます",[484,485,486],"AIの導入は、セキュリティリスクと機会の両方をもたらします。そのため、組織はベンダー製品におけるAIの使用状況を確認し、システム停止の可能性に備えて準備し、AIを活用してセキュリティ管理を強化する必要があります。","マシン間の複雑なやり取り、動的な権限管理、AIシステムへのアクセスに対応できるよう、アイデンティティ管理のモダナイゼーションを行う必要があります。これに伴い、より柔軟で適応性の高いセキュリティツールも必要となります。","AIツールによって、セキュリティチェックの自動化、安全なコーディングパターンの提案、ソフトウェア開発ライフサイクル全体へのセキュリティ統合を行うことで、DevOpsのセキュリティスキル不足を補えます。","2025年に使用する重要なセキュリティツールの大半には、社内で検査または完全に制御できないAIモデルが含まれるようになります。そのため、企業の取締役会は、次の重大ニュースとして報道されるようなセキュリティ侵害の発生を防止する対策を最高情報セキュリティ責任者（CISO）に求めています。その一方で、競合他社はAIを用いて、ほんの数か月前には不可能だった規模でセキュリティの自動化を進めています。さらに、欧州連合（EU）や米カリフォルニア州が定めた新たな規則がAIシステムの使用方法に影響を及ぼす中、変化する規制要件によってさらに複雑さが増しています。\n\nセキュリティに関する状況は急速に変化していますが、適切なアプローチを取ることで、これらの課題を好転させて、新たなサイバー脅威からシステムを保護しながら、より強固な防御体制を構築することが可能です。ここでは、今年の企業セキュリティの分野で主流となる3つのトレンドをご紹介します。\n\n## 1. プロプライエタリLLMの脆弱性\n現在、多くのベンダーが、自社製品の基盤となる独自の大規模言語モデル（LLM）を使用していますが、これにより、新たなリスクが生じています。これらのLLMの大半はブラックボックスです。つまり、どのように動作するのか、またどのような安全制御がなされているのかについて多くを確認できません。AIのガードレールの脆弱性は、セキュリティ研究者によって実証されています。LLM自体、またそのLLMを使用する製品に対するアタックサーフェス（攻撃対象領域）が拡大しつつあります。\n\n多くの製品が同じようなプロプライエタリLLMを使用しているため、あるLLMが攻撃を受けた場合、同時に多数のシステムに影響が生じる可能性があります。重要なビジネス機能においてAI搭載ツールへの依存度が高まる中、このようなリスクの集中は特に懸念されます。そのため、以下の対応が必要です。\n\n- LLMを使用しているベンダーを確認する\n- LLMを使用しているベンダーが行っているセキュリティ制御を評価する\n- LLMを用いたサービスの障害発生時にシステムが停止状態に陥る場合に備えて、計画を立てる\n- AIに依存する重要なシステムのバックアッププランを立てる\n\n> 詳細については、「[透明性を重視したAI戦略を立てる：DevOpsプロバイダーに尋ねるべき7つの質問](https://about.gitlab.com/the-source/ai/building-a-transparency-first-ai-strategy-7-questions-to-ask-your-devops/)」をお読みください。\n\n## 2. アイデンティティ管理における課題\nクラウドとAIシステムによって、日常的に使用するシステムへのアクセスの管理方法が変わりつつあります。企業のアイデンティティシステムは、以下のような課題への対応が求められます。\n\n- サービスベースの非人間アイデンティティの増加\n- マシン間の接続の増加\n- ユーザーのアクセス対象の迅速な変更対応\n- サービス間の複雑な権限チェーン\n- さまざまなレベルのデータアクセスを必要とするAIシステム\n\n従来のアイデンティティおよびアクセス管理（IAM）ツールは、このような課題に対応できるようには作られていませんでした。今後はニーズの変化に応じて迅速に適応できる、より柔軟なアイデンティティ管理ツールが必要となります。このようなダイナミックな環境をより適切に管理できるよう、[ゼロトラストの原則とジャストインタイムアクセス](https://about.gitlab.com/the-source/security/field-guide-to-threat-vectors-in-the-software-supply-chain/)の導入をぜひご検討ください。\n\nまた、セキュリティチームは人間のユーザーに適用するのと同レベルの厳密性と可監査性を備えた戦略を策定し、自律型AIの複雑化に備える必要があります。AIシステムが急速に普及するにつれて、[こうした非人間アイデンティティの追跡と保護](https://about.gitlab.com/blog/improve-ai-security-in-gitlab-with-composite-identities/)は、人間のユーザーのアクセス管理と同様に重要になります。\n\n## 3. DevOpsにおける適切なセキュリティ対策の実施\n[最近行った調査](https://about.gitlab.com/developer-survey/)では、デベロッパーの58%がアプリケーションのセキュリティに対して何らかの責任を感じていると回答しました。その一方で、セキュリティスキルがあるDevOps担当者を確保するのは依然として困難です。AI搭載ツールは、以下のような場面で便利です。\n\n- 開発の初期段階でセキュリティの脆弱性や脅威が潜んでいないかコードをチェックし、問題を未然に防ぐ\n- 安全なコーディングパターンを提案する\n- 適切なアクセス権限を自動的に設定する\n- 開発プロセス全体を通して繰り返しの作業を自動化する\n\nセキュリティチームはAI搭載ツールを使用することで効率化を図れます。また、デベロッパーはAI搭載ツールを用いれば、コードが本番環境に到達する前に、一般的なセキュリティ問題を発見できます。つまり、チームが緊急に対処しなければならない状況が減り、全体としてセキュリティが向上します。\n\nデベロッパーのワークフローに直接統合可能なツールへの投資を検討することをおすすめします。デベロッパーが安全に作業できるような環境を整えれば、安全に作業が行われる可能性が高まります。\n\n## 行動を起こす：脅威が増す状況への対策としてAIを活用する\nこれらの変化に遅れを取らないようにするには、以下のように対応する必要があります。\n\n1. 自社のシステムでAIツールが使われている場所を洗い出し、リスクを評価する\n1. クラウドとAIのニーズに合わせて、アイデンティティ管理のアプローチを見直す\n1. AIによってセキュリティ関連の作業を強化できる方法を探る\n1. 新たなAIのリスクや規制について、取締役会に情報を随時知らせる\n1. 主要ベンダーとの関係を構築して、各社のAIセキュリティ対策を把握する\n1. AIセキュリティのリスクと機会について、社内のチームを教育する\n\nAIによって新たなリスクが生じる一方で、AI搭載の新たなツールによって組織を保護できるのも事実です。新たな脅威に注意しながら、AIを活用してセキュリティ対策を強化することに注力しましょう。AIセキュリティ対策を定期的に見直すことで、新たなリスクへの対策を事前に行えます。\n\n## 今後の展望\nAI技術の進化に伴い、今後もセキュリティに関する状況は変化し続けるでしょう。新たな脅威や機会の発生に備えて、セキュリティ戦略を柔軟に適応できるように準備しておくことをおすすめします。組織全体、特に法務、開発、運用の各チームと強固な関係を築きましょう。このような協力体制を育めば、セキュリティ上の課題により効果的に対応できます。\n\nテクノロジーが変化しても、組織の資産を守り、安全な事業運営を実現するという中核的な使命は変わらないことを忘れないようにしましょう。新しいツールやアプローチは適切なタイミングで使用してください。ただし、AIの導入を急ぐあまり、セキュリティの基本を見失うことのないようご注意ください。","article","key-security-trends-for-cisos-in-2025","content:ja-jp:the-source:security:key-security-trends-for-cisos-in-2025.yml","ja-jp/the-source/security/key-security-trends-for-cisos-in-2025.yml","ja-jp/the-source/security/key-security-trends-for-cisos-in-2025",{"_path":494,"_dir":28,"_draft":6,"_partial":6,"_locale":7,"slug":495,"type":488,"category":28,"config":496,"seo":499,"content":503,"_id":527,"_type":30,"title":500,"_source":31,"_file":528,"_stem":529,"_extension":34,"description":501,"date":504,"timeToRead":505,"heroImage":502,"keyTakeaways":506,"articleBody":510,"faq":511},"/ja-jp/the-source/security/why-legacy-code-is-a-security-risk-and-how-ai-can-help","why-legacy-code-is-a-security-risk-and-how-ai-can-help",{"layout":5,"template":473,"featured":6,"author":497,"sourceCTA":498,"isHighlighted":6,"authorName":456},"joel-krooswyk","source-lp-how-a-devsecops-platform-drives-business-success-the-complete-guide",{"title":500,"description":501,"ogDescription":501,"ogImage":502,"ogTitle":500},"レガシーコードがセキュリティリスクとなる理由と、AIを活用した対策法","AIによるコードリファクタリングが、レガシーシステムをモダナイズし、セキュリティ対策を強化し、組織を未来へと導く仕組みをご紹介します。","https://res.cloudinary.com/about-gitlab-com/image/upload/v1751463670/cdynzww9p2annh3mmbhl.png",{"title":500,"description":501,"date":504,"timeToRead":505,"heroImage":502,"keyTakeaways":506,"articleBody":510,"faq":511},"2025-01-15T00:00:00.000Z","6分で読めます",[507,508,509],"レガシーコードは保守に多くのコストと時間がかかり、最新のセキュリティツールと互換性がない場合、業種を問わず組織にとって重大なリスクとなり得ます。","コードリファクタリングとは、コードをより読みやすくし、コードベースの安定性を高めるとともに、デベロッパーの生産性と作業効率を向上させるための戦略です。","AIによるコードリファクタリングは、予防的なセキュリティツールと併用することで、レガシーコードのモダナイズとセキュリティ脆弱性のリスクの軽減を同時に実現できます。","今日のテクノロジーの急速な進化は、とても興味深いものです。これはつまり、新製品や成長のチャンス、イノベーションの機会があらゆる場所に転がっているということです。しかし、このような成長と変化のスピードには、特にセキュリティの面でデメリットもあります。たった一人の悪意のある第三者によって、企業は業務の大きな混乱や評判の低下、さらには収益の損失を被る可能性があるのです。\n\n業界のリーダーたちがデジタルトランスフォーメーションの必要性や、古い、いわゆる「レガシー」システムへの依存に関する懸念について語っているのを聞いたことがあるかもしれません。レガシーコードそのものが必ずしも問題というわけではありませんが、最新のセキュリティツールと互換性がないことが多く、攻撃されやすい脆弱性につながることがあります。さらに、それが継続的なセキュリティ管理が求められるオープンソースコードと組み合わさることで、自社のコードベースが組織のデータやユーザー、そして評判を危険にさらしている可能性があります。\n\nレガシーコードは、セキュリティ面やコンプライアンス面から見てリスクがあるだけでなく、メンテナンスにも多くの時間とコストがかかります。しかも、そもそもチームのデベロッパーがそのレガシーコードを理解しているとは限りません。\n\nこのように、業界全体がレガシーコードに依存している現状は、非常に大きな問題であり、コスト面でも深刻な課題です。では、どうすればこの状況から抜け出せるのでしょうか？\n\nここからは、レガシーコードとは何かを改めて整理しながら、AIによるコードリファクタリングを活用して、どのようにコードベースのセキュリティを高めていけるかを探っていきます。AI主導のテストやセキュリティ機能と組み合わせることで、コードリファクタリングはコードベースを未来へと導き、チーム全体が過去ではなく未来を見据えて動けるようになります。\n\n## レガシーコードとは\n\n広い意味では、レガシーコードとは「以前のデベロッパーたちから引き継がれ、現在も使われ続けているコードベース」のことを指します。コードそのものは一応動作しているかもしれませんが、長年にわたって複数のデベロッパーが手を加えてきた可能性が高く、今のチームにとっては、どの変更が有用でどれが不要なのかを見極めるのが難しい場合があります。さらに、そのコードが古いフレームワークで書かれていたり、今のチーム内に使いこなせる人がいないような、古すぎる、もしくはすでに廃れたプログラミング言語で書かれていることもあります。\n\nそれではなぜ企業はレガシーコードに依存し続けているのか、不思議に思えるかもしれません。理由はさまざまですが、こう考えてみてください。あなたは古い家に住んでいるとします。その家は住み慣れていて落ち着くけれど、水回りは不安定で、電気配線も古く、ひとつ直すたびに別の場所が壊れるような状態です。本当はリフォームしたいけれど、それには業者の手配やいろいろな許可、数か月間の騒音と混乱、そして予算オーバーのリスクがつきものです。\n\nだから、とりあえず壊れたところだけを応急処置で修理しながら、なんとか日々を過ごしている。完璧ではないけれど、とりあえず動いている。レガシーコードも同じようなものです。たとえ古くて非効率的であっても、慣れ親しんだ「機能する」ソリューションです。一から書き直すのは大変な作業で、コストがかかる上にリスクもあります。それに、新機能の開発や緊急のバグ対応に追われている中、大規模な改修を行えるような余裕はありません。\n\nそのため、多くの企業がコードを更新せずに、レガシーコードを使い続けることを選択しています。その方が短期的に見て混乱が少ないからです。コードを更新するには、多くのコーディング作業やテスト作業が必要になります。しかも、古いコードの言語や仕組みを理解してもらうために、トレーニングが必要になる場合もあります。そういった内容が文書化されていない場合は、さらに対応が難しくなってしまうでしょう。\n\n## レガシーコードの問題点\n\n他の多くの企業と同じように、レガシーコードを使い続けることを選択した場合、さまざまな問題に直面する可能性があります。 というのも、そのコードは新しいテクノロジーに対応して設計されていないため、たとえばAIツールのような最新ソフトウェアと連携させることができず、製品の性能やスケーラビリティに悪影響を与えるおそれがあります。結果的に、それが会社の成長を阻み、顧客体験の質を損なうことにもつながります。\n\nレガシーコードの一番の懸念点は、それが5年前のものであれ50年前のものであれ、対応できるセキュリティスキャナーが存在しないかもしれない点です。つまり、更新中に何か問題があっても、それに気づけないかもしれないということです。さらに、更新を担当するデベロッパーがその言語や構造を十分に理解していない場合、意図せず新たな脆弱性を作り出してしまうリスクすらあります。最後に、多くの古いアプリケーションはCやC++で書かれています。これらはメモリ安全性が低い言語であり、実際、[報告されている脆弱性のうち約70%](https://www.cisa.gov/news-events/news/urgent-need-memory-safety-software-products)が、こうした言語によるものです。\n\nレガシーコードに対してセキュリティを確保する手段が限られていること、安全に更新する方法が少ないこと、結果として脆弱性が発生しやすくなること、これら3つの課題は、どんな業界の企業にとっても「見過ごすべきではないサイン」だと言えるでしょう。\n\n米国の[サイバーセキュリティ・インフラセキュリティ庁](https://www.cisa.gov/stopransomware/bad-practices)は、重要なインフラを危険にさらす可能性のある不適切な慣行の一覧を作成するにあたって、次のように述べています。\n\n「重要なインフラや国家の重要機能を支える目的で、サポートが対象外または終了しているソフトウェアを使い続けることは非常に危険であり、国家の安全、経済の安全、そして公衆衛生や安全に対するリスクを著しく高める。このような危険な行為は、特にインターネット経由でアクセス可能なテクノロジーにおいて、重大な問題となる。」\n\n国家の安全保障や公衆衛生に直接関わる業務ではなかったとしても、この警告は無関係ではありません。古いコードを使い続けることは、ベストプラクティスではなく、明らかな「悪い慣習」なのです。\n\n## ソリューション：コードリファクタリング\n\nソフトウェア開発者であり著者でもある[Martin Fowler](https://www.martinfowler.com/)氏によれば、\n「リファクタリングとは、既存のコードベースの設計を改善するための統制された手法であり、コードの外部的な動作を変えることなく内部構造を再構築する、規律ある技術」とされています。\n\nつまり、コードリファクタリングを行うことで、レガシーコードの元々の機能を損なうことなく、セキュリティを強化し、現代的なコードに生まれ変わらせることができるのです。\n\nリファクタリングにはさまざまな手法があります。たとえば、不要な要素を取り除いてコードをシンプルにする「インラインリファクタリング」や、重複コードを削除する「抽象化によるリファクタリング」などが代表例です。ただし、リファクタリングを効果的に行うには時間と高い開発スキルが求められます。さらに、たとえ他のタスクで忙しかったとしても、多くのテストが必要になります。\n\nそのため、コードリファクタリングは確かに、レガシーコードを未来に対応させ、読みやすく、効率的で、安全な状態に変える手段ではありますが、特に大規模なシステムにおいては、それ自体がひとつの大きなプロジェクトとなります。\n\n## AIができること\n\n今やAIは、ソフトウェア開発のライフサイクル全体を加速させる存在になっています。そしてもちろん、[AIがチームのリファクタリング作業を加速するためにできること](https://about.gitlab.com/blog/refactor-code-into-modern-languages-with-ai-powered-gitlab-duo/)もたくさんあります。たとえば、[GitLab Duo](https://about.gitlab.com/blog/gitlab-duo-chat-now-generally-available/)のようなツールは、既存のコードの説明を補助したり、新しいコードの生成を助けたりすることで、レガシーコードのモダナイズにおける大きなハードルを乗り越える手助けをします。また、デベロッパーがそのコードの言語に詳しくなくても、AIが足りない部分を補います。テストやセキュリティの面でも、AIは[根本的な原因を分析したり、テストケースを自動生成したり](https://about.gitlab.com/blog/developing-gitlab-duo-blending-ai-and-root-cause-analysis-to-fix-ci-cd/)、[脆弱性の修正をサポートしたり](https://about.gitlab.com/the-source/ai/understand-and-resolve-vulnerabilities-with-ai-powered-gitlab-duo/)できます。AIをツールキットに取り入れることで、コードリファクタリングはようやく現実的に取り組めるプロジェクトになり、長らく後回しになっていた作業も、ようやく完了できるかもしれません。\n\n[GitLabの調査](https://about.gitlab.com/developer-survey/2024/ai/)では、ソフトウェア開発ライフサイクル全体でAIを活用している人のうち、34%がレガシーコードのモダナイズにもAIを使っていることがわかっています。金融サービス業界では46%と、さらに高い結果となっています。\n\nもちろん、AIを使い始めるときにはいくつか気をつけるべきこともあります。\n\nまず、AIは完璧ではありません。テストやガードレール、そして人間の確認が必要です。時間のかかる手作業の一部を自動化して効率化することはできますが、すべてをAIに任せることはできません。特にセキュリティに関しては、AIだけに頼らず、他のツールと組み合わせて対策を行うことが重要です。その一環として、[動的なソフトウェア部品表（SBOM）](https://about.gitlab.com/blog/the-ultimate-guide-to-sboms/)を作成することをおすすめします。これにより、レガシーコードを含むソフトウェア全体におけるライセンスやセキュリティリスクを可視化できます。\n\n## コードベースを未来へ導く\n\nレガシーコードの保守からモダナイズへと踏み出すのは、大きなハードルに感じられるかもしれません。しかし、組織とユーザーデータの安全性を維持するためには最善の道です。適切なツールと手法を使えば、チームにとってはより効率的な、企業全体にとってもコスト効率の高い選択となり得ます。\n\n古い言語や古いフレームワークに時間と労力を取られ、ストレスや遅延、ボトルネックに悩まされる必要はもうありません。AIにリファクタリングという骨の折れる作業を任せることで、コードの安全性や正しい動作を保ち、デベロッパーは本来の仕事である、「新しい製品や機能を開発し、顧客に価値を届けること」に集中できるようになります。",[512,515,518,521,524],{"header":513,"content":514},"なぜレガシーコードはセキュリティリスクとなるのですか？","レガシーコードは、古いフレームワークやプログラミング言語を使用していることが多く、現代のセキュリティ対策が施されていません。そのため、最新のセキュリティツールとの互換性がなく、脆弱性のリスクが高まります。さらにサポート対象外、またはサポートが終了したソフトウェアは、攻撃者に悪用されやすく、データの整合性や安全性を損なうおそれがあります。",{"header":516,"content":517},"AIによるコードリファクタリングで、レガシーコードのセキュリティはどう向上しますか？","AIを活用したコードリファクタリングは、以下のような方法でレガシーシステムの安全性を高めます。\n - 古い、または脆弱なコードパターンを検出し、安全な書き方を提案\n - コードの動作を変えずに、可読性や保守性を向上できるよう自動で改善\n - セキュリティテストを生成し、脆弱性の根本原因を分析して、迅速な修正を支援\nこのアプローチにより、手作業の負担を減らし、より安全かつ効率的でスケーラブルなコードベースへの移行を加速させます。",{"header":519,"content":520},"AIなしでレガシーコードを保守する際の課題は？","以下のような課題があります。\n - __セキュリティ対応の欠如__：レガシーコードには対応するセキュリティスキャナーがないことがある\n - __複雑で古い構造__：デベロッパーが古いフレームワークやコードの知識を持っていない場合、保守や更新が難しい\n - __保守コストが高い__：保守にかかる時間とコストが大きく、イノベーションの妨げになる\n - __セキュリティリスク__：脆弱性や攻撃の対象になりやすく、情報漏えいのリスクが高まる",{"header":522,"content":523},"GitLabは、AIによるリファクタリングとレガシーコードのモダナイズにどう対応していますか？","GitLabはGitLab Duoを通して、レガシーコードの説明を提供し、デベロッパーがレガシーコードを理解できるように支援します。また、新しいコードの生成も行います。さらに、以下の機能も提供しています。\n - レガシーコードの脆弱性を検出する、AI主導のセキュリティスキャン\n - コードのセキュリティを強化する、自動テストと修正\n - レガシーコンポーネントを含む、全体のライセンスとセキュリティリスクを可視化する、動的ソフトウェア部品表（SBOM）",{"header":525,"content":526},"AIを使ってレガシーコードをリファクタリングするメリットは何ですか？","以下のようなメリットがあります。\n - __セキュリティの強化__：AIが脆弱性を特定・軽減し、セキュリティ体制を向上\n - __生産性の向上__：繰り返しの作業を自動化することで、デベロッパーがより価値ある仕事に集中できる\n - __コスト削減__：最新のフレームワークやツールに対応させることで、保守コストを抑えられる\n - __スケーラブルなモダナイズ__：複雑なコードベースでも一貫したリファクタリングが可能になり、組織のソフトウェア資産を将来に向けて強化できる","content:ja-jp:the-source:security:why-legacy-code-is-a-security-risk-and-how-ai-can-help.yml","ja-jp/the-source/security/why-legacy-code-is-a-security-risk-and-how-ai-can-help.yml","ja-jp/the-source/security/why-legacy-code-is-a-security-risk-and-how-ai-can-help",{"_path":531,"_dir":28,"_draft":6,"_partial":6,"_locale":7,"config":532,"seo":533,"content":537,"type":488,"category":28,"slug":544,"_id":545,"_type":30,"title":534,"_source":31,"_file":546,"_stem":547,"_extension":34,"date":538,"description":535,"timeToRead":482,"heroImage":536,"keyTakeaways":539,"articleBody":543},"/ja-jp/the-source/security/security-its-more-than-culture-addressing-the-root-cause-of-common-security",{"layout":5,"template":473,"author":474,"featured":331,"sourceCTA":26,"isHighlighted":6,"authorName":457},{"title":534,"description":535,"ogImage":536}," 一般的なセキュリティに関する不満の根本原因に対処する","セキュリティの不満は文化的な問題として捉えられることがありますが、リーダーは技術スタックの複雑さや脆弱性管理などの問題にも焦点を当てる必要があります。","https://res.cloudinary.com/about-gitlab-com/image/upload/v1751464489/mragusmxl1wz8ozdaoml.png",{"title":534,"date":538,"description":535,"timeToRead":482,"heroImage":536,"keyTakeaways":539,"articleBody":543},"2024-10-29",[540,541,542],"脆弱性管理において認証スキャンに移行すると、有効性は高まるものの、エンジニアリングの労力が重要でないタスクに振り分けられ、セキュリティチームとエンジニアリングチームの間に分断が生じるおそれがあります。","ミニマリストアプローチでソフトウェア開発を行うと、依存関係が最小限に抑えられスキャナーのノイズが減るだけでなく、デベロッパーの負担が軽減されるため、ソフトウェアセキュリティが向上することが期待できます。","再現可能なユースケースに基づいてテスト・保証された設計パターンを使用する「舗装道路」アプローチを採用することで、エンジニアリングチームの負担を軽減しながらセキュリティを高められるようになります。","GitLabにより今年実施された[DevSecOpsの専門家を対象とした年次調査](https://about.gitlab.com/ja-jp/developer-survey/)では、エンジニアリングチームとセキュリティチーム間の連携強化を妨げている可能性のある、組織文化に関する問題がいくつか明らかになりました。セキュリティ部門の回答者の過半数（58%）が開発チームに脆弱性の修正を優先させることに苦労していると回答しているほか、52%が形式的な作業によって脆弱性を迅速に修正する取り組みが遅れることが多いと回答しています。さらに、セキュリティ部門の回答者は、セキュリティの調査結果を理解することの難しさ、過度の誤検出、ソフトウェア開発プロセスにおいてテストが行われるタイミングが遅すぎるなど、自分たちの仕事に関連する具体的な不満についてもいくつか指摘しています。\n\n[DevSecOps](/topics/devsecops/)はエンジニアリングチームとセキュリティチーム間の連携の強化を保証するものですが、不満や食い違いがチーム間の溝として存在することも確かです。このような課題は、組織のセキュリティに対する考え方やチームの連携方法、セキュリティに割く時間の配分といった、より大きな問題の兆しとして発生しています。\n\n## 脆弱性の終わらない悪循環からの脱出\n\n脆弱性スキャンは潜在的な脆弱性をすべて表面化させますが、ソフトウェアパッケージに共通脆弱性識別子（CVE）があるからといって、それが攻撃者によってアクセス可能または悪用可能であるとは限りません。認証済み脆弱性スキャンが一般的になって以来、発見される脆弱性が数年間で飛躍的に増加しましたが、同時に、そうした脆弱性に対しトリアージとフィルタリングを行うセキュリティチームとデベロッパーの負担も増えました。\n\n認証スキャンへの移行により多くの点でセキュリティプログラムの有効性が向上したことは事実ですが、結果として優先順位の低い問題の修正を迫られ、終わりのない悪循環にデベロッパーが陥ることにもなりました。本質的な修正につながらないパッチに労力を費やすと、脆弱性や悪用可能な欠陥にパッチを適用するという本来優先すべきタスクが見過ごされてしまいます。これが、現在発生しているセキュリティチームとエンジニアリングチームの分断の主な要因です。\n\nそれでは、組織はどのようにしてこれらの問題の根本原因に対処し、エンジニアリングチームとセキュリティチーム間のより良い連携を促進できるのでしょうか？ここでは、一般的なセキュリティに関する不満を根本的に防ぐための3つの方法をご紹介します。\n\n### 1. ノイズを排除して精度の高いシグナルに集中\n\n過剰な誤検出は、当社の調査でセキュリティ部門の回答者が挙げた不満の中で2番目に多いものでした。誤検出は明らかに問題ですが、多くの場合、根本的な原因は脆弱性の管理にあります。\n\nセキュリティの検出結果は高精度である必要がありますが、組織において多くの誤検出が発生する場合、そうした高い精度を実現する対策を講じていない可能性があります。組織は、セキュリティ対策の焦点を重要なものに絞り込む必要があります。そのため、従来の静的アプリケーションセキュリティテスト（SAST）ソリューションでは不十分な可能性があります。SASTは強力なツールですが、結果が管理できない場合や適切なコンテキストがない場合は、その価値の大部分を発揮できません。最も効果的にSASTを活用するには、[他のセキュリティや開発ツールとシームレスに連携させて、デベロッパーがアクセスできる状態](https://about.gitlab.com/blog/oxeye-joins-gitlab-to-advance-application-security-capabilities/)である必要があります。\n\nもう1つの問題として、ほとんどのスキャンツールでは、脆弱性の発見を理解するためのコンテキストの幅が非常に狭いことが挙げられます。これは、[セキュリティの脆弱性を説明するAI搭載機能](https://about.gitlab.com/ja-jp/the-source/ai/understand-and-resolve-vulnerabilities-with-ai-powered-gitlab-duo/)など、AIが役に立つ分野の1つです。\n\n### 2. 技術スタックを最小限に抑え、アタックサーフェス（攻撃対象領域）を最小化する\n\n重要な事項に集中すべきなのはセキュリティテストだけに当てはまることではなく、組織がソフトウェアを構築する方法に対しても同様のアプローチを行う必要があります。\n\nAIはソフトウェア開発プロセスの簡素化に役立つはずのものですが、[当社の調査によると、多くの組織ではまだまだ道半ばであることが示唆されています](https://about.gitlab.com/the-source/platform/3-surprising-findings-from-our-2024-global-devsecops-survey/)。実際、AIを使用している回答者は、AIを使用していない回答者よりもツールチェーンを統合したいと考える傾向が非常に高く、異なるAIモデルを実行するさまざまなポイントソリューションの急増により、複雑さが減るのではなく、むしろ増大する可能性があることが示されています。\n\n増大し続ける技術スタックの複雑さがセキュリティに関する不満の大きな原因となっています。大規模で多面的なソフトウェアシステムを構築する場合、ある程度複雑になることは避けられません。ただし、メンテナンスが困難なコードや冗長な依存関係など、非最適な設計を決定することにより生じる複雑さを回避する措置は講じる必要があります。不要な複雑さがある状態では、アタックサーフェス（攻撃対象領域）が拡大され、選別し、優先順位を付け、対処しなければならないセキュリティスキャン結果が増加してしまいます。\n\n組織はソフトウェアの最小化という観点から開発を進める必要があるのです。これはつまり、どのツールを採用するか、また何をコードベースに組み込むかを決定する上で意図的に取り組むべきということです。そうすれば依存関係を最小限に抑え、ソフトウェアサプライチェーンのセキュリティを向上させ、スキャナーのノイズを減らし、重要でない問題の解決にかかるデベロッパーの負担を軽減できます。\n\n### 3. 「舗装された道路」アプローチをプロセスに組み込む\n\nソフトウェア開発ライフサイクルにおいて、遅すぎるタイミングでセキュリティテストが行われることも、アンケート回答者により明らかになった最大の不満の1つでした。脆弱性の検出の遅れにより出荷が遅れた場合、チームは不満を感じるかもしれませんが、多くの場合、その脆弱性をもっと早く検出することはそもそも不可能だった可能性があります。それでも、簡単に配備でき、再利用可能なセキュリティコンポーネントを運用して不確定要素や潜在的な脆弱性を制限することは可能です。\n\nチームは[再現可能なユースケースに基づいてテスト済みで信頼性の高い設計パターン](https://about.gitlab.com/the-source/platform/how-devops-and-platform-engineering-turbocharge-efficiency/)を採用することで、開発後期に問題が検出されることのないようにできます。これは「舗装された道路」アプローチと呼ばれます。「舗装された道路」とは、チームが安全なアプリケーションをより効率的に構築するために従うべき厳選されたツール、プロセス、コンポーネントのセットを含む推奨されるプロセスです。たとえば、GitOpsを使用して、すべてのワークロードに大規模にデプロイされる、適切に設計・テストされたInfrastructure as Code（IaC）をバージョン管理してデプロイできます。\n\n「舗装された道路」アプローチを採用することで、ある程度の柔軟性が失われる可能性はありますが、最終的にはエンジニアリングチームの運用負担や手戻りが軽減され、セキュリティが高まります。これはセキュリティチームと開発チームが協力して取り組む必要があります。セキュリティチームは「舗装された道路」の設計を支援できますが、コードベースの一部としてそれらを運用、メンテナンスするにはエンジニアリングチームの力が必要となります。\n\n## セキュリティはドメインであり、チームではない{class=\"no-anchor\"}\n\nセキュリティはすでにエンジニアリングチームも実践するものとして移行されていることが判明しており、今後も両者の境界が曖昧になると予想されます。しかし、AIの急速な導入とそれに伴うソフトウェア開発の加速（調査回答者の66%が昨年の2倍またはそれ以上の速度でソフトウェアをリリースしていると回答）により、セキュリティ上の利益を最大に得られるように最適化されたシステムとフレームワークを確立することが、組織において重要になります。したがって、開発チームとセキュリティチームの間に文化的な断絶があることが問題のすべてではないのです。コラボレーションの文化を育むことは不可欠ですが、セキュリティチームとエンジニアリングチームは、既存のコードベースの最適化や、組織全体の技術チームがシームレスに採用できるスケーラブルなエンジニアリング中心のソリューションの構築など、ソフトウェア開発の基本的な側面を協力しながら再考する必要もあります。","security-its-more-than-culture-addressing-the-root-cause-of-common-security","content:ja-jp:the-source:security:security-its-more-than-culture-addressing-the-root-cause-of-common-security.yml","ja-jp/the-source/security/security-its-more-than-culture-addressing-the-root-cause-of-common-security.yml","ja-jp/the-source/security/security-its-more-than-culture-addressing-the-root-cause-of-common-security",{"_path":549,"_dir":28,"_draft":6,"_partial":6,"_locale":7,"config":550,"seo":551,"content":555,"type":488,"category":28,"slug":561,"_id":562,"_type":30,"title":552,"_source":31,"_file":563,"_stem":564,"_extension":34,"date":538,"description":553,"timeToRead":505,"heroImage":554,"keyTakeaways":556,"articleBody":560},"/ja-jp/the-source/security/strengthen-your-cybersecurity-strategy-with-secure-by-design",{"layout":5,"template":473,"author":497,"featured":6,"sourceCTA":24,"isHighlighted":6,"authorName":456},{"title":552,"description":553,"ogImage":554},"セキュア・バイ・デザインによるサイバーセキュリティ戦略の強化","セキュア・バイ・デザインとその関連する概念ついての理解を深め、ソフトウェア開発プロセスにセキュリティを組み込むために今すぐ実行できる手順を学びましょう。","https://res.cloudinary.com/about-gitlab-com/image/upload/v1751463932/pnfdgovoaq5qd1yprxuc.png",{"title":552,"date":538,"description":553,"timeToRead":505,"heroImage":554,"keyTakeaways":556,"articleBody":560},[557,558,559],"セキュア・バイ・デザイン、セキュア・バイ・デフォルト、セキュア・バイ・デマンドは、テクノロジー製品のメーカーが製品の設計・開発のあらゆる側面にセキュリティを組み込むことを奨励することで、脆弱性やソフトウェアサプライチェーン攻撃を未然に防ぐことを目的としています。","包括的なDevSecOpsアプローチを採用し、ソフトウェア部品表（SBOM）を作成して維持することは、セキュア・バイ・デザインを実現するための重要なステップです。","ソフトウェア開発ライフサイクルにAIを組み込むことで、開発プロセスを迅速化し、セキュリティを強化し、脆弱性の修正を支援することもできます。","サイバーセキュリティに対する組織のアプローチは、攻撃対象が拡大し、潜在的な脅威についてより多くのことを学ぶにつれて、常に進化することが求められます。セキュア・バイ・デザインのアプローチでは、ソフトウェアのサプライチェーンのどの時点からでも脅威が侵入する可能性があることを理解し、ソフトウェア開発の設計、コーディング、テスト、デプロイの各段階にセキュリティを統合します。セキュア・バイ・デザインは、米国連邦政府機関（およびそのソフトウェアに関与するすべての組織）の標準として、ソフトウェア開発ライフサイクルにセキュリティを組み込むための代表的な基準となっています。\n\n時間の経過とともに、セキュアバイ・デザインは、セキュア・バイ・デフォルトやセキュア・バイ・デマンドなどの関連する概念に分岐しました。これらの概念は、セキュア・バイ・デザインのアプローチを特定の項目に特化させたことで生まれました。\n\n- [セキュア・バイ・デフォルト](#what-is-secure-by-default)は、すべてのソフトウェア製品が最初から安全であることを保証することに焦点を当てています。\n- [セキュア・バイ・デマンド](#what-is-secure-by-demand)は、セキュア・バイ・デザインの原則を調達プロセスに拡張したものです。\n\nここでは、セキュア・バイ・デザインと関連するアプローチについて詳しく見ていきます。また、悪用可能な脆弱性やソフトウェアのサプライチェーン攻撃を防ぐために、組織がどのように戦略を適応させることができるかに関する[ステップバイステップガイド](#building-a-secure-by-design-cybersecurity-strategy)もご紹介します。\n\n## セキュア・バイ・デザインとは？\n米国サイバーセキュリティ・インフラセキュリティ庁（CISA）は2023年4月、次に示す3つの重要なソフトウェア・セキュリティ原則に焦点を当てた[Secure by Design Initiative（セキュア・バイ・デザイン・イニシアティブ）](https://www.cisa.gov/securebydesign)を導入しました。\n\n1. 顧客のセキュリティに関する成果に対して責任を負う\n2. 抜本的な透明性を確保し説明責任を果たす\n4. これらの目標を達成するための組織構造とリーダーシップを構築する\n\nセキュア・バイ・デザインでは、セキュリティの原則とプロトコルをソフトウエア開発プロセスの各段階に統合します。つまり、セキュリティ対策は、ソフトウェア開発の設計、コーディング、テスト、デプロイの各フェーズに組み込まれるものであり、後付けで追加されるものではないという考え方が採用されています。\n\nセキュア・バイ・デザインの目標は、ソフトウェアの安全な基盤を最初から構築し、脆弱性と潜在的なアタックサーフェス（攻撃対象領域）を減らすことです。\n\n### セキュア・バイ・デフォルトとは？\n\nセキュア・バイ・デフォルトは、セキュア・バイ・デザインから派生したもので、あらゆるソフトウェアやハードウェアが、ユーザーによる再設定を必要とすることなく、最もセキュアな構成に設定されることに重点を置いた概念です。セキュア・バイ・デフォルトの製品は、悪意のある者による不正アクセスから企業を保護するために必要な最も重要なセキュリティ制御を自動的に有効にします。つまり、ユーザーが製品を一般的な悪用手法から保護するために追加の手順を踏む必要はありません。\n\n セキュア・バイ・デフォルトとして、デフォルトのパスワードの除去、多要素認証とシングルサインオンの義務付けなどがあり、許可されたユーザーだけがリソースにアクセスできるようにします。このアプローチには、自動アップデート、自動パッチ適用、すべてのユーザーアカウントとデバイスを対象にした安全な構成も含まれます。\n\n### セキュア・バイ・デマンドとは？\n\nセキュア・バイ・デマンドは、セキュア・バイ・デザインの原則を予算編成や調達契約と組み合わせることで、ベンダーだけでなく請負業者にもセキュア・バイ・デザインを義務付けるものです。ソフトウェア購入者、バイヤー、調達担当者が、サイバーセキュリティに対する潜在的なベンダーのアプローチをよりよく理解するためのガイドとして[CISA's Secure by Demand Guide](https://www.cisa.gov/resources-tools/resources/secure-demand-guide)があり、一連の質問とリソースを提供しています。これには、ベンダーの認証方法、ソフトウェアのサプライチェーンのセキュリティ、脆弱性の開示と報告に関する質問も含まれます。\n\nベンダーが自社の製品やサービスにおいてセキュア・バイ・デザインの原則やプロトコルを遵守することを義務付けることで、組織はソフトウェアのサプライチェーンに潜在的な脆弱性が入り込むのを防ぐことができます。また、セキュア・バイ・デマンドのアプローチは、ベンダーが自社のサイバーセキュリティ態勢を継続的に改善する動機付けにもなります。\n\n## セキュア・バイ・デザインのサイバーセキュリティ戦略の構築\n組織がセキュア・バイ・デザインの実現を優先する場合、効果的なDevSecOpsプラクティスの活用、ソフトウェア部品表（SBOM）の維持、ソフトウェア開発ライフサイクルのあらゆる時点から侵入する脅威を防御するためのAIの組み込みといったステップを踏む必要があります。\n\n### DevSecOpsプラクティスの採用\nセキュア・バイ・デザインの取り組みをサポートする最初のステップは、包括的なDevSecOpsアプローチを使用してソフトウェアを開発、構築、セキュリティ保護、およびデプロイするという、セキュアなソフトウェア開発プロセスの実現です。\n\n現在、開発者の多くは複雑なツールセットを利用して新しいプログラムを作成しています。[GitLabによる最近の調査](https://about.gitlab.com/ja-jp/developer-survey/)によると、回答者の62%が開発に6つ以上のツールを使用しており、20%は11つ以上のツールを使用しています。これは非効率であり、潜在的なセキュリティの脆弱性をもたらしリスクを増大させる恐れがあります。\n\nデベロッパーは、DevSecOpsワークフローに必要なすべてのツールに、単一の使いやすいインターフェイスでアクセスできる必要があります。[DevSecOpsプラットフォーム](https://about.gitlab.com/ja-jp/platform/)のようなエンドツーエンドのソリューションがあれば、デベロッパーの負担を増やすことなく、セキュア・バイ・デザインのアプローチを組織に導入することができます。\n\n### SBOMの作成と維持\n透明性の確保もセキュア・バイ・デザインの重要な要素です。特に複数のソースからのコンポーネントが含まれている場合、組織はソフトウェアの中身を理解する必要があります。\n\n[SBOMはこの透明性の実現に不可欠なツールです](https://about.gitlab.com/blog/the-ultimate-guide-to-sboms/)。バージョン、ライセンス、依存関係の詳細を含むソフトウェアコンポーネントの詳細なインベントリを提供してくれるため、潜在的な脆弱性や悪意のあるコードの認識を深めることができます。\n\nこのインベントリを維持することで、組織は、オープンソースのリポジトリやライセンスを取得したサードパーティのコンポーネントから要素を取り出したときに発生する可能性のある潜在的な脆弱性やリスクを十分に理解することができます。DevSecOpsプラットフォームは、[SBOMの自動生成と更新](https://about.gitlab.com/ja-jp/solutions/application-security-testing/)、既存のワークフローへの統合、関連する脆弱性へのリンク指定に役立ちます。\n\n現在、多くの組織がSBOMを使用していますが、その効果を十分に発揮させるためには、SBOMを動的なもとし、セキュリティのスキャニングツールと連携させ、継続的に更新する必要があります。スキャンツールやダッシュボードと統合することで、SBOMはアプリケーションに関連するリスクを特定する方法を提供できます。必要でない場合でも、SBOMはコードが安全であることを検証することで、セキュリティ規制へのコンプライアンスをサポートできます。\n\n### ソフトウェア開発におけるAIの活用\n組織がAIの活用方法を模索する中で、ソフトウェア開発ワークフローは、開発プロセスを加速し、セキュリティを強化する可能性を秘めたテクノロジーへの貴重な入口となります。\n\nあらゆる業界の組織が、すでにこれらのアプリケーションの検討を始めています。[GitLabの調査](https://about.gitlab.com/ja-jp/developer-survey/2024/ai/)では、回答者の39%がソフトウェア開発ライフサイクルでAIをすでに使用していると回答しています。\n\nソフトウェア開発ライフサイクル全体にAIを適用することで、開発ワークフローにおけるAI主導のサイロ化やバックログを回避できます。AIは次のような重要な機能を果たします。\n\n* [メモリーセーフ言語](https://about.gitlab.com/blog/memory-safe-vs-unsafe/)へのコード説明とレガシーコードのリファクタリング\n* [DevSecOpsパイプラインの根本原因分析](https://about.gitlab.com/blog/developing-gitlab-duo-blending-ai-and-root-cause-analysis-to-fix-ci-cd/)、テスト中の複雑な問題を迅速に解決\n\n* 既知の脆弱性の調整を支援し、より徹底的な修復をサポートする[脆弱性の修正](https://about.gitlab.com/ja-jp/the-source/ai/understand-and-resolve-vulnerabilities-with-ai-powered-gitlab-duo/)\n\nリーダーがAIをワークフローに組み込む際、プライバシーとデータセキュリティを優先することが極めて重要です。セキュア・バイ・デザインのアプローチを採用する上で不可欠なのは、[機密データを保護し、知的財産権を保護するAI戦略](https://about.gitlab.com/ja-jp/the-source/ai/building-a-transparency-first-ai-strategy-7-questions-to-ask-your-devops/)を策定することです。\n\n### 次なる課題\nセキュア・バイ・デザインは、近々、より信頼性の高いソフトウェアエコシステムを構築する上で、デフォルトのアプローチとなる可能性があります。[米国政府](https://about.gitlab.com/the-source/security/national-cybersecurity-strategy-a-wake-up-call-for-software-developers/)は現在、ソフトウェアデベロッパーと協力し、民間部門がセキュア・バイ・デザインのソフトウェアを製造・リリースすることを法的に奨励するフレームワークの作成に取り組んでおり、企業が安全なテクノロジーや先進的な取り組みにさらに投資するよう働きかけています。\n\nソフトウェア開発に最初からセキュリティが組み込まれること、効果的なSBOMを通じて透明性が確保されること、AIによって開発プロセスが強化されること。こうしたアプローチがソフトウェア開発ライフサイクルに関わるすべての人の成功につながるでしょう。\n","strengthen-your-cybersecurity-strategy-with-secure-by-design","content:ja-jp:the-source:security:strengthen-your-cybersecurity-strategy-with-secure-by-design.yml","ja-jp/the-source/security/strengthen-your-cybersecurity-strategy-with-secure-by-design.yml","ja-jp/the-source/security/strengthen-your-cybersecurity-strategy-with-secure-by-design",{"_path":566,"_dir":28,"_draft":6,"_partial":6,"_locale":7,"config":567,"seo":569,"content":573,"type":488,"category":28,"slug":580,"_id":581,"_type":30,"title":570,"_source":31,"_file":582,"_stem":583,"_extension":34,"date":574,"description":571,"timeToRead":482,"heroImage":572,"keyTakeaways":575,"articleBody":579},"/ja-jp/the-source/security/how-gitlab-can-help-you-prepare-for-your-soc-2-exam",{"layout":5,"template":473,"author":568,"featured":6,"isHighlighted":6,"authorName":451},"gitlab",{"title":570,"description":571,"ogImage":572},"SOC 2審査の準備に役立つGitLabの機能","SOC 2フレームワーク審査の準備に役立つDevSecOpsプラットフォームの機能をご紹介します。","https://res.cloudinary.com/about-gitlab-com/image/upload/v1751463759/yk7f6poowtw5y5d5oflv.png",{"title":570,"date":574,"description":571,"timeToRead":482,"heroImage":572,"keyTakeaways":575,"articleBody":579},"2024-07-18",[576,577,578],"自動テストとコードカバレッジレポートは、SOC 2の要件である「可用性」と「処理の完全性」を強化します。","GitLabのセキュリティスキャンとロールベースの制御により、SOC 2フレームワークへの準拠が保証されるとともに、脆弱性と不正アクセスからデータを保護できます。","GitLabのブラウザおよびロードパフォーマンステスト用テンプレートを使用すると、開発の各ステージでアプリケーションのパフォーマンスとセキュリティを検証できるため、SOC 2審査の準備が楽になります。","DevSecOpsプラットフォームとしてGitLabを使用することでSOC 2の審査プロセスが楽になったという声が、お客様から寄せられています。このブログ記事では、SOC 2フレームワークと、SOC 2審査に役立つGitLabの機能についてご説明します。\n\n## SOC 2の紹介\n[SOC 2](https://us.aicpa.org/interestareas/frc/assuranceadvisoryservices/serviceorganization-smanagement)は「System and Organization Controls（システムおよび組織管理）2」の略称であり、組織が顧客データをどのように管理すべきかを定めた自主的なコンプライアンス基準です。企業はSOC 2審査レポートによって、ビジネス顧客に対して自社が提供するソフトウェアの信頼性を証明できます。\n\nSOC 2は国際公認職業会計士協会（AICPA）によって開発されたもので、以下の5つのトラストサービス基準（TSC）に焦点を当てています。\n- セキュリティ：顧客データを脆弱性や不正利用から保護すること\n- 可用性：可用性に関するサービスレベル契約を満たすために、負荷が高い状況でもシステムの耐障害性と性能を確保すること\n- 処理の完全性：システムが脆弱性やエラー、バグなしに設計どおりに機能すること\n- 機密性：アプリケーションのソースコード、ユーザー名やパスワード、クレジットカード情報などの機密情報を保護し、業務上アクセスが必要な人のみがアクセスできるようにすること\n- プライバシー：機密性の高い個人を特定できる情報を権限のないユーザーから守ること\n\nすべての審査で必須となる基準は、セキュリティのみです。その他の基準は、提供されるサービスにおいて重要であるとみなされる場合に、審査に追加される可能性があります。\n\n## セキュリティのTSC\nセキュリティ基準は、サーバーや物理システムのセキュリティだけでなく、アプリケーションのセキュリティにも関係します。ソフトウェアに脆弱性があると、攻撃者にアプリケーションに侵入され、顧客のデータが危険にさらされてしまう恐れがあります。GitLabは、こうしたリスクに対処するのに役立ちます。\n\nGitLabでは、企業が開発するアプリケーションに潜む脆弱性を特定するために、次のようなセキュリティスキャンを使用できます。\n- [静的アプリケーションセキュリティスキャン（SAST）](https://docs.gitlab.com/ee/user/application_security/sast/)：ソースコードをスキャンし、潜在的なバグや脆弱性（意図しないコード実行の原因となる安全でないコードなど）を特定します\n- [依存関係スキャン](https://docs.gitlab.com/ee/user/application_security/dependency_scanning/)：アプリケーションと依存関係にあるソフトウェアに潜むセキュリティの脆弱性を検出します\n- [コンテナスキャン](https://docs.gitlab.com/ee/user/application_security/container_scanning/)：コンテナ化されたアプリケーションのオペレーティングシステムの依存関係に潜むセキュリティの脆弱性を検出します\n- [動的アプリケーションセキュリティスキャン（DAST）](https://docs.gitlab.com/ee/user/application_security/dast/)：実行中のウェブアプリケーションをスキャンし、攻撃リスクにつながるセキュリティの脆弱性を検出します\n- [Infrastructure as Code（IaC）スキャン](https://docs.gitlab.com/ee/user/application_security/iac_scanning/)：Terraform、Ansible、AWS CloudFormation、KubernetesなどのInfrastructure as Code設定ファイルをスキャンし、セキュリティの脆弱性を特定します\n\nまた、GitLabには、上記のスキャン結果に基づき、スキャン対象のアプリケーションに含まれる既知の脆弱性をすべて表示する[脆弱性レポート](https://docs.gitlab.com/ee/user/application_security/vulnerability_report/)機能もあります。さらに、CycloneDX JSON形式のソフトウェア部品表（[SBOM](https://docs.gitlab.com/ee/user/application_security/dependency_list/)）も利用可能で、ソフトウェアレベルおよびオペレーティングシステムレベルの依存関係と既知の脆弱性をすべて確認できます。\n\n定期的な脆弱性スキャンと強力な脆弱性レポートにより、以下の3つのセキュリティ基準を満たすのに役立ちます。\n- CC7.1：企業は、自社の目的を達成するために、(1)新たな脆弱性の発生につながる設定変更、および(2)新たに発見された脆弱性に影響を受けやすい状態を特定するための検出および監視手順を採用すること。\n- CC4.1（COSO原則16）：企業は、内部統制の構成要素が存在し、機能しているかどうかを確認するために、継続的および／または個別の評価手順を選択、開発、実施すること。\n- CC4.2（COSO原則17）：企業は、速やかに内部統制の不備を評価し、必要に応じて、経営陣や取締役会など、是正措置を講じる責任を有する関係者に伝達すること。\n\nセキュリティスキャンにおいて重要な要素は、ガバナンスと実施です。GitLabでは、スキャンを定期的に実行し、ソフトウェア開発チームがそれを回避できないようにする機能をご用意しています。以下にその一部をご紹介します。\n- [ロールベースのアクセス制御](https://docs.gitlab.com/ee/user/permissions.html)：プロジェクトレベルの構成設定に変更を加えられるユーザーを制限します\n- [スキャン実行ポリシー](https://docs.gitlab.com/ee/user/application_security/policies/scan-execution-policies.html)：各コードリポジトリでスキャンの実行を強制します\n- [スキャン結果ポリシー]https://docs.gitlab.com/ee/user/application_security/policies/merge_request_approval_policies.html)：スキャン結果が適切なセキュリティ担当者によってレビューおよび承認されるようにすることで、新たに発見された脆弱性がデプロイ後のソフトウェアに導入されるのを阻止します\n- [コンプライアンスレポート](https://docs.gitlab.com/ee/user/application_security/)：GitLabの設定に加えられた変更のうち、現行のセキュリティプロセスに違反する可能性のあるものを提示します\n\nこれらの設定を導入することで、組織はソフトウェアセキュリティがアプリケーションにおいて最優先事項であり、セキュリティ対策が確実に実施されていることを証明できます。\n\n## 「可用性」と「処理の完全性」のTSC\nGitLabは、「可用性」と「処理の完全性」のTSC準拠にも役立ちます。これらの基準は、アプリケーション自体の品質とパフォーマンスに焦点を当てています。GitLabでは、以下の機能を通じて、これらの基準への準拠をサポートします。\n- [コードカバレッジレポート](https://docs.gitlab.com/ee/ci/testing/code_coverage.html)：ユニットテストの結果とコードカバレッジの変更を提示し、ソースコードがテストスイートで検証されていることを保証します\n- [Code Quality](https://docs.gitlab.com/ee/ci/testing/code_quality.html)：ソースコードの品質と複雑さを分析し、可読性と保守性を高めます\n\n上記のアプローチは、高品質かつテスト済みのコードを確保するためにソフトウェア開発ライフサイクルの早い段階で使用されるものです。これに加え、GitLabは、稼働中のアプリケーションが想定通りに動作していることを確認するための、さまざまな自動テストに使えるテンプレートも提供しています。これらのテンプレートは、以下のようなテストに対応しています。\n- [ブラウザのパフォーマンステスト](https://docs.gitlab.com/ee/ci/testing/browser_performance_testing.html)：開発ライフサイクル中にウェブサイトのロード時間を測定し、コード変更によるブラウザのパフォーマンスへの影響をテストします\n- [ロードパフォーマンステスト](https://docs.gitlab.com/ee/ci/testing/load_performance_testing.html)：開発ライフサイクル中にアプリケーションのバックエンドのシステムパフォーマンスを測定し、コード変更によるパフォーマンスへの影響をテストします\n- [カバレッジファジング](https://docs.gitlab.com/ee/user/application_security/coverage_fuzzing/)：予期しないデータや不正な形式のデータ、ランダムなデータをアプリケーションに送信し、不安定な動作やクラッシュの発生有無を監視します\n- [ウェブAPIファズテスト](https://docs.gitlab.com/ee/user/application_security/api_fuzzing/)：予期しないデータや不正な形式のデータ、ランダムなデータをAPIエンドポイントに送信し、バグやセキュリティ問題の有無を確認します\n\n組織はGitLabを使用して強力なDevSecOps手法に重点を置いて、高品質で安全なアプリケーションの構築に取り組むことで、顧客データの安全性を証明するSOC 2審査に合格しやすくなります。\n\n> **詳しく見る**：セキュア・バイ・デザインの原則で[サイバーセキュリティ態勢を強化](https://about.gitlab.com/ja-jp/the-source/security/strengthen-your-cybersecurity-strategy-with-secure-by-design/)しましょう。","how-gitlab-can-help-you-prepare-for-your-soc-2-exam","content:ja-jp:the-source:security:how-gitlab-can-help-you-prepare-for-your-soc-2-exam.yml","ja-jp/the-source/security/how-gitlab-can-help-you-prepare-for-your-soc-2-exam.yml","ja-jp/the-source/security/how-gitlab-can-help-you-prepare-for-your-soc-2-exam",{"_path":585,"_dir":28,"_draft":6,"_partial":6,"_locale":7,"config":586,"seo":587,"content":591,"type":488,"category":28,"slug":599,"_id":600,"_type":30,"title":588,"_source":31,"_file":601,"_stem":602,"_extension":34,"date":592,"description":589,"timeToRead":593,"heroImage":590,"keyTakeaways":594,"articleBody":598},"/ja-jp/the-source/security/10-tips-to-prioritize-security-in-software-development",{"layout":5,"template":473,"author":568,"featured":6,"isHighlighted":6,"authorName":451},{"title":588,"description":589,"ogImage":590},"ソフトウェア開発においてセキュリティを優先するためのヒント10選","この記事でご紹介するヒントを参考にして、開発サイクルの早い段階でセキュリティをシフトレフトし、効率性を高め、より安全なソフトウェアを開発しましょう。","https://res.cloudinary.com/about-gitlab-com/image/upload/v1751464607/pmqkaclogv0y5tf4hk3t.png",{"title":588,"date":592,"description":589,"timeToRead":593,"heroImage":590,"keyTakeaways":594,"articleBody":598},"2024-04-16","2分で読めます",[595,596,597],"シフトレフトすることで、SDLCの早い段階で脆弱性が検出されるようになるため、ソフトウェアのセキュリティが強化されます。","GitLabはセキュリティをDevSecOpsに統合し、事前対応型のリスク管理を実現します。","GitLabでプロセスを効率化して、開発速度を向上し、コンプライアンスを強化しましょう。","サイバー攻撃やサイバーセキュリティの脅威からの保護は、依然として組織の最優先事項の1つです。そのために、デベロッパーの役割は進化し続けています。GitLabの[2024年グローバルDevSecOps調査](https://about.gitlab.com/developer-survey/)では、「より大きなチームの一員としてアプリケーションセキュリティを担当している」と述べた回答者が過半数を占めており、セキュリティプラクティスのシフトレフトが進んでいることを示しています。\n\nシフトレフト（ソフトウェア開発ライフサイクル（SDLC）の早い段階で脆弱性を検出し、修正するためのセキュリティベストプラクティスを組み込んだソフトウェア設計）を行うことで、チームがより効率化し、ソフトウェアをより迅速にリリースできます。GitLabが調査を行ったセキュリティ専門家の67%が、シフトレフト化が済んだ、または今後3年間でシフトレフトする予定であると回答しています。しかし、開始方法がわからないという方もいらっしゃることでしょう。\n\nDevSecOpsをより効率的に実践するために、シフトレフトする際に役立つヒント10選をご紹介します。\n\n### 1. 時間を測定する\n\nコードのマージ後に、脆弱性を修正するためにどれだけの時間が費やされるのでしょうか？修正にかかった時間を測定し、脆弱性の種類や発生源にパターンがあるかどうかを調べ、改善のために必要な調整を行いましょう。\n\n### 2. ボトルネックを特定する\n\nセキュリティプロトコルとプロセス間で課題やボトルネックとなっている場所はどこですか？うまくいっていない部分を特定し、解決するために計画を立てて実行しましょう。\n\n### 3. 小さく始める\n\n小さなコード変更を行いましょう。プロジェクトに対して大規模な変更を加えるよりも、レビュー、セキュリティの確保、リリースをより簡単かつ迅速に行えます。\n\n### 4. ウォーターフォール型の構造を排除する\n\nSDLC内にウォーターフォール型のセキュリティプロセスが残っていませんか？ウォーターフォール型の構造を排除または削減すれば、方向転換が必要となった場合でも苦労せずに済みます。\n\n### 5. スキャンを自動化する\n\n手作業によるプロセスのせいで脆弱性を発見する過程に遅れが生じ、妨げになっていませんか？マージリクエスト内の調査を自動化し、確認や原因の調査、デベロッパーによる対応を容易にしましょう。\n\n### 6. ワークフローを更新する\n\nデベロッパーのワークフローにセキュリティスキャンは含まれていますか？デベロッパーのワークフローにセキュリティを組み込んでおくことで、コードの作成が済んでデベロッパーの手から離れる前に脆弱性を検出して修正することができます。\n\n### 7. コンプライアンスを実践する\n\n計画や予定にない作業が発生して、リリース時期が遅れていませんか？コンプライアンスフレームワークを自動化して実装することで、開発環境やチーム、アプリケーション全体で一貫性を維持できます。\n\n### 8. デベロッパーがセキュリティレポートを利用できるようにする\n\nデベロッパーはSASTおよびDASTレポートにアクセスできますか？こういった貴重なツールは、開発チームが安全なコーディングプラクティスを構築し、ワークフローの一部として脆弱性を修正する上で役立ちます。\n\n### 9. チームがより効率的に作業できるように支援する\n\n解決済みおよび未解決の脆弱性が存在する場所、脆弱性の作成者、および修正ステータスが表示されるセキュリティダッシュボードを利用できるようにして、セキュリティチームのより効率的な作業を支援しましょう。\n\n### 10. ツールチェーンを削減する\n\nツールチェーンを効率化および縮小すれば、従業員が単一のインターフェイス（信頼できる唯一の情報源）に集中できるようになります。\n\n## GitLabを使用してシフトレフトしましょう\n\nGitLabを使用すると、SDLCの早い段階で脆弱性を発見し、事前対応型のセキュリティ戦略を始められます。GitLab DevSecOpsプラットフォームにはセキュリティとコンプライアンスが組み込まれており、エンドツーエンドのワークフローにより、リスクを把握して管理できます。フィーチャーブランチに潜む脆弱性が自動的にスキャンされるため、本番環境にプッシュされる前に脆弱性を修正できます。GitLabは、厳しいセキュリティおよびコンプライアンス要件を満たすエンドツーエンドのソフトウェア開発プラットフォームで、米国の連邦政府、州政府、地方政府、ベンダー、教育機関のDevSecOps施策をサポートしてきた実績があります。ぜひこちらから[セキュリティのシフトレフト](https://about.gitlab.com/solutions/public-sector/)、業務や使命のより迅速な達成にGitLabがどのように役立つかについて詳しくご覧ください。","10-tips-to-prioritize-security-in-software-development","content:ja-jp:the-source:security:10-tips-to-prioritize-security-in-software-development.yml","ja-jp/the-source/security/10-tips-to-prioritize-security-in-software-development.yml","ja-jp/the-source/security/10-tips-to-prioritize-security-in-software-development",{"_path":604,"_dir":28,"_draft":6,"_partial":6,"_locale":7,"slug":605,"type":488,"category":28,"config":606,"seo":608,"content":612,"_id":632,"_type":30,"title":610,"_source":31,"_file":633,"_stem":634,"_extension":34,"heroImage":609,"description":611,"date":613,"timeToRead":482,"keyTakeaways":614,"articleBody":618,"faq":619},"/ja-jp/the-source/security/how-to-implement-secret-management-best-practices-with-gitlab","how-to-implement-secret-management-best-practices-with-gitlab",{"layout":5,"template":473,"featured":6,"author":607,"isHighlighted":6,"authorName":455},"jlongo",{"ogImage":609,"title":610,"ogTitle":610,"description":611,"ogDescription":611},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1751463593/wgbh2snwpsyle9jom1k1.png","GitLabで実践するシークレット管理のベストプラクティス","顧客データの保管と保護を担う企業にとって、不適切なシークレット管理は大きなリスクとなります。このリスクをどのように軽減し、信頼性を高めるかをご紹介します。",{"heroImage":609,"title":610,"description":611,"date":613,"timeToRead":482,"keyTakeaways":614,"articleBody":618,"faq":619},"2024-03-12T00:00:00.000Z",[615,616,617],"シークレット管理の不備がデータ漏洩の原因に。GitLabのネイティブインテグレーションがセキュリティを強化します。","監査と帰属が可能なシークレット管理により、セキュリティチームは異常や悪意のあるアクティビティを即座に発見し対応できます。","GitLabは強力なアクセス制御と検出ツールにより、シークレットの保存と利用を徹底サポートします。","不適切なシークレット管理（SMPs）は、どの企業にとっても重大なリスクを伴います。特に顧客データの保管と保護を担う企業では、このリスクはより深刻です。これは一般的な問題であり、多くの企業のリスク登録簿の中心に位置しています。シークレットの漏洩は機密性の喪失を引き起こし、場合によってはデータ漏洩につながります。このようなインシデントは、企業に大きな財務的損失をもたらし、顧客からの信頼を失う原因となり得ます。\n\n多くの企業において、不適切なシークレット管理は、専門知識の不足や、この問題を解決するためのツールや戦略に対する認識不足から生じていることがあります。適切なシークレット管理を実施することで、リスクの軽減が可能となり、組織のシークレット管理戦略に対する信頼が向上します。この記事では、シークレット管理のベストプラクティス、GitLabがそれをサポートする方法、そしてDevSecOpsプラットフォームのネイティブシークレット管理機能を改善するための戦略について説明します。\n\n## 暗号戦略の策定\n\nどの企業にも、デベロッパーが標準化された方法で作業し、すべてのアプリケーションおよびそのコンポーネントが企業の暗号要件に従って開発されることを保証するための基盤として、暗号戦略が不可欠です。\n\n企業が処理するデータやリスク許容度、脅威の状況を理解することが、効果的な暗号戦略の策定につながります。\n\n### シークレット生成\n\nアクセストークンやSSHキーなどのシークレットは、ハードウェアセキュリティモジュール（HSM）などの暗号デバイスで生成することが推奨されます。これにより、強力な暗号シークレットを生成し、改ざんや侵入に耐性のある方法で安全に保存できます。\n\n物理デバイスに依存することはコストがかかり、企業にとって運用上の制約となる場合がありますが、主要なクラウドサービスプロバイダーはクラウドHSMサービスを提供しています。たとえば、[AWS CloudHSM](https://aws.amazon.com/cloudhsm/)や[GCP Cloud HSM](https://cloud.google.com/kms/docs/hsm)などがあります。\n\n### シークレット保存\n\nシークレットの保存は生成と同様に重要です。 生成されたシークレットは、安全に長期間保存でき、必要なときに安全に取り出して使用できる方法で保存する必要があります。\n\n[HashiCorp](https://www.vaultproject.io/)などのセキュリティ企業や主要なクラウドサービスプロバイダーは、シークレットを安全に保存し、取り出すためのクラウドベースのサービスを提供しています。これらのサービスを活用すれば、シークレットをハードコードする手間が省け、プロセスやコード内でシークレットを簡単に活用できます。\n\n#### GitLabによるシークレットの保存サポート\n\nGitLabは、以下の[シークレット管理プロバイダー](https://docs.gitlab.com/ee/ci/secrets/index.html)をネイティブサポートしています。\n\n- Vault by HashiCorp\n- Google Cloud Secret Manager\n- Azure Key Vault\n\nGitLabをシークレット管理プロバイダーに接続するように設定すると、CIジョブが必要なときにのみシークレットをリクエストできます。シークレットが必要ない場合、それらはシークレット管理サービス内で安全に保存され、リスクが大幅に減少します。上記のシークレット管理プロバイダーに加え、GitLabは[OIDC認証](https://docs.gitlab.com/ee/ci/secrets/id_token_authentication.html)を通じて、AWS Secret Managerなど他のプロバイダーへの認証もサポートします。これにより、CI/CD変数としてシークレットを保存して[マスク](https://docs.gitlab.com/ee/ci/secrets/id_token_authentication.html)する方法と比べ、シークレット保存がはるかに安全になります。\n\n### シークレットの使用\n\nシークレットは、1つの目的のみに使用することが推奨されます。 なるアプリケーションやサービスでシークレットを再利用すると、露出リスクが高まり、侵害時の影響も大きくなります。\n\nシークレットへのアクセスは[最小特権の原則](https://about.gitlab.com/blog/the-ultimate-guide-to-least-privilege-access-with-gitlab/)を考慮して制御し、業務や運用に必要な個人やサービスのみにアクセスを許可することで、露出や悪意のあるアクティビティのリスクを最小限に抑えます。\n\n#### GitLabによるシークレット使用のサポート\n\nGitLabは、管理者に強力な[ロールベースのアクセス制御](https://docs.gitlab.com/ee/user/permissions.html)モデルを提供し、[カスタムロール](https://docs.gitlab.com/ee/user/custom_roles.html)を作成する機能も提供しています。これにより、管理者はアクセス権のプロファイルを組織の標準やリスク許容度に合わせて調整できます。\n\nGitLabでは、意図せずにコミットされたシークレットや 認証情報を確認するために、[シークレット検出](https://docs.gitlab.com/ee/user/application_security/secret_detection/)を実行することもできます。GitLab Ultimateのユーザーは、流出した認証情報の影響を軽減するために、シークレットの取り消しなどの[流出したシークレットへの自動応答](https://docs.gitlab.com/ee/user/application_security/secret_detection/automatic_response/)を強制することができます。\n\n### 可監査性\n\nシークレットのアクセスと使用は監査可能かつ追跡可能であるべきです。理想的には、個人がプレーンテキストでシークレットを表示できることはないはずですが、企業の運用状況は必ずしも理想的ではありません。\n\n監査可能で追跡可能なシークレット管理により、セキュリティチームは異常または悪意のある行動を監視し、自動または手動で迅速に対応できます。\n\n#### GitLabによる可監査性のサポート\n\nGitLabの[監査イベント](https://docs.gitlab.com/ee/administration/audit_events.html)は、GitLab内で作成されたトークンやキーに関連するアクティビティを詳細に記録します。以下はその一部です。\n\n- パーソナルアクセストークンイベント\n- デプロイトークンイベント\n- クラスターエージェントトークンイベント\n\nこれらのアクティビティはデータベースに保存されます。GitLab Ultimateユーザーは[監査イベントストリーミング](https://docs.gitlab.com/ee/administration/audit_event_streaming/)を通じてアクセス可能です。\n\n## 近日公開：GitLabシークレットマネージャー\n\nGitLabは、2024年後半にネイティブなシークレット管理機能をリリース予定です。GitLabシークレットマネージャーは、複数のテナントをサポートするクラウドベースのソリューションで、GitLab.comおよびSelf-Managedのお客様はCloud Connectorサービスを通じて利用できるようになります。この新しいサービスは、現在のCI/CD変数インターフェースと一貫性のある使いやすいインターフェースを提供し、サードパーティ製品よりも学習コストを最小限に抑え、導入を容易にします。GitLabシークレットマネージャーは、CIパイプライン内での機密情報のセキュリティと保護を確保します。\n\n> GitLabシークレットマネージャーについての詳細やご質問は、[MVC epic](https://gitlab.com/groups/gitlab-org/-/epics/10723)にコメントをお寄せください。",[620,623,626,629],{"header":621,"content":622},"シークレット管理とは何か、そしてなぜソフトウェアのセキュリティにおいて重要なのでしょうか？","シークレット管理は、APIキー、アクセストークン、パスワードなどの機密情報を安全に保存、アクセス、使用することを指します。適切なシークレット管理は、不正アクセスを防ぎ、データ漏洩のリスクを減らし、ソフトウェア開発およびデプロイプロセスにおける機密データの機密性と整合性を確保します。",{"header":624,"content":625},"GitLabはどのようにして安全なシークレットの保存と取得をサポートしていますか？","GitLabは、Vault（HashiCorp）、Google Cloud Secret Manager、Azure Key Vaultなどの主要なシークレット管理プロバイダと統合しています。これにより、シークレットはCIジョブが必要なときにのみ安全に取得され、シークレットが必要ない時には安全に保存され、露出や不正アクセスのリスクが低減されます。",{"header":627,"content":628},"シークレットの生成と使用におけるベストプラクティスは何ですか？","- __シークレットの生成__：強力なシークレットを生成するために、ハードウェアセキュリティモジュール（HSM）のような暗号学的デバイスを使用します。AWS CloudHSMやGCP Cloud HSMなどのクラウドHSMサービスを利用することで、費用対効果が高く、改ざんされにくいシークレットの生成が可能になります。\n- __シークレットの使用__：最小権限の原則を実装し、シークレットは単一の目的に使用され、許可されたユーザーやサービスのみがアクセスできるようにします。シークレットをハードコーディングすることを避け、露出を最小限に抑えます。",{"header":630,"content":631},"GitLabはどのようにシークレット検出と可監査性をサポートしますか？","GitLabは、誤ってコミットされたシークレットや認証情報を検出する機能を提供しています。管理者は、流出したシークレットを無効化するなど、セキュリティリスクを最小限に抑えるための自動対応を設定できます。さらに、監査イベントはトークンやキーの使用に関するアクティビティを記録し、アノマリ検出と継続的なモニタリングをサポートします。","content:ja-jp:the-source:security:how-to-implement-secret-management-best-practices-with-gitlab.yml","ja-jp/the-source/security/how-to-implement-secret-management-best-practices-with-gitlab.yml","ja-jp/the-source/security/how-to-implement-secret-management-best-practices-with-gitlab",{"_path":636,"_dir":28,"_draft":6,"_partial":6,"_locale":7,"config":637,"seo":639,"content":643,"type":488,"category":28,"slug":651,"_id":652,"_type":30,"title":640,"_source":31,"_file":653,"_stem":654,"_extension":34,"date":644,"description":641,"timeToRead":645,"heroImage":642,"keyTakeaways":646,"articleBody":650},"/ja-jp/the-source/security/enterprise-scale-security-and-compliance-policy-management-in-the-ai-era",{"layout":5,"template":473,"author":638,"featured":6,"isHighlighted":6,"authorName":452},"grant-hickman",{"title":640,"description":641,"ogImage":642},"AI時代におけるエンタープライズ規模のセキュリティおよびコンプライアンスポリシー管理","GitLabのセキュリティポリシー管理が、ソフトウェア開発のスピードに対応するセキュリティとコンプライアンスをどのようにサポートするかをご紹介します。","https://res.cloudinary.com/about-gitlab-com/image/upload/v1751464499/qriml3qncnibzphitcax.png",{"title":640,"date":644,"description":641,"timeToRead":645,"heroImage":642,"keyTakeaways":646,"articleBody":650},"2023-10-17","8分で読めます",[647,648,649],"AIの影響でさらに加速するソフトウェア開発に対応することは、セキュリティチームにとって課題となっています。強固なセキュリティを維持するには、効果的な脆弱性管理が欠かせません。","GitLabのセキュリティポリシーはコンプライアンスを自動化し、AppSecチームとデベロッパーチームの連携を促進することで、脆弱性の効率的な検出と修正を実現します。","CVSSやリスクベースのスコアリングといった優先順位付け手法を活用することで、脆弱性を管理し、AI生成コードの脆弱性が増加する中、重要な問題に確実に集中できます。","ソフトウェア開発のスピードに追いつくことは、セキュリティチームにとって大きな課題です。中でも、開発プロセスにおけるセキュリティの重要性を軽視するリーダーや、デベロッパーとセキュリティ担当者の人数比などが障害となっています。さらに、AIが登場したことで、開発のスピードはより加速しています。企業がエンタープライズ規模へと成長する中で、開発のスピードはこれからも増していくでしょう。そのため、開発プロセスを管理するセキュリティツールも、その成長に対応するものでなければなりません。\n\nアプリケーションセキュリティ（AppSec）チームは、脆弱性の管理や優先順位付けを適切に行う必要があります。[GitLabのセキュリティポリシー](https://docs.gitlab.com/ee/user/application_security/policies/)や各種セキュリティツールを活用することで、組織はAppSecチームとデベロッパーチームの連携を強化し、脆弱性の検出、トリアージ、修正を効率的に行うことができます。また、セキュリティポリシーを活用することで、コンプライアンスの自動化やエンタープライズ規模の管理も実現できます。\n\nスキャン対象を増やすことで脆弱性の早期発見や解決の機会が広がりますが、膨大なスキャン結果がAppSecチームの負担になることも事実です。スキャンを重ねることで脆弱性に対する理解は進みますが、どの問題に優先的に対応すべきかを見極めることがますます難しくなります。\n\n## 脆弱性管理トリアージのプロセス\n脆弱性のトリアージにおける現在の一般的なアプローチは以下のとおりです。\n\n- **共通脆弱性評価システム（CVSS）：**CVSSは、脆弱性の重大度を評価するための標準的な方法です。CVSSスコアを活用することで、組織は脆弱性の影響をもとに優先順位を決定し、リソースを適切に割り当てることができます。\n\n- **リスクベースのスコアリング：**リスクベースのスコアリングは、脆弱性の悪用される可能性やビジネスへの影響を基に評価する方法です。組織は、アセットの価値、脅威アクターの能力、脆弱性の悪用頻度などの要素を考慮して、優先順位を付けることができます。- **脅威モデリング：**システムやアプリケーションに対する潜在的な脅威を特定して評価します。システムの設計やデータフロー、攻撃経路の詳細な分析を行い、悪用されるリスクの高い脆弱性に優先順位をつけます。このアプローチは、悪用される可能性の高い脆弱性に焦点を当てることで、リソースを効果的に配分するのに効果的です。\n\n- **ビジネスインパクト分析（BIA）：**BIAは、脆弱性がビジネス運営や目標に与える影響を評価します。重要なアセットを特定し、組織への重要度を評価して、攻撃が成功した場合に生じる可能性のある影響を分析します。財務的、評判的、運営的な影響を考慮することにより、組織はビジネスの最も重要な機能にリスクを与える脆弱性に優先順位をつけることができます。\n\nAIによって生成されたコードが増加することで、意図しない脆弱性も増えてきています。こうした方法は、企業が脆弱性を効果的にトリアージし、優先順位を決めるために不可欠です。では、これらの方法を実際どのように適用するか、具体的に見ていきましょう。\n\n## セキュリティポリシー管理\n[セキュリティポリシー](https://docs.gitlab.com/ee/user/application_security/policies/)は、ビジネスレベルのポリシーやコンプライアンス要件を、具体的な運用指針として分解し、DevSecOpsのプラクティスやソフトウェア開発ライフサイクルに組み込むための手段です。GitLabのセキュリティポリシーでルールを作成することにより、組織は脆弱性評価の詳細な基準を設定でき、実際に対処すべき問題を検出できるようになります。\n\nセキュリティポリシーを使うと、セキュリティやコンプライアンスの要件やベストプラクティスをコードでインスタンス化して実行できます。[スキャン実行ポリシー](https://docs.gitlab.com/ee/user/application_security/policies/scan-execution-policies.html)は、特定のプロジェクトでスキャナーを実行することを強制し、コードが本番環境にマージされる前に脆弱性や漏えいが検出されることを保証します。\n\nまた、[マージリクエスト承認ポリシー](https://docs.gitlab.com/ee/user/application_security/policies/scan-result-policies.html)を活用して、脆弱性への対応を効率化するカスタマイズワークフローを作成できます。このポリシーは、セキュリティおよびコンプライアンススキャナーの結果を評価し、定義したルールに基づいて、徹底的にレビューと承認を受けない限り、マージリクエストのマージを防止またはブロックします。\n\nマージリクエスト承認ポリシーとスキャン実行ポリシーを活用することで、開発プロセスに監視機能を追加できます。これにより、人間またはAIによって書かれたコードが自動的にスキャンされ、ポリシー違反があった場合に、エンジニアリングとAppSecが協力して迅速に対応できるようになります。\n\n### マージリクエスト承認ポリシーにおける詳細なルールの設定\n次のステップとして、以下に挙げるフィルターや属性をもとに、マージリクエスト承認ポリシー内できめ細かいルールを設定することも可能です。これらのルールにより、最も対応すべき脆弱性を特定し、静的なデータの中から重要な情報を見つけることができます。\n\n- **脆弱性の状態：**脆弱性のステータスに基づいて、セキュリティポリシーの対象を絞ることができます。通常は、トリアージが必要な新しく検出された脆弱性に焦点を当てます。また、過去に検出された脆弱性の重大度に基づいてルールを作成したり、無視された脆弱性を含める/除外することも可能です。\n\n- **ブランチ：** 特定のブランチに対してのみ適用できます。たとえば、重要なプロジェクトのデフォルトブランチに集中的に適用したり、保護ブランチにターゲットを絞ったりできます。\n\n- **修正の有無：**修正が可能でない依存関係とコンテナのスキャン結果から結果を除外します。通常、こうした問題は外部のアップストリームの変更に依存しており、実行可能ではありません。脆弱性からイシューを作成し、修正が可能になった時点で対応するための期日を設定できます。\n\n- **誤検出：**GitLabスキャナーが（コンテナや依存関係のスキャンにおいて）誤検出と判断した場合、脆弱性の状態を記録します。セキュリティポリシーはこれを利用して、セキュリティポリシーの監視対象から誤検出を除外することができます。これにより、AppSecエンジニアとデベロッパーはこれらの検出結果を無視して、そのままコードをマージすることができます。必要な場合は、脆弱性レポートから脆弱性を詳細に分析できます。\n\n- **期間またはサービス品質保証（SLA）：** 重大度の低い脆弱性については、組織が一時的に許容できる場合もありますが、妥当なSLAの範囲内で対応するよう計画する必要があります。セキュリティポリシーを使用すると、発見された脆弱性の重大度に基づいてSLAを設定できます。たとえば、中程度の脆弱性に対しては、承認なしで60日間のSLA内でマージを許可することができます（その後、期日付きのフォローアップのイシューで対応します）。しかし、その脆弱性が60日のSLAを超えた場合、マージリクエストはブロックされ、脆弱性の対応が求められます。\n\n![security-policies-rules-ds-all-filters](https://res.cloudinary.com/about-gitlab-com/image/upload/v1752175811/Blog/k0bror5vmcosg8jm4zi1.png)\n\n### 組織全体での重要な検出結果を優先する\n脆弱性の膨大な量を処理するための一般的なアプローチの1つは、小さなことから始めて、組織全体で発見された最も重要な脆弱性を優先することです。脆弱性管理のトリアージSLAは、脆弱性の重大度に基づいて、脆弱性に対処するルールを定義することにより優先順位を付けるため、これを達成するのに役立ちます。ここでは、GitLabのマージリクエスト承認ポリシーを活用して、脆弱性の重大度レベルごとに異なるSLAを適用する方法をご紹介します。この例では、重大度が高い脆弱性が発見された場合、マージリクエストは30日間ブロックされず、デベロッパーはSLA期間内に問題を修正する時間を確保できます。\n\n\u003C!-- 空白行 -->\n\u003Cfigure class=\"video_container\">\n  \u003Ciframe src=\"https://www.youtube.com/embed/cOsAaLXdV2k\" frameborder=\"0\" allowfullscreen=\"true\"> \u003C/iframe>\n\u003C/figure>\n\u003C!--空白行-->\n\n### 職務分離（SoD）の徹底\n\nセキュリティポリシーはいろいろな方法で管理できますが、セキュリティの専門家と開発チームの間のSoDを確実にするために、GitLabの専用プロジェクト内で管理するのが一番です。ポリシーはYAML形式で管理されます。この「Policy as Code」のアプローチは、セキュリティチームを支援し、多くのメリットを提供します。これには、ポリシーの変更履歴をGitで管理することによる可視化、バージョン管理を通じて混乱を引き起こす変更を簡単に元に戻すことができる点、必要に応じてポリシー変更の監査と承認が可能である点、GitLab監査イベントによる可監査性、監査担当者に証拠として共有できる具体的な管理が含まれます。\n\n![gitlab security-policies policy-yml](https://res.cloudinary.com/about-gitlab-com/image/upload/v1752175821/Blog/bqfig4ufupuitbarasuj.png)\n\n## まとめ\n増え続ける脆弱性の取り扱いには、徹底したスキャンと効率的なトリアージおよび修正をバランスよく行う精密なアプローチが求められます。GitLabのセキュリティポリシーは、コラボレーションを促進し、カスタマイズ可能なポリシールールを定義する柔軟性を提供し、ビジネス要件やコンプライアンスフレームワークを正確に実現する手段となります。GitLabのセキュリティツールを活用し、カスタムフィルタと属性を適用することで、組織は脆弱性管理を効率化し、最も重大なリスクへの対応に集中することができ、その結果、全体的なセキュリティ体制を強化し、外部機関の要件を満たすことが可能となります。AIによって生成されたコードに対する懸念が高まる中でも、セキュリティの3つの柱（人、プロセス、技術）は変わりません。ビジネスプロセスにセキュリティポリシーを組み込むことで、こうしたリスクからビジネスを守ることができるのです。\n\nGitLab DevSecOpsプラットフォームは、セキュリティポリシーをPolicy as Codeとして適用するだけでなく、多機能なセキュリティツールをまとめて提供します。[2023年のグローバルDevSecOpsレポート](https://learn.gitlab.com/devsecops-survey-2023/)によると、セキュリティ専門家の57%がソフトウェア開発に6つ以上のツールを使用しており、69%がツールチェーンの統合を望んでいます。多くのCISOがツール統合を重視しており、GitLabはツールチェーンの氾濫を抑制する役割を果たします。GitLabは、静的アプリケーションセキュリティテスト（Infrastructure as Code対応を含む）、シークレット検出、動的アプリケーションセキュリティテスト（API対応を含む）、依存関係スキャン、APIセキュリティなどの主要なセキュリティスキャンソリューションを提供しています。また、動的脆弱性レポートを活用したAppSecチーム向けの脆弱性管理も可能です。さらに、コンプライアンスフレームワーク、コンプライアンス遵守レポート、監査イベントを通じて、コンプライアンスの課題を解決します。\n\nGitLabを活用した[アプリケーションセキュリティ](https://docs.gitlab.com/ee/user/application_security/#use-security-scanning-tools-with-merge-request-pipelines)管理の詳細はリンクをご確認ください。\n\n> **次回：** GitLabのCISO、Josh Lemosが、[一般的なセキュリティに関する不満を解決する方法](https://about.gitlab.com/the-source/security/security-its-more-than-culture-addressing-the-root-cause-of-common-security/)を紹介します。\n","enterprise-scale-security-and-compliance-policy-management-in-the-ai-era","content:ja-jp:the-source:security:enterprise-scale-security-and-compliance-policy-management-in-the-ai-era.yml","ja-jp/the-source/security/enterprise-scale-security-and-compliance-policy-management-in-the-ai-era.yml","ja-jp/the-source/security/enterprise-scale-security-and-compliance-policy-management-in-the-ai-era",{"_path":656,"_dir":28,"_draft":6,"_partial":6,"_locale":7,"config":657,"seo":659,"content":663,"type":488,"category":28,"slug":671,"_id":672,"_type":30,"title":660,"_source":31,"_file":673,"_stem":674,"_extension":34,"date":664,"description":661,"timeToRead":665,"heroImage":662,"keyTakeaways":666,"articleBody":670},"/ja-jp/the-source/security/how-to-strengthen-security-by-applying-devsecops-principles",{"layout":5,"template":473,"author":658,"featured":6,"isHighlighted":6,"authorName":461},"ncregan",{"title":660,"description":661,"ogImage":662},"DevSecOpsの原則を採り入れてセキュリティを強化する方法","DevSecOpsの原則を採り入れる方法と、それによって得られるメリットについてご紹介します。","https://res.cloudinary.com/about-gitlab-com/image/upload/v1751464433/bdwagz0bt5bpgghjkout.png",{"title":660,"date":664,"description":661,"timeToRead":665,"heroImage":662,"keyTakeaways":666,"articleBody":670},"2023-02-23","4分で読めます",[667,668,669],"DevSecOpsはセキュリティをSDLCに統合し、デリバリーを遅らせることなく、安全なアプリの開発を実現します。","DevSecOpsによる自動化によって、セキュリティが強化され、脅威の検出と対応が効率化されます。","DevSecOpsにおけるコラボレーションによって、統一されたアプローチで、安全なソフトウェア開発を迅速に進められるようになります。","DevSecOpsの原則に従えば、企業は迅速かつ効率的に価値を提供しながら、アプリケーションを悪意のある人物から確実に保護できます。この記事では、DevSecOpsの原則について詳しく説明し、最先端のセキュリティ対策を実現する上でどのように役立つかをご紹介します。それでは詳しく見ていきましょう。\n\n## DevSecOps とは？\n[DevSecOps](/topics/devsecops/)は、開発、セキュリティ、オペレーションの3原則を組み合わせたソフトウェア開発アプローチです。DevSecOpsを採用すると、チームは迅速かつ効率的に価値を提供しながら、安全で信頼性の高い製品を作成できます。DevSecOpsの実装を成功させるには、品質やセキュリティを妥協せずに、市場投入までの時間を短縮することを目指して、継続的インテグレーションや自動化、テストを行う必要があります。\n\n## DevSecOpsの原則の概要\n開発チームは[DevSecOpsの原則](/blog/4-must-know-devops-principles/)に従って統合されたセキュリティテストを実施することで、安全かつ信頼性の高いアプリケーションを迅速に開発できます。DevSecOpsアプローチを実践すると、初期設計から継続的なデリバリー、そして継続的デプロイメントまで、ソフトウェア開発ライフサイクル（SDLC）にセキュリティが統合されます。これにより、システムの脆弱性を悪用した悪意のある人物によるセキュリティ漏洩の発生を防ぎ、サイバー攻撃の全体的なリスクを低減できます。\n\nDevSecOpsの原則とは、具体的には以下のとおりです。\n\n### 自動化と統合\n自動化と統合は、DevSecOpsにおいて重要な考え方です。セキュリティプロセスの自動化によって、安全で信頼性の高いアプリケーションの開発を支援すると同時に、今後発生しうる悪質な攻撃のリスクを低減します。開発サイクル中に複数のタイミングでセキュリティ対策を設定して実行し、継続的なセキュリティを適用することで、セキュリティの実践を簡素化および最適化できます。\n\n### 継続的なデリバリーと継続的なデプロイ\n継続的なデリバリーとデプロイは、潜在的な脅威に迅速に対応し、悪意のある人物からソフトウェアサプライチェーンを保護できるようにするもう1つの方法です。[自動化されたプロセスを用いてアプリケーションを継続的にデプロイする](/blog/cd-solution-overview/)ことで、アプリケーションのセキュリティと品質を維持しながら、新機能や新製品を迅速に開発できるようにします。\n\n### セキュリティへの協調的なアプローチ\nセキュリティは、DevSecOpsの中核と言えます。アプリケーションの安全性と信頼性を確保するには、複数のセキュリティチェックを継続的に実施しつつ、[高度に協調的なアプローチ](/topics/version-control/software-team-collaboration/)を取ることが求められます。開発プロセスに携わるすべての関係者がセキュリティプロセスに取り組む必要があります。\n\nセキュリティチームはデベロッパーと協力しながら、アプリケーションの設計時に[適切なセキュリティ制御](/topics/devsecops/devsecops-security-checklist/)が組み込まれていること、またセキュリティの脆弱性が最小限であることを確認する必要があります。それと同時に、オペレーションチームはアプリケーションを安全にデプロイし、モニタリングするために、セキュリティチームと連携しなければなりません。\n\n### SDLCのすべてのステージでセキュリティを実装\nSDLCのすべてのステージでセキュリティ対策を導入することで、品質を妥協せずに、安全なアプリケーションを効率的に開発できます。設計から開発、デプロイまで、[ライフサイクルのすべてのステージ](/blog/top-10-gitlab-hacks/)をカバーすることが重要です。\n\n効果的にこのプロセスを実施するためには、デベロッパーが適切なセキュリティ制御が実装されたアプリケーションを設計した上で、オペレーションチームがアプリケーションを安全にデプロイし、モニタリングする必要があります。\n\n### 積極的なモニタリングと対応戦略\nアプリケーションのライフサイクルを通じてセキュリティを維持するためには、積極的なモニタリングと対応戦略を立てることが不可欠です。[モニタリング](/blog/working-with-performance-metrics/)を行うには、潜在的な脆弱性を特定し、発生時にチームに通知する自動化されたツールをデプロイします。\n\nこれにより、リスクが最小限に抑えられ、組織全体において一貫性を確保できます。包括的な対応戦略を採用することで、問題が悪化してセキュリティリスクとなる前に特定し、解決できます。\n\n## DevSecOpsの導入によって得られるメリット\nDevSecOpsを導入すると、組織は以下のような多くのメリットを得られます。\n1. 安全なソフトウェアを提供できるため、顧客との信頼関係を構築しやすくなります。\n2. 悪意のある人物によるシステムの脆弱性の悪用を防止できるとともに、システムのセキュリティが向上します。\n3. DevSecOpsの開発手法により、最高レベルのセキュリティを確保しながら、迅速に価値を提供できます。\n4. 設計からデプロイまで、ソフトウェア開発パイプラインにセキュリティ対策を組み込むことで、チームは潜在的なリスクをすばやく特定して対処できるため、悪質な攻撃のリスクを低減できます。\n5. DevSecOpsを導入することで、組織は潜在的な脅威を事前に特定して対処し、市場での競争力を維持できます。\n\n[DevSecOpsの導入](/blog/whats-next-for-devsecops/)は、迅速かつ効率的に価値を提供しながら、悪質な攻撃からシステムを保護したいと考えている組織にとって不可欠です。さらに、SDLCにセキュリティを統合することで、新規アプリケーションの安全性を最初から確保できます。DevSecOpsの文化とアプローチを浸透させることで、ソフトウェア開発プロセスの全体的な効率と品質が最大限に高まります。","how-to-strengthen-security-by-applying-devsecops-principles","content:ja-jp:the-source:security:how-to-strengthen-security-by-applying-devsecops-principles.yml","ja-jp/the-source/security/how-to-strengthen-security-by-applying-devsecops-principles.yml","ja-jp/the-source/security/how-to-strengthen-security-by-applying-devsecops-principles",1761814445118]