前の記事で、監査部門の同僚は、経験に加えて、Digital Securityでの2017年のインターンシッププロセス全体について少し話しました。 今日、研究部門はその印象を共有し、私たちの部門のインターンとインタビューを発表します。
簡単な情報
私たちはデジタルセキュリティの研究部門です。 まず、リバースエンジニアリングタスク、バイナリアプリケーションおよびさまざまなデバイスの脆弱性の検索、エクスプロイトの作成に取り組んでいます。 昨年の記事で詳細を紹介しました。
はじめに
同僚の記事ですでに述べたように、今年は、アプリケーションの数が過去の何倍にもなりました。 もちろん、応募者の大半はウェブセキュリティに携わりたいと思っていましたが、「バイナリの世界」に没頭したいという人の割合はこれから減りませんでした。
確立された伝統に従って、私たちはサンクトペテルブルクのオフィスでインターンシップをとることを決めたインターンと個人的なインタビューを行い、その後に最終決定を下しました。 このような会議では、知識のレベルが決定されるだけでなく、各候補者に適したトピックも決定されます。 場合によっては、1つではなく、いくつかのトピックから選択するよう提案されました。 インターンシップのトピックを書くための基準は同じままでした:
- インターンシップの終わりに、彼らは彼らの研究の結果(github、gitlab、およびオープンソースプロジェクトのための他のリポジトリ)を公開し、そして/または会議で一般に話すことができました
- それらは実際の実用的なタスクに関連しています。
私たちの部門の仕事の詳細のため、他の審査員とは異なり、「1つのトピック-1人」というアプローチを実践しています(例外はありますが)。
これにより、メンターは特定のインターンにもっと注意を払うことができますが、インターンシップで受け入れることができる応募者の数は制限されます。 そのため、経験不足のため成功しなかった人のために、トレーニング資料をマスターし、来年再試行することをお勧めします。 特に、これが、Habréで私たちが選択した資料を公開した理由であり、誰でも自由な時間にそれを研究し始めることができます。
私たちは、他の都市からのローカルインターンシップのために、彼ら自身の何人かが私たちのところに来たことに嬉しく驚きました。 ビデオメッセンジャーを使用してインタビューを行いました(興味深い統計-大学の3年生を修了したい人のほとんど)。 したがって、私たちは北部首都でのインターンシップの良い思い出(および楽しい贈り物)を維持しようとしました。 そして昨年の講義に、私たちの部門は新しい講義を追加しました。
- 「SMT、Z3、SSE、DSE、...イン・ザ・ワイルド」(ジョージ・ノーセンコ)
- 「ダミーのPowerShell:日常生活と戦場での使用」(Andrey Akimov)
セキュリティ分析部門の同僚も講義リストを更新し、興味深い内部ラボを立ち上げました。これは、関係者のスキルを高める一種のウォーゲームです。
伝統的に、インターン自身が私たちのためにいくつかの同様の会議を開催し、彼らは彼らの仕事の結果を発表しました。 そのようなスピーチは一種の最終試験と呼ばれることさえあります:)確かに、誰もがそれを行うことができたわけではありませんが、残念ながら、誰かがさまざまな理由でタスクに対処しませんでした。
参加者からのフィードバック
今年の仕事の性質上、リモートインターンシップを放棄することにしました。そのため、オフィスでインターンシップを行った人からのコメントのみを提示します。
ミニインタビューの質問は:
- なぜDSecでインターンシップをすることにしたのですか? 何があなたを会社に引き付けましたか?
- インターンシップが好きでしたか? 特に印象に残ったことは何ですか? 現実はあなたの期待とどのように一致しましたか?
- あなたのタスクについて教えてください。
- インターンシップ中に取り組んだ仕事は面白そうでしたか? やりたかったが失敗したことはありましたか?
- インターンシップのために会社に戻る準備ができていますか?
アレクサンダー・トルキン(SPbSU)
テーマ:「GNU / Linuxでのルートキット検出ツールのアルゴリズムの改善」
- linux.org.ruでインターンシップの発表を見た後、私は運を試すことにしました。 正直なところ、当時の会社についてはほとんど何も知りませんでした。自由な時間と興味深いトピックの可用性が決定的な役割を果たしました。
- インターンシップが好きでした。
何よりも、オフィスの近くで非常に魅力的な価格のダイニングルームを覚えています。 実際、私はサンクトペテルブルク支部のスタッフのかなり若い年齢に驚いた。 彼らが仕事に遅れるという事実によって、彼らは仕事(またはテーブルサッカー)が好きであると判断することができます。 社内で親切に準備された講義を聞いてとても興味がありました。 - 私は、 GNU / Linuxの下でアンチルートキットのプロジェクトに取り組みました。これは、初期の形で私の学芸員によって既に実装されています。 基本的に、対応するカーネルモジュールの機能を思い浮かべようとしました。 その後の不整合の検証と検出のために、カーネルからさまざまな重要なシステムリソース(プロセス、ソケットなど)を記述するイベントをユーザーモードに転送するプロセスを整える必要がありました。 さまざまなコア構造とその同期プリミティブをいじる必要がありましたが、楽しかったです!
- 特に前進することはできませんでしたが(たとえば、私はまだいくつかの自己防衛メカニズムを実装したかったのですが)、解決するタスクを扱うことはまったく退屈ではなく、多くは新しいものでした。 プロジェクトの作業が継続されることを願っています。
- 私はいつも何か面白いことに取り組んでうれしいです。
ヴァレリア・グバレバ(ペンザ州立大学)
トピック:「Black Magic ProbeとBitsyのボードの可能性を探る」
- ここで働いている人は私にアンケートに記入するようにアドバイスしました。 そして、会社自体が情報セキュリティを扱っているので、私にとって興味深いのです。私はこの研究のために、私の人生の最後の5年間を過ごしました。
- はい、本当に気に入りました。 期待は正当化されました。 私は特に、彼らが私にさまざまな不明瞭なボードをくれた瞬間を思い出しました。
- 私の仕事は、最近登場したBlack Magic Probe V2.1ボードに対処し、作業中に開かれる可能性を確認することでした。 そして、Black Magic Probeを使用して、他のボードのファームウェアを壊そうとしました。 わかりやすくするため、タッチスクリーンを備えたSTM32F429I-disc1ボードを選択しました。そのために、Reversiゲームのファームウェアを見つけました。 その結果、ファームウェアの動的メモリにアクセスでき、IDA Proの逆アセンブラを使用して、ボード上のセルの開始アドレスであるアドレスを見つけました。 これらのセルの値は等しくすることができます:000-空のセル、001-赤いチップ、002-青いチップ。 私は、すべてのセルの値を統一し、それによって最初の動きからゲームに勝つことを思いつきました。 これを行うために、私は小さなPythonスクリプトを作成しました。 私の仕事の結果は、取締役会の特徴と、それを扱う際の私のすべての行動を説明する記事になりました。
- はい、タスクは非常に興味深いものでした。 ほとんどすべてが私にとって新しく、情報はほとんどありませんでしたが、これは障害になりませんでした。
- 動作するように-もちろん、はい。
ニキータ・トルシン(TUSUR)
件名:「ハイパーバイザーの手段を使用して、ゲストマシンで対話型コマンドを記録するためのハニポット」
- プログラミングに興味がある間、さまざまなカーネルとソフトウェアシステムの内部構造を研究するのが好きです。 したがって、DSecの活動とHabréのブログに間違いなく興味がありました。
- インターンシップは好印象を残しました。 特に、チームは非常に友好的で、一般的にはオフィスの居心地の良い雰囲気でした。
- 私のタスクは、TTYの書き込み機能のブレークを使用して、gdbスクリプトとして実装され、ゲスト端末からホストマシンに出力を記録した既存のPoCに従って、QEMUのパッチを実装することでした。 ただし、ゲストマシンの速度はかなり低下しました。 そして、パフォーマンスの問題を解決するQEMU内でこれを行う必要がありました。
したがって、QEMUの内部構造を理解し、パッチを適用するのに最適な場所を見つけ、x86-64、ARM、およびMIPSのパッチを作成する必要がありました。
- もちろん、このタスクは非常に興味深いものでした。 しかし、私は数人のチームで働きたいです。
- もちろんです!
おわりに
要約すると、2017年の夏のインターンシップに参加したすべての人に「ありがとう」と言います。私たちは皆素晴らしい経験を得て、読者と少しでも共有できることを願っています。 後で興味深い記事はインターンからは発行されなくなりますが、研究結果とともに同僚から発行されます。
そしてもちろん、みんなが新しいインターンシップを待っています!