この放送では、クラウドストライクというセキュリティ会社のソフトウェアにバグが発生し、世界中のWindowsマシンがフリーズしたり、飛行機や発電所が停止するという重大な問題が起きたことが説明されています。特に問題となったのは、システムの重要部分である「ドライバー」と呼ばれるソフトウェアモジュールにバグがあったため、パソコンが正常に起動しなくなり、復旧が非常に困難だったことです。 ドライバーは、アプリケーションとは異なり、システム全体にアクセスできる重要な役割を持っており、バグが発生すると深刻な影響を及ぼします。クラウドストライクはセキュリティを強化するためにこのような高度な権限を持つドライバーを使用していましたが、それが今回の大規模なトラブルの原因となりました。 要するに、ドライバーにバグがあると、パソコンの基本的な動作が停止し、復旧が非常に難しくなるため、今回のような大問題が発生してしまったということです。 【全文】 では この放送はカジュアル面談関係の求人が 1万8000件以上 企業との会話がから始められる 電飾マッチングサイトグリーンの映像でお届けします こんにちは 今日は日本のニュースになっていると思いますけど 世界中のWindowsマシンをフリーズさせて 飛行機を止めちゃったり 発電所を止めちゃったりした 大問題が起こしたクラウドストライクという会社の ソフトのバグなんですけど なんでそんなことが起こっちゃったかという話を 今日は簡単に 人間の心を 人間の体に例えて説明しようと思います 僕らの普段触れているアプリ 例えばスマホのアプリとか Windowsアプリでもそうですけど アプリっていうのは 人間の体でいうと 洋服とかがアクセサリーみたいなもので 確かに変な洋服を着ちゃうと 動きにくかったり重かったり 寒かったりするかもしれないけど でもたかが洋服なんで 脱いで別の服に着ればいいと っていう話なんですけど 今回クラウドストライクが バグを発生させた ソフトウェアのモジュールっていうのは アプリじゃなくて ドライバーって呼ばれるものなんですよ Windowsが立ち上がるときに システムレベルで呼んできて ドライバーっていうのは アプリケーションと違って かなり強い特権を持って システムの いろんなリソースにアクセスできるんですけど 人間に例えると 洋服なんかみたいな 簡単なもんじゃなくて 例えば心臓にパルスを送る ペースメーカーだったり もしくは人工臓器みたいな 存在なんですよ ドライバーっていうのは 人間が生きていく上で 必須なもの コンピューターが立ち上がって ドライバーがちゃんと動くっていうのは ものすごく大事なことで そこにバグがあると 当然そのペースメーカーに バグがあったら 人間死んじゃうじゃないですか 心臓が止まるように それと同じように ドライバーにバグがあると パソコンが立ち上がらなくなっちゃうんですよ 有名なブルースクリーン って言われちゃって 厄介なことに アプリのバグぐらいだと 一回よく電源切って 立ち直す リブートすると 治るじゃないですか ドライバーのバグの場合は そうはいかないんですよ ドライバーのバグで もう一回リブートしようとしても またWindowsでそれを ロードに行くので 同じバグに当たってしまって 一回電源切って もう一回電源入れても ブルースクリーンになるという 非常に厄介な状況で でも普通の人 電力会社で 普通にシステムいじってる人とか 空港のパネル ゲートでチェックイン 受付してる人とか 今は直せないですよね あれを直すには Windowsを セーフモードっていう 特殊なモードで立ち上げて まずドライバーなしで Windowsを立ち上げた上で 悪さをしてるドライバーを外す そして立ち上げるってことを しなきゃいけなくて 普通の人はできないですよね パソコンに知識のある人じゃなきゃできないので 普通のパソコンユーザーにはできない というような問題なので 復活のしようがないということで またこの問題が長引いちゃって 復旧に掃除がかかってる そういう状況なんですよ ということで ドライバーにバグを起こしちゃいけないですよね アプリだってバグなんかは起こしちゃいけないんだけど ドライバー OSとかドライバーとか そういう時計を持って 走るような部分にバグがあるっていうのは 本当にこういう致命的な 問題を生じさせるので こんな大きな事件になってしまいました そもそもなんで クラウドストライクが そんなにアプリじゃなくて ベースメーカーみたいに システムの中に 入り込まなきゃいけなかったかっていうと 要はクラウドストライクって セキュリティーの会社なので ハッカーがパソコンを乗っ取った時に それを感知するとか 変なウイルスが入ってた時に 見つけるとかしなきゃいけないので ある意味警察官みたいな役目を してるので アプリだったら 自分が担当してるアプリが アクセスできる領域にしか アクセスできないんだけど それだとウイルスが入ってきても 認知できないので 特殊な特権を 警察官みたいな特権を持って システムの部分にでも アクセスできるようになってきた っていう仕組みだからこそ ドライバーを出なきゃいけないからこそ バグだったらいけなかったんだけど 大失敗ですよね 私もOS作ってた エンジニアの一人で そのバグを 今回生じさせてしまった人の 気持ちになると もういたたまれないですよね というぐらいになるんだけど 大不祥事ですと ということで 普及に時間を買っても そんなのが理由です ということで 今回は漠然とですけど 要は人間に例えれば ベースメーカーとか 人工臓器に相当するような ドライバーっていう部分に バグが生じたせいで こんなことになってしまった ということだけ ちょっと頭に残して おいていただければいいと思います  
なぜクラウドストライクはwindowsパソコンの主要な部分にアクセスできるのですか?
クラウドストライクがWindowsパソコンの主要な部分にアクセスできる理由は、彼らが提供するセキュリティソフトウェアがシステム全体を監視し、保護するために特別な権限を必要とするからです。具体的には、以下のような理由があります: 1. セキュリティ保護のための高度な監視能力 クラウドストライクのソフトウェアは、ウイルスやマルウェアなどの脅威からシステムを保護するために、システムの深いレベルにアクセスする必要があります。これにより、通常のアプリケーションでは検知できないような、システムの奥深くに潜んでいる脅威を検出することができます。 2. 特権的なアクセス権限 セキュリティソフトウェアが効果的に機能するためには、システム内のあらゆる動作を監視し、必要に応じて介入する能力が必要です。そのため、クラウドストライクのソフトウェアは「ドライバー」と呼ばれるシステムレベルのソフトウェアコンポーネントとして動作します。ドライバーは、OSの重要な部分にアクセスし、システムリソースを管理するための特権的なアクセス権限を持っています。 3. リアルタイムの脅威検出と対策 ハッカーやマルウェアがシステムに侵入した場合、その活動をリアルタイムで検出し、対処する必要があります。このため、クラウドストライクのようなセキュリティソフトは、OSのカーネル(中核部分)やシステムプロセスに対して、直接的にアクセスし、異常な動作を即座に検知・阻止できるように設計されています。 4. セキュリティ対策の効果を最大化 クラウドストライクは、セキュリティを強化するために、通常のアプリケーションよりも深いレベルでシステムを監視し、保護する必要があります。このために、Windowsの主要部分(カーネルやドライバー)にアクセスする能力が必要です。 このような理由から、クラウドストライクはWindowsパソコンの主要な部分にアクセスできる特権的な位置にあり、その結果、システムの安全性を高めることができる一方で、バグが発生するとシステム全体に重大な影響を与えるリスクも伴います。
Windowsパソコンの主要な部分にアクセスできる特権を持っている企業はどの程度いますか?
Windowsパソコンの主要な部分(カーネルやドライバー)にアクセスできる特権を持っている企業は、以下のような特定の種類の企業に限られています。これらの企業は、特定の目的のためにシステムの深いレベルにアクセスする必要があり、そのための特権を持っています。 1. セキュリティソフトウェア企業 例: クラウドストライク、シマンテック、マカフィー、トレンドマイクロなど。 理由: ウイルス対策ソフトやエンドポイントセキュリティソフトウェアは、システム全体を保護するために、カーネルやシステムドライバーにアクセスする必要があります。これにより、システムの奥深くで動作するマルウェアを検出し、除去することが可能になります。 2. ハードウェアドライバーの提供企業 例: インテル、NVIDIA、AMD、リアルテックなどのハードウェアメーカー。 理由: これらの企業は、自社のハードウェア(例: グラフィックカード、ネットワークカード、チップセットなど)を動作させるために必要なドライバーを提供します。これらのドライバーは、OSとハードウェアの間のインターフェースを提供するため、システムの深いレベルにアクセスします。 3. 仮想化技術を提供する企業 例: VMware、マイクロソフト(Hyper-V)、オラクル(VirtualBox)など。 理由: 仮想化ソフトウェアは、複数のOSを同時に実行するために、システムのリソースを仮想化し、管理する必要があります。このため、カーネルやドライバーにアクセスし、直接的にシステムリソースを制御する特権が必要です。 4. 特定のシステムツールを提供する企業 例: パーティション管理ソフトウェアの提供企業(例: パラゴン、EaseUS)、ディスク暗号化ソフトウェアの提供企業(例: BitLocker、VeraCrypt)。 理由: これらのツールは、ディスク管理や暗号化のためにシステムレベルでの操作を行う必要があり、ドライバーやカーネルにアクセスする特権を持っています。 5. OS開発企業 例: マイクロソフト(Windows)、Red Hat(Linux)、Apple(macOS)。 理由: これらの企業は、OS自体を開発しているため、システム全体のあらゆる部分にアクセスする特権を持っています。 結論 Windowsの主要な部分にアクセスできる特権を持っている企業は、主にセキュリティソフトウェア、ハードウェアドライバー、仮想化技術、システムツール、およびOS開発に関連する企業に限られます。これらの企業は、特定の機能を提供するためにシステムの深いレベルにアクセスする必要があり、そのための特権を持つことが許されています。一般的なアプリケーション開発者には、このような特権は付与されません。
How can these companies ensure safety?
Companies with access to the critical components of a Windows system, such as the kernel and system drivers, must implement rigorous security practices to ensure the safety and integrity of their software. Here are some key strategies they use: 1. Code Review and Quality Assurance (QA) Rigorous Code Review: All code, especially that which interacts with the kernel or drivers, undergoes multiple levels of peer review by experienced developers. This helps catch potential vulnerabilities or bugs before the code is released. Automated Testing: Extensive automated testing, including unit tests, integration tests, and system tests, is conducted to ensure the software behaves as expected under various conditions. Manual QA: In addition to automated testing, manual QA processes are in place to test the software in real-world scenarios, further reducing the risk of errors. 2. Security Audits Internal Audits: Regular internal security audits are conducted to review the code and system architecture for potential vulnerabilities. External Audits: Companies often employ third-party security firms to perform external audits and penetration testing. These audits help identify vulnerabilities that internal teams might have missed. 3. Code Signing Digital Signatures: All drivers and critical software components are digitally signed with a cryptographic certificate. This ensures that the code is from a trusted source and has not been tampered with. Windows enforces strict rules regarding unsigned drivers, preventing them from being loaded by default. Certificate Management: Companies must manage their code-signing certificates securely, ensuring they are not compromised. If a certificate is compromised, it can lead to malicious code being signed and trusted by systems. 4. Secure Development Lifecycle (SDL) Security Training: Developers receive ongoing training on secure coding practices, helping them understand how to write secure code and avoid common pitfalls like buffer overflows, race conditions, and privilege escalation. Threat Modeling: Before development begins, teams engage in threat modeling to anticipate potential security risks and design the software to mitigate these threats from the outset. Secure Libraries: Developers use well-vetted, secure libraries and frameworks that have been proven to handle security-critical tasks properly, such as encryption, authentication, and data handling. 5. Regular Patching and Updates Vulnerability Patching: When vulnerabilities are discovered, companies are responsible for promptly issuing patches to fix them. This includes both the software itself and any dependencies it uses. Automatic Updates: Companies often deploy automatic updates to ensure that users are always running the latest, most secure version of the software. 6. Monitoring and Incident Response Real-Time Monitoring: Companies monitor their deployed software for signs of unusual activity or exploitation attempts. This includes both user reports and automated monitoring tools. Incident Response: A dedicated incident response team is ready to react quickly to security incidents. They analyze the situation, develop a patch, and deploy it as soon as possible to minimize the impact of any vulnerabilities. 7. User Education Documentation and Training: Providing comprehensive documentation and training to end-users and administrators helps ensure the software is used securely and effectively. Security Best Practices: Companies educate their users on security best practices, such as keeping their systems updated, using strong passwords, and not disabling essential security features. 8. Compliance and Certification Industry Standards: Companies often adhere to industry security standards such as ISO 27001, NIST, or PCI DSS, depending on the nature of their software and the industry they serve. Certification Programs: Participation in certification programs (e.g., Microsoft’s Windows Hardware Compatibility Program) ensures that their drivers and software meet the stringent security and performance criteria required for integration with Windows systems. Conclusion By implementing these strategies, companies can significantly reduce the risk of introducing vulnerabilities into critical system components and ensure that their software operates securely within the Windows ecosystem. However, maintaining security is an ongoing process that requires constant vigilance, regular updates, and adaptation to new and emerging threats.