クライアントが提供するデモコンピューターにクライアントがハッキングするのを防ぐ方法


6

私が働いている会社の顧客であるラップトップコンピューターにデモソフトウェアを実行する必要があります。

このソフトウェアは表示専用であり、キーボードやマウスを介したユーザー操作は必要ありません。

コンピューターですべてのデバイス入力を無効にし、ハードドライブを暗号化する必要があるため、このコンピューターのみが実行できます。動作中にお客様がコンピューターにアクセスできないようにし、ハードドライブを取り外して別のコンピューターで使用するオプションを禁止したいと思います。

誰もがこれを行うことができるハードウェアコンピュータ\ハードドライブコンボを知っていますか?

ありがとう。


7
ソフトウェアが表示されるだけの場合、ビデオを作成してから、秘密情報なしでラップトップを使用してみませんか?
CodesInChaos

12
彼らがマシンを改ざんしようとするのはなぜだと思いますか?1つの方法は、ラップトップの配達を受け入れるために署名する契約に、いかなる方法でもマシンを改ざんできないことを示す条項を含めることです。あなたがそれを合法的に聞こえさせることができれば、さらに良くなります。
ChrisF

6
別のコンピューターでデモを実行し、リモートデスクトッププロトコルを介して視覚的なアクセスを提供することを検討しましたか?
vtest

システムはコンピューター自体にのみ表示されますが、Webから常にニュースや新しいビデオをダウンロードする動的なシステムです。デモの一部は、顧客が取引に同意した場合に顧客に提供するような実際のコンピューターを配置することです。問題は、その大きな顧客であり、彼がそのような論文に署名するように頼むことは、この顧客がリバースエンジニアリングと盗みのアイデアの世界的に知られた記録を持っているので無意味であるということです。私は彼と協力したいと思いますが、可能な限り彼がシステムをハッキングするのを防ぎたいと思います。少なくとも契約が締結されるまで
RaamEE

3
コンピューター全体を非常に頑丈な箱に閉じ込めてください。電源用の配線、モニター用の配線、その他何もありません。物理的に彼のアクセスを制限します(彼が本当に望むなら、彼は常に物理的に箱を開けることができました、そして、あなたができることは何もありません)。
フェイケン

回答:


7

起動時にラップトップのBIOSを確認し、ハードドライブ暗号化や「ATAハードディスクロック」などのオプションを探します(暗号化ではなく、ほとんどのドライブにはパスワードをバイパスできるメカニズムはないと思います)。

エポキシをファイアワイヤポートに撃ち込み、PCIメモリリーダーデバッグツールが接続されないようにすることができます。

更新

Linuxであるという事実により、柔軟性が向上します。:)あなたは削除することができusbhid.kohid.koシステムから、及び同様のカーネルモジュール。目を通すlsmod(8)出力し、それがトラックパッドやキーボードや乳首マウスに有用であることがしたいように見えるものを削除します。firewireモジュールを削除します。たぶん、シリアルモジュールとパラレルモジュールも。(それらを使用していない場合、それらを削除しても害はありません。)

クライアントがカーネルブートラインを編集して、同様に迷惑なものを追加したりしないように、同様にロックダウンgrubする必要があります。init=bashinit=getty /dev/ttyS01

AppArmorSElinuxTOMOYOSMACKなどのツールを使用することもできます。これらの必須アクセス制御ツールはいずれも、アプリケーションが明確に定義された特権セットを逃れるのを防ぐことができます。私は10年前にAppArmorシステムに取り組んできたので、それが私が最もよく知っているものであり、私がお勧めするものです:)

一年はAppArmorのは、それが簡単に閉じ込めるように作られた、ユーザーが特定のパスワードを使用して、rootでtelnet接続できるようにする必要;。(私たちは、数年前からDEFCONキャプチャにフラッグコンテストをAppArmorの閉じ込めシステムを取った、小さな陽動物語を伝えるためにtelnetd、デーモンをシェル、それから「スコアボット」が実行するのに必要なプログラム。CTFコンテストで優勝したことはありませんでしたが、根ざしたこともありませんでした。 )

幸運を祈ります。


システムはlinuxなので、現在、OSレベルでデバイスを無効にできるかどうかを確認していますが、その可能性を推測しています。しかし、コンピューターを接続してHDをコンピューターに接着剤で閉じないように、すべてのusb \ keyboard \ mouse IOポートに物理的な損傷を与えることも検討しています。SSHを使用してリモートからシステムにアクセスします。
RaamEE

@RaamEE、私の答えにあるLinux固有のアップデート。彼らが役立つことを願っています。
sarnold

更新に続いて、コンピューターの現在のカーネルを確認し、あなたのアイデアが実行可能であることがわかりました。それらを使用します。ありがとう。
-RaamEE

8

これは単に不可能です。ハードウェアへの物理的なアクセスは、文字通り、セキュリティのすべての約束を取り除きます。

もちろん、誰かが不正アクセスするのをより困難にすることができます。しかし、最も些細で安価な手段を超えて、そうすることは時間とお金の完全な浪費です。誰かが本当に入りたいと思うなら、彼らはそうする方法を見つけます、そして、あなたは彼らを止めることができません。

言うまでもなく、彼らはあなたが提供するデモコンピュータを妥協することなくあなたのソフトウェアをリバースエンジニアリングすることができます。これが「ハッキング」の定義に該当するかどうかはわかりませんが、おそらくそうすべきです。

これは技術的な問題ではなく、法的問題です。ライセンスとその他の契約上の合意により、ソフトウェアと知的財産を保護する必要があります。必要に応じて、顧客に機密保持契約書に署名してもらいます。最善の方法は、技術者ではなく弁護士に相談することです。

弁護士が怖い場合は、警備会社を雇ってください。ロックされたキャビネットや武装したガードなどのハードウェアソリューションでコンピューターをロックします。ばかげているように聞こえる場合は、上記の段落を参照してください。


こんにちは、ガードアイデアが大好きです。特定のCPU IDを持つシステムにインストールされている場合にのみHDが動作するCPUとハードドライブのコンボがあるかもしれないと考えました。問題は、このようなハードウェアコンボが見つからないことです。それがあれば、次に物理的に損傷を与えることですべてのIOポートをブロックできます。これも顧客を止めることはありませんが、彼を十分に長く引き留め、数か月後にシステムを取得するのに十分なほどハッキングすることを思いとどまらせます。
-RaamEE

@RaamEE:そのようなデバイスを知りません。どのように機能するのかわかりません。すべてのプロセッサに一意のシリアル番号があるとは限りません。また、一般に、CMOSセットアップユーティリティでシリアル番号を無効にするオプションがあります。無効にすると、ドライブが実行中のマシンを検出する方法がなくなります。
コーディグレー

TPMと呼ばれます。あなたは、特定のハードウェアが必要ですが、かなりの数のコンピュータメーカーは、それを構築する。
ロリー・オールソップ

3

質問に対するコメントで示唆されているように、これを達成するための正しいデバイスは「契約」と呼ばれます。1つを書く(または、1つを書くために弁護士を雇う-あなたはおそらく数百ドルでそれを成し遂げることができます。デモユニットを使用して、デモユニットを受け取る条件として署名してもらいます。


ありえない。顧客はそのようなことに署名せず、たとえ署名しても、ハッキングを防ぐことはできません。名前に言及することなく、彼は契約を尊重するという非常に悪い記録を持っていると言うことができます。
RaamEE

1
@RaamEE、契約を守らないという評判のある人との取引を封印しようとするのは残念だ。:(より良い顧客を見つけるチャンスはありませんか?
sarnold

@RaamEE:sarnoldに同意する必要があります-より良い顧客が必要です。私は自営業しているので、誰かを落とすのがどれほど難しいかは知っていますが、「顧客は常に正しいが、あなたは明らかにそうではないので、もう顧客。」
デイブシェロマン

1
@RaamEE:もし私があなただったら、契約の取り決めを設定し(そしてそれが法的に気密であることを確認し)、顧客にそれをハックする勇気があります。それから、彼がやったとき、私はソフトウェア開発業界を辞め、結果として得られた法的​​勝利から得たお金で引退しました。そして、私はほんの少しだけ冗談だと言います(私米国出身です。私たちは訴訟が好きです)。しかし、真剣に、「契約を尊重しない」ことはできません。
コーディグレー

3

あなたからいくつかの良いアドバイスと理解を得た後、私が気をつけなければならない弱点をまとめて、最終的に何をすることに決めたかを説明したいと思います:

最初に、知っておくべきことがいくつかあります。

  1. お客様と取引する場合、法的保護は利用できません。彼がシステムをハッキングすることに決めた場合、彼は最終的に成功します。

  2. 顧客が会社全体の価値よりも多くのお金をリバースエンジニアリングに投資しなければならないような方法で製品を保護できる限り、それは私たちにとって十分に良い保護です。

  3. 私たちのシステムはLinux + Java + Postgresです

次に、選択したソリューションについて

  1. パスワードでBIOSを保護します。BIOSレベルでは、HDへの起動を制限し、USBデバイスの接続を防ぎます。これは、ウェブ上で30ドルでバックドアコードを購入するか、ボード上のチップを改ざんすることでハッキングできます。ただし、これにより、改ざんの兆候が残ります。

  2. Grubをロックダウンして、コマンドラインからの起動を防ぎます。

  3. XWinのキーボード、マウスパッド、USBマウスは、xorg.confのパラメーターを使用してロックされます。

    Section "ServerFlags"
    Option "AllowEmptyInput" "false"
    Option "AutoAddDevices" "false"
    Option "AutoEnableDevices" "false"
    EndSection
    
  4. カーネルからusbおよびキーボードドライバーを削除します。(ハッカーの生活をより困難にするため)。

  5. HDに物理的な表示(おそらくカラーシリコン)を配置して、HDがコンピューターから削除されたかどうかを確認します。HDを削除するか、BIOSをハッキングすると、指紋を残して拭き取れなくなります。

  6. Javaコードで難読化ツールを使用します。当社の製品は非常に複雑であるため、難読化すると、合理的なコストまたは時間枠でのリバースエンジニアリングが防止されます。http://www.javaworld.com/javaworld/javaqa/2003-05/01-qa-0509-jcrypt.html をお読みください。次のツールのいずれかを使用しますオープンソースツール:http:// java-source .net / open-source / obfuscators またはhttp://www.preemptive.com/の DashO

  7. SSHアクセスは、キーファイルでのみ利用できます。可能な場合、すべてのパスワードが削除されます。

上記のすべての手順を実行すると、ハッカーに金銭を求めて働き、システムがハッキングされたかどうかを示すことができます。


2

誰かがシステムに物理的にアクセスできるようになると、それに対してできることはあまりありません。まず、OSに依存-読み取り専用メディアを使用して、ユーザーがシステムを操作できないようにし、セットアップ中に入力を使用できないように設定できます-おそらくbartpe(Windowsの場合)またはlivecdの方法-多くの方法で、実行中のシステムから起動可能なバックアップを作成できます。

また、ハードドライブ、またはcd romドライブのステッカーを改ざんすることをお勧めします-少なくとも、ハードドライブが取り外されたかどうかはお知らせします。

この場合、ロック可能なケースがあるミニITXまたはフルシステムの方が良いかもしれません


こんにちは、このアイデアは気に入りましたが、システムはディスクに書き込む必要があるため、ライブCDを使用できません。私はディスクを接着剤で閉じてディスクの取り外しを防ぐことを考えていましたが、彼がコンピュータからこじ開けようとしない限り助けになります。私の目的は、十分な時間と労力でハッキングが可能であるという事実を考慮しながら、ハッキングを可能な限り挑戦的にすることです。
RaamEE

この場合、正直なところ、基本的なデスクトップケースはラップトップよりもはるかに優れています。1つを保護するのがはるかに簡単で、はるかに印象的です。
ジャーニーマンオタク

1

フルディスク暗号化ソフトウェアは通常、入力されたパスワードを使用して暗号化を解除しますが、ハードドライブを保護するためにどのように提案しましたか?つまり、「秘密」をどこに置くのですか?


これが私がこの投稿を開いた理由です。この問題は、ハードウェアがハードドライブを備えたコンピューターを備えているため、そのコンピューターのCPUに固有のキーでHDが暗号化されるため、HDを別のコンピューターに移動しようとすると、動作しません。IOポートは、sshを介してシステムにアクセスし、リモートから制御することで閉じます。問題は、そのようなハードウェアが見つからなかったことです。ハッキングをある程度まで抑えることができるアイデアを探しています。私の場合、100%のハック証明はおそらく不可能ですが、75%で満足です。
RaamEE

@RaamEE -トラステッド・プラットフォーム上で私のポストを参照してください
ロリー・オールソップ

1

なぜソフトウェアに物理的にアクセスできるのですか?

ローカル入力がほとんどない場合、提供するラップトップは、所有している別のマシンのリモートビューアーとして機能するだけで済みます。

このように、彼らは非常に限られた特権で実行でき、絶えず監視され、家族の宝石は決してあなたの金庫から離れる必要はありません。プラットフォームを知らなくても、適切なリモートアクセスオプションがかなりあると確信しています。Teamviewer、LogMeIn、またはRemminaを挙げます。

考慮すべきセキュリティ上の問題は明らかに残っていますが、これは非常に厳格な法的契約でバックアップされているので、心配なく夜眠れるはずです。


私の会社が販売しているシステムには、コンピューターとソフトウェアが含まれています。お客様に完全に機能するシステムを提供する必要があります。これが、何らかのリモートアクセスまたはVNCだけでは対応できない理由です。繰り返しますが、リスクはわかっていますが、システムをハッキングすることを考えた場合に備えて、私は彼の人生を困難にします。
RaamEE

1

誰かがマシンに物理的にアクセスできるようになると、彼らはハードドライブを引き出し、コピーを作成し、それを元に戻し、余暇にハッキングすることができます。コーディは、この問題は実際には解決できないと言っています。

回避策の1つは、リモートデモコンピュータで実際のプログラムを実行することです。クライアントのデモコンピューターに接続してもらいます。これにより、アプリケーションの応答性が低下するため、売り上げが低下する可能性があります:/


1

これは非常に難しい問題です。コンピューターを物理的に損傷させるよりも良い解決策になるかもしれないので、私はただそこに捨てるつもりであるという壁を外れたアイデアを持っています。このソフトウェア製品をLinuxスクリーンセーバーとしてセットアップすることもできます。次に、ユーザーがコンピューターと対話しようとするとタイムアウトが非常に小さくなるように設定します。ログイン画面が表示され、SOLになりますが、スクリーンセーバーのタイムアウト後にアプリケーションを再開する必要があります。ハードドライブ暗号化の問題を乗り越えるために、ここで本当に考えられる唯一の解決策は、ラップトップのマザーボードにハードウェア暗号化がある場合、その特定のラップトップのみがハードドライブにアクセスできるようにすることです。システムBIOSをチェックして、その機能があるかどうかを確認する必要があります。それ以外は、すべての(および私の作品の)暗号化のニーズにtruecrypt.orgを使用します。ただし、通常はすべてパスワードの入力が必要です。しかし、私はそれをすべて同じように提案するだろうと考えました。もっと考えたい場合は、幸運をお知らせします;)


1

BIOSでCPU IDを有効にすることを検討し、コードを制御するので、定期的な領域でコードに適切なチェックを挿入します。プログラムの起動中-CPU IDを確認し、問題がある場合は、プログラムを中止して上書きします。プログラムの実行中-CPU IDを確認し、問題がある場合は、プログラムを中止して上書きします...


1

解決策は、少数の企業が提供するトラステッドプラットフォームの機能を確認することですが、それはあなたがやりたいことに対して高すぎるかもしれません。

Microsoftには、 TPMハードウェアで使用できるTPMモジュールがあります

このインフィニオンのページには、Dell、HP、Toshibaなどの多くのメーカーへのリンクがあります

TPMを使用すると、ソフトウェアをより安全な方法でハードウェアに結び付けることができます。


0

物理コネクタを外すと、ラップトップを開いてキーボードとトラックパッドを無効にできます。
他のすべてが設定されたら、これを行う必要があります。USBデバイスが無効、CD / DVDからの起動が無効など。このようにコンピューターを元に戻すと、yuoを開いてトラックパッドとキーボードを再接続し、すべてを通常に戻すと、コンピューターは完全に使用可能になります。
本当に心配な場合は、セキュリティネジ/セキュリティテープを使用して、自分でラップトップを開けないようにすることができます。


2
組み込みのキーボードが取り外されている場合、すべてのコンピューターがブート可能とは限らない
Journeyman Geek

非常に真実、それを考えていなかった。動作するインストールの前に確認する必要があります。私が修理したほとんどのラップトップは、内部キーボードが接続されていなくても起動します。常に意図的でもない:-(
ジョーテイラー

電源オンスイッチはキーボード上にあるため、thinkpadsはありません
ジャーニーマンオタク

いいね。私が使用しているデルのコンピューターは、キーボード自体の一部としてパワーを持っていないので、チェックすると思います。顧客がコンピュータを開いてすべてを差し戻すことができるので、プラグを抜いても助けにはなりません。私はコネクタを物理的かつ不可逆的に損傷しなければなりません。
RaamEE

そのため、セキュリティネジまたはテープを使用します。顧客がラップトップを使用していたかどうかを示します。Dell Latitudeラップトップは、キーボードを切断した状態で確実に電源を入れることができます。一部のInspironには、キーボードからの電源/キーボードコネクタがあります。
ジョーテイラー

0

ここでの回答のいくつかでリモートアクセスについて言及し、VNCを示唆または回避する回答を参照しました。シンクライアントに会った人はいませんでした。

ソフトウェア/マシンは動的コンテンツにアクセスし、ネットワークに接続する必要があるため、シンクライアントが適しているようです。

アプリケーションは、潜在的な顧客のマシンにインストールされているかのように実行されます。ただし、ハードウェアはごくわずかであり、ソフトウェアを手動でインストールするマシンにインストールする必要はありません。

あなたが説明しているようなトランザクションでは、関係する両方の当事者からのギブ/テイクが絶対に必要です-誰もが正直になるように努力します。

この人を信用していない場合は、アイデアを渡して指を渡さないでください。著作権侵害や窃盗で訴えられたとしても、損害はすでに行われていますが、すでにそのように感じているようです。

幸運を祈ります。


0

Linuxの場合、マウスとキーボードからの入力を無効にし、USBドライブまたはCDの起動を許可しません。

自分自身を取得する方法が必要になりますが、ある程度の認証があれば、調査するのはそれほど難しくないはずです。BIOSのパスワードを追加して、yuoがBIOSにアクセスした後にCDを起動できるようにします。


UbuntuでUSB \ mouse \ keyboardデバイスを無効にする方法を知っていますか。それはたくさん役立つでしょう。私はその可能性を理解していましたが、まだその方向を研究していませんでした。コンピューターへの接続はSSHで行われ、私の側でのみ使用できます。
RaamEE

私は自分でそれをやったことはありませんが、これは少なくともいくつかのポインターを与えるようです:ubuntuforums.org/showthread.php?t
Jonathan Ross
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.