
「左から左へ」から始める:セキュアコードは常に品質の高いコードなのか?
この記事のバージョンが掲載されました ダークリーディング。ここで更新され、シンジケートされました。
セキュリティについて開発者と話すとき、私のモットーの1つは「品質の高いコードは安全なコードだけだ」ということです。これは変わりません。90 年代に脆弱なソフトウェアが世に出ていたとき、私たちは災害を免れたかもしれませんが、今日ではリスクを冒す価値はありません。多くの開発者が長年にわたり、開発者にセキュリティ意識を浸透させるために懸命に取り組んできました。そうすることで、コードの自己評価において、セキュリティが品質と同義語になることを願っています。
しかし、振り返ってみると(そして私の同僚の間でのいくつかの議論も)、それはおそらく概念を単純化しすぎているでしょう。確かに安全でありながら、初心者の開発技法の兆候や、理想的とは言えないその他の問題領域を示すコードを作成することは完全に可能です。
私たちの業界では、「左へのシフト」という概念について長々と語っています。私の考えでは、エンジニアリングチームがセキュリティ (品質の一面) に対する責任を分担できるようにし、共通の脆弱性を (文字通りの) 指先ひとつで消去する権限をエンジニアリングコホートに与えることが、残された「スタートアップ」に尽きます。しかし、現在のこの難問を踏まえると、限界をもう少し押し進める必要があるように思えます。
ある程度の品質のコードもその定義上安全ですが、すべての安全なコードが必ずしも高品質であるとは限りません。純粋に安全なコーディング標準を確保するには、「左から左へ」から始めるのが公式なのでしょうか?
「質の悪い」セキュアコードとはどのようなものですか?
このコードスニペットを拡大鏡で見てみましょう。

セキュリティの観点からこのコードを分析すると、このスニペットは確かに安全であり、攻撃者が SQL Injection の脆弱性を悪用するための入り口にはなりません。
高品質のコードの例ですか?残念ながら、実際にはそうではありません。引数を a から単純に変更しただけです ミント (エーガー) に ストリング value では、自由形式のユーザー入力でクエリを操作できます。これに対し、数値では操作できません。その変更、あるいはどこか別の場所から String sql を無計画にコピーして貼り付けると、SQL インジェクションの脆弱性とそれに伴うすべてのリスクが発生する可能性のある環境がすぐに作り出されます。

ここではセキュリティ対策の範囲が非常に限られていましたが、より徹底した (または経験豊富な) 開発者は別のアプローチを取り、非効率的な引数構造の影響について検討した可能性があります。このようなコードの公開は、不適切なやり方であるだけでなく、開発コホートの他のメンバーにとっても悪い手本となります。
ソフトウェア「三重の脅威」:形態、機能、要塞のような?
エンターテインメント業界における「三重の脅威」とは、演技、ダンス、歌を同等に高いレベルのスキルで発揮できる個人です。彼らはオーディションのたびに恐れられ、うらやましく思われる人々であり、すでに競争の激しい業界のユニコーンなのです。どの業界にも独自のトップクラスの優れた製品とサービスがありますが、ソフトウェアも例外ではありません。
同等の (高品質) 品質でバランスを取るのが難しいアプリケーションの 3 つの重要な要素を考えてみると、それらは機能性/エレガンス、強固なセキュリティ、そして要求される配信速度を考慮した際の費用対効果です。さて、最後の属性は、間違いなく他の2つの選択肢がどの程度うまく適用されるかを決定づける要因であり、時間の経過とともに全体的な品質が低下するきっかけにもなり得ます。
しかし、すべてのソフトウェアがヒュー・ジャックマンのように動作する必要があるのか、それともニコラス・ケイジとうまくやっていけるのか?言い換えると、ウルヴァリンをチームに入れることができれば、ベストを尽くすことになります。
マーティン・ファウラーが質問しました 高品質はコストに見合う価値がありますか? ソフトウェア開発では、「それだけの価値がある」だけでなく、時間が経つにつれて実際には安価になったと結論付けました。ほとんどのユーザーは、コードがめちゃくちゃかどうかや、セキュリティが他のすべてと同じくらい重要視されているかどうかを内部から調べることはないでしょう。しかし、ツールを利用している人は、新しい機能を追加するためにずさんなコードをやり直したり、何が起きているのかを理解するためにプロジェクトの主要部分を調べたり、あるいは最悪のシナリオ、つまりAppSecチームから戻ってきて生産を遅らせた脆弱性の修正に貴重な時間を浪費することになります。コードを安全かつ高品質にするために今時間を費やすことで、不適切に実行された作業を解明するコストは言うまでもなく、将来の悩みの種となる多くの問題を解決できます。
熟練したセキュリティ意識の高い開発者は、エンジニアがプロセスの各段階で制御できる一般的なセキュリティ上の落とし穴を取り除くことを考慮しながら、機能提供における創造的で問題解決のビジョンを維持したコードを書きます。安全なコードは単独ではそれほど効果的ではありません。だからこそ、「左から左」から始めるという概念が、リスクを抑えながら素晴らしい機能を提供する能力に組み込まれた、開発者にとって身近な存在としてのセキュリティ文化を支える助けとなるのです。
安全なユーザーエクスペリエンスには、「左から左」から始めることが重要です。
セキュリティは長い間、ソフトウェアのユーザーエクスペリエンスにおいて考慮されてきましたが、結果は明らかにまちまちでした。セキュリティの設定ミスが原因でした。 クラウドベースのデータ侵害の 21% 過去1年間、パスワードをプレーンテキストで保存するなどのアマチュアアワーのミスにより、影響を受けた企業の生産性、収益、顧客の信頼が著しく低下しました。
さらに、ユーザー自身が自分のデータを保護することになると、ユーザー自身が最悪の敵になる可能性があります。 人が多すぎる 依然として「パスワード」をパスワードとして使用しているか、複数の機密アカウントで同じ組み合わせを使用しています。
ログイン画面で作業しなければならないと言われたときに慌てて判断する開発者は誰もいません。それも不思議ではありません。堅牢で機能的なセキュリティフローを設計し、ユーザーが混乱を最小限に抑えながら意味のある方法でナビゲートできるセキュリティフローを設計するのは微妙なバランスです。
複雑な手順や制限が多すぎると、ユーザーは二度と戻らないように切り替える可能性があり(新しいアプリにとっては災害)、混乱を招きすぎて、アカウントにアクセスしようとするユーザーからの問い合わせに対応する際に、サポートチームが集団的な片頭痛に陥る可能性があります。簡単にしすぎると、セキュリティの部分で失敗しているようなものです。
セキュアなユーザーエクスペリエンスを成功させるには、厳密なセキュリティを理にかなったフローに組み込む必要があります。このフローは、ソフトウェアの魅力である他の要素をすべて損なうことのない方法で提示する必要があります。複雑なパスワード要件、CAPTCHA、ミニボス、4波のゾンビなど、安全なログイン機能をコーディングするという目的は確かに達成できますが、それがユーザーにとって嫌な完全に混乱しているとしたら、それは的外れです。
ソフトウェア・エクセレンスの基礎を築きましょう。
私自身開発者として、私たちの大多数は自分の仕事に誇りを持っており、正しいことをしたいと思っていることを知っています。時間の制約、現在の目標の突然の変更、緊急のホットフィックスなどの厄介なカーブボールは、フローを混乱させ、間違いにつながる可能性がありますが、厳しい真実は、多くのソフトウェアエンジニアが成功するための準備が整っていないということです。
「左から左」から始めることは開発者第一の概念であり、組織はエンジニアリングチームの向上に真剣に取り組む必要があります。セキュリティ意識の高い開発者はそれだけの価値があり、トレーニング、適切なツールの提供、経験豊富な開発者からの指導を受ける機会という形でのサポートを受けることで、ソフトウェアを次のレベルに引き上げるために必要な正確さと細部への配慮を備えた、セキュリティ第一の考え方でコードを作成する環境が育まれます。
あなた自身でセキュア・コーディングの火をつける準備はできていますか? 挑戦に立ち向かえ。


ある程度の品質のコードもその定義上安全ですが、すべての安全なコードが必ずしも高品質であるとは限りません。純粋に安全なコーディング標準を確保するには、「左から左へ」から始めるのが公式なのでしょうか?
마티아스 마두 박사는 보안 전문가, 연구원, CTO, 그리고 Secure Code Warrior의 공동 창립자입니다. 마티아스는 겐트 대학교에서 정적 분석 솔루션을 중심으로 애플리케이션 보안 분야 박사 학위를 취득했습니다.이후 미국의 Fortify에 합류하여 개발자가 안전한 코드를 작성하도록 지원하지 않고 단순히 코드 문제를 탐지하는 것만으로는 불충분하다는 점을 깨달았습니다. 이를 계기로 개발자를 지원하고 보안 부담을 줄이며 고객 기대를 뛰어넘는 제품을 개발하게 되었습니다. Team Awesome의 일원으로 책상에 있지 않을 때는 RSA 컨퍼런스, BlackHat, DefCon 등의 컨퍼런스에서 발표하는 무대 발표를 즐깁니다.

Secure Code Warrior는 소프트웨어 개발 라이프사이클 전반에 걸쳐 코드를 보호하고 사이버보안을 최우선으로 하는 문화를 구축하는 데 도움을 드립니다. 애플리케이션 보안 관리자, 개발자, CISO 또는 보안 담당자이든, 안전하지 않은 코드와 관련된 위험을 줄이는 데 도움을 드립니다.
데모 예약마티아스 마두 박사는 보안 전문가, 연구원, CTO, 그리고 Secure Code Warrior의 공동 창립자입니다. 마티아스는 겐트 대학교에서 정적 분석 솔루션을 중심으로 애플리케이션 보안 분야 박사 학위를 취득했습니다.이후 미국의 Fortify에 합류하여 개발자가 안전한 코드를 작성하도록 지원하지 않고 단순히 코드 문제를 탐지하는 것만으로는 불충분하다는 점을 깨달았습니다. 이를 계기로 개발자를 지원하고 보안 부담을 줄이며 고객 기대를 뛰어넘는 제품을 개발하게 되었습니다. Team Awesome의 일원으로 책상에 있지 않을 때는 RSA 컨퍼런스, BlackHat, DefCon 등의 컨퍼런스에서 발표하는 무대 발표를 즐깁니다.
마티아스는 15년 이상의 소프트웨어 보안 실무 경험을 가진 연구자이자 개발자입니다. 포티파이 소프트웨어(Fortify Software)와 자신의 회사인 센세이 시큐리티(Sensei Security) 등 기업을 대상으로 솔루션을 개발해 왔습니다. 마티아스는 경력 전반에 걸쳐 여러 애플리케이션 보안 연구 프로젝트를 주도했으며, 이는 상용 제품으로 이어져 10건 이상의 특허를 취득했습니다.업무 외 시간에는 마티아스는 고급 애플리케이션 보안 교육 과정의 강사로 활동하며, RSA 컨퍼런스, 블랙햇, 디프콘, BSIMM, OWASP 앱섹, 브루콘 등 글로벌 컨퍼런스에서 정기적으로 발표를 진행하고 있습니다.
마티아스는 겐트 대학교에서 컴퓨터 공학 박사 학위를 취득했으며, 그곳에서 애플리케이션의 내부 동작을 숨기기 위한 프로그램 난독화를 통한 애플리케이션 보안을 연구했습니다.


この記事のバージョンが掲載されました ダークリーディング。ここで更新され、シンジケートされました。
セキュリティについて開発者と話すとき、私のモットーの1つは「品質の高いコードは安全なコードだけだ」ということです。これは変わりません。90 年代に脆弱なソフトウェアが世に出ていたとき、私たちは災害を免れたかもしれませんが、今日ではリスクを冒す価値はありません。多くの開発者が長年にわたり、開発者にセキュリティ意識を浸透させるために懸命に取り組んできました。そうすることで、コードの自己評価において、セキュリティが品質と同義語になることを願っています。
しかし、振り返ってみると(そして私の同僚の間でのいくつかの議論も)、それはおそらく概念を単純化しすぎているでしょう。確かに安全でありながら、初心者の開発技法の兆候や、理想的とは言えないその他の問題領域を示すコードを作成することは完全に可能です。
私たちの業界では、「左へのシフト」という概念について長々と語っています。私の考えでは、エンジニアリングチームがセキュリティ (品質の一面) に対する責任を分担できるようにし、共通の脆弱性を (文字通りの) 指先ひとつで消去する権限をエンジニアリングコホートに与えることが、残された「スタートアップ」に尽きます。しかし、現在のこの難問を踏まえると、限界をもう少し押し進める必要があるように思えます。
ある程度の品質のコードもその定義上安全ですが、すべての安全なコードが必ずしも高品質であるとは限りません。純粋に安全なコーディング標準を確保するには、「左から左へ」から始めるのが公式なのでしょうか?
「質の悪い」セキュアコードとはどのようなものですか?
このコードスニペットを拡大鏡で見てみましょう。

セキュリティの観点からこのコードを分析すると、このスニペットは確かに安全であり、攻撃者が SQL Injection の脆弱性を悪用するための入り口にはなりません。
高品質のコードの例ですか?残念ながら、実際にはそうではありません。引数を a から単純に変更しただけです ミント (エーガー) に ストリング value では、自由形式のユーザー入力でクエリを操作できます。これに対し、数値では操作できません。その変更、あるいはどこか別の場所から String sql を無計画にコピーして貼り付けると、SQL インジェクションの脆弱性とそれに伴うすべてのリスクが発生する可能性のある環境がすぐに作り出されます。

ここではセキュリティ対策の範囲が非常に限られていましたが、より徹底した (または経験豊富な) 開発者は別のアプローチを取り、非効率的な引数構造の影響について検討した可能性があります。このようなコードの公開は、不適切なやり方であるだけでなく、開発コホートの他のメンバーにとっても悪い手本となります。
ソフトウェア「三重の脅威」:形態、機能、要塞のような?
エンターテインメント業界における「三重の脅威」とは、演技、ダンス、歌を同等に高いレベルのスキルで発揮できる個人です。彼らはオーディションのたびに恐れられ、うらやましく思われる人々であり、すでに競争の激しい業界のユニコーンなのです。どの業界にも独自のトップクラスの優れた製品とサービスがありますが、ソフトウェアも例外ではありません。
同等の (高品質) 品質でバランスを取るのが難しいアプリケーションの 3 つの重要な要素を考えてみると、それらは機能性/エレガンス、強固なセキュリティ、そして要求される配信速度を考慮した際の費用対効果です。さて、最後の属性は、間違いなく他の2つの選択肢がどの程度うまく適用されるかを決定づける要因であり、時間の経過とともに全体的な品質が低下するきっかけにもなり得ます。
しかし、すべてのソフトウェアがヒュー・ジャックマンのように動作する必要があるのか、それともニコラス・ケイジとうまくやっていけるのか?言い換えると、ウルヴァリンをチームに入れることができれば、ベストを尽くすことになります。
マーティン・ファウラーが質問しました 高品質はコストに見合う価値がありますか? ソフトウェア開発では、「それだけの価値がある」だけでなく、時間が経つにつれて実際には安価になったと結論付けました。ほとんどのユーザーは、コードがめちゃくちゃかどうかや、セキュリティが他のすべてと同じくらい重要視されているかどうかを内部から調べることはないでしょう。しかし、ツールを利用している人は、新しい機能を追加するためにずさんなコードをやり直したり、何が起きているのかを理解するためにプロジェクトの主要部分を調べたり、あるいは最悪のシナリオ、つまりAppSecチームから戻ってきて生産を遅らせた脆弱性の修正に貴重な時間を浪費することになります。コードを安全かつ高品質にするために今時間を費やすことで、不適切に実行された作業を解明するコストは言うまでもなく、将来の悩みの種となる多くの問題を解決できます。
熟練したセキュリティ意識の高い開発者は、エンジニアがプロセスの各段階で制御できる一般的なセキュリティ上の落とし穴を取り除くことを考慮しながら、機能提供における創造的で問題解決のビジョンを維持したコードを書きます。安全なコードは単独ではそれほど効果的ではありません。だからこそ、「左から左」から始めるという概念が、リスクを抑えながら素晴らしい機能を提供する能力に組み込まれた、開発者にとって身近な存在としてのセキュリティ文化を支える助けとなるのです。
安全なユーザーエクスペリエンスには、「左から左」から始めることが重要です。
セキュリティは長い間、ソフトウェアのユーザーエクスペリエンスにおいて考慮されてきましたが、結果は明らかにまちまちでした。セキュリティの設定ミスが原因でした。 クラウドベースのデータ侵害の 21% 過去1年間、パスワードをプレーンテキストで保存するなどのアマチュアアワーのミスにより、影響を受けた企業の生産性、収益、顧客の信頼が著しく低下しました。
さらに、ユーザー自身が自分のデータを保護することになると、ユーザー自身が最悪の敵になる可能性があります。 人が多すぎる 依然として「パスワード」をパスワードとして使用しているか、複数の機密アカウントで同じ組み合わせを使用しています。
ログイン画面で作業しなければならないと言われたときに慌てて判断する開発者は誰もいません。それも不思議ではありません。堅牢で機能的なセキュリティフローを設計し、ユーザーが混乱を最小限に抑えながら意味のある方法でナビゲートできるセキュリティフローを設計するのは微妙なバランスです。
複雑な手順や制限が多すぎると、ユーザーは二度と戻らないように切り替える可能性があり(新しいアプリにとっては災害)、混乱を招きすぎて、アカウントにアクセスしようとするユーザーからの問い合わせに対応する際に、サポートチームが集団的な片頭痛に陥る可能性があります。簡単にしすぎると、セキュリティの部分で失敗しているようなものです。
セキュアなユーザーエクスペリエンスを成功させるには、厳密なセキュリティを理にかなったフローに組み込む必要があります。このフローは、ソフトウェアの魅力である他の要素をすべて損なうことのない方法で提示する必要があります。複雑なパスワード要件、CAPTCHA、ミニボス、4波のゾンビなど、安全なログイン機能をコーディングするという目的は確かに達成できますが、それがユーザーにとって嫌な完全に混乱しているとしたら、それは的外れです。
ソフトウェア・エクセレンスの基礎を築きましょう。
私自身開発者として、私たちの大多数は自分の仕事に誇りを持っており、正しいことをしたいと思っていることを知っています。時間の制約、現在の目標の突然の変更、緊急のホットフィックスなどの厄介なカーブボールは、フローを混乱させ、間違いにつながる可能性がありますが、厳しい真実は、多くのソフトウェアエンジニアが成功するための準備が整っていないということです。
「左から左」から始めることは開発者第一の概念であり、組織はエンジニアリングチームの向上に真剣に取り組む必要があります。セキュリティ意識の高い開発者はそれだけの価値があり、トレーニング、適切なツールの提供、経験豊富な開発者からの指導を受ける機会という形でのサポートを受けることで、ソフトウェアを次のレベルに引き上げるために必要な正確さと細部への配慮を備えた、セキュリティ第一の考え方でコードを作成する環境が育まれます。
あなた自身でセキュア・コーディングの火をつける準備はできていますか? 挑戦に立ち向かえ。

この記事のバージョンが掲載されました ダークリーディング。ここで更新され、シンジケートされました。
セキュリティについて開発者と話すとき、私のモットーの1つは「品質の高いコードは安全なコードだけだ」ということです。これは変わりません。90 年代に脆弱なソフトウェアが世に出ていたとき、私たちは災害を免れたかもしれませんが、今日ではリスクを冒す価値はありません。多くの開発者が長年にわたり、開発者にセキュリティ意識を浸透させるために懸命に取り組んできました。そうすることで、コードの自己評価において、セキュリティが品質と同義語になることを願っています。
しかし、振り返ってみると(そして私の同僚の間でのいくつかの議論も)、それはおそらく概念を単純化しすぎているでしょう。確かに安全でありながら、初心者の開発技法の兆候や、理想的とは言えないその他の問題領域を示すコードを作成することは完全に可能です。
私たちの業界では、「左へのシフト」という概念について長々と語っています。私の考えでは、エンジニアリングチームがセキュリティ (品質の一面) に対する責任を分担できるようにし、共通の脆弱性を (文字通りの) 指先ひとつで消去する権限をエンジニアリングコホートに与えることが、残された「スタートアップ」に尽きます。しかし、現在のこの難問を踏まえると、限界をもう少し押し進める必要があるように思えます。
ある程度の品質のコードもその定義上安全ですが、すべての安全なコードが必ずしも高品質であるとは限りません。純粋に安全なコーディング標準を確保するには、「左から左へ」から始めるのが公式なのでしょうか?
「質の悪い」セキュアコードとはどのようなものですか?
このコードスニペットを拡大鏡で見てみましょう。

セキュリティの観点からこのコードを分析すると、このスニペットは確かに安全であり、攻撃者が SQL Injection の脆弱性を悪用するための入り口にはなりません。
高品質のコードの例ですか?残念ながら、実際にはそうではありません。引数を a から単純に変更しただけです ミント (エーガー) に ストリング value では、自由形式のユーザー入力でクエリを操作できます。これに対し、数値では操作できません。その変更、あるいはどこか別の場所から String sql を無計画にコピーして貼り付けると、SQL インジェクションの脆弱性とそれに伴うすべてのリスクが発生する可能性のある環境がすぐに作り出されます。

ここではセキュリティ対策の範囲が非常に限られていましたが、より徹底した (または経験豊富な) 開発者は別のアプローチを取り、非効率的な引数構造の影響について検討した可能性があります。このようなコードの公開は、不適切なやり方であるだけでなく、開発コホートの他のメンバーにとっても悪い手本となります。
ソフトウェア「三重の脅威」:形態、機能、要塞のような?
エンターテインメント業界における「三重の脅威」とは、演技、ダンス、歌を同等に高いレベルのスキルで発揮できる個人です。彼らはオーディションのたびに恐れられ、うらやましく思われる人々であり、すでに競争の激しい業界のユニコーンなのです。どの業界にも独自のトップクラスの優れた製品とサービスがありますが、ソフトウェアも例外ではありません。
同等の (高品質) 品質でバランスを取るのが難しいアプリケーションの 3 つの重要な要素を考えてみると、それらは機能性/エレガンス、強固なセキュリティ、そして要求される配信速度を考慮した際の費用対効果です。さて、最後の属性は、間違いなく他の2つの選択肢がどの程度うまく適用されるかを決定づける要因であり、時間の経過とともに全体的な品質が低下するきっかけにもなり得ます。
しかし、すべてのソフトウェアがヒュー・ジャックマンのように動作する必要があるのか、それともニコラス・ケイジとうまくやっていけるのか?言い換えると、ウルヴァリンをチームに入れることができれば、ベストを尽くすことになります。
マーティン・ファウラーが質問しました 高品質はコストに見合う価値がありますか? ソフトウェア開発では、「それだけの価値がある」だけでなく、時間が経つにつれて実際には安価になったと結論付けました。ほとんどのユーザーは、コードがめちゃくちゃかどうかや、セキュリティが他のすべてと同じくらい重要視されているかどうかを内部から調べることはないでしょう。しかし、ツールを利用している人は、新しい機能を追加するためにずさんなコードをやり直したり、何が起きているのかを理解するためにプロジェクトの主要部分を調べたり、あるいは最悪のシナリオ、つまりAppSecチームから戻ってきて生産を遅らせた脆弱性の修正に貴重な時間を浪費することになります。コードを安全かつ高品質にするために今時間を費やすことで、不適切に実行された作業を解明するコストは言うまでもなく、将来の悩みの種となる多くの問題を解決できます。
熟練したセキュリティ意識の高い開発者は、エンジニアがプロセスの各段階で制御できる一般的なセキュリティ上の落とし穴を取り除くことを考慮しながら、機能提供における創造的で問題解決のビジョンを維持したコードを書きます。安全なコードは単独ではそれほど効果的ではありません。だからこそ、「左から左」から始めるという概念が、リスクを抑えながら素晴らしい機能を提供する能力に組み込まれた、開発者にとって身近な存在としてのセキュリティ文化を支える助けとなるのです。
安全なユーザーエクスペリエンスには、「左から左」から始めることが重要です。
セキュリティは長い間、ソフトウェアのユーザーエクスペリエンスにおいて考慮されてきましたが、結果は明らかにまちまちでした。セキュリティの設定ミスが原因でした。 クラウドベースのデータ侵害の 21% 過去1年間、パスワードをプレーンテキストで保存するなどのアマチュアアワーのミスにより、影響を受けた企業の生産性、収益、顧客の信頼が著しく低下しました。
さらに、ユーザー自身が自分のデータを保護することになると、ユーザー自身が最悪の敵になる可能性があります。 人が多すぎる 依然として「パスワード」をパスワードとして使用しているか、複数の機密アカウントで同じ組み合わせを使用しています。
ログイン画面で作業しなければならないと言われたときに慌てて判断する開発者は誰もいません。それも不思議ではありません。堅牢で機能的なセキュリティフローを設計し、ユーザーが混乱を最小限に抑えながら意味のある方法でナビゲートできるセキュリティフローを設計するのは微妙なバランスです。
複雑な手順や制限が多すぎると、ユーザーは二度と戻らないように切り替える可能性があり(新しいアプリにとっては災害)、混乱を招きすぎて、アカウントにアクセスしようとするユーザーからの問い合わせに対応する際に、サポートチームが集団的な片頭痛に陥る可能性があります。簡単にしすぎると、セキュリティの部分で失敗しているようなものです。
セキュアなユーザーエクスペリエンスを成功させるには、厳密なセキュリティを理にかなったフローに組み込む必要があります。このフローは、ソフトウェアの魅力である他の要素をすべて損なうことのない方法で提示する必要があります。複雑なパスワード要件、CAPTCHA、ミニボス、4波のゾンビなど、安全なログイン機能をコーディングするという目的は確かに達成できますが、それがユーザーにとって嫌な完全に混乱しているとしたら、それは的外れです。
ソフトウェア・エクセレンスの基礎を築きましょう。
私自身開発者として、私たちの大多数は自分の仕事に誇りを持っており、正しいことをしたいと思っていることを知っています。時間の制約、現在の目標の突然の変更、緊急のホットフィックスなどの厄介なカーブボールは、フローを混乱させ、間違いにつながる可能性がありますが、厳しい真実は、多くのソフトウェアエンジニアが成功するための準備が整っていないということです。
「左から左」から始めることは開発者第一の概念であり、組織はエンジニアリングチームの向上に真剣に取り組む必要があります。セキュリティ意識の高い開発者はそれだけの価値があり、トレーニング、適切なツールの提供、経験豊富な開発者からの指導を受ける機会という形でのサポートを受けることで、ソフトウェアを次のレベルに引き上げるために必要な正確さと細部への配慮を備えた、セキュリティ第一の考え方でコードを作成する環境が育まれます。
あなた自身でセキュア・コーディングの火をつける準備はできていますか? 挑戦に立ち向かえ。

아래 링크를 클릭하여 이 자료의 PDF를 다운로드하십시오.
Secure Code Warrior는 소프트웨어 개발 라이프사이클 전반에 걸쳐 코드를 보호하고 사이버보안을 최우선으로 하는 문화를 구축하는 데 도움을 드립니다. 애플리케이션 보안 관리자, 개발자, CISO 또는 보안 담당자이든, 안전하지 않은 코드와 관련된 위험을 줄이는 데 도움을 드립니다.
보고서 표시데모 예약마티아스 마두 박사는 보안 전문가, 연구원, CTO, 그리고 Secure Code Warrior의 공동 창립자입니다. 마티아스는 겐트 대학교에서 정적 분석 솔루션을 중심으로 애플리케이션 보안 분야 박사 학위를 취득했습니다.이후 미국의 Fortify에 합류하여 개발자가 안전한 코드를 작성하도록 지원하지 않고 단순히 코드 문제를 탐지하는 것만으로는 불충분하다는 점을 깨달았습니다. 이를 계기로 개발자를 지원하고 보안 부담을 줄이며 고객 기대를 뛰어넘는 제품을 개발하게 되었습니다. Team Awesome의 일원으로 책상에 있지 않을 때는 RSA 컨퍼런스, BlackHat, DefCon 등의 컨퍼런스에서 발표하는 무대 발표를 즐깁니다.
마티아스는 15년 이상의 소프트웨어 보안 실무 경험을 가진 연구자이자 개발자입니다. 포티파이 소프트웨어(Fortify Software)와 자신의 회사인 센세이 시큐리티(Sensei Security) 등 기업을 대상으로 솔루션을 개발해 왔습니다. 마티아스는 경력 전반에 걸쳐 여러 애플리케이션 보안 연구 프로젝트를 주도했으며, 이는 상용 제품으로 이어져 10건 이상의 특허를 취득했습니다.업무 외 시간에는 마티아스는 고급 애플리케이션 보안 교육 과정의 강사로 활동하며, RSA 컨퍼런스, 블랙햇, 디프콘, BSIMM, OWASP 앱섹, 브루콘 등 글로벌 컨퍼런스에서 정기적으로 발표를 진행하고 있습니다.
마티아스는 겐트 대학교에서 컴퓨터 공학 박사 학위를 취득했으며, 그곳에서 애플리케이션의 내부 동작을 숨기기 위한 프로그램 난독화를 통한 애플리케이션 보안을 연구했습니다.
この記事のバージョンが掲載されました ダークリーディング。ここで更新され、シンジケートされました。
セキュリティについて開発者と話すとき、私のモットーの1つは「品質の高いコードは安全なコードだけだ」ということです。これは変わりません。90 年代に脆弱なソフトウェアが世に出ていたとき、私たちは災害を免れたかもしれませんが、今日ではリスクを冒す価値はありません。多くの開発者が長年にわたり、開発者にセキュリティ意識を浸透させるために懸命に取り組んできました。そうすることで、コードの自己評価において、セキュリティが品質と同義語になることを願っています。
しかし、振り返ってみると(そして私の同僚の間でのいくつかの議論も)、それはおそらく概念を単純化しすぎているでしょう。確かに安全でありながら、初心者の開発技法の兆候や、理想的とは言えないその他の問題領域を示すコードを作成することは完全に可能です。
私たちの業界では、「左へのシフト」という概念について長々と語っています。私の考えでは、エンジニアリングチームがセキュリティ (品質の一面) に対する責任を分担できるようにし、共通の脆弱性を (文字通りの) 指先ひとつで消去する権限をエンジニアリングコホートに与えることが、残された「スタートアップ」に尽きます。しかし、現在のこの難問を踏まえると、限界をもう少し押し進める必要があるように思えます。
ある程度の品質のコードもその定義上安全ですが、すべての安全なコードが必ずしも高品質であるとは限りません。純粋に安全なコーディング標準を確保するには、「左から左へ」から始めるのが公式なのでしょうか?
「質の悪い」セキュアコードとはどのようなものですか?
このコードスニペットを拡大鏡で見てみましょう。

セキュリティの観点からこのコードを分析すると、このスニペットは確かに安全であり、攻撃者が SQL Injection の脆弱性を悪用するための入り口にはなりません。
高品質のコードの例ですか?残念ながら、実際にはそうではありません。引数を a から単純に変更しただけです ミント (エーガー) に ストリング value では、自由形式のユーザー入力でクエリを操作できます。これに対し、数値では操作できません。その変更、あるいはどこか別の場所から String sql を無計画にコピーして貼り付けると、SQL インジェクションの脆弱性とそれに伴うすべてのリスクが発生する可能性のある環境がすぐに作り出されます。

ここではセキュリティ対策の範囲が非常に限られていましたが、より徹底した (または経験豊富な) 開発者は別のアプローチを取り、非効率的な引数構造の影響について検討した可能性があります。このようなコードの公開は、不適切なやり方であるだけでなく、開発コホートの他のメンバーにとっても悪い手本となります。
ソフトウェア「三重の脅威」:形態、機能、要塞のような?
エンターテインメント業界における「三重の脅威」とは、演技、ダンス、歌を同等に高いレベルのスキルで発揮できる個人です。彼らはオーディションのたびに恐れられ、うらやましく思われる人々であり、すでに競争の激しい業界のユニコーンなのです。どの業界にも独自のトップクラスの優れた製品とサービスがありますが、ソフトウェアも例外ではありません。
同等の (高品質) 品質でバランスを取るのが難しいアプリケーションの 3 つの重要な要素を考えてみると、それらは機能性/エレガンス、強固なセキュリティ、そして要求される配信速度を考慮した際の費用対効果です。さて、最後の属性は、間違いなく他の2つの選択肢がどの程度うまく適用されるかを決定づける要因であり、時間の経過とともに全体的な品質が低下するきっかけにもなり得ます。
しかし、すべてのソフトウェアがヒュー・ジャックマンのように動作する必要があるのか、それともニコラス・ケイジとうまくやっていけるのか?言い換えると、ウルヴァリンをチームに入れることができれば、ベストを尽くすことになります。
マーティン・ファウラーが質問しました 高品質はコストに見合う価値がありますか? ソフトウェア開発では、「それだけの価値がある」だけでなく、時間が経つにつれて実際には安価になったと結論付けました。ほとんどのユーザーは、コードがめちゃくちゃかどうかや、セキュリティが他のすべてと同じくらい重要視されているかどうかを内部から調べることはないでしょう。しかし、ツールを利用している人は、新しい機能を追加するためにずさんなコードをやり直したり、何が起きているのかを理解するためにプロジェクトの主要部分を調べたり、あるいは最悪のシナリオ、つまりAppSecチームから戻ってきて生産を遅らせた脆弱性の修正に貴重な時間を浪費することになります。コードを安全かつ高品質にするために今時間を費やすことで、不適切に実行された作業を解明するコストは言うまでもなく、将来の悩みの種となる多くの問題を解決できます。
熟練したセキュリティ意識の高い開発者は、エンジニアがプロセスの各段階で制御できる一般的なセキュリティ上の落とし穴を取り除くことを考慮しながら、機能提供における創造的で問題解決のビジョンを維持したコードを書きます。安全なコードは単独ではそれほど効果的ではありません。だからこそ、「左から左」から始めるという概念が、リスクを抑えながら素晴らしい機能を提供する能力に組み込まれた、開発者にとって身近な存在としてのセキュリティ文化を支える助けとなるのです。
安全なユーザーエクスペリエンスには、「左から左」から始めることが重要です。
セキュリティは長い間、ソフトウェアのユーザーエクスペリエンスにおいて考慮されてきましたが、結果は明らかにまちまちでした。セキュリティの設定ミスが原因でした。 クラウドベースのデータ侵害の 21% 過去1年間、パスワードをプレーンテキストで保存するなどのアマチュアアワーのミスにより、影響を受けた企業の生産性、収益、顧客の信頼が著しく低下しました。
さらに、ユーザー自身が自分のデータを保護することになると、ユーザー自身が最悪の敵になる可能性があります。 人が多すぎる 依然として「パスワード」をパスワードとして使用しているか、複数の機密アカウントで同じ組み合わせを使用しています。
ログイン画面で作業しなければならないと言われたときに慌てて判断する開発者は誰もいません。それも不思議ではありません。堅牢で機能的なセキュリティフローを設計し、ユーザーが混乱を最小限に抑えながら意味のある方法でナビゲートできるセキュリティフローを設計するのは微妙なバランスです。
複雑な手順や制限が多すぎると、ユーザーは二度と戻らないように切り替える可能性があり(新しいアプリにとっては災害)、混乱を招きすぎて、アカウントにアクセスしようとするユーザーからの問い合わせに対応する際に、サポートチームが集団的な片頭痛に陥る可能性があります。簡単にしすぎると、セキュリティの部分で失敗しているようなものです。
セキュアなユーザーエクスペリエンスを成功させるには、厳密なセキュリティを理にかなったフローに組み込む必要があります。このフローは、ソフトウェアの魅力である他の要素をすべて損なうことのない方法で提示する必要があります。複雑なパスワード要件、CAPTCHA、ミニボス、4波のゾンビなど、安全なログイン機能をコーディングするという目的は確かに達成できますが、それがユーザーにとって嫌な完全に混乱しているとしたら、それは的外れです。
ソフトウェア・エクセレンスの基礎を築きましょう。
私自身開発者として、私たちの大多数は自分の仕事に誇りを持っており、正しいことをしたいと思っていることを知っています。時間の制約、現在の目標の突然の変更、緊急のホットフィックスなどの厄介なカーブボールは、フローを混乱させ、間違いにつながる可能性がありますが、厳しい真実は、多くのソフトウェアエンジニアが成功するための準備が整っていないということです。
「左から左」から始めることは開発者第一の概念であり、組織はエンジニアリングチームの向上に真剣に取り組む必要があります。セキュリティ意識の高い開発者はそれだけの価値があり、トレーニング、適切なツールの提供、経験豊富な開発者からの指導を受ける機会という形でのサポートを受けることで、ソフトウェアを次のレベルに引き上げるために必要な正確さと細部への配慮を備えた、セキュリティ第一の考え方でコードを作成する環境が育まれます。
あなた自身でセキュア・コーディングの火をつける準備はできていますか? 挑戦に立ち向かえ。
목차
마티아스 마두 박사는 보안 전문가, 연구원, CTO, 그리고 Secure Code Warrior의 공동 창립자입니다. 마티아스는 겐트 대학교에서 정적 분석 솔루션을 중심으로 애플리케이션 보안 분야 박사 학위를 취득했습니다.이후 미국의 Fortify에 합류하여 개발자가 안전한 코드를 작성하도록 지원하지 않고 단순히 코드 문제를 탐지하는 것만으로는 불충분하다는 점을 깨달았습니다. 이를 계기로 개발자를 지원하고 보안 부담을 줄이며 고객 기대를 뛰어넘는 제품을 개발하게 되었습니다. Team Awesome의 일원으로 책상에 있지 않을 때는 RSA 컨퍼런스, BlackHat, DefCon 등의 컨퍼런스에서 발표하는 무대 발표를 즐깁니다.

Secure Code Warrior는 소프트웨어 개발 라이프사이클 전반에 걸쳐 코드를 보호하고 사이버보안을 최우선으로 하는 문화를 구축하는 데 도움을 드립니다. 애플리케이션 보안 관리자, 개발자, CISO 또는 보안 담당자이든, 안전하지 않은 코드와 관련된 위험을 줄이는 데 도움을 드립니다.
데모 예약[다운로드]



%20(1).avif)
.avif)
