オープンソース活用研究所 | 本質的な組込みシステム品質改善のすゝめ ~人とツールの役割分担~

本質的な組込みシステム品質改善のすゝめ ~人とツールの役割分担~

オープンソース活用研究所

2016年10月11日
オープンソース活用研究所 所長 寺田雄一

2016年07月21日オージス総研東京本社会議室にて、「組込みシステムの品質を改めて考える(設計フェーズと実装フェーズでの対策)」セミナーが開催されました。

IoTやインダストリー4.0の普及が複雑化を加速させ、組込みシステムの品質を確保することが難しくなっています。組込みシステムの品質は、どのように確保すればよいのでしょうか?

セミナー第一部では、株式会社オージス総研組込みソリューション部部長補佐/シニアコンサルタントの阿左美 勝氏が講演されました。

メーカーのソフトウェアエンジニアとしてキャリアをスタートさせ、オージス総研でソフトウェアの品質改善コンサルタントとして経験を積んできた阿左美氏は、複雑化する組込みシステム開発の現場で数多くの経験を積んでこられました。

今回は、「本質的な組込みシステム品質改善のすゝめ~人とツールの役割分担~」というテーマで、組込みシステムの品質改善についての本質的な考え方を示されました。

本稿では、同講演のハイライトをオープンソース活用研究所所長 寺田雄一がレポートします。

複雑化が進む組込みシステムにおける品質とは?

組込みシステムのなかでもソフトウェアが複雑化し品質確保が難しくなってきている現状において、組込みシステムの品質はどのように確保すればよいのでしょうか?

まず、内部品質、外部品質を含めた組込みシステムの「品質」について、改めて振り返ってみましょう。

組込みシステムにおける「品質」は、JISで定義されています。JISで定義された「品質」とは、機能性、信頼性、使用性(ユーザビリティ)、効率性(性能)、保守性(メンテナンス性)、移植性という6種類の特性であり、さらにその下には、27種類の副特性が定められています。

オージス総研では上記6つの特性に加えて、自分たちが過去に作ったソフトウェアの別の製品での使いやすさを示す「再利用性」という独自の特性を観点に加えています。

スライド-ソフトウェア品質_JISX0129:2003

また6種類の品質特性のうち、機能性、信頼性、使用性、効率性を外部品質、保守性、移植性を内部品質と定義します。

外部品質はユーザーにどれだけ価値を提供できるかという視点での品質であり、内部品質は開発者に与える価値です。オージス総研では、再利用性も内部品質に加えています。

現場は、外部品質のみに対応する「対症療法」が蔓延している。

実際のところ、現場レベルでは、外部品質を満たすことだけで手一杯になり、余力がなくなっているケースが少なくありません。この状態を日常生活に例えるなら、ストレスからお菓子を食べてしまう状態に近いのではないでしょうか。お菓子を食べることで、その瞬間はストレスから開放されたような気分になりますが、これは、あくまでも対症療法に過ぎません。お菓子によって体重が増え、体重が増えるとさらにストレスも増加するというのが実態です。対症療法を行うことで、より悪い結果が導き出されることになるのです。いわゆる、負の連鎖です。

これを、実際の現場にあてはめて考えてみましょう。

障害が発生すると、取り急ぎ、目に見えるその障害を取り除くこと、つまり、外部品質を向上させることに注力します。その結果、手戻のコストなどが増えていくことになります。もしリリース後であれば、そのコストの増大はより大きくなります。

本質的な改善ではなく、目に見える症状だけを改善していく対症療法を繰り返すことで、ひいては内部品質にまでひずみが生じ、今まで機能していた品質が劣化してしまう副作用を引き起こすケースも少なくありません。

スライド-外部品質対症療法例

外部品質はCoverity、内部品質は人間が担うことで品質を確保。

実際のところ、本質的な品質改善の道は遠く、特に内部品質の改善は難易度の高い領域です。

それでも対症療法ではなく本質的な品質改善を目指すのであれば、内部品質と外部品質の内容と質を見極め、外部品質は極力ツールに、内部品質は人間に、といったように、それぞれの適正と役割を明確にすることが必要です。

たとえば、外部品質にCoverity(コベリティ)のようなツールを用いるという手法があります。Coverityは、実用的なバグ検知を実現し、短時間に大量のソースの品質を確保できるソースコード静的解析ツールです。人間に代わってCoverityがソフトウェアのソースコードをすべてチェックし、障害予測も行います。

Coverityによって外部品質が向上すれば、手戻コストと外部品質に費やしていた時間を削減できます。そして、この空いた時間を有効に使って、担当者は内部品質の向上に取組むことができるようになります。ツールと人間を、それぞれの適正によって役割分担させることで、本質的な品質の確保が期待できるのです。

人間とツールの得意分野を見極める。

難易度の高い内部品質を確保するためには、経験値のある人間の対応が必須となります。

そして、その時間とコストを安定させるため、外部品質の向上にCoverityのようなツールを導入するのです。ちなみにCoverityは、ソースコードレビューなどのタスクも得意としており、実装レベルでも役に立ちます。

人間とツールがそれぞれの得意分野に集中することによる恩恵は、品質の確保だけでなく、時間、コストといった効率化の意味でも意義深いことです。本質的な品質確保のために求められるのは、人間とツールの得意分野や役割を見極める視座なのです。

スライド-本質的な品質改善のために


OSSNEWSに広告を掲載しませんか?

著者プロフィール

オープンソース活用研究所 所長 寺田雄一

1993年、株式会社野村総合研究所(NRI)入社。 インフラ系エンジニア、ITアーキテクトとして、証券会社基幹系システム、証券オンライントレードシステム、損保代理店システム、大手流通業基幹系システムなど、大規模システムのアーキテクチャ設計、基盤構築に従事。 2003年、NRI社内に、オープンソースの専門組織の設立を企画、10月に日本初となるオープンソース・ソリューションセンター設立。 2006年、社内ベンチャー制度にて、オープンソース・ワンストップサービス 「OpenStandia(オープンスタンディア)」事業を開始。オープンソースを活用した、企業情報ポータル、情報分析、シングルサインオン、統合ID管理、ドキュメント管理、統合業務システム(ERP)などの事業を次々と展開。 オープンソースビジネス推進協議会(OBCI),OpenAMコンソーシアムなどの業界団体も設立。同会の理事、会長や、NPO法人日本ADempiereの理事などを歴任。 2013年、NRIを退社し、株式会社オープンソース活用研究所を設立。

最新TOPICS

【講演資料を公開】11/11 今、知っておくべきサイバー攻撃の実態 ~一番危険なセキュリティリスクは何なのか?~(2022年12月11日 09:15)

2022年11月11日(金)16:00~17:00 『今、知っておくべきサイバー攻撃の実態 ~一番危険なセキュリティリスクは何なのか?~』 と題したウェビナーが開催されました。 皆様のご参加、誠にありがとうございました。 当日の資料とサマリー動画を以下から無料でご覧いただけます。 ご興味のある企業さま、ぜひご覧ください。

関連オープンソース

OSV-Scanner(OSVスキャナー)

  • その他

「OSV-Scanner」(OSVスキャナー)とは、Google製「脆弱性スキャナー」です。「プロジェクト依存関係リスト」と「既知脆弱性」を照合するための「OSVデータベースへのフロントエンド」を提供します。パッケージリストに対して詳細チェックを実施することで、パッチ適用の必要性情報を得られます。

FreeRADIUS(フリーラディウス)

  • 認証サーバ

FreeRADIUS(フリーラディウス)とは、オープンソースの高機能RADIUSサーバです。「RADIUS」はネットワーク上で「利用者認証」「権限付与」「利用状況記録」などを実施するための認証プロトコルであり、デファクトスタンダードとして広く使用されています。

Google Authenticator(グーグルオーセンティケーター)

  • 認証サーバ

Google Authenticator(グーグルオーセンティケーター)とは、Googleが開発している2段階認証(2要素認証)用トークンソフトウェアです。「SMSテキストメッセージ」「音声通話」「モバイルアプリ」などを使用して認証コードを送信/生成します。Googleサービスのみではなく、他社サービスの認証にも利用できます。

Vuls(バルス)

  • セキュリティソフト

Vuls(バルス)とは脆弱性スキャンツールです。脆弱性データベースから脆弱性情報を取得して、「Linux(FreeBSD)系OS」「各種ミドルウェア」「各種フレームワーク」などに対する脆弱性存在を検査し、詳細情報をレポーティングします。サーバにインストールされているソフトウェアに対する脆弱性存在チェックに利用できます。

WireGuard(ワイヤーガード)

  • ネットワーク系ツール

WireGuard(ワイヤーガード)とは、VPN(Virtual Private Network)ソリューションです。「Linuxカーネルツリーにマージ」「シンプル」「使いやすい」「数行のコードで簡単に実装」「ハイパフォーマンス」「学術研究をベースとして実装されている高いセキュリティ」などを特徴としています。

OpenLDAP(オープンエルダップ)

  • 認証サーバ

OpenLDAP(オープンエルダップ)とは、ディレクトリサービスを提供するオープンソースLDAPサーバです。サーバ間やシステム間で認証連携を行い、ユーザー情報データベースを統合管理することで、シングルサインオンを実現するための共通基盤となります。ディレクトリ情報の一元管理により、運用管理の作業負荷を大幅に削減し、セキュリティを強化できます。

OpenVAS(オープンバス)

  • セキュリティソフト

OpenVAS(オープンバス)とは、セキュリティチェック用脆弱性スキャンツールです。包括的で強力な脆弱性スキャンを行うことで脆弱性管理をサポートします。対象ホストのOSやソフトウェアに既知の脆弱性が含まれているかどうかについて自動でチェックを行い、詳細レポートを作成します。

Metasploit Framework(メタスプロイトフレームワーク)

  • ネットワーク系ツール

Metasploit Framework(メタスプロイトフレームワーク)とは、セキュリティ脆弱性テストフレームワークです。コンピュータセキュリティに関するオープンソースプロジェクトで、「情報収集」「脆弱性検出」「ペネトレーションテスト」などを主な守備範囲としています。

ClamAV(クラムエーブイ)

  • セキュリティソフト

ClamAV(クラムエーブイ)とはアンチウイルスエンジンです。さまざまな「ウイルス」「マルウェア」「悪意のある脅威」などを検出します。「ファイルスキャン」「電子メールスキャン」「Webスキャン」などエンドポイントセキュリティを含むさまざまな状況で利用できます。

Snort(スノート)

  • セキュリティソフト

Snort(スノート)はネットワーク型IDS(不正侵入検知システム)です。ネットワーク上を流れるパケットを解析して、不正パターンに合致するパケットを検知したら警告を発します。「パケットスニファ」や「パケットロガー」としても利用でき、豊富なアウトプットプラグインによる機能拡張が可能です。

OpenAM(オープンエーエム)

  • シングルサインオン

OpenAM(オープンエーエム)とは、オープンソースの認証ソリューションです。「認証」「アクセス認可」「フェデレーション」などの高機能を備え、シングルサインオン機能を提供します。商用製品と同等の機能が実装されており、「アクセス制御の統合/強化」「セキュリティ対策」「個人情報漏洩防止強化」などのメリットがあります。

Keycloak(キークローク)

  • シングルサインオン

Keycloak(キークローク)とは、WebアプリケーションおよびRESTfulWebサービス用のシングルサインオン機能を提供するアクセス管理ソリューションです。「シングルサインオン認証フレームワーク」+「管理コンソール」でシングルサインオン環境を構築するための一通りの機能を提供します。

Shibboleth(シボレス)

  • シングルサインオン

Shibboleth(シボレス)とは、シングルサインオン機能を提供するソリューションです。連合アイデンティティソリューションとして世界で広く展開されており、ユーザーを組織内外の両方のアプリケーションに接続します。

Nmap(エヌマップ)

  • ネットワーク系ツール

Nmap(エヌマップ)とは、ネットワークポートスキャナ(セキュリティスキャナ)であり、ネットワークの検出とセキュリティ監査を行います。

OpenVPN(オープンブイピーエヌ)

  • ネットワーク系ツール

OpenVPN(オープンブイピーエヌ)とは、オープンソースのVPN(Virtual Private Network)構築ソフトウェアです。「堅牢なセキュリティと安定性」が特徴です。

Gluu(グルー)

  • シングルサインオン

Gluu(グルー)とは、オープンソースの認証ソリューションです。アイデンティティおよびアクセス管理を行います。多くの認証プロトコルに対応しています。

WSO2 Identity Server(ダブルエスオーツー アイデンティティ サーバ)

  • シングルサインオン

WSO2 Identity Server(ダブルエスオーツー アイデンティティ サーバ)とは、シングルサインオンソリューションです。アプリケーション/API/クラウド/モバイル間で統合ID管理を行います。

LibreSSL(リブレ エスエスエル)

  • ネットワーク系ツール

LibreSSL(リブレ エスエスエル)とは、SSL/TLSプロトコルのオープンソース実装(通信用ソフトウェア)で、「OpenSSL」の派生改良版です。圧倒的シェアを持つが問題が多い「OpenSSL」を代替できるものとして期待されています。

OpenSSH(オープンエスエスエイチ)

  • ネットワーク系ツール

OpenSSH(オープンエスエスエイチ)。ネットワーク経由通信を暗号化する「SSH」のオープンソース実装です。おもにUNIX/Linuxサーバに対するネットワーク経由でのリモートログインに使用します。

OpenSSL(オープンエスエスエル)

  • ネットワーク系ツール

OpenSSL(オープンエスエスエル)。オープンソースSSL/TLS暗号化ライブラリです。世界中のWebサイトで圧倒的シェアを持っており、事実上の業界標準となっています。

Apache DS(アパッチディーエス)

  • 認証サーバ

Apache DS(アパッチディーエス)。オープンソースのLDAP(ディレクトリ)サーバです。「Apache Directory」プロジェクトで開発されています。

389 Directory Server(389ディレクトリサーバ)

  • 認証サーバ

389 Directory Server(389ディレクトリサーバ)。オープンソースディレクトリサーバです。「Fedora Directory Server」の後継で、商用製品の流れを受けており、ユーザフレンドリーなGUIツールの充実などが特徴です。

OpenIDM(オープンアイディーエム)

  • ID管理

OpenIDM(オープンアイディーエム)。高い柔軟性と拡張性を備え、エンタープライズ/クラウド/モバイル/ソーシャル/レガシーなど多様な環境において、ユーザアカウントのプロビジョニングとライフサイクルの一元管理を実現するID管理製品です。

LISM(リズム)

  • ID管理

LISM(リズム)。シンプルな使いやすさが特徴のID統合管理ソリューションです。

OpenDJ(オープンディージェー)

  • 認証サーバ

OpenDJ(オープンディージェー)。OpenAMに内蔵されており、先進的なレプリケーションアーキテクチャや「REST API」を搭載したLDAP準拠の高機能オープンソースディレクトリサーバです。

バックナンバー

関連記事

無料資料プレゼント

2021/03/04 セキュリティDAYS Keyspider資料

講演資料を見るには、 プライバシーポリシーに同意して、送付先メールアドレスをご入力しご請求ください。

またご入力いただきました情報は、当該資料の作成・提供企業とも共有させていただき、当社及び各社のサービス、製品、セミナー、イベントなどのご案内に使用させていただきます。

本資料を見るには次の画面でアンケートに回答していただく必要があります。



セミナー講演資料公開中

企業毎に異なる、最適なDDoS対策とその選び方 ~業界をリードするRadwareが最適なソリューションの選択方法ガイドを解説~

世界最高峰のリアルハッカー集団を活用した脆弱性対策 ~米国政府も採用、脆弱性診断・ペネトレーションテストを大胆に変革する方法~

ランサムウェアやBCP、中小企業のデータ保護対策はなぜ難しいのか? ~リスクの現状理解から始める、より簡単に実現できるサイバー攻撃対応策~

  • オープソース書籍(サイド)

facebook

twitter