OSSにおけるセキュリティ技術の必要性
はじめに
OSS分野でも近年、日々高まる脅威の中でセキュリティ技術が急速に進化してきていますが、日本国内ではその動向はあまり発信されていませんでした。このような状況を受け、2017年3月に「OSSセキュリティ技術の会」が設立されました(「拡がるOSSセキュリティ需要に向け、最新情報を発信する勉強会を開催!」)。
本連載では、これまで発信されていなかったセキュリティ動向について、OSSセキュリティ技術の会の有志が最新の技術と情報を解説していきます。第1回の今回は、個々の技術を解説する前に、OSSセキュリティ技術の会が設立される背景となった脅威の動向について見ていきましょう。
脅威の動向
近年インターネット上のサイバー攻撃はさらに激しくなってきています。特に最近は、脆弱性を利用した攻撃や、マルウェアによる攻撃も猛威を振るっています。昨年から今年にかけてだけでも、下記の攻撃が話題になりました。
- IoTを利用したDDoS攻撃
- Struts2等の脆弱性を利用した情報の不正取得
- WannaCryランサムウェア、SambaCry、Petyaランサムウェアなどのランサムウェアによる攻撃
単純に公開された脆弱性情報だけを見ても、昨年末から急激に数が増えています(図1)。
実際、サイバー空間は陸・海・空・宇宙に続く「第五の戦場」と呼ばれており、各国も専門家を育成して対処にあたっていますが、単に防衛だけでなく攻撃にも使用されてきているため、今までの愉快犯的な攻撃から高度な知識を持った専門家による攻撃というフェーズに移っています。このような攻撃者はなるべく目立たない様に攻撃を行うため、攻撃された側はなかなか検知できません。そのため、攻撃を検知してから対応するというだけでなく、そもそもの攻撃に対する堅牢なシステムを構築する必要があります。
逆に攻撃を大々的に行って相手のシステムをダウンさせるようなDDoS攻撃もIoTを利用することでより激しく行われています。このような状況では、対応するサーバやネットワーク機器だけでなく、IoTデバイス自身にもセキュリティ強化を行う必要があると言われています。
セキュリティの強化
このような脅威が我々を取り囲む中、2020年の東京オリンピック・パラリンピックを前に政府主導の下でセキュリティ強化が図られています。オリンピックは各国が威信をかけて取り組むため、必要とされるシステムの安全性は必ず担保されなくてはなりません。例えば、ドーピング検査や各種不正のチェックに使用されるシステムが各国からの攻撃対象になることは容易に想像できるでしょう。これらのシステムのセキュリティを強化するために、不足しているセキュリティ人材の確保など様々な取り組みがなされています。
とは言え、ひと言で「情報セキュリティの強化」と言っても、多くの分野があります。(相互関連するものもありますが)さっと思いつくだけでも下記のようなものが考えられます。
- マルウェア対策(ウイルス、ランサムウェアなどを含む)
- セキュリティ アセスメント
- セキュリティ診断(ネットワーク)
- セキュリティ診断(Webアプリケーション)
- セキュリティ診断(データベース)
- ペネトレーション テスト
- ソースコード診断
- 認証
- 暗号
- アクセス制御
- セキュリティパッチ
- ログ管理
- インシデント対策
- CSIRT構築
- IoT対策
これらの対策・診断など、全てを実施するには膨大なコストがかかります。コストには、時間的なリソースと金銭的なリソースがあります。大企業であれば膨大なコストをかけることが可能な場合もありますが、大抵の場合はそれほどコストをかけられないのが実情です。
強化すべきセキュリティと予算の関係
セキュリティの強化とそのコストを考えた時に、一番有効なのは「弱点」を強化していくことです。弱点を強化していけば全体的なセキュリティ強度が高まります。例えば、いくら強固な城壁を築いても、一部分の城壁が低ければ、その一点突破されて城は陥落してしまいます。つまり、城壁の低い部分(セキュリティの弱い部分)を強固にしていけば、全体的なセキュリティ強化に繋がるわけです(図2)。
それでは、どこが弱点なのでしょうか。弱点を把握している組織もあれば、そうではない組織もあります。もっと言えば、弱点を把握していても、その弱点を補強するためのコストがかけられない組織が多くあります。日本では、一般的にセキュリティは「利益を追求する組織を害するもの」と考えられがちです(これは非常に悲しい考えであり、セキュリティ人材が不足する原因の1つになっています)。そのため、そのセキュリティは会社役員の承認が取りづらく、その結果、予算も取れないことが多いようです。会社役員を説得するために奔走する社内IT担当者の悲痛な声を多く聞いてきました。
実際に会社役員を説得するには、下記のやり方が有効でした。
- セキュリティアセスメントを実施し、現在のセキュリティ強度を可視化(得点付け)する
- (匿名で)同業他社のセキュリティアセスメントの結果を提示する
セキュリティアセスメントの結果だけを提示しても効果がある場合もありますが、予算を確保してくれる役員はあまりいません。同業他社のセキュリティ強度と自社を比較して、劣っている場合に予算を確保してくれるケースが多いのです。その理由は単純です。セキュリティインシデントが発生した場合、同業他社よりセキュリティ強度が低ければ、世間や株主の矛先が会社役員に向けられるからです。もちろんそれだけではないでしょうが、同業他社のセキュリティ アセスメントの結果には興味を持ってもらえます。
OSSとセキュリティ技術の関わり
OSSとセキュリティ技術の関わりには、大きく分けて2種類があると思われます。
- 商用のセキュリティ製品をOSSに置き換える
- Linux等のOSS技術のセキュリティを高める
それぞれ、詳しく見ていきましょう。
(1)商用のセキュリティ製品をOSSに置き換える
OSSと言うと「最新技術を追いかけて開発することに主眼が置かれている」と捉えられがちで、一見すると関係性はないように思われます。特にセキュリティ製品はクローズドな環境で専門家が開発しており、肝心な個所はブラックボックス化されているため、OSSの思想とは相入れない印象があります。
しかし、あまり知られていませんが、実は商用のセキュリティ製品にもOSSの技術が使われていたりします。少し前の話になりますが、2014年4月に公開されたOpenSSLの脆弱性である「HeartBleed」が攻撃を受けた際、Cisco等数多くのセキュリティ製品にも被害の報告と修正が行われました。
そのほか、各種の商用セキュリティ製品と同等の機能/スペックがクラウドなどの環境の発達によりOSSでも提供されています。これにより、かつては専用ハードウェアを利用しなくては不可能だった攻撃の解析などがOSS+クラウドなどでもできるようになりました。
このように、最近ではOSSでセキュリティが提供されることも珍しくなくなってきました。利用面で考えれば「今まで商用製品で提供されてきたセキュリティがOSSでも実現できるようになった」と言えますし、また技術面で考えれば「今までブラックボックス化されていた商用のセキュリティ製品と同等の機能がOSSでも提供されたため、機能の概要が詳細にわかるようになった」とも言えます。
ただし、この「商用のセキュリティ製品をOSSに置き換える」ことを「OSSは無償で使える」という考え方からコスト面に主眼を置きすぎると問題が発生するでしょう。特に、会社役員などを説得するために高価な商用セキュリティ製品をOSSに置き換えるという考え方で提案すると、実際に開発・運用コストを計算した際に(あるいは導入後しばらく経ってコストを計算した際に)、「思ったよりもコストが下がっていない」と愕然とされてしまいます。
筆者の経験でも、「商用製品とOSSのコストを比較してくれ」と言われた場合には、あまりコストが下がらないケースが多々あります。それには、下記のようなOSSではよくある話が元になっています。
- 製品の初期導入コストのみを考え、サポート料は考慮されていない
- 実運用段階になった際の定期的なメンテナンスでOSS特有の状況(マニュアルが整備されていない等)が考慮されていない
- バグフィックスなど製品に修正を加える際に、OSSを利用するための相応のスキルが必要とされる箇所が考慮されていない
しかし、これらは「ある程度のスキルとマニュアル整備に時間を割くことで吸収できる差異」であり、最初にその分を加味したコスト比較をしておけば、「コストが(想像していたほど)下がらない」というイメージを払拭できます。
また、(セキュリティ製品だけに関しての事情ですが)一般的にセキュリティ製品は運用フェーズへの導入・またメンテナンスにも相応のコストが発生します。例えば、下記のような操作は一般の管理者では対応しづらく、専用のトレーニングを受けた管理者が対応するケースが多くあります。
- FireWallに新たなルールを加える
- VPNでの接続に新たな拠点を加えるため、グループとユーザを追加する
- SPAMフィルタでの誤検知が多いためフィルタを調整する
このような専用のトレーニング料や特別な(スポットでの)メーカー作業支援などのコストを考えると、OSSによる置き換えがコストに及ぼす影響は、一般の(例えばDB等の)商用製品からOSSへの置き換えに比べて大きくなります。
(2)Linux等のOSS技術のセキュリティを高める
最近では、「最新技術を追いかけて開発することに主眼が置かれている」際には主にOSSが使われるようになっています。昨今ではDevOpsやコンテナ化などの最新技術がOSSで提供されることが多くなってきています。OSSを使うと初期の研究・開発時にソフトのコストが(ほぼ)無料になるため、このような流れになるのは当然でしょう。また、クラウド基盤を使うことでプラットフォームとしてのシステムコストも節約できるため、「OSS+クラウドによる最新技術の開発」という流れは今後も続いていくことでしょう。
このように、最新技術がOSSで提供されるようになる中で、その中で使用されるOSSのセキュリティ技術も、(もちろん商用のセキュリティ製品も使用可能ですが)、OSS自身のセキュリティ機構もOSSで開発され、使われるようになっています。
本連載の解説内容について
本連載では、OSSとセキュリティについて前項で触れた下記の2つの観点から「前編」「後編」に分けて構成していきます。
- 商用のセキュリティ製品をOSSに置き換える
- Linux等のOSS技術のセキュリティを高める
連載テーマ | セキュリティ技術 |
---|---|
【前編】 商用のセキュリティ製品をOSSに置き換える |
ホスト(AntiVirus) |
検査ツール | |
WAFやネットワーク系 | |
【後編】 Linux等のOSS技術のセキュリティを高める |
認証(freeIPA等) |
強制アクセス制御(SELinux) | |
パッチ/ログ等運用 |
【前編】の解説内容
次回からは、まず前編として「商用のセキュリティ製品をOSSに置き換える」技術として、まず「ウイルス対策」について解説します。コンピュータウイルスが誕生してから延々と続くウイルスとの戦いですが、オープンソースを用いて、その戦いを助けるヒントを記載していきます。具体的には、サンドボックスの「Cuckoo」とマルチAVスキャナーの「Malice」「IRMA(Incident Response Malware Analysis)」です。
次に、「検査ツール」について解説します。有償の検査ツールは優秀ですが、OSSにも優秀なツールが存在します。その中でも特に有名な「nmap」「Nessus」「OpenVAS(Open Vulnerability Assessment System)」を紹介します。また、最近では「ソースコードの脆弱性検査」もOSSのツールが多数活用されてきているので、それらについても紹介します。その他、システムの設定やバージョンなどが組織で必要な標準に該当しているかなどを検査する「OpenSCAP」も紹介します。
さらに、「WAF(Web Application Firewall)」や「ネットワーク系」についても解説します。クラウド型のWAFの普及に伴い、大・中規模のWebサイトにも導入されてきている感覚があります。
【後編】の解説内容
後編の「Linux等のOSS技術のセキュリティを高める」技術では、まず「認証(FreeIPAなど)」について解説します。FreeIPAは、基本的にActive Directory(AD)と同等のLDAPおよびKerberosによる認証基盤ですが、Linux/UNIXシステムでの必要性にフォーカスしています。Sambaとは異なりADを置き換えることは考えていません。FreeIPAはネイティブのLinuxプロジェクトで、単体で使うケースだけではなく、ADが存在する環境で利用するケースを考慮しています。
次に、「強制アクセス制御」について解説します。脆弱性に即座に対処することが難しくなっている中、近年では最後の砦として被害を最小限に軽減する強制アクセス制御技術が改めて脚光を浴びつつあります。ここでは、強制アクセス制御技術の代表格である「SELinux」を紹介します。
最後に、「パッチ」「ログ」などの運用について解説します。セキュリティパッチ適用の必要性が再認識させられている昨今です。また、インシデント対応やインシデント予兆の確認のために、ログが活用されています。それらのパッチ適用ができているか、ログから何か予兆は出ていないかなどを集中して管理するための運用について紹介します。