チェ・ブラシュカとモスクワ列車のハッキングチケットシステム







1月17日頃、「チェブラシュカリサーチグループ」と呼ばれるグループが、モスクワの列車のチケット販売システムをハッキングできる脆弱性調査を公開しました。 システム開発者はMicrotechです。



現時点では、Microtechからの反論はありません。



著者はChe Burahskaグループとは関係がなく、このグループの活動に責任を負いません。 以下は、このグループがインターネット上のさまざまなリソースに自由に配布したテキストと、脆弱性の説明(グループの意見では-不完全)をまとめて読みやすくするために編集したものです。 このテキストは、慣れ親しんで議論するためにHabrの読者に提供されます。


1.著者からの紹介(このようなテキストは脆弱性の説明と共に配布されました)



Che Burashkaの研究チームは、関心のあるすべての関係者に連絡し、モスクワの列車のチケット販売システムで見つかった脆弱性の説明を公開します。



私たちは、2人の独立したセキュリティ研究者(以下、研究者1および研究者2)を擁護します[さらなる単語は、1人の要求に応じて文章から削除されます-詳細は以下のテキスト]



以下のリンクからこのストーリーの詳細を読むことができます:



ピカブ

ジャーナル

レンタ



私たちは、この物語が報道機関や法廷でどのように提示されたかに同意しません。 研究者1および研究者2の問題の主な原因は、回転式改札口ソフトウェアおよびハードウェアの開発者が設計の脆弱性を認識して排除することを望まないことにあると考えています。



研究者1と研究者2のケースの詳細については、下部をお読みください。 出版者



私たちが知っているように、刑事事件の制定の前でさえ、研究者1は協力の提案でマイクロテックに頼りました。 独立した専門家がソフトウェアの脆弱性を見つけて開発者に報告した場合、開発者は少なくともこの脆弱性を排除することは世界中で認められています。 最も評判の良い会社はお金を払います。 しかし、研究者1の手紙はマイクロテックによって無視されました[文からさらに単語は研究者2の要請で削除されました-テキストの下の詳細] 。 この偶然は偶然ではないと思います。



Mikrotekhの警察が私たちのセキュリティ研究の同僚を単独で行動または発見したかどうかは完全にはわかりませんが、彼らの問題の原因は正確には、自分のシステムのセキュリティに関する明らかな問題を無視する開発者の立場だと考えています。



研究者1と、それとは独立して他の専門家によって特定された、Microtechのソフトウェアと機器の問題の主要部分は解決されていません。 エラーはまだ修正されておらず、サイバー犯罪者にチケットシステムの脆弱性を提供します。 誰でもチケットを印刷して無料で乗ることができます。



Microtechは、自分の過ちを認めたくない独占ユーザーの最悪の例であり、ユーザーに安全でないソフトウェアを配布すると考えています。



残念ながら、公的機関とジャーナリストの両方が、何が起こっているのかを常に詳しく調べているわけではありません。



否定的な例として、TroykaDumperのストーリーを思い出すことができます。



モスクワトロイカカードのハッキングの詳細を発表したイゴールシェブツォフは、私たちの意見では、倫理的なハッカーとして行動しました。 もちろん、彼は最初にシステムの所有者に連絡する必要があります。 しかし、所有者自身が建設的に行動し、機能不全を解決し、イゴールに助けを求めました。 彼が公開したプログラムのバージョンはまだgithubで利用できますが、無料の旅行の目的にはまったく役に立ちません。



トロイカの代表者の反応よりもはるかにひどいのは、シェブツォフを詐欺師と宣言したジャーナリストの反応、およびモスクワから遠く離れた完全に外国の都市の検察官の代表者の反応でした。



その結果、シェブツォフの研究に関する情報はHabrから削除され、彼のプロフィールはブロックされました。 プラットフォームの所有者は再保険を受け、誰もプロファイルをブロックすることを要求しませんでしたが、当局自身で発明した問題を望みませんでした。



私たちは、パブリックアクセスのために見つけた情報を正しく提示する方法について長い間考えてきました。 私たちはそれぞれ、彼の分野の専門家です。 モスクワ大学の1つでの研究と本格的な仕事をうまく組み合わせており、機器やソフトウェアの製造業者の過失に関する情報を開示しているからといって、トラブルを抱えたくありません。



このため、このサイト用に最初に準備したものの、この情報をHabréに公開しません。



さらに、Troikaの状況とは異なり、Microtechは独自のイニシアチブで間違いを修正しないことは明らかです。



もともとHabr向けに準備されていた記事のテキストを、他のリソースへの無料アクセスでレイアウトし、そのリンクをソーシャルネットワークで配布することにしました。



Microtechに、システムの脆弱性を認識し、独自に対策を講じて修正することをお勧めします。



ハッキング技術の不完全な説明を公開していますが。 しかし、少なくとも2、3か月後に近い将来、脆弱性が修正されたことがわからない場合は、ギャップを埋めて、一般向けに完全な情報を公開します。



通勤電車のチケットをハッキングする技術は、シェフトフがトロイカのカードで発見した問題よりもはるかに簡単です。 作業チケット、WindowsまたはLinux用の簡単なプログラム、レーザープリンター、ハサミで十分です。



[研究者2の要求により文から単語が削除されます-本文の下の詳細] Microtechは、回転式改札口とソフトウェアの不安を認めたくありません。 そして、顧客となった鉄道会社は損失を被るでしょう。



Che burashkaグループの以前の活動の痕跡のネットワークにはありません。

私たちはハッカーではありません。これは1つの特定のプロジェクトでのみ使用する1回限りのニックネームです。



2.脆弱性の説明。



Mikrotekh Turnstileセキュリティスタディ



背景



Mikrotekh社は、郊外鉄道のプラットフォームへのアクセスを提供するシステムと、チケット配布システムを製造しています。

会社のウェブサイト-www.microteh.netに記載されているように、これはすべて呼ばれています

郊外の電車ASOKUPEでの旅行の支払い、制御、会計の自動化システム。



モスクワ地域では、都市の公共交通機関での旅行に使用されるトロイカの都市カードに適合します。 地元の研究所に行ってモスクワに戻るたびに、ミクロテフの改札口を通ります。



2年前、私たち3人の学生の友人は、システムの信頼性の問題を調査し、「うさぎ」の通勤電車への通過を制限することにしました。



私たちは倫理的なハッカーになりたかったので、チケットを販売するつもりはありませんでしたが、脆弱性を示すために会社からボーナスを受け取ります。



攻撃者の行動をシミュレートするには、攻撃されたシステムを分析するための法的方法が適切であり、鉄道員によって設置されたMikrotekh機器に対する直接的なハッキングおよび破壊的な影響は使用しないことを決定しました。 私たちは法律を破りたくはありませんし、しませんでした。



専門的なフォーラムを読んでいる間に、私たちの知らないハッカーが会社のネットワークにアクセスしているという証拠を見つけましたが、この問題を調査しませんでした。 ただし、軽い形態のソーシャルエンジニアリングを許可しました。



専門の展示会に行って質問をしました。 従業員のために鉄道労働者から私たちに寄付されたトレーニング資料と同様に、それは非常に役に立ちました。



私たちは会社自体に電話をかけ、技術専門家と話しました。 技術的な詳細に関しては役に立たないが、予想外に、このチーム内の関係について多くの興味深いことを学んだ。



かつて、電話で上司と話をしました。 コミュニケーションは失望した。 彼らは単に私たちの話を聞きたくなかったのですが、その瞬間、私たちはお金を要求することさえしませんでしたが、無料で研究を行うことを申し出ました。



改札口自体が実際の情報源であることが判明しました。 avitoでそれらを販売した消費者の視聴者がどのような消費者に期待していたのか、私たちは本当に理解していませんが、中古のデバイスを購入してしばらく使用しました。 それらは、フロッピーディスクで私たちに渡されたいくつかのドキュメントとともに販売されました。 ドキュメントは、デバイス自体よりも有用でした。 その後、購入した3つの回転式改札口はすべて部屋の半分を占めていたため、ゴミ箱に運ばなければなりませんでした。



郊外の切符売り場で販売されている切符自体のかなり体系的な調査も有用でした。



私たちの生涯の間に、おそらく何百ものそのようなチケットを買いましたが、基本的には同じものを購入しました。

研究のために、特定のシステムを使用して50枚以上のチケットを購入する必要がありました。



チケット配布システムの仕組み



マイクロテックは、鉄道職員にキャッシャージョブとソフトウェアを提供しています。







これはメーカーのウェブサイトからの写真です。 その上には、システムユニット、モニター、および周辺機器があります。 チケットを印刷するための特別なプリンターと同様に。



だから、彼らはデザイナーMicrotechの考えに応じてどのように見えるか。



実際、もちろん、すべてが異なる場所で少し違って見えます。 私たちはさまざまなキャッシュデスクを見て、供給された機器の構成が鉄道のさまざまな方向で変化するのを見ました。 おそらく、これらは異なるパーティであり、ソフトウェアはすべて同じです。



メーカーのウェブサイトからの引用: MKTF-多機能レジ端末、パソコンをベースにしたデバイス。 要件54FZに準拠しています。 旅行書類の登録と確認用に設計されています(バーコード付きおよびBSKで)。 オフラインモードとネットワークモードで動作します。



引用されたテキストの自律的な言葉は、私たち自身によって選ばれました。 これは重要です。

将来的には、これがシステムの悪意に対する脆弱性を引き起こす重要なポイントの1つであることがわかります。



それまでの間、Microtechのシステム全体は、デバイスがオフラインで動作できるという事実に基づいて構築されていることに注意してください。 どうやら、1990年、サイトからの情報によると、この会社は設立され、以前は部門設計局であったため、合理的かつ進歩的でした。



しかし、その年に誰かがチケットのバーコードを偽造できるという質問は明らかに問題ではありませんでした。 少なくとも当時はバーコードがなく、チケットの有効性は人間管理者の目で確認されていたためです。



鉄道の労働者は、1990年代になってようやく運賃回避者に連れ去られたときにのみ、改札口による電車のプラットフォームへのアクセスを完全に遮断することを考えました。



だからここに。 configsのソフトウェアのASOKUPEの各特定のキャッシュデスクには、このチケットオフィスと一意のチケットオフィス番号が割り当てられている鉄道の方向が示されています。



もちろん、そこには追加の設定がありますが、最も重要なことは、各チケットオフィスは、中央サーバーにアクセスすることなく、有効なチケットを生成できることです。



正確には-チケットの有効なバーコード。



情報は2つの方法でエンコードできます。



Old- Interleaved 2 of 5







説明は次のとおりです。

Interleaved 2 of 5行コードは、黒で始まり黒で終わる交互の黒と白の縦縞のシーケンスで構成されます。 このコードには、ワイド(論理「1」)とナロー(論理「0」)の2種類のストリップがあります。 Interleaved 2 of 5は、開始記号と停止記号の存在を想定しています。 開始文字は「0000」にエンコードされ、停止文字は「100」にエンコードされます。 これらの2つの文字の間に役立つ情報があります。



コードの名前は、情報が5つのうちの2つの幅の広いストライプの位置によってエンコードされるという事実に基づいて付けられました。 これに基づいて、このようなブロックでは10の異なる値をエンコードできることがわかります。 すべての数値は0〜9です。インターリーブ(断続的-英語)は、黒と白のストライプを別々に考慮するためです。

奇数の位置(左から右に数える)では、数字はストロークで示され、偶数の位置では間隔(交互)で示されます。 奇数の文字でデータをエンコードする場合、「0」が先頭に書き込まれます。



Interleaved 2 of 5バーコードでは、読みやすくするためにチェックマークをお勧めします。 制御標識は、停止標識の前にある情報標識の直後にあります。 制御文字を追加すると、エンコードされたデータの文字数が奇数になる場合、「開始」文字の直後のコード行の前に「0」が追加されます。



そして、新しい2次元のAztecコード:







彼とのチケットは2015年末から登場し始めました。 完全な交換が計画されているのか、それともMicrotechモバイルアプリケーションとの互換性のための単なる実験なのかはまだ不明です。



しかし、これはすでに少し良くなっています。 5つのうち2つをインターリーブすると、システムの開発者はランダムに見つけたようで、アステカは世界中の多くの鉄道会社によってサポートされています。



どちらにしても、両方の方法でエンコードされた情報の構成は同じです。



他に何がありますか?



たとえば、そのようなデバイスがあります







繰り返しますが、Microtech Webサイトの画像とテキスト:

PKTF-ポータブルキャッシュターミナル、特殊なマイクロプロセッサソリューションに基づくデバイス。 要件54FZに準拠しています。 これには、印刷、バーコードの読み取り、およびBSK用のモジュールが含まれ、fnをインストールするためのコンパートメントがあります。 旅行文書の印刷と検証を提供します。 自律的に動作することも、外部システムとのデータ交換モードで動作することもできます。



このターミナルは、Microtechの独立した開発ですが、もちろん、サードパーティのメーカーのコンポーネントから組み立てられています。 異なる時期に2枚購入しました。



現在、これらの端末は武装しており、主にコントローラーが、乗客が急に購入を忘れたり紛失したりした場合に、乗客に親切にチケットを販売する(しない)意思があります。



異なる時期に購入され、明らかに異なる方向で操作されたという事実にもかかわらず、どの方向で購入されたチケットでも同等に良好な検証が可能です。



これにより、ASOKUPEが提供するセキュリティの境界を完全に理解できます。 バーコードにはいくつかの制御情報がありますが、かなり単純なデバイスで検証できます。検証方法は長期間変わらず、その可変部分は脆弱であり、その置換アルゴリズムは非常に単純です。



詳細-以下。



プラットフォームへのアクセス制御はどうですか



プラットフォームへの通路の制御は非常に平凡に配置されています。





改札口には2つのリーダーが取り付けられています。 1つはバーコード付きのチケットスキャナーで、2つ目はMifareプロトコルを使用するあらゆる種類の非接触チケット用の非接触リーダーです。 スキャナーはサードパーティのメーカー(異なる)から供給され、Microtechは独自にリーダーモジュールを開発したようです。



改札口の仕組みと読者は、不思議な略語UKPDと組み合わされています。 彼はまた、回転式改札口およびデータ入力デバイスの制御モジュールです。



システムのすべての「インテリジェンス」は、UKPDの一部であるコントローラーに集中しています。

外部制御は、RS-485インターフェースを介して接続することにより実行されます。



乗客がスキャナーにチケットを持ち込むと、実際にはバーコードチェックが2つの非常に単純なアクションに削減されます。



  1. UKPDは、バーコードにエンコードされたデータの有効性をチェックします。 最終および最初のルートゾーンに関するデータと、回転式改札口が設置されている地点、旅行の日付、一部の制御情報などの対応。それだけです。
  2. UKPDは、ストップリストにチケットがないことを確認します。

    ここで、ストップリストは中央でロードされるのではなく、内部サービスステーションを介してステーションでダウンロードされると言わなければなりません。 ネットワークは、ターンスタイルがRS-485インターフェースを介して接続されているハブを介して、各ターンスタイルグループに個別にロードされます。


- , :



2222333390;20/10/2015;40

2118110622;20/10/2015;40

668690750;20/10/2015;40

84545402;20/10/2015;40

187342702;20/10/2015;40

187345542;20/10/2015;40

87534582;20/10/2015;40

2715435894;20/10/2015;40

354345614;20/10/2015;17

2710234378;20/10/2015;40

1311398318;20/10/2015;40

1242467662;20/10/2015;40

1236551358;20/10/2015;40

1576567678;20/10/2015;50








– , – , – .



-, , , , . , , .



.



, . , . . 1 .



, -, .







, « » .



.





. , , .



:



1) ( , )



2) ( , )

– , , - . id, id , .



3) . , – . «».



4)



5) , (5 )



6) ID (4 ) ID , , , .

– . 10 4. 6 !



7)



8), 9) –



10)



, , .



, - , – , ?



, –



, . - – , , , . .



, , legacy .



, , .





, , , , . , , , .



. – , – 4 .



Z- – , .



Z- , , , .



– ?



, - , .



, , , , .



« » – 10-20 .



- , , - « » .



.



.

, 6 .



, , . , , – !



.



«- » . , .



«» , . .



, , , , .



, – - . , , - . , , - .



, – , , – .



.



, , - , .





, - . .



, , , , github - .







, .



, – , .



, , , .



, , . .



?



, , , .



, , .



.



Aztec , .



, , , , , .



.







, , ¾ — .



. , Android 7.



– , .







.



, ? Java.



iPhone , , . , , - iOS , , , .



, . . , .





, , , , - , , .



, – . , . .





, , , .



, , .



.



, :





, , NFC, , , , .



, , , .



, - .

, - ?



, , . .



P.S.



.



.



.



, , , . , .



.



.



.



, . .



.



, , . .



, , , .



, .



:

* Bom

* Gerda

* PHuntik



3. ,



.



, .

, , , — ! — , , — ! , …



, , «-» , ( ) . , , ( 20 ) £4.30, — £4.50 £6.50 — .

, :



, ( !), .



-.



, — . , ! — , . .



: — , , , , « » .



. , , , , , . , — , , ? !



, — .



.



, « , » .., -, . « » — . , — — , . .



, - , - , , , — , . : « — », . , , , . .



P.S.



, , 27 , (, 2) :

!



habrahabr.ru/post/347262



. , Che Burashka .



%_____%



. .



.



..2 4 .152 , .



2


, « » , . «» .



All Articles