VLCメディアプレーヤー
VLCメディアプレーヤー(VLC media player, VideoLAN Client)は、クロスプラットフォームで動作するメディアプレーヤーである。非常に多くのメディアファイル用コーデックが内蔵されており、動画ファイルや音声ファイルなど多くのメディアファイルを再生、表示することができる。GPL下で公開されているフリーソフトウェアである。
VLCメディアプレーヤーは、フランスの名門校であるエコール・セントラル・パリの学生らによって、VideoLANプロジェクトの一部として開発された。「VLC」とは、「Video LAN Client」の頭文字・略称である。
VLCメディアプレーヤーは、コーデックを内蔵し、DVD-Video、ビデオCDの他、さまざまなストリーミングプロトコルやをサポートしている。
広帯域ネットワーク上のIPv4ないしIPv6におけるユニキャスト、マルチキャストのストリームのサーバとしても使われる。
内蔵されているのは、FFmpegプロジェクトのlibavcodecコーデックライブラリである。暗号化されたDVD-Videoの再生を扱うためには、libdvdcssDVD暗号復文ライブラリを用いている。
VLCメディアプレーヤーの大きな特徴は、対応するコーデックの数が多いことである。
コーデックとは、データの圧縮・伸張(解凍)を行ったり、符号化方式を使ってデータのエンコード(符号化)と デコード(復号)を双方向で行ったりするプログラムである。
現在、世界のメディアプレイヤーの中で、VLCメディアプレーヤーの対応するコーデックの数の多さは、群を抜いている。
コーデックは「VLCメディアプレーヤー」の中に内蔵されており、別途入手する必要はない。
また、VLCメディアプレーヤーはネットワーク上のサーバのファイルを再生するためのクライアントソフトとして開発されたため、ブラウザや端末上からでも比較的簡単にストリーミング再生などを行うことができる。ポッドキャストにも対応している。
上記のクライアントのような使い方をしない大半のユーザはQtを使用したシンプルなGUIから操作する。
VLCに対して設定できる項目は非常に多い。そのため、画面をシンプルにみせるようにした設定画面が用意されている。
QtのGUIはスキンと呼ばれるもので見た目を自在に変更できる。スキンはVLCの公式ページなどでダウンロードできる。
VLCメディアプレーヤーはポータブルアプリケーションとしても使うこともできる。
VLCメディアプレーヤーは今までにが、これはセキュアプログラミングに対する関心が低かった頃に開発されたことに関係すると思われる。
VLCメディアプレーヤーのソースコードを見るかぎり、「バージョン3.0.16」においても根本的な解決がなされていない。問題は以下の通りである。
sscanf, strcpyなど、バッファオーバーランを起こし得るとして現在では使用が避けられる、安全でない文字列操作関数がVLCに多数使われている。これらの関数はヌル終端文字列を処理することを前提としており、もし文字列が0で終わらないよう細工された長大な動画があったとすると、CPUが例外処理を起こすまで文字列を操作し続けることになる。 (例:  vlmshell.c,  cpu.c, dirs.c, objects.c, text_style.c, update.c, update_crypt.c, vout_intf.c, thread.c  等)
sscanf_sなど安全を考慮した代替関数があるにも関わらず、VLCはまだそれらに置き換えられていない。つまり、これまでの脆弱性への対策が根本的でなかったことを示している。
よって、VLCの使用にあたってはリスクが伴う点に留意すべきである。
2022年05月09日、PC Matic個人版の日本人利用者が、PC Maticと他社セキュリティソフトの両方がインストールされた状態の端末において、何者かによって「VLC media player」の深刻な脆弱性を悪用され、Windowsの「VNC」が勝手にインストールされ、そして、自分の端末を何者かによって遠隔操作されるという事案が発生した。
その時、日本人利用者はその遠隔操作に気がつき、画面上で勝手にエクスプローラーを操作されることに違和感を感じて、即座にイーサネットケーブルを抜いて、事なきを得たという。
4月5日にも、VLC media playerは「Cicada 」( 他の呼称:APT10、Stone Panda、 Cloud Hopper)によって、そのVLCの深刻な脆弱性を悪用された。
「Cicada」(別名、APT10)とは、中国政府の関与が指摘されているサイバー犯罪集団である。日本政府は2018年12月に外務報道官談話を発表し、日本が中国を拠点とする「Cicada」(別名、APT10)から攻撃を受けていることを明かし、「Cicada」(別名、APT10)の攻撃を厳しく非難した。
「Cicada」(別名、APT10)によるVLCを使った攻撃を報告したのはSymantecの研究グループで、その攻撃は2021年から行われた可能性があるという。
その報告によれば、「Cicada」(別名、APT10)の攻撃の手口は、まず
正規のVLCのエクスポート機能を悪用して、標的のPCでカスタムローダーをひそかに起動する。
その次に、一般に広く利用されているWindowsの「VNC」(Virtual Network Computing)ツールを使ってリモート制御を確立していく。
その後、検出の回避やシステムのスキャン、悪意のある他のツールのダウンロード、外部の C2(コマンド&コントロール)サーバとの通信の確立などを行う。
そして、自分たちの標的とするシステムを自分たちの完全な制御下に置いていく。
というものである。
「Cicada」(別名、APT10)は、以前は日本に関連した企業を中心に標的にして攻撃していたが、最近のVLCを用いた攻撃の被害者は、アメリカ、カナダ、香港、トルコ、イスラエル、インド、モンテネグロ、イタリア、などの政府機関、司法組織、宗教組織、非政府組織(NGO)にも広がっている。また、攻撃する時は、一部の被害者のネットワークに9か月という長い時間をかけて侵入しているという。
VLCの公式ウェブサイトがブロックされ、インド政府に法的通知を送ったことが報じられた。
なりすましサイトの除外を拒否したと告発。
他のプログラムからVLCの機能にアクセスするためのAPIが用意されている。
VLCのコーデックはCで書かれたlibvlcというプログラムに内蔵されており、C・C++・C#からアクセスできる。
JavaScript、Python、Javaなどを使ってもVLCにアクセスできる。
Windows、LinuxなどのプラットフォームでNPAPIプラグインを提供する。これはQuickTime、Windows Media、MP3、Oggなどが埋め込まれたウェブコンテンツをAppleやマイクロソフトのツールに依存せず再生するためで、ブラウザではFirefoxを含むMozillaアプリケーション、Safari、Opera、Google Chrome、Netscapeに対応している。Adobe Flashも見ることができる。Internet Explorerにもバージョン0.8.2以降はActiveXプラグインによって、同様の機能を提供している。
早送り、巻き戻しなどの操作
加速再生、減速再生
ステレオ、モノラル再生、PANの設定
Qtインターフェイスの改造、スキンの適用
ズーム、縦横比率の変更
スケール、クロップ
プレイリストの読み込み、書き出し
プラグインの追加と削除(Blu-ray Disc再生など)
DVD-Video、ビデオCD、スーパービデオCD (メニューに対応)、音楽CD (DTS-CDは非対応。CD-TEXTに対応)
3.0以降では、AACSがかかっていないHD DVDに限りその中の.evoファイルを再生できる
。
2.0以降では、AACSがかかっていないBlu-ray Discを再生できる。
HTTP、、MMS、YouTubeなど
DVB、ビデオキャプチャーデバイス (Webカメラなど)
AVI(DMF)、ASF、MP4、MOV、MPEG-2システム、Ogg、OGM、Matroska(WebM)、WAV、FLVなど
MPEG-1/2、DivX (1/2/3/4/5/6)、MPEG-4 ASP、Xvid、3ivX D4、H.261、H.263、H.263i、H.264 (MPEG-4 AVC)、Cinepak、Theora、Dirac (VC-2)、Motion JPEG (A/B)、WMV 1/2、 WMV 3、WMV9、VC-1、Sorenson 1/3、DV、On2 (VP3/VP5/VP6)、Indeo Video v3、RealVideo (1/2/3/4)
MPEG-1/2 Layer 1、MP2、MP3、MPEG-4 AAC part3、Ogg Vorbis、AC-3 (ドルビーデジタル)、E-AC-3、MLP/TrueHD、DTS、WMA (1/2/3)、FLAC、ALAC、Speex、Musepack (MPC)、ATRAC 3、WavPack、Mod、TrueAudio、APE (Monkey's Audio)、Real Audio、Alaw/μlaw、AMR (3GPP)、MIDI、LPCM、ADPCM、QCELP、DV Audio、QDM2 (QDMC)、MACE
DVD字幕、テキストファイル (MicroDVD、SubRip Text (SRT)、SubViewer、SSA1-5、SAMI、VPlayer)、クローズドキャプション、Vobsub、Universal Subtitle Format (USF)、SVCD字幕 (CVD)、DVB字幕、OGM、CMML、OggKate、ID3タグ、APEv2、Vorbis comment
以下のOSに対応している。
Windows (Windows XP Service Pack 3以降)
UWPアプリ (Microsoftストア)
Windows 10 パソコン
Windows 10 Mobile
Surface Hub
Windows Phone (Microsoftストア)
Windows 8 Mobile
Intel プロセッサ
Appleシリコン プロセッサ
iPhone/iPod touch: iOS 9.0以降
iPad: iPadOS 9.0以降
Apple TV: tvOS 11.0以降
Ubuntu 16.04 LTS以降 (Snap Store)
openSUSE Leap 15.1以降
Fedora 22以降
Slackware Linux 13.37以降
Red Hat Enterprise Linux / CentOS / Scientific Linux
Google Playストア
Amazon Fireストア (Android 4.2以降)
ChromeOS (Chrome ウェブストア)