CTF用のPCを新調したので、スペック選定の考え方を整理する

Categories:

はじめに

先日CTFを行うためにノートPCを新調しました。

その際に考えたスペックの選定基準などについてまとめたいと思います。

なぜCTF用PCを新調したのか

これまで使っていたPC環境

これまでメインで利用していたPCですが、下記のスペックでした。

項目 スペック
形式 デスクトップ
OS Windows 11 Pro
CPU Intel i7 9700k
GPU GeForce RTX 2070
メモリ 32GB
SSD(Cドライブ) 512GB
SSD(Dドライブ) 512GB
SSD(Eドライブ) 1TB
HDD(Fドライブ) 4TB
HDD(Gドライブ) 8TB

※ やけに容量が多いのは趣味の関係です。 基本的に下記のような使い分けをしていました。

  • CドライブはOSのみを導入
  • Dドライブにソフトウェアのインストール
  • Eドライブにはソースコードなどの頻繁に触れるファイル類
  • F/Gドライブはデータ置き場

ちなみにこのメインPC以外にファイルサーバと化しているProxmoxサーバと(ノベル)ゲーム専用のPCもあります。(これについては開発・CTF用途での利用はないためスペック割愛)

不満だった点

現状のPCに対してスペック等、大きな不満点はなかったのですが、最近外部で開催されるセキュリティイベントに参加したいモチベーションが高くなってきており、そのために外に持ち出せるPCがほしいと考えていました。

新しく求めた要件

  • ノートPCである点
  • ある程度のスペックがある点(複数のVMが同時に動作させられる程度)
    • 特にCTFをメインに利用するPCであるため、Kaliなどのペネトレーションテスト用OSがVMとして動作する程度のスペックが欲しかったです。

今回購入したPC

購入したモデル

  • ThinkPad E14 Gen6(AMDモデル)

スペック構成

項目 スペック
形式 ノートPC(14インチ)
OS Windows 11 Home (購入後、自身でUbuntuに再インストール)
CPU AMD Ryzen 7 7735HS
メモリ 32GB
SSD 1TB

価格感

  • 約15万円弱

CTF用PCとして重視したポイント

CPU性能

今回はRyzen 7 7735HSを選択しました。

このPCは23年製のCPUで若干古いものとなっていますが、8コア16スレッドあり、利用するホストOSがUbuntuで現在のメインPCであるWindows 11と比べて負荷も少ないと考え、十分実用的だろうと考えました。

メモリ容量

32GBを選択しています。

内部にて少なくともVMを2台(Attack用マシンと被攻撃サーバ)同時に起動できる程度の余裕を持たせたかったためです。

また最悪の場合、ThinkPadであれば、自身で増設選択肢も取れるのが良い点だと思っています。

SSD容量

1TBを選択しています。

メモリ容量と同じく、VMを大量に用意する可能性がある点とメインで利用する最終構成ではKali OSの状態を常にクリーンに保つようにスナップショットを多用する予定なので、ある程度大きい容量が必要と考えての選択です。

Linuxとの相性

ThinkPadシリーズは、ネット上にLinux導入の記事が大量にあり、ナレッジとしても豊富にあるものと考えて選択しました。

仮想マシン運用を考慮した構成

上記の通り「CPU」「メモリ」「SSD」について、仮想マシン運用を想定して、多めにスペックを取っています。

Ubuntu単体の利用であればかなり余裕があるスペックですが、VM稼働を考えるとそこそこに良い構成だったのではないかと満足しています。

持ち運びやすさ

14インチのモデルということで、持ち運びもしやすくなっています。

購入後、早速セキュリティイベントに1件参加してきましたが問題なく持ち運べました。

バッテリー

参加したセキュリティイベントではコンセントが用意されていたため測定していませんが、もしものときのためにType-C充電できるタイプのため、元々持っていた大容量のモバイルバッテリーと組み合わせてあまり心配していません。

キーボード

日本語配列です。

昔、USキーボードに挑戦した時期もありましたが、どうしてもなれることができず、それ以来、購入するキーボード / PCはすべて日本語配列に統一しています。

スペック選定時に悩んだこと

IntelかAMDか

元々Intel教の人だったので、AMDにするには若干の抵抗がありました。

特にCTFで低レイヤーを触っているときにCPU差異による特異なエラーに出会う可能性について懸念していたのですが、ChatGPTと相談し「そんなん気にするのは(お前の今の知識レベルだと)もっと先だから気にすんな(意訳)」と言われたため、これを信じることにしました。

メモリ32GBで十分か

上記の通り、32GBメモリで多めに搭載している(つもり)です。

具体的には

対象 割当
ホスト 12GB
VM(Kali) 16GB
VM(Victim) 4GB

の割当を前提に設計しています。

GPUは必要か

本来的には、ブルートフォースなどの効率を考えるとGPUも積んであったほうがCTFをガチでやる場合には良いのかもしれませんが

  • 価格的問題(高くなってしまう)
  • 可搬性の問題(重く、大きくなってしまう)

から、GPUはCPU備え付けのものを利用することとしました。

どうしてもGPUで効率化しなければ行けない問題が出てきた場合にはその時だけAWSでGPUインスタンスを借りればいいかなと考えています。

中古にするか新品にするか

今回、可能であれば新品がほしいと考えていました。が、昨今のPC価格高騰によって予算とスペックで相性の良いPCを探すのに難航しました。

結果、IOSYSで販売されていた「未使用」のThinkPadを見つけることができ購入した次第です。

最終的にこのPCを選んだ理由

用途に対して過不足がなかった

現在利用を始めて1週間程度ですが、特にスペック的な問題は発生していません。(スペック以外の問題はぼちぼち出ていますが、それはいつか別記事で・・・)

VMのKaliも元気に動いてくれています。

コストと性能のバランス

頑張って探した甲斐もあって、良いバランスのマシンを手に入れることができたと思います。

おそらく、PC価格高騰前にIOSYSが大量発注したモデルの残りだったんでしょうね。

今後数年使えると判断した

現在使っているデスクトップPCが約7年前時点の最新スペックのPC(のはず)です。

このPCが現役で動作しているので、(ノートPCである点に一部不安がありつつ)5年程度は持ってくれるのではないかと期待しています。

現時点での使用感

動作の快適さ

スペックとしては問題なく快適に動作しています。

それよりもソフトウェア的な問題がちょくちょく発生しており、苦労しています。(別記事にて別途執筆予定ですが、最新すぎるOSはホストOSとして入れるべきではないですね・・・)

VM利用時の感想

VMの利用についても特に問題なく利用できています。(購入前にLinuC Level2の資格を取得しており、VM(KVM)周りは試験範囲とかなり重なっていたため早速知識を使うことができました)

良かった点

上でも書いていますが、この時期にこのスペックのPCをこの値段で新品で購入できたのは大変満足な点です。

気になる点

現状としては特に特筆して気になる点はないですが、もし無理やり上げるとしたら

  • 普段利用しているキーボードがHHKBのため、ノートPC備え付けのキーボードが使いづらい点

でしょうか。(どのPCを買っても変わらない問題ですが。。。)

この点は、もうなれるしかないと思っています。

どんな人におすすめできるか

私と同じような運用をされる方については現状大変おすすめできるPCです。

また、通常のWindows運用だとしてもゲームや動画編集など重い動作をさせないのであれば良いマシンなのではないかと思います。

まとめ

今回は「CTFやLinux運用を快適に行えるノートPC」という観点でPCを選定しました。

ゲーム用途のような派手なスペックではありませんが、VM運用や持ち運びを考えるとかなり満足度の高い構成になったと思います。

今後は、このPC上でのUbuntu環境構築やKVM運用についても記事化していく予定です。