ICPC 2015 アジア地区東京大会

 情報工学科B3 モンジサンです。

 今年も11月28日(土) ~ 30日(月)の期間にICPCアジア地区大会(http://icpc.iisf.or.jp/2015-tsukuba/?lang=ja)に参加しました。

 今年度はチーム「0x6C6973702E6A732E316E6A336374」として参加して、42チーム中30位という結果になりました。前回は20位でキリ番賞がもらえましたが今年はキリ番賞がなかったようで賞はもらえませんでした。順位も去年より下がってしまいましたが今回は問題セットもやや難しく、AC数は満足しています。

 以下は3日間の内容…
としたかったのですが、実験の発表やテストの関係で全員2日間しか参加できなかったため、2日目までの内容です。

1日目
 大会初日、私たちのチームはつくば駅で集合(さっそく二名遅刻)し大会会場のつくばカピオに向かいました。会場に入ると去年と同じく英語での受け答え、やっぱり苦手です。
 初日は大会の説明と練習、JavaChallengeが行われました。説明や練習は滞りなく行われましたがJavaChallengeでは送ったソースコードがコンパイル待ちのまま進まないという状態が発生し、結局一度も自分のプログラムが動くところを見ることなく終わりました。なんとか最後の方にAIを組み込んだプログラムを送りましたがこれも正しく動くかどうか怪しい…。
 この後、大学の食堂のような場所でバイキング形式の交流会兼チーム紹介の時間がありチーム紹介という名のネタ合戦が行われました。

2日目
 2日目はコンテスト本番。今回も微妙に寝坊しかけながら健康的な和食の朝食を食べて会場に向かいました。今年はみんなで問題に取り組めるようみんなで問題を分担しながら解くことにしました。

 はじめはA,B,Cをそれぞれ読んでみて解けそうなものから書いていくということで初めに方針がたったBを書いてもらったりしました。ただ、ここで時間がかかってしまい一旦私がC問のコーディングを開始。ここでバグらせました。何度もバグらせました。本当にバグらせました。
 かなり時間がたってからですがやっぱりB問に戻ることに。ただまだコーディング方針が不完全だったのと技術不足で私がコーディングを行って無事Bを通しました。
 そこからAも通せると思い交代しながらバグらせながらなんとかAもAC。
 最後にC問も何とかバグを取れてAC、ここら辺で力尽きました。

 大会の様子は以上。この後はJavaChallengeの結果と大会の結果を聞きました。JavaChallengeではサンプルプログラムが強かったらしいです…。その後、企業ブース付のクロージングパーティを行って私たちは解散し駅から帰路につきました。

 今年もいろいろ大変でしたが英語勉強の大切さが身に染みた2日間でした。来年こそは順位を上げていきたいor行ってほしいです。

東芝さんでの工場見学

電電B1のCherryです。

 9月18日に初めて東芝さんの工場見学に参加させていただきました。集合場所は千葉県の海浜幕張駅で二時半に待ち合わせでした。そこからタクシーで東芝の検見川キッティングセンターに行きました。
東京農工大学以外では、東京大学生協さんや白梅学園生協さん、東京農業大学さんと生協さん、学生事務局さん、大学生協 東京事業連合さんがいらしてしました。

最初はPCの制作過程の様子を見学できるのかな、と思っていたのでキッティングの見学と聞いた時は少し残念に思いました。しかし、キッティングセンターだけでなく修理センター、コールセンターも見学することができ、さらに新製品を見せていただき見学に来てよかったと思いました。

 特に修理センターとコールセンターでは消費者の観点からではわからない会社の実状を聞き、とても勉強になりました。修理品をいかに早くお客様のもとへ返すことができるかに全力を挙げているところに特に感激しました。

 設計部製品説明や試作品については機密情報のためここではコメントを控えさせていただきますが、お客様の立場になって考えてPC作成をしていることを教えていただきました。

 意見交換では、試作品を見せていただき手に触れることができて貴重な体験になりました。PCの制作に携わっている方々は細かい点まで考えられていることを知り驚きました。

最後にお茶やお土産をたくさんいただいたこともあってとても楽しくて勉強になる工場見学でした。東芝の方々、生協の方々、大変お世話になりました。次回は実際にPCを製造している工場の見学に行きたいです。

学祭個人製作進捗報告:Cherry

はじめまして、電気電子工学科一年Cherryです。

学祭に自主制作ゲームを展示するということで今回初めてゲーム制作をしました。
夏休み前、先輩方にゲーム制作講習会を開いていただき、一からゲームを学祭までに作るつもりでいました。
しかし夏休みに入った後、資格ほしさで受講した学芸員の講義がハードなことを知りました。その上、講義がない日にも予定を詰め込みすぎたためシューティングゲーム制作は途中で挫折してしまいました。

プログラミング初心者の私ではハードルが高すぎました。先輩が講習会用に作って下さったサンプルを参考にして制作させていただくことになってしまいました。

今年の学祭は明後日の9月26日から27日の二日間です。東京農工大学小金井キャンパス12号館L1214,L1215教室でMCCの展示を行っていますので、来ていただけると嬉しいです。

学祭個人製作進捗報告:ケロロン

初めまして情報工学科B1のケロロンです。
20日に投稿予定でしたが、すっかり忘れていました。すみません。

今回は学祭に向けて音ゲーを作っているところです。
といってもまだほとんど出来ておらず、やばいです。

一応ボタンは少ないですが、コントローラの枠組みの準備は整いました。(下の画像)
controller

後はノートを落としたりだとか実装しなくては。
出来ればSoundCloudとの連携もとってみたい。

期日までに間に合っているかどうか分かりませんが、一応宣伝しときます。

今年の学園祭は2015/9/26(土)、9/27(日)の2日間です。

学祭個人製作進捗報告:suika

物理システム工学科2年のsuikaです。

今年は昨年までとは異なり、11月ではなく9/26,27の二日間に工学部学園祭が開かれます。
今年もMCCはゲームの展示などを行うのでぜひいらしてください。

さて、私が今年作成しているゲームですが、
今回は割りと普通のブロック崩しを作っています。

ざっくり言うとビリヤードとブロック崩しを合わせたような、ゲームです。

これといった特徴の無い普通のゲームなので残念ながらこれ以上報告することがないという状況です。

今年の学園祭は
2015/9/26(土), 9/27(日) 昨年までとは違い、2日間です。
教室はおそらく去年と同じ東京農工大学小金井キャンパス 12号館L1214,L1215教室です。

学祭進捗報告:A-RISE&わーるど

情工3年のA-RISEです。

今年は、工部は例年より早く9/26-27に学園祭が行われます。
こちら、単独開催で農部は例年通り11月に開催されます。

例年通りMCCは工学部学園祭にて自主製作ゲームの展示を行います.
そして例年通り各位の制作の進捗報告を当Blogにて行います。しばしの間お付き合い下さい。

さて、今回は一昨年同様わーるど氏とタッグを組んで、前作であるL○boplusの続編を制作致します。
今回は、前回のパズルゲームとは異なり、超エキサイティン!な3Dアクションゲームになります。

ゲームの様子は当日のお楽しみということで。
是非、学園祭にお越しの際は当サークルにもお立ち寄り下さい。情報をまとめておきます。

以上、よろしくお願いします。

2015/1/24 PC講習会

ナレローの使い方を学び、、
自分が講師で生徒に教える実演を行いました。

その後、2分間の自己紹介をパワポを使い、行いました。

最後に講習会についての討論をやり、
私のグループは講師の経験がある人は
いませんでしたが、講習会は大学の最初の
交流の場としてのいつ付けという結論が出ました。

SECCON 2014大阪大会 x86 Remote Exploit Challenge

1.大会概要

SECCONとは、日本で実施されている最大のCTF大会である。

CTF(Capture The Flag)とは、コンピュータ内に保存された情報を旗に見立てて、技術を駆使しながら取得する個数や速さを競い合う形式のコンテストである。大会形式は、問題1問に対してファイルの解析や暗号解読などをするものと、参加者同士がコンピュータに対して攻撃と防御を行う攻防戦形式のものに大きく分かれる。

 

SECCON 大阪大会 x86 Remote Exploit Challenge

x86ファミリのプロセッサで動いているサーバーに対して、シェルコードを作成して送り、隠されたファイルを取得する。攻撃によって取得したファイルの数をチームで競う。

日程:2014年 11月9日(日)

場所:グランフロント大阪タワーC 10F 慶応大阪シティキャンパス

主催:SECCON実行委員会/日本ネットワークセキュリティ協会(JNSA)

共催:奈良先端科学技術大学院大学(NAIST)

協力:enPiT Security (SecCap) NAIST

 

2.競技内容

サーバー上で走っているプログラムはクライアントからの攻撃コードを受け取り、フィルタチェックを通してからコードを実行する。今回はプログラムの脆弱性を探して突くような問題ではなく、予めコード実行環境が整えられているため、作成するのはexploitではなくpayloadとなる。侵入したコンピュータの制御を奪うためにシェルを立ち上げることが多いことからshellcodeと呼ばれている。

ステージは全てで16個あり、それぞれのステージで異なるフィルタチェックを通過するようにシェルコードを書かなければならない。なお、各ステージに1つずつフラグが存在している。

以下にフィルタチェック内容を挙げる。

  • Stage00: オールスルー
  • Stage01: ヌル文字禁止
  • Stage02: push禁止
  • Stage03: ‘/bin/sh’禁止
  • Stage04: int 0x80 禁止
  • Stage05: int 0x80、syscall禁止
  • Stage06: 全て8byte命令
  • Stage07: 全て4byte命令
  • Stage08: 全て2byte命令
  • Stage09: アセンブラ短歌
  • Stage10: アセンブラ都都逸
  • Stage11: push, ret のみ許可
  • Stage12: Alpha numericのみ許可
  • Stage13: アセンブラ短歌 (5,7,5,7,7byte長の5命令のみ)
  • Stage14: アセンブラ俳句 (5,7,5byte長の3命令のみ)
  • Stage15: アセンブラ都都逸 (7,7,7,5byte長の4命令のみ)

各ステージに適当なシェルコードを作成して送信し、サーバー上でシェルを立ち上げる。

しかし、forkが禁止されているために直接コマンドを実行することができない。その代わりにdashのビルトインコマンドやexecは利用可能である。従って、’exec cat keyword.txt’を実行させることでkeyword.txtを読むことができる。

今大会ではファイルを読むことによって得られたフラグを紙に書いて提出し、競技終了後に審査員が採点する。そのため、解いた速さ・順番は特に考慮されない。

 

3.結果

私たちのチームtuat_mccが今回解くことができたのは、以下の7問である。

Stage00, Stage01, Stage03, Stage04, Stage05, Stage09, Stage10

この結果、全参加チーム18チーム中4位という成績となった。

 

 

4.感想

icchy

icchyです。今回の大会ではフィルターの解析と簡単なShellcode作成をしました。普段はShellcodeを書いたことがあまりなく、制約条件を突破するのにツールの使い方をひたすら検索していましたが最後までうまく行きませんでした。もっと典型的な手法を知り、ExploitだけでなくShellcode作成にも取り組んで行きたいと思います。また、会場では他チームとの交流もできて非常に有意義な遠征でした。

 

ShiftCrops

私たちtuat_mccは月に1,2回のペースでオンラインCTFに参加し、日々練習に勤しんでいます。しかしながら、我々はBinaryのexploit系の問題は得意とは決して言えないように感じられます。

今回の大会では、exploitの重要なパートの一つであるシェルコード作成をメンバー全員で取り組むことを通じて、現状に対する認識を一致させて全体の力を底上げすることができたと思っています。

これ以降の大会でも、今回の経験を活かすタイミングはまだまだ多くあると考えるので、この遠征は私たち全員にとって、とても貴重で意義深い経験となりました。

 

モンジサン

tuat_mccでJavaScript担当をしているモンジサンです。

今回の大会で行ったシェルコードは、ユーザーに近い部分を担当していた私としては初めて触れる分野で新鮮な経験をしました。

プログラムを構築する部分では実力を発揮できたと思いますがまだまだ勉強が必要だと再確認しました。

今後はもう少し広い分野を担当できるよう頑張っていきたいです

高尾山登山

M2のnyamaです.

***** 今日から文化祭です!! MCCでも工学部キャンパスで展示をしているので良かったらご覧ください!! *****

ブログの更新のことを失念していました!(土下座
9/29,私たちは突発高尾山企画に行ってきました.

ちなみに,この企画は2年前にも行われていましたので,これで2回目になります.
今回の参加者は6人でした.M2 1名,M1 2名, B3 1名, B2 2名です.

さて,この企画の目的は,”運動不足の解消”です.
日頃,パソコンと睨めっこばかりしている私たちにとって,運動不足はいつまでもついて回る問題です.
高尾山は,手軽に登れる初心者向けの山であり,私達にはうってつけの山ってわけです.

この日,13:50に集合(私と他1名は10分遅刻(土下座))し,14:00から登り始めました.
今年はあまり一般的でない稲荷山コースを経由して頂上まで登り,下りには1号路を使用しました.

稲荷山コース,思いの外登山らしいコースでした^^;
私は開始30分で息が上がってしまいました.以降は大体30分を目安に休憩をはさみ,頂上を目指しました.
道中はIngressで陣取り合戦も行われていました.

以下,登山道,展望台の画像です.
tenbo
(登山道の写真は誰かが上げてくれる)

15:40(記憶が定かでない),頂上に到達しました.以下が山頂の風景です!
ByrmFe1CQAAW03-.jpg-large
(M1めでぅーささんの投稿からパクりました><)

そういえば,ヤマノススメでも高尾山に上っていましたね!
ByrlyMSCMAAVWz5
(同上)

後,こちらはニャンコな感じですねー.
takao_neko
takao_neko02

帰りは1号路です.こちらにもヤマノススメで紹介されていた諸々がありましたね.
これとかこれとかこれとか.
Power04
Power03
Power02
Power01

さて,実は本企画にはもう1つの目的がありました.ずばり,高尾山ビアマウントです!
3500円で2時間食べ放題,ビールも飲み放題のとても魅力的なご飯でした.

こちらが晩御飯の様子です.
Meshi
Meshi02

どれもおいしかったです.個人的には釜焼きピザ,揚げナスが特に美味でした.

2時間料理を堪能した後,ケーブルカーにて下山しました(酔っ払いは徒歩での下山は控えてくださいね!).
ケーブルカー内では,ケーブルカーの仕組みについて盛り上がる辺り,流石工学部と感心していました.

駅到着後は各自解散,電車内では皆疲れていたようでした.

最後にまとめです.
本企画の目的”運動不足の解消”は,達成されたと思います.
ビアマウントでビールクズしていたら意味ないんじゃないかと思われるかもしれませんが,美味しかったのでいいんです.
飯は安らぎです.

私はM2なので来年以降は参加できないかもしれませんが,また運動不足を感じたら誰かに企画してもらいたいですね.

学祭進捗報告:suika

初めまして1年のsuikaです。
この名前、たしか一ヶ月くらい前に10秒で考えたものなのであっているか自信ないです。

さて今回、ブロック崩しを作っています。

はじめはARでも使ってみようと思いやってみましたが

・ものすごい操作性が悪い

・カメラ設置が面倒

という理由で却下したのがつい最近(夏休みからまじめにつくったのに…)。

なので次はほかの方向に捻ったブロック崩しを作っています。
(ふつうのブロック崩しになっていたら、きっと授業が忙しかったはず)

最後に11月7日(金)~11月9日(日)の3日間、東京農工大学学園祭 小金井キャンパスでMCCの展示を行います。
ぜひ12号館L1214,L1215教室にお越しください。