第33回U-20プログラミング・コンテスト
HOME コンテストについて 概要・応募要領 入選作品紹介 実行委員紹介 よくある質問
お問合せ
実行委員からのメッセージ
実行委員コラム
情報化月間
経済産業省
U−20プログラミングコンテストバナー
バナーを配布しています。
詳細はこちらよりご覧ください
情報化月間2012
ツイナビ公認アカウント
リーフレットダウンロード
 
相互リンク
セキュリティキャンプ
ITジュニア
Rubyプログラミングコンテスト
ICT
パソコン甲子園
スーパーコンピューティングコンテスト
JOI
kousen
asahikawa
 

受賞作品紹介

受賞作品一覧 経済産業大臣賞 商務情報制作局長賞
Homu | USB Lock | HTML Creation Tool | 落とし物お知らせサービス「あったよ!」 


作品ジャンル
その他(セキュリティ機構)
作品概要
アプリケーションのできること、特定のファイルへのアクセスを制限するソフトウェアです。
制作目的・テーマ
LinuxのSE Linuxは細かく厳密なアクセス制限が可能ですが、それ故に利用するのにそれなりの勉強が必要で、気軽に使えるものではありません。
また、TOMOYO Linix やApp Armor少々Linuxの知識とCUIの操作が必要です。そこで、GUIからちょこっと設定するだけで自分の守りたいファイルをマルウェアから守るセキュリティ機構があればいいなと思い、これを作りました。
こだわりポイント・独自のアイデア
テキストエディタで長ったらしいポリシーを地道に書いていくのでなく、Webブラウザでネットショッピングをしているようにポリシーを作れるようjQueryやCSS3を利用して出来るだけ管理ツールの見た目と使い勝手を向上させました。
また、他のOSに移植できるように、OSに依存しそうな部分とそうでない部分を分けるように努めました。
Linuxカーネル部分の実装では、Linux Security Modulesを利用せず独自のAPIフックを加えることで、SELinuxやTOMOYO Linuxを管理者が、Homuを一般ユーザが使うといった使い方ができるようにしました。
苦心した点
Linuxカーネルにポリシーの管理とAPIフックを、長いコンパイル時間と試行錯誤を繰り返しながら実装するのが大変で、毎日のようにカーネルパニックを見る生活がとても辛かったです。
管理ツールの開発では、どんなページの構成が使いやすいのか、かっこいいのかが分からないので、色んなWebアプリやWebデザインの本を見て考えましたが、全くいいアイデアが生まれてこなかったので大変でした。
構想から完成までの期間
3ヶ月です。
開発言語・ツール
Linuxカーネルの部分はC言語、管理ツールは PythonとJavascriptで実装しました。
また、開発にあたってVim, GNU nano, QEMU, OMakeを利用しました。
応募したきっかけ
せっかくセキュアなOSを作ったので、誰かに見てもらいたかったから。
プログラミング歴
5年ぐらいです。
どうやって勉強したか
本やWebサイトを読んで、適当にコードを書いて勉強しました。
受賞した感想
とても嬉しいです。







Copyright (C) 2012 「情報化月間2012事務局」.All Rights Reserved.